| // Licensed under the Apache License, Version 2.0 |
| // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
| // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. |
| // All files in the project carrying such notice may not be copied, modified, or distributed |
| // except according to those terms. |
| //! Definitions for native 802.11 miniport driver specifications. |
| use shared::basetsd::UINT8; |
| use shared::minwindef::{UCHAR, ULONG, USHORT}; |
| use shared::ntddndis::{ |
| NDIS_OBJECT_HEADER, NDIS_PACKET_TYPE_ALL_MULTICAST, NDIS_PACKET_TYPE_BROADCAST, |
| NDIS_PACKET_TYPE_DIRECTED, NDIS_PACKET_TYPE_MULTICAST, NDIS_PACKET_TYPE_PROMISCUOUS, |
| NDIS_STATUS, |
| }; |
| use shared::wlantypes::{ |
| DOT11_AUTH_ALGORITHM, DOT11_AUTH_CIPHER_PAIR, DOT11_BSS_TYPE, DOT11_CIPHER_ALGORITHM, |
| DOT11_SSID, PDOT11_AUTH_CIPHER_PAIR, |
| }; |
| use um::winnt::{BOOLEAN, HANDLE, LARGE_INTEGER, LONG, PVOID, ULONGLONG}; |
| pub type DOT11_MAC_ADDRESS = [UCHAR; 6]; |
| pub type PDOT11_MAC_ADDRESS = *mut DOT11_MAC_ADDRESS; |
| STRUCT!{struct DOT11_BSSID_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| BSSIDs: [DOT11_MAC_ADDRESS; 1], |
| }} |
| pub type PDOT11_BSSID_LIST = *mut DOT11_BSSID_LIST; |
| pub const DOT11_BSSID_LIST_REVISION_1: UCHAR = 1; |
| pub const DOT11_HESSID_LENGTH: usize = 6; |
| pub type DOT11_HESSID = [UCHAR; DOT11_HESSID_LENGTH]; |
| pub type PDOT11_HESSID = *mut DOT11_HESSID; |
| ENUM!{enum DOT11_PHY_TYPE { |
| dot11_phy_type_unknown = 0, |
| dot11_phy_type_any = dot11_phy_type_unknown, |
| dot11_phy_type_fhss = 1, |
| dot11_phy_type_dsss = 2, |
| dot11_phy_type_irbaseband = 3, |
| dot11_phy_type_ofdm = 4, |
| dot11_phy_type_hrdsss = 5, |
| dot11_phy_type_erp = 6, |
| dot11_phy_type_ht = 7, |
| dot11_phy_type_vht = 8, |
| dot11_phy_type_dmg = 9, |
| dot11_phy_type_IHV_start = 0x80000000, |
| dot11_phy_type_IHV_end = 0xffffffff, |
| }} |
| pub type PDOT11_PHY_TYPE = *mut DOT11_PHY_TYPE; |
| pub const DOT11_RATE_SET_MAX_LENGTH: usize = 126; |
| STRUCT!{struct DOT11_RATE_SET { |
| uRateSetLength: ULONG, |
| ucRateSet: [UCHAR; DOT11_RATE_SET_MAX_LENGTH], |
| }} |
| pub type PDOT11_RATE_SET = *mut DOT11_RATE_SET; |
| pub type DOT11_COUNTRY_OR_REGION_STRING = [UCHAR; 3]; |
| pub type PDOT11_COUNTRY_OR_REGION_STRING = *mut DOT11_COUNTRY_OR_REGION_STRING; |
| pub type DOT11_DIALOG_TOKEN = UCHAR; |
| pub type DOT11_WFD_STATUS_CODE = UCHAR; |
| pub type DOT11_WFD_MINOR_REASON_CODE = UCHAR; |
| pub type DOT11_WFD_SERVICE_HASH = [UCHAR; 6]; |
| pub const DOT11_WFD_SERVICE_NAME_MAX_LENGTH: usize = 255; |
| pub const DOT11_WFD_APS2_SERVICE_TYPE_MAX_LENGTH: usize = 21; |
| pub const DOT11_WFD_ASP2_INSTANCE_NAME_MAX_LENGTH: usize = 63; |
| pub const DOT11_WFD_SERVICE_INFORMATION_MAX_LENGTH: usize = 65535; |
| pub const DOT11_MAX_REQUESTED_SERVICE_INFORMATION_LENGTH: usize = 255; |
| pub const DOT11_WFD_SESSION_INFO_MAX_LENGTH: usize = 144; |
| STRUCT!{struct DOT11_WFD_SESSION_INFO { |
| uSessionInfoLength: USHORT, |
| ucSessionInfo: [UCHAR; DOT11_WFD_SESSION_INFO_MAX_LENGTH], |
| }} |
| pub type PDOT11_WFD_SESSION_INFO = *mut DOT11_WFD_SESSION_INFO; |
| pub const NDIS_PACKET_TYPE_MEDIA_SPECIFIC_MASK: u32 = 0x0fff0000; |
| pub const NDIS_PACKET_TYPE_802_11_DIRECTED_DATA: u32 = NDIS_PACKET_TYPE_DIRECTED; |
| pub const NDIS_PACKET_TYPE_802_11_BROADCAST_DATA: u32 = NDIS_PACKET_TYPE_BROADCAST; |
| pub const NDIS_PACKET_TYPE_802_11_MULTICAST_DATA: u32 = NDIS_PACKET_TYPE_MULTICAST; |
| pub const NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_DATA: u32 = NDIS_PACKET_TYPE_ALL_MULTICAST; |
| pub const NDIS_PACKET_TYPE_802_11_PROMISCUOUS_DATA: u32 = NDIS_PACKET_TYPE_PROMISCUOUS; |
| pub const NDIS_PACKET_TYPE_802_11_RAW_DATA: u32 = 0x00010000; |
| pub const NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT: u32 = 0x00020000; |
| pub const NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT: u32 = 0x00040000; |
| pub const NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT: u32 = 0x00080000; |
| pub const NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT: u32 = 0x00100000; |
| pub const NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT: u32 = 0x00200000; |
| pub const NDIS_PACKET_TYPE_802_11_RAW_MGMT: u32 = 0x00400000; |
| pub const NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL: u32 = 0x00800000; |
| pub const NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL: u32 = 0x01000000; |
| pub const NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL: u32 = 0x02000000; |
| pub const NDIS_PACKET_TYPE_ALL_802_11_FILTERS: u32 = NDIS_PACKET_TYPE_DIRECTED |
| | NDIS_PACKET_TYPE_MULTICAST | NDIS_PACKET_TYPE_ALL_MULTICAST | NDIS_PACKET_TYPE_BROADCAST |
| | NDIS_PACKET_TYPE_PROMISCUOUS | NDIS_PACKET_TYPE_802_11_RAW_DATA |
| | NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT | NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT |
| | NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT | NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT |
| | NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT | NDIS_PACKET_TYPE_802_11_RAW_MGMT |
| | NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL | NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL |
| | NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL; |
| pub const DOT11_MAX_PDU_SIZE: i32 = 2346; |
| pub const DOT11_MIN_PDU_SIZE: i32 = 256; |
| pub const DOT11_MAX_NUM_DEFAULT_KEY: i32 = 4; |
| pub const DOT11_MAX_NUM_DEFAULT_KEY_MFP: i32 = DOT11_MAX_NUM_DEFAULT_KEY + 2; |
| pub const OID_DOT11_NDIS_START: u32 = 0x0D010300; |
| pub const NWF_MANDATORY_OID: u32 = 0x01; |
| pub const NWF_OPTIONAL_OID: u32 = 0x02; |
| pub const NWF_OPERATIONAL_OID: u32 = 0x01; |
| pub const NWF_STATISTICS_OID: u32 = 0x02; |
| #[inline] |
| pub fn NWF_DEFINE_OID(Seq: u32, o: u32, m: u32) -> u32 { |
| 0x0E000000 | (o << 16) | (m << 8) | Seq |
| } |
| macro_rules! NWF_DEFINE_OID { |
| ($Seq:expr, $o:expr, $m:expr) => { 0x0E000000 | $o << 16 | $m << 8 | $Seq }; |
| } |
| pub const OID_DOT11_OFFLOAD_CAPABILITY: u32 = OID_DOT11_NDIS_START + 0; |
| pub const DOT11_HW_WEP_SUPPORTED_TX: u32 = 0x00000001; |
| pub const DOT11_HW_WEP_SUPPORTED_RX: u32 = 0x00000002; |
| pub const DOT11_HW_FRAGMENTATION_SUPPORTED: u32 = 0x00000004; |
| pub const DOT11_HW_DEFRAGMENTATION_SUPPORTED: u32 = 0x00000008; |
| pub const DOT11_HW_MSDU_AUTH_SUPPORTED_TX: u32 = 0x00000010; |
| pub const DOT11_HW_MSDU_AUTH_SUPPORTED_RX: u32 = 0x00000020; |
| pub const DOT11_CONF_ALGO_WEP_RC4: u32 = 0x00000001; |
| pub const DOT11_CONF_ALGO_TKIP: u32 = 0x00000002; |
| pub const DOT11_AUTH_ALGO_MICHAEL: u32 = 0x00000001; |
| STRUCT!{struct DOT11_OFFLOAD_CAPABILITY { |
| uReserved: ULONG, |
| uFlags: ULONG, |
| uSupportedWEPAlgorithms: ULONG, |
| uNumOfReplayWindows: ULONG, |
| uMaxWEPKeyMappingLength: ULONG, |
| uSupportedAuthAlgorithms: ULONG, |
| uMaxAuthKeyMappingLength: ULONG, |
| }} |
| pub type PDOT11_OFFLOAD_CAPABILITY = *mut DOT11_OFFLOAD_CAPABILITY; |
| pub const OID_DOT11_CURRENT_OFFLOAD_CAPABILITY: u32 = OID_DOT11_NDIS_START + 1; |
| STRUCT!{struct DOT11_CURRENT_OFFLOAD_CAPABILITY { |
| uReserved: ULONG, |
| uFlags: ULONG, |
| }} |
| pub type PDOT11_CURRENT_OFFLOAD_CAPABILITY = *mut DOT11_CURRENT_OFFLOAD_CAPABILITY; |
| pub const OID_DOT11_WEP_OFFLOAD: u32 = OID_DOT11_NDIS_START + 2; |
| ENUM!{enum DOT11_OFFLOAD_TYPE { |
| dot11_offload_type_wep = 1, |
| dot11_offload_type_auth = 2, |
| }} |
| pub type PDOT11_OFFLOAD_TYPE = *mut DOT11_OFFLOAD_TYPE; |
| STRUCT!{struct DOT11_IV48_COUNTER { |
| uIV32Counter: ULONG, |
| usIV16Counter: USHORT, |
| }} |
| pub type PDOT11_IV48_COUNTER = *mut DOT11_IV48_COUNTER; |
| STRUCT!{struct DOT11_WEP_OFFLOAD { |
| uReserved: ULONG, |
| hOffloadContext: HANDLE, |
| hOffload: HANDLE, |
| dot11OffloadType: DOT11_OFFLOAD_TYPE, |
| dwAlgorithm: ULONG, |
| bRowIsOutbound: BOOLEAN, |
| bUseDefault: BOOLEAN, |
| uFlags: ULONG, |
| ucMacAddress: [UCHAR; 6], |
| uNumOfRWsOnPeer: ULONG, |
| uNumOfRWsOnMe: ULONG, |
| dot11IV48Counters: [DOT11_IV48_COUNTER; 16], |
| usDot11RWBitMaps: [USHORT; 16], |
| usKeyLength: USHORT, |
| ucKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_WEP_OFFLOAD = *mut DOT11_WEP_OFFLOAD; |
| pub const OID_DOT11_WEP_UPLOAD: u32 = OID_DOT11_NDIS_START + 3; |
| STRUCT!{struct DOT11_WEP_UPLOAD { |
| uReserved: ULONG, |
| dot11OffloadType: DOT11_OFFLOAD_TYPE, |
| hOffload: HANDLE, |
| uNumOfRWsUsed: ULONG, |
| dot11IV48Counters: [DOT11_IV48_COUNTER; 16], |
| usDot11RWBitMaps: [USHORT; 16], |
| }} |
| pub type PDOT11_WEP_UPLOAD = *mut DOT11_WEP_UPLOAD; |
| pub const OID_DOT11_DEFAULT_WEP_OFFLOAD: u32 = OID_DOT11_NDIS_START + 4; |
| ENUM!{enum DOT11_KEY_DIRECTION { |
| dot11_key_direction_both = 1, |
| dot11_key_direction_inbound = 2, |
| dot11_key_direction_outbound = 3, |
| }} |
| pub type PDOT11_KEY_DIRECTION = *mut DOT11_KEY_DIRECTION; |
| STRUCT!{struct DOT11_DEFAULT_WEP_OFFLOAD { |
| uReserved: ULONG, |
| hOffloadContext: HANDLE, |
| hOffload: HANDLE, |
| dwIndex: ULONG, |
| dot11OffloadType: DOT11_OFFLOAD_TYPE, |
| dwAlgorithm: ULONG, |
| uFlags: ULONG, |
| dot11KeyDirection: DOT11_KEY_DIRECTION, |
| ucMacAddress: [UCHAR; 6], |
| uNumOfRWsOnMe: ULONG, |
| dot11IV48Counters: [DOT11_IV48_COUNTER; 16], |
| usDot11RWBitMaps: [USHORT; 16], |
| usKeyLength: USHORT, |
| ucKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_DEFAULT_WEP_OFFLOAD = *mut DOT11_DEFAULT_WEP_OFFLOAD; |
| pub const OID_DOT11_DEFAULT_WEP_UPLOAD: u32 = OID_DOT11_NDIS_START + 5; |
| STRUCT!{struct DOT11_DEFAULT_WEP_UPLOAD { |
| uReserved: ULONG, |
| dot11OffloadType: DOT11_OFFLOAD_TYPE, |
| hOffload: HANDLE, |
| uNumOfRWsUsed: ULONG, |
| dot11IV48Counters: [DOT11_IV48_COUNTER; 16], |
| usDot11RWBitMaps: [USHORT; 16], |
| }} |
| pub type PDOT11_DEFAULT_WEP_UPLOAD = *mut DOT11_DEFAULT_WEP_UPLOAD; |
| pub const OID_DOT11_MPDU_MAX_LENGTH: u32 = OID_DOT11_NDIS_START + 6; |
| pub const OID_DOT11_OPERATION_MODE_CAPABILITY: u32 = OID_DOT11_NDIS_START + 7; |
| pub const DOT11_OPERATION_MODE_UNKNOWN: ULONG = 0x00000000; |
| pub const DOT11_OPERATION_MODE_STATION: ULONG = 0x00000001; |
| pub const DOT11_OPERATION_MODE_AP: ULONG = 0x00000002; |
| pub const DOT11_OPERATION_MODE_EXTENSIBLE_STATION: ULONG = 0x00000004; |
| pub const DOT11_OPERATION_MODE_EXTENSIBLE_AP: ULONG = 0x00000008; |
| pub const DOT11_OPERATION_MODE_WFD_DEVICE: ULONG = 0x00000010; |
| pub const DOT11_OPERATION_MODE_WFD_GROUP_OWNER: ULONG = 0x00000020; |
| pub const DOT11_OPERATION_MODE_WFD_CLIENT: ULONG = 0x00000040; |
| pub const DOT11_OPERATION_MODE_MANUFACTURING: ULONG = 0x40000000; |
| pub const DOT11_OPERATION_MODE_NETWORK_MONITOR: ULONG = 0x80000000; |
| STRUCT!{struct DOT11_OPERATION_MODE_CAPABILITY { |
| uReserved: ULONG, |
| uMajorVersion: ULONG, |
| uMinorVersion: ULONG, |
| uNumOfTXBuffers: ULONG, |
| uNumOfRXBuffers: ULONG, |
| uOpModeCapability: ULONG, |
| }} |
| pub type PDOT11_OPERATION_MODE_CAPABILITY = *mut DOT11_OPERATION_MODE_CAPABILITY; |
| pub const OID_DOT11_CURRENT_OPERATION_MODE: u32 = OID_DOT11_NDIS_START + 8; |
| STRUCT!{struct DOT11_CURRENT_OPERATION_MODE { |
| uReserved: ULONG, |
| uCurrentOpMode: ULONG, |
| }} |
| pub type PDOT11_CURRENT_OPERATION_MODE = *mut DOT11_CURRENT_OPERATION_MODE; |
| pub const OID_DOT11_CURRENT_PACKET_FILTER: u32 = OID_DOT11_NDIS_START + 9; |
| pub const DOT11_PACKET_TYPE_DIRECTED_CTRL: u32 = 0x00000001; |
| pub const DOT11_PACKET_TYPE_DIRECTED_MGMT: u32 = 0x00000002; |
| pub const DOT11_PACKET_TYPE_DIRECTED_DATA: u32 = 0x00000004; |
| pub const DOT11_PACKET_TYPE_MULTICAST_CTRL: u32 = 0x00000008; |
| pub const DOT11_PACKET_TYPE_MULTICAST_MGMT: u32 = 0x00000010; |
| pub const DOT11_PACKET_TYPE_MULTICAST_DATA: u32 = 0x00000020; |
| pub const DOT11_PACKET_TYPE_BROADCAST_CTRL: u32 = 0x00000040; |
| pub const DOT11_PACKET_TYPE_BROADCAST_MGMT: u32 = 0x00000080; |
| pub const DOT11_PACKET_TYPE_BROADCAST_DATA: u32 = 0x00000100; |
| pub const DOT11_PACKET_TYPE_PROMISCUOUS_CTRL: u32 = 0x00000200; |
| pub const DOT11_PACKET_TYPE_PROMISCUOUS_MGMT: u32 = 0x00000400; |
| pub const DOT11_PACKET_TYPE_PROMISCUOUS_DATA: u32 = 0x00000800; |
| pub const DOT11_PACKET_TYPE_ALL_MULTICAST_CTRL: u32 = 0x00001000; |
| pub const DOT11_PACKET_TYPE_ALL_MULTICAST_MGMT: u32 = 0x00002000; |
| pub const DOT11_PACKET_TYPE_ALL_MULTICAST_DATA: u32 = 0x00004000; |
| pub const DOT11_PACKET_TYPE_RESERVED: u32 = !(DOT11_PACKET_TYPE_DIRECTED_CTRL |
| | DOT11_PACKET_TYPE_DIRECTED_MGMT | DOT11_PACKET_TYPE_DIRECTED_DATA |
| | DOT11_PACKET_TYPE_MULTICAST_CTRL | DOT11_PACKET_TYPE_MULTICAST_MGMT |
| | DOT11_PACKET_TYPE_MULTICAST_DATA | DOT11_PACKET_TYPE_BROADCAST_CTRL |
| | DOT11_PACKET_TYPE_BROADCAST_MGMT | DOT11_PACKET_TYPE_BROADCAST_DATA |
| | DOT11_PACKET_TYPE_PROMISCUOUS_CTRL | DOT11_PACKET_TYPE_PROMISCUOUS_MGMT |
| | DOT11_PACKET_TYPE_PROMISCUOUS_DATA | DOT11_PACKET_TYPE_ALL_MULTICAST_CTRL |
| | DOT11_PACKET_TYPE_ALL_MULTICAST_MGMT | DOT11_PACKET_TYPE_ALL_MULTICAST_DATA | 0); |
| pub const OID_DOT11_ATIM_WINDOW: u32 = OID_DOT11_NDIS_START + 10; |
| pub const OID_DOT11_SCAN_REQUEST: u32 = OID_DOT11_NDIS_START + 11; |
| ENUM!{enum DOT11_SCAN_TYPE { |
| dot11_scan_type_active = 1, |
| dot11_scan_type_passive = 2, |
| dot11_scan_type_auto = 3, |
| dot11_scan_type_forced = 0x80000000, |
| }} |
| pub type PDOT11_SCAN_TYPE = *mut DOT11_SCAN_TYPE; |
| STRUCT!{struct DOT11_SCAN_REQUEST { |
| dot11BSSType: DOT11_BSS_TYPE, |
| dot11BSSID: DOT11_MAC_ADDRESS, |
| dot11SSID: DOT11_SSID, |
| dot11ScanType: DOT11_SCAN_TYPE, |
| bRestrictedScan: BOOLEAN, |
| bUseRequestIE: BOOLEAN, |
| uRequestIDsOffset: ULONG, |
| uNumOfRequestIDs: ULONG, |
| uPhyTypesOffset: ULONG, |
| uNumOfPhyTypes: ULONG, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_SCAN_REQUEST = *mut DOT11_SCAN_REQUEST; |
| ENUM!{enum CH_DESCRIPTION_TYPE { |
| ch_description_type_logical = 1, |
| ch_description_type_center_frequency = 2, |
| ch_description_type_phy_specific = 3, |
| }} |
| pub type PCH_DESCRIPTION_TYPE = *mut CH_DESCRIPTION_TYPE; |
| STRUCT!{struct DOT11_PHY_TYPE_INFO { |
| dot11PhyType: DOT11_PHY_TYPE, |
| bUseParameters: BOOLEAN, |
| uProbeDelay: ULONG, |
| uMinChannelTime: ULONG, |
| uMaxChannelTime: ULONG, |
| ChDescriptionType: CH_DESCRIPTION_TYPE, |
| uChannelListSize: ULONG, |
| ucChannelListBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_PHY_TYPE_INFO = *mut DOT11_PHY_TYPE_INFO; |
| STRUCT!{struct DOT11_SCAN_REQUEST_V2 { |
| dot11BSSType: DOT11_BSS_TYPE, |
| dot11BSSID: DOT11_MAC_ADDRESS, |
| dot11ScanType: DOT11_SCAN_TYPE, |
| bRestrictedScan: BOOLEAN, |
| udot11SSIDsOffset: ULONG, |
| uNumOfdot11SSIDs: ULONG, |
| bUseRequestIE: BOOLEAN, |
| uRequestIDsOffset: ULONG, |
| uNumOfRequestIDs: ULONG, |
| uPhyTypeInfosOffset: ULONG, |
| uNumOfPhyTypeInfos: ULONG, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_SCAN_REQUEST_V2 = *mut DOT11_SCAN_REQUEST_V2; |
| pub const OID_DOT11_CURRENT_PHY_TYPE: u32 = OID_DOT11_NDIS_START + 12; |
| STRUCT!{struct DOT11_PHY_TYPE_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11PhyType: [DOT11_PHY_TYPE; 1], |
| }} |
| pub type PDOT11_PHY_TYPE_LIST = *mut DOT11_PHY_TYPE_LIST; |
| pub const DOT11_PHY_TYPE_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_JOIN_REQUEST: u32 = OID_DOT11_NDIS_START + 13; |
| pub const DOT11_CAPABILITY_INFO_ESS: USHORT = 0x0001; |
| pub const DOT11_CAPABILITY_INFO_IBSS: USHORT = 0x0002; |
| pub const DOT11_CAPABILITY_INFO_CF_POLLABLE: USHORT = 0x0004; |
| pub const DOT11_CAPABILITY_INFO_CF_POLL_REQ: USHORT = 0x0008; |
| pub const DOT11_CAPABILITY_INFO_PRIVACY: USHORT = 0x0010; |
| pub const DOT11_CAPABILITY_SHORT_PREAMBLE: USHORT = 0x0020; |
| pub const DOT11_CAPABILITY_PBCC: USHORT = 0x0040; |
| pub const DOT11_CAPABILITY_CHANNEL_AGILITY: USHORT = 0x0080; |
| pub const DOT11_CAPABILITY_SHORT_SLOT_TIME: USHORT = 0x0400; |
| pub const DOT11_CAPABILITY_DSSSOFDM: USHORT = 0x2000; |
| STRUCT!{struct DOT11_BSS_DESCRIPTION { |
| uReserved: ULONG, |
| dot11BSSID: DOT11_MAC_ADDRESS, |
| dot11BSSType: DOT11_BSS_TYPE, |
| usBeaconPeriod: USHORT, |
| ullTimestamp: ULONGLONG, |
| usCapabilityInformation: USHORT, |
| uBufferLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_BSS_DESCRIPTION = *mut DOT11_BSS_DESCRIPTION; |
| STRUCT!{struct DOT11_JOIN_REQUEST { |
| uJoinFailureTimeout: ULONG, |
| OperationalRateSet: DOT11_RATE_SET, |
| uChCenterFrequency: ULONG, |
| dot11BSSDescription: DOT11_BSS_DESCRIPTION, |
| }} |
| pub type PDOT11_JOIN_REQUEST = *mut DOT11_JOIN_REQUEST; |
| pub const OID_DOT11_START_REQUEST: u32 = OID_DOT11_NDIS_START + 14; |
| STRUCT!{struct DOT11_START_REQUEST { |
| uStartFailureTimeout: ULONG, |
| OperationalRateSet: DOT11_RATE_SET, |
| uChCenterFrequency: ULONG, |
| dot11BSSDescription: DOT11_BSS_DESCRIPTION, |
| }} |
| pub type PDOT11_START_REQUEST = *mut DOT11_START_REQUEST; |
| pub const OID_DOT11_UPDATE_IE: u32 = OID_DOT11_NDIS_START + 15; |
| ENUM!{enum DOT11_UPDATE_IE_OP { |
| dot11_update_ie_op_create_replace = 1, |
| dot11_update_ie_op_delete = 2, |
| }} |
| pub type PDOT11_UPDATE_IE_OP = *mut DOT11_UPDATE_IE_OP; |
| STRUCT!{struct DOT11_UPDATE_IE { |
| dot11UpdateIEOp: DOT11_UPDATE_IE_OP, |
| uBufferLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_UPDATE_IE = *mut DOT11_UPDATE_IE; |
| pub const OID_DOT11_RESET_REQUEST: u32 = OID_DOT11_NDIS_START + 16; |
| ENUM!{enum DOT11_RESET_TYPE { |
| dot11_reset_type_phy = 1, |
| dot11_reset_type_mac = 2, |
| dot11_reset_type_phy_and_mac = 3, |
| }} |
| pub type PDOT11_RESET_TYPE = *mut DOT11_RESET_TYPE; |
| STRUCT!{struct DOT11_RESET_REQUEST { |
| dot11ResetType: DOT11_RESET_TYPE, |
| dot11MacAddress: DOT11_MAC_ADDRESS, |
| bSetDefaultMIB: BOOLEAN, |
| }} |
| pub type PDOT11_RESET_REQUEST = *mut DOT11_RESET_REQUEST; |
| pub const OID_DOT11_NIC_POWER_STATE: u32 = OID_DOT11_NDIS_START + 17; |
| pub const OID_DOT11_OPTIONAL_CAPABILITY: u32 = OID_DOT11_NDIS_START + 18; |
| STRUCT!{struct DOT11_OPTIONAL_CAPABILITY { |
| uReserved: ULONG, |
| bDot11PCF: BOOLEAN, |
| bDot11PCFMPDUTransferToPC: BOOLEAN, |
| bStrictlyOrderedServiceClass: BOOLEAN, |
| }} |
| pub type PDOT11_OPTIONAL_CAPABILITY = *mut DOT11_OPTIONAL_CAPABILITY; |
| pub const OID_DOT11_CURRENT_OPTIONAL_CAPABILITY: u32 = OID_DOT11_NDIS_START + 19; |
| STRUCT!{struct DOT11_CURRENT_OPTIONAL_CAPABILITY { |
| uReserved: ULONG, |
| bDot11CFPollable: BOOLEAN, |
| bDot11PCF: BOOLEAN, |
| bDot11PCFMPDUTransferToPC: BOOLEAN, |
| bStrictlyOrderedServiceClass: BOOLEAN, |
| }} |
| pub type PDOT11_CURRENT_OPTIONAL_CAPABILITY = *mut DOT11_CURRENT_OPTIONAL_CAPABILITY; |
| pub const OID_DOT11_STATION_ID: u32 = OID_DOT11_NDIS_START + 20; |
| pub const OID_DOT11_MEDIUM_OCCUPANCY_LIMIT: u32 = OID_DOT11_NDIS_START + 21; |
| pub const OID_DOT11_CF_POLLABLE: u32 = OID_DOT11_NDIS_START + 22; |
| pub const OID_DOT11_CFP_PERIOD: u32 = OID_DOT11_NDIS_START + 23; |
| pub const OID_DOT11_CFP_MAX_DURATION: u32 = OID_DOT11_NDIS_START + 24; |
| pub const OID_DOT11_POWER_MGMT_MODE: u32 = OID_DOT11_NDIS_START + 25; |
| ENUM!{enum DOT11_POWER_MODE { |
| dot11_power_mode_unknown = 0, |
| dot11_power_mode_active = 1, |
| dot11_power_mode_powersave = 2, |
| }} |
| pub type PDOT11_POWER_MODE = *mut DOT11_POWER_MODE; |
| pub const DOT11_POWER_SAVE_LEVEL_MAX_PSP: ULONG = 1; |
| pub const DOT11_POWER_SAVE_LEVEL_FAST_PSP: ULONG = 2; |
| STRUCT!{struct DOT11_POWER_MGMT_MODE { |
| dot11PowerMode: DOT11_POWER_MODE, |
| uPowerSaveLevel: ULONG, |
| usListenInterval: USHORT, |
| usAID: USHORT, |
| bReceiveDTIMs: BOOLEAN, |
| }} |
| pub type PDOT11_POWER_MGMT_MODE = *mut DOT11_POWER_MGMT_MODE; |
| pub const OID_DOT11_OPERATIONAL_RATE_SET: u32 = OID_DOT11_NDIS_START + 26; |
| pub const OID_DOT11_BEACON_PERIOD: u32 = OID_DOT11_NDIS_START + 27; |
| pub const OID_DOT11_DTIM_PERIOD: u32 = OID_DOT11_NDIS_START + 28; |
| pub const OID_DOT11_WEP_ICV_ERROR_COUNT: u32 = OID_DOT11_NDIS_START + 29; |
| pub const OID_DOT11_MAC_ADDRESS: u32 = OID_DOT11_NDIS_START + 30; |
| pub const OID_DOT11_RTS_THRESHOLD: u32 = OID_DOT11_NDIS_START + 31; |
| pub const OID_DOT11_SHORT_RETRY_LIMIT: u32 = OID_DOT11_NDIS_START + 32; |
| pub const OID_DOT11_LONG_RETRY_LIMIT: u32 = OID_DOT11_NDIS_START + 33; |
| pub const OID_DOT11_FRAGMENTATION_THRESHOLD: u32 = OID_DOT11_NDIS_START + 34; |
| pub const OID_DOT11_MAX_TRANSMIT_MSDU_LIFETIME: u32 = OID_DOT11_NDIS_START + 35; |
| pub const OID_DOT11_MAX_RECEIVE_LIFETIME: u32 = OID_DOT11_NDIS_START + 36; |
| pub const OID_DOT11_COUNTERS_ENTRY: u32 = OID_DOT11_NDIS_START + 37; |
| STRUCT!{struct DOT11_COUNTERS_ENTRY { |
| uTransmittedFragmentCount: ULONG, |
| uMulticastTransmittedFrameCount: ULONG, |
| uFailedCount: ULONG, |
| uRetryCount: ULONG, |
| uMultipleRetryCount: ULONG, |
| uFrameDuplicateCount: ULONG, |
| uRTSSuccessCount: ULONG, |
| uRTSFailureCount: ULONG, |
| uACKFailureCount: ULONG, |
| uReceivedFragmentCount: ULONG, |
| uMulticastReceivedFrameCount: ULONG, |
| uFCSErrorCount: ULONG, |
| uTransmittedFrameCount: ULONG, |
| }} |
| pub type PDOT11_COUNTERS_ENTRY = *mut DOT11_COUNTERS_ENTRY; |
| pub const OID_DOT11_SUPPORTED_PHY_TYPES: u32 = OID_DOT11_NDIS_START + 38; |
| STRUCT!{struct DOT11_SUPPORTED_PHY_TYPES { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11PHYType: [DOT11_PHY_TYPE; 1], |
| }} |
| pub type PDOT11_SUPPORTED_PHY_TYPES = *mut DOT11_SUPPORTED_PHY_TYPES; |
| pub const OID_DOT11_CURRENT_REG_DOMAIN: u32 = OID_DOT11_NDIS_START + 39; |
| pub const DOT11_REG_DOMAIN_OTHER: ULONG = 0x00000000; |
| pub const DOT11_REG_DOMAIN_FCC: ULONG = 0x00000010; |
| pub const DOT11_REG_DOMAIN_DOC: ULONG = 0x00000020; |
| pub const DOT11_REG_DOMAIN_ETSI: ULONG = 0x00000030; |
| pub const DOT11_REG_DOMAIN_SPAIN: ULONG = 0x00000031; |
| pub const DOT11_REG_DOMAIN_FRANCE: ULONG = 0x00000032; |
| pub const DOT11_REG_DOMAIN_MKK: ULONG = 0x00000040; |
| pub const OID_DOT11_TEMP_TYPE: u32 = OID_DOT11_NDIS_START + 40; |
| ENUM!{enum DOT11_TEMP_TYPE { |
| dot11_temp_type_unknown = 0, |
| dot11_temp_type_1 = 1, |
| dot11_temp_type_2 = 2, |
| }} |
| pub type PDOT11_TEMP_TYPE = *mut DOT11_TEMP_TYPE; |
| pub const OID_DOT11_CURRENT_TX_ANTENNA: u32 = OID_DOT11_NDIS_START + 41; |
| pub const OID_DOT11_DIVERSITY_SUPPORT: u32 = OID_DOT11_NDIS_START + 42; |
| ENUM!{enum DOT11_DIVERSITY_SUPPORT { |
| dot11_diversity_support_unknown = 0, |
| dot11_diversity_support_fixedlist = 1, |
| dot11_diversity_support_notsupported = 2, |
| dot11_diversity_support_dynamic = 3, |
| }} |
| pub type PDOT11_DIVERSITY_SUPPORT = *mut DOT11_DIVERSITY_SUPPORT; |
| pub const OID_DOT11_CURRENT_RX_ANTENNA: u32 = OID_DOT11_NDIS_START + 43; |
| pub const OID_DOT11_SUPPORTED_POWER_LEVELS: u32 = OID_DOT11_NDIS_START + 44; |
| STRUCT!{struct DOT11_SUPPORTED_POWER_LEVELS { |
| uNumOfSupportedPowerLevels: ULONG, |
| uTxPowerLevelValues: [ULONG; 8], |
| }} |
| pub type PDOT11_SUPPORTED_POWER_LEVELS = *mut DOT11_SUPPORTED_POWER_LEVELS; |
| pub const OID_DOT11_CURRENT_TX_POWER_LEVEL: u32 = OID_DOT11_NDIS_START + 45; |
| pub const OID_DOT11_HOP_TIME: u32 = OID_DOT11_NDIS_START + 46; |
| pub const OID_DOT11_CURRENT_CHANNEL_NUMBER: u32 = OID_DOT11_NDIS_START + 47; |
| pub const OID_DOT11_MAX_DWELL_TIME: u32 = OID_DOT11_NDIS_START + 48; |
| pub const OID_DOT11_CURRENT_DWELL_TIME: u32 = OID_DOT11_NDIS_START + 49; |
| pub const OID_DOT11_CURRENT_SET: u32 = OID_DOT11_NDIS_START + 50; |
| pub const OID_DOT11_CURRENT_PATTERN: u32 = OID_DOT11_NDIS_START + 51; |
| pub const OID_DOT11_CURRENT_INDEX: u32 = OID_DOT11_NDIS_START + 52; |
| pub const OID_DOT11_CURRENT_CHANNEL: u32 = OID_DOT11_NDIS_START + 53; |
| pub const OID_DOT11_CCA_MODE_SUPPORTED: u32 = OID_DOT11_NDIS_START + 54; |
| pub const DOT11_CCA_MODE_ED_ONLY: ULONG = 0x00000001; |
| pub const DOT11_CCA_MODE_CS_ONLY: ULONG = 0x00000002; |
| pub const DOT11_CCA_MODE_ED_and_CS: ULONG = 0x00000004; |
| pub const DOT11_CCA_MODE_CS_WITH_TIMER: ULONG = 0x00000008; |
| pub const DOT11_CCA_MODE_HRCS_AND_ED: ULONG = 0x00000010; |
| pub const OID_DOT11_CURRENT_CCA_MODE: u32 = OID_DOT11_NDIS_START + 55; |
| pub const OID_DOT11_ED_THRESHOLD: u32 = OID_DOT11_NDIS_START + 56; |
| pub const OID_DOT11_CCA_WATCHDOG_TIMER_MAX: u32 = OID_DOT11_NDIS_START + 57; |
| pub const OID_DOT11_CCA_WATCHDOG_COUNT_MAX: u32 = OID_DOT11_NDIS_START + 58; |
| pub const OID_DOT11_CCA_WATCHDOG_TIMER_MIN: u32 = OID_DOT11_NDIS_START + 59; |
| pub const OID_DOT11_CCA_WATCHDOG_COUNT_MIN: u32 = OID_DOT11_NDIS_START + 60; |
| pub const OID_DOT11_REG_DOMAINS_SUPPORT_VALUE: u32 = OID_DOT11_NDIS_START + 61; |
| STRUCT!{struct DOT11_REG_DOMAIN_VALUE { |
| uRegDomainsSupportIndex: ULONG, |
| uRegDomainsSupportValue: ULONG, |
| }} |
| pub type PDOT11_REG_DOMAIN_VALUE = *mut DOT11_REG_DOMAIN_VALUE; |
| STRUCT!{struct DOT11_REG_DOMAINS_SUPPORT_VALUE { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11RegDomainValue: [DOT11_REG_DOMAIN_VALUE; 1], |
| }} |
| pub type PDOT11_REG_DOMAINS_SUPPORT_VALUE = *mut DOT11_REG_DOMAINS_SUPPORT_VALUE; |
| pub const OID_DOT11_SUPPORTED_TX_ANTENNA: u32 = OID_DOT11_NDIS_START + 62; |
| STRUCT!{struct DOT11_SUPPORTED_ANTENNA { |
| uAntennaListIndex: ULONG, |
| bSupportedAntenna: BOOLEAN, |
| }} |
| pub type PDOT11_SUPPORTED_ANTENNA = *mut DOT11_SUPPORTED_ANTENNA; |
| STRUCT!{struct DOT11_SUPPORTED_ANTENNA_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11SupportedAntenna: [DOT11_SUPPORTED_ANTENNA; 1], |
| }} |
| pub type PDOT11_SUPPORTED_ANTENNA_LIST = *mut DOT11_SUPPORTED_ANTENNA_LIST; |
| pub const OID_DOT11_SUPPORTED_RX_ANTENNA: u32 = OID_DOT11_NDIS_START + 63; |
| pub const OID_DOT11_DIVERSITY_SELECTION_RX: u32 = OID_DOT11_NDIS_START + 64; |
| STRUCT!{struct DOT11_DIVERSITY_SELECTION_RX { |
| uAntennaListIndex: ULONG, |
| bDiversitySelectionRX: BOOLEAN, |
| }} |
| pub type PDOT11_DIVERSITY_SELECTION_RX = *mut DOT11_DIVERSITY_SELECTION_RX; |
| STRUCT!{struct DOT11_DIVERSITY_SELECTION_RX_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11DiversitySelectionRx: [DOT11_DIVERSITY_SELECTION_RX; 1], |
| }} |
| pub type PDOT11_DIVERSITY_SELECTION_RX_LIST = *mut DOT11_DIVERSITY_SELECTION_RX_LIST; |
| pub const OID_DOT11_SUPPORTED_DATA_RATES_VALUE: u32 = OID_DOT11_NDIS_START + 65; |
| pub const MAX_NUM_SUPPORTED_RATES: usize = 8; |
| pub const MAX_NUM_SUPPORTED_RATES_V2: usize = 255; |
| STRUCT!{struct DOT11_SUPPORTED_DATA_RATES_VALUE { |
| ucSupportedTxDataRatesValue: [UCHAR; MAX_NUM_SUPPORTED_RATES], |
| ucSupportedRxDataRatesValue: [UCHAR; MAX_NUM_SUPPORTED_RATES], |
| }} |
| pub type PDOT11_SUPPORTED_DATA_RATES_VALUE = *mut DOT11_SUPPORTED_DATA_RATES_VALUE; |
| STRUCT!{struct DOT11_SUPPORTED_DATA_RATES_VALUE_V2 { |
| ucSupportedTxDataRatesValue: [UCHAR; MAX_NUM_SUPPORTED_RATES_V2], |
| ucSupportedRxDataRatesValue: [UCHAR; MAX_NUM_SUPPORTED_RATES_V2], |
| }} |
| pub type PDOT11_SUPPORTED_DATA_RATES_VALUE_V2 = *mut DOT11_SUPPORTED_DATA_RATES_VALUE_V2; |
| pub type DOT11_SUPPORTED_DATA_RATES_VALUE_V1 = DOT11_SUPPORTED_DATA_RATES_VALUE_V2; |
| pub type PDOT11_SUPPORTED_DATA_RATES_VALUE_V1 = *mut DOT11_SUPPORTED_DATA_RATES_VALUE_V2; |
| pub const OID_DOT11_CURRENT_FREQUENCY: u32 = OID_DOT11_NDIS_START + 66; |
| pub const OID_DOT11_TI_THRESHOLD: u32 = OID_DOT11_NDIS_START + 67; |
| pub const OID_DOT11_FREQUENCY_BANDS_SUPPORTED: u32 = OID_DOT11_NDIS_START + 68; |
| pub const DOT11_FREQUENCY_BANDS_LOWER: u32 = 0x00000001; |
| pub const DOT11_FREQUENCY_BANDS_MIDDLE: u32 = 0x00000002; |
| pub const DOT11_FREQUENCY_BANDS_UPPER: u32 = 0x00000004; |
| pub const OID_DOT11_SHORT_PREAMBLE_OPTION_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 69; |
| pub const OID_DOT11_PBCC_OPTION_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 70; |
| pub const OID_DOT11_CHANNEL_AGILITY_PRESENT: u32 = OID_DOT11_NDIS_START + 71; |
| pub const OID_DOT11_CHANNEL_AGILITY_ENABLED: u32 = OID_DOT11_NDIS_START + 72; |
| pub const OID_DOT11_HR_CCA_MODE_SUPPORTED: u32 = OID_DOT11_NDIS_START + 73; |
| pub const DOT11_HR_CCA_MODE_ED_ONLY: ULONG = 0x00000001; |
| pub const DOT11_HR_CCA_MODE_CS_ONLY: ULONG = 0x00000002; |
| pub const DOT11_HR_CCA_MODE_CS_AND_ED: ULONG = 0x00000004; |
| pub const DOT11_HR_CCA_MODE_CS_WITH_TIMER: ULONG = 0x00000008; |
| pub const DOT11_HR_CCA_MODE_HRCS_AND_ED: ULONG = 0x00000010; |
| pub const OID_DOT11_MULTI_DOMAIN_CAPABILITY_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 74; |
| pub const OID_DOT11_MULTI_DOMAIN_CAPABILITY_ENABLED: u32 = OID_DOT11_NDIS_START + 75; |
| pub const OID_DOT11_COUNTRY_STRING: u32 = OID_DOT11_NDIS_START + 76; |
| STRUCT!{struct DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY { |
| uMultiDomainCapabilityIndex: ULONG, |
| uFirstChannelNumber: ULONG, |
| uNumberOfChannels: ULONG, |
| lMaximumTransmitPowerLevel: LONG, |
| }} |
| pub type PDOT11_MULTI_DOMAIN_CAPABILITY_ENTRY = *mut DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY; |
| STRUCT!{struct DOT11_MD_CAPABILITY_ENTRY_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11MDCapabilityEntry: [DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY; 1], |
| }} |
| pub type PDOT11_MD_CAPABILITY_ENTRY_LIST = *mut DOT11_MD_CAPABILITY_ENTRY_LIST; |
| pub const OID_DOT11_MULTI_DOMAIN_CAPABILITY: u32 = OID_DOT11_NDIS_START + 77; |
| pub const OID_DOT11_EHCC_PRIME_RADIX: u32 = OID_DOT11_NDIS_START + 78; |
| pub const OID_DOT11_EHCC_NUMBER_OF_CHANNELS_FAMILY_INDEX: u32 = OID_DOT11_NDIS_START + 79; |
| pub const OID_DOT11_EHCC_CAPABILITY_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 80; |
| pub const OID_DOT11_EHCC_CAPABILITY_ENABLED: u32 = OID_DOT11_NDIS_START + 81; |
| pub const OID_DOT11_HOP_ALGORITHM_ADOPTED: u32 = OID_DOT11_NDIS_START + 82; |
| ENUM!{enum DOT11_HOP_ALGO_ADOPTED { |
| dot11_hop_algo_current = 0, |
| dot11_hop_algo_hop_index = 1, |
| dot11_hop_algo_hcc = 2, |
| }} |
| pub type PDOT11_HOP_ALGO_ADOPTED = *mut DOT11_HOP_ALGO_ADOPTED; |
| pub const OID_DOT11_RANDOM_TABLE_FLAG: u32 = OID_DOT11_NDIS_START + 83; |
| pub const OID_DOT11_NUMBER_OF_HOPPING_SETS: u32 = OID_DOT11_NDIS_START + 84; |
| pub const OID_DOT11_HOP_MODULUS: u32 = OID_DOT11_NDIS_START + 85; |
| pub const OID_DOT11_HOP_OFFSET: u32 = OID_DOT11_NDIS_START + 86; |
| pub const OID_DOT11_HOPPING_PATTERN: u32 = OID_DOT11_NDIS_START + 87; |
| STRUCT!{struct DOT11_HOPPING_PATTERN_ENTRY { |
| uHoppingPatternIndex: ULONG, |
| uRandomTableFieldNumber: ULONG, |
| }} |
| pub type PDOT11_HOPPING_PATTERN_ENTRY = *mut DOT11_HOPPING_PATTERN_ENTRY; |
| STRUCT!{struct DOT11_HOPPING_PATTERN_ENTRY_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11HoppingPatternEntry: [DOT11_HOPPING_PATTERN_ENTRY; 1], |
| }} |
| pub type PDOT11_HOPPING_PATTERN_ENTRY_LIST = *mut DOT11_HOPPING_PATTERN_ENTRY_LIST; |
| pub const OID_DOT11_RANDOM_TABLE_FIELD_NUMBER: u32 = OID_DOT11_NDIS_START + 88; |
| pub const OID_DOT11_WPA_TSC: u32 = OID_DOT11_NDIS_START + 89; |
| STRUCT!{struct DOT11_WPA_TSC { |
| uReserved: ULONG, |
| dot11OffloadType: DOT11_OFFLOAD_TYPE, |
| hOffload: HANDLE, |
| dot11IV48Counter: DOT11_IV48_COUNTER, |
| }} |
| pub type PDOT11_WPA_TSC = *mut DOT11_WPA_TSC; |
| pub const OID_DOT11_RSSI_RANGE: u32 = OID_DOT11_NDIS_START + 90; |
| STRUCT!{struct DOT11_RSSI_RANGE { |
| dot11PhyType: DOT11_PHY_TYPE, |
| uRSSIMin: ULONG, |
| uRSSIMax: ULONG, |
| }} |
| pub type PDOT11_RSSI_RANGE = *mut DOT11_RSSI_RANGE; |
| pub const OID_DOT11_RF_USAGE: u32 = OID_DOT11_NDIS_START + 91; |
| pub const OID_DOT11_NIC_SPECIFIC_EXTENSION: u32 = OID_DOT11_NDIS_START + 92; |
| STRUCT!{struct DOT11_NIC_SPECIFIC_EXTENSION { |
| uBufferLength: ULONG, |
| uTotalBufferLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_NIC_SPECIFIC_EXTENSION = *mut DOT11_NIC_SPECIFIC_EXTENSION; |
| pub const OID_DOT11_AP_JOIN_REQUEST: u32 = OID_DOT11_NDIS_START + 93; |
| STRUCT!{struct DOT11_AP_JOIN_REQUEST { |
| uJoinFailureTimeout: ULONG, |
| OperationalRateSet: DOT11_RATE_SET, |
| uChCenterFrequency: ULONG, |
| dot11BSSDescription: DOT11_BSS_DESCRIPTION, |
| }} |
| pub type PDOT11_AP_JOIN_REQUEST = *mut DOT11_AP_JOIN_REQUEST; |
| pub const OID_DOT11_ERP_PBCC_OPTION_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 94; |
| pub const OID_DOT11_ERP_PBCC_OPTION_ENABLED: u32 = OID_DOT11_NDIS_START + 95; |
| pub const OID_DOT11_DSSS_OFDM_OPTION_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 96; |
| pub const OID_DOT11_DSSS_OFDM_OPTION_ENABLED: u32 = OID_DOT11_NDIS_START + 97; |
| pub const OID_DOT11_SHORT_SLOT_TIME_OPTION_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 98; |
| pub const OID_DOT11_SHORT_SLOT_TIME_OPTION_ENABLED: u32 = OID_DOT11_NDIS_START + 99; |
| pub const OID_DOT11_MAX_MAC_ADDRESS_STATES: u32 = OID_DOT11_NDIS_START + 100; |
| pub const OID_DOT11_RECV_SENSITIVITY_LIST: u32 = OID_DOT11_NDIS_START + 101; |
| STRUCT!{struct DOT11_RECV_SENSITIVITY { |
| ucDataRate: UCHAR, |
| lRSSIMin: LONG, |
| lRSSIMax: LONG, |
| }} |
| pub type PDOT11_RECV_SENSITIVITY = *mut DOT11_RECV_SENSITIVITY; |
| UNION!{union DOT11_RECV_SENSITIVITY_LIST_u { |
| [u32; 1], |
| dot11PhyType dot11PhyType_mut: DOT11_PHY_TYPE, |
| uPhyId uPhyId_mut: ULONG, |
| }} |
| STRUCT!{struct DOT11_RECV_SENSITIVITY_LIST { |
| u: DOT11_RECV_SENSITIVITY_LIST_u, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11RecvSensitivity: [DOT11_RECV_SENSITIVITY; 1], |
| }} |
| pub type PDOT11_RECV_SENSITIVITY_LIST = *mut DOT11_RECV_SENSITIVITY_LIST; |
| pub const OID_DOT11_WME_IMPLEMENTED: u32 = OID_DOT11_NDIS_START + 102; |
| pub const OID_DOT11_WME_ENABLED: u32 = OID_DOT11_NDIS_START + 103; |
| pub const OID_DOT11_WME_AC_PARAMETERS: u32 = OID_DOT11_NDIS_START + 104; |
| ENUM!{enum DOT11_AC_PARAM { |
| dot11_AC_param_BE = 0, |
| dot11_AC_param_BK = 1, |
| dot11_AC_param_VI = 2, |
| dot11_AC_param_VO = 3, |
| dot11_AC_param_max = 4, |
| }} |
| pub type PDOT11_AC_PARAM = *mut DOT11_AC_PARAM; |
| STRUCT!{struct DOT11_WME_AC_PARAMETERS { |
| ucAccessCategoryIndex: UCHAR, |
| ucAIFSN: UCHAR, |
| ucECWmin: UCHAR, |
| ucECWmax: UCHAR, |
| usTXOPLimit: USHORT, |
| }} |
| pub type PDOT11_WME_AC_PARAMETERS = *mut DOT11_WME_AC_PARAMETERS; |
| STRUCT!{struct DOT11_WME_AC_PARAMETERS_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11WMEACParameters: [DOT11_WME_AC_PARAMETERS; 1], |
| }} |
| pub type PDOT11_WME_AC_PARAMETERS_LIST = *mut DOT11_WME_AC_PARAMETERS_LIST; |
| pub const OID_DOT11_WME_UPDATE_IE: u32 = OID_DOT11_NDIS_START + 105; |
| STRUCT!{struct DOT11_WME_UPDATE_IE { |
| uParamElemMinBeaconIntervals: ULONG, |
| uWMEInfoElemOffset: ULONG, |
| uWMEInfoElemLength: ULONG, |
| uWMEParamElemOffset: ULONG, |
| uWMEParamElemLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_WME_UPDATE_IE = *mut DOT11_WME_UPDATE_IE; |
| pub const OID_DOT11_QOS_TX_QUEUES_SUPPORTED: u32 = OID_DOT11_NDIS_START + 106; |
| pub const OID_DOT11_QOS_TX_DURATION: u32 = OID_DOT11_NDIS_START + 107; |
| STRUCT!{struct DOT11_QOS_TX_DURATION { |
| uNominalMSDUSize: ULONG, |
| uMinPHYRate: ULONG, |
| uDuration: ULONG, |
| }} |
| pub type PDOT11_QOS_TX_DURATION = *mut DOT11_QOS_TX_DURATION; |
| pub const OID_DOT11_QOS_TX_MEDIUM_TIME: u32 = OID_DOT11_NDIS_START + 108; |
| STRUCT!{struct DOT11_QOS_TX_MEDIUM_TIME { |
| dot11PeerAddress: DOT11_MAC_ADDRESS, |
| ucQoSPriority: UCHAR, |
| uMediumTimeAdmited: ULONG, |
| }} |
| pub type PDOT11_QOS_TX_MEDIUM_TIME = *mut DOT11_QOS_TX_MEDIUM_TIME; |
| pub const OID_DOT11_SUPPORTED_OFDM_FREQUENCY_LIST: u32 = OID_DOT11_NDIS_START + 109; |
| STRUCT!{struct DOT11_SUPPORTED_OFDM_FREQUENCY { |
| uCenterFrequency: ULONG, |
| }} |
| pub type PDOT11_SUPPORTED_OFDM_FREQUENCY = *mut DOT11_SUPPORTED_OFDM_FREQUENCY; |
| STRUCT!{struct DOT11_SUPPORTED_OFDM_FREQUENCY_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11SupportedOFDMFrequency: [DOT11_SUPPORTED_OFDM_FREQUENCY; 1], |
| }} |
| pub type PDOT11_SUPPORTED_OFDM_FREQUENCY_LIST = *mut DOT11_SUPPORTED_OFDM_FREQUENCY_LIST; |
| pub const OID_DOT11_SUPPORTED_DSSS_CHANNEL_LIST: u32 = OID_DOT11_NDIS_START + 110; |
| STRUCT!{struct DOT11_SUPPORTED_DSSS_CHANNEL { |
| uChannel: ULONG, |
| }} |
| pub type PDOT11_SUPPORTED_DSSS_CHANNEL = *mut DOT11_SUPPORTED_DSSS_CHANNEL; |
| STRUCT!{struct DOT11_SUPPORTED_DSSS_CHANNEL_LIST { |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11SupportedDSSSChannel: [DOT11_SUPPORTED_DSSS_CHANNEL; 1], |
| }} |
| pub type PDOT11_SUPPORTED_DSSS_CHANNEL_LIST = *mut DOT11_SUPPORTED_DSSS_CHANNEL_LIST; |
| STRUCT!{struct DOT11_BYTE_ARRAY { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfBytes: ULONG, |
| uTotalNumOfBytes: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_BYTE_ARRAY = *mut DOT11_BYTE_ARRAY; |
| pub const OID_DOT11_AUTO_CONFIG_ENABLED: u32 = |
| NWF_DEFINE_OID!(120, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const DOT11_PHY_AUTO_CONFIG_ENABLED_FLAG: ULONG = 0x00000001; |
| pub const DOT11_MAC_AUTO_CONFIG_ENABLED_FLAG: ULONG = 0x00000002; |
| pub const OID_DOT11_ENUM_BSS_LIST: u32 = |
| NWF_DEFINE_OID!(121, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const DOT11_BSS_ENTRY_BYTE_ARRAY_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO_FHSS { |
| uHopPattern: ULONG, |
| uHopSet: ULONG, |
| uDwellTime: ULONG, |
| }} |
| UNION!{union DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO { |
| [u32; 3], |
| uChCenterFrequency uChCenterFrequency_mut: ULONG, |
| FHSS FHSS_mut: DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO_FHSS, |
| }} |
| pub type PDOT11_BSS_ENTRY_PHY_SPECIFIC_INFO = *mut DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO; |
| STRUCT!{struct DOT11_BSS_ENTRY { |
| uPhyId: ULONG, |
| PhySpecificInfo: DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO, |
| dot11BSSID: DOT11_MAC_ADDRESS, |
| dot11BSSType: DOT11_BSS_TYPE, |
| lRSSI: LONG, |
| uLinkQuality: ULONG, |
| bInRegDomain: BOOLEAN, |
| usBeaconPeriod: USHORT, |
| ullTimestamp: ULONGLONG, |
| ullHostTimestamp: ULONGLONG, |
| usCapabilityInformation: USHORT, |
| uBufferLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_BSS_ENTRY = *mut DOT11_BSS_ENTRY; |
| pub const OID_DOT11_FLUSH_BSS_LIST: u32 = |
| NWF_DEFINE_OID!(122, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_POWER_MGMT_REQUEST: u32 = |
| NWF_DEFINE_OID!(123, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const DOT11_POWER_SAVING_NO_POWER_SAVING: ULONG = 0; |
| pub const DOT11_POWER_SAVING_FAST_PSP: ULONG = 8; |
| pub const DOT11_POWER_SAVING_MAX_PSP: ULONG = 16; |
| pub const DOT11_POWER_SAVING_MAXIMUM_LEVEL: ULONG = 24; |
| pub const OID_DOT11_DESIRED_SSID_LIST: u32 = |
| NWF_DEFINE_OID!(124, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_SSID_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| SSIDs: [DOT11_SSID; 1], |
| }} |
| pub type PDOT11_SSID_LIST = *mut DOT11_SSID_LIST; |
| pub const DOT11_SSID_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST: u32 = |
| NWF_DEFINE_OID!(125, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_MAC_ADDRESS_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| MacAddrs: [DOT11_MAC_ADDRESS; 1], |
| }} |
| pub type PDOT11_MAC_ADDRESS_LIST = *mut DOT11_MAC_ADDRESS_LIST; |
| pub const DOT11_MAC_ADDRESS_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_DESIRED_BSSID_LIST: u32 = |
| NWF_DEFINE_OID!(126, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_DESIRED_BSS_TYPE: u32 = |
| NWF_DEFINE_OID!(127, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_PMKID_LIST: u32 = NWF_DEFINE_OID!(128, NWF_OPERATIONAL_OID, NWF_OPTIONAL_OID); |
| pub type DOT11_PMKID_VALUE = [UCHAR; 16]; |
| STRUCT!{struct DOT11_PMKID_ENTRY { |
| BSSID: DOT11_MAC_ADDRESS, |
| PMKID: DOT11_PMKID_VALUE, |
| uFlags: ULONG, |
| }} |
| pub type PDOT11_PMKID_ENTRY = *mut DOT11_PMKID_ENTRY; |
| STRUCT!{struct DOT11_PMKID_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| PMKIDs: [DOT11_PMKID_ENTRY; 1], |
| }} |
| pub type PDOT11_PMKID_LIST = *mut DOT11_PMKID_LIST; |
| pub const DOT11_PMKID_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_CONNECT_REQUEST: u32 = |
| NWF_DEFINE_OID!(129, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_EXCLUDE_UNENCRYPTED: u32 = |
| NWF_DEFINE_OID!(130, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_STATISTICS: u32 = |
| NWF_DEFINE_OID!(131, NWF_STATISTICS_OID, NWF_MANDATORY_OID); |
| pub const DOT11_STATISTICS_UNKNOWN: ULONGLONG = -1i64 as u64; |
| STRUCT!{struct DOT11_PHY_FRAME_STATISTICS { |
| ullTransmittedFrameCount: ULONGLONG, |
| ullMulticastTransmittedFrameCount: ULONGLONG, |
| ullFailedCount: ULONGLONG, |
| ullRetryCount: ULONGLONG, |
| ullMultipleRetryCount: ULONGLONG, |
| ullMaxTXLifetimeExceededCount: ULONGLONG, |
| ullTransmittedFragmentCount: ULONGLONG, |
| ullRTSSuccessCount: ULONGLONG, |
| ullRTSFailureCount: ULONGLONG, |
| ullACKFailureCount: ULONGLONG, |
| ullReceivedFrameCount: ULONGLONG, |
| ullMulticastReceivedFrameCount: ULONGLONG, |
| ullPromiscuousReceivedFrameCount: ULONGLONG, |
| ullMaxRXLifetimeExceededCount: ULONGLONG, |
| ullFrameDuplicateCount: ULONGLONG, |
| ullReceivedFragmentCount: ULONGLONG, |
| ullPromiscuousReceivedFragmentCount: ULONGLONG, |
| ullFCSErrorCount: ULONGLONG, |
| }} |
| pub type PDOT11_PHY_FRAME_STATISTICS = *mut DOT11_PHY_FRAME_STATISTICS; |
| STRUCT!{struct DOT11_MAC_FRAME_STATISTICS { |
| ullTransmittedFrameCount: ULONGLONG, |
| ullReceivedFrameCount: ULONGLONG, |
| ullTransmittedFailureFrameCount: ULONGLONG, |
| ullReceivedFailureFrameCount: ULONGLONG, |
| ullWEPExcludedCount: ULONGLONG, |
| ullTKIPLocalMICFailures: ULONGLONG, |
| ullTKIPReplays: ULONGLONG, |
| ullTKIPICVErrorCount: ULONGLONG, |
| ullCCMPReplays: ULONGLONG, |
| ullCCMPDecryptErrors: ULONGLONG, |
| ullWEPUndecryptableCount: ULONGLONG, |
| ullWEPICVErrorCount: ULONGLONG, |
| ullDecryptSuccessCount: ULONGLONG, |
| ullDecryptFailureCount: ULONGLONG, |
| }} |
| pub type PDOT11_MAC_FRAME_STATISTICS = *mut DOT11_MAC_FRAME_STATISTICS; |
| STRUCT!{struct DOT11_STATISTICS { |
| Header: NDIS_OBJECT_HEADER, |
| ullFourWayHandshakeFailures: ULONGLONG, |
| ullTKIPCounterMeasuresInvoked: ULONGLONG, |
| ullReserved: ULONGLONG, |
| MacUcastCounters: DOT11_MAC_FRAME_STATISTICS, |
| MacMcastCounters: DOT11_MAC_FRAME_STATISTICS, |
| PhyCounters: [DOT11_PHY_FRAME_STATISTICS; 1], |
| }} |
| pub type PDOT11_STATISTICS = *mut DOT11_STATISTICS; |
| pub const DOT11_STATISTICS_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_PRIVACY_EXEMPTION_LIST: u32 = |
| NWF_DEFINE_OID!(132, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_PRIVACY_EXEMPTION { |
| usEtherType: USHORT, |
| usExemptionActionType: USHORT, |
| usExemptionPacketType: USHORT, |
| }} |
| pub type PDOT11_PRIVACY_EXEMPTION = *mut DOT11_PRIVACY_EXEMPTION; |
| pub const DOT11_EXEMPT_NO_EXEMPTION: USHORT = 0; |
| pub const DOT11_EXEMPT_ALWAYS: USHORT = 1; |
| pub const DOT11_EXEMPT_ON_KEY_MAPPING_KEY_UNAVAILABLE: USHORT = 2; |
| pub const DOT11_EXEMPT_UNICAST: USHORT = 1; |
| pub const DOT11_EXEMPT_MULTICAST: USHORT = 2; |
| pub const DOT11_EXEMPT_BOTH: USHORT = 3; |
| STRUCT!{struct DOT11_PRIVACY_EXEMPTION_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| PrivacyExemptionEntries: [DOT11_PRIVACY_EXEMPTION; 1], |
| }} |
| pub type PDOT11_PRIVACY_EXEMPTION_LIST = *mut DOT11_PRIVACY_EXEMPTION_LIST; |
| pub const DOT11_PRIVACY_EXEMPTION_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_ENABLED_AUTHENTICATION_ALGORITHM: u32 = |
| NWF_DEFINE_OID!(133, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_AUTH_ALGORITHM_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| AlgorithmIds: [DOT11_AUTH_ALGORITHM; 1], |
| }} |
| pub type PDOT11_AUTH_ALGORITHM_LIST = *mut DOT11_AUTH_ALGORITHM_LIST; |
| pub const DOT11_AUTH_ALGORITHM_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_SUPPORTED_UNICAST_ALGORITHM_PAIR: u32 = |
| NWF_DEFINE_OID!(134, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_AUTH_CIPHER_PAIR_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| AuthCipherPairs: [DOT11_AUTH_CIPHER_PAIR; 1], |
| }} |
| pub type PDOT11_AUTH_CIPHER_PAIR_LIST = *mut DOT11_AUTH_CIPHER_PAIR_LIST; |
| pub const DOT11_AUTH_CIPHER_PAIR_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_ENABLED_UNICAST_CIPHER_ALGORITHM: u32 = |
| NWF_DEFINE_OID!(135, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_CIPHER_ALGORITHM_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| AlgorithmIds: [DOT11_CIPHER_ALGORITHM; 1], |
| }} |
| pub type PDOT11_CIPHER_ALGORITHM_LIST = *mut DOT11_CIPHER_ALGORITHM_LIST; |
| pub const DOT11_CIPHER_ALGORITHM_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_SUPPORTED_MULTICAST_ALGORITHM_PAIR: u32 = |
| NWF_DEFINE_OID!(136, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_ENABLED_MULTICAST_CIPHER_ALGORITHM: u32 = |
| NWF_DEFINE_OID!(137, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_CIPHER_DEFAULT_KEY_ID: u32 = |
| NWF_DEFINE_OID!(138, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_CIPHER_DEFAULT_KEY: u32 = |
| NWF_DEFINE_OID!(139, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_CIPHER_DEFAULT_KEY_VALUE { |
| Header: NDIS_OBJECT_HEADER, |
| uKeyIndex: ULONG, |
| AlgorithmId: DOT11_CIPHER_ALGORITHM, |
| MacAddr: DOT11_MAC_ADDRESS, |
| bDelete: BOOLEAN, |
| bStatic: BOOLEAN, |
| usKeyLength: USHORT, |
| ucKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_CIPHER_DEFAULT_KEY_VALUE = *mut DOT11_CIPHER_DEFAULT_KEY_VALUE; |
| pub const DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_KEY_ALGO_TKIP_MIC { |
| ucIV48Counter: [UCHAR; 6], |
| ulTKIPKeyLength: ULONG, |
| ulMICKeyLength: ULONG, |
| ucTKIPMICKeys: [UCHAR; 1], |
| }} |
| pub type PDOT11_KEY_ALGO_TKIP_MIC = *mut DOT11_KEY_ALGO_TKIP_MIC; |
| STRUCT!{struct DOT11_KEY_ALGO_CCMP { |
| ucIV48Counter: [UCHAR; 6], |
| ulCCMPKeyLength: ULONG, |
| ucCCMPKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_KEY_ALGO_CCMP = *mut DOT11_KEY_ALGO_CCMP; |
| STRUCT!{struct DOT11_KEY_ALGO_GCMP { |
| ucIV48Counter: [UCHAR; 6], |
| ulGCMPKeyLength: ULONG, |
| ucGCMPKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_KEY_ALGO_GCMP = *mut DOT11_KEY_ALGO_GCMP; |
| STRUCT!{struct DOT11_KEY_ALGO_BIP { |
| ucIPN: [UCHAR; 6], |
| ulBIPKeyLength: ULONG, |
| ucBIPKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_KEY_ALGO_BIP = *mut DOT11_KEY_ALGO_BIP; |
| pub const OID_DOT11_CIPHER_KEY_MAPPING_KEY: u32 = |
| NWF_DEFINE_OID!(140, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| ENUM!{enum DOT11_DIRECTION { |
| DOT11_DIR_INBOUND = 1, |
| DOT11_DIR_OUTBOUND = 2, |
| DOT11_DIR_BOTH = 3, |
| }} |
| pub type PDOT11_DIRECTION = *mut DOT11_DIRECTION; |
| pub const DOT11_CIPHER_KEY_MAPPING_KEY_VALUE_BYTE_ARRAY_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_CIPHER_KEY_MAPPING_KEY_VALUE { |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| AlgorithmId: DOT11_CIPHER_ALGORITHM, |
| Direction: DOT11_DIRECTION, |
| bDelete: BOOLEAN, |
| bStatic: BOOLEAN, |
| usKeyLength: USHORT, |
| ucKey: [UCHAR; 1], |
| }} |
| pub type PDOT11_CIPHER_KEY_MAPPING_KEY_VALUE = *mut DOT11_CIPHER_KEY_MAPPING_KEY_VALUE; |
| pub const OID_DOT11_ENUM_ASSOCIATION_INFO: u32 = |
| NWF_DEFINE_OID!(141, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| ENUM!{enum DOT11_ASSOCIATION_STATE { |
| dot11_assoc_state_zero = 0, |
| dot11_assoc_state_unauth_unassoc = 1, |
| dot11_assoc_state_auth_unassoc = 2, |
| dot11_assoc_state_auth_assoc = 3, |
| }} |
| pub type PDOT11_ASSOCIATION_STATE = *mut DOT11_ASSOCIATION_STATE; |
| STRUCT!{struct DOT11_ASSOCIATION_INFO_EX { |
| PeerMacAddress: DOT11_MAC_ADDRESS, |
| BSSID: DOT11_MAC_ADDRESS, |
| usCapabilityInformation: USHORT, |
| usListenInterval: USHORT, |
| ucPeerSupportedRates: [UCHAR; 255], |
| usAssociationID: USHORT, |
| dot11AssociationState: DOT11_ASSOCIATION_STATE, |
| dot11PowerMode: DOT11_POWER_MODE, |
| liAssociationUpTime: LARGE_INTEGER, |
| ullNumOfTxPacketSuccesses: ULONGLONG, |
| ullNumOfTxPacketFailures: ULONGLONG, |
| ullNumOfRxPacketSuccesses: ULONGLONG, |
| ullNumOfRxPacketFailures: ULONGLONG, |
| }} |
| pub type PDOT11_ASSOCIATION_INFO_EX = *mut DOT11_ASSOCIATION_INFO_EX; |
| STRUCT!{struct DOT11_ASSOCIATION_INFO_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11AssocInfo: [DOT11_ASSOCIATION_INFO_EX; 1], |
| }} |
| pub type PDOT11_ASSOCIATION_INFO_LIST = *mut DOT11_ASSOCIATION_INFO_LIST; |
| pub const DOT11_ASSOCIATION_INFO_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_DISCONNECT_REQUEST: u32 = |
| NWF_DEFINE_OID!(142, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_UNICAST_USE_GROUP_ENABLED: u32 = |
| NWF_DEFINE_OID!(143, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_HARDWARE_PHY_STATE: u32 = |
| NWF_DEFINE_OID!(144, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_DESIRED_PHY_LIST: u32 = |
| NWF_DEFINE_OID!(145, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_PHY_ID_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| dot11PhyId: [ULONG; 1], |
| }} |
| pub type PDOT11_PHY_ID_LIST = *mut DOT11_PHY_ID_LIST; |
| pub const DOT11_PHY_ID_LIST_REVISION_1: UCHAR = 1; |
| pub const DOT11_PHY_ID_ANY: ULONG = 0xffffffff; |
| pub const OID_DOT11_CURRENT_PHY_ID: u32 = |
| NWF_DEFINE_OID!(146, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_MEDIA_STREAMING_ENABLED: u32 = |
| NWF_DEFINE_OID!(147, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_UNREACHABLE_DETECTION_THRESHOLD: u32 = |
| NWF_DEFINE_OID!(148, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_ACTIVE_PHY_LIST: u32 = |
| NWF_DEFINE_OID!(149, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_EXTSTA_CAPABILITY: u32 = |
| NWF_DEFINE_OID!(150, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_EXTSTA_CAPABILITY { |
| Header: NDIS_OBJECT_HEADER, |
| uScanSSIDListSize: ULONG, |
| uDesiredBSSIDListSize: ULONG, |
| uDesiredSSIDListSize: ULONG, |
| uExcludedMacAddressListSize: ULONG, |
| uPrivacyExemptionListSize: ULONG, |
| uKeyMappingTableSize: ULONG, |
| uDefaultKeyTableSize: ULONG, |
| uWEPKeyValueMaxLength: ULONG, |
| uPMKIDCacheSize: ULONG, |
| uMaxNumPerSTADefaultKeyTables: ULONG, |
| }} |
| pub type PDOT11_EXTSTA_CAPABILITY = *mut DOT11_EXTSTA_CAPABILITY; |
| pub const DOT11_EXTSTA_CAPABILITY_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_DATA_RATE_MAPPING_TABLE: u32 = |
| NWF_DEFINE_OID!(151, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_DATA_RATE_MAPPING_ENTRY { |
| ucDataRateIndex: UCHAR, |
| ucDataRateFlag: UCHAR, |
| usDataRateValue: USHORT, |
| }} |
| pub type PDOT11_DATA_RATE_MAPPING_ENTRY = *mut DOT11_DATA_RATE_MAPPING_ENTRY; |
| STRUCT!{struct DOT11_DATA_RATE_MAPPING_TABLE { |
| Header: NDIS_OBJECT_HEADER, |
| uDataRateMappingLength: ULONG, |
| DataRateMappingEntries: [DOT11_DATA_RATE_MAPPING_ENTRY; DOT11_RATE_SET_MAX_LENGTH], |
| }} |
| pub type PDOT11_DATA_RATE_MAPPING_TABLE = *mut DOT11_DATA_RATE_MAPPING_TABLE; |
| pub const DOT11_DATA_RATE_MAPPING_TABLE_REVISION_1: UCHAR = 1; |
| pub const DOT11_DATA_RATE_NON_STANDARD: UCHAR = 0x01; |
| pub const DOT11_DATA_RATE_INDEX_MASK: UCHAR = 0x7f; |
| pub const OID_DOT11_SUPPORTED_COUNTRY_OR_REGION_STRING: u32 = |
| NWF_DEFINE_OID!(152, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_COUNTRY_OR_REGION_STRING_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| CountryOrRegionStrings: [DOT11_COUNTRY_OR_REGION_STRING; 1], |
| }} |
| pub type PDOT11_COUNTRY_OR_REGION_STRING_LIST = *mut DOT11_COUNTRY_OR_REGION_STRING_LIST; |
| pub const DOT11_COUNTRY_OR_REGION_STRING_LIST_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_DESIRED_COUNTRY_OR_REGION_STRING: u32 = |
| NWF_DEFINE_OID!(153, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_PORT_STATE_NOTIFICATION: u32 = |
| NWF_DEFINE_OID!(154, NWF_OPERATIONAL_OID, NWF_OPTIONAL_OID); |
| STRUCT!{struct DOT11_PORT_STATE_NOTIFICATION { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMac: DOT11_MAC_ADDRESS, |
| bOpen: BOOLEAN, |
| }} |
| pub type PDOT11_PORT_STATE_NOTIFICATION = *mut DOT11_PORT_STATE_NOTIFICATION; |
| pub const DOT11_PORT_STATE_NOTIFICATION_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_IBSS_PARAMS: u32 = |
| NWF_DEFINE_OID!(155, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_IBSS_PARAMS { |
| Header: NDIS_OBJECT_HEADER, |
| bJoinOnly: BOOLEAN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_IBSS_PARAMS = *mut DOT11_IBSS_PARAMS; |
| pub const DOT11_IBSS_PARAMS_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_QOS_PARAMS: u32 = NWF_DEFINE_OID!(156, NWF_OPERATIONAL_OID, NWF_OPTIONAL_OID); |
| STRUCT!{struct DOT11_QOS_PARAMS { |
| Header: NDIS_OBJECT_HEADER, |
| ucEnabledQoSProtocolFlags: UCHAR, |
| }} |
| pub type PDOT11_QOS_PARAMS = *mut DOT11_QOS_PARAMS; |
| pub const DOT11_QOS_PARAMS_REVISION_1: UCHAR = 1; |
| pub const DOT11_QOS_PROTOCOL_FLAG_WMM: UCHAR = 0x01; |
| pub const DOT11_QOS_PROTOCOL_FLAG_11E: UCHAR = 0x02; |
| pub const OID_DOT11_SAFE_MODE_ENABLED: u32 = |
| NWF_DEFINE_OID!(157, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_HIDDEN_NETWORK_ENABLED: u32 = |
| NWF_DEFINE_OID!(158, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_ASSOCIATION_PARAMS: u32 = |
| NWF_DEFINE_OID!(159, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_ASSOCIATION_PARAMS { |
| Header: NDIS_OBJECT_HEADER, |
| BSSID: DOT11_MAC_ADDRESS, |
| uAssocRequestIEsOffset: ULONG, |
| uAssocRequestIEsLength: ULONG, |
| }} |
| pub type PDOT11_ASSOCIATION_PARAMS = *mut DOT11_ASSOCIATION_PARAMS; |
| pub const DOT11_ASSOCIATION_PARAMS_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_SAFE_MODE_HT_ENABLED: u32 = |
| NWF_DEFINE_OID!(160, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |
| pub const DOT11_MAX_NUM_OF_FRAGMENTS: USHORT = 16; |
| pub const DOT11_PRIORITY_CONTENTION: i32 = 0; |
| pub const DOT11_PRIORITY_CONTENTION_FREE: i32 = 1; |
| pub const DOT11_SERVICE_CLASS_REORDERABLE_MULTICAST: i32 = 0; |
| pub const DOT11_SERVICE_CLASS_STRICTLY_ORDERED: i32 = 1; |
| pub const DOT11_FLAGS_80211B_SHORT_PREAMBLE: u32 = 0x00000001; |
| pub const DOT11_FLAGS_80211B_PBCC: u32 = 0x00000002; |
| pub const DOT11_FLAGS_80211B_CHANNEL_AGILITY: u32 = 0x00000004; |
| pub const DOT11_FLAGS_PS_ON: u32 = 0x00000008; |
| pub const DOT11_FLAGS_80211G_DSSS_OFDM: u32 = 0x00000010; |
| pub const DOT11_FLAGS_80211G_USE_PROTECTION: u32 = 0x00000020; |
| pub const DOT11_FLAGS_80211G_NON_ERP_PRESENT: u32 = 0x00000040; |
| pub const DOT11_FLAGS_80211G_BARKER_PREAMBLE_MODE: u32 = 0x00000080; |
| pub const DOT11_WME_PACKET: u32 = 0x00000100; |
| STRUCT!{struct DOT11_FRAGMENT_DESCRIPTOR { |
| uOffset: ULONG, |
| uLength: ULONG, |
| }} |
| pub type PDOT11_FRAGMENT_DESCRIPTOR = *mut DOT11_FRAGMENT_DESCRIPTOR; |
| STRUCT!{struct DOT11_PER_MSDU_COUNTERS { |
| uTransmittedFragmentCount: ULONG, |
| uRetryCount: ULONG, |
| uRTSSuccessCount: ULONG, |
| uRTSFailureCount: ULONG, |
| uACKFailureCount: ULONG, |
| }} |
| pub type PDOT11_PER_MSDU_COUNTERS = *mut DOT11_PER_MSDU_COUNTERS; |
| STRUCT!{struct DOT11_HRDSSS_PHY_ATTRIBUTES { |
| bShortPreambleOptionImplemented: BOOLEAN, |
| bPBCCOptionImplemented: BOOLEAN, |
| bChannelAgilityPresent: BOOLEAN, |
| uHRCCAModeSupported: ULONG, |
| }} |
| pub type PDOT11_HRDSSS_PHY_ATTRIBUTES = *mut DOT11_HRDSSS_PHY_ATTRIBUTES; |
| STRUCT!{struct DOT11_OFDM_PHY_ATTRIBUTES { |
| uFrequencyBandsSupported: ULONG, |
| }} |
| pub type PDOT11_OFDM_PHY_ATTRIBUTES = *mut DOT11_OFDM_PHY_ATTRIBUTES; |
| STRUCT!{struct DOT11_ERP_PHY_ATTRIBUTES { |
| HRDSSSAttributes: DOT11_HRDSSS_PHY_ATTRIBUTES, |
| bERPPBCCOptionImplemented: BOOLEAN, |
| bDSSSOFDMOptionImplemented: BOOLEAN, |
| bShortSlotTimeOptionImplemented: BOOLEAN, |
| }} |
| pub type PDOT11_ERP_PHY_ATTRIBUTES = *mut DOT11_ERP_PHY_ATTRIBUTES; |
| pub const DOT11_PHY_ATTRIBUTES_REVISION_1: UCHAR = 1; |
| UNION!{union DOT11_PHY_ATTRIBUTES_u { |
| [u32; 3], |
| HRDSSSAttributes HRDSSSAttributes_mut: DOT11_HRDSSS_PHY_ATTRIBUTES, |
| OFDMAttributes OFDMAttributes_mut: DOT11_OFDM_PHY_ATTRIBUTES, |
| ERPAttributes ERPAttributes_mut: DOT11_ERP_PHY_ATTRIBUTES, |
| }} |
| STRUCT!{struct DOT11_PHY_ATTRIBUTES { |
| Header: NDIS_OBJECT_HEADER, |
| PhyType: DOT11_PHY_TYPE, |
| bHardwarePhyState: BOOLEAN, |
| bSoftwarePhyState: BOOLEAN, |
| bCFPollable: BOOLEAN, |
| uMPDUMaxLength: ULONG, |
| TempType: DOT11_TEMP_TYPE, |
| DiversitySupport: DOT11_DIVERSITY_SUPPORT, |
| u: DOT11_PHY_ATTRIBUTES_u, |
| uNumberSupportedPowerLevels: ULONG, |
| TxPowerLevels: [ULONG; 8], |
| uNumDataRateMappingEntries: ULONG, |
| DataRateMappingEntries: [DOT11_DATA_RATE_MAPPING_ENTRY; DOT11_RATE_SET_MAX_LENGTH], |
| SupportedDataRatesValue: DOT11_SUPPORTED_DATA_RATES_VALUE_V2, |
| }} |
| pub type PDOT11_PHY_ATTRIBUTES = *mut DOT11_PHY_ATTRIBUTES; |
| pub const DOT11_EXTSTA_ATTRIBUTES_SAFEMODE_OID_SUPPORTED: UINT8 = 0x1; |
| pub const DOT11_EXTSTA_ATTRIBUTES_SAFEMODE_CERTIFIED: UINT8 = 0x2; |
| pub const DOT11_EXTSTA_ATTRIBUTES_SAFEMODE_RESERVED: UINT8 = 0xC; |
| pub const DOT11_EXTSTA_ATTRIBUTES_REVISION_1: UCHAR = 1; |
| pub const DOT11_EXTSTA_ATTRIBUTES_REVISION_2: UCHAR = 2; |
| pub const DOT11_EXTSTA_ATTRIBUTES_REVISION_3: UCHAR = 3; |
| pub const DOT11_EXTSTA_ATTRIBUTES_REVISION_4: UCHAR = 4; |
| STRUCT!{struct DOT11_EXTSTA_ATTRIBUTES { |
| Header: NDIS_OBJECT_HEADER, |
| uScanSSIDListSize: ULONG, |
| uDesiredBSSIDListSize: ULONG, |
| uDesiredSSIDListSize: ULONG, |
| uExcludedMacAddressListSize: ULONG, |
| uPrivacyExemptionListSize: ULONG, |
| uKeyMappingTableSize: ULONG, |
| uDefaultKeyTableSize: ULONG, |
| uWEPKeyValueMaxLength: ULONG, |
| uPMKIDCacheSize: ULONG, |
| uMaxNumPerSTADefaultKeyTables: ULONG, |
| bStrictlyOrderedServiceClassImplemented: BOOLEAN, |
| ucSupportedQoSProtocolFlags: UCHAR, |
| bSafeModeImplemented: BOOLEAN, |
| uNumSupportedCountryOrRegionStrings: ULONG, |
| pSupportedCountryOrRegionStrings: PDOT11_COUNTRY_OR_REGION_STRING, |
| uInfraNumSupportedUcastAlgoPairs: ULONG, |
| pInfraSupportedUcastAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| uInfraNumSupportedMcastAlgoPairs: ULONG, |
| pInfraSupportedMcastAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| uAdhocNumSupportedUcastAlgoPairs: ULONG, |
| pAdhocSupportedUcastAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| uAdhocNumSupportedMcastAlgoPairs: ULONG, |
| pAdhocSupportedMcastAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| bAutoPowerSaveMode: BOOLEAN, |
| uMaxNetworkOffloadListSize: ULONG, |
| bMFPCapable: BOOLEAN, |
| uInfraNumSupportedMcastMgmtAlgoPairs: ULONG, |
| pInfraSupportedMcastMgmtAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| bNeighborReportSupported: BOOLEAN, |
| bAPChannelReportSupported: BOOLEAN, |
| bActionFramesSupported: BOOLEAN, |
| bANQPQueryOffloadSupported: BOOLEAN, |
| bHESSIDConnectionSupported: BOOLEAN, |
| }} |
| pub type PDOT11_EXTSTA_ATTRIBUTES = *mut DOT11_EXTSTA_ATTRIBUTES; |
| STRUCT!{struct DOT11_RECV_EXTENSION_INFO { |
| uVersion: ULONG, |
| pvReserved: PVOID, |
| dot11PhyType: DOT11_PHY_TYPE, |
| uChCenterFrequency: ULONG, |
| lRSSI: LONG, |
| lRSSIMin: LONG, |
| lRSSIMax: LONG, |
| uRSSI: ULONG, |
| ucPriority: UCHAR, |
| ucDataRate: UCHAR, |
| ucPeerMacAddress: [UCHAR; 6], |
| dwExtendedStatus: ULONG, |
| hWEPOffloadContext: HANDLE, |
| hAuthOffloadContext: HANDLE, |
| usWEPAppliedMask: USHORT, |
| usWPAMSDUPriority: USHORT, |
| dot11LowestIV48Counter: DOT11_IV48_COUNTER, |
| usDot11LeftRWBitMap: USHORT, |
| dot11HighestIV48Counter: DOT11_IV48_COUNTER, |
| usDot11RightRWBitMap: USHORT, |
| usNumberOfMPDUsReceived: USHORT, |
| usNumberOfFragments: USHORT, |
| pNdisPackets: [PVOID; 1], |
| }} |
| pub type PDOT11_RECV_EXTENSION_INFO = *mut DOT11_RECV_EXTENSION_INFO; |
| STRUCT!{struct DOT11_RECV_EXTENSION_INFO_V2 { |
| uVersion: ULONG, |
| pvReserved: PVOID, |
| dot11PhyType: DOT11_PHY_TYPE, |
| uChCenterFrequency: ULONG, |
| lRSSI: LONG, |
| uRSSI: ULONG, |
| ucPriority: UCHAR, |
| ucDataRate: UCHAR, |
| ucPeerMacAddress: [UCHAR; 6], |
| dwExtendedStatus: ULONG, |
| hWEPOffloadContext: HANDLE, |
| hAuthOffloadContext: HANDLE, |
| usWEPAppliedMask: USHORT, |
| usWPAMSDUPriority: USHORT, |
| dot11LowestIV48Counter: DOT11_IV48_COUNTER, |
| usDot11LeftRWBitMap: USHORT, |
| dot11HighestIV48Counter: DOT11_IV48_COUNTER, |
| usDot11RightRWBitMap: USHORT, |
| usNumberOfMPDUsReceived: USHORT, |
| usNumberOfFragments: USHORT, |
| pNdisPackets: [PVOID; 1], |
| }} |
| pub type PDOT11_RECV_EXTENSION_INFO_V2 = *mut DOT11_RECV_EXTENSION_INFO_V2; |
| pub const DOT11_STATUS_SUCCESS: NDIS_STATUS = 0x00000001; |
| pub const DOT11_STATUS_RETRY_LIMIT_EXCEEDED: NDIS_STATUS = 0x00000002; |
| pub const DOT11_STATUS_UNSUPPORTED_PRIORITY: NDIS_STATUS = 0x00000004; |
| pub const DOT11_STATUS_UNSUPPORTED_SERVICE_CLASS: NDIS_STATUS = 0x00000008; |
| pub const DOT11_STATUS_UNAVAILABLE_PRIORITY: NDIS_STATUS = 0x00000010; |
| pub const DOT11_STATUS_UNAVAILABLE_SERVICE_CLASS: NDIS_STATUS = 0x00000020; |
| pub const DOT11_STATUS_XMIT_MSDU_TIMER_EXPIRED: NDIS_STATUS = 0x00000040; |
| pub const DOT11_STATUS_UNAVAILABLE_BSS: NDIS_STATUS = 0x00000080; |
| pub const DOT11_STATUS_EXCESSIVE_DATA_LENGTH: NDIS_STATUS = 0x00000100; |
| pub const DOT11_STATUS_ENCRYPTION_FAILED: NDIS_STATUS = 0x00000200; |
| pub const DOT11_STATUS_WEP_KEY_UNAVAILABLE: NDIS_STATUS = 0x00000400; |
| pub const DOT11_STATUS_ICV_VERIFIED: NDIS_STATUS = 0x00000800; |
| pub const DOT11_STATUS_PACKET_REASSEMBLED: NDIS_STATUS = 0x00001000; |
| pub const DOT11_STATUS_PACKET_NOT_REASSEMBLED: NDIS_STATUS = 0x00002000; |
| pub const DOT11_STATUS_GENERATE_AUTH_FAILED: NDIS_STATUS = 0x00004000; |
| pub const DOT11_STATUS_AUTH_NOT_VERIFIED: NDIS_STATUS = 0x00008000; |
| pub const DOT11_STATUS_AUTH_VERIFIED: NDIS_STATUS = 0x00010000; |
| pub const DOT11_STATUS_AUTH_FAILED: NDIS_STATUS = 0x00020000; |
| pub const DOT11_STATUS_PS_LIFETIME_EXPIRED: NDIS_STATUS = 0x00040000; |
| STRUCT!{struct DOT11_STATUS_INDICATION { |
| uStatusType: ULONG, |
| ndisStatus: NDIS_STATUS, |
| }} |
| pub type PDOT11_STATUS_INDICATION = *mut DOT11_STATUS_INDICATION; |
| pub const DOT11_STATUS_RESET_CONFIRM: ULONG = 4; |
| pub const DOT11_STATUS_SCAN_CONFIRM: ULONG = 1; |
| pub const DOT11_STATUS_JOIN_CONFIRM: ULONG = 2; |
| pub const DOT11_STATUS_START_CONFIRM: ULONG = 3; |
| pub const DOT11_STATUS_AP_JOIN_CONFIRM: ULONG = 5; |
| pub const DOT11_STATUS_MPDU_MAX_LENGTH_CHANGED: ULONG = 6; |
| STRUCT!{struct DOT11_MPDU_MAX_LENGTH_INDICATION { |
| Header: NDIS_OBJECT_HEADER, |
| uPhyId: ULONG, |
| uMPDUMaxLength: ULONG, |
| }} |
| pub type PDOT11_MPDU_MAX_LENGTH_INDICATION = *mut DOT11_MPDU_MAX_LENGTH_INDICATION; |
| pub const DOT11_MPDU_MAX_LENGTH_INDICATION_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_ASSOCIATION_START_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| MacAddr: DOT11_MAC_ADDRESS, |
| SSID: DOT11_SSID, |
| uIHVDataOffset: ULONG, |
| uIHVDataSize: ULONG, |
| }} |
| pub type PDOT11_ASSOCIATION_START_PARAMETERS = *mut DOT11_ASSOCIATION_START_PARAMETERS; |
| pub const DOT11_ASSOCIATION_START_PARAMETERS_REVISION_1: UCHAR = 1; |
| pub const DOT11_ENCAP_RFC_1042: USHORT = 1; |
| pub const DOT11_ENCAP_802_1H: USHORT = 2; |
| STRUCT!{struct DOT11_ENCAP_ENTRY { |
| usEtherType: USHORT, |
| usEncapType: USHORT, |
| }} |
| pub type PDOT11_ENCAP_ENTRY = *mut DOT11_ENCAP_ENTRY; |
| ENUM!{enum DOT11_DS_INFO { |
| DOT11_DS_CHANGED = 0, |
| DOT11_DS_UNCHANGED = 1, |
| DOT11_DS_UNKNOWN = 2, |
| }} |
| pub type PDOT11_DS_INFO = *mut DOT11_DS_INFO; |
| pub type DOT11_ASSOC_STATUS = ULONG; |
| pub const DOT11_ASSOC_STATUS_SUCCESS: DOT11_ASSOC_STATUS = 0; |
| pub const DOT11_ASSOC_STATUS_FAILURE: DOT11_ASSOC_STATUS = 0x00000001; |
| pub const DOT11_ASSOC_STATUS_UNREACHABLE: DOT11_ASSOC_STATUS = 0x00000002; |
| pub const DOT11_ASSOC_STATUS_RADIO_OFF: DOT11_ASSOC_STATUS = 0x00000003; |
| pub const DOT11_ASSOC_STATUS_PHY_DISABLED: DOT11_ASSOC_STATUS = 0x00000004; |
| pub const DOT11_ASSOC_STATUS_CANCELLED: DOT11_ASSOC_STATUS = 0x00000005; |
| pub const DOT11_ASSOC_STATUS_CANDIDATE_LIST_EXHAUSTED: DOT11_ASSOC_STATUS = 0x00000006; |
| pub const DOT11_ASSOC_STATUS_DISASSOCIATED_BY_OS: DOT11_ASSOC_STATUS = 0x00000007; |
| pub const DOT11_ASSOC_STATUS_DISASSOCIATED_BY_ROAMING: DOT11_ASSOC_STATUS = 0x00000008; |
| pub const DOT11_ASSOC_STATUS_DISASSOCIATED_BY_RESET: DOT11_ASSOC_STATUS = 0x00000009; |
| pub const DOT11_ASSOC_STATUS_SYSTEM_ERROR: DOT11_ASSOC_STATUS = 0x0000000a; |
| pub const DOT11_ASSOC_STATUS_ROAMING_BETTER_AP_FOUND: DOT11_ASSOC_STATUS = 0x0000000b; |
| pub const DOT11_ASSOC_STATUS_ROAMING_ASSOCIATION_LOST: DOT11_ASSOC_STATUS = 0x0000000c; |
| pub const DOT11_ASSOC_STATUS_ROAMING_ADHOC: DOT11_ASSOC_STATUS = 0x0000000d; |
| pub const DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED: DOT11_ASSOC_STATUS = 0x00010000; |
| pub const DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED_START: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED; |
| pub const DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED_END: DOT11_ASSOC_STATUS = 0x0001ffff; |
| pub const DOT11_ASSOC_STATUS_PEER_DISASSOCIATED: DOT11_ASSOC_STATUS = 0x00020000; |
| pub const DOT11_ASSOC_STATUS_PEER_DISASSOCIATED_START: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_PEER_DISASSOCIATED; |
| pub const DOT11_ASSOC_STATUS_PEER_DISASSOCIATED_END: DOT11_ASSOC_STATUS = 0x0002ffff; |
| pub const DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE: DOT11_ASSOC_STATUS = 0x00030000; |
| pub const DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE_START: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE; |
| pub const DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE_END: DOT11_ASSOC_STATUS = 0x0003ffff; |
| pub const DOT11_ASSOC_STATUS_REASON_CODE_MASK: DOT11_ASSOC_STATUS = 0xffff; |
| pub const DOT11_ASSOC_STATUS_IHV_START: DOT11_ASSOC_STATUS = 0x80000000; |
| pub const DOT11_ASSOC_STATUS_IHV_END: DOT11_ASSOC_STATUS = 0xffffffff; |
| STRUCT!{struct DOT11_ASSOCIATION_COMPLETION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| MacAddr: DOT11_MAC_ADDRESS, |
| uStatus: DOT11_ASSOC_STATUS, |
| bReAssocReq: BOOLEAN, |
| bReAssocResp: BOOLEAN, |
| uAssocReqOffset: ULONG, |
| uAssocReqSize: ULONG, |
| uAssocRespOffset: ULONG, |
| uAssocRespSize: ULONG, |
| uBeaconOffset: ULONG, |
| uBeaconSize: ULONG, |
| uIHVDataOffset: ULONG, |
| uIHVDataSize: ULONG, |
| AuthAlgo: DOT11_AUTH_ALGORITHM, |
| UnicastCipher: DOT11_CIPHER_ALGORITHM, |
| MulticastCipher: DOT11_CIPHER_ALGORITHM, |
| uActivePhyListOffset: ULONG, |
| uActivePhyListSize: ULONG, |
| bFourAddressSupported: BOOLEAN, |
| bPortAuthorized: BOOLEAN, |
| ucActiveQoSProtocol: UCHAR, |
| DSInfo: DOT11_DS_INFO, |
| uEncapTableOffset: ULONG, |
| uEncapTableSize: ULONG, |
| MulticastMgmtCipher: DOT11_CIPHER_ALGORITHM, |
| uAssocComebackTime: ULONG, |
| }} |
| pub type PDOT11_ASSOCIATION_COMPLETION_PARAMETERS = *mut DOT11_ASSOCIATION_COMPLETION_PARAMETERS; |
| pub const DOT11_ASSOCIATION_COMPLETION_PARAMETERS_REVISION_1: UCHAR = 1; |
| pub const DOT11_ASSOCIATION_COMPLETION_PARAMETERS_REVISION_2: UCHAR = 2; |
| STRUCT!{struct DOT11_CONNECTION_START_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| BSSType: DOT11_BSS_TYPE, |
| AdhocBSSID: DOT11_MAC_ADDRESS, |
| AdhocSSID: DOT11_SSID, |
| }} |
| pub type PDOT11_CONNECTION_START_PARAMETERS = *mut DOT11_CONNECTION_START_PARAMETERS; |
| pub const DOT11_CONNECTION_START_PARAMETERS_REVISION_1: UCHAR = 1; |
| pub const DOT11_CONNECTION_STATUS_SUCCESS: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_SUCCESS; |
| pub const DOT11_CONNECTION_STATUS_FAILURE: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_FAILURE; |
| pub const DOT11_CONNECTION_STATUS_CANDIDATE_LIST_EXHAUSTED: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_CANDIDATE_LIST_EXHAUSTED; |
| pub const DOT11_CONNECTION_STATUS_PHY_POWER_DOWN: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_RADIO_OFF; |
| pub const DOT11_CONNECTION_STATUS_CANCELLED: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_CANCELLED; |
| pub const DOT11_CONNECTION_STATUS_IHV_START: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_IHV_START; |
| pub const DOT11_CONNECTION_STATUS_IHV_END: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_IHV_END; |
| STRUCT!{struct DOT11_CONNECTION_COMPLETION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| uStatus: DOT11_ASSOC_STATUS, |
| }} |
| pub type PDOT11_CONNECTION_COMPLETION_PARAMETERS = *mut DOT11_CONNECTION_COMPLETION_PARAMETERS; |
| pub const DOT11_CONNECTION_COMPLETION_PARAMETERS_REVISION_1: UCHAR = 1; |
| pub const DOT11_ROAMING_REASON_BETTER_AP_FOUND: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_ROAMING_BETTER_AP_FOUND; |
| pub const DOT11_ROAMING_REASON_ASSOCIATION_LOST: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_ROAMING_ASSOCIATION_LOST; |
| pub const DOT11_ROAMING_REASON_ADHOC: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_ROAMING_ADHOC; |
| pub const DOT11_ROAMING_REASON_IHV_START: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_IHV_START; |
| pub const DOT11_ROAMING_REASON_IHV_END: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_IHV_END; |
| STRUCT!{struct DOT11_ROAMING_START_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| AdhocBSSID: DOT11_MAC_ADDRESS, |
| AdhocSSID: DOT11_SSID, |
| uRoamingReason: DOT11_ASSOC_STATUS, |
| }} |
| pub type PDOT11_ROAMING_START_PARAMETERS = *mut DOT11_ROAMING_START_PARAMETERS; |
| pub const DOT11_ROAMING_START_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_ROAMING_COMPLETION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| uStatus: DOT11_ASSOC_STATUS, |
| }} |
| pub type PDOT11_ROAMING_COMPLETION_PARAMETERS = *mut DOT11_ROAMING_COMPLETION_PARAMETERS; |
| pub const DOT11_ROAMING_COMPLETION_PARAMETERS_REVISION_1: UCHAR = 1; |
| pub const DOT11_DISASSOC_REASON_OS: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_DISASSOCIATED_BY_OS; |
| pub const DOT11_DISASSOC_REASON_PEER_UNREACHABLE: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_UNREACHABLE; |
| pub const DOT11_DISASSOC_REASON_PEER_DEAUTHENTICATED: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED; |
| pub const DOT11_DISASSOC_REASON_PEER_DISASSOCIATED: DOT11_ASSOC_STATUS = |
| DOT11_ASSOC_STATUS_PEER_DISASSOCIATED; |
| pub const DOT11_DISASSOC_REASON_RADIO_OFF: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_RADIO_OFF; |
| pub const DOT11_DISASSOC_REASON_PHY_DISABLED: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_PHY_DISABLED; |
| pub const DOT11_DISASSOC_REASON_IHV_START: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_IHV_START; |
| pub const DOT11_DISASSOC_REASON_IHV_END: DOT11_ASSOC_STATUS = DOT11_ASSOC_STATUS_IHV_END; |
| STRUCT!{struct DOT11_DISASSOCIATION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| MacAddr: DOT11_MAC_ADDRESS, |
| uReason: DOT11_ASSOC_STATUS, |
| uIHVDataOffset: ULONG, |
| uIHVDataSize: ULONG, |
| }} |
| pub type PDOT11_DISASSOCIATION_PARAMETERS = *mut DOT11_DISASSOCIATION_PARAMETERS; |
| pub const DOT11_DISASSOCIATION_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_TKIPMIC_FAILURE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| bDefaultKeyFailure: BOOLEAN, |
| uKeyIndex: ULONG, |
| PeerMac: DOT11_MAC_ADDRESS, |
| }} |
| pub type PDOT11_TKIPMIC_FAILURE_PARAMETERS = *mut DOT11_TKIPMIC_FAILURE_PARAMETERS; |
| pub const DOT11_TKIPMIC_FAILURE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_PMKID_CANDIDATE_LIST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| uCandidateListSize: ULONG, |
| uCandidateListOffset: ULONG, |
| }} |
| pub type PDOT11_PMKID_CANDIDATE_LIST_PARAMETERS = *mut DOT11_PMKID_CANDIDATE_LIST_PARAMETERS; |
| pub const DOT11_PMKID_CANDIDATE_LIST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_BSSID_CANDIDATE { |
| BSSID: DOT11_MAC_ADDRESS, |
| uFlags: ULONG, |
| }} |
| pub type PDOT11_BSSID_CANDIDATE = *mut DOT11_BSSID_CANDIDATE; |
| pub const DOT11_PMKID_CANDIDATE_PREAUTH_ENABLED: ULONG = 0x00000001; |
| STRUCT!{struct DOT11_PHY_STATE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| uPhyId: ULONG, |
| bHardwarePhyState: BOOLEAN, |
| bSoftwarePhyState: BOOLEAN, |
| }} |
| pub type PDOT11_PHY_STATE_PARAMETERS = *mut DOT11_PHY_STATE_PARAMETERS; |
| pub const DOT11_PHY_STATE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_LINK_QUALITY_ENTRY { |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| ucLinkQuality: UCHAR, |
| }} |
| pub type PDOT11_LINK_QUALITY_ENTRY = *mut DOT11_LINK_QUALITY_ENTRY; |
| STRUCT!{struct DOT11_LINK_QUALITY_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| uLinkQualityListSize: ULONG, |
| uLinkQualityListOffset: ULONG, |
| }} |
| pub type PDOT11_LINK_QUALITY_PARAMETERS = *mut DOT11_LINK_QUALITY_PARAMETERS; |
| pub const DOT11_LINK_QUALITY_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_EXTSTA_SEND_CONTEXT { |
| Header: NDIS_OBJECT_HEADER, |
| usExemptionActionType: USHORT, |
| uPhyId: ULONG, |
| uDelayedSleepValue: ULONG, |
| pvMediaSpecificInfo: PVOID, |
| uSendFlags: ULONG, |
| }} |
| pub type PDOT11_EXTSTA_SEND_CONTEXT = *mut DOT11_EXTSTA_SEND_CONTEXT; |
| pub type DOT11_EXTAP_SEND_CONTEXT = DOT11_EXTSTA_SEND_CONTEXT; |
| pub type PDOT11_EXTAP_SEND_CONTEXT = *mut DOT11_EXTSTA_SEND_CONTEXT; |
| pub const DOT11_EXTSTA_SEND_CONTEXT_REVISION_1: UCHAR = 1; |
| pub const DOT11_RECV_FLAG_RAW_PACKET: ULONG = 0x00000001; |
| pub const DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE: ULONG = 0x00000002; |
| pub const DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP: ULONG = 0x00000004; |
| pub const DOT11_EXTSTA_RECV_CONTEXT_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_EXTSTA_RECV_CONTEXT { |
| Header: NDIS_OBJECT_HEADER, |
| uReceiveFlags: ULONG, |
| uPhyId: ULONG, |
| uChCenterFrequency: ULONG, |
| usNumberOfMPDUsReceived: USHORT, |
| lRSSI: LONG, |
| ucDataRate: UCHAR, |
| uSizeMediaSpecificInfo: ULONG, |
| pvMediaSpecificInfo: PVOID, |
| ullTimestamp: ULONGLONG, |
| }} |
| pub type PDOT11_EXTSTA_RECV_CONTEXT = *mut DOT11_EXTSTA_RECV_CONTEXT; |
| pub type DOT11_EXTAP_RECV_CONTEXT = DOT11_EXTSTA_RECV_CONTEXT; |
| pub type PDOT11_EXTAP_RECV_CONTEXT = *mut DOT11_EXTSTA_RECV_CONTEXT; |
| pub const OID_DOT11_PRIVATE_OIDS_START: u32 = OID_DOT11_NDIS_START + 1024; |
| pub const OID_DOT11_CURRENT_ADDRESS: u32 = OID_DOT11_PRIVATE_OIDS_START + 2; |
| pub const OID_DOT11_PERMANENT_ADDRESS: u32 = OID_DOT11_PRIVATE_OIDS_START + 3; |
| pub const OID_DOT11_MULTICAST_LIST: u32 = OID_DOT11_PRIVATE_OIDS_START + 4; |
| pub const OID_DOT11_MAXIMUM_LIST_SIZE: u32 = OID_DOT11_PRIVATE_OIDS_START + 5; |
| macro_rules! DEFINE_NWF_GUID { |
| ($name:ident, $ord:expr) => { |
| DEFINE_GUID!{ |
| $name, 0x6cb9a43e + $ord, 0xc45f, 0x4039, 0x9f, 0xe6, 0xd0, 0x8c, 0xb0, 0x57, 0x18, |
| 0x4c |
| } |
| }; |
| } |
| DEFINE_NWF_GUID!{GUID_NWF_OFFLOAD_CAPABILITY, 0} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_OFFLOAD_CAPABILITY, 1} |
| DEFINE_NWF_GUID!{GUID_NWF_WEP_OFFLOAD, 2} |
| DEFINE_NWF_GUID!{GUID_NWF_WEP_UPLOAD, 3} |
| DEFINE_NWF_GUID!{GUID_NWF_DEFAULT_WEP_OFFLOAD, 4} |
| DEFINE_NWF_GUID!{GUID_NWF_DEFAULT_WEP_UPLOAD, 5} |
| DEFINE_NWF_GUID!{GUID_NWF_MPDU_MAX_LENGTH, 6} |
| DEFINE_NWF_GUID!{GUID_NWF_OPERATION_MODE_CAPABILITY, 7} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_OPERATION_MODE, 8} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_PACKET_FILTER, 9} |
| DEFINE_NWF_GUID!{GUID_NWF_ATIM_WINDOW, 10} |
| DEFINE_NWF_GUID!{GUID_NWF_SCAN_REQUEST, 11} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_PHY_TYPE, 12} |
| DEFINE_NWF_GUID!{GUID_NWF_JOIN_REQUEST, 13} |
| DEFINE_NWF_GUID!{GUID_NWF_START_REQUEST, 14} |
| DEFINE_NWF_GUID!{GUID_NWF_UPDATE_IE, 15} |
| DEFINE_NWF_GUID!{GUID_NWF_RESET_REQUEST, 16} |
| DEFINE_NWF_GUID!{GUID_NWF_NIC_POWER_STATE, 17} |
| DEFINE_NWF_GUID!{GUID_NWF_OPTIONAL_CAPABILITY, 18} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_OPTIONAL_CAPABILITY, 19} |
| DEFINE_NWF_GUID!{GUID_NWF_STATION_ID, 20} |
| DEFINE_NWF_GUID!{GUID_NWF_MEDIUM_OCCUPANCY_LIMIT, 21} |
| DEFINE_NWF_GUID!{GUID_NWF_CF_POLLABLE, 22} |
| DEFINE_NWF_GUID!{GUID_NWF_CFP_PERIOD, 23} |
| DEFINE_NWF_GUID!{GUID_NWF_CFP_MAX_DURATION, 24} |
| DEFINE_NWF_GUID!{GUID_NWF_POWER_MGMT_MODE, 25} |
| DEFINE_NWF_GUID!{GUID_NWF_OPERATIONAL_RATE_SET, 26} |
| DEFINE_NWF_GUID!{GUID_NWF_BEACON_PERIOD, 27} |
| DEFINE_NWF_GUID!{GUID_NWF_DTIM_PERIOD, 28} |
| DEFINE_NWF_GUID!{GUID_NWF_WEP_ICV_ERROR_COUNT, 29} |
| DEFINE_NWF_GUID!{GUID_NWF_MAC_ADDRESS, 30} |
| DEFINE_NWF_GUID!{GUID_NWF_RTS_THRESHOLD, 31} |
| DEFINE_NWF_GUID!{GUID_NWF_SHORT_RETRY_LIMIT, 32} |
| DEFINE_NWF_GUID!{GUID_NWF_LONG_RETRY_LIMIT, 33} |
| DEFINE_NWF_GUID!{GUID_NWF_FRAGMENTATION_THRESHOLD, 34} |
| DEFINE_NWF_GUID!{GUID_NWF_MAX_TRANSMIT_MSDU_LIFETIME, 35} |
| DEFINE_NWF_GUID!{GUID_NWF_MAX_RECEIVE_LIFETIME, 36} |
| DEFINE_NWF_GUID!{GUID_NWF_COUNTERS_ENTRY, 37} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_PHY_TYPES, 38} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_REG_DOMAIN, 39} |
| DEFINE_NWF_GUID!{GUID_NWF_TEMP_TYPE, 40} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_TX_ANTENNA, 41} |
| DEFINE_NWF_GUID!{GUID_NWF_DIVERSITY_SUPPORT, 42} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_RX_ANTENNA, 43} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_POWER_LEVELS, 44} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_TX_POWER_LEVEL, 45} |
| DEFINE_NWF_GUID!{GUID_NWF_HOP_TIME, 46} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_CHANNEL_NUMBER, 47} |
| DEFINE_NWF_GUID!{GUID_NWF_MAX_DWELL_TIME, 48} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_DWELL_TIME, 49} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_SET, 50} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_PATTERN, 51} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_INDEX, 52} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_CHANNEL, 53} |
| DEFINE_NWF_GUID!{GUID_NWF_CCA_MODE_SUPPORTED, 54} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_CCA_MODE, 55} |
| DEFINE_NWF_GUID!{GUID_NWF_ED_THRESHOLD, 56} |
| DEFINE_NWF_GUID!{GUID_NWF_CCA_WATCHDOG_TIMER_MAX, 57} |
| DEFINE_NWF_GUID!{GUID_NWF_CCA_WATCHDOG_COUNT_MAX, 58} |
| DEFINE_NWF_GUID!{GUID_NWF_CCA_WATCHDOG_TIMER_MIN, 59} |
| DEFINE_NWF_GUID!{GUID_NWF_CCA_WATCHDOG_COUNT_MIN, 60} |
| DEFINE_NWF_GUID!{GUID_NWF_REG_DOMAINS_SUPPORT_VALUE, 61} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_TX_ANTENNA, 62} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_RX_ANTENNA, 63} |
| DEFINE_NWF_GUID!{GUID_NWF_DIVERSITY_SELECTION_RX, 64} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_DATA_RATES_VALUE, 65} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_FREQUENCY, 66} |
| DEFINE_NWF_GUID!{GUID_NWF_TI_THRESHOLD, 67} |
| DEFINE_NWF_GUID!{GUID_NWF_FREQUENCY_BANDS_SUPPORTED, 68} |
| DEFINE_NWF_GUID!{GUID_NWF_SHORT_PREAMBLE_OPTION_IMPLEMENTED, 69} |
| DEFINE_NWF_GUID!{GUID_NWF_PBCC_OPTION_IMPLEMENTED, 70} |
| DEFINE_NWF_GUID!{GUID_NWF_CHANNEL_AGILITY_PRESENT, 71} |
| DEFINE_NWF_GUID!{GUID_NWF_CHANNEL_AGILITY_ENABLED, 72} |
| DEFINE_NWF_GUID!{GUID_NWF_HR_CCA_MODE_SUPPORTED, 73} |
| DEFINE_NWF_GUID!{GUID_NWF_MULTI_DOMAIN_CAPABILITY_IMPLEMENTED, 74} |
| DEFINE_NWF_GUID!{GUID_NWF_MULTI_DOMAIN_CAPABILITY_ENABLED, 75} |
| DEFINE_NWF_GUID!{GUID_NWF_COUNTRY_STRING, 76} |
| DEFINE_NWF_GUID!{GUID_NWF_MULTI_DOMAIN_CAPABILITY, 77} |
| DEFINE_NWF_GUID!{GUID_NWF_EHCC_PRIME_RADIX, 78} |
| DEFINE_NWF_GUID!{GUID_NWF_EHCC_NUMBER_OF_CHANNELS_FAMILY_INDEX, 79} |
| DEFINE_NWF_GUID!{GUID_NWF_EHCC_CAPABILITY_IMPLEMENTED, 80} |
| DEFINE_NWF_GUID!{GUID_NWF_EHCC_CAPABILITY_ENABLED, 81} |
| DEFINE_NWF_GUID!{GUID_NWF_HOP_ALGORITHM_ADOPTED, 82} |
| DEFINE_NWF_GUID!{GUID_NWF_RANDOM_TABLE_FLAG, 83} |
| DEFINE_NWF_GUID!{GUID_NWF_NUMBER_OF_HOPPING_SETS, 84} |
| DEFINE_NWF_GUID!{GUID_NWF_HOP_MODULUS, 85} |
| DEFINE_NWF_GUID!{GUID_NWF_HOP_OFFSET, 86} |
| DEFINE_NWF_GUID!{GUID_NWF_HOPPING_PATTERN, 87} |
| DEFINE_NWF_GUID!{GUID_NWF_RANDOM_TABLE_FIELD_NUMBER, 88} |
| DEFINE_NWF_GUID!{GUID_NWF_WPA_TSC, 89} |
| DEFINE_NWF_GUID!{GUID_NWF_RSSI_RANGE, 90} |
| DEFINE_NWF_GUID!{GUID_NWF_RF_USAGE, 91} |
| DEFINE_NWF_GUID!{GUID_NWF_NIC_SPECIFIC_EXTENSION, 92} |
| DEFINE_NWF_GUID!{GUID_NWF_AP_JOIN_REQUEST, 93} |
| DEFINE_NWF_GUID!{GUID_NWF_ERP_PBCC_OPTION_IMPLEMENTED, 94} |
| DEFINE_NWF_GUID!{GUID_NWF_ERP_PBCC_OPTION_ENABLED, 95} |
| DEFINE_NWF_GUID!{GUID_NWF_DSSS_OFDM_OPTION_IMPLEMENTED, 96} |
| DEFINE_NWF_GUID!{GUID_NWF_DSSS_OFDM_OPTION_ENABLED, 97} |
| DEFINE_NWF_GUID!{GUID_NWF_SHORT_SLOT_TIME_OPTION_IMPLEMENTED, 98} |
| DEFINE_NWF_GUID!{GUID_NWF_SHORT_SLOT_TIME_OPTION_ENABLED, 99} |
| DEFINE_NWF_GUID!{GUID_NWF_MAX_MAC_ADDRESS_STATES, 100} |
| DEFINE_NWF_GUID!{GUID_NWF_RECV_SENSITIVITY_LIST, 101} |
| DEFINE_NWF_GUID!{GUID_NWF_WME_IMPLEMENTED, 102} |
| DEFINE_NWF_GUID!{GUID_NWF_WME_ENABLED, 103} |
| DEFINE_NWF_GUID!{GUID_NWF_WME_AC_PARAMETERS, 104} |
| DEFINE_NWF_GUID!{GUID_NWF_WME_UPDATE_IE, 105} |
| DEFINE_NWF_GUID!{GUID_NWF_QOS_TX_QUEUES_SUPPORTED, 106} |
| DEFINE_NWF_GUID!{GUID_NWF_QOS_TX_DURATION, 107} |
| DEFINE_NWF_GUID!{GUID_NWF_QOS_TX_MEDIUM_TIME, 108} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_OFDM_FREQUENCY_LIST, 109} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_DSSS_CHANNEL_LIST, 110} |
| DEFINE_NWF_GUID!{GUID_NWF_AUTO_CONFIG_ENABLED, 120} |
| DEFINE_NWF_GUID!{GUID_NWF_ENUM_BSS_LIST, 121} |
| DEFINE_NWF_GUID!{GUID_NWF_FLUSH_BSS_LIST, 122} |
| DEFINE_NWF_GUID!{GUID_NWF_POWER_MGMT_REQUEST, 123} |
| DEFINE_NWF_GUID!{GUID_NWF_DESIRED_SSID_LIST, 124} |
| DEFINE_NWF_GUID!{GUID_NWF_EXCLUDED_MAC_ADDRESS_LIST, 125} |
| DEFINE_NWF_GUID!{GUID_NWF_DESIRED_BSSID_LIST, 126} |
| DEFINE_NWF_GUID!{GUID_NWF_DESIRED_BSS_TYPE, 127} |
| DEFINE_NWF_GUID!{GUID_NWF_PMKID_LIST, 128} |
| DEFINE_NWF_GUID!{GUID_NWF_CONNECT_REQUEST, 129} |
| DEFINE_NWF_GUID!{GUID_NWF_EXCLUDE_UNENCRYPTED, 130} |
| DEFINE_NWF_GUID!{GUID_NWF_STATISTICS, 131} |
| DEFINE_NWF_GUID!{GUID_NWF_PRIVACY_EXEMPTION_LIST, 132} |
| DEFINE_NWF_GUID!{GUID_NWF_ENABLED_AUTHENTICATION_ALGORITHM, 133} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_UNICAST_ALGORITHM_PAIR, 134} |
| DEFINE_NWF_GUID!{GUID_NWF_ENABLED_UNICAST_CIPHER_ALGORITHM, 135} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_MULTICAST_ALGORITHM_PAIR, 136} |
| DEFINE_NWF_GUID!{GUID_NWF_ENABLED_MULTICAST_CIPHER_ALGORITHM, 137} |
| DEFINE_NWF_GUID!{GUID_NWF_CIPHER_DEFAULT_KEY_ID, 138} |
| DEFINE_NWF_GUID!{GUID_NWF_CIPHER_DEFAULT_KEY, 139} |
| DEFINE_NWF_GUID!{GUID_NWF_CIPHER_KEY_MAPPING_KEY, 140} |
| DEFINE_NWF_GUID!{GUID_NWF_ENUM_ASSOCIATION_INFO, 141} |
| DEFINE_NWF_GUID!{GUID_NWF_DISCONNECT_REQUEST, 142} |
| DEFINE_NWF_GUID!{GUID_NWF_UNICAST_USE_GROUP_ENABLED, 143} |
| DEFINE_NWF_GUID!{GUID_NWF_PHY_STATE, 144} |
| DEFINE_NWF_GUID!{GUID_NWF_DESIRED_PHY_LIST, 145} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_PHY_ID, 146} |
| DEFINE_NWF_GUID!{GUID_NWF_MEDIA_STREAMING_ENABLED, 147} |
| DEFINE_NWF_GUID!{GUID_NWF_UNREACHABLE_DETECTION_THRESHOLD, 148} |
| DEFINE_NWF_GUID!{GUID_NWF_ACTIVE_PHY_LIST, 149} |
| DEFINE_NWF_GUID!{GUID_NWF_EXTSTA_CAPABILITY, 150} |
| DEFINE_NWF_GUID!{GUID_NWF_DATA_RATE_MAPPING_TABLE, 151} |
| DEFINE_NWF_GUID!{GUID_NWF_SUPPORTED_COUNTRY_OR_REGION_STRING, 152} |
| DEFINE_NWF_GUID!{GUID_NWF_DESIRED_COUNTRY_OR_REGION_STRING, 153} |
| DEFINE_NWF_GUID!{GUID_NWF_PORT_STATE_NOTIFICATION, 154} |
| DEFINE_NWF_GUID!{GUID_NWF_IBSS_PARAMS, 155} |
| DEFINE_NWF_GUID!{GUID_NWF_QOS_PARAMS, 156} |
| DEFINE_NWF_GUID!{GUID_NWF_SAFE_MODE_ENABLED, 157} |
| DEFINE_NWF_GUID!{GUID_NWF_HIDDEN_NETWORK_ENABLED, 158} |
| DEFINE_NWF_GUID!{GUID_NWF_ASSOCIATION_PARAMS, 159} |
| DEFINE_NWF_GUID!{GUID_NWF_CURRENT_ADDRESS, 1024 + 2} |
| DEFINE_NWF_GUID!{GUID_NWF_PERMANENT_ADDRESS, 1024 + 3} |
| DEFINE_NWF_GUID!{GUID_NWF_MULTICAST_LIST, 1024 + 4} |
| DEFINE_NWF_GUID!{GUID_NWF_MAXIMUM_LIST_SIZE, 1024 + 5} |
| pub const DOT11_EXTAP_ATTRIBUTES_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_EXTAP_ATTRIBUTES { |
| Header: NDIS_OBJECT_HEADER, |
| uScanSSIDListSize: ULONG, |
| uDesiredSSIDListSize: ULONG, |
| uPrivacyExemptionListSize: ULONG, |
| uAssociationTableSize: ULONG, |
| uDefaultKeyTableSize: ULONG, |
| uWEPKeyValueMaxLength: ULONG, |
| bStrictlyOrderedServiceClassImplemented: BOOLEAN, |
| uNumSupportedCountryOrRegionStrings: ULONG, |
| pSupportedCountryOrRegionStrings: PDOT11_COUNTRY_OR_REGION_STRING, |
| uInfraNumSupportedUcastAlgoPairs: ULONG, |
| pInfraSupportedUcastAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| uInfraNumSupportedMcastAlgoPairs: ULONG, |
| pInfraSupportedMcastAlgoPairs: PDOT11_AUTH_CIPHER_PAIR, |
| }} |
| pub type PDOT11_EXTAP_ATTRIBUTES = *mut DOT11_EXTAP_ATTRIBUTES; |
| pub const DOT11_INCOMING_ASSOC_STARTED_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_INCOMING_ASSOC_STARTED_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| }} |
| pub type PDOT11_INCOMING_ASSOC_STARTED_PARAMETERS = *mut DOT11_INCOMING_ASSOC_STARTED_PARAMETERS; |
| pub const DOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| bReAssocReq: BOOLEAN, |
| uAssocReqOffset: ULONG, |
| uAssocReqSize: ULONG, |
| }} |
| pub type PDOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS = |
| *mut DOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS; |
| pub const DOT11_ASSOC_ERROR_SOURCE_OS: UCHAR = 0x0; |
| pub const DOT11_ASSOC_ERROR_SOURCE_REMOTE: UCHAR = 0x01; |
| pub const DOT11_ASSOC_ERROR_SOURCE_OTHER: UCHAR = 0xFF; |
| pub const DOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| uStatus: ULONG, |
| ucErrorSource: UCHAR, |
| bReAssocReq: BOOLEAN, |
| bReAssocResp: BOOLEAN, |
| uAssocReqOffset: ULONG, |
| uAssocReqSize: ULONG, |
| uAssocRespOffset: ULONG, |
| uAssocRespSize: ULONG, |
| AuthAlgo: DOT11_AUTH_ALGORITHM, |
| UnicastCipher: DOT11_CIPHER_ALGORITHM, |
| MulticastCipher: DOT11_CIPHER_ALGORITHM, |
| uActivePhyListOffset: ULONG, |
| uActivePhyListSize: ULONG, |
| uBeaconOffset: ULONG, |
| uBeaconSize: ULONG, |
| }} |
| pub type PDOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS = |
| *mut DOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS; |
| pub const DOT11_STOP_AP_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_STOP_AP_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ulReason: ULONG, |
| }} |
| pub type PDOT11_STOP_AP_PARAMETERS = *mut DOT11_STOP_AP_PARAMETERS; |
| pub const DOT11_STOP_AP_REASON_FREQUENCY_NOT_AVAILABLE: ULONG = 0x1; |
| pub const DOT11_STOP_AP_REASON_CHANNEL_NOT_AVAILABLE: ULONG = 0x2; |
| pub const DOT11_STOP_AP_REASON_AP_ACTIVE: ULONG = 0x3; |
| pub const DOT11_STOP_AP_REASON_IHV_START: ULONG = 0xFF000000; |
| pub const DOT11_STOP_AP_REASON_IHV_END: ULONG = 0xFFFFFFFF; |
| pub const DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS_REVISION_1: UCHAR = 1; |
| UNION!{union DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS_u { |
| [u32; 1], |
| ulChannel ulChannel_mut: ULONG, |
| ulFrequency ulFrequency_mut: ULONG, |
| }} |
| STRUCT!{struct DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ulPhyId: ULONG, |
| u: DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS_u, |
| }} |
| pub type PDOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS = *mut DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS; |
| pub const DOT11_CAN_SUSTAIN_AP_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_CAN_SUSTAIN_AP_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ulReason: ULONG, |
| }} |
| pub type PDOT11_CAN_SUSTAIN_AP_PARAMETERS = *mut DOT11_CAN_SUSTAIN_AP_PARAMETERS; |
| pub const DOT11_CAN_SUSTAIN_AP_REASON_IHV_START: ULONG = 0xFF000000; |
| pub const DOT11_CAN_SUSTAIN_AP_REASON_IHV_END: ULONG = 0xFFFFFFFF; |
| pub const NWF_EXTAP_OID: u32 = 0x03; |
| pub const OID_DOT11_WPS_ENABLED: u32 = NWF_DEFINE_OID!(0x01, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_START_AP_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x02, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_AVAILABLE_CHANNEL_LIST: u32 = |
| NWF_DEFINE_OID!(0x03, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const DOT11_AVAILABLE_CHANNEL_LIST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_AVAILABLE_CHANNEL_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| uChannelNumber: [ULONG; 1], |
| }} |
| pub type PDOT11_AVAILABLE_CHANNEL_LIST = *mut DOT11_AVAILABLE_CHANNEL_LIST; |
| pub const OID_DOT11_AVAILABLE_FREQUENCY_LIST: u32 = |
| NWF_DEFINE_OID!(0x04, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const DOT11_AVAILABLE_FREQUENCY_LIST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_AVAILABLE_FREQUENCY_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| uFrequencyValue: [ULONG; 1], |
| }} |
| pub type PDOT11_AVAILABLE_FREQUENCY_LIST = *mut DOT11_AVAILABLE_FREQUENCY_LIST; |
| pub const OID_DOT11_DISASSOCIATE_PEER_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x05, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const DOT11_DISASSOCIATE_PEER_REQUEST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_DISASSOCIATE_PEER_REQUEST { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| usReason: USHORT, |
| }} |
| pub type PDOT11_DISASSOCIATE_PEER_REQUEST = *mut DOT11_DISASSOCIATE_PEER_REQUEST; |
| pub const OID_DOT11_INCOMING_ASSOCIATION_DECISION: u32 = |
| NWF_DEFINE_OID!(0x06, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const DOT11_INCOMING_ASSOC_DECISION_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_INCOMING_ASSOC_DECISION { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| bAccept: BOOLEAN, |
| usReasonCode: USHORT, |
| uAssocResponseIEsOffset: ULONG, |
| uAssocResponseIEsLength: ULONG, |
| }} |
| pub type PDOT11_INCOMING_ASSOC_DECISION = *mut DOT11_INCOMING_ASSOC_DECISION; |
| pub const DOT11_INCOMING_ASSOC_DECISION_REVISION_2: UCHAR = 2; |
| STRUCT!{struct DOT11_INCOMING_ASSOC_DECISION_V2 { |
| Header: NDIS_OBJECT_HEADER, |
| PeerMacAddr: DOT11_MAC_ADDRESS, |
| bAccept: BOOLEAN, |
| usReasonCode: USHORT, |
| uAssocResponseIEsOffset: ULONG, |
| uAssocResponseIEsLength: ULONG, |
| WFDStatus: DOT11_WFD_STATUS_CODE, |
| }} |
| pub type PDOT11_INCOMING_ASSOC_DECISION_V2 = *mut DOT11_INCOMING_ASSOC_DECISION_V2; |
| pub const OID_DOT11_ADDITIONAL_IE: u32 = NWF_DEFINE_OID!(0x07, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| pub const DOT11_ADDITIONAL_IE_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_ADDITIONAL_IE { |
| Header: NDIS_OBJECT_HEADER, |
| uBeaconIEsOffset: ULONG, |
| uBeaconIEsLength: ULONG, |
| uResponseIEsOffset: ULONG, |
| uResponseIEsLength: ULONG, |
| }} |
| pub type PDOT11_ADDITIONAL_IE = *mut DOT11_ADDITIONAL_IE; |
| pub const DOT11_EXTAP_SEND_CONTEXT_REVISION_1: UCHAR = 1; |
| pub const DOT11_EXTAP_RECV_CONTEXT_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_ENUM_PEER_INFO: u32 = NWF_DEFINE_OID!(0x08, NWF_EXTAP_OID, NWF_MANDATORY_OID); |
| STRUCT!{struct DOT11_PEER_STATISTICS { |
| ullDecryptSuccessCount: ULONGLONG, |
| ullDecryptFailureCount: ULONGLONG, |
| ullTxPacketSuccessCount: ULONGLONG, |
| ullTxPacketFailureCount: ULONGLONG, |
| ullRxPacketSuccessCount: ULONGLONG, |
| ullRxPacketFailureCount: ULONGLONG, |
| }} |
| pub type PDOT11_PEER_STATISTICS = *mut DOT11_PEER_STATISTICS; |
| STRUCT!{struct DOT11_PEER_INFO { |
| MacAddress: DOT11_MAC_ADDRESS, |
| usCapabilityInformation: USHORT, |
| AuthAlgo: DOT11_AUTH_ALGORITHM, |
| UnicastCipherAlgo: DOT11_CIPHER_ALGORITHM, |
| MulticastCipherAlgo: DOT11_CIPHER_ALGORITHM, |
| bWpsEnabled: BOOLEAN, |
| usListenInterval: USHORT, |
| ucSupportedRates: [UCHAR; MAX_NUM_SUPPORTED_RATES_V2], |
| usAssociationID: USHORT, |
| AssociationState: DOT11_ASSOCIATION_STATE, |
| PowerMode: DOT11_POWER_MODE, |
| liAssociationUpTime: LARGE_INTEGER, |
| Statistics: DOT11_PEER_STATISTICS, |
| }} |
| pub type PDOT11_PEER_INFO = *mut DOT11_PEER_INFO; |
| pub const DOT11_PEER_INFO_LIST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_PEER_INFO_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| PeerInfo: [DOT11_PEER_INFO; 1], |
| }} |
| pub type PDOT11_PEER_INFO_LIST = *mut DOT11_PEER_INFO_LIST; |
| pub const DOT11_VWIFI_COMBINATION_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_VWIFI_COMBINATION { |
| Header: NDIS_OBJECT_HEADER, |
| uNumInfrastructure: ULONG, |
| uNumAdhoc: ULONG, |
| uNumSoftAP: ULONG, |
| }} |
| pub type PDOT11_VWIFI_COMBINATION = *mut DOT11_VWIFI_COMBINATION; |
| pub const DOT11_VWIFI_COMBINATION_REVISION_2: UCHAR = 2; |
| STRUCT!{struct DOT11_VWIFI_COMBINATION_V2 { |
| Header: NDIS_OBJECT_HEADER, |
| uNumInfrastructure: ULONG, |
| uNumAdhoc: ULONG, |
| uNumSoftAP: ULONG, |
| uNumVirtualStation: ULONG, |
| }} |
| pub type PDOT11_VWIFI_COMBINATION_V2 = *mut DOT11_VWIFI_COMBINATION_V2; |
| pub const DOT11_VWIFI_COMBINATION_REVISION_3: UCHAR = 3; |
| STRUCT!{struct DOT11_VWIFI_COMBINATION_V3 { |
| Header: NDIS_OBJECT_HEADER, |
| uNumInfrastructure: ULONG, |
| uNumAdhoc: ULONG, |
| uNumSoftAP: ULONG, |
| uNumVirtualStation: ULONG, |
| uNumWFDGroup: ULONG, |
| }} |
| pub type PDOT11_VWIFI_COMBINATION_V3 = *mut DOT11_VWIFI_COMBINATION_V3; |
| pub const DOT11_VWIFI_ATTRIBUTES_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_VWIFI_ATTRIBUTES { |
| Header: NDIS_OBJECT_HEADER, |
| uTotalNumOfEntries: ULONG, |
| Combinations: [DOT11_VWIFI_COMBINATION; 1], |
| }} |
| pub type PDOT11_VWIFI_ATTRIBUTES = *mut DOT11_VWIFI_ATTRIBUTES; |
| pub const NWF_VWIFI_OID: u32 = 0x04; |
| pub const OID_DOT11_CREATE_MAC: u32 = NWF_DEFINE_OID!(0x01, NWF_VWIFI_OID, NWF_MANDATORY_OID); |
| pub const DOT11_MAC_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_MAC_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| uOpmodeMask: ULONG, |
| }} |
| pub type PDOT11_MAC_PARAMETERS = *mut DOT11_MAC_PARAMETERS; |
| STRUCT!{struct DOT11_MAC_INFO { |
| uReserved: ULONG, |
| uNdisPortNumber: ULONG, |
| MacAddr: DOT11_MAC_ADDRESS, |
| }} |
| pub type PDOT11_MAC_INFO = *mut DOT11_MAC_INFO; |
| pub const OID_DOT11_DELETE_MAC: u32 = NWF_DEFINE_OID!(0x02, NWF_VWIFI_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_PREFERRED_MAC: u32 = NWF_DEFINE_OID!(0x03, NWF_VWIFI_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_VIRTUAL_STATION_CAPABILITY: u32 = |
| NWF_DEFINE_OID!(0x04, NWF_VWIFI_OID, NWF_OPTIONAL_OID); |
| pub const DOT11_WFD_ATTRIBUTES_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_ATTRIBUTES { |
| Header: NDIS_OBJECT_HEADER, |
| uNumConcurrentGORole: ULONG, |
| uNumConcurrentClientRole: ULONG, |
| WPSVersionsSupported: ULONG, |
| bServiceDiscoverySupported: BOOLEAN, |
| bClientDiscoverabilitySupported: BOOLEAN, |
| bInfrastructureManagementSupported: BOOLEAN, |
| uMaxSecondaryDeviceTypeListSize: ULONG, |
| DeviceAddress: DOT11_MAC_ADDRESS, |
| uInterfaceAddressListCount: ULONG, |
| pInterfaceAddressList: PDOT11_MAC_ADDRESS, |
| uNumSupportedCountryOrRegionStrings: ULONG, |
| pSupportedCountryOrRegionStrings: PDOT11_COUNTRY_OR_REGION_STRING, |
| uDiscoveryFilterListSize: ULONG, |
| uGORoleClientTableSize: ULONG, |
| }} |
| pub type PDOT11_WFD_ATTRIBUTES = *mut DOT11_WFD_ATTRIBUTES; |
| pub type DOT11_WFD_GROUP_CAPABILITY = UCHAR; |
| pub const DOT11_WFD_STATUS_SUCCESS: DOT11_WFD_STATUS_CODE = 0; |
| pub const DOT11_WFD_STATUS_FAILED_INFORMATION_IS_UNAVAILABLE: DOT11_WFD_STATUS_CODE = 1; |
| pub const DOT11_WFD_STATUS_FAILED_INCOMPATIBLE_PARAMETERS: DOT11_WFD_STATUS_CODE = 2; |
| pub const DOT11_WFD_STATUS_FAILED_LIMIT_REACHED: DOT11_WFD_STATUS_CODE = 3; |
| pub const DOT11_WFD_STATUS_FAILED_INVALID_PARAMETERS: DOT11_WFD_STATUS_CODE = 4; |
| pub const DOT11_WFD_STATUS_FAILED_UNABLE_TO_ACCOMODATE_REQUEST: DOT11_WFD_STATUS_CODE = 5; |
| pub const DOT11_WFD_STATUS_FAILED_PREVIOUS_PROTOCOL_ERROR: DOT11_WFD_STATUS_CODE = 6; |
| pub const DOT11_WFD_STATUS_FAILED_NO_COMMON_CHANNELS: DOT11_WFD_STATUS_CODE = 7; |
| pub const DOT11_WFD_STATUS_FAILED_UNKNOWN_WFD_GROUP: DOT11_WFD_STATUS_CODE = 8; |
| pub const DOT11_WFD_STATUS_FAILED_MATCHING_MAX_INTENT: DOT11_WFD_STATUS_CODE = 9; |
| pub const DOT11_WFD_STATUS_FAILED_INCOMPATIBLE_PROVISIONING_METHOD: DOT11_WFD_STATUS_CODE = 10; |
| pub const DOT11_WFD_STATUS_FAILED_REJECTED_BY_USER: DOT11_WFD_STATUS_CODE = 11; |
| pub const DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER: DOT11_WFD_STATUS_CODE = 12; |
| #[inline] |
| pub fn WFD_STATUS_SUCCEEDED(status: DOT11_WFD_STATUS_CODE) -> bool { |
| status == DOT11_WFD_STATUS_SUCCESS || status == DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER |
| } |
| #[inline] |
| pub fn WFD_STATUS_FAILED(status: DOT11_WFD_STATUS_CODE) -> bool { |
| status != DOT11_WFD_STATUS_SUCCESS || status != DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER |
| } |
| pub const DOT11_WFD_MINOR_REASON_SUCCESS: i32 = 0; |
| pub const DOT11_WFD_MINOR_REASON_DISASSOCIATED_FROM_WLAN_CROSS_CONNECTION_POLICY: i32 = 1; |
| pub const DOT11_WFD_MINOR_REASON_DISASSOCIATED_NOT_MANAGED_INFRASTRUCTURE_CAPABLE: i32 = 2; |
| pub const DOT11_WFD_MINOR_REASON_DISASSOCIATED_WFD_COEXISTENCE_POLICY: i32 = 3; |
| pub const DOT11_WFD_MINOR_REASON_DISASSOCIATED_INFRASTRUCTURE_MANAGED_POLICY: i32 = 4; |
| pub const DOT11_WPS_VERSION_1_0: u8 = 0x01; |
| pub const DOT11_WPS_VERSION_2_0: u8 = 0x02; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_SERVICE_DISCOVERY: u8 = 0x01; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_P2P_CLIENT_DISCOVERABILITY: u8 = 0x02; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_CONCURRENT_OPERATION: u8 = 0x04; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_P2P_INFRASTRUCTURE_MANAGED: u8 = 0x08; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_P2P_DEVICE_LIMIT: u8 = 0x10; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_P2P_INVITATION_PROCEDURE: u8 = 0x20; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_RESERVED_6: u8 = 0x40; |
| pub const DOT11_WFD_DEVICE_CAPABILITY_RESERVED_7: u8 = 0x80; |
| pub const DOT11_WFD_GROUP_CAPABILITY_NONE: u8 = 0x00; |
| pub const DOT11_WFD_GROUP_CAPABILITY_GROUP_OWNER: u8 = 0x01; |
| pub const DOT11_WFD_GROUP_CAPABILITY_PERSISTENT_GROUP: u8 = 0x02; |
| pub const DOT11_WFD_GROUP_CAPABILITY_GROUP_LIMIT_REACHED: u8 = 0x04; |
| pub const DOT11_WFD_GROUP_CAPABILITY_INTRABSS_DISTRIBUTION_SUPPORTED: u8 = 0x08; |
| pub const DOT11_WFD_GROUP_CAPABILITY_CROSS_CONNECTION_SUPPORTED: u8 = 0x10; |
| pub const DOT11_WFD_GROUP_CAPABILITY_PERSISTENT_RECONNECT_SUPPORTED: u8 = 0x20; |
| pub const DOT11_WFD_GROUP_CAPABILITY_IN_GROUP_FORMATION: u8 = 0x40; |
| pub const DOT11_WFD_GROUP_CAPABILITY_RESERVED_7: u8 = 0x80; |
| pub const DOT11_WFD_GROUP_CAPABILITY_EAPOL_KEY_IP_ADDRESS_ALLOCATION_SUPPORTED: u8 = 0x80; |
| pub const DOT11_WPS_DEVICE_NAME_MAX_LENGTH: usize = 32; |
| pub const DOT11_WPS_MAX_PASSKEY_LENGTH: usize = 8; |
| pub const DOT11_WPS_MAX_MODEL_NAME_LENGTH: usize = 32; |
| pub const DOT11_WPS_MAX_MODEL_NUMBER_LENGTH: usize = 32; |
| STRUCT!{struct DOT11_WFD_DEVICE_TYPE { |
| CategoryID: USHORT, |
| SubCategoryID: USHORT, |
| OUI: [UCHAR; 4], |
| }} |
| pub type PDOT11_WFD_DEVICE_TYPE = *mut DOT11_WFD_DEVICE_TYPE; |
| STRUCT!{struct DOT11_WPS_DEVICE_NAME { |
| uDeviceNameLength: ULONG, |
| ucDeviceName: [UCHAR; DOT11_WPS_DEVICE_NAME_MAX_LENGTH], |
| }} |
| pub type PDOT11_WPS_DEVICE_NAME = *mut DOT11_WPS_DEVICE_NAME; |
| STRUCT!{struct DOT11_WFD_CONFIGURATION_TIMEOUT { |
| GOTimeout: UCHAR, |
| ClientTimeout: UCHAR, |
| }} |
| pub type PDOT11_WFD_CONFIGURATION_TIMEOUT = *mut DOT11_WFD_CONFIGURATION_TIMEOUT; |
| STRUCT!{struct DOT11_WFD_GROUP_ID { |
| DeviceAddress: DOT11_MAC_ADDRESS, |
| SSID: DOT11_SSID, |
| }} |
| pub type PDOT11_WFD_GROUP_ID = *mut DOT11_WFD_GROUP_ID; |
| STRUCT!{#[repr(packed)] struct DOT11_WFD_GO_INTENT { |
| Bitfields: UCHAR, |
| }} |
| BITFIELD!{DOT11_WFD_GO_INTENT Bitfields: UCHAR [ |
| TieBreaker set_TieBreaker[0..1], |
| Intent set_Intent[1..8], |
| ]} |
| pub type PDOT11_WFD_GO_INTENT = *mut DOT11_WFD_GO_INTENT; |
| STRUCT!{struct DOT11_WFD_CHANNEL { |
| CountryRegionString: DOT11_COUNTRY_OR_REGION_STRING, |
| OperatingClass: UCHAR, |
| ChannelNumber: UCHAR, |
| }} |
| pub type PDOT11_WFD_CHANNEL = *mut DOT11_WFD_CHANNEL; |
| ENUM!{enum DOT11_WPS_CONFIG_METHOD { |
| DOT11_WPS_CONFIG_METHOD_NULL = 0, |
| DOT11_WPS_CONFIG_METHOD_DISPLAY = 0x0008, |
| DOT11_WPS_CONFIG_METHOD_NFC_TAG = 0x0020, |
| DOT11_WPS_CONFIG_METHOD_NFC_INTERFACE = 0x0040, |
| DOT11_WPS_CONFIG_METHOD_PUSHBUTTON = 0x0080, |
| DOT11_WPS_CONFIG_METHOD_KEYPAD = 0x0100, |
| DOT11_WPS_CONFIG_METHOD_WFDS_DEFAULT = 0x1000, |
| }} |
| pub type PDOT11_WPS_CONFIG_METHOD = *mut DOT11_WPS_CONFIG_METHOD; |
| ENUM!{enum DOT11_WPS_DEVICE_PASSWORD_ID { |
| DOT11_WPS_PASSWORD_ID_DEFAULT = 0x0000, |
| DOT11_WPS_PASSWORD_ID_USER_SPECIFIED = 0x0001, |
| DOT11_WPS_PASSWORD_ID_MACHINE_SPECIFIED = 0x0002, |
| DOT11_WPS_PASSWORD_ID_REKEY = 0x0003, |
| DOT11_WPS_PASSWORD_ID_PUSHBUTTON = 0x0004, |
| DOT11_WPS_PASSWORD_ID_REGISTRAR_SPECIFIED = 0x0005, |
| DOT11_WPS_PASSWORD_ID_NFC_CONNECTION_HANDOVER = 0x0007, |
| DOT11_WPS_PASSWORD_ID_WFD_SERVICES = 0x0008, |
| DOT11_WPS_PASSWORD_ID_OOB_RANGE_MIN = 0x0010, |
| DOT11_WPS_PASSWORD_ID_OOB_RANGE_MAX = 0xFFFF, |
| }} |
| pub type PDOT11_WPS_DEVICE_PASSWORD_ID = *mut DOT11_WPS_DEVICE_PASSWORD_ID; |
| STRUCT!{struct WFDSVC_CONNECTION_CAPABILITY { |
| bNew: BOOLEAN, |
| bClient: BOOLEAN, |
| bGO: BOOLEAN, |
| }} |
| pub type PWFDSVC_CONNECTION_CAPABILITY = *mut WFDSVC_CONNECTION_CAPABILITY; |
| pub const WFDSVC_CONNECTION_CAPABILITY_NEW: BOOLEAN = 0x01; |
| pub const WFDSVC_CONNECTION_CAPABILITY_CLIENT: BOOLEAN = 0x02; |
| pub const WFDSVC_CONNECTION_CAPABILITY_GO: BOOLEAN = 0x04; |
| STRUCT!{struct DOT11_WFD_SERVICE_HASH_LIST { |
| ServiceHashCount: USHORT, |
| ServiceHash: [DOT11_WFD_SERVICE_HASH; 1], |
| }} |
| pub type PDOT11_WFD_SERVICE_HASH_LIST = *mut DOT11_WFD_SERVICE_HASH_LIST; |
| STRUCT!{struct DOT11_WFD_ADVERTISEMENT_ID { |
| AdvertisementID: ULONG, |
| ServiceAddress: DOT11_MAC_ADDRESS, |
| }} |
| pub type PDOT11_WFD_ADVERTISEMENT_ID = *mut DOT11_WFD_ADVERTISEMENT_ID; |
| STRUCT!{struct DOT11_WFD_SESSION_ID { |
| SessionID: ULONG, |
| SessionAddress: DOT11_MAC_ADDRESS, |
| }} |
| pub type PDOT11_WFD_SESSION_ID = *mut DOT11_WFD_SESSION_ID; |
| STRUCT!{struct DOT11_WFD_ADVERTISED_SERVICE_DESCRIPTOR { |
| AdvertisementID: ULONG, |
| ConfigMethods: USHORT, |
| ServiceNameLength: UCHAR, |
| ServiceName: [UCHAR; DOT11_WFD_SERVICE_NAME_MAX_LENGTH], |
| }} |
| pub type PDOT11_WFD_ADVERTISED_SERVICE_DESCRIPTOR = *mut DOT11_WFD_ADVERTISED_SERVICE_DESCRIPTOR; |
| STRUCT!{struct DOT11_WFD_ADVERTISED_SERVICE_LIST { |
| ServiceCount: USHORT, |
| AdvertisedService: [DOT11_WFD_ADVERTISED_SERVICE_DESCRIPTOR; 1], |
| }} |
| pub type PDOT11_WFD_ADVERTISED_SERVICE_LIST = *mut DOT11_WFD_ADVERTISED_SERVICE_LIST; |
| pub const DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| pub const DOT11_WFD_DISCOVER_COMPLETE_MAX_LIST_SIZE: ULONG = 128; |
| STRUCT!{struct DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| Status: NDIS_STATUS, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| uListOffset: ULONG, |
| uListLength: ULONG, |
| }} |
| pub type PDOT11_WFD_DISCOVER_COMPLETE_PARAMETERS = *mut DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS; |
| pub const DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| RequestContext: PVOID, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS = |
| *mut DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS; |
| pub const DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| ResponseContext: PVOID, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS = |
| *mut DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS; |
| pub const DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS = |
| *mut DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS; |
| pub const DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| ReceiverAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| TransmitterDeviceAddress: DOT11_MAC_ADDRESS, |
| BSSID: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| RequestContext: PVOID, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS = |
| *mut DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS; |
| pub const DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ReceiverDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| TransmitterDeviceAddress: DOT11_MAC_ADDRESS, |
| BSSID: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS = |
| *mut DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS; |
| pub const DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| ReceiverAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| TransmitterDeviceAddress: DOT11_MAC_ADDRESS, |
| BSSID: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| RequestContext: PVOID, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS = |
| *mut DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS; |
| pub const DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ReceiverDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| Status: NDIS_STATUS, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS = |
| *mut DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS; |
| pub const DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| TransmitterDeviceAddress: DOT11_MAC_ADDRESS, |
| BSSID: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS = |
| *mut DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS; |
| pub const DOT11_ANQP_QUERY_COMPLETE_PARAMETERS_REVISION_1: UCHAR = 1; |
| ENUM!{enum DOT11_ANQP_QUERY_RESULT { |
| dot11_ANQP_query_result_success = 0, |
| dot11_ANQP_query_result_failure = 1, |
| dot11_ANQP_query_result_timed_out = 2, |
| dot11_ANQP_query_result_resources = 3, |
| dot11_ANQP_query_result_advertisement_protocol_not_supported_on_remote = 4, |
| dot11_ANQP_query_result_gas_protocol_failure = 5, |
| dot11_ANQP_query_result_advertisement_server_not_responding = 6, |
| dot11_ANQP_query_result_access_issues = 7, |
| }} |
| pub type PDOT11_ANQP_QUERY_RESULT = *mut DOT11_ANQP_QUERY_RESULT; |
| STRUCT!{struct DOT11_ANQP_QUERY_COMPLETE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| Status: DOT11_ANQP_QUERY_RESULT, |
| hContext: HANDLE, |
| uResponseLength: ULONG, |
| }} |
| pub type PDOT11_ANQP_QUERY_COMPLETE_PARAMETERS = *mut DOT11_ANQP_QUERY_COMPLETE_PARAMETERS; |
| pub const NWF_WFD_DEVICE_OID: u32 = 0x05; |
| pub const NWF_WFD_ROLE_OID: u32 = 0x06; |
| pub const OID_DOT11_WFD_DEVICE_CAPABILITY: u32 = |
| NWF_DEFINE_OID!(0x01, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_DEVICE_CAPABILITY_CONFIG_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_DEVICE_CAPABILITY_CONFIG { |
| Header: NDIS_OBJECT_HEADER, |
| bServiceDiscoveryEnabled: BOOLEAN, |
| bClientDiscoverabilityEnabled: BOOLEAN, |
| bConcurrentOperationSupported: BOOLEAN, |
| bInfrastructureManagementEnabled: BOOLEAN, |
| bDeviceLimitReached: BOOLEAN, |
| bInvitationProcedureEnabled: BOOLEAN, |
| WPSVersionsEnabled: ULONG, |
| }} |
| pub type PDOT11_WFD_DEVICE_CAPABILITY_CONFIG = *mut DOT11_WFD_DEVICE_CAPABILITY_CONFIG; |
| pub const OID_DOT11_WFD_GROUP_OWNER_CAPABILITY: u32 = |
| NWF_DEFINE_OID!(0x02, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG { |
| Header: NDIS_OBJECT_HEADER, |
| bPersistentGroupEnabled: BOOLEAN, |
| bIntraBSSDistributionSupported: BOOLEAN, |
| bCrossConnectionSupported: BOOLEAN, |
| bPersistentReconnectSupported: BOOLEAN, |
| bGroupFormationEnabled: BOOLEAN, |
| uMaximumGroupLimit: ULONG, |
| }} |
| pub type PDOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG = *mut DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG; |
| pub const DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG_REVISION_2: UCHAR = 2; |
| STRUCT!{struct DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG_V2 { |
| Header: NDIS_OBJECT_HEADER, |
| bPersistentGroupEnabled: BOOLEAN, |
| bIntraBSSDistributionSupported: BOOLEAN, |
| bCrossConnectionSupported: BOOLEAN, |
| bPersistentReconnectSupported: BOOLEAN, |
| bGroupFormationEnabled: BOOLEAN, |
| uMaximumGroupLimit: ULONG, |
| bEapolKeyIpAddressAllocationSupported: BOOLEAN, |
| }} |
| pub type PDOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG_V2 = |
| *mut DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG_V2; |
| pub const OID_DOT11_WFD_DEVICE_INFO: u32 = |
| NWF_DEFINE_OID!(0x03, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_DEVICE_INFO_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_DEVICE_INFO { |
| Header: NDIS_OBJECT_HEADER, |
| DeviceAddress: DOT11_MAC_ADDRESS, |
| ConfigMethods: USHORT, |
| PrimaryDeviceType: DOT11_WFD_DEVICE_TYPE, |
| DeviceName: DOT11_WPS_DEVICE_NAME, |
| }} |
| pub type PDOT11_WFD_DEVICE_INFO = *mut DOT11_WFD_DEVICE_INFO; |
| pub const OID_DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST: u32 = |
| NWF_DEFINE_OID!(0x04, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST { |
| Header: NDIS_OBJECT_HEADER, |
| uNumOfEntries: ULONG, |
| uTotalNumOfEntries: ULONG, |
| SecondaryDeviceTypes: [DOT11_WFD_DEVICE_TYPE; 1], |
| }} |
| pub type PDOT11_WFD_SECONDARY_DEVICE_TYPE_LIST = *mut DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST; |
| // pub const DOT11_SIZEOF_WFD_SECONDARY_DEVICE_TYPE_LIST_REVISION_1: usize = |
| // FIELD_OFFSET(DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST, SecondaryDeviceTypes); |
| pub const OID_DOT11_WFD_DISCOVER_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x05, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| ENUM!{enum DOT11_WFD_DISCOVER_TYPE { |
| dot11_wfd_discover_type_scan_only = 1, |
| dot11_wfd_discover_type_find_only = 2, |
| dot11_wfd_discover_type_auto = 3, |
| dot11_wfd_discover_type_scan_social_channels = 4, |
| dot11_wfd_discover_type_forced = 0x80000000, |
| }} |
| pub type PDOT11_WFD_DISCOVER_TYPE = *mut DOT11_WFD_DISCOVER_TYPE; |
| ENUM!{enum DOT11_WFD_SCAN_TYPE { |
| dot11_wfd_scan_type_active = 1, |
| dot11_wfd_scan_type_passive = 2, |
| dot11_wfd_scan_type_auto = 3, |
| }} |
| pub type PDOT11_WFD_SCAN_TYPE = *mut DOT11_WFD_SCAN_TYPE; |
| pub const DISCOVERY_FILTER_BITMASK_DEVICE: UCHAR = 0x1; |
| pub const DISCOVERY_FILTER_BITMASK_GO: UCHAR = 0x2; |
| pub const DISCOVERY_FILTER_BITMASK_ANY: UCHAR = 0xF; |
| STRUCT!{struct DOT11_WFD_DISCOVER_DEVICE_FILTER { |
| DeviceID: DOT11_MAC_ADDRESS, |
| ucBitmask: UCHAR, |
| GroupSSID: DOT11_SSID, |
| }} |
| pub type PDOT11_WFD_DISCOVER_DEVICE_FILTER = *mut DOT11_WFD_DISCOVER_DEVICE_FILTER; |
| pub const DOT11_WFD_DISCOVER_REQUEST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_DISCOVER_REQUEST { |
| Header: NDIS_OBJECT_HEADER, |
| DiscoverType: DOT11_WFD_DISCOVER_TYPE, |
| ScanType: DOT11_WFD_SCAN_TYPE, |
| uDiscoverTimeout: ULONG, |
| uDeviceFilterListOffset: ULONG, |
| uNumDeviceFilters: ULONG, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| bForceScanLegacyNetworks: BOOLEAN, |
| }} |
| pub type PDOT11_WFD_DISCOVER_REQUEST = *mut DOT11_WFD_DISCOVER_REQUEST; |
| pub const OID_DOT11_WFD_ENUM_DEVICE_LIST: u32 = |
| NWF_DEFINE_OID!(0x06, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_DEVICE_ENTRY_BYTE_ARRAY_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_DEVICE_ENTRY { |
| uPhyId: ULONG, |
| PhySpecificInfo: DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO, |
| dot11BSSID: DOT11_MAC_ADDRESS, |
| dot11BSSType: DOT11_BSS_TYPE, |
| TransmitterAddress: DOT11_MAC_ADDRESS, |
| lRSSI: LONG, |
| uLinkQuality: ULONG, |
| usBeaconPeriod: USHORT, |
| ullTimestamp: ULONGLONG, |
| ullBeaconHostTimestamp: ULONGLONG, |
| ullProbeResponseHostTimestamp: ULONGLONG, |
| usCapabilityInformation: USHORT, |
| uBeaconIEsOffset: ULONG, |
| uBeaconIEsLength: ULONG, |
| uProbeResponseIEsOffset: ULONG, |
| uProbeResponseIEsLength: ULONG, |
| }} |
| pub type PDOT11_WFD_DEVICE_ENTRY = *mut DOT11_WFD_DEVICE_ENTRY; |
| pub const OID_DOT11_WFD_LISTEN_STATE_DISCOVERABILITY: u32 = |
| NWF_DEFINE_OID!(0x07, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_DEVICE_NOT_DISCOVERABLE: i32 = 0; |
| pub const DOT11_WFD_DEVICE_AUTO_AVAILABILITY: i32 = 16; |
| pub const DOT11_WFD_DEVICE_HIGH_AVAILABILITY: i32 = 24; |
| pub const OID_DOT11_WFD_ADDITIONAL_IE: u32 = |
| NWF_DEFINE_OID!(0x08, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_ADDITIONAL_IE_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_ADDITIONAL_IE { |
| Header: NDIS_OBJECT_HEADER, |
| uBeaconIEsOffset: ULONG, |
| uBeaconIEsLength: ULONG, |
| uProbeResponseIEsOffset: ULONG, |
| uProbeResponseIEsLength: ULONG, |
| uDefaultRequestIEsOffset: ULONG, |
| uDefaultRequestIEsLength: ULONG, |
| }} |
| pub type PDOT11_WFD_ADDITIONAL_IE = *mut DOT11_WFD_ADDITIONAL_IE; |
| pub const OID_DOT11_WFD_FLUSH_DEVICE_LIST: u32 = |
| NWF_DEFINE_OID!(0x09, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_SEND_GO_NEGOTIATION_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x0A, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| uSendTimeout: ULONG, |
| GroupOwnerIntent: DOT11_WFD_GO_INTENT, |
| MinimumConfigTimeout: DOT11_WFD_CONFIGURATION_TIMEOUT, |
| IntendedInterfaceAddress: DOT11_MAC_ADDRESS, |
| GroupCapability: DOT11_WFD_GROUP_CAPABILITY, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS = |
| *mut DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS; |
| pub const OID_DOT11_WFD_SEND_GO_NEGOTIATION_RESPONSE: u32 = |
| NWF_DEFINE_OID!(0x0B, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| RequestContext: PVOID, |
| uSendTimeout: ULONG, |
| Status: DOT11_WFD_STATUS_CODE, |
| GroupOwnerIntent: DOT11_WFD_GO_INTENT, |
| MinimumConfigTimeout: DOT11_WFD_CONFIGURATION_TIMEOUT, |
| IntendedInterfaceAddress: DOT11_MAC_ADDRESS, |
| GroupCapability: DOT11_WFD_GROUP_CAPABILITY, |
| GroupID: DOT11_WFD_GROUP_ID, |
| bUseGroupID: BOOLEAN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS = |
| *mut DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS; |
| pub const OID_DOT11_WFD_SEND_GO_NEGOTIATION_CONFIRMATION: u32 = |
| NWF_DEFINE_OID!(0x0C, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| ResponseContext: PVOID, |
| uSendTimeout: ULONG, |
| Status: DOT11_WFD_STATUS_CODE, |
| GroupCapability: DOT11_WFD_GROUP_CAPABILITY, |
| GroupID: DOT11_WFD_GROUP_ID, |
| bUseGroupID: BOOLEAN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS = |
| *mut DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS; |
| pub const OID_DOT11_WFD_SEND_INVITATION_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x0D, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| STRUCT!{#[repr(packed)] struct DOT11_WFD_INVITATION_FLAGS { |
| Bitfields: UCHAR, |
| }} |
| BITFIELD!{DOT11_WFD_INVITATION_FLAGS Bitfields: UCHAR [ |
| InvitationType set_InvitationType[0..1], |
| Reserved set_Reserved[1..8], |
| ]} |
| pub type PDOT11_WFD_INVITATION_FLAGS = *mut DOT11_WFD_INVITATION_FLAGS; |
| pub const DOT11_SEND_INVITATION_REQUEST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_INVITATION_REQUEST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| uSendTimeout: ULONG, |
| MinimumConfigTimeout: DOT11_WFD_CONFIGURATION_TIMEOUT, |
| InvitationFlags: DOT11_WFD_INVITATION_FLAGS, |
| GroupBSSID: DOT11_MAC_ADDRESS, |
| bUseGroupBSSID: BOOLEAN, |
| OperatingChannel: DOT11_WFD_CHANNEL, |
| bUseSpecifiedOperatingChannel: BOOLEAN, |
| GroupID: DOT11_WFD_GROUP_ID, |
| bLocalGO: BOOLEAN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_INVITATION_REQUEST_PARAMETERS = |
| *mut DOT11_SEND_INVITATION_REQUEST_PARAMETERS; |
| pub const OID_DOT11_WFD_SEND_INVITATION_RESPONSE: u32 = |
| NWF_DEFINE_OID!(0x0E, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_SEND_INVITATION_RESPONSE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_INVITATION_RESPONSE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ReceiverDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| RequestContext: PVOID, |
| uSendTimeout: ULONG, |
| Status: DOT11_WFD_STATUS_CODE, |
| MinimumConfigTimeout: DOT11_WFD_CONFIGURATION_TIMEOUT, |
| GroupBSSID: DOT11_MAC_ADDRESS, |
| bUseGroupBSSID: BOOLEAN, |
| OperatingChannel: DOT11_WFD_CHANNEL, |
| bUseSpecifiedOperatingChannel: BOOLEAN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_INVITATION_RESPONSE_PARAMETERS = |
| *mut DOT11_SEND_INVITATION_RESPONSE_PARAMETERS; |
| pub const OID_DOT11_WFD_SEND_PROVISION_DISCOVERY_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x0F, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| PeerDeviceAddress: DOT11_MAC_ADDRESS, |
| uSendTimeout: ULONG, |
| GroupCapability: DOT11_WFD_GROUP_CAPABILITY, |
| GroupID: DOT11_WFD_GROUP_ID, |
| bUseGroupID: BOOLEAN, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS = |
| *mut DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS; |
| pub const OID_DOT11_WFD_SEND_PROVISION_DISCOVERY_RESPONSE: u32 = |
| NWF_DEFINE_OID!(0x10, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| ReceiverDeviceAddress: DOT11_MAC_ADDRESS, |
| DialogToken: DOT11_DIALOG_TOKEN, |
| RequestContext: PVOID, |
| uSendTimeout: ULONG, |
| uIEsOffset: ULONG, |
| uIEsLength: ULONG, |
| }} |
| pub type PDOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS = |
| *mut DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS; |
| pub const OID_DOT11_WFD_GET_DIALOG_TOKEN: u32 = |
| NWF_DEFINE_OID!(0x11, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_STOP_DISCOVERY: u32 = |
| NWF_DEFINE_OID!(0x12, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_ENABLE_HRDSSS_DEVICES: u32 = |
| NWF_DEFINE_OID!(0x13, NWF_WFD_DEVICE_OID, NWF_OPTIONAL_OID); |
| pub const OID_DOT11_WFD_DEVICE_LISTEN_CHANNEL: u32 = |
| NWF_DEFINE_OID!(0x14, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_DEVICE_LISTEN_CHANNEL_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_DEVICE_LISTEN_CHANNEL { |
| Header: NDIS_OBJECT_HEADER, |
| ChannelNumber: UCHAR, |
| }} |
| pub type PDOT11_WFD_DEVICE_LISTEN_CHANNEL = *mut DOT11_WFD_DEVICE_LISTEN_CHANNEL; |
| pub const OID_DOT11_WFD_DESIRED_GROUP_ID: u32 = |
| NWF_DEFINE_OID!(0x01, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_START_GO_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x02, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_GROUP_START_PARAMETERS: u32 = |
| NWF_DEFINE_OID!(0x03, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_GROUP_START_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_GROUP_START_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| AdvertisedOperatingChannel: DOT11_WFD_CHANNEL, |
| }} |
| pub type PDOT11_WFD_GROUP_START_PARAMETERS = *mut DOT11_WFD_GROUP_START_PARAMETERS; |
| pub const OID_DOT11_WFD_CONNECT_TO_GROUP_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x04, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_DISCONNECT_FROM_GROUP_REQUEST: u32 = |
| NWF_DEFINE_OID!(0x05, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID); |
| pub const OID_DOT11_WFD_GROUP_JOIN_PARAMETERS: u32 = |
| NWF_DEFINE_OID!(0x06, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_WFD_GROUP_JOIN_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_WFD_GROUP_JOIN_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| GOOperatingChannel: DOT11_WFD_CHANNEL, |
| GOConfigTime: ULONG, |
| bInGroupFormation: BOOLEAN, |
| bWaitForWPSReady: BOOLEAN, |
| }} |
| pub type PDOT11_WFD_GROUP_JOIN_PARAMETERS = *mut DOT11_WFD_GROUP_JOIN_PARAMETERS; |
| pub const NWF_POWER_SAVE_OID: u32 = 0x07; |
| pub const OID_DOT11_POWER_MGMT_MODE_AUTO_ENABLED: u32 = |
| NWF_DEFINE_OID!(0x01, NWF_POWER_SAVE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_POWER_MGMT_AUTO_MODE_ENABLED_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO { |
| Header: NDIS_OBJECT_HEADER, |
| bEnabled: BOOLEAN, |
| }} |
| pub type PDOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO = *mut DOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO; |
| pub const OID_DOT11_POWER_MGMT_MODE_STATUS: u32 = |
| NWF_DEFINE_OID!(0x02, NWF_POWER_SAVE_OID, NWF_MANDATORY_OID); |
| ENUM!{enum DOT11_POWER_MODE_REASON { |
| dot11_power_mode_reason_no_change = 0, |
| dot11_power_mode_reason_noncompliant_AP = 1, |
| dot11_power_mode_reason_legacy_WFD_device = 2, |
| dot11_power_mode_reason_compliant_AP = 3, |
| dot11_power_mode_reason_compliant_WFD_device = 4, |
| dot11_power_mode_reason_others = 5, |
| }} |
| pub const DOT11_POWER_MGMT_MODE_STATUS_INFO_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_POWER_MGMT_MODE_STATUS_INFO { |
| Header: NDIS_OBJECT_HEADER, |
| PowerSaveMode: DOT11_POWER_MODE, |
| uPowerSaveLevel: ULONG, |
| Reason: DOT11_POWER_MODE_REASON, |
| }} |
| pub type PDOT11_POWER_MGMT_MODE_STATUSINFO = *mut DOT11_POWER_MGMT_MODE_STATUS_INFO; |
| pub const OID_DOT11_OFFLOAD_NETWORK_LIST: u32 = |
| NWF_DEFINE_OID!(0x03, NWF_POWER_SAVE_OID, NWF_MANDATORY_OID); |
| pub const DOT11_MAX_CHANNEL_HINTS: usize = 4; |
| pub const DOT11_INVALID_CHANNEL_NUMBER: ULONG = 0; |
| STRUCT!{struct DOT11_CHANNEL_HINT { |
| Dot11PhyType: DOT11_PHY_TYPE, |
| uChannelNumber: ULONG, |
| }} |
| pub type PDOT11_CHANNEL_HINT = *mut DOT11_CHANNEL_HINT; |
| STRUCT!{struct DOT11_OFFLOAD_NETWORK { |
| Ssid: DOT11_SSID, |
| UnicastCipher: DOT11_CIPHER_ALGORITHM, |
| AuthAlgo: DOT11_AUTH_ALGORITHM, |
| Dot11ChannelHints: [DOT11_CHANNEL_HINT; DOT11_MAX_CHANNEL_HINTS], |
| }} |
| pub type PDOT11_OFFLOAD_NETWORK = *mut DOT11_OFFLOAD_NETWORK; |
| pub const DOT11_NLO_FLAG_STOP_NLO_INDICATION: ULONG = 0x00000001; |
| pub const DOT11_NLO_FLAG_SCAN_ON_AOAC_PLATFORM: ULONG = 0x00000002; |
| pub const DOT11_NLO_FLAG_SCAN_AT_SYSTEM_RESUME: ULONG = 0x00000004; |
| pub const DOT11_OFFLOAD_NETWORK_LIST_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_OFFLOAD_NETWORK_LIST_INFO { |
| Header: NDIS_OBJECT_HEADER, |
| ulFlags: ULONG, |
| FastScanPeriod: ULONG, |
| FastScanIterations: ULONG, |
| SlowScanPeriod: ULONG, |
| uNumOfEntries: ULONG, |
| offloadNetworkList: [DOT11_OFFLOAD_NETWORK; 1], |
| }} |
| pub type PDOT11_OFFLOAD_NETWORK_LIST_INFO = *mut DOT11_OFFLOAD_NETWORK_LIST_INFO; |
| pub const DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS_REVISION_1: UCHAR = 1; |
| STRUCT!{struct DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| Status: NDIS_STATUS, |
| }} |
| pub type PDOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS = *mut DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS; |
| pub const NWF_MANUFACTURING_OID: u32 = 0x08; |
| pub const OID_DOT11_MANUFACTURING_TEST: u32 = |
| NWF_DEFINE_OID!(0x01, NWF_MANUFACTURING_OID, NWF_OPTIONAL_OID); |
| pub const DOT11_MANUFACTURING_TEST_REVISION_1: UCHAR = 1; |
| ENUM!{enum DOT11_MANUFACTURING_TEST_TYPE { |
| dot11_manufacturing_test_unknown = 0, |
| dot11_manufacturing_test_self_start = 1, |
| dot11_manufacturing_test_self_query_result = 2, |
| dot11_manufacturing_test_rx = 3, |
| dot11_manufacturing_test_tx = 4, |
| dot11_manufacturing_test_query_adc = 5, |
| dot11_manufacturing_test_set_data = 6, |
| dot11_manufacturing_test_query_data = 7, |
| dot11_manufacturing_test_sleep = 8, |
| dot11_manufacturing_test_awake = 9, |
| dot11_manufacturing_test_IHV_start = 0x80000000, |
| dot11_manufacturing_test_IHV_end = 0xffffffff, |
| }} |
| pub type PDOT11_MANUFACTURING_TEST_TYPE = *mut DOT11_MANUFACTURING_TEST_TYPE; |
| STRUCT!{struct DOT11_MANUFACTURING_TEST { |
| dot11ManufacturingTestType: DOT11_MANUFACTURING_TEST_TYPE, |
| uBufferLength: ULONG, |
| ucBuffer: [UCHAR; 1], |
| }} |
| pub type PDOT11_MANUFACTURING_TEST = *mut DOT11_MANUFACTURING_TEST; |
| ENUM!{enum DOT11_MANUFACTURING_SELF_TEST_TYPE { |
| DOT11_MANUFACTURING_SELF_TEST_TYPE_INTERFACE = 1, |
| DOT11_MANUFACTURING_SELF_TEST_TYPE_RF_INTERFACE = 2, |
| DOT11_MANUFACTURING_SELF_TEST_TYPE_BT_COEXISTENCE = 3, |
| }} |
| pub type PDOT11_MANUFACTURING_SELF_TEST_TYPE = *mut DOT11_MANUFACTURING_SELF_TEST_TYPE; |
| STRUCT!{struct DOT11_MANUFACTURING_SELF_TEST_SET_PARAMS { |
| SelfTestType: DOT11_MANUFACTURING_SELF_TEST_TYPE, |
| uTestID: ULONG, |
| uPinBitMask: ULONG, |
| pvContext: PVOID, |
| uBufferLength: ULONG, |
| ucBufferIn: [UCHAR; 1], |
| }} |
| pub type PDOT11_MANUFACTURING_SELF_TEST_SET_PARAMS = |
| *mut DOT11_MANUFACTURING_SELF_TEST_SET_PARAMS; |
| STRUCT!{struct DOT11_MANUFACTURING_SELF_TEST_QUERY_RESULTS { |
| SelfTestType: DOT11_MANUFACTURING_SELF_TEST_TYPE, |
| uTestID: ULONG, |
| bResult: BOOLEAN, |
| uPinFailedBitMask: ULONG, |
| pvContext: PVOID, |
| uBytesWrittenOut: ULONG, |
| ucBufferOut: [UCHAR; 1], |
| }} |
| pub type PDOT11_MANUFACTURING_SELF_TEST_QUERY_RESULTS = |
| *mut DOT11_MANUFACTURING_SELF_TEST_QUERY_RESULTS; |
| ENUM!{enum DOT11_BAND { |
| dot11_band_2p4g = 1, |
| dot11_band_4p9g = 2, |
| dot11_band_5g = 3, |
| }} |
| pub type PDOT11_BAND = *mut DOT11_BAND; |
| STRUCT!{struct DOT11_MANUFACTURING_FUNCTIONAL_TEST_RX { |
| bEnabled: BOOLEAN, |
| Dot11Band: DOT11_BAND, |
| uChannel: ULONG, |
| PowerLevel: LONG, |
| }} |
| pub type PDOT11_MANUFACTURING_FUNCTIONAL_TEST_RX = *mut DOT11_MANUFACTURING_FUNCTIONAL_TEST_RX; |
| STRUCT!{struct DOT11_MANUFACTURING_FUNCTIONAL_TEST_TX { |
| bEnable: BOOLEAN, |
| bOpenLoop: BOOLEAN, |
| Dot11Band: DOT11_BAND, |
| uChannel: ULONG, |
| uSetPowerLevel: ULONG, |
| ADCPowerLevel: LONG, |
| }} |
| pub type PDOT11_MANUFACTURING_FUNCTIONAL_TEST_TX = *mut DOT11_MANUFACTURING_FUNCTIONAL_TEST_TX; |
| STRUCT!{struct DOT11_MANUFACTURING_FUNCTIONAL_TEST_QUERY_ADC { |
| Dot11Band: DOT11_BAND, |
| uChannel: ULONG, |
| ADCPowerLevel: LONG, |
| }} |
| pub type PDOT11_MANUFACTURING_FUNCTIONAL_TEST_QUERY_ADC = |
| *mut DOT11_MANUFACTURING_FUNCTIONAL_TEST_QUERY_ADC; |
| STRUCT!{struct DOT11_MANUFACTURING_TEST_SET_DATA { |
| uKey: ULONG, |
| uOffset: ULONG, |
| uBufferLength: ULONG, |
| ucBufferIn: [UCHAR; 1], |
| }} |
| pub type PDOT11_MANUFACTURING_TEST_SET_DATA = *mut DOT11_MANUFACTURING_TEST_SET_DATA; |
| STRUCT!{struct DOT11_MANUFACTURING_TEST_QUERY_DATA { |
| uKey: ULONG, |
| uOffset: ULONG, |
| uBufferLength: ULONG, |
| uBytesRead: ULONG, |
| ucBufferOut: [UCHAR; 1], |
| }} |
| pub type PDOT11_MANUFACTURING_TEST_QUERY_DATA = *mut DOT11_MANUFACTURING_TEST_QUERY_DATA; |
| STRUCT!{struct DOT11_MANUFACTURING_TEST_SLEEP { |
| uSleepTime: ULONG, |
| pvContext: PVOID, |
| }} |
| pub type PDOT11_MANUFACTURING_TEST_SLEEP = *mut DOT11_MANUFACTURING_TEST_SLEEP; |
| ENUM!{enum DOT11_MANUFACTURING_CALLBACK_TYPE { |
| dot11_manufacturing_callback_unknown = 0, |
| dot11_manufacturing_callback_self_test_complete = 1, |
| dot11_manufacturing_callback_sleep_complete = 2, |
| dot11_manufacturing_callback_IHV_start = 0x80000000, |
| dot11_manufacturing_callback_IHV_end = 0xffffffff, |
| }} |
| pub type PDOT11_MANUFACTURING_CALLBACK_TYPE = *mut DOT11_MANUFACTURING_CALLBACK_TYPE; |
| STRUCT!{struct DOT11_MANUFACTURING_CALLBACK_PARAMETERS { |
| Header: NDIS_OBJECT_HEADER, |
| dot11ManufacturingCallbackType: DOT11_MANUFACTURING_CALLBACK_TYPE, |
| uStatus: ULONG, |
| pvContext: PVOID, |
| }} |
| pub type PDOT11_MANUFACTURING_CALLBACK_PARAMETERS = *mut DOT11_MANUFACTURING_CALLBACK_PARAMETERS; |
| pub const DOT11_MANUFACTURING_CALLBACK_REVISION_1: UCHAR = 1; |
| pub const OID_DOT11_SET_FT_REASSOCIATION_PARAMETERS: u32 = |
| NWF_DEFINE_OID!(0x168, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID); |