Mercurial > games > semicongine
diff fuhtark_test/include/winapi/ntddndis.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/ntddndis.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,1871 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _NTDDNDIS_ +#define _NTDDNDIS_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define DD_NDIS_DEVICE_NAME "\\Device\\UNKNOWN" + +#define _NDIS_CONTROL_CODE(request,method) CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD,request,method,FILE_ANY_ACCESS) + +#define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE(0,METHOD_OUT_DIRECT) +#define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE(1,METHOD_OUT_DIRECT) +#define IOCTL_NDIS_DO_PNP_OPERATION _NDIS_CONTROL_CODE(2,METHOD_BUFFERED) +#define IOCTL_NDIS_QUERY_SELECTED_STATS _NDIS_CONTROL_CODE(3,METHOD_OUT_DIRECT) +#define IOCTL_NDIS_ENUMERATE_INTERFACES _NDIS_CONTROL_CODE(4,METHOD_BUFFERED) +#define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE(5,METHOD_BUFFERED) +#define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE(7,METHOD_OUT_DIRECT) +#define IOCTL_NDIS_GET_VERSION _NDIS_CONTROL_CODE(8,METHOD_BUFFERED) +#define IOCTL_NDIS_RESERVED7 _NDIS_CONTROL_CODE(0xF,METHOD_OUT_DIRECT) + + typedef ULONG NDIS_OID,*PNDIS_OID; + + typedef UNALIGNED struct _NDIS_STATISTICS_VALUE { + NDIS_OID Oid; + ULONG DataLength; + UCHAR Data[1]; + } NDIS_STATISTICS_VALUE,*PNDIS_STATISTICS_VALUE; + + typedef struct _NDIS_VAR_DATA_DESC { + USHORT Length; + USHORT MaximumLength; + ULONG_PTR Offset; + } NDIS_VAR_DATA_DESC,*PNDIS_VAR_DATA_DESC; + +#include <guiddef.h> + +#define OID_GEN_SUPPORTED_LIST 0x00010101 +#define OID_GEN_HARDWARE_STATUS 0x00010102 +#define OID_GEN_MEDIA_SUPPORTED 0x00010103 +#define OID_GEN_MEDIA_IN_USE 0x00010104 +#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105 +#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106 +#define OID_GEN_LINK_SPEED 0x00010107 +#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108 +#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109 +#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A +#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B +#define OID_GEN_VENDOR_ID 0x0001010C +#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D +#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E +#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F +#define OID_GEN_DRIVER_VERSION 0x00010110 +#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111 +#define OID_GEN_PROTOCOL_OPTIONS 0x00010112 +#define OID_GEN_MAC_OPTIONS 0x00010113 +#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114 +#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115 + +#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116 +#define OID_GEN_SUPPORTED_GUIDS 0x00010117 +#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118 +#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119 +#define OID_GEN_MACHINE_NAME 0x0001021A +#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B +#define OID_GEN_VLAN_ID 0x0001021C +#define OID_GEN_MEDIA_CAPABILITIES 0x00010201 +#define OID_GEN_PHYSICAL_MEDIUM 0x00010202 + +#define OID_GEN_XMIT_OK 0x00020101 +#define OID_GEN_RCV_OK 0x00020102 +#define OID_GEN_XMIT_ERROR 0x00020103 +#define OID_GEN_RCV_ERROR 0x00020104 +#define OID_GEN_RCV_NO_BUFFER 0x00020105 + +#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201 +#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202 +#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203 +#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204 +#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205 +#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206 +#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207 +#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208 +#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209 +#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A +#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B +#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C + +#define OID_GEN_RCV_CRC_ERROR 0x0002020D +#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E + +#define OID_GEN_GET_TIME_CAPS 0x0002020F +#define OID_GEN_GET_NETCARD_TIME 0x00020210 +#define OID_GEN_NETCARD_LOAD 0x00020211 +#define OID_GEN_DEVICE_PROFILE 0x00020212 + +#define OID_GEN_INIT_TIME_MS 0x00020213 +#define OID_GEN_RESET_COUNTS 0x00020214 +#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215 +#define OID_GEN_FRIENDLY_NAME 0x00020216 +#define OID_GEN_MINIPORT_INFO 0x00020217 +#define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218 + +#define OID_GEN_CO_SUPPORTED_LIST OID_GEN_SUPPORTED_LIST +#define OID_GEN_CO_HARDWARE_STATUS OID_GEN_HARDWARE_STATUS +#define OID_GEN_CO_MEDIA_SUPPORTED OID_GEN_MEDIA_SUPPORTED +#define OID_GEN_CO_MEDIA_IN_USE OID_GEN_MEDIA_IN_USE +#define OID_GEN_CO_LINK_SPEED OID_GEN_LINK_SPEED +#define OID_GEN_CO_VENDOR_ID OID_GEN_VENDOR_ID +#define OID_GEN_CO_VENDOR_DESCRIPTION OID_GEN_VENDOR_DESCRIPTION +#define OID_GEN_CO_DRIVER_VERSION OID_GEN_DRIVER_VERSION +#define OID_GEN_CO_PROTOCOL_OPTIONS OID_GEN_PROTOCOL_OPTIONS +#define OID_GEN_CO_MAC_OPTIONS OID_GEN_MAC_OPTIONS +#define OID_GEN_CO_MEDIA_CONNECT_STATUS OID_GEN_MEDIA_CONNECT_STATUS +#define OID_GEN_CO_VENDOR_DRIVER_VERSION OID_GEN_VENDOR_DRIVER_VERSION +#define OID_GEN_CO_SUPPORTED_GUIDS OID_GEN_SUPPORTED_GUIDS +#define OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS +#define OID_GEN_CO_GET_NETCARD_TIME OID_GEN_GET_NETCARD_TIME +#define OID_GEN_CO_MINIMUM_LINK_SPEED 0x00020120 + +#define OID_GEN_CO_XMIT_PDUS_OK OID_GEN_XMIT_OK +#define OID_GEN_CO_RCV_PDUS_OK OID_GEN_RCV_OK +#define OID_GEN_CO_XMIT_PDUS_ERROR OID_GEN_XMIT_ERROR +#define OID_GEN_CO_RCV_PDUS_ERROR OID_GEN_RCV_ERROR +#define OID_GEN_CO_RCV_PDUS_NO_BUFFER OID_GEN_RCV_NO_BUFFER + +#define OID_GEN_CO_RCV_CRC_ERROR OID_GEN_RCV_CRC_ERROR +#define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH OID_GEN_TRANSMIT_QUEUE_LENGTH +#define OID_GEN_CO_BYTES_XMIT OID_GEN_DIRECTED_BYTES_XMIT +#define OID_GEN_CO_BYTES_RCV OID_GEN_DIRECTED_BYTES_RCV +#define OID_GEN_CO_NETCARD_LOAD OID_GEN_NETCARD_LOAD +#define OID_GEN_CO_DEVICE_PROFILE OID_GEN_DEVICE_PROFILE +#define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020221 + +#define OID_802_3_PERMANENT_ADDRESS 0x01010101 +#define OID_802_3_CURRENT_ADDRESS 0x01010102 +#define OID_802_3_MULTICAST_LIST 0x01010103 +#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104 +#define OID_802_3_MAC_OPTIONS 0x01010105 + +#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001 + +#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101 +#define OID_802_3_XMIT_ONE_COLLISION 0x01020102 +#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103 + +#define OID_802_3_XMIT_DEFERRED 0x01020201 +#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202 +#define OID_802_3_RCV_OVERRUN 0x01020203 +#define OID_802_3_XMIT_UNDERRUN 0x01020204 +#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205 +#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206 +#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207 + +#define OID_802_5_PERMANENT_ADDRESS 0x02010101 +#define OID_802_5_CURRENT_ADDRESS 0x02010102 +#define OID_802_5_CURRENT_FUNCTIONAL 0x02010103 +#define OID_802_5_CURRENT_GROUP 0x02010104 +#define OID_802_5_LAST_OPEN_STATUS 0x02010105 +#define OID_802_5_CURRENT_RING_STATUS 0x02010106 +#define OID_802_5_CURRENT_RING_STATE 0x02010107 + +#define OID_802_5_LINE_ERRORS 0x02020101 +#define OID_802_5_LOST_FRAMES 0x02020102 + +#define OID_802_5_BURST_ERRORS 0x02020201 +#define OID_802_5_AC_ERRORS 0x02020202 +#define OID_802_5_ABORT_DELIMETERS 0x02020203 +#define OID_802_5_FRAME_COPIED_ERRORS 0x02020204 +#define OID_802_5_FREQUENCY_ERRORS 0x02020205 +#define OID_802_5_TOKEN_ERRORS 0x02020206 +#define OID_802_5_INTERNAL_ERRORS 0x02020207 + +#define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101 +#define OID_FDDI_LONG_CURRENT_ADDR 0x03010102 +#define OID_FDDI_LONG_MULTICAST_LIST 0x03010103 +#define OID_FDDI_LONG_MAX_LIST_SIZE 0x03010104 +#define OID_FDDI_SHORT_PERMANENT_ADDR 0x03010105 +#define OID_FDDI_SHORT_CURRENT_ADDR 0x03010106 +#define OID_FDDI_SHORT_MULTICAST_LIST 0x03010107 +#define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108 + +#define OID_FDDI_ATTACHMENT_TYPE 0x03020101 +#define OID_FDDI_UPSTREAM_NODE_LONG 0x03020102 +#define OID_FDDI_DOWNSTREAM_NODE_LONG 0x03020103 +#define OID_FDDI_FRAME_ERRORS 0x03020104 +#define OID_FDDI_FRAMES_LOST 0x03020105 +#define OID_FDDI_RING_MGT_STATE 0x03020106 +#define OID_FDDI_LCT_FAILURES 0x03020107 +#define OID_FDDI_LEM_REJECTS 0x03020108 +#define OID_FDDI_LCONNECTION_STATE 0x03020109 + +#define OID_FDDI_SMT_STATION_ID 0x03030201 +#define OID_FDDI_SMT_OP_VERSION_ID 0x03030202 +#define OID_FDDI_SMT_HI_VERSION_ID 0x03030203 +#define OID_FDDI_SMT_LO_VERSION_ID 0x03030204 +#define OID_FDDI_SMT_MANUFACTURER_DATA 0x03030205 +#define OID_FDDI_SMT_USER_DATA 0x03030206 +#define OID_FDDI_SMT_MIB_VERSION_ID 0x03030207 +#define OID_FDDI_SMT_MAC_CT 0x03030208 +#define OID_FDDI_SMT_NON_MASTER_CT 0x03030209 +#define OID_FDDI_SMT_MASTER_CT 0x0303020A +#define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020B +#define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020C +#define OID_FDDI_SMT_CONFIG_POLICY 0x0303020D +#define OID_FDDI_SMT_CONNECTION_POLICY 0x0303020E +#define OID_FDDI_SMT_T_NOTIFY 0x0303020F +#define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210 +#define OID_FDDI_SMT_TRACE_MAX_EXPIRATION 0x03030211 +#define OID_FDDI_SMT_PORT_INDEXES 0x03030212 +#define OID_FDDI_SMT_MAC_INDEXES 0x03030213 +#define OID_FDDI_SMT_BYPASS_PRESENT 0x03030214 +#define OID_FDDI_SMT_ECM_STATE 0x03030215 +#define OID_FDDI_SMT_CF_STATE 0x03030216 +#define OID_FDDI_SMT_HOLD_STATE 0x03030217 +#define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG 0x03030218 +#define OID_FDDI_SMT_STATION_STATUS 0x03030219 +#define OID_FDDI_SMT_PEER_WRAP_FLAG 0x0303021A +#define OID_FDDI_SMT_MSG_TIME_STAMP 0x0303021B +#define OID_FDDI_SMT_TRANSITION_TIME_STAMP 0x0303021C +#define OID_FDDI_SMT_SET_COUNT 0x0303021D +#define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021E +#define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS 0x0303021F +#define OID_FDDI_MAC_BRIDGE_FUNCTIONS 0x03030220 +#define OID_FDDI_MAC_T_MAX_CAPABILITY 0x03030221 +#define OID_FDDI_MAC_TVX_CAPABILITY 0x03030222 +#define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223 +#define OID_FDDI_MAC_CURRENT_PATH 0x03030224 +#define OID_FDDI_MAC_UPSTREAM_NBR 0x03030225 +#define OID_FDDI_MAC_DOWNSTREAM_NBR 0x03030226 +#define OID_FDDI_MAC_OLD_UPSTREAM_NBR 0x03030227 +#define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR 0x03030228 +#define OID_FDDI_MAC_DUP_ADDRESS_TEST 0x03030229 +#define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022A +#define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE 0x0303022B +#define OID_FDDI_MAC_INDEX 0x0303022C +#define OID_FDDI_MAC_SMT_ADDRESS 0x0303022D +#define OID_FDDI_MAC_LONG_GRP_ADDRESS 0x0303022E +#define OID_FDDI_MAC_SHORT_GRP_ADDRESS 0x0303022F +#define OID_FDDI_MAC_T_REQ 0x03030230 +#define OID_FDDI_MAC_T_NEG 0x03030231 +#define OID_FDDI_MAC_T_MAX 0x03030232 +#define OID_FDDI_MAC_TVX_VALUE 0x03030233 +#define OID_FDDI_MAC_T_PRI0 0x03030234 +#define OID_FDDI_MAC_T_PRI1 0x03030235 +#define OID_FDDI_MAC_T_PRI2 0x03030236 +#define OID_FDDI_MAC_T_PRI3 0x03030237 +#define OID_FDDI_MAC_T_PRI4 0x03030238 +#define OID_FDDI_MAC_T_PRI5 0x03030239 +#define OID_FDDI_MAC_T_PRI6 0x0303023A +#define OID_FDDI_MAC_FRAME_CT 0x0303023B +#define OID_FDDI_MAC_COPIED_CT 0x0303023C +#define OID_FDDI_MAC_TRANSMIT_CT 0x0303023D +#define OID_FDDI_MAC_TOKEN_CT 0x0303023E +#define OID_FDDI_MAC_ERROR_CT 0x0303023F +#define OID_FDDI_MAC_LOST_CT 0x03030240 +#define OID_FDDI_MAC_TVX_EXPIRED_CT 0x03030241 +#define OID_FDDI_MAC_NOT_COPIED_CT 0x03030242 +#define OID_FDDI_MAC_LATE_CT 0x03030243 +#define OID_FDDI_MAC_RING_OP_CT 0x03030244 +#define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD 0x03030245 +#define OID_FDDI_MAC_FRAME_ERROR_RATIO 0x03030246 +#define OID_FDDI_MAC_NOT_COPIED_THRESHOLD 0x03030247 +#define OID_FDDI_MAC_NOT_COPIED_RATIO 0x03030248 +#define OID_FDDI_MAC_RMT_STATE 0x03030249 +#define OID_FDDI_MAC_DA_FLAG 0x0303024A +#define OID_FDDI_MAC_UNDA_FLAG 0x0303024B +#define OID_FDDI_MAC_FRAME_ERROR_FLAG 0x0303024C +#define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024D +#define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE 0x0303024E +#define OID_FDDI_MAC_HARDWARE_PRESENT 0x0303024F +#define OID_FDDI_MAC_MA_UNITDATA_ENABLE 0x03030250 +#define OID_FDDI_PATH_INDEX 0x03030251 +#define OID_FDDI_PATH_RING_LATENCY 0x03030252 +#define OID_FDDI_PATH_TRACE_STATUS 0x03030253 +#define OID_FDDI_PATH_SBA_PAYLOAD 0x03030254 +#define OID_FDDI_PATH_SBA_OVERHEAD 0x03030255 +#define OID_FDDI_PATH_CONFIGURATION 0x03030256 +#define OID_FDDI_PATH_T_R_MODE 0x03030257 +#define OID_FDDI_PATH_SBA_AVAILABLE 0x03030258 +#define OID_FDDI_PATH_TVX_LOWER_BOUND 0x03030259 +#define OID_FDDI_PATH_T_MAX_LOWER_BOUND 0x0303025A +#define OID_FDDI_PATH_MAX_T_REQ 0x0303025B +#define OID_FDDI_PORT_MY_TYPE 0x0303025C +#define OID_FDDI_PORT_NEIGHBOR_TYPE 0x0303025D +#define OID_FDDI_PORT_CONNECTION_POLICIES 0x0303025E +#define OID_FDDI_PORT_MAC_INDICATED 0x0303025F +#define OID_FDDI_PORT_CURRENT_PATH 0x03030260 +#define OID_FDDI_PORT_REQUESTED_PATHS 0x03030261 +#define OID_FDDI_PORT_MAC_PLACEMENT 0x03030262 +#define OID_FDDI_PORT_AVAILABLE_PATHS 0x03030263 +#define OID_FDDI_PORT_MAC_LOOP_TIME 0x03030264 +#define OID_FDDI_PORT_PMD_CLASS 0x03030265 +#define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266 +#define OID_FDDI_PORT_INDEX 0x03030267 +#define OID_FDDI_PORT_MAINT_LS 0x03030268 +#define OID_FDDI_PORT_BS_FLAG 0x03030269 +#define OID_FDDI_PORT_PC_LS 0x0303026A +#define OID_FDDI_PORT_EB_ERROR_CT 0x0303026B +#define OID_FDDI_PORT_LCT_FAIL_CT 0x0303026C +#define OID_FDDI_PORT_LER_ESTIMATE 0x0303026D +#define OID_FDDI_PORT_LEM_REJECT_CT 0x0303026E +#define OID_FDDI_PORT_LEM_CT 0x0303026F +#define OID_FDDI_PORT_LER_CUTOFF 0x03030270 +#define OID_FDDI_PORT_LER_ALARM 0x03030271 +#define OID_FDDI_PORT_CONNNECT_STATE 0x03030272 +#define OID_FDDI_PORT_PCM_STATE 0x03030273 +#define OID_FDDI_PORT_PC_WITHHOLD 0x03030274 +#define OID_FDDI_PORT_LER_FLAG 0x03030275 +#define OID_FDDI_PORT_HARDWARE_PRESENT 0x03030276 +#define OID_FDDI_SMT_STATION_ACTION 0x03030277 +#define OID_FDDI_PORT_ACTION 0x03030278 +#define OID_FDDI_IF_DESCR 0x03030279 +#define OID_FDDI_IF_TYPE 0x0303027A +#define OID_FDDI_IF_MTU 0x0303027B +#define OID_FDDI_IF_SPEED 0x0303027C +#define OID_FDDI_IF_PHYS_ADDRESS 0x0303027D +#define OID_FDDI_IF_ADMIN_STATUS 0x0303027E +#define OID_FDDI_IF_OPER_STATUS 0x0303027F +#define OID_FDDI_IF_LAST_CHANGE 0x03030280 +#define OID_FDDI_IF_IN_OCTETS 0x03030281 +#define OID_FDDI_IF_IN_UCAST_PKTS 0x03030282 +#define OID_FDDI_IF_IN_NUCAST_PKTS 0x03030283 +#define OID_FDDI_IF_IN_DISCARDS 0x03030284 +#define OID_FDDI_IF_IN_ERRORS 0x03030285 +#define OID_FDDI_IF_IN_UNKNOWN_PROTOS 0x03030286 +#define OID_FDDI_IF_OUT_OCTETS 0x03030287 +#define OID_FDDI_IF_OUT_UCAST_PKTS 0x03030288 +#define OID_FDDI_IF_OUT_NUCAST_PKTS 0x03030289 +#define OID_FDDI_IF_OUT_DISCARDS 0x0303028A +#define OID_FDDI_IF_OUT_ERRORS 0x0303028B +#define OID_FDDI_IF_OUT_QLEN 0x0303028C +#define OID_FDDI_IF_SPECIFIC 0x0303028D + +#define OID_WAN_PERMANENT_ADDRESS 0x04010101 +#define OID_WAN_CURRENT_ADDRESS 0x04010102 +#define OID_WAN_QUALITY_OF_SERVICE 0x04010103 +#define OID_WAN_PROTOCOL_TYPE 0x04010104 +#define OID_WAN_MEDIUM_SUBTYPE 0x04010105 +#define OID_WAN_HEADER_FORMAT 0x04010106 + +#define OID_WAN_GET_INFO 0x04010107 +#define OID_WAN_SET_LINK_INFO 0x04010108 +#define OID_WAN_GET_LINK_INFO 0x04010109 + +#define OID_WAN_LINE_COUNT 0x0401010A +#define OID_WAN_PROTOCOL_CAPS 0x0401010B + +#define OID_WAN_GET_BRIDGE_INFO 0x0401020A +#define OID_WAN_SET_BRIDGE_INFO 0x0401020B +#define OID_WAN_GET_COMP_INFO 0x0401020C +#define OID_WAN_SET_COMP_INFO 0x0401020D +#define OID_WAN_GET_STATS_INFO 0x0401020E + +#define OID_WAN_CO_GET_INFO 0x04010180 +#define OID_WAN_CO_SET_LINK_INFO 0x04010181 +#define OID_WAN_CO_GET_LINK_INFO 0x04010182 +#define OID_WAN_CO_GET_COMP_INFO 0x04010280 +#define OID_WAN_CO_SET_COMP_INFO 0x04010281 +#define OID_WAN_CO_GET_STATS_INFO 0x04010282 + +#define OID_LTALK_CURRENT_NODE_ID 0x05010102 + +#define OID_LTALK_IN_BROADCASTS 0x05020101 +#define OID_LTALK_IN_LENGTH_ERRORS 0x05020102 + +#define OID_LTALK_OUT_NO_HANDLERS 0x05020201 +#define OID_LTALK_COLLISIONS 0x05020202 +#define OID_LTALK_DEFERS 0x05020203 +#define OID_LTALK_NO_DATA_ERRORS 0x05020204 +#define OID_LTALK_RANDOM_CTS_ERRORS 0x05020205 +#define OID_LTALK_FCS_ERRORS 0x05020206 + +#define OID_ARCNET_PERMANENT_ADDRESS 0x06010101 +#define OID_ARCNET_CURRENT_ADDRESS 0x06010102 + +#define OID_ARCNET_RECONFIGURATIONS 0x06020201 + +#define OID_TAPI_ACCEPT 0x07030101 +#define OID_TAPI_ANSWER 0x07030102 +#define OID_TAPI_CLOSE 0x07030103 +#define OID_TAPI_CLOSE_CALL 0x07030104 +#define OID_TAPI_CONDITIONAL_MEDIA_DETECTION 0x07030105 +#define OID_TAPI_CONFIG_DIALOG 0x07030106 +#define OID_TAPI_DEV_SPECIFIC 0x07030107 +#define OID_TAPI_DIAL 0x07030108 +#define OID_TAPI_DROP 0x07030109 +#define OID_TAPI_GET_ADDRESS_CAPS 0x0703010A +#define OID_TAPI_GET_ADDRESS_ID 0x0703010B +#define OID_TAPI_GET_ADDRESS_STATUS 0x0703010C +#define OID_TAPI_GET_CALL_ADDRESS_ID 0x0703010D +#define OID_TAPI_GET_CALL_INFO 0x0703010E +#define OID_TAPI_GET_CALL_STATUS 0x0703010F +#define OID_TAPI_GET_DEV_CAPS 0x07030110 +#define OID_TAPI_GET_DEV_CONFIG 0x07030111 +#define OID_TAPI_GET_EXTENSION_ID 0x07030112 +#define OID_TAPI_GET_ID 0x07030113 +#define OID_TAPI_GET_LINE_DEV_STATUS 0x07030114 +#define OID_TAPI_MAKE_CALL 0x07030115 +#define OID_TAPI_NEGOTIATE_EXT_VERSION 0x07030116 +#define OID_TAPI_OPEN 0x07030117 +#define OID_TAPI_PROVIDER_INITIALIZE 0x07030118 +#define OID_TAPI_PROVIDER_SHUTDOWN 0x07030119 +#define OID_TAPI_SECURE_CALL 0x0703011A +#define OID_TAPI_SELECT_EXT_VERSION 0x0703011B +#define OID_TAPI_SEND_USER_USER_INFO 0x0703011C +#define OID_TAPI_SET_APP_SPECIFIC 0x0703011D +#define OID_TAPI_SET_CALL_PARAMS 0x0703011E +#define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION 0x0703011F +#define OID_TAPI_SET_DEV_CONFIG 0x07030120 +#define OID_TAPI_SET_MEDIA_MODE 0x07030121 +#define OID_TAPI_SET_STATUS_MESSAGES 0x07030122 +#define OID_TAPI_GATHER_DIGITS 0x07030123 +#define OID_TAPI_MONITOR_DIGITS 0x07030124 + +#define OID_ATM_SUPPORTED_VC_RATES 0x08010101 +#define OID_ATM_SUPPORTED_SERVICE_CATEGORY 0x08010102 +#define OID_ATM_SUPPORTED_AAL_TYPES 0x08010103 +#define OID_ATM_HW_CURRENT_ADDRESS 0x08010104 +#define OID_ATM_MAX_ACTIVE_VCS 0x08010105 +#define OID_ATM_MAX_ACTIVE_VCI_BITS 0x08010106 +#define OID_ATM_MAX_ACTIVE_VPI_BITS 0x08010107 +#define OID_ATM_MAX_AAL0_PACKET_SIZE 0x08010108 +#define OID_ATM_MAX_AAL1_PACKET_SIZE 0x08010109 +#define OID_ATM_MAX_AAL34_PACKET_SIZE 0x0801010A +#define OID_ATM_MAX_AAL5_PACKET_SIZE 0x0801010B + +#define OID_ATM_SIGNALING_VPIVCI 0x08010201 +#define OID_ATM_ASSIGNED_VPI 0x08010202 +#define OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES 0x08010203 +#define OID_ATM_RELEASE_ACCESS_NET_RESOURCES 0x08010204 +#define OID_ATM_ILMI_VPIVCI 0x08010205 +#define OID_ATM_DIGITAL_BROADCAST_VPIVCI 0x08010206 +#define OID_ATM_GET_NEAREST_FLOW 0x08010207 +#define OID_ATM_ALIGNMENT_REQUIRED 0x08010208 +#define OID_ATM_LECS_ADDRESS 0x08010209 +#define OID_ATM_SERVICE_ADDRESS 0x0801020A + +#define OID_ATM_CALL_PROCEEDING 0x0801020B +#define OID_ATM_CALL_ALERTING 0x0801020C +#define OID_ATM_PARTY_ALERTING 0x0801020D +#define OID_ATM_CALL_NOTIFY 0x0801020E + +#define OID_ATM_MY_IP_NM_ADDRESS 0x0801020F + +#define OID_ATM_RCV_CELLS_OK 0x08020101 +#define OID_ATM_XMIT_CELLS_OK 0x08020102 +#define OID_ATM_RCV_CELLS_DROPPED 0x08020103 + +#define OID_ATM_RCV_INVALID_VPI_VCI 0x08020201 +#define OID_ATM_CELLS_HEC_ERROR 0x08020202 +#define OID_ATM_RCV_REASSEMBLY_ERROR 0x08020203 + +#define OID_WW_GEN_NETWORK_TYPES_SUPPORTED 0x09010101 +#define OID_WW_GEN_NETWORK_TYPE_IN_USE 0x09010102 +#define OID_WW_GEN_HEADER_FORMATS_SUPPORTED 0x09010103 +#define OID_WW_GEN_HEADER_FORMAT_IN_USE 0x09010104 +#define OID_WW_GEN_INDICATION_REQUEST 0x09010105 +#define OID_WW_GEN_DEVICE_INFO 0x09010106 +#define OID_WW_GEN_OPERATION_MODE 0x09010107 +#define OID_WW_GEN_LOCK_STATUS 0x09010108 +#define OID_WW_GEN_DISABLE_TRANSMITTER 0x09010109 +#define OID_WW_GEN_NETWORK_ID 0x0901010A +#define OID_WW_GEN_PERMANENT_ADDRESS 0x0901010B +#define OID_WW_GEN_CURRENT_ADDRESS 0x0901010C +#define OID_WW_GEN_SUSPEND_DRIVER 0x0901010D +#define OID_WW_GEN_BASESTATION_ID 0x0901010E +#define OID_WW_GEN_CHANNEL_ID 0x0901010F +#define OID_WW_GEN_ENCRYPTION_SUPPORTED 0x09010110 +#define OID_WW_GEN_ENCRYPTION_IN_USE 0x09010111 +#define OID_WW_GEN_ENCRYPTION_STATE 0x09010112 +#define OID_WW_GEN_CHANNEL_QUALITY 0x09010113 +#define OID_WW_GEN_REGISTRATION_STATUS 0x09010114 +#define OID_WW_GEN_RADIO_LINK_SPEED 0x09010115 +#define OID_WW_GEN_LATENCY 0x09010116 +#define OID_WW_GEN_BATTERY_LEVEL 0x09010117 +#define OID_WW_GEN_EXTERNAL_POWER 0x09010118 + +#define OID_WW_GEN_PING_ADDRESS 0x09010201 +#define OID_WW_GEN_RSSI 0x09010202 +#define OID_WW_GEN_SIM_STATUS 0x09010203 +#define OID_WW_GEN_ENABLE_SIM_PIN 0x09010204 +#define OID_WW_GEN_CHANGE_SIM_PIN 0x09010205 +#define OID_WW_GEN_SIM_PUK 0x09010206 +#define OID_WW_GEN_SIM_EXCEPTION 0x09010207 + +#define OID_WW_MBX_SUBADDR 0x09050101 + +#define OID_WW_MBX_FLEXLIST 0x09050103 +#define OID_WW_MBX_GROUPLIST 0x09050104 +#define OID_WW_MBX_TRAFFIC_AREA 0x09050105 +#define OID_WW_MBX_LIVE_DIE 0x09050106 +#define OID_WW_MBX_TEMP_DEFAULTLIST 0x09050107 + +#define OID_WW_PIN_LOC_AUTHORIZE 0x09090101 +#define OID_WW_PIN_LAST_LOCATION 0x09090102 +#define OID_WW_PIN_LOC_FIX 0x09090103 + +#define OID_WW_CDPD_SPNI 0x090D0101 +#define OID_WW_CDPD_WASI 0x090D0102 +#define OID_WW_CDPD_AREA_COLOR 0x090D0103 +#define OID_WW_CDPD_TX_POWER_LEVEL 0x090D0104 +#define OID_WW_CDPD_EID 0x090D0105 +#define OID_WW_CDPD_HEADER_COMPRESSION 0x090D0106 +#define OID_WW_CDPD_DATA_COMPRESSION 0x090D0107 +#define OID_WW_CDPD_CHANNEL_SELECT 0x090D0108 +#define OID_WW_CDPD_CHANNEL_STATE 0x090D0109 +#define OID_WW_CDPD_NEI 0x090D010A +#define OID_WW_CDPD_NEI_STATE 0x090D010B +#define OID_WW_CDPD_SERVICE_PROVIDER_IDENTIFIER 0x090D010C +#define OID_WW_CDPD_SLEEP_MODE 0x090D010D + +#define OID_WW_CDPD_CIRCUIT_SWITCHED 0x090D010E + +#define OID_WW_CDPD_TEI 0x090D010F +#define OID_WW_CDPD_RSSI 0x090D0110 + +#define OID_WW_CDPD_CS_SERVICE_PREFERENCE 0x090D0111 +#define OID_WW_CDPD_CS_SERVICE_STATUS 0x090D0112 +#define OID_WW_CDPD_CS_INFO 0x090D0113 +#define OID_WW_CDPD_CS_SUSPEND 0x090D0114 +#define OID_WW_CDPD_CS_DEFAULT_DIAL_CODE 0x090D0115 +#define OID_WW_CDPD_CS_CALLBACK 0x090D0116 +#define OID_WW_CDPD_CS_SID_LIST 0x090D0117 +#define OID_WW_CDPD_CS_CONFIGURATION 0x090D0118 + +#define OID_WW_ARD_SNDCP 0x09110101 +#define OID_WW_ARD_TMLY_MSG 0x09110102 +#define OID_WW_ARD_DATAGRAM 0x09110103 + +#define OID_WW_TAC_COMPRESSION 0x09150101 + +#define OID_WW_TAC_SET_CONFIG 0x09150102 +#define OID_WW_TAC_GET_STATUS 0x09150103 +#define OID_WW_TAC_USER_HEADER 0x09150104 + +#define OID_WW_TAC_UNIQUE_SDU_TAG 0x09150105 +#define OID_WW_TAC_SEND_COMMAND 0x09150106 +#define OID_WW_TAC_GET_RESPONSE 0x09150107 +#define OID_WW_TAC_DISABLE_RECEIVER 0x09150108 +#define OID_WW_TAC_ANTENNA_MODE 0x09150109 +#define OID_WW_TAC_FLUSH_DATA 0x0915010A +#define OID_WW_TAC_SHUTDOWN_DEVICE 0x0915010B +#define OID_WW_TAC_DEVICE_EXCEPTION 0x0915010C +#define OID_WW_TAC_RECEIVE_EXCEPTION 0x0915010D +#define OID_WW_TAC_BUFFER_EXCEPTION 0x0915010E +#define OID_WW_TAC_BATTERY_EXCEPTION 0x0915010F +#define OID_WW_TAC_TRANSMITTER_KEYED 0x09150110 +#define OID_WW_TAC_SYSTEM_TABLE 0x09150111 +#define OID_WW_TAC_CHANNEL_TABLE 0x09150112 +#define OID_WW_TAC_DCHANNEL_TABLE 0x09150113 +#define OID_WW_TAC_RECEIVE_QUEUE_COUNT 0x09150114 + +#define OID_WW_TAC_STATISTICS 0x09160101 + +#define OID_WW_MET_FUNCTION 0x09190101 + +#define OID_802_11_BSSID 0x0D010101 +#define OID_802_11_SSID 0x0D010102 +#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0D010203 +#define OID_802_11_NETWORK_TYPE_IN_USE 0x0D010204 +#define OID_802_11_TX_POWER_LEVEL 0x0D010205 +#define OID_802_11_RSSI 0x0D010206 +#define OID_802_11_RSSI_TRIGGER 0x0D010207 +#define OID_802_11_INFRASTRUCTURE_MODE 0x0D010108 +#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0D010209 +#define OID_802_11_RTS_THRESHOLD 0x0D01020A +#define OID_802_11_NUMBER_OF_ANTENNAS 0x0D01020B +#define OID_802_11_RX_ANTENNA_SELECTED 0x0D01020C +#define OID_802_11_TX_ANTENNA_SELECTED 0x0D01020D +#define OID_802_11_SUPPORTED_RATES 0x0D01020E +#define OID_802_11_DESIRED_RATES 0x0D010210 +#define OID_802_11_CONFIGURATION 0x0D010211 +#define OID_802_11_STATISTICS 0x0D020212 +#define OID_802_11_ADD_WEP 0x0D010113 +#define OID_802_11_REMOVE_WEP 0x0D010114 +#define OID_802_11_DISASSOCIATE 0x0D010115 +#define OID_802_11_POWER_MODE 0x0D010216 +#define OID_802_11_BSSID_LIST 0x0D010217 +#define OID_802_11_AUTHENTICATION_MODE 0x0D010118 +#define OID_802_11_PRIVACY_FILTER 0x0D010119 +#define OID_802_11_BSSID_LIST_SCAN 0x0D01011A +#define OID_802_11_WEP_STATUS 0x0D01011B + +#define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS +#define OID_802_11_RELOAD_DEFAULTS 0x0D01011C + +#define OID_802_11_ADD_KEY 0x0D01011D +#define OID_802_11_REMOVE_KEY 0x0D01011E +#define OID_802_11_ASSOCIATION_INFORMATION 0x0D01011F +#define OID_802_11_TEST 0x0D010120 +#define OID_802_11_MEDIA_STREAM_MODE 0x0D010121 + +#define NDIS_802_11_LENGTH_SSID 32 +#define NDIS_802_11_LENGTH_RATES 8 +#define NDIS_802_11_LENGTH_RATES_EX 16 + + typedef enum _NDIS_802_11_STATUS_TYPE { + Ndis802_11StatusType_Authentication,Ndis802_11StatusType_MediaStreamMode,Ndis802_11StatusTypeMax + } NDIS_802_11_STATUS_TYPE,*PNDIS_802_11_STATUS_TYPE; + + typedef UCHAR NDIS_802_11_MAC_ADDRESS[6]; + + typedef struct _NDIS_802_11_STATUS_INDICATION { + NDIS_802_11_STATUS_TYPE StatusType; + } NDIS_802_11_STATUS_INDICATION,*PNDIS_802_11_STATUS_INDICATION; + +#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f +#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01 +#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02 +#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06 +#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E + + typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST { + ULONG Length; + NDIS_802_11_MAC_ADDRESS Bssid; + ULONG Flags; + } NDIS_802_11_AUTHENTICATION_REQUEST,*PNDIS_802_11_AUTHENTICATION_REQUEST; + + typedef enum _NDIS_802_11_NETWORK_TYPE { + Ndis802_11FH,Ndis802_11DS,Ndis802_11OFDM5,Ndis802_11OFDM24,Ndis802_11NetworkTypeMax + } NDIS_802_11_NETWORK_TYPE,*PNDIS_802_11_NETWORK_TYPE; + + typedef struct _NDIS_802_11_NETWORK_TYPE_LIST { + ULONG NumberOfItems; + NDIS_802_11_NETWORK_TYPE NetworkType [1]; + } NDIS_802_11_NETWORK_TYPE_LIST,*PNDIS_802_11_NETWORK_TYPE_LIST; + + typedef enum _NDIS_802_11_POWER_MODE { + Ndis802_11PowerModeCAM,Ndis802_11PowerModeMAX_PSP,Ndis802_11PowerModeFast_PSP,Ndis802_11PowerModeMax + } NDIS_802_11_POWER_MODE,*PNDIS_802_11_POWER_MODE; + + typedef ULONG NDIS_802_11_TX_POWER_LEVEL; + typedef LONG NDIS_802_11_RSSI; + + typedef struct _NDIS_802_11_CONFIGURATION_FH { + ULONG Length; + ULONG HopPattern; + ULONG HopSet; + ULONG DwellTime; + } NDIS_802_11_CONFIGURATION_FH,*PNDIS_802_11_CONFIGURATION_FH; + + typedef struct _NDIS_802_11_CONFIGURATION { + ULONG Length; + ULONG BeaconPeriod; + ULONG ATIMWindow; + ULONG DSConfig; + NDIS_802_11_CONFIGURATION_FH FHConfig; + } NDIS_802_11_CONFIGURATION,*PNDIS_802_11_CONFIGURATION; + + typedef struct _NDIS_802_11_STATISTICS { + ULONG Length; + LARGE_INTEGER TransmittedFragmentCount; + LARGE_INTEGER MulticastTransmittedFrameCount; + LARGE_INTEGER FailedCount; + LARGE_INTEGER RetryCount; + LARGE_INTEGER MultipleRetryCount; + LARGE_INTEGER RTSSuccessCount; + LARGE_INTEGER RTSFailureCount; + LARGE_INTEGER ACKFailureCount; + LARGE_INTEGER FrameDuplicateCount; + LARGE_INTEGER ReceivedFragmentCount; + LARGE_INTEGER MulticastReceivedFrameCount; + LARGE_INTEGER FCSErrorCount; + } NDIS_802_11_STATISTICS,*PNDIS_802_11_STATISTICS; + + typedef ULONG NDIS_802_11_KEY_INDEX; + typedef ULONGLONG NDIS_802_11_KEY_RSC; + + typedef struct _NDIS_802_11_KEY { + ULONG Length; + ULONG KeyIndex; + ULONG KeyLength; + NDIS_802_11_MAC_ADDRESS BSSID; + NDIS_802_11_KEY_RSC KeyRSC; + UCHAR KeyMaterial[1]; + } NDIS_802_11_KEY,*PNDIS_802_11_KEY; + + typedef struct _NDIS_802_11_REMOVE_KEY { + ULONG Length; + ULONG KeyIndex; + NDIS_802_11_MAC_ADDRESS BSSID; + } NDIS_802_11_REMOVE_KEY,*PNDIS_802_11_REMOVE_KEY; + + typedef struct _NDIS_802_11_WEP { + ULONG Length; + ULONG KeyIndex; + ULONG KeyLength; + UCHAR KeyMaterial[1]; + } NDIS_802_11_WEP,*PNDIS_802_11_WEP; + + typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE { + Ndis802_11IBSS,Ndis802_11Infrastructure,Ndis802_11AutoUnknown,Ndis802_11InfrastructureMax + } NDIS_802_11_NETWORK_INFRASTRUCTURE,*PNDIS_802_11_NETWORK_INFRASTRUCTURE; + + typedef enum _NDIS_802_11_AUTHENTICATION_MODE { + Ndis802_11AuthModeOpen,Ndis802_11AuthModeShared,Ndis802_11AuthModeAutoSwitch,Ndis802_11AuthModeWPA,Ndis802_11AuthModeWPAPSK, + Ndis802_11AuthModeWPANone,Ndis802_11AuthModeMax + } NDIS_802_11_AUTHENTICATION_MODE,*PNDIS_802_11_AUTHENTICATION_MODE; + + typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; + typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; + + typedef struct _NDIS_802_11_SSID { + ULONG SsidLength; + UCHAR Ssid[NDIS_802_11_LENGTH_SSID]; + } NDIS_802_11_SSID,*PNDIS_802_11_SSID; + + typedef struct _NDIS_WLAN_BSSID { + ULONG Length; + NDIS_802_11_MAC_ADDRESS MacAddress; + UCHAR Reserved[2]; + NDIS_802_11_SSID Ssid; + ULONG Privacy; + NDIS_802_11_RSSI Rssi; + NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; + NDIS_802_11_CONFIGURATION Configuration; + NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; + NDIS_802_11_RATES SupportedRates; + } NDIS_WLAN_BSSID,*PNDIS_WLAN_BSSID; + + typedef struct _NDIS_802_11_BSSID_LIST { + ULONG NumberOfItems; + NDIS_WLAN_BSSID Bssid[1]; + } NDIS_802_11_BSSID_LIST,*PNDIS_802_11_BSSID_LIST; + + typedef struct _NDIS_WLAN_BSSID_EX { + ULONG Length; + NDIS_802_11_MAC_ADDRESS MacAddress; + UCHAR Reserved[2]; + NDIS_802_11_SSID Ssid; + ULONG Privacy; + NDIS_802_11_RSSI Rssi; + NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; + NDIS_802_11_CONFIGURATION Configuration; + NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; + NDIS_802_11_RATES_EX SupportedRates; + ULONG IELength; + UCHAR IEs[1]; + } NDIS_WLAN_BSSID_EX,*PNDIS_WLAN_BSSID_EX; + + typedef struct _NDIS_802_11_BSSID_LIST_EX { + ULONG NumberOfItems; + NDIS_WLAN_BSSID_EX Bssid[1]; + } NDIS_802_11_BSSID_LIST_EX,*PNDIS_802_11_BSSID_LIST_EX; + + typedef struct _NDIS_802_11_FIXED_IEs { + UCHAR Timestamp[8]; + USHORT BeaconInterval; + USHORT Capabilities; + } NDIS_802_11_FIXED_IEs,*PNDIS_802_11_FIXED_IEs; + + typedef struct _NDIS_802_11_VARIABLE_IEs { + UCHAR ElementID; + UCHAR Length; + UCHAR data[1]; + } NDIS_802_11_VARIABLE_IEs,*PNDIS_802_11_VARIABLE_IEs; + + typedef ULONG NDIS_802_11_FRAGMENTATION_THRESHOLD; + typedef ULONG NDIS_802_11_RTS_THRESHOLD; + typedef ULONG NDIS_802_11_ANTENNA; + + typedef enum _NDIS_802_11_PRIVACY_FILTER { + Ndis802_11PrivFilterAcceptAll,Ndis802_11PrivFilter8021xWEP + } NDIS_802_11_PRIVACY_FILTER,*PNDIS_802_11_PRIVACY_FILTER; + + typedef enum _NDIS_802_11_WEP_STATUS { + Ndis802_11WEPEnabled,Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,Ndis802_11WEPDisabled,Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled, + Ndis802_11WEPKeyAbsent,Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,Ndis802_11WEPNotSupported, + Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,Ndis802_11Encryption2Enabled,Ndis802_11Encryption2KeyAbsent, + Ndis802_11Encryption3Enabled,Ndis802_11Encryption3KeyAbsent + } NDIS_802_11_WEP_STATUS,*PNDIS_802_11_WEP_STATUS,NDIS_802_11_ENCRYPTION_STATUS,*PNDIS_802_11_ENCRYPTION_STATUS; + + typedef enum _NDIS_802_11_RELOAD_DEFAULTS { + Ndis802_11ReloadWEPKeys + } NDIS_802_11_RELOAD_DEFAULTS,*PNDIS_802_11_RELOAD_DEFAULTS; + +#define NDIS_802_11_AI_REQFI_CAPABILITIES 1 +#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2 +#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4 + +#define NDIS_802_11_AI_RESFI_CAPABILITIES 1 +#define NDIS_802_11_AI_RESFI_STATUSCODE 2 +#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4 + + typedef struct _NDIS_802_11_AI_REQFI { + USHORT Capabilities; + USHORT ListenInterval; + NDIS_802_11_MAC_ADDRESS CurrentAPAddress; + } NDIS_802_11_AI_REQFI,*PNDIS_802_11_AI_REQFI; + + typedef struct _NDIS_802_11_AI_RESFI { + USHORT Capabilities; + USHORT StatusCode; + USHORT AssociationId; + } NDIS_802_11_AI_RESFI,*PNDIS_802_11_AI_RESFI; + + typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION { + ULONG Length; + USHORT AvailableRequestFixedIEs; + NDIS_802_11_AI_REQFI RequestFixedIEs; + ULONG RequestIELength; + ULONG OffsetRequestIEs; + USHORT AvailableResponseFixedIEs; + NDIS_802_11_AI_RESFI ResponseFixedIEs; + ULONG ResponseIELength; + ULONG OffsetResponseIEs; + } NDIS_802_11_ASSOCIATION_INFORMATION,*PNDIS_802_11_ASSOCIATION_INFORMATION; + + typedef struct _NDIS_802_11_AUTHENTICATION_EVENT { + NDIS_802_11_STATUS_INDICATION Status; + NDIS_802_11_AUTHENTICATION_REQUEST Request[1]; + } NDIS_802_11_AUTHENTICATION_EVENT,*PNDIS_802_11_AUTHENTICATION_EVENT; + + typedef struct _NDIS_802_11_TEST { + ULONG Length; + ULONG Type; + __MINGW_EXTENSION union { + NDIS_802_11_AUTHENTICATION_EVENT AuthenticationEvent; + NDIS_802_11_RSSI RssiTrigger; + }; + } NDIS_802_11_TEST,*PNDIS_802_11_TEST; + + typedef enum _NDIS_802_11_MEDIA_STREAM_MODE { + Ndis802_11MediaStreamOff,Ndis802_11MediaStreamOn + } NDIS_802_11_MEDIA_STREAM_MODE,*PNDIS_802_11_MEDIA_STREAM_MODE; + +#define OID_IRDA_RECEIVING 0x0A010100 +#define OID_IRDA_TURNAROUND_TIME 0x0A010101 +#define OID_IRDA_SUPPORTED_SPEEDS 0x0A010102 +#define OID_IRDA_LINK_SPEED 0x0A010103 +#define OID_IRDA_MEDIA_BUSY 0x0A010104 + +#define OID_IRDA_EXTRA_RCV_BOFS 0x0A010200 +#define OID_IRDA_RATE_SNIFF 0x0A010201 +#define OID_IRDA_UNICAST_LIST 0x0A010202 +#define OID_IRDA_MAX_UNICAST_LIST_SIZE 0x0A010203 +#define OID_IRDA_MAX_RECEIVE_WINDOW_SIZE 0x0A010204 +#define OID_IRDA_MAX_SEND_WINDOW_SIZE 0x0A010205 +#define OID_IRDA_RESERVED1 0x0A01020A +#define OID_IRDA_RESERVED2 0x0A01020F + +#define OID_BPC_ADAPTER_CAPS 0x0B010100 +#define OID_BPC_DEVICES 0x0B010101 +#define OID_BPC_DEVICE_CAPS 0x0B010102 +#define OID_BPC_DEVICE_SETTINGS 0x0B010103 +#define OID_BPC_CONNECTION_STATUS 0x0B010104 +#define OID_BPC_ADDRESS_COMPARE 0x0B010105 +#define OID_BPC_PROGRAM_GUIDE 0x0B010106 +#define OID_BPC_LAST_ERROR 0x0B020107 +#define OID_BPC_POOL 0x0B010108 + +#define OID_BPC_PROVIDER_SPECIFIC 0x0B020109 +#define OID_BPC_ADAPTER_SPECIFIC 0x0B02010A + +#define OID_BPC_CONNECT 0x0B01010B +#define OID_BPC_COMMIT 0x0B01010C +#define OID_BPC_DISCONNECT 0x0B01010D +#define OID_BPC_CONNECTION_ENABLE 0x0B01010E +#define OID_BPC_POOL_RESERVE 0x0B01010F +#define OID_BPC_POOL_RETURN 0x0B010110 +#define OID_BPC_FORCE_RECEIVE 0x0B010111 + +#define OID_BPC_LAST 0x0B020112 + +#define OID_1394_LOCAL_NODE_INFO 0x0C010101 +#define OID_1394_VC_INFO 0x0C010102 + +#define OID_CO_ADD_PVC 0xFE000001 +#define OID_CO_DELETE_PVC 0xFE000002 +#define OID_CO_GET_CALL_INFORMATION 0xFE000003 +#define OID_CO_ADD_ADDRESS 0xFE000004 +#define OID_CO_DELETE_ADDRESS 0xFE000005 +#define OID_CO_GET_ADDRESSES 0xFE000006 +#define OID_CO_ADDRESS_CHANGE 0xFE000007 +#define OID_CO_SIGNALING_ENABLED 0xFE000008 +#define OID_CO_SIGNALING_DISABLED 0xFE000009 +#define OID_CO_AF_CLOSE 0xFE00000A + +#define OID_CO_TAPI_CM_CAPS 0xFE001001 +#define OID_CO_TAPI_LINE_CAPS 0xFE001002 +#define OID_CO_TAPI_ADDRESS_CAPS 0xFE001003 +#define OID_CO_TAPI_TRANSLATE_TAPI_CALLPARAMS 0xFE001004 +#define OID_CO_TAPI_TRANSLATE_NDIS_CALLPARAMS 0xFE001005 +#define OID_CO_TAPI_TRANSLATE_TAPI_SAP 0xFE001006 +#define OID_CO_TAPI_GET_CALL_DIAGNOSTICS 0xFE001007 +#define OID_CO_TAPI_REPORT_DIGITS 0xFE001008 +#define OID_CO_TAPI_DONT_REPORT_DIGITS 0xFE001009 + +#define OID_PNP_CAPABILITIES 0xFD010100 +#define OID_PNP_SET_POWER 0xFD010101 +#define OID_PNP_QUERY_POWER 0xFD010102 +#define OID_PNP_ADD_WAKE_UP_PATTERN 0xFD010103 +#define OID_PNP_REMOVE_WAKE_UP_PATTERN 0xFD010104 +#define OID_PNP_WAKE_UP_PATTERN_LIST 0xFD010105 +#define OID_PNP_ENABLE_WAKE_UP 0xFD010106 + +#define OID_PNP_WAKE_UP_OK 0xFD020200 +#define OID_PNP_WAKE_UP_ERROR 0xFD020201 + +#define NDIS_PNP_WAKE_UP_MAGIC_PACKET 0x00000001 +#define NDIS_PNP_WAKE_UP_PATTERN_MATCH 0x00000002 +#define NDIS_PNP_WAKE_UP_LINK_CHANGE 0x00000004 + +#define OID_TCP_TASK_OFFLOAD 0xFC010201 +#define OID_TCP_TASK_IPSEC_ADD_SA 0xFC010202 +#define OID_TCP_TASK_IPSEC_DELETE_SA 0xFC010203 +#define OID_TCP_SAN_SUPPORT 0xFC010204 +#define OID_TCP_TASK_IPSEC_ADD_UDPESP_SA 0xFC010205 +#define OID_TCP_TASK_IPSEC_DELETE_UDPESP_SA 0xFC010206 + +#define OID_FFP_SUPPORT 0xFC010210 +#define OID_FFP_FLUSH 0xFC010211 +#define OID_FFP_CONTROL 0xFC010212 +#define OID_FFP_PARAMS 0xFC010213 +#define OID_FFP_DATA 0xFC010214 + +#define OID_FFP_DRIVER_STATS 0xFC020210 +#define OID_FFP_ADAPTER_STATS 0xFC020211 + +#define OID_QOS_TC_SUPPORTED 0xFB010100 +#define OID_QOS_REMAINING_BANDWIDTH 0xFB010101 +#define OID_QOS_ISSLOW_FLOW 0xFB010102 +#define OID_QOS_BESTEFFORT_BANDWIDTH 0xFB010103 +#define OID_QOS_LATENCY 0xFB010104 +#define OID_QOS_FLOW_IP_CONFORMING 0xFB010105 +#define OID_QOS_FLOW_COUNT 0xFB010106 +#define OID_QOS_NON_BESTEFFORT_LIMIT 0xFB010107 +#define OID_QOS_SCHEDULING_PROFILES_SUPPORTED 0xFB010108 +#define OID_QOS_CURRENT_SCHEDULING_PROFILE 0xFB010109 +#define OID_QOS_TIMER_RESOLUTION 0xFB01010A +#define OID_QOS_STATISTICS_BUFFER 0xFB01010B +#define OID_QOS_HIERARCHY_CLASS 0xFB01010C +#define OID_QOS_FLOW_MODE 0xFB01010D +#define OID_QOS_ISSLOW_FRAGMENT_SIZE 0xFB01010E +#define OID_QOS_FLOW_IP_NONCONFORMING 0xFB01010F +#define OID_QOS_FLOW_8021P_CONFORMING 0xFB010110 +#define OID_QOS_FLOW_8021P_NONCONFORMING 0xFB010111 +#define OID_QOS_ENABLE_AVG_STATS 0xFB010112 +#define OID_QOS_ENABLE_WINDOW_ADJUSTMENT 0xFB010113 + + typedef struct NDIS_CO_DEVICE_PROFILE { + NDIS_VAR_DATA_DESC DeviceDescription; + NDIS_VAR_DATA_DESC DevSpecificInfo; + ULONG ulTAPISupplementaryPassThru; + ULONG ulAddressModes; + ULONG ulNumAddresses; + ULONG ulBearerModes; + ULONG ulMaxTxRate; + ULONG ulMinTxRate; + ULONG ulMaxRxRate; + ULONG ulMinRxRate; + ULONG ulMediaModes; + ULONG ulGenerateToneModes; + ULONG ulGenerateToneMaxNumFreq; + ULONG ulGenerateDigitModes; + ULONG ulMonitorToneMaxNumFreq; + ULONG ulMonitorToneMaxNumEntries; + ULONG ulMonitorDigitModes; + ULONG ulGatherDigitsMinTimeout; + ULONG ulGatherDigitsMaxTimeout; + ULONG ulDevCapFlags; + ULONG ulMaxNumActiveCalls; + ULONG ulAnswerMode; + ULONG ulUUIAcceptSize; + ULONG ulUUIAnswerSize; + ULONG ulUUIMakeCallSize; + ULONG ulUUIDropSize; + ULONG ulUUISendUserUserInfoSize; + ULONG ulUUICallInfoSize; + } NDIS_CO_DEVICE_PROFILE,*PNDIS_CO_DEVICE_PROFILE; + + typedef ULONG IPAddr,IPMask; + typedef ULONG SPI_TYPE; + + typedef enum _OFFLOAD_OPERATION_E { + AUTHENTICATE = 1,ENCRYPT + } OFFLOAD_OPERATION_E; + + typedef struct _OFFLOAD_ALGO_INFO { + ULONG algoIdentifier; + ULONG algoKeylen; + ULONG algoRounds; + } OFFLOAD_ALGO_INFO,*POFFLOAD_ALGO_INFO; + + typedef enum _OFFLOAD_CONF_ALGO { + OFFLOAD_IPSEC_CONF_NONE,OFFLOAD_IPSEC_CONF_DES,OFFLOAD_IPSEC_CONF_RESERVED,OFFLOAD_IPSEC_CONF_3_DES,OFFLOAD_IPSEC_CONF_MAX + } OFFLOAD_CONF_ALGO; + + typedef enum _OFFLOAD_INTEGRITY_ALGO { + OFFLOAD_IPSEC_INTEGRITY_NONE,OFFLOAD_IPSEC_INTEGRITY_MD5,OFFLOAD_IPSEC_INTEGRITY_SHA,OFFLOAD_IPSEC_INTEGRITY_MAX + } OFFLOAD_INTEGRITY_ALGO; + + typedef struct _OFFLOAD_SECURITY_ASSOCIATION { + OFFLOAD_OPERATION_E Operation; + SPI_TYPE SPI; + OFFLOAD_ALGO_INFO IntegrityAlgo; + OFFLOAD_ALGO_INFO ConfAlgo; + OFFLOAD_ALGO_INFO Reserved; + } OFFLOAD_SECURITY_ASSOCIATION,*POFFLOAD_SECURITY_ASSOCIATION; + +#define OFFLOAD_MAX_SAS 3 + +#define OFFLOAD_INBOUND_SA 0x0001 +#define OFFLOAD_OUTBOUND_SA 0x0002 + + typedef struct _OFFLOAD_IPSEC_ADD_SA { + IPAddr SrcAddr; + IPMask SrcMask; + IPAddr DestAddr; + IPMask DestMask; + ULONG Protocol; + USHORT SrcPort; + USHORT DestPort; + IPAddr SrcTunnelAddr; + IPAddr DestTunnelAddr; + USHORT Flags; + SHORT NumSAs; + OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS]; + HANDLE OffloadHandle; + ULONG KeyLen; + UCHAR KeyMat[1]; + } OFFLOAD_IPSEC_ADD_SA,*POFFLOAD_IPSEC_ADD_SA; + + typedef struct _OFFLOAD_IPSEC_DELETE_SA { + HANDLE OffloadHandle; + } OFFLOAD_IPSEC_DELETE_SA,*POFFLOAD_IPSEC_DELETE_SA; + + typedef enum _UDP_ENCAP_TYPE { + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_IKE,OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_OTHER + } UDP_ENCAP_TYPE,*PUDP_ENCAP_TYPE; + + typedef struct _OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY { + UDP_ENCAP_TYPE UdpEncapType; + USHORT DstEncapPort; + } OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY,*POFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY; + + typedef struct _OFFLOAD_IPSEC_ADD_UDPESP_SA { + IPAddr SrcAddr; + IPMask SrcMask; + IPAddr DstAddr; + IPMask DstMask; + ULONG Protocol; + USHORT SrcPort; + USHORT DstPort; + IPAddr SrcTunnelAddr; + IPAddr DstTunnelAddr; + USHORT Flags; + SHORT NumSAs; + OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS]; + HANDLE OffloadHandle; + OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY EncapTypeEntry; + HANDLE EncapTypeEntryOffldHandle; + ULONG KeyLen; + UCHAR KeyMat[1]; + } OFFLOAD_IPSEC_ADD_UDPESP_SA,*POFFLOAD_IPSEC_ADD_UDPESP_SA; + + typedef struct _OFFLOAD_IPSEC_DELETE_UDPESP_SA { + HANDLE OffloadHandle; + HANDLE EncapTypeEntryOffldHandle; + } OFFLOAD_IPSEC_DELETE_UDPESP_SA,*POFFLOAD_IPSEC_DELETE_UDPESP_SA; + + typedef ULONG NDIS_VLAN_ID; + + typedef enum _NDIS_MEDIUM { + NdisMedium802_3,NdisMedium802_5,NdisMediumFddi,NdisMediumWan,NdisMediumLocalTalk,NdisMediumDix,NdisMediumArcnetRaw,NdisMediumArcnet878_2, + NdisMediumAtm,NdisMediumWirelessWan,NdisMediumIrda,NdisMediumBpc,NdisMediumCoWan,NdisMedium1394,NdisMediumInfiniBand,NdisMediumMax + } NDIS_MEDIUM,*PNDIS_MEDIUM; + + typedef enum _NDIS_PHYSICAL_MEDIUM { + NdisPhysicalMediumUnspecified,NdisPhysicalMediumWirelessLan,NdisPhysicalMediumCableModem,NdisPhysicalMediumPhoneLine, + NdisPhysicalMediumPowerLine,NdisPhysicalMediumDSL,NdisPhysicalMediumFibreChannel,NdisPhysicalMedium1394,NdisPhysicalMediumWirelessWan, + NdisPhysicalMediumNative802_11,NdisPhysicalMediumBluetooth,NdisPhysicalMediumMax + } NDIS_PHYSICAL_MEDIUM,*PNDIS_PHYSICAL_MEDIUM; + +#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 + + typedef struct _TRANSPORT_HEADER_OFFSET { + USHORT ProtocolType; + USHORT HeaderOffset; + } TRANSPORT_HEADER_OFFSET,*PTRANSPORT_HEADER_OFFSET; + + 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; + + typedef struct _NETWORK_ADDRESS_IP { + USHORT sin_port; + ULONG in_addr; + UCHAR sin_zero[8]; + } NETWORK_ADDRESS_IP,*PNETWORK_ADDRESS_IP; + +#define NETWORK_ADDRESS_LENGTH_IP sizeof (NETWORK_ADDRESS_IP) + + typedef struct _NETWORK_ADDRESS_IPX { + ULONG NetworkAddress; + UCHAR NodeAddress[6]; + USHORT Socket; + } NETWORK_ADDRESS_IPX,*PNETWORK_ADDRESS_IPX; + +#define NETWORK_ADDRESS_LENGTH_IPX sizeof (NETWORK_ADDRESS_IPX) + + typedef enum _NDIS_HARDWARE_STATUS { + NdisHardwareStatusReady,NdisHardwareStatusInitializing,NdisHardwareStatusReset,NdisHardwareStatusClosing,NdisHardwareStatusNotReady + } NDIS_HARDWARE_STATUS,*PNDIS_HARDWARE_STATUS; + + typedef struct _GEN_GET_TIME_CAPS { + ULONG Flags; + ULONG ClockPrecision; + } GEN_GET_TIME_CAPS,*PGEN_GET_TIME_CAPS; + +#define READABLE_LOCAL_CLOCK 0x00000001 +#define CLOCK_NETWORK_DERIVED 0x00000002 +#define CLOCK_PRECISION 0x00000004 +#define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008 +#define TIMED_SEND_CAPABLE 0x00000010 +#define TIME_STAMP_CAPABLE 0x00000020 + + typedef struct _GEN_GET_NETCARD_TIME { + ULONGLONG ReadTime; + } GEN_GET_NETCARD_TIME,*PGEN_GET_NETCARD_TIME; + + 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; + + typedef enum _NDIS_DEVICE_POWER_STATE { + NdisDeviceStateUnspecified = 0,NdisDeviceStateD0,NdisDeviceStateD1,NdisDeviceStateD2,NdisDeviceStateD3,NdisDeviceStateMaximum + } NDIS_DEVICE_POWER_STATE,*PNDIS_DEVICE_POWER_STATE; + + typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES { + NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp; + NDIS_DEVICE_POWER_STATE MinPatternWakeUp; + NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; + } NDIS_PM_WAKE_UP_CAPABILITIES,*PNDIS_PM_WAKE_UP_CAPABILITIES; + +#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001 +#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002 +#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004 + + typedef struct _NDIS_PNP_CAPABILITIES { + ULONG Flags; + NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities; + } NDIS_PNP_CAPABILITIES,*PNDIS_PNP_CAPABILITIES; + + typedef enum _NDIS_FDDI_ATTACHMENT_TYPE { + NdisFddiTypeIsolated = 1,NdisFddiTypeLocalA,NdisFddiTypeLocalB,NdisFddiTypeLocalAB,NdisFddiTypeLocalS,NdisFddiTypeWrapA, + NdisFddiTypeWrapB,NdisFddiTypeWrapAB,NdisFddiTypeWrapS,NdisFddiTypeCWrapA,NdisFddiTypeCWrapB,NdisFddiTypeCWrapS,NdisFddiTypeThrough + } NDIS_FDDI_ATTACHMENT_TYPE,*PNDIS_FDDI_ATTACHMENT_TYPE; + + typedef enum _NDIS_FDDI_RING_MGT_STATE { + NdisFddiRingIsolated = 1,NdisFddiRingNonOperational,NdisFddiRingOperational,NdisFddiRingDetect,NdisFddiRingNonOperationalDup, + NdisFddiRingOperationalDup,NdisFddiRingDirected,NdisFddiRingTrace + } NDIS_FDDI_RING_MGT_STATE,*PNDIS_FDDI_RING_MGT_STATE; + + typedef enum _NDIS_FDDI_LCONNECTION_STATE { + NdisFddiStateOff = 1,NdisFddiStateBreak,NdisFddiStateTrace,NdisFddiStateConnect,NdisFddiStateNext,NdisFddiStateSignal, + NdisFddiStateJoin,NdisFddiStateVerify,NdisFddiStateActive,NdisFddiStateMaintenance + } NDIS_FDDI_LCONNECTION_STATE,*PNDIS_FDDI_LCONNECTION_STATE; + + typedef enum _NDIS_WAN_MEDIUM_SUBTYPE { + NdisWanMediumHub,NdisWanMediumX_25,NdisWanMediumIsdn,NdisWanMediumSerial,NdisWanMediumFrameRelay,NdisWanMediumAtm, + NdisWanMediumSonet,NdisWanMediumSW56K,NdisWanMediumPPTP,NdisWanMediumL2TP,NdisWanMediumIrda,NdisWanMediumParallel,NdisWanMediumPppoe + } NDIS_WAN_MEDIUM_SUBTYPE,*PNDIS_WAN_MEDIUM_SUBTYPE; + + typedef enum _NDIS_WAN_HEADER_FORMAT { + NdisWanHeaderNative,NdisWanHeaderEthernet + } NDIS_WAN_HEADER_FORMAT,*PNDIS_WAN_HEADER_FORMAT; + + typedef enum _NDIS_WAN_QUALITY { + NdisWanRaw,NdisWanErrorControl,NdisWanReliable + } NDIS_WAN_QUALITY,*PNDIS_WAN_QUALITY; + + typedef struct _NDIS_WAN_PROTOCOL_CAPS { + ULONG Flags; + ULONG Reserved; + } NDIS_WAN_PROTOCOL_CAPS,*PNDIS_WAN_PROTOCOL_CAPS; + +#define WAN_PROTOCOL_KEEPS_STATS 0x00000001 + + typedef enum _NDIS_802_5_RING_STATE { + NdisRingStateOpened = 1,NdisRingStateClosed,NdisRingStateOpening,NdisRingStateClosing,NdisRingStateOpenFailure,NdisRingStateRingFailure + } NDIS_802_5_RING_STATE,*PNDIS_802_5_RING_STATE; + + typedef enum _NDIS_MEDIA_STATE { + NdisMediaStateConnected,NdisMediaStateDisconnected + } NDIS_MEDIA_STATE,*PNDIS_MEDIA_STATE; + + typedef ULONG Priority_802_3; + + typedef struct _NDIS_CO_LINK_SPEED { + ULONG Outbound; + ULONG Inbound; + } NDIS_CO_LINK_SPEED,*PNDIS_CO_LINK_SPEED; + +#ifndef _NDIS_ + typedef int NDIS_STATUS,*PNDIS_STATUS; +#endif + + typedef struct _NDIS_GUID { + GUID Guid; + __MINGW_EXTENSION union { + NDIS_OID Oid; + NDIS_STATUS Status; + }; + ULONG Size; + ULONG Flags; + } NDIS_GUID,*PNDIS_GUID; + +#define fNDIS_GUID_TO_OID 0x00000001 +#define fNDIS_GUID_TO_STATUS 0x00000002 +#define fNDIS_GUID_ANSI_STRING 0x00000004 +#define fNDIS_GUID_UNICODE_STRING 0x00000008 +#define fNDIS_GUID_ARRAY 0x00000010 +#define fNDIS_GUID_ALLOW_READ 0x00000020 +#define fNDIS_GUID_ALLOW_WRITE 0x00000040 + +#define NDIS_PACKET_TYPE_DIRECTED 0x00000001 +#define NDIS_PACKET_TYPE_MULTICAST 0x00000002 +#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004 +#define NDIS_PACKET_TYPE_BROADCAST 0x00000008 +#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010 +#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020 +#define NDIS_PACKET_TYPE_SMT 0x00000040 +#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080 +#define NDIS_PACKET_TYPE_GROUP 0x00001000 +#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000 +#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000 +#define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000 + +#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 + +#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001 +#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002 +#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004 +#define NDIS_PROT_OPTION_SEND_RESTRICTED 0x00000008 + +#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_8021P_PRIORITY 0x00000040 +#define NDIS_MAC_OPTION_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00000080 +#define NDIS_MAC_OPTION_RECEIVE_AT_DPC 0x00000100 +#define NDIS_MAC_OPTION_8021Q_VLAN 0x00000200 +#define NDIS_MAC_OPTION_RESERVED 0x80000000 + +#define NDIS_MEDIA_CAP_TRANSMIT 0x00000001 +#define NDIS_MEDIA_CAP_RECEIVE 0x00000002 + +#define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001 + + typedef struct _NDIS_IRDA_PACKET_INFO { + ULONG ExtraBOFs; + ULONG MinTurnAroundTime; + } NDIS_IRDA_PACKET_INFO,*PNDIS_IRDA_PACKET_INFO; + +#ifdef WIRELESS_WAN + + typedef enum _NDIS_WW_NETWORK_TYPE { + NdisWWGeneric,NdisWWMobitex,NdisWWPinpoint,NdisWWCDPD,NdisWWArdis,NdisWWDataTAC,NdisWWMetricom,NdisWWGSM,NdisWWCDMA,NdisWWTDMA, + NdisWWAMPS,NdisWWInmarsat,NdisWWpACT,NdisWWFlex,NdisWWIDEN + } NDIS_WW_NETWORK_TYPE; + + typedef enum _NDIS_WW_HEADER_FORMAT { + NdisWWDIXEthernetFrames,NdisWWMPAKFrames,NdisWWRDLAPFrames,NdisWWMDC4800Frames,NdisWWNCLFrames + } NDIS_WW_HEADER_FORMAT; + + typedef enum _NDIS_WW_ENCRYPTION_TYPE { + NdisWWUnknownEncryption = -1,NdisWWNoEncryption,NdisWWDefaultEncryption,NdisWWDESEncryption,NdisWWRC2Encryption,NdisWWRC4Encryption,NdisWWRC5Encryption + } NDIS_WW_ENCRYPTION_TYPE,*PNDIS_WW_ENCRYPTION_TYPE; + + typedef enum _WW_ADDRESS_FORMAT { + WW_IEEE_ADDRESS = 0,WW_MOBITEX_MAN_ADDRESS,WW_DATATAC_RDLAP_ADDRESS,WW_DATATAC_MDC4800_ADDRESS,WW_DATATAC_RESERVED,WW_IPv4_ADDRESS, + WW_IPv6_ADDRESS,WW_PROPRIETARY_ADDRESS + } WW_ADDRESS_FORMAT; + + typedef enum _WW_GEN_SUM_EXCEPTION { + SIM_STATUS_OK = 0,SIM_STATUS_ERROR,SIM_STATUS_MISSING,SIM_STATUS_NO_RESPONSE,SIM_STATUS_REMOVED,SIM_STATUS_CRYPT_ERROR, + SIM_STATUS_AUTH_ERROR,SIM_STATUS_NEED_PIN,SIM_STATUS_NEED_PUK,SIM_STATUS_WRONG + } WW_GEN_SIM_EXCEPTION; + + typedef struct _NDIS_WW_INDICATION_REQUEST { + NDIS_OID Oid; + ULONG uIndicationFlag; + ULONG uApplicationToken; + HANDLE hIndicationHandle; + INT iPollingInterval; + NDIS_VAR_DATA_DESC InitialValue; + NDIS_VAR_DATA_DESC OIDIndicationValue; + NDIS_VAR_DATA_DESC TriggerValue; + } NDIS_WW_INDICATION_REQUEST,*PNDIS_WW_INDICATION_REQUEST; + +#define OID_INDICATION_REQUEST_ENABLE 0x0000 +#define OID_INDICATION_REQUEST_CANCEL 0x0001 + + 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; + + typedef INT WW_OPERATION_MODE; + typedef INT WW_LOCK_STATUS; + typedef INT WW_DISABLE_TRANSMITTER; + typedef NDIS_VAR_DATA_DESC WW_NETWORK_ID; + typedef NDIS_VAR_DATA_DESC WW_PERMANENT_ADDRESS; + + typedef struct _WW_CURRENT_ADDRESS { + NDIS_WW_HEADER_FORMAT Format; + NDIS_VAR_DATA_DESC Address; + } WW_CURRENT_ADDRESS,*PWW_CURRENT_ADDRESS; + + typedef BOOLEAN WW_SUSPEND_DRIVER; + typedef NDIS_VAR_DATA_DESC WW_BASESTATION_ID; + typedef NDIS_VAR_DATA_DESC WW_CHANNEL_ID; + typedef BOOLEAN WW_ENCRYPTION_STATE; + typedef INT WW_CHANNEL_QUALITY; + typedef INT WW_REGISTRATION_STATUS; + typedef ULONG WW_RADIO_LINK_SPEED; + typedef ULONG WW_LATENCY; + typedef INT WW_BATTERY_LEVEL; + typedef INT WW_EXTERNAL_POWER; + + typedef struct _WW_PING_ADDRESS { + WW_ADDRESS_FORMAT Format; + NDIS_VAR_DATA_DESC TargetAddress; + UINT uTime; + } WW_PING_ADDRESS; + + typedef struct _WW_RECEIVE_SIGNAL_STRENGTH_INDICATOR { + INT iDecibels; + INT iFactor; + } WW_RECEIVE_SIGNAL_STRENGTH_INDICATOR; + + typedef struct _WW_SIM_STATUS { + BOOLEAN bHasSIM; + BOOLEAN bBlocked; + BOOLEAN bLocked; + BOOLEAN bInitialized; + UINT uCountdown; + } WW_SIM_STATUS; + + typedef struct _WW_ENABLE_SIM_PIN { + BOOLEAN bEnabled; + NDIS_VAR_DATA_DESC CurrentPIN; + } WW_ENABLE_SIM_PIN; + + typedef struct _WW_CHANGE_SIM_PIN { + NDIS_VAR_DATA_DESC OldPIN; + NDIS_VAR_DATA_DESC NewPIN; + } WW_CHANGE_SIM_PIN; + + typedef NDIS_VAR_DATA_DESC WW_ENABLE_SIM_PUK; + typedef NDIS_VAR_DATA_DESC WW_MET_FUNCTION; + typedef BOOLEAN WW_TAC_COMPRESSION; + + 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; + + typedef struct _WW_TAC_GETSTATUS { + BOOLEAN Action; + NDIS_VAR_DATA_DESC Command; + NDIS_VAR_DATA_DESC Option; + NDIS_VAR_DATA_DESC Response; + } WW_TAC_GETSTATUS,*PWW_TAC_GETSTATUS; + + typedef NDIS_VAR_DATA_DESC WW_TAC_USERHEADER; + + typedef struct _WW_TAC_GET_RESPONSE { + UINT SDUTag; + NDIS_VAR_DATA_DESC Response; + } WW_TAC_GET_RESPONSE; + + typedef INT WW_TAC_DISABLE_RECEIVER; + typedef INT WW_TAC_ANTENNA_MODE; + typedef INT WW_TAC_FLUSH_DATA; + typedef INT WW_TAC_SHUTDOWN_DEVICE; + typedef BOOLEAN WW_TAC_TRANSMITTER_KEYED; + + typedef struct _WW_TAC_SYSTEM_TABLE { + UINT SystemCount; + UCHAR ContryTable[32]; + UCHAR PrefixTable[32]; + UCHAR IDTable[32]; + } WW_TAC_SYSTEM_TABLE; + + typedef struct _WW_TAC_CHANNEL_TABLE { + UINT ChannelCount; + UCHAR ChannelTable[64]; + UCHAR AttrTable[64]; + } WW_TAC_CHANNEL_TABLE; + + typedef NDIS_VAR_DATA_DESC WW_TAC_STATISTICS; + + typedef struct _WW_ARD_SNDCP { + NDIS_VAR_DATA_DESC Version; + INT BlockSize; + INT Window; + } WW_ARD_SNDCP,*PWW_ARD_SNDCP; + + typedef BOOLEAN WW_ARD_CHANNEL_STATUS; + + typedef struct _WW_ARD_DATAGRAM { + BOOLEAN LoadLevel; + INT SessionTime; + NDIS_VAR_DATA_DESC HostAddr; + NDIS_VAR_DATA_DESC THostAddr; + } WW_ARD_DATAGRAM,*PWW_ARD_DATAGRAM; + + typedef struct _WW_CDPD_SPNI { + ULONG SPNI[10]; + INT OperatingMode; + } WW_CDPD_SPNI,*PWW_CDPD_SPNI; + + typedef struct _WW_CDPD_WIDE_AREA_SERVICE_ID { + ULONG WASI[10]; + INT OperatingMode; + } WW_CDPD_WIDE_AREA_SERVICE_ID,*PWW_CDPD_WIDE_AREA_SERVICE_ID; + + typedef INT WW_CDPD_AREA_COLOR; + typedef ULONG WW_CDPD_TX_POWER_LEVEL; + typedef NDIS_VAR_DATA_DESC WW_CDPD_EID; + typedef INT WW_CDPD_HEADER_COMPRESSION; + typedef INT WW_CDPD_DATA_COMPRESSION; + + typedef struct _WW_CDPD_CHANNEL_SELECT { + ULONG ChannelID; + ULONG fixedDuration; + } WW_CDPD_CHANNEL_SELECT,*PWW_CDPD_CHANNEL_SELECT; + + typedef enum _WW_CDPD_CHANNEL_STATE { + CDPDChannelNotAvail,CDPDChannelScanning,CDPDChannelInitAcquired,CDPDChannelAcquired,CDPDChannelSleeping,CDPDChannelWaking, + CDPDChannelCSDialing,CDPDChannelCSRedial,CDPDChannelCSAnswering,CDPDChannelCSConnected,CDPDChannelCSSuspended + } WW_CDPD_CHANNEL_STATE,*PWW_CDPD_CHANNEL_STATE; + + typedef enum _WW_CDPD_NEI_FORMAT { + CDPDNeiIPv4,CDPDNeiCLNP,CDPDNeiIPv6 + } WW_CDPD_NEI_FORMAT,*PWW_CDPD_NEI_FORMAT; + + typedef enum _WW_CDPD_NEI_TYPE { + CDPDNeiIndividual,CDPDNeiMulticast,CDPDNeiBroadcast + } WW_CDPD_NEI_TYPE; + + typedef struct _WW_CDPD_NEI { + ULONG uNeiIndex; + WW_CDPD_NEI_FORMAT NeiFormat; + WW_CDPD_NEI_TYPE NeiType; + WORD NeiGmid; + NDIS_VAR_DATA_DESC NeiAddress; + } WW_CDPD_NEI; + + typedef enum _WW_CDPD_NEI_STATE { + CDPDUnknown,CDPDRegistered,CDPDDeregistered + } WW_CDPD_NEI_STATE,*PWW_CDPD_NEI_STATE; + + typedef enum _WW_CDPD_NEI_SUB_STATE { + CDPDPending,CDPDNoReason,CDPDMDISNotCapable,CDPDNEINotAuthorized,CDPDInsufficientAuth,CDPDUnsupportedAuth,CDPDUsageExceeded, + CDPDDeniedThisNetwork + } WW_CDPD_NEI_SUB_STATE; + + typedef struct _WW_CDPD_NEI_REG_STATE { + ULONG uNeiIndex; + WW_CDPD_NEI_STATE NeiState; + WW_CDPD_NEI_SUB_STATE NeiSubState; + } WW_CDPD_NEI_REG_STATE,*PWW_CDPD_NEI_REG_STATE; + + typedef struct _WW_CDPD_SERVICE_PROVIDER_ID { + ULONG SPI[10]; + INT OperatingMode; + } WW_CDPD_SERVICE_PROVIDER_ID,*PWW_CDPD_SERVICE_PROVIDER_ID; + + typedef INT WW_CDPD_SLEEP_MODE; + typedef ULONG WW_CDPD_TEI; + + typedef struct _WW_CDPD_CIRCUIT_SWITCHED { + INT service_preference; + INT service_status; + INT connect_rate; + NDIS_VAR_DATA_DESC dial_code[20]; + ULONG sid; + INT a_b_side_selection; + INT AMPS_channel; + ULONG action; + NDIS_VAR_DATA_DESC default_dial[20]; + NDIS_VAR_DATA_DESC call_back[20]; + ULONG sid_list[10]; + ULONG inactivity_timer; + ULONG receive_timer; + ULONG conn_resp_timer; + ULONG reconn_resp_timer; + ULONG disconn_timer; + ULONG NEI_reg_timer; + ULONG reconn_retry_timer; + ULONG link_reset_timer; + ULONG link_reset_ack_timer; + ULONG n401_retry_limit; + ULONG n402_retry_limit; + ULONG n404_retry_limit; + ULONG n405_retry_limit; + } WW_CDPD_CIRCUIT_SWITCHED,*WW_PCDPD_CIRCUIT_SWITCHED; + + typedef ULONG WW_CDPD_RSSI; + typedef INT WW_CDPD_CS_SERVICE_PREFERENCE; + typedef INT WW_CDPD_CS_SERVICE_STATUS; + + typedef struct _WW_CDPD_CS_INFO { + INT ConnectRage; + NDIS_VAR_DATA_DESC DialCode; + UINT SID; + INT ABSideSelection; + INT AMPSChannel; + } WW_CDPD_CS_INFO; + + typedef UINT WW_CDPD_CS_SUSPEND; + typedef NDIS_VAR_DATA_DESC WW_CDPD_DEFAULT_DIAL_CODE; + + typedef struct _WW_CDPD_CS_CALLBACK { + UINT Enabled; + NDIS_VAR_DATA_DESC Number; + } WW_CDPD_CS_CALLBACK; + + typedef struct _WW_CDPD_CS_SID_LIST { + UINT AMPSystemId[10]; + } WW_CDPD_CS_SID_LIST; + + typedef struct _WW_CDPD_CS_CONFIGURATION { + UINT InactivityTimer; + UINT ReceiveTimer; + UINT ConnResTimer; + UINT ReconnRespTimer; + UINT DisconnTimer; + UINT NEIRegTimer; + UINT ReconnRetryTimer; + UINT LinkResetTimer; + UINT LinkResetAckTimer; + UINT n401RetryLimit; + UINT n402RetryLimit; + UINT n404RetryLimit; + UINT n405RetryLimit; + } WW_CDPD_CS_CONFIGURATION; + + typedef INT WW_PIN_AUTHORIZED; + + typedef struct _WW_PIN_LOCATION { + INT Latitude; + INT Longitude; + INT Altitude; + INT FixTime; + INT NetTime; + INT LocQuality; + INT LatReg; + INT LongReg; + INT GMTOffset; + } WW_PIN_LOCATION,*PWW_PIN_LOCATION; + + typedef ULONG WW_MBX_MAILBOX_FLAG; + + typedef struct _WW_MBX_PMAN { + BOOLEAN ACTION; + ULONG MAN; + UCHAR PASSWORD[8]; + } WW_MBX_PMAN,*PWW_MBX_PMAN; + + typedef struct _WW_MBX_FLEXLIST { + INT count; + ULONG MAN[7]; + } WW_MBX_FLEXLIST; + + typedef struct _WW_MBX_GROUPLIST { + INT count; + ULONG MAN[15]; + } WW_MBX_GROUPLIST; + + typedef enum _WW_MBX_TRAFFIC_AREA { + unknown_traffic_area,in_traffic_area,in_auth_traffic_area,unauth_traffic_area + } WW_MBX_TRAFFIC_AREA; + + typedef INT WW_MBX_LIVE_DIE; + + typedef struct _WW_MBX_CHANNEL_PAIR { + ULONG Mobile_Tx; + ULONG Mobile_Rx; + } WW_MBX_CHANNEL_PAIR,*PWW_MBX_CHANNEL_PAIR; + + typedef struct _WW_MBX_TEMPDEFAULTLIST { + ULONG Length; + WW_MBX_CHANNEL_PAIR ChannelPair[1]; + } WW_MBX_TEMPDEFAULTLIST,*WW_PMBX_TEMPDEFAULTLIST; +#endif + + typedef struct _BPC_FILETIME { + ULONG dwLowDateTime; + ULONG dwHighDateTime; + } BPC_FILETIME,*PBPC_FILETIME; + + typedef PVOID BPC_HANDLE; + +#define BPC_MIN_DIMENSION 1 +#define BPC_MAX_BUFFER_SIZE 64 +#define BPC_MIN_BUFFER_SIZE 4 +#define BPC_DEVICE_ANY ((BPC_HANDLE) 0xFFFFFFFF) + + typedef enum _NDIS_BPC_INDICATE_REASON { + bpcBufferFull = 0,bpcBufferForced,bpcBufferTimeOut,bpcBufferDiscontinuity,bpcBufferOverflow,bpcBufferStatusEvent + } NDIS_BPC_INDICATE_REASON,*PNDIS_BPC_INDICATE_REASON; + +#define BPC_STREAM_TYPE_GENERIC_MIN 0x01000000 +#define BPC_STREAM_TYPE_RAW 0x01000000 +#define BPC_STREAM_TYPE_MPT_128 0x01000001 +#define BPC_STREAM_TYPE_MPT_128_CRC 0x01000002 +#define BPC_STREAM_TYPE_IP 0x01000003 +#define BPC_STREAM_TYPE_PROVIDER_MIN 0x02000000 +#define BPC_STREAM_TYPE_PROVIDER_MAX 0x02ffffff +#define BPC_STREAM_TYPE_ADAPTER_MIN 0x03000000 +#define BPC_STREAM_TYPE_ADAPTER_MAX 0x03ffffff + + typedef struct _NDIS_BPC_ADAPTER_CAPS { + ULONG ulBPCMajorRev; + ULONG ulBPCMinorRev; + ULONG ulcHSDataDevices; + ULONG ulbpsHSDeviceMax; + ULONG ulcLSDataDevices; + ULONG ulbpsLSDeviceMax; + ULONG ulcTuningDevices; + ULONG ulcbLargestStatus; + ULONG ulVendorId; + ULONG ulAdapterId; + GUID guidProvider; + } NDIS_BPC_ADAPTER_CAPS,*PNDIS_BPC_ADAPTER_CAPS; + + typedef struct _NDIS_BPC_DEVICES { + ULONG ulcDevices; + BPC_HANDLE rgnhDevices[BPC_MIN_DIMENSION]; + } NDIS_BPC_DEVICES,*PNDIS_BPC_DEVICES; + +#define CbDevices(cnt) (FIELD_OFFSET(NDIS_BPC_DEVICES,rgnhDevices) + (cnt) *sizeof(BPC_HANDLE)) + + typedef struct NDIS_BPC_DEVICE_CAPS { + BPC_HANDLE nhDevice; + ULONG ulBPCCaps; + ULONG ulbpsMax; + ULONG ulcStreamTypes; + ULONG rgulStreamTypes[BPC_MIN_DIMENSION]; + } NDIS_BPC_DEVICE_CAPS,*PNDIS_BPC_DEVICE_CAPS; + +#define CbDeviceCaps(cnt) (FIELD_OFFSET(NDIS_BPC_DEVICE_CAPS,rgulStreamTypes) + (cnt)*sizeof(ULONG)) + +#define BPCCapBusMasteredData 0x01 +#define BPCCapIndependentTuner 0x02 +#define BPCCapExternalDataBus 0x04 +#define BPCCapLowSpeedData 0x10 +#define BPCCapHighSpeedData 0x20 + + typedef struct NDIS_BPC_DEVICE_SETTINGS { + BPC_HANDLE nhDevice; + ULONG ulBPCCaps; + ULONG ulcConnections; + BOOLEAN fEnabled; + ULONG ulStreamType; + ULONG ulcbAddressConnection; + ULONG rgulAddressConnection[BPC_MIN_DIMENSION]; + } NDIS_BPC_DEVICE_SETTINGS,*PNDIS_BPC_DEVICE_SETTINGS; + +#define CbDeviceSettings(cnt) (FIELD_OFFSET(NDIS_BPC_DEVICE_SETTINGS,rgulAddressConnection) + (cnt)*sizeof(ULONG)) + +#define BPC_CONNECT_STATE_UNCOMMITTED 0 +#define BPC_CONNECT_STATE_QUEUED 1 +#define BPC_CONNECT_STATE_ACTIVE 2 +#define BPC_CONNECT_STATE_DISCONNECTING 3 + + typedef struct NDIS_BPC_CONNECTION_STATUS { + BPC_HANDLE nhConnection; + BPC_HANDLE nhDevice; + ULONG ulConnectPriority; + ULONG ulDisconnectPriority; + ULONG ulbpsAverage; + ULONG ulbpsBurst; + ULONG ulState; + BOOLEAN fEnabled; + } NDIS_BPC_CONNECTION_STATUS,*PNDIS_BPC_CONNECTION_STATUS; + + typedef struct NDIS_BPC_ADDRESS_COMPARE { + BOOLEAN fEqual; + ULONG ulcbFirstOffset; + ULONG ulcbFirstLength; + ULONG ulcbSecondOffset; + ULONG ulcbSecondLength; + } NDIS_BPC_ADDRESS_COMPARE,*PNDIS_BPC_ADDRESS_COMPARE; + +#define BPC_GUIDE_GENERIC_MIN 0x01000000 +#define BPC_GUIDE_GENERIC_MAX 0x01ffffff +#define BPC_GUIDE_PROVIDER_MIN 0x02000000 +#define BPC_GUIDE_PROVIDER_MAX 0x02ffffff +#define BPC_GUIDE_ADAPTER_MIN 0x03000000 +#define BPC_GUIDE_ADAPTER_MAX 0x03ffffff + + typedef struct NDIS_BPC_PROGRAM_GUIDE { + ULONG ulGuideType; + BPC_FILETIME ftLastUpdate; + ULONG ulChangeNumber; + ULONG ulcbGuideSize; + ULONG rgulGuideData[BPC_MIN_DIMENSION]; + } NDIS_BPC_PROGRAM_GUIDE,*PNDIS_BPC_PROGRAM_GUIDE; + + typedef enum _NDIS_BPC_ERROR { + bpcErrorUnknownFailure = 0xc0ff0000,bpcErrorHardwareFailure,bpcErrorProviderFailure,bpcErrorNoDataDevice,bpcErrorNoTuningDevice, + bpcErrorDeviceNotCapable,bpcErrorConflictingDevice,bpcErrorConflictingCapability,bpcErrorNoBufferMemory,bpcErrorNoResources, + bpcErrorAdapterClosing,bpcErrorConnectionClosing,bpcErrorTooComplex,bpcErrorProviderNotSupported, + bpcErrorUnknownProviderStructure,bpcErrorAddressNotSupported,bpcErrorInvalidAddress,bpcErrorUnknownAdapterStructure + } NDIS_BPC_ERROR,*PNDIS_BPC_ERROR; + + typedef struct NDIS_BPC_LAST_ERROR { + ULONG ulErrorContext; + ULONG ulBPCError; + ULONG ulAdapterError; + ULONG ulAdapterContext; + } NDIS_BPC_LAST_ERROR,*PNDIS_BPC_LAST_ERROR; + + typedef struct NDIS_BPC_POOL { + BPC_HANDLE nhConnection; + ULONG ulcbPoolSize; + ULONG ulcbMaxBufferSize; + ULONG ulcbBufferReserved; + } NDIS_BPC_POOL,*PNDIS_BPC_POOL; + + typedef struct NDIS_BPC_CONNECT { + BPC_HANDLE nhConnection; + BPC_HANDLE nhDevice; + ULONG ulConnectPriority; + ULONG ulDisconnectPriority; + BOOLEAN fImmediate; + ULONG ulcbAddress; + GUID guidProvider; + ULONG rgulAddress[BPC_MIN_DIMENSION]; + } NDIS_BPC_CONNECT,*PNDIS_BPC_CONNECT; + +#define CbConnect(cnt) (FIELD_OFFSET(NDIS_BPC_CONNECT,rgulAddress) + (cnt)*sizeof(ULONG)) + + typedef struct NDIS_BPC_COMMIT { + ULONG ulcConnections; + BPC_HANDLE rgnhConnections[BPC_MIN_DIMENSION]; + } NDIS_BPC_COMMIT,*PNDIS_BPC_COMMIT; + + typedef struct NDIS_BPC_DISCONNECT { + BPC_HANDLE nhConnection; + } NDIS_BPC_DISCONNECT,*PNDIS_BPC_DISCONNECT; + + typedef struct NDIS_BPC_CONNECTION_ENABLE { + BPC_HANDLE nhConnection; + BOOLEAN fEnabled; + } NDIS_BPC_CONNECTION_ENABLE,*PNDIS_BPC_CONNECTION_ENABLE; + + typedef struct NDIS_BPC_POOL_RETURN { + BPC_HANDLE nhConnection; + } NDIS_BPC_POOL_RETURN,*PNDIS_BPC_POOL_RETURN; + + typedef struct NDIS_BPC_FORCE_RECEIVE { + BPC_HANDLE nhConnection; + ULONG ulReasonCode; + } NDIS_BPC_FORCE_RECEIVE,*PNDIS_BPC_FORCE_RECEIVE; + + typedef struct NDIS_BPC_MEDIA_SPECIFIC_INFORMATION { + BPC_HANDLE nhConnection; + ULONG ulBPCStreamType; + ULONG ulReasonCode; + PVOID pvMiniportReserved1; + ULONG ulMiniportReserved2; + } NDIS_BPC_MEDIA_SPECIFIC_INFORMATION,*PNDIS_BPC_MEDIA_SPECIFIC_INFORMATION; + +#define BPC_CATEGORY_BPC 0x01000000 +#define BPC_CATEGORY_PROVIDER 0x02000000 +#define BPC_CATEGORY_ADAPTER 0x03000000 + +#define BPC_STATUS_CONNECTED 0x00000001 +#define BPC_STATUS_QUEUED 0x00000002 +#define BPC_STATUS_ACTIVE 0x00000003 +#define BPC_STATUS_DISCONNECTED 0x00000004 +#define BPC_STATUS_OVERFLOW 0x00000005 +#define BPC_STATUS_DATA_STOP 0x00000006 +#define BPC_STATUS_DATA_START 0x00000007 +#define BPC_STATUS_DATA_ERROR 0x00000008 + + typedef struct NDIS_BPC_STATUS { + ULONG ulStatusCategory; + ULONG ulStatusType; + ULONG ulcbStatus; + ULONG rgulStatus; + } NDIS_BPC_STATUS,*PNDIS_BPC_STATUS; + + typedef struct NDIS_BPC_STATUS_CONNECTION { + BPC_HANDLE nhConnection; + BPC_HANDLE nhDevice; + } NDIS_BPC_STATUS_CONNECTED,*PNDIS_BPC_STATUS_CONNECTED; + +#ifdef __cplusplus +} +#endif + +#define NDIS_MINIPORT_BUS_MASTER 0x00000001 +#define NDIS_MINIPORT_WDM_DRIVER 0x00000002 +#define NDIS_MINIPORT_SG_LIST 0x00000004 +#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008 +#define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010 +#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020 +#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040 +#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080 +#define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100 +#define NDIS_MINIPORT_IS_NDIS_5 0x00000200 +#define NDIS_MINIPORT_IS_CO 0x00000400 +#define NDIS_MINIPORT_DESERIALIZE 0x00000800 +#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000 +#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000 +#define NDIS_MINIPORT_NETBOOT_CARD 0x00004000 +#define NDIS_MINIPORT_PM_SUPPORTED 0x00008000 +#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000 +#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000 +#define NDIS_MINIPORT_HIDDEN 0x00040000 +#define NDIS_MINIPORT_SWENUM 0x00080000 +#define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000 +#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000 +#define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000 +#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000 +#define NDIS_MINIPORT_64BITS_DMA 0x01000000 +#define NDIS_MINIPORT_USE_NEW_BITS 0x02000000 +#define NDIS_MINIPORT_EXCLUSIVE_INTERRUPT 0x04000000 +#define NDIS_MINIPORT_SENDS_PACKET_ARRAY 0x08000000 +#define NDIS_MINIPORT_FILTER_IM 0x10000000 +#define NDIS_MINIPORT_SHORT_PACKETS_ARE_PADDED 0x20000000 +#endif
