📄 ndis.h
字号:
} u; ULONG_PTR Reserved[2]; UCHAR ProtocolReserved[1];} NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;typedef enum _NDIS_CLASS_ID { NdisClass802_3Priority, NdisClassWirelessWanMbxMailbox, NdisClassIrdaPacketInfo, NdisClassAtmAALInfo} NDIS_CLASS_ID;typedef struct MediaSpecificInformation { UINT NextEntryOffset; NDIS_CLASS_ID ClassId; UINT Size; UCHAR ClassInformation[1];} MEDIA_SPECIFIC_INFORMATION;typedef struct _NDIS_PACKET_OOB_DATA { _ANONYMOUS_UNION union { ULONGLONG TimeToSend; ULONGLONG TimeSent; } DUMMYUNIONNAME; ULONGLONG TimeReceived; UINT HeaderSize; UINT SizeMediaSpecificInfo; PVOID MediaSpecificInformation; NDIS_STATUS Status;} NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;typedef struct _NDIS_PM_PACKET_PATTERN { ULONG Priority; ULONG Reserved; ULONG MaskSize; ULONG PatternOffset; ULONG PatternSize; ULONG PatternFlags;} NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN;/* Request types used by NdisRequest */typedef enum _NDIS_REQUEST_TYPE { NdisRequestQueryInformation, NdisRequestSetInformation, NdisRequestQueryStatistics, NdisRequestOpen, NdisRequestClose, NdisRequestSend, NdisRequestTransferData, NdisRequestReset, NdisRequestGeneric1, NdisRequestGeneric2, NdisRequestGeneric3, NdisRequestGeneric4} NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;typedef struct _NDIS_REQUEST { UCHAR MacReserved[4 * sizeof(PVOID)]; NDIS_REQUEST_TYPE RequestType; union _DATA { struct QUERY_INFORMATION { NDIS_OID Oid; PVOID InformationBuffer; UINT InformationBufferLength; UINT BytesWritten; UINT BytesNeeded; } QUERY_INFORMATION; struct SET_INFORMATION { NDIS_OID Oid; PVOID InformationBuffer; UINT InformationBufferLength; UINT BytesRead; UINT BytesNeeded; } SET_INFORMATION; } DATA;#if (defined(NDIS50) || defined(NDIS51)) UCHAR NdisReserved[9 * sizeof(PVOID)]; union { UCHAR CallMgrReserved[2 * sizeof(PVOID)]; UCHAR ProtocolReserved[2 * sizeof(PVOID)]; }; UCHAR MiniportReserved[2 * sizeof(PVOID)];#endif} NDIS_REQUEST, *PNDIS_REQUEST;/* Wide Area Networks definitions */typedef struct _NDIS_WAN_PACKET { LIST_ENTRY WanPacketQueue; PUCHAR CurrentBuffer; ULONG CurrentLength; PUCHAR StartBuffer; PUCHAR EndBuffer; PVOID ProtocolReserved1; PVOID ProtocolReserved2; PVOID ProtocolReserved3; PVOID ProtocolReserved4; PVOID MacReserved1; PVOID MacReserved2; PVOID MacReserved3; PVOID MacReserved4;} NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;/* DMA channel information */typedef struct _NDIS_DMA_DESCRIPTION { BOOLEAN DemandMode; BOOLEAN AutoInitialize; BOOLEAN DmaChannelSpecified; DMA_WIDTH DmaWidth; DMA_SPEED DmaSpeed; ULONG DmaPort; ULONG DmaChannel;} NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;typedef struct _NDIS_DMA_BLOCK { PVOID MapRegisterBase; KEVENT AllocationEvent; PADAPTER_OBJECT SystemAdapterObject; PVOID Miniport; BOOLEAN InProgress;} NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;/* Possible hardware architecture */typedef enum _NDIS_INTERFACE_TYPE { NdisInterfaceInternal = Internal, NdisInterfaceIsa = Isa, NdisInterfaceEisa = Eisa, NdisInterfaceMca = MicroChannel, NdisInterfaceTurboChannel = TurboChannel, NdisInterfacePci = PCIBus, NdisInterfacePcMcia = PCMCIABus, NdisInterfaceCBus = CBus, NdisInterfaceMPIBus = MPIBus, NdisInterfaceMPSABus = MPSABus, NdisInterfaceProcessorInternal = ProcessorInternal, NdisInterfaceInternalPowerBus = InternalPowerBus, NdisInterfacePNPISABus = PNPISABus, NdisInterfacePNPBus = PNPBus, NdisMaximumInterfaceType} NDIS_INTERFACE_TYPE, *PNDIS_INTERFACE_TYPE;#define NdisInterruptLevelSensitive LevelSensitive#define NdisInterruptLatched Latchedtypedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;typedef enum _NDIS_PARAMETER_TYPE { NdisParameterInteger, NdisParameterHexInteger, NdisParameterString, NdisParameterMultiString, NdisParameterBinary} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;typedef struct { USHORT Length; PVOID Buffer;} BINARY_DATA;typedef struct _NDIS_CONFIGURATION_PARAMETER { NDIS_PARAMETER_TYPE ParameterType; union { ULONG IntegerData; NDIS_STRING StringData; BINARY_DATA BinaryData; } ParameterData;} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT { NDIS_PHYSICAL_ADDRESS PhysicalAddress; UINT Length;} NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;typedef struct _NDIS_WAN_LINE_DOWN { UCHAR RemoteAddress[6]; UCHAR LocalAddress[6];} NDIS_WAN_LINE_DOWN, *PNDIS_WAN_LINE_DOWN;typedef struct _NDIS_WAN_LINE_UP { ULONG LinkSpeed; ULONG MaximumTotalSize; NDIS_WAN_QUALITY Quality; USHORT SendWindow; UCHAR RemoteAddress[6]; /*OUT*/ UCHAR LocalAddress[6]; ULONG ProtocolBufferLength; PUCHAR ProtocolBuffer; USHORT ProtocolType; NDIS_STRING DeviceName;} NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;typedef VOID DDKAPI(*ADAPTER_SHUTDOWN_HANDLER)( /*IN*/ PVOID ShutdownContext);typedef struct _OID_LIST OID_LIST, *POID_LIST;/* PnP state */typedef enum _NDIS_PNP_DEVICE_STATE { NdisPnPDeviceAdded, NdisPnPDeviceStarted, NdisPnPDeviceQueryStopped, NdisPnPDeviceStopped, NdisPnPDeviceQueryRemoved, NdisPnPDeviceRemoved, NdisPnPDeviceSurpriseRemoved} NDIS_PNP_DEVICE_STATE;#define NDIS_DEVICE_NOT_STOPPABLE 0x00000001#define NDIS_DEVICE_NOT_REMOVEABLE 0x00000002#define NDIS_DEVICE_NOT_SUSPENDABLE 0x00000004#define NDIS_DEVICE_DISABLE_PM 0x00000008#define NDIS_DEVICE_DISABLE_WAKE_UP 0x00000010#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT 0x00000020#define NDIS_DEVICE_RESERVED 0x00000040#define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET 0x00000080#define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100/* OID_GEN_NETWORK_LAYER_ADDRESSES */typedef struct _NETWORK_ADDRESS { USHORT AddressLength; USHORT AddressType; UCHAR Address[1]; } NETWORK_ADDRESS, *PNETWORK_ADDRESS;typedef struct _NETWORK_ADDRESS_LIST { LONG AddressCount; USHORT AddressType; NETWORK_ADDRESS Address[1]; } NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;/* Protocol types supported by NDIS */#define NDIS_PROTOCOL_ID_DEFAULT 0x00#define NDIS_PROTOCOL_ID_TCP_IP 0x02#define NDIS_PROTOCOL_ID_IPX 0x06#define NDIS_PROTOCOL_ID_NBF 0x07#define NDIS_PROTOCOL_ID_MAX 0x0F#define NDIS_PROTOCOL_ID_MASK 0x0F/* OID_GEN_TRANSPORT_HEADER_OFFSET */typedef struct _TRANSPORT_HEADER_OFFSET { USHORT ProtocolType; USHORT HeaderOffset; } TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */typedef struct _NDIS_CO_LINK_SPEED { ULONG Outbound; ULONG Inbound;} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;typedef ULONG NDIS_AF, *PNDIS_AF;#define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)#define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)#define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)#define CO_ADDRESS_FAMILY_IRDA ((NDIS_AF)0x4)#define CO_ADDRESS_FAMILY_1394 ((NDIS_AF)0x5)#define CO_ADDRESS_FAMILY_PPP ((NDIS_AF)0x6)#define CO_ADDRESS_FAMILY_TAPI ((NDIS_AF)0x800)#define CO_ADDRESS_FAMILY_TAPI_PROXY ((NDIS_AF)0x801)#define CO_ADDRESS_FAMILY_PROXY 0x80000000typedef struct { NDIS_AF AddressFamily; ULONG MajorVersion; ULONG MinorVersion;} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;typedef struct _CO_FLOW_PARAMETERS { ULONG TokenRate; ULONG TokenBucketSize; ULONG PeakBandwidth; ULONG Latency; ULONG DelayVariation; SERVICETYPE ServiceType; ULONG MaxSduSize; ULONG MinimumPolicedSize;} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;typedef struct _CO_SPECIFIC_PARAMETERS { ULONG ParamType; ULONG Length; UCHAR Parameters[1];} CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;typedef struct _CO_CALL_MANAGER_PARAMETERS { CO_FLOW_PARAMETERS Transmit; CO_FLOW_PARAMETERS Receive; CO_SPECIFIC_PARAMETERS CallMgrSpecific;} CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;/* CO_MEDIA_PARAMETERS.Flags constants */#define RECEIVE_TIME_INDICATION 0x00000001#define USE_TIME_STAMPS 0x00000002#define TRANSMIT_VC 0x00000004#define RECEIVE_VC 0x00000008#define INDICATE_ERRED_PACKETS 0x00000010#define INDICATE_END_OF_TX 0x00000020#define RESERVE_RESOURCES_VC 0x00000040#define ROUND_DOWN_FLOW 0x00000080#define ROUND_UP_FLOW 0x00000100typedef struct _CO_MEDIA_PARAMETERS { ULONG Flags; ULONG ReceivePriority; ULONG ReceiveSizeHint; CO_SPECIFIC_PARAMETERS MediaSpecific;} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;/* CO_CALL_PARAMETERS.Flags constants */#define PERMANENT_VC 0x00000001#define CALL_PARAMETERS_CHANGED 0x00000002#define QUERY_CALL_PARAMETERS 0x00000004#define BROADCAST_VC 0x00000008#define MULTIPOINT_VC 0x00000010typedef struct _CO_CALL_PARAMETERS { ULONG Flags; PCO_CALL_MANAGER_PARAMETERS CallMgrParameters; PCO_MEDIA_PARAMETERS MediaParameters;} CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;typedef struct _CO_SAP { ULONG SapType; ULONG SapLength; UCHAR Sap[1];} CO_SAP, *PCO_SAP;typedef struct _NDIS_IPSEC_PACKET_INFO { _ANONYMOUS_UNION union { struct { NDIS_HANDLE OffloadHandle; NDIS_HANDLE NextOffloadHandle; } Transmit; struct { ULONG SA_DELETE_REQ : 1; ULONG CRYPTO_DONE : 1; ULONG NEXT_CRYPTO_DONE : 1; ULONG CryptoStatus; } Receive; } DUMMYUNIONNAME;} NDIS_IPSEC_PACKET_INFO, *PNDIS_IPSEC_PACKET_INFO;/* NDIS_MAC_FRAGMENT.Errors constants */#define WAN_ERROR_CRC 0x00000001#define WAN_ERROR_FRAMING 0x00000002#define WAN_ERROR_HARDWAREOVERRUN 0x00000004#define WAN_ERROR_BUFFEROVERRUN 0x00000008#define WAN_ERROR_TIMEOUT 0x00000010#define WAN_ERROR_ALIGNMENT 0x00000020typedef struct _NDIS_MAC_FRAGMENT { NDIS_HANDLE NdisLinkContext; ULONG Errors;} NDIS_MAC_FRAGMENT, *PNDIS_MAC_FRAGMENT;typedef struct _NDIS_MAC_LINE_DOWN { NDIS_HANDLE NdisLinkContext;} NDIS_MAC_LINE_DOWN, *PNDIS_MAC_LINE_DOWN;typedef struct _NDIS_MAC_LINE_UP { ULONG LinkSpeed; NDIS_WAN_QUALITY Quality; USHORT SendWindow; NDIS_HANDLE ConnectionWrapperID; NDIS_HANDLE NdisLinkHandle; NDIS_HANDLE NdisLinkContext;} NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;typedef struct _NDIS_PACKET_8021Q_INFO { _ANONYMOUS_UNION union { struct { UINT32 UserPriority : 3; UINT32 CanonicalFormatId : 1; UINT32 VlanId : 12; UINT32 Reserved : 16; } TagHeader; PVOID Value; } DUMMYUNIONNAME;} NDIS_PACKET_8021Q_INFO, *PNDIS_PACKET_8021Q_INFO;typedef enum _NDIS_PER_PACKET_INFO { TcpIpChecksumPacketInfo, IpSecPacketInfo, TcpLargeSendPacketInfo, ClassificationHandlePacketInfo, NdisReserved, ScatterGatherListPacketInfo, Ieee8021QInfo, OriginalPacketInfo, PacketCancelId, MaxPerPacketInfo} NDIS_PER_PACKET_INFO, *PNDIS_PER_PACKET_INFO;typedef struct _NDIS_PACKET_EXTENSION { PVOID NdisPacketInfo[MaxPerPacketInfo];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -