defs.h
Go to the documentation of this file.00001
00016 #ifndef DEFS_H
00017 #define DEFS_H
00018
00019 #ifdef FALSE
00020 #undef FALSE
00021 #endif
00022 #ifdef TRUE
00023 #undef TRUE
00024 #endif
00025 typedef enum { FALSE = 0, TRUE = 1 } Boolean;
00026
00027
00028 #define WPA_CIPHER_NONE BIT(0)
00029 #define WPA_CIPHER_WEP40 BIT(1)
00030 #define WPA_CIPHER_WEP104 BIT(2)
00031 #define WPA_CIPHER_TKIP BIT(3)
00032 #define WPA_CIPHER_CCMP BIT(4)
00033 #ifdef CONFIG_IEEE80211W
00034 #define WPA_CIPHER_AES_128_CMAC BIT(5)
00035 #endif
00036
00037 #define WPA_KEY_MGMT_IEEE8021X BIT(0)
00038 #define WPA_KEY_MGMT_PSK BIT(1)
00039 #define WPA_KEY_MGMT_NONE BIT(2)
00040 #define WPA_KEY_MGMT_IEEE8021X_NO_WPA BIT(3)
00041 #define WPA_KEY_MGMT_WPA_NONE BIT(4)
00042 #define WPA_KEY_MGMT_FT_IEEE8021X BIT(5)
00043 #define WPA_KEY_MGMT_FT_PSK BIT(6)
00044 #define WPA_KEY_MGMT_IEEE8021X_SHA256 BIT(7)
00045 #define WPA_KEY_MGMT_PSK_SHA256 BIT(8)
00046 #define WPA_KEY_MGMT_WPS BIT(9)
00047
00048 static inline int wpa_key_mgmt_wpa_ieee8021x(int akm)
00049 {
00050 return akm == WPA_KEY_MGMT_IEEE8021X ||
00051 akm == WPA_KEY_MGMT_FT_IEEE8021X ||
00052 akm == WPA_KEY_MGMT_IEEE8021X_SHA256;
00053 }
00054
00055 static inline int wpa_key_mgmt_wpa_psk(int akm)
00056 {
00057 return akm == WPA_KEY_MGMT_PSK ||
00058 akm == WPA_KEY_MGMT_FT_PSK ||
00059 akm == WPA_KEY_MGMT_PSK_SHA256;
00060 }
00061
00062 static inline int wpa_key_mgmt_ft(int akm)
00063 {
00064 return akm == WPA_KEY_MGMT_FT_PSK ||
00065 akm == WPA_KEY_MGMT_FT_IEEE8021X;
00066 }
00067
00068 static inline int wpa_key_mgmt_sha256(int akm)
00069 {
00070 return akm == WPA_KEY_MGMT_PSK_SHA256 ||
00071 akm == WPA_KEY_MGMT_IEEE8021X_SHA256;
00072 }
00073
00074
00075 #define WPA_PROTO_WPA BIT(0)
00076 #define WPA_PROTO_RSN BIT(1)
00077
00078 #define WPA_AUTH_ALG_OPEN BIT(0)
00079 #define WPA_AUTH_ALG_SHARED BIT(1)
00080 #define WPA_AUTH_ALG_LEAP BIT(2)
00081
00082
00083 typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP,
00084 WPA_ALG_IGTK, WPA_ALG_PMK } wpa_alg;
00085 typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
00086 CIPHER_WEP104 } wpa_cipher;
00087 typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE,
00088 KEY_MGMT_802_1X_NO_WPA, KEY_MGMT_WPA_NONE,
00089 KEY_MGMT_FT_802_1X, KEY_MGMT_FT_PSK,
00090 KEY_MGMT_802_1X_SHA256, KEY_MGMT_PSK_SHA256,
00091 KEY_MGMT_WPS
00092 } wpa_key_mgmt;
00093
00104 typedef enum {
00113 WPA_DISCONNECTED,
00114
00124 WPA_INACTIVE,
00125
00133 WPA_SCANNING,
00134
00144 WPA_AUTHENTICATING,
00145
00156 WPA_ASSOCIATING,
00157
00167 WPA_ASSOCIATED,
00168
00178 WPA_4WAY_HANDSHAKE,
00179
00189 WPA_GROUP_HANDSHAKE,
00190
00208 WPA_COMPLETED
00209 } wpa_states;
00210
00211 #define MLME_SETPROTECTION_PROTECT_TYPE_NONE 0
00212 #define MLME_SETPROTECTION_PROTECT_TYPE_RX 1
00213 #define MLME_SETPROTECTION_PROTECT_TYPE_TX 2
00214 #define MLME_SETPROTECTION_PROTECT_TYPE_RX_TX 3
00215
00216 #define MLME_SETPROTECTION_KEY_TYPE_GROUP 0
00217 #define MLME_SETPROTECTION_KEY_TYPE_PAIRWISE 1
00218
00219
00220 enum mfp_options {
00221 NO_IEEE80211W = 0,
00222 IEEE80211W_OPTIONAL = 1,
00223 IEEE80211W_REQUIRED = 2
00224 };
00225
00226 typedef enum {
00227 HOSTAPD_MODE_IEEE80211B,
00228 HOSTAPD_MODE_IEEE80211G,
00229 HOSTAPD_MODE_IEEE80211A,
00230 NUM_HOSTAPD_MODES
00231 } hostapd_hw_mode;
00232
00233 #endif
00234