Blame view
drivers/staging/bcm/IPv6ProtocolHdr.h
2.52 KB
f8942e07a
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
#ifndef _IPV6_PROTOCOL_DEFINES_ #define _IPV6_PROTOCOL_DEFINES_ #define IPV6HDR_TYPE_HOPBYHOP 0x0 #define IPV6HDR_TYPE_ROUTING 0x2B #define IPV6HDR_TYPE_FRAGMENTATION 0x2C #define IPV6HDR_TYPE_DESTOPTS 0x3c #define IPV6HDR_TYPE_AUTHENTICATION 0x33 #define IPV6HDR_TYPE_ENCRYPTEDSECURITYPAYLOAD 0x34 #define MASK_IPV6_CS_SPEC 0x2 #define TCP_HEADER_TYPE 0x6 #define UDP_HEADER_TYPE 0x11 #define IPV6_ICMP_HDR_TYPE 0x2 #define IPV6_FLOWLABEL_BITOFFSET 9 #define IPV6_MAX_CHAINEDHDR_BUFFBYTES 0x64 /* // Size of Dest Options field of Destinations Options Header // in bytes. */ #define IPV6_DESTOPTS_HDR_OPTIONSIZE 0x8 //typedef unsigned char UCHAR; //typedef unsigned short USHORT; //typedef unsigned long int ULONG; typedef struct IPV6HeaderFormatTag { UCHAR ucVersionPrio; UCHAR aucFlowLabel[3]; USHORT usPayloadLength; UCHAR ucNextHeader; UCHAR ucHopLimit; ULONG ulSrcIpAddress[4]; ULONG ulDestIpAddress[4]; }IPV6Header; typedef struct IPV6RoutingHeaderFormatTag { UCHAR ucNextHeader; UCHAR ucRoutingType; UCHAR ucNumAddresses; UCHAR ucNextAddress; ULONG ulReserved; //UCHAR aucAddressList[0]; }IPV6RoutingHeader; typedef struct IPV6FragmentHeaderFormatTag { UCHAR ucNextHeader; UCHAR ucReserved; USHORT usFragmentOffset; ULONG ulIdentification; }IPV6FragmentHeader; typedef struct IPV6DestOptionsHeaderFormatTag { UCHAR ucNextHeader; UCHAR ucHdrExtLen; UCHAR ucDestOptions[6]; //UCHAR udExtDestOptions[0]; }IPV6DestOptionsHeader; typedef struct IPV6HopByHopOptionsHeaderFormatTag { UCHAR ucNextHeader; UCHAR ucMisc[3]; ULONG ulJumboPayloadLen; }IPV6HopByHopOptionsHeader; typedef struct IPV6AuthenticationHeaderFormatTag { UCHAR ucNextHeader; UCHAR ucLength; USHORT usReserved; ULONG ulSecurityParametersIndex; //UCHAR ucAuthenticationData[0]; }IPV6AuthenticationHeader; typedef struct IPV6IcmpHeaderFormatTag { UCHAR ucType; UCHAR ucCode; USHORT usChecksum; //UCHAR ucIcmpMsg[0]; }IPV6IcmpHeader; typedef enum _E_IPADDR_CONTEXT { eSrcIpAddress, eDestIpAddress }E_IPADDR_CONTEXT; //Function Prototypes |
f8942e07a
|
104 105 106 107 108 109 |
USHORT IpVersion6(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */ PVOID pcIpHeader, /**<Pointer to the IP Hdr of the packet*/ S_CLASSIFIER_RULE *pstClassifierRule ); VOID DumpIpv6Address(ULONG *puIpv6Address); |
f8942e07a
|
110 111 112 113 114 115 116 |
extern BOOLEAN MatchSrcPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); extern BOOLEAN MatchDestPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); extern BOOLEAN MatchProtocol(S_CLASSIFIER_RULE *pstClassifierRule,UCHAR ucProtocol); #endif |