/* * @file * https://en.wikipedia.org/wiki/OSI_model */ #include #define ARP_ETHERNET 1 #define ARP_IPV4 0x800 #define ARP_REPLY 2 #define ARP_REQUEST 1 #define ETH_P_ARP 0x0806 #define ETH_P_IPV4 0x0800 #define IPV4_P_ICMP 0x1 #define ICMP_ECHO_REPLY 0 #define ICMP_UNREACHABLE 3 #define ICMP_ECHO_REQUEST 8 uint16_t checksum(void *addr, int count); uint16_t ntohs(uint16_t val); uint16_t htons(uint16_t val);