#ifndef ICMP_PACKET_INTERNAL_H #define ICMP_PACKET_INTERNAL_H #include #include #include int icmp_build_packet(void *buffer, size_t buffer_len, uint8_t type, uint8_t code, uint16_t id, uint16_t seq, const void *payload, size_t payload_len); int icmp_parse_ip_header(const void *buffer, size_t buffer_len, uint8_t *ttl, struct in_addr *src_addr, size_t *ip_hdr_len); int icmp_parse_icmp_payload(const void *buffer, size_t buffer_len, size_t ip_hdr_len, uint8_t *type, uint8_t *code, const void **payload, size_t *payload_len); #endif