Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.6 116 lines 2.6 kB view raw
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 30typedef struct IPV6HeaderFormatTag 31{ 32 UCHAR ucVersionPrio; 33 UCHAR aucFlowLabel[3]; 34 USHORT usPayloadLength; 35 UCHAR ucNextHeader; 36 UCHAR ucHopLimit; 37 ULONG ulSrcIpAddress[4]; 38 ULONG ulDestIpAddress[4]; 39}IPV6Header; 40 41typedef struct IPV6RoutingHeaderFormatTag 42{ 43 UCHAR ucNextHeader; 44 UCHAR ucRoutingType; 45 UCHAR ucNumAddresses; 46 UCHAR ucNextAddress; 47 ULONG ulReserved; 48 //UCHAR aucAddressList[0]; 49 50}IPV6RoutingHeader; 51 52typedef struct IPV6FragmentHeaderFormatTag 53{ 54 UCHAR ucNextHeader; 55 UCHAR ucReserved; 56 USHORT usFragmentOffset; 57 ULONG ulIdentification; 58}IPV6FragmentHeader; 59 60typedef struct IPV6DestOptionsHeaderFormatTag 61{ 62 UCHAR ucNextHeader; 63 UCHAR ucHdrExtLen; 64 UCHAR ucDestOptions[6]; 65 //UCHAR udExtDestOptions[0]; 66}IPV6DestOptionsHeader; 67 68typedef struct IPV6HopByHopOptionsHeaderFormatTag 69{ 70 UCHAR ucNextHeader; 71 UCHAR ucMisc[3]; 72 ULONG ulJumboPayloadLen; 73}IPV6HopByHopOptionsHeader; 74 75typedef struct IPV6AuthenticationHeaderFormatTag 76{ 77 UCHAR ucNextHeader; 78 UCHAR ucLength; 79 USHORT usReserved; 80 ULONG ulSecurityParametersIndex; 81 //UCHAR ucAuthenticationData[0]; 82 83}IPV6AuthenticationHeader; 84 85typedef struct IPV6IcmpHeaderFormatTag 86{ 87 UCHAR ucType; 88 UCHAR ucCode; 89 USHORT usChecksum; 90 //UCHAR ucIcmpMsg[0]; 91 92}IPV6IcmpHeader; 93 94typedef enum _E_IPADDR_CONTEXT 95{ 96 eSrcIpAddress, 97 eDestIpAddress 98 99}E_IPADDR_CONTEXT; 100 101 102 103//Function Prototypes 104 105USHORT IpVersion6(struct bcm_mini_adapter *Adapter, /**< Pointer to the driver control structure */ 106 PVOID pcIpHeader, /**<Pointer to the IP Hdr of the packet*/ 107 struct bcm_classifier_rule *pstClassifierRule ); 108 109VOID DumpIpv6Address(ULONG *puIpv6Address); 110 111extern BOOLEAN MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort); 112extern BOOLEAN MatchDestPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort); 113extern BOOLEAN MatchProtocol(struct bcm_classifier_rule *pstClassifierRule,UCHAR ucProtocol); 114 115 116#endif