структура 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 неизвестна.
Layer3HeaderLength
Длина заголовка уровня 3 в байтах или ноль, если длина слоя 3 неизвестна.
Layer4HeaderLength
Длина заголовка слоя 4 или ноль, если длина слоя 4 неизвестна.
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 |
Минимальная версия UMDF | 2.33 |
Верхняя часть | packet.h |