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*/