Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
IPv6ProtocolHdr.h
Go to the documentation of this file.
1 #ifndef _IPV6_PROTOCOL_DEFINES_
2 #define _IPV6_PROTOCOL_DEFINES_
3 
4 
5 #define IPV6HDR_TYPE_HOPBYHOP 0x0
6 #define IPV6HDR_TYPE_ROUTING 0x2B
7 #define IPV6HDR_TYPE_FRAGMENTATION 0x2C
8 #define IPV6HDR_TYPE_DESTOPTS 0x3c
9 #define IPV6HDR_TYPE_AUTHENTICATION 0x33
10 #define IPV6HDR_TYPE_ENCRYPTEDSECURITYPAYLOAD 0x34
11 #define MASK_IPV6_CS_SPEC 0x2
12 
13 
14 #define TCP_HEADER_TYPE 0x6
15 #define UDP_HEADER_TYPE 0x11
16 #define IPV6_ICMP_HDR_TYPE 0x2
17 #define IPV6_FLOWLABEL_BITOFFSET 9
18 
19 #define IPV6_MAX_CHAINEDHDR_BUFFBYTES 0x64
20 /*
21 // Size of Dest Options field of Destinations Options Header
22 // in bytes.
23 */
24 #define IPV6_DESTOPTS_HDR_OPTIONSIZE 0x8
25 
26 //typedef unsigned char UCHAR;
27 //typedef unsigned short USHORT;
28 //typedef unsigned long int ULONG;
29 
30 typedef struct IPV6HeaderFormatTag
31 {
39 }IPV6Header;
40 
42 {
48  //UCHAR aucAddressList[0];
49 
51 
53 {
59 
61 {
65  //UCHAR udExtDestOptions[0];
67 
69 {
74 
76 {
81  //UCHAR ucAuthenticationData[0];
82 
84 
86 {
90  //UCHAR ucIcmpMsg[0];
91 
93 
94 typedef enum _E_IPADDR_CONTEXT
95 {
98 
100 
101 
102 
103 //Function Prototypes
104 
106  PVOID pcIpHeader,
107  struct bcm_classifier_rule *pstClassifierRule );
108 
109 VOID DumpIpv6Address(ULONG *puIpv6Address);
110 
111 extern BOOLEAN MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort);
112 extern BOOLEAN MatchDestPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort);
113 extern BOOLEAN MatchProtocol(struct bcm_classifier_rule *pstClassifierRule,UCHAR ucProtocol);
114 
115 
116 #endif