[Madwifi-cvs] madwifi/net80211 ieee80211_var.h,1.1.4.3,1.1.4.4
Status: Beta
Brought to you by:
otaku
From: Sam L. <sam...@us...> - 2004-05-14 06:25:52
|
Update of /cvsroot/madwifi/madwifi/net80211 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13757 Modified Files: Tag: WPA ieee80211_var.h Log Message: Import recent work: o add roaming mode: auto (default), manual, or under device control (e.g. prism) o add optional information element support o add WPA/RSN information element storage o add modular authenticator framework support o revamp flags and capabilities for forthcoming WPA support Index: ieee80211_var.h =================================================================== RCS file: /cvsroot/madwifi/madwifi/net80211/Attic/ieee80211_var.h,v retrieving revision 1.1.4.3 retrieving revision 1.1.4.4 diff -C2 -d -r1.1.4.3 -r1.1.4.4 *** ieee80211_var.h 27 Feb 2004 21:11:53 -0000 1.1.4.3 --- ieee80211_var.h 14 May 2004 06:25:41 -0000 1.1.4.4 *************** *** 64,68 **** ((struct ieee80211_channel *) IEEE80211_CHAN_ANY) ! #define IEEE80211_TXPOWER_MAX 60 /* .5 dbM (XXX units?) */ #define IEEE80211_TXPOWER_MIN 0 /* kill radio */ --- 64,68 ---- ((struct ieee80211_channel *) IEEE80211_CHAN_ANY) ! #define IEEE80211_TXPOWER_MAX 100 /* .5 dbM (XXX units?) */ #define IEEE80211_TXPOWER_MIN 0 /* kill radio */ *************** *** 104,107 **** --- 104,122 ---- /* + * Roaming mode is effectively who controls the operation + * of the 802.11 state machine when operating as a station. + * State transitions are controlled either by the driver + * (typically when management frames are processed by the + * hardware/firmware), the host (auto/normal operation of + * the 802.11 layer), or explicitly through ioctl requests + * when applications like wpa_supplicant want control. + */ + enum ieee80211_roamingmode { + IEEE80211_ROAMING_DEVICE= 0, /* driver/hardware control */ + IEEE80211_ROAMING_AUTO = 1, /* 802.11 layer control */ + IEEE80211_ROAMING_MANUAL= 2, /* application control */ + }; + + /* * Channels are specified by frequency and attributes. */ *************** *** 217,220 **** --- 232,236 ---- enum ieee80211_state ic_state; /* 802.11 state */ enum ieee80211_protmode ic_protmode; /* 802.11g protection mode */ + enum ieee80211_roamingmode ic_roaming; /* roaming mode */ u_int32_t *ic_aid_bitmap; u_int16_t ic_max_aid; *************** *** 256,259 **** --- 272,282 ---- struct ieee80211_channel *ic_des_chan; /* desired channel */ u_int8_t ic_des_bssid[IEEE80211_ADDR_LEN]; + void *ic_opt_ie; /* user-specified IE's */ + u_int16_t ic_opt_ie_len; /* length of ni_opt_ie */ + struct ieee80211_ie_wpa ic_wpa_ie; /* WPA information element */ + + /* + * Cipher state/configuration. + */ struct ieee80211_wepkey ic_nw_keys[IEEE80211_WEP_NKID]; int ic_wep_txkey; /* default tx key index */ *************** *** 269,277 **** * is setup that the methods are safe to call. */ struct eapolcom *ic_ec; - void (*ic_node_join)(struct ieee80211com *, - struct ieee80211_node *); - void (*ic_node_leave)(struct ieee80211com *, - struct ieee80211_node *); }; --- 292,297 ---- * is setup that the methods are safe to call. */ + const struct ieee80211_authenticator *ic_auth; struct eapolcom *ic_ec; }; *************** *** 280,286 **** /* ic_flags */ - #define IEEE80211_F_WEPON 0x00000001 /* CONF: WEP enabled */ - #define IEEE80211_F_AESON 0x00000002 /* CONF: AES enabled */ - #define IEEE80211_F_CKIPON 0x00000004 /* CONF: CKIP enabled */ /* NB: this is intentionally setup to be IEEE80211_CAPINFO_PRIVACY */ #define IEEE80211_F_PRIVACY 0x00000010 /* CONF: privacy enabled */ --- 300,303 ---- *************** *** 290,294 **** #define IEEE80211_F_PMGTON 0x00000800 /* CONF: Power mgmt enable */ #define IEEE80211_F_DESBSSID 0x00001000 /* CONF: des_bssid is set */ ! #define IEEE80211_F_SCANAP 0x00002000 /* CONF: Scanning AP */ #define IEEE80211_F_ROAMING 0x00004000 /* CONF: roaming enabled */ #define IEEE80211_F_SWRETRY 0x00008000 /* CONF: sw tx retry enabled */ --- 307,311 ---- #define IEEE80211_F_PMGTON 0x00000800 /* CONF: Power mgmt enable */ #define IEEE80211_F_DESBSSID 0x00001000 /* CONF: des_bssid is set */ ! /* 0x00002000 is unused */ #define IEEE80211_F_ROAMING 0x00004000 /* CONF: roaming enabled */ #define IEEE80211_F_SWRETRY 0x00008000 /* CONF: sw tx retry enabled */ *************** *** 300,310 **** #define IEEE80211_F_USEBARKER 0x00200000 /* STATUS: use barker preamble*/ #define IEEE80211_F_TIMUPDATE 0x00400000 /* STATUS: update beacon tim */ ! ! #define IEEE80211_F_CRYPTON 0x0000000f /* CONF: crypto alg's enabled */ /* ic_caps */ #define IEEE80211_C_WEP 0x00000001 /* CAPABILITY: WEP available */ ! #define IEEE80211_C_AES 0x00000002 /* CAPABILITY: AES available */ ! #define IEEE80211_C_CKIP 0x00000004 /* CAPABILITY: CKIP available */ #define IEEE80211_C_IBSS 0x00000100 /* CAPABILITY: IBSS available */ #define IEEE80211_C_PMGT 0x00000200 /* CAPABILITY: Power mgmt */ --- 317,332 ---- #define IEEE80211_F_USEBARKER 0x00200000 /* STATUS: use barker preamble*/ #define IEEE80211_F_TIMUPDATE 0x00400000 /* STATUS: update beacon tim */ ! #define IEEE80211_F_WPA1 0x00800000 /* CONF: WPA enabled */ ! #define IEEE80211_F_WPA2 0x01000000 /* CONF: WPA2 enabled */ ! #define IEEE80211_F_WPA 0x01800000 /* CONF: WPA/WPA2 enabled */ ! #define IEEE80211_F_DROPUNENC 0x02000000 /* CONF: drop unencrypted */ ! #define IEEE80211_F_COUNTERM 0x04000000 /* CONF: TKIP countermeasures */ /* ic_caps */ #define IEEE80211_C_WEP 0x00000001 /* CAPABILITY: WEP available */ ! #define IEEE80211_C_TKIP 0x00000002 /* CAPABILITY: TKIP available */ ! #define IEEE80211_C_AES 0x00000004 /* CAPABILITY: AES OCB avail */ ! #define IEEE80211_C_AES_CCM 0x00000008 /* CAPABILITY: AES CCM avail */ ! #define IEEE80211_C_CKIP 0x00000020 /* CAPABILITY: CKIP available */ #define IEEE80211_C_IBSS 0x00000100 /* CAPABILITY: IBSS available */ #define IEEE80211_C_PMGT 0x00000200 /* CAPABILITY: Power mgmt */ *************** *** 316,322 **** #define IEEE80211_C_SHPREAMBLE 0x00008000 /* CAPABILITY: short preamble */ #define IEEE80211_C_MONITOR 0x00010000 /* CAPABILITY: monitor mode */ /* XXX protection/barker? */ ! #define IEEE80211_C_CRYPTO 0x0000000f /* CAPABILITY: crypto alg's */ int ieee80211_ifattach(struct ieee80211com *); --- 338,345 ---- #define IEEE80211_C_SHPREAMBLE 0x00008000 /* CAPABILITY: short preamble */ #define IEEE80211_C_MONITOR 0x00010000 /* CAPABILITY: monitor mode */ + #define IEEE80211_C_TKIPMIC 0x00020000 /* CAPABILITY: TKIP MIC avail */ /* XXX protection/barker? */ ! #define IEEE80211_C_CRYPTO 0x0000002f /* CAPABILITY: crypto alg's */ int ieee80211_ifattach(struct ieee80211com *); *************** *** 356,359 **** --- 379,383 ---- #define IEEE80211_MSG_RADDUMP 0x00004000 /* dump 802.1x radius packets */ #define IEEE80211_MSG_RADKEYS 0x00002000 /* dump 802.1x keys */ + #define IEEE80211_MSG_WPA 0x00001000 /* WPA/RSN protocol */ #define IEEE80211_MSG_ANY 0xffffffff /* anything */ *************** *** 377,380 **** --- 401,406 ---- #define ieee80211_msg_dumpradkeys(_ic) \ ((_ic)->msg_enable & IEEE80211_MSG_RADKEYS) + #define ieee80211_msg_scan(_ic) \ + ((_ic)->msg_enable & IEEE80211_MSG_SCAN) #else #define IEEE80211_DPRINTF(_ic, _fmt, ...) |