NET_PACKET_LAYOUT 구조체(packet.h)
NET_PACKET_LAYOUT 구조는 NET_PACKET각 프로토콜 헤더의 시작을 설명합니다.
통사론
typedef struct _NET_PACKET_LAYOUT {
UINT16 Layer2HeaderLength : 7;
UINT16 Layer3HeaderLength : 9;
UINT8 Layer4HeaderLength : 8;
UINT8 Layer2Type : 4;
UINT8 Layer3Type : 4;
UINT8 Layer4Type : 4;
UINT8 Reserved0 : 4;
} NET_PACKET_LAYOUT;
회원
Layer2HeaderLength
레이어 2 헤더의 길이(바이트)이거나, 레이어 2 길이를 알 수 없는 경우 0입니다.
Layer3HeaderLength
레이어 3 헤더의 길이(바이트)이거나, 레이어 3 길이를 알 수 없는 경우 0입니다.
Layer4HeaderLength
레이어 4 헤더의 길이이거나, 레이어 4 길이를 알 수 없는 경우 0입니다.
Layer2Type
NET_PACKET_LAYER2_TYPE플래그를 지정하는 열거형입니다.
typedef enum _NET_PACKET_LAYER2_TYPE
{
NetPacketLayer2TypeUnspecified,
NetPacketLayer2TypeNull,
NetPacketLayer2TypeEthernet,
} NET_PACKET_LAYER2_TYPE;
Layer3Type
NET_PACKET_LAYER3_TYPE플래그를 지정하는 열거형입니다.
typedef enum _NET_PACKET_LAYER3_TYPE
{
NetPacketLayer3TypeUnspecified,
NetPacketLayer3TypeIPv4UnspecifiedOptions,
NetPacketLayer3TypeIPv4WithOptions,
NetPacketLayer3TypeIPv4NoOptions,
NetPacketLayer3TypeIPv6UnspecifiedExtensions,
NetPacketLayer3TypeIPv6WithExtensions,
NetPacketLayer3TypeIPv6NoExtensions,
} NET_PACKET_LAYER3_TYPE;
Layer4Type
NET_PACKET_LAYER4_TYPE 플래그를 지정하는 열거형입니다.
typedef enum _NET_PACKET_LAYER4_TYPE
{
NetPacketLayer4TypeUnspecified,
NetPacketLayer4TypeTcp,
NetPacketLayer4TypeUdp,
NetPacketLayer4TypeIPFragment,
NetPacketLayer4TypeIPNotFragment,
} NET_PACKET_LAYER4_TYPE;
Reserved0
시스템 사용을 위해 예약되어 있습니다.
발언
이 구조체 사용에 대한 자세한 내용은 NET_PACKETLayout 멤버를 참조하세요.
요구 사항
요구 | 값 |
---|---|
최소 KMDF 버전 | 1.29 |
최소 UMDF 버전 | 2.33 |
헤더 | packet.h |