blob: a9e9c665aaa15737e396e99bec37bb646bb4b789 [file] [log] [blame]
// 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.
//! Structures used to hold wlan information.
use shared::basetsd::UINT8;
use shared::minwindef::{UCHAR, ULONG, USHORT};
ENUM!{enum DOT11_BSS_TYPE {
dot11_BSS_type_infrastructure = 1,
dot11_BSS_type_independent = 2,
dot11_BSS_type_any = 3,
}}
pub type PDOT11_BSS_TYPE = *mut DOT11_BSS_TYPE;
pub const DOT11_SSID_MAX_LENGTH: usize = 32;
STRUCT!{struct DOT11_SSID {
uSSIDLength: ULONG,
ucSSID: [UCHAR; DOT11_SSID_MAX_LENGTH],
}}
pub type PDOT11_SSID = *mut DOT11_SSID;
ENUM!{enum DOT11_AUTH_ALGORITHM {
DOT11_AUTH_ALGO_80211_OPEN = 1,
DOT11_AUTH_ALGO_80211_SHARED_KEY = 2,
DOT11_AUTH_ALGO_WPA = 3,
DOT11_AUTH_ALGO_WPA_PSK = 4,
DOT11_AUTH_ALGO_WPA_NONE = 5,
DOT11_AUTH_ALGO_RSNA = 6,
DOT11_AUTH_ALGO_RSNA_PSK = 7,
DOT11_AUTH_ALGO_IHV_START = 0x80000000,
DOT11_AUTH_ALGO_IHV_END = 0xffffffff,
}}
pub type PDOT11_AUTH_ALGORITHM = *mut DOT11_AUTH_ALGORITHM;
pub const DOT11_AUTH_ALGORITHM_OPEN_SYSTEM: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_80211_OPEN;
pub const DOT11_AUTH_ALGORITHM_SHARED_KEY: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_80211_SHARED_KEY;
pub const DOT11_AUTH_ALGORITHM_WPA: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_WPA;
pub const DOT11_AUTH_ALGORITHM_WPA_PSK: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_WPA_PSK;
pub const DOT11_AUTH_ALGORITHM_WPA_NONE: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_WPA_NONE;
pub const DOT11_AUTH_ALGORITHM_RSNA: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_RSNA;
pub const DOT11_AUTH_ALGORITHM_RSNA_PSK: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_RSNA_PSK;
ENUM!{enum DOT11_CIPHER_ALGORITHM {
DOT11_CIPHER_ALGO_NONE = 0x00,
DOT11_CIPHER_ALGO_WEP40 = 0x01,
DOT11_CIPHER_ALGO_TKIP = 0x02,
DOT11_CIPHER_ALGO_CCMP = 0x04,
DOT11_CIPHER_ALGO_WEP104 = 0x05,
DOT11_CIPHER_ALGO_BIP = 0x06,
DOT11_CIPHER_ALGO_GCMP = 0x08,
DOT11_CIPHER_ALGO_WPA_USE_GROUP = 0x100,
DOT11_CIPHER_ALGO_WEP = 0x101,
DOT11_CIPHER_ALGO_IHV_START = 0x80000000,
DOT11_CIPHER_ALGO_IHV_END = 0xffffffff,
}}
pub type PDOT11_CIPHER_ALGORITHM = *mut DOT11_CIPHER_ALGORITHM;
STRUCT!{struct DOT11_AUTH_CIPHER_PAIR {
AuthAlgoId: DOT11_AUTH_ALGORITHM,
CipherAlgoId: DOT11_CIPHER_ALGORITHM,
}}
pub type PDOT11_AUTH_CIPHER_PAIR = *mut DOT11_AUTH_CIPHER_PAIR;
pub const DOT11_OI_MAX_LENGTH: usize = 5;
pub const DOT11_OI_MIN_LENGTH: usize = 3;
STRUCT!{struct DOT11_OI {
OILength: USHORT,
OI: [UCHAR; DOT11_OI_MAX_LENGTH],
}}
pub type PDOT11_OI = *mut DOT11_OI;
STRUCT!{struct DOT11_ACCESSNETWORKOPTIONS {
AccessNetworkType: UINT8,
Internet: UINT8,
ASRA: UINT8,
ESR: UINT8,
UESA: UINT8,
}}
pub type PDOT11_ACCESSNETWORKOPTIONS = *mut DOT11_ACCESSNETWORKOPTIONS;
STRUCT!{struct DOT11_VENUEINFO {
VenueGroup: UINT8,
VenueType: UINT8,
}}
pub type PDOT11_VENUEINFO = *mut DOT11_VENUEINFO;