⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntddndis.h

📁 “网络安全技术实践与代码详解”实例代码
💻 H
📖 第 1 页 / 共 4 页
字号:
     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 + -