📄 ntddndis.h
字号:
NdisWanHeaderEthernet // emulation of ethernet header
} NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
//
// Defines the line quality on a WAN line (OID_WAN_QUALITY_OF_SERVICE).
//
typedef enum _NDIS_WAN_QUALITY {
NdisWanRaw,
NdisWanErrorControl,
NdisWanReliable
} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
//
// Defines the state of a token-ring adapter (OID_802_5_CURRENT_RING_STATE).
//
typedef enum _NDIS_802_5_RING_STATE {
NdisRingStateOpened = 1,
NdisRingStateClosed,
NdisRingStateOpening,
NdisRingStateClosing,
NdisRingStateOpenFailure,
NdisRingStateRingFailure
} NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
//
// Defines the state of the LAN media
//
typedef enum _NDIS_MEDIA_STATE {
NdisMediaStateConnected,
NdisMediaStateDisconnected
} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
//
// The following is set on a per-packet basis as OOB data with NdisClass802_3Priority
//
typedef ULONG Priority_802_3; // 0-7 priority levels
//
// The following structure is used to query OID_GEN_CO_LINK_SPEED and
// OID_GEN_CO_MINIMUM_LINK_SPEED. The first OID will return the current
// link speed of the adapter. The second will return the minimum link speed
// the adapter is capable of.
//
typedef struct _NDIS_CO_LINK_SPEED {
ULONG Outbound;
ULONG Inbound;
} NDIS_CO_LINK_SPEED,
*PNDIS_CO_LINK_SPEED;
//
// Ndis Packet Filter Bits (OID_GEN_CURRENT_PACKET_FILTER).
//
#define NDIS_PACKET_TYPE_DIRECTED 0x0001
#define NDIS_PACKET_TYPE_MULTICAST 0x0002
#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004
#define NDIS_PACKET_TYPE_BROADCAST 0x0008
#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010
#define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020
#define NDIS_PACKET_TYPE_SMT 0x0040
#define NDIS_PACKET_TYPE_ALL_LOCAL 0x0080
#define NDIS_PACKET_TYPE_MAC_FRAME 0x8000
#define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000
#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000
#define NDIS_PACKET_TYPE_GROUP 0x1000
//
// Ndis Token-Ring Ring Status Codes (OID_802_5_CURRENT_RING_STATUS).
//
#define NDIS_RING_SIGNAL_LOSS 0x00008000
#define NDIS_RING_HARD_ERROR 0x00004000
#define NDIS_RING_SOFT_ERROR 0x00002000
#define NDIS_RING_TRANSMIT_BEACON 0x00001000
#define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
#define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
#define NDIS_RING_REMOVE_RECEIVED 0x00000200
#define NDIS_RING_COUNTER_OVERFLOW 0x00000100
#define NDIS_RING_SINGLE_STATION 0x00000080
#define NDIS_RING_RING_RECOVERY 0x00000040
//
// Ndis protocol option bits (OID_GEN_PROTOCOL_OPTIONS).
//
#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
//
// Ndis MAC option bits (OID_GEN_MAC_OPTIONS).
//
#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
#define NDIS_MAC_OPTION_RESERVED 0x80000000
//
// NDIS MAC option bits for OID_GEN_CO_MAC_OPTIONS.
//
#define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001
#ifdef IRDA
//
// The following is set on a per-packet basis as OOB data with NdisClassIrdaPacketInfo
// This is the per-packet info specified on a per-packet basis
//
typedef struct _NDIS_IRDA_PACKET_INFO {
UINT ExtraBOFs;
UINT MinTurnAroundTime;
} NDIS_IRDA_PACKET_INFO, *PNDIS_IRDA_PACKET_INFO;
#endif
#ifdef WIRELESS_WAN
//
// Wireless WAN structure definitions
//
//
// currently defined Wireless network subtypes
//
typedef enum _NDIS_WW_NETWORK_TYPE {
NdisWWGeneric,
NdisWWMobitex,
NdisWWPinpoint,
NdisWWCDPD,
NdisWWArdis,
NdisWWDataTAC,
NdisWWMetricom,
NdisWWGSM,
NdisWWCDMA,
NdisWWTDMA,
NdisWWAMPS,
NdisWWInmarsat,
NdisWWpACT
} NDIS_WW_NETWORK_TYPE;
//
// currently defined header formats
//
typedef enum _NDIS_WW_HEADER_FORMAT {
NdisWWDIXEthernetFrames,
NdisWWMPAKFrames,
NdisWWRDLAPFrames,
NdisWWMDC4800Frames
} NDIS_WW_HEADER_FORMAT;
//
// currently defined encryption types
//
typedef enum _NDIS_WW_ENCRYPTION_TYPE {
NdisWWUnknownEncryption = -1,
NdisWWNoEncryption,
NdisWWDefaultEncryption
} NDIS_WW_ENCRYPTION_TYPE, *PNDIS_WW_ENCRYPTION_TYPE;
//
// OID_WW_GEN_INDICATION_REQUEST
//
typedef struct _NDIS_WW_INDICATION_REQUEST {
NDIS_OID Oid; // IN
UINT uIndicationFlag; // IN
UINT uApplicationToken; // IN OUT
HANDLE hIndicationHandle; // IN OUT
INT iPollingInterval; // IN OUT
NDIS_VAR_DATA_DESC InitialValue; // IN OUT
NDIS_VAR_DATA_DESC OIDIndicationValue; // OUT - only valid after indication
NDIS_VAR_DATA_DESC TriggerValue; // IN
} NDIS_WW_INDICATION_REQUEST, *PNDIS_WW_INDICATION_REQUEST;
#define OID_INDICATION_REQUEST_ENABLE 0x0000
#define OID_INDICATION_REQUEST_CANCEL 0x0001
//
// OID_WW_GEN_DEVICE_INFO
//
typedef struct _WW_DEVICE_INFO {
NDIS_VAR_DATA_DESC Manufacturer;
NDIS_VAR_DATA_DESC ModelNum;
NDIS_VAR_DATA_DESC SWVersionNum;
NDIS_VAR_DATA_DESC SerialNum;
} WW_DEVICE_INFO, *PWW_DEVICE_INFO;
//
// OID_WW_GEN_OPERATION_MODE
//
typedef INT WW_OPERATION_MODE; // 0 = Normal mode
// 1 = Power saving mode
// -1 = mode unknown
//
// OID_WW_GEN_LOCK_STATUS
//
typedef INT WW_LOCK_STATUS; // 0 = unlocked
// 1 = locked
// -1 = unknown lock status
//
// OID_WW_GEN_DISABLE_TRANSMITTER
//
typedef INT WW_DISABLE_TRANSMITTER; // 0 = transmitter enabled
// 1 = transmitter disabled
// -1 = unknown value
//
// OID_WW_GEN_NETWORK_ID
//
typedef NDIS_VAR_DATA_DESC WW_NETWORK_ID;
//
// OID_WW_GEN_PERMANENT_ADDRESS
//
typedef NDIS_VAR_DATA_DESC WW_PERMANENT_ADDRESS;
//
// OID_WW_GEN_CURRENT_ADDRESS
//
typedef struct _WW_CURRENT_ADDRESS {
NDIS_WW_HEADER_FORMAT Format;
NDIS_VAR_DATA_DESC Address;
} WW_CURRENT_ADDRESS, *PWW_CURRENT_ADDRESS;
//
// OID_WW_GEN_SUSPEND_DRIVER
//
typedef BOOLEAN WW_SUSPEND_DRIVER; // 0 = driver operational
// 1 = driver suspended
//
// OID_WW_GEN_BASESTATION_ID
//
typedef NDIS_VAR_DATA_DESC WW_BASESTATION_ID;
//
// OID_WW_GEN_CHANNEL_ID
//
typedef NDIS_VAR_DATA_DESC WW_CHANNEL_ID;
//
// OID_WW_GEN_ENCRYPTION_STATE
//
typedef BOOLEAN WW_ENCRYPTION_STATE; // 0 = if encryption is disabled
// 1 = if encryption is enabled
//
// OID_WW_GEN_CHANNEL_QUALITY
//
typedef INT WW_CHANNEL_QUALITY; // 0 = Not in network contact,
// 1-100 = Quality of Channel (100 is highest quality).
// -1 = channel quality is unknown
//
// OID_WW_GEN_REGISTRATION_STATUS
//
typedef INT WW_REGISTRATION_STATUS; // 0 = Registration denied
// 1 = Registration pending
// 2 = Registered
// -1 = unknown registration status
//
// OID_WW_GEN_RADIO_LINK_SPEED
//
typedef UINT WW_RADIO_LINK_SPEED; // Bits per second.
//
// OID_WW_GEN_LATENCY
//
typedef UINT WW_LATENCY; // milliseconds
//
// OID_WW_GEN_BATTERY_LEVEL
//
typedef INT WW_BATTERY_LEVEL; // 0-100 = battery level in percentage
// (100=fully charged)
// -1 = unknown battery level.
//
// OID_WW_GEN_EXTERNAL_POWER
//
typedef INT WW_EXTERNAL_POWER; // 0 = no external power connected
// 1 = external power connected
// -1 = unknown
//
// OID_WW_MET_FUNCTION
//
typedef NDIS_VAR_DATA_DESC WW_MET_FUNCTION;
//
// OID_WW_TAC_COMPRESSION
//
typedef BOOLEAN WW_TAC_COMPRESSION; // Determines whether or not network level compression
// is being used.
//
// OID_WW_TAC_SET_CONFIG
//
typedef struct _WW_TAC_SETCONFIG {
NDIS_VAR_DATA_DESC RCV_MODE;
NDIS_VAR_DATA_DESC TX_CONTROL;
NDIS_VAR_DATA_DESC RX_CONTROL;
NDIS_VAR_DATA_DESC FLOW_CONTROL;
NDIS_VAR_DATA_DESC RESET_CNF;
NDIS_VAR_DATA_DESC READ_CNF;
} WW_TAC_SETCONFIG, *PWW_TAC_SETCONFIG;
//
// OID_WW_TAC_GET_STATUS
//
typedef struct _WW_TAC_GETSTATUS {
BOOLEAN Action; // Set = Execute command.
NDIS_VAR_DATA_DESC Command;
NDIS_VAR_DATA_DESC Option;
NDIS_VAR_DATA_DESC Response; // The response to the requested command
// - max. length of string is 256 octets.
} WW_TAC_GETSTATUS, *PWW_TAC_GETSTATUS;
//
// OID_WW_TAC_USER_HEADER
//
typedef NDIS_VAR_DATA_DESC WW_TAC_USERHEADER; // This will hold the user header - Max. 64 octets.
//
// OID_WW_ARD_SNDCP
//
typedef struct _WW_ARD_SNDCP {
NDIS_VAR_DATA_DESC Version; // The version of SNDCP protocol supported.
INT BlockSize; // The block size used for SNDCP
INT Window; // The window size used in SNDCP
} WW_ARD_SNDCP, *PWW_ARD_SNDCP;
//
// OID_WW_ARD_TMLY_MSG
//
typedef BOOLEAN WW_ARD_CHANNEL_STATUS; // The current status of the inbound RF Channel.
//
// OID_WW_ARD_DATAGRAM
//
typedef struct _WW_ARD_DATAGRAM {
BOOLEAN LoadLevel; // Byte that contains the load level info.
INT SessionTime; // Datagram session time remaining.
NDIS_VAR_DATA_DESC HostAddr; // Host address.
NDIS_VAR_DATA_DESC THostAddr; // Test host address.
} WW_ARD_DATAGRAM, *PWW_ARD_DATAGRAM;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -