man: netsniff-ng: finish usage examples and add filter examples
[netsniff-ng.git] / ipv6.h
bloba55a5657029363dc0d1d7adf69e03d4227c09698
1 /*
2 * netsniff-ng - the packet sniffing beast
3 * Copyright (C) 2009, 2010 Daniel Borkmann
4 * Copyright (C) 2012 Christoph Jaeger <christoph@netsniff-ng.org>
5 * Subject to the GPL, version 2.
6 */
8 #ifndef IPV6_H
9 #define IPV6_H
11 #include <asm/byteorder.h>
13 #include "built_in.h"
16 * IPv6 fixed header
18 * BEWARE, it is incorrect. The first 4 bits of flow_lbl
19 * are glued to priority now, forming "class".
21 struct ipv6hdr {
22 #if defined(__LITTLE_ENDIAN_BITFIELD)
23 __extension__ uint8_t priority:4,
24 version:4;
25 #elif defined(__BIG_ENDIAN_BITFIELD)
26 __extension__ uint8_t version:4,
27 priority:4;
28 #else
29 # error "Please fix <asm/byteorder.h>"
30 #endif
31 uint8_t flow_lbl[3];
32 uint16_t payload_len;
33 uint8_t nexthdr;
34 uint8_t hop_limit;
35 struct in6_addr saddr;
36 struct in6_addr daddr;
37 } __packed;
39 #endif /* IPV6_H */