winapi_ui_automation/shared/
wlantypes.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6//! Structures used to hold wlan information.
7use shared::basetsd::UINT8;
8use shared::minwindef::{UCHAR, ULONG, USHORT};
9ENUM!{enum DOT11_BSS_TYPE {
10    dot11_BSS_type_infrastructure = 1,
11    dot11_BSS_type_independent = 2,
12    dot11_BSS_type_any = 3,
13}}
14pub type PDOT11_BSS_TYPE = *mut DOT11_BSS_TYPE;
15pub const DOT11_SSID_MAX_LENGTH: usize = 32;
16STRUCT!{struct DOT11_SSID {
17    uSSIDLength: ULONG,
18    ucSSID: [UCHAR; DOT11_SSID_MAX_LENGTH],
19}}
20pub type PDOT11_SSID = *mut DOT11_SSID;
21ENUM!{enum DOT11_AUTH_ALGORITHM {
22    DOT11_AUTH_ALGO_80211_OPEN = 1,
23    DOT11_AUTH_ALGO_80211_SHARED_KEY = 2,
24    DOT11_AUTH_ALGO_WPA = 3,
25    DOT11_AUTH_ALGO_WPA_PSK = 4,
26    DOT11_AUTH_ALGO_WPA_NONE = 5,
27    DOT11_AUTH_ALGO_RSNA = 6,
28    DOT11_AUTH_ALGO_RSNA_PSK = 7,
29    DOT11_AUTH_ALGO_IHV_START = 0x80000000,
30    DOT11_AUTH_ALGO_IHV_END = 0xffffffff,
31}}
32pub type PDOT11_AUTH_ALGORITHM = *mut DOT11_AUTH_ALGORITHM;
33pub const DOT11_AUTH_ALGORITHM_OPEN_SYSTEM: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_80211_OPEN;
34pub const DOT11_AUTH_ALGORITHM_SHARED_KEY: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_80211_SHARED_KEY;
35pub const DOT11_AUTH_ALGORITHM_WPA: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_WPA;
36pub const DOT11_AUTH_ALGORITHM_WPA_PSK: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_WPA_PSK;
37pub const DOT11_AUTH_ALGORITHM_WPA_NONE: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_WPA_NONE;
38pub const DOT11_AUTH_ALGORITHM_RSNA: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_RSNA;
39pub const DOT11_AUTH_ALGORITHM_RSNA_PSK: DOT11_AUTH_ALGORITHM = DOT11_AUTH_ALGO_RSNA_PSK;
40ENUM!{enum DOT11_CIPHER_ALGORITHM {
41    DOT11_CIPHER_ALGO_NONE = 0x00,
42    DOT11_CIPHER_ALGO_WEP40 = 0x01,
43    DOT11_CIPHER_ALGO_TKIP = 0x02,
44    DOT11_CIPHER_ALGO_CCMP = 0x04,
45    DOT11_CIPHER_ALGO_WEP104 = 0x05,
46    DOT11_CIPHER_ALGO_BIP = 0x06,
47    DOT11_CIPHER_ALGO_GCMP = 0x08,
48    DOT11_CIPHER_ALGO_WPA_USE_GROUP = 0x100,
49    DOT11_CIPHER_ALGO_WEP = 0x101,
50    DOT11_CIPHER_ALGO_IHV_START = 0x80000000,
51    DOT11_CIPHER_ALGO_IHV_END = 0xffffffff,
52}}
53pub type PDOT11_CIPHER_ALGORITHM = *mut DOT11_CIPHER_ALGORITHM;
54STRUCT!{struct DOT11_AUTH_CIPHER_PAIR {
55    AuthAlgoId: DOT11_AUTH_ALGORITHM,
56    CipherAlgoId: DOT11_CIPHER_ALGORITHM,
57}}
58pub type PDOT11_AUTH_CIPHER_PAIR = *mut DOT11_AUTH_CIPHER_PAIR;
59pub const DOT11_OI_MAX_LENGTH: usize = 5;
60pub const DOT11_OI_MIN_LENGTH: usize = 3;
61STRUCT!{struct DOT11_OI {
62    OILength: USHORT,
63    OI: [UCHAR; DOT11_OI_MAX_LENGTH],
64}}
65pub type PDOT11_OI = *mut DOT11_OI;
66STRUCT!{struct DOT11_ACCESSNETWORKOPTIONS {
67    AccessNetworkType: UINT8,
68    Internet: UINT8,
69    ASRA: UINT8,
70    ESR: UINT8,
71    UESA: UINT8,
72}}
73pub type PDOT11_ACCESSNETWORKOPTIONS = *mut DOT11_ACCESSNETWORKOPTIONS;
74STRUCT!{struct DOT11_VENUEINFO {
75    VenueGroup: UINT8,
76    VenueType: UINT8,
77}}
78pub type PDOT11_VENUEINFO = *mut DOT11_VENUEINFO;