#ifndef IPV4_H #define IPV4_H #include #include "built_in.h" struct ipv4hdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __extension__ uint8_t h_ihl:4, h_version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __extension__ uint8_t h_version:4, h_ihl:4; #else # error "Please fix " #endif uint8_t h_tos; uint16_t h_tot_len; uint16_t h_id; uint16_t h_frag_off; uint8_t h_ttl; uint8_t h_protocol; uint16_t h_check; uint32_t h_saddr; uint32_t h_daddr; } __packed; #endif /* IPV4_H */