diff options
Diffstat (limited to 'ipv4.h')
-rw-r--r-- | ipv4.h | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +/* + * netsniff-ng - the packet sniffing beast + * Copyright (C) 2009, 2010 Daniel Borkmann + * Copyright (C) 2012 Christoph Jaeger <christoph@netsniff-ng.org> + * Subject to the GPL, version 2. + */ + +#ifndef IPV4_H +#define IPV4_H + +#include <asm/byteorder.h> + +#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 <asm/byteorder.h>" +#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 */ |