diff options
author | Tom Smeding <tom.smeding@gmail.com> | 2018-07-23 21:44:07 +0200 |
---|---|---|
committer | Tom Smeding <tom.smeding@gmail.com> | 2018-07-25 18:07:49 +0200 |
commit | 9f2fccfdc2eae83efbde1e3ae94a2cc220537983 (patch) | |
tree | 16a19a1877d7cfdd39767de0cfaf312adc398d1b /icmp.h | |
parent | b582cce69853d0a562dd0171914426887e854966 (diff) |
Better ICMP code encapsulation
Diffstat (limited to 'icmp.h')
-rw-r--r-- | icmp.h | 20 |
1 files changed, 0 insertions, 20 deletions
@@ -22,23 +22,3 @@ struct __attribute__((packed)) icmp_echo { #define ICMP_MAX_PAYLOAD_LENGTH (MAX_DATAGRAM_SIZE - ICMP_PAYLOAD_OFFSET) #define ICMP_SAFE_PAYLOAD_LENGTH (MIN_MTU - IP_HEADER_SIZE - ICMP_PAYLOAD_OFFSET) - - -struct icmp_reply { - const uint8_t *data; // points to internal buffer - size_t length; // length of 'data' - - int seqnum; -}; - -// Returns -1 on error with errno. -int icmp_open_socket(void); - -// Only actual IPv4 addresses allowed. Sends data in 'data' with length 'length', and -// returns pointer to internal buffer with reply data. Buffer is invalidated on next -// call to the function. -// Returns {.data=NULL} on error with errno. -struct icmp_reply icmp_communicate(int sock, const char *ip_address, int seqnum, const void *data, size_t length); - -// Returns -1 on error with errno. -int icmp_send_echo_reply(const char *ip_address, int id, int seqnum, const void *data, size_t length); |