wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
defs.h
Go to the documentation of this file.
1 
5 #ifndef DEFS_H
6 #define DEFS_H
7 
8 #ifdef FALSE
9 #undef FALSE
10 #endif
11 #ifdef TRUE
12 #undef TRUE
13 #endif
14 typedef enum { FALSE = 0, TRUE = 1 } Boolean;
15 
16 
17 #define WPA_CIPHER_NONE BIT(0)
18 #define WPA_CIPHER_WEP40 BIT(1)
19 #define WPA_CIPHER_WEP104 BIT(2)
20 #define WPA_CIPHER_TKIP BIT(3)
21 #define WPA_CIPHER_CCMP BIT(4)
22 #define WPA_CIPHER_AES_128_CMAC BIT(5)
23 #define WPA_CIPHER_GCMP BIT(6)
24 #define WPA_CIPHER_SMS4 BIT(7)
25 #define WPA_CIPHER_GCMP_256 BIT(8)
26 #define WPA_CIPHER_CCMP_256 BIT(9)
27 #define WPA_CIPHER_BIP_GMAC_128 BIT(11)
28 #define WPA_CIPHER_BIP_GMAC_256 BIT(12)
29 #define WPA_CIPHER_BIP_CMAC_256 BIT(13)
30 #define WPA_CIPHER_GTK_NOT_USED BIT(14)
31 
32 #define WPA_KEY_MGMT_IEEE8021X BIT(0)
33 #define WPA_KEY_MGMT_PSK BIT(1)
34 #define WPA_KEY_MGMT_NONE BIT(2)
35 #define WPA_KEY_MGMT_IEEE8021X_NO_WPA BIT(3)
36 #define WPA_KEY_MGMT_WPA_NONE BIT(4)
37 #define WPA_KEY_MGMT_FT_IEEE8021X BIT(5)
38 #define WPA_KEY_MGMT_FT_PSK BIT(6)
39 #define WPA_KEY_MGMT_IEEE8021X_SHA256 BIT(7)
40 #define WPA_KEY_MGMT_PSK_SHA256 BIT(8)
41 #define WPA_KEY_MGMT_WPS BIT(9)
42 #define WPA_KEY_MGMT_SAE BIT(10)
43 #define WPA_KEY_MGMT_FT_SAE BIT(11)
44 #define WPA_KEY_MGMT_WAPI_PSK BIT(12)
45 #define WPA_KEY_MGMT_WAPI_CERT BIT(13)
46 #define WPA_KEY_MGMT_CCKM BIT(14)
47 #define WPA_KEY_MGMT_OSEN BIT(15)
48 #define WPA_KEY_MGMT_IEEE8021X_SUITE_B BIT(16)
49 #define WPA_KEY_MGMT_IEEE8021X_SUITE_B_192 BIT(17)
50 
51 static inline int wpa_key_mgmt_wpa_ieee8021x(int akm)
52 {
53  return !!(akm & (WPA_KEY_MGMT_IEEE8021X |
54  WPA_KEY_MGMT_FT_IEEE8021X |
55  WPA_KEY_MGMT_CCKM |
56  WPA_KEY_MGMT_OSEN |
57  WPA_KEY_MGMT_IEEE8021X_SHA256 |
58  WPA_KEY_MGMT_IEEE8021X_SUITE_B |
59  WPA_KEY_MGMT_IEEE8021X_SUITE_B_192));
60 }
61 
62 static inline int wpa_key_mgmt_wpa_psk(int akm)
63 {
64  return !!(akm & (WPA_KEY_MGMT_PSK |
65  WPA_KEY_MGMT_FT_PSK |
66  WPA_KEY_MGMT_PSK_SHA256 |
67  WPA_KEY_MGMT_SAE |
68  WPA_KEY_MGMT_FT_SAE));
69 }
70 
71 static inline int wpa_key_mgmt_ft(int akm)
72 {
73  return !!(akm & (WPA_KEY_MGMT_FT_PSK |
74  WPA_KEY_MGMT_FT_IEEE8021X |
75  WPA_KEY_MGMT_FT_SAE));
76 }
77 
78 static inline int wpa_key_mgmt_sae(int akm)
79 {
80  return !!(akm & (WPA_KEY_MGMT_SAE |
81  WPA_KEY_MGMT_FT_SAE));
82 }
83 
84 static inline int wpa_key_mgmt_sha256(int akm)
85 {
86  return !!(akm & (WPA_KEY_MGMT_PSK_SHA256 |
87  WPA_KEY_MGMT_IEEE8021X_SHA256 |
88  WPA_KEY_MGMT_OSEN |
89  WPA_KEY_MGMT_IEEE8021X_SUITE_B));
90 }
91 
92 static inline int wpa_key_mgmt_sha384(int akm)
93 {
94  return !!(akm & WPA_KEY_MGMT_IEEE8021X_SUITE_B_192);
95 }
96 
97 static inline int wpa_key_mgmt_suite_b(int akm)
98 {
99  return !!(akm & (WPA_KEY_MGMT_IEEE8021X_SUITE_B |
100  WPA_KEY_MGMT_IEEE8021X_SUITE_B_192));
101 }
102 
103 static inline int wpa_key_mgmt_wpa(int akm)
104 {
105  return wpa_key_mgmt_wpa_ieee8021x(akm) ||
106  wpa_key_mgmt_wpa_psk(akm) ||
107  wpa_key_mgmt_sae(akm);
108 }
109 
110 static inline int wpa_key_mgmt_wpa_any(int akm)
111 {
112  return wpa_key_mgmt_wpa(akm) || (akm & WPA_KEY_MGMT_WPA_NONE);
113 }
114 
115 static inline int wpa_key_mgmt_cckm(int akm)
116 {
117  return akm == WPA_KEY_MGMT_CCKM;
118 }
119 
120 
121 #define WPA_PROTO_WPA BIT(0)
122 #define WPA_PROTO_RSN BIT(1)
123 #define WPA_PROTO_WAPI BIT(2)
124 #define WPA_PROTO_OSEN BIT(3)
125 
126 #define WPA_AUTH_ALG_OPEN BIT(0)
127 #define WPA_AUTH_ALG_SHARED BIT(1)
128 #define WPA_AUTH_ALG_LEAP BIT(2)
129 #define WPA_AUTH_ALG_FT BIT(3)
130 #define WPA_AUTH_ALG_SAE BIT(4)
131 
132 
133 enum wpa_alg {
134  WPA_ALG_NONE,
135  WPA_ALG_WEP,
136  WPA_ALG_TKIP,
137  WPA_ALG_CCMP,
138  WPA_ALG_IGTK,
139  WPA_ALG_PMK,
140  WPA_ALG_GCMP,
141  WPA_ALG_SMS4,
142  WPA_ALG_KRK,
143  WPA_ALG_GCMP_256,
144  WPA_ALG_CCMP_256,
145  WPA_ALG_BIP_GMAC_128,
146  WPA_ALG_BIP_GMAC_256,
147  WPA_ALG_BIP_CMAC_256
148 };
149 
171 
181 
192 
201 
212 
224 
235 
246 
257 
276 };
277 
278 #define MLME_SETPROTECTION_PROTECT_TYPE_NONE 0
279 #define MLME_SETPROTECTION_PROTECT_TYPE_RX 1
280 #define MLME_SETPROTECTION_PROTECT_TYPE_TX 2
281 #define MLME_SETPROTECTION_PROTECT_TYPE_RX_TX 3
282 
283 #define MLME_SETPROTECTION_KEY_TYPE_GROUP 0
284 #define MLME_SETPROTECTION_KEY_TYPE_PAIRWISE 1
285 
286 
292  NO_MGMT_FRAME_PROTECTION = 0,
293  MGMT_FRAME_PROTECTION_OPTIONAL = 1,
294  MGMT_FRAME_PROTECTION_REQUIRED = 2,
295 };
296 #define MGMT_FRAME_PROTECTION_DEFAULT 3
297 
303  HOSTAPD_MODE_IEEE80211B,
304  HOSTAPD_MODE_IEEE80211G,
305  HOSTAPD_MODE_IEEE80211A,
306  HOSTAPD_MODE_IEEE80211AD,
307  HOSTAPD_MODE_IEEE80211ANY,
308  NUM_HOSTAPD_MODES
309 };
310 
316  WPA_CTRL_REQ_UNKNOWN,
317  WPA_CTRL_REQ_EAP_IDENTITY,
318  WPA_CTRL_REQ_EAP_PASSWORD,
319  WPA_CTRL_REQ_EAP_NEW_PASSWORD,
320  WPA_CTRL_REQ_EAP_PIN,
321  WPA_CTRL_REQ_EAP_OTP,
322  WPA_CTRL_REQ_EAP_PASSPHRASE,
323  WPA_CTRL_REQ_SIM,
324  WPA_CTRL_REQ_PSK_PASSPHRASE,
325  NUM_WPA_CTRL_REQS
326 };
327 
328 /* Maximum number of EAP methods to store for EAP server user information */
329 #define EAP_MAX_METHODS 8
330 
331 enum mesh_plink_state {
332  PLINK_LISTEN = 1,
333  PLINK_OPEN_SENT,
334  PLINK_OPEN_RCVD,
335  PLINK_CNF_RCVD,
336  PLINK_ESTAB,
337  PLINK_HOLDING,
338  PLINK_BLOCKED,
339 };
340 
341 enum set_band {
342  WPA_SETBAND_AUTO,
343  WPA_SETBAND_5G,
344  WPA_SETBAND_2G
345 };
346 
347 #endif /* DEFS_H */
Inactive state (wpa_supplicant disabled)
Definition: defs.h:191
Association completed.
Definition: defs.h:234
All authentication completed.
Definition: defs.h:275
Trying to authenticate with a BSS/SSID.
Definition: defs.h:211
wpa_states
wpa_supplicant state
Definition: defs.h:161
Scanning for a network.
Definition: defs.h:200
Trying to associate with a BSS/SSID.
Definition: defs.h:223
hostapd_hw_mode
Hardware mode.
Definition: defs.h:302
WPA 4-Way Key Handshake in progress.
Definition: defs.h:245
wpa_ctrl_req_type
Control interface request types.
Definition: defs.h:315
mfp_options
Management frame protection (IEEE 802.11w) options.
Definition: defs.h:291
Disconnected state.
Definition: defs.h:170
WPA Group Key Handshake in progress.
Definition: defs.h:256
Interface disabled.
Definition: defs.h:180