NET_PACKET_LAYOUT struttura (packet.h)

Una struttura NET_PACKET_LAYOUT descrive l'inizio di ogni intestazione di protocollo in un NET_PACKET.

Sintassi

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;

Members

Layer2HeaderLength

Lunghezza in byte dell'intestazione livello 2 o zero se la lunghezza del livello 2 è sconosciuta.

Layer3HeaderLength

Lunghezza in byte dell'intestazione livello 3 o zero se la lunghezza del livello 3 è sconosciuta.

Layer4HeaderLength

Lunghezza dell'intestazione livello 4 o zero se la lunghezza del livello 4 è sconosciuta.

Layer2Type

Enumerazione che specifica un flag da NET_PACKET_LAYER2_TYPE.

typedef enum _NET_PACKET_LAYER2_TYPE
{
    NetPacketLayer2TypeUnspecified,
    NetPacketLayer2TypeNull,
    NetPacketLayer2TypeEthernet,
} NET_PACKET_LAYER2_TYPE;

Layer3Type

Enumerazione che specifica un flag da NET_PACKET_LAYER3_TYPE.

typedef enum _NET_PACKET_LAYER3_TYPE
{
    NetPacketLayer3TypeUnspecified,
    NetPacketLayer3TypeIPv4UnspecifiedOptions,
    NetPacketLayer3TypeIPv4WithOptions,
    NetPacketLayer3TypeIPv4NoOptions,
    NetPacketLayer3TypeIPv6UnspecifiedExtensions,
    NetPacketLayer3TypeIPv6WithExtensions,
    NetPacketLayer3TypeIPv6NoExtensions,
} NET_PACKET_LAYER3_TYPE;

Layer4Type

Enumerazione che specifica un flag da NET_PACKET_LAYER4_TYPE.

typedef enum _NET_PACKET_LAYER4_TYPE
{
    NetPacketLayer4TypeUnspecified,
    NetPacketLayer4TypeTcp,
    NetPacketLayer4TypeUdp,
    NetPacketLayer4TypeIPFragment,
    NetPacketLayer4TypeIPNotFragment,
} NET_PACKET_LAYER4_TYPE;

Reserved0

Riservato per l'utilizzo nel sistema.

Commenti

Per altre informazioni sull'uso di questa struttura, vedere Il membro Layout di NET_PACKET.

Requisiti

Requisito Valore
Versione KMDF minima 1.29
Intestazione packet.h