20 lines
613 B
C
20 lines
613 B
C
#ifndef ICMP_PACKET_INTERNAL_H
|
|
#define ICMP_PACKET_INTERNAL_H
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include <netinet/in.h>
|
|
|
|
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
|