aboutsummaryrefslogtreecommitdiff
path: root/src/pdesc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdesc.h')
-rw-r--r--src/pdesc.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/pdesc.h b/src/pdesc.h
index d81798e..af79364 100644
--- a/src/pdesc.h
+++ b/src/pdesc.h
@@ -10,6 +10,7 @@ enum pdesc_remote_errno {
REMOTE_EXISTS,
REMOTE_NOT_FOUND,
REMOTE_PACKET_INVALID,
+ REMOTE_ADDR_INVALID,
REMOTE_ICMP_ECHO_CLIENT,
REMOTE_ICMP_REPLY_SERVER,
REMOTE_MAX_DESCRIPTORS,
@@ -17,16 +18,22 @@ enum pdesc_remote_errno {
enum pdesc_state { PDESC_STATE_INVALID = 0, PDESC_STATE_AUTH, PDESC_STATE_DATA };
+struct paddr {
+ struct sockaddr_storage sockaddr;
+ char str[INET6_ADDRSTRLEN];
+};
+
struct pdesc {
enum pdesc_state state;
- struct sockaddr_storage peer;
- char peer_str[INET6_ADDRSTRLEN];
+ struct paddr peer;
uint16_t identifier;
uint16_t sequence;
};
-void pdesc_init(struct pdesc *, struct sockaddr_storage *, uint16_t identifier);
+void pdesc_init(struct pdesc *, uint16_t identifier);
enum pdesc_remote_errno pdesc_find_current_remote(struct psock *, struct pdesc ** const);
+int pdesc_set_addr(struct paddr *, struct sockaddr_storage const *);
+
#endif