#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, uint32_t header_rest, 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, struct in_addr *dst_addr, uint8_t *protocol); 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