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_PACKET레이아웃 멤버를 참조하세요.

요구 사항

요구 사항
최소 KMDF 버전 1.29
머리글 packet.h