master
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6#ifndef _INC_WLANTYPES
7#define _INC_WLANTYPES
8
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#define DOT11_SSID_MAX_LENGTH 32
18
19#define DOT11_AUTH_ALGORITHM_OPEN_SYSTEM DOT11_AUTH_ALGO_80211_OPEN
20#define DOT11_AUTH_ALGORITHM_SHARED_KEY DOT11_AUTH_ALGO_80211_SHARED_KEY
21#define DOT11_AUTH_ALGORITHM_WPA DOT11_AUTH_ALGO_WPA
22#define DOT11_AUTH_ALGORITHM_WPA_PSK DOT11_AUTH_ALGO_WPA_PSK
23#define DOT11_AUTH_ALGORITHM_WPA_NONE DOT11_AUTH_ALGO_WPA_NONE
24#define DOT11_AUTH_ALGORITHM_RSNA DOT11_AUTH_ALGO_RSNA
25#define DOT11_AUTH_ALGORITHM_RSNA_PSK DOT11_AUTH_ALGO_RSNA_PSK
26#define DOT11_AUTH_ALGORITHM_WPA3 DOT11_AUTH_ALGO_WPA3
27#if NTDDI_VERSION >= NTDDI_WIN10_FE
28#define DOT11_AUTH_ALGORITHM_WPA3_ENT_192 DOT11_AUTH_ALGO_WPA3_ENT_192
29#endif
30#define DOT11_AUTH_ALGORITHM_WPA3_SAE DOT11_AUTH_ALGO_WPA3_SAE
31#if NTDDI_VERSION >= NTDDI_WIN10_VB
32#define DOT11_AUTH_ALGORITHM_OWE DOT11_AUTH_ALGO_OWE
33#endif
34#if NTDDI_VERSION >= NTDDI_WIN10_FE
35#define DOT11_AUTH_ALGORITHM_WPA3_ENT DOT11_AUTH_ALGO_WPA3_ENT
36#endif
37
38#ifdef __WIDL__
39typedef [v1_enum] enum _DOT11_AUTH_ALGORITHM {
40#else
41typedef enum _DOT11_AUTH_ALGORITHM {
42#endif
43 DOT11_AUTH_ALGO_80211_OPEN = 1,
44 DOT11_AUTH_ALGO_80211_SHARED_KEY = 2,
45 DOT11_AUTH_ALGO_WPA = 3,
46 DOT11_AUTH_ALGO_WPA_PSK = 4,
47 DOT11_AUTH_ALGO_WPA_NONE = 5,
48 DOT11_AUTH_ALGO_RSNA = 6,
49 DOT11_AUTH_ALGO_RSNA_PSK = 7,
50 DOT11_AUTH_ALGO_WPA3 = 8
51#if NTDDI_VERSION >= NTDDI_WIN10_FE
52 , DOT11_AUTH_ALGO_WPA3_ENT_192 = DOT11_AUTH_ALGO_WPA3
53#endif
54 , DOT11_AUTH_ALGO_WPA3_SAE = 9
55#if NTDDI_VERSION >= NTDDI_WIN10_VB
56 , DOT11_AUTH_ALGO_OWE = 10
57#endif
58#if NTDDI_VERSION >= NTDDI_WIN10_FE
59 , DOT11_AUTH_ALGO_WPA3_ENT = 11
60#endif
61 , DOT11_AUTH_ALGO_IHV_START = 0x80000000
62 , DOT11_AUTH_ALGO_IHV_END = 0xffffffff
63} DOT11_AUTH_ALGORITHM;
64
65typedef DOT11_AUTH_ALGORITHM *PDOT11_AUTH_ALGORITHM;
66
67#ifdef __WIDL__
68 typedef [v1_enum] enum _DOT11_CIPHER_ALGORITHM {
69#else
70typedef enum _DOT11_CIPHER_ALGORITHM {
71#endif
72 DOT11_CIPHER_ALGO_NONE = 0x00,
73 DOT11_CIPHER_ALGO_WEP40 = 0x01,
74 DOT11_CIPHER_ALGO_TKIP = 0x02,
75 DOT11_CIPHER_ALGO_CCMP = 0x04,
76 DOT11_CIPHER_ALGO_WEP104 = 0x05,
77 DOT11_CIPHER_ALGO_BIP = 0x06,
78 DOT11_CIPHER_ALGO_GCMP = 0x08,
79 DOT11_CIPHER_ALGO_GCMP_256 = 0x09,
80 DOT11_CIPHER_ALGO_CCMP_256 = 0x0a,
81 DOT11_CIPHER_ALGO_BIP_GMAC_128 = 0x0b,
82 DOT11_CIPHER_ALGO_BIP_GMAC_256 = 0x0c,
83 DOT11_CIPHER_ALGO_BIP_CMAC_256 = 0x0d,
84 DOT11_CIPHER_ALGO_WPA_USE_GROUP = 0x100,
85 DOT11_CIPHER_ALGO_RSN_USE_GROUP = 0x100,
86 DOT11_CIPHER_ALGO_WEP = 0x101,
87 DOT11_CIPHER_ALGO_IHV_START = 0x80000000,
88 DOT11_CIPHER_ALGO_IHV_END = 0xffffffff
89} DOT11_CIPHER_ALGORITHM;
90
91typedef DOT11_CIPHER_ALGORITHM *PDOT11_CIPHER_ALGORITHM;
92
93typedef enum _DOT11_BSS_TYPE {
94 dot11_BSS_type_infrastructure = 1,
95 dot11_BSS_type_independent = 2,
96 dot11_BSS_type_any = 3
97} DOT11_BSS_TYPE, *PDOT11_BSS_TYPE;
98
99typedef struct _DOT11_AUTH_CIPHER_PAIR {
100 DOT11_AUTH_ALGORITHM AuthAlgoId;
101 DOT11_CIPHER_ALGORITHM CipherAlgoId;
102} DOT11_AUTH_CIPHER_PAIR, *PDOT11_AUTH_CIPHER_PAIR;
103
104#define DOT11_OI_MAX_LENGTH 5
105#define DOT11_OI_MIN_LENGTH 3
106
107typedef struct _DOT11_OI {
108 USHORT OILength;
109 UCHAR OI[DOT11_OI_MAX_LENGTH];
110} DOT11_OI, *PDOT11_OI;
111
112typedef struct DOT11_ACCESSNETWORKOPTIONS {
113 UINT8 AccessNetworkType;
114 UINT8 Internet;
115 UINT8 ASRA;
116 UINT8 ESR;
117 UINT8 UESA;
118} DOT11_ACCESSNETWORKOPTIONS, *PDOT11_ACCESSNETWORKOPTIONS;
119
120typedef struct _DOT11_SSID {
121 ULONG uSSIDLength;
122 UCHAR ucSSID[DOT11_SSID_MAX_LENGTH];
123} DOT11_SSID, *PDOT11_SSID;
124
125typedef struct DOT11_VENUEINFO {
126 UINT8 VenueGroup;
127 UINT8 VenueType;
128} DOT11_VENUEINFO, *PDOT11_VENUEINFO;
129
130#ifdef __cplusplus
131}
132#endif
133
134#endif
135#endif /*_INC_WLANTYPES*/