p80211mgmt.h

Go to the documentation of this file.
00001 /* src/include/wlan/p80211mgmt.h
00002 *
00003 * Macros, types, and functions to handle 802.11 mgmt frames
00004 *
00005 * Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
00006 * --------------------------------------------------------------------
00007 *
00008 * linux-wlan
00009 *
00010 *   The contents of this file are subject to the Mozilla Public
00011 *   License Version 1.1 (the "License"); you may not use this file
00012 *   except in compliance with the License. You may obtain a copy of
00013 *   the License at http://www.mozilla.org/MPL/
00014 *
00015 *   Software distributed under the License is distributed on an "AS
00016 *   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
00017 *   implied. See the License for the specific language governing
00018 *   rights and limitations under the License.
00019 *
00020 *   Alternatively, the contents of this file may be used under the
00021 *   terms of the GNU Public License version 2 (the "GPL"), in which
00022 *   case the provisions of the GPL are applicable instead of the
00023 *   above.  If you wish to allow the use of your version of this file
00024 *   only under the terms of the GPL and not to allow others to use
00025 *   your version of this file under the MPL, indicate your decision
00026 *   by deleting the provisions above and replace them with the notice
00027 *   and other provisions required by the GPL.  If you do not delete
00028 *   the provisions above, a recipient may use your version of this
00029 *   file under either the MPL or the GPL.
00030 *
00031 * --------------------------------------------------------------------
00032 *
00033 * Inquiries regarding the linux-wlan Open Source project can be
00034 * made directly to:
00035 *
00036 * AbsoluteValue Systems Inc.
00037 * info@linux-wlan.com
00038 * http://www.linux-wlan.com
00039 *
00040 * --------------------------------------------------------------------
00041 *
00042 * Portions of the development of this software were funded by 
00043 * Intersil Corporation as part of PRISM(R) chipset product development.
00044 *
00045 * --------------------------------------------------------------------
00046 *
00047 * This file declares the constants and types used in the interface
00048 * between a wlan driver and the user mode utilities.
00049 *
00050 * Notes: 
00051 *  - Constant values are always in HOST byte order.  To assign
00052 *    values to multi-byte fields they _must_ be converted to
00053 *    ieee byte order.  To retrieve multi-byte values from incoming
00054 *    frames, they must be converted to host order.
00055 *
00056 *  - The len member of the frame structure does NOT!!! include
00057 *    the MAC CRC.  Therefore, the len field on rx'd frames should
00058 *    have 4 subtracted from it.
00059 *
00060 * All functions declared here are implemented in p80211.c
00061 *
00062 * The types, macros, and functions defined here are primarily
00063 * used for encoding and decoding management frames.  They are
00064 * designed to follow these patterns of use:
00065 *
00066 * DECODE:
00067 * 1) a frame of length len is received into buffer b
00068 * 2) using the hdr structure and macros, we determine the type
00069 * 3) an appropriate mgmt frame structure, mf, is allocated and zeroed
00070 * 4) mf.hdr = b
00071 *    mf.buf = b
00072 *    mf.len = len
00073 * 5) call mgmt_decode( mf )
00074 * 6) the frame field pointers in mf are now set.  Note that any 
00075 *    multi-byte frame field values accessed using the frame field 
00076 *    pointers are in ieee byte order and will have to be converted
00077 *    to host order.
00078 *
00079 * ENCODE:
00080 * 1) Library client allocates buffer space for maximum length
00081 *    frame of the desired type
00082 * 2) Library client allocates a mgmt frame structure, called mf, 
00083 *    of the desired type
00084 * 3) Set the following:
00085 *    mf.type = <desired type>
00086 *    mf.buf = <allocated buffer address>
00087 * 4) call mgmt_encode( mf )
00088 * 5) all of the fixed field pointers and fixed length information element
00089 *    pointers in mf are now set to their respective locations in the 
00090 *    allocated space (fortunately, all variable length information elements
00091 *    fall at the end of their respective frames).
00092 * 5a) The length field is set to include the last of the fixed and fixed
00093 *     length fields.  It may have to be updated for optional or variable 
00094 *   length information elements.
00095 * 6) Optional and variable length information elements are special cases 
00096 *    and must be handled individually by the client code.
00097 * --------------------------------------------------------------------
00098 */
00099 
00100 #ifndef _P80211MGMT_H
00101 #define _P80211MGMT_H
00102 
00103 /*================================================================*/
00104 /* System Includes */
00105 
00106 /*================================================================*/
00107 /* Project Includes */
00108 
00109 #ifndef  _WLAN_COMPAT_H
00110 #include <wlan_compat.h>
00111 #endif
00112 
00113 #ifndef  _P80211HDR_H
00114 #include <p80211hdr.h>
00115 #endif
00116 
00117 
00118 /*================================================================*/
00119 /* Constants */
00120 
00121 /*-- Information Element IDs --------------------*/
00122 #define WLAN_EID_SSID   0
00123 #define WLAN_EID_SUPP_RATES 1
00124 #define WLAN_EID_FH_PARMS 2
00125 #define WLAN_EID_DS_PARMS 3
00126 #define WLAN_EID_CF_PARMS 4
00127 #define WLAN_EID_TIM    5
00128 #define WLAN_EID_IBSS_PARMS 6
00129 /*-- values 7-15 reserved --*/
00130 #define WLAN_EID_CHALLENGE  16
00131 /*-- values 17-31 reserved for challenge text extension --*/
00132 /*-- values 32-255 reserved --*/
00133 
00134 /*-- Reason Codes -------------------------------*/
00135 #define WLAN_MGMT_REASON_RSVD     0 
00136 #define WLAN_MGMT_REASON_UNSPEC     1
00137 #define WLAN_MGMT_REASON_PRIOR_AUTH_INVALID 2
00138 #define WLAN_MGMT_REASON_DEAUTH_LEAVING   3
00139 #define WLAN_MGMT_REASON_DISASSOC_INACTIVE  4
00140 #define WLAN_MGMT_REASON_DISASSOC_AP_BUSY 5
00141 #define WLAN_MGMT_REASON_CLASS2_NONAUTH   6
00142 #define WLAN_MGMT_REASON_CLASS3_NONASSOC  7
00143 #define WLAN_MGMT_REASON_DISASSOC_STA_HASLEFT 8
00144 #define WLAN_MGMT_REASON_CANT_ASSOC_NONAUTH 9
00145 
00146 /*-- Status Codes -------------------------------*/
00147 #define WLAN_MGMT_STATUS_SUCCESS    0
00148 #define WLAN_MGMT_STATUS_UNSPEC_FAILURE   1
00149 #define WLAN_MGMT_STATUS_CAPS_UNSUPPORTED 10
00150 #define WLAN_MGMT_STATUS_REASSOC_NO_ASSOC 11
00151 #define WLAN_MGMT_STATUS_ASSOC_DENIED_UNSPEC  12
00152 #define WLAN_MGMT_STATUS_UNSUPPORTED_AUTHALG  13
00153 #define WLAN_MGMT_STATUS_RX_AUTH_NOSEQ    14
00154 #define WLAN_MGMT_STATUS_CHALLENGE_FAIL   15
00155 #define WLAN_MGMT_STATUS_AUTH_TIMEOUT   16
00156 #define WLAN_MGMT_STATUS_ASSOC_DENIED_BUSY  17
00157 #define WLAN_MGMT_STATUS_ASSOC_DENIED_RATES 18
00158   /* p80211b additions */
00159 #define WLAN_MGMT_STATUS_ASSOC_DENIED_NOSHORT 19
00160 #define WLAN_MGMT_STATUS_ASSOC_DENIED_NOPBCC  20
00161 #define WLAN_MGMT_STATUS_ASSOC_DENIED_NOAGILITY 21
00162 
00163 
00164 
00165 /*-- Auth Algorithm Field ---------------------------*/
00166 #define WLAN_AUTH_ALG_OPENSYSTEM    0
00167 #define WLAN_AUTH_ALG_SHAREDKEY     1
00168 
00169 /*-- Management Frame Field Offsets -------------*/
00170 /* Note: Not all fields are listed because of variable lengths,   */
00171 /*       see the code in p80211.c to see how we search for fields */
00172 /* Note: These offsets are from the start of the frame data       */
00173 
00174 #define WLAN_BEACON_OFF_TS      0
00175 #define WLAN_BEACON_OFF_BCN_INT     8
00176 #define WLAN_BEACON_OFF_CAPINFO     10
00177 #define WLAN_BEACON_OFF_SSID      12
00178 
00179 #define WLAN_DISASSOC_OFF_REASON    0
00180 
00181 #define WLAN_ASSOCREQ_OFF_CAP_INFO    0
00182 #define WLAN_ASSOCREQ_OFF_LISTEN_INT    2
00183 #define WLAN_ASSOCREQ_OFF_SSID      4
00184 
00185 #define WLAN_ASSOCRESP_OFF_CAP_INFO   0
00186 #define WLAN_ASSOCRESP_OFF_STATUS   2
00187 #define WLAN_ASSOCRESP_OFF_AID      4
00188 #define WLAN_ASSOCRESP_OFF_SUPP_RATES   6
00189 
00190 #define WLAN_REASSOCREQ_OFF_CAP_INFO    0
00191 #define WLAN_REASSOCREQ_OFF_LISTEN_INT    2
00192 #define WLAN_REASSOCREQ_OFF_CURR_AP   4
00193 #define WLAN_REASSOCREQ_OFF_SSID    10
00194 
00195 #define WLAN_REASSOCRESP_OFF_CAP_INFO   0
00196 #define WLAN_REASSOCRESP_OFF_STATUS   2
00197 #define WLAN_REASSOCRESP_OFF_AID    4
00198 #define WLAN_REASSOCRESP_OFF_SUPP_RATES   6
00199 
00200 #define WLAN_PROBEREQ_OFF_SSID      0
00201 
00202 #define WLAN_PROBERESP_OFF_TS     0
00203 #define WLAN_PROBERESP_OFF_BCN_INT    8
00204 #define WLAN_PROBERESP_OFF_CAP_INFO   10
00205 #define WLAN_PROBERESP_OFF_SSID     12
00206 
00207 #define WLAN_AUTHEN_OFF_AUTH_ALG    0
00208 #define WLAN_AUTHEN_OFF_AUTH_SEQ    2
00209 #define WLAN_AUTHEN_OFF_STATUS      4
00210 #define WLAN_AUTHEN_OFF_CHALLENGE   6
00211 
00212 #define WLAN_DEAUTHEN_OFF_REASON    0
00213 
00214 
00215 /*================================================================*/
00216 /* Macros */
00217 
00218 /*-- Capability Field ---------------------------*/
00219 #define WLAN_GET_MGMT_CAP_INFO_ESS(n)   ((n) & BIT0)
00220 #define WLAN_GET_MGMT_CAP_INFO_IBSS(n)    (((n) & BIT1) >> 1)
00221 #define WLAN_GET_MGMT_CAP_INFO_CFPOLLABLE(n)  (((n) & BIT2) >> 2)
00222 #define WLAN_GET_MGMT_CAP_INFO_CFPOLLREQ(n) (((n) & BIT3) >> 3)
00223 #define WLAN_GET_MGMT_CAP_INFO_PRIVACY(n) (((n) & BIT4) >> 4)
00224   /* p80211b additions */
00225 #define WLAN_GET_MGMT_CAP_INFO_SHORT(n)   (((n) & BIT5) >> 5)
00226 #define WLAN_GET_MGMT_CAP_INFO_PBCC(n)    (((n) & BIT6) >> 6)
00227 #define WLAN_GET_MGMT_CAP_INFO_AGILITY(n) (((n) & BIT7) >> 7)
00228 
00229 #define WLAN_SET_MGMT_CAP_INFO_ESS(n)   (n)
00230 #define WLAN_SET_MGMT_CAP_INFO_IBSS(n)    ((n) << 1)
00231 #define WLAN_SET_MGMT_CAP_INFO_CFPOLLABLE(n)  ((n) << 2)
00232 #define WLAN_SET_MGMT_CAP_INFO_CFPOLLREQ(n) ((n) << 3)
00233 #define WLAN_SET_MGMT_CAP_INFO_PRIVACY(n) ((n) << 4)
00234   /* p80211b additions */
00235 #define WLAN_SET_MGMT_CAP_INFO_SHORT(n)   ((n) << 5)
00236 #define WLAN_SET_MGMT_CAP_INFO_PBCC(n)    ((n) << 6)
00237 #define WLAN_SET_MGMT_CAP_INFO_AGILITY(n) ((n) << 7)
00238 
00239 
00240 /*================================================================*/
00241 /* Types */
00242 
00243 /*-- Information Element Types --------------------*/
00244 /* prototype structure, all IEs start with these members */
00245 
00246 typedef struct wlan_ie
00247 {
00248   UINT8 eid;
00249   UINT8 len;
00250 } __WLAN_ATTRIB_PACK__ wlan_ie_t;
00251 
00252 /*-- Service Set Identity (SSID)  -----------------*/
00253 typedef struct wlan_ie_ssid
00254 {
00255   UINT8 eid;
00256   UINT8 len;
00257   UINT8 ssid[1];  /* may be zero, ptrs may overlap */
00258 } __WLAN_ATTRIB_PACK__ wlan_ie_ssid_t;
00259 
00260 /*-- Supported Rates  -----------------------------*/
00261 typedef struct wlan_ie_supp_rates
00262 {
00263   UINT8 eid;
00264   UINT8 len;
00265   UINT8 rates[1];  /* had better be at LEAST one! */
00266 } __WLAN_ATTRIB_PACK__ wlan_ie_supp_rates_t;
00267 
00268 /*-- FH Parameter Set  ----------------------------*/
00269 typedef struct wlan_ie_fh_parms
00270 {
00271   UINT8 eid;
00272   UINT8 len;
00273   UINT16  dwell;
00274   UINT8 hopset;
00275   UINT8 hoppattern;
00276   UINT8 hopindex;
00277 } __WLAN_ATTRIB_PACK__ wlan_ie_fh_parms_t;
00278 
00279 /*-- DS Parameter Set  ----------------------------*/
00280 typedef struct wlan_ie_ds_parms
00281 {
00282   UINT8 eid;
00283   UINT8 len;
00284   UINT8 curr_ch;
00285 } __WLAN_ATTRIB_PACK__ wlan_ie_ds_parms_t;
00286 
00287 /*-- CF Parameter Set  ----------------------------*/
00288 
00289 typedef struct wlan_ie_cf_parms
00290 {
00291   UINT8 eid;
00292   UINT8 len;
00293   UINT8 cfp_cnt;
00294   UINT8 cfp_period;
00295   UINT16  cfp_maxdur;
00296   UINT16  cfp_durremaining;
00297 } __WLAN_ATTRIB_PACK__ wlan_ie_cf_parms_t;
00298 
00299 /*-- TIM ------------------------------------------*/
00300 typedef struct wlan_ie_tim
00301 {
00302   UINT8 eid;
00303   UINT8 len;
00304   UINT8 dtim_cnt;
00305   UINT8 dtim_period;
00306   UINT8 bitmap_ctl;
00307   UINT8 virt_bm[1];
00308 } __WLAN_ATTRIB_PACK__ wlan_ie_tim_t;
00309 
00310 /*-- IBSS Parameter Set ---------------------------*/
00311 typedef struct wlan_ie_ibss_parms
00312 {
00313   UINT8 eid;
00314   UINT8 len;
00315   UINT16  atim_win;
00316 } __WLAN_ATTRIB_PACK__ wlan_ie_ibss_parms_t;
00317 
00318 /*-- Challenge Text  ------------------------------*/
00319 typedef struct wlan_ie_challenge
00320 {
00321   UINT8 eid;
00322   UINT8 len;
00323   UINT8 challenge[1];
00324 } __WLAN_ATTRIB_PACK__ wlan_ie_challenge_t;
00325 
00326 /*-------------------------------------------------*/
00327 /*  Frame Types  */
00328 
00329 /* prototype structure, all mgmt frame types will start with these members */
00330 typedef struct wlan_fr_mgmt
00331 {
00332   UINT16      type;
00333   UINT16      len;  /* DOES NOT include CRC !!!!*/
00334   UINT8     *buf;
00335   p80211_hdr_t    *hdr;
00336   /* used for target specific data, skb in Linux */
00337   void      *priv;  
00338   /*-- fixed fields -----------*/
00339   /*-- info elements ----------*/
00340 } wlan_fr_mgmt_t;
00341 
00342 /*-- Beacon ---------------------------------------*/
00343 typedef struct wlan_fr_beacon
00344 {
00345   UINT16      type;
00346   UINT16      len;
00347   UINT8     *buf;
00348   p80211_hdr_t    *hdr;
00349   /* used for target specific data, skb in Linux */
00350   void      *priv;
00351   /*-- fixed fields -----------*/
00352   UINT64      *ts;
00353   UINT16      *bcn_int;
00354   UINT16      *cap_info;
00355   /*-- info elements ----------*/
00356   wlan_ie_ssid_t    *ssid;
00357   wlan_ie_supp_rates_t  *supp_rates;
00358   wlan_ie_fh_parms_t  *fh_parms;
00359   wlan_ie_ds_parms_t  *ds_parms;
00360   wlan_ie_cf_parms_t  *cf_parms;
00361   wlan_ie_ibss_parms_t  *ibss_parms;
00362   wlan_ie_tim_t   *tim;
00363 
00364 } wlan_fr_beacon_t;
00365 
00366 
00367 /*-- IBSS ATIM ------------------------------------*/
00368 typedef struct wlan_fr_ibssatim
00369 {
00370   UINT16      type;
00371   UINT16      len;
00372   UINT8*      buf;
00373   p80211_hdr_t    *hdr;
00374   /* used for target specific data, skb in Linux */ 
00375   void      *priv;
00376 
00377   /*-- fixed fields -----------*/
00378   /*-- info elements ----------*/
00379 
00380   /* this frame type has a null body */
00381 
00382 } wlan_fr_ibssatim_t;
00383 
00384 /*-- Disassociation -------------------------------*/
00385 typedef struct wlan_fr_disassoc
00386 {
00387   UINT16      type;
00388   UINT16      len;
00389   UINT8     *buf;
00390   p80211_hdr_t    *hdr;
00391   /* used for target specific data, skb in Linux */ 
00392   void      *priv;
00393   /*-- fixed fields -----------*/
00394   UINT16      *reason;
00395 
00396   /*-- info elements ----------*/
00397 
00398 } wlan_fr_disassoc_t;
00399 
00400 /*-- Association Request --------------------------*/
00401 typedef struct wlan_fr_assocreq
00402 {
00403   UINT16      type;
00404   UINT16      len;
00405   UINT8*      buf;
00406   p80211_hdr_t    *hdr;
00407   /* used for target specific data, skb in Linux */ 
00408   void      *priv;
00409   /*-- fixed fields -----------*/
00410   UINT16      *cap_info;
00411   UINT16      *listen_int;
00412   /*-- info elements ----------*/
00413   wlan_ie_ssid_t    *ssid;
00414   wlan_ie_supp_rates_t  *supp_rates;
00415 
00416 } wlan_fr_assocreq_t;
00417 
00418 /*-- Association Response -------------------------*/
00419 typedef struct wlan_fr_assocresp
00420 {
00421   UINT16      type;
00422   UINT16      len;
00423   UINT8     *buf;
00424   p80211_hdr_t    *hdr;
00425   /* used for target specific data, skb in Linux */
00426   void      *priv;
00427   /*-- fixed fields -----------*/
00428   UINT16      *cap_info;
00429   UINT16      *status;
00430   UINT16      *aid;
00431   /*-- info elements ----------*/
00432   wlan_ie_supp_rates_t  *supp_rates;
00433 
00434 } wlan_fr_assocresp_t;
00435 
00436 /*-- Reassociation Request ------------------------*/
00437 typedef struct wlan_fr_reassocreq
00438 {
00439   UINT16      type;
00440   UINT16      len;
00441   UINT8     *buf;
00442   p80211_hdr_t    *hdr;
00443   /* used for target specific data, skb in Linux */
00444   void      *priv;
00445   /*-- fixed fields -----------*/
00446   UINT16      *cap_info;
00447   UINT16      *listen_int;
00448   UINT8     *curr_ap;
00449   /*-- info elements ----------*/
00450   wlan_ie_ssid_t    *ssid;
00451   wlan_ie_supp_rates_t  *supp_rates;
00452 
00453 } wlan_fr_reassocreq_t;
00454 
00455 /*-- Reassociation Response -----------------------*/
00456 typedef struct wlan_fr_reassocresp
00457 {
00458   UINT16      type;
00459   UINT16      len;
00460   UINT8     *buf;
00461   p80211_hdr_t    *hdr;
00462   /* used for target specific data, skb in Linux */
00463   void      *priv;
00464   /*-- fixed fields -----------*/
00465   UINT16      *cap_info;
00466   UINT16      *status;
00467   UINT16      *aid;
00468   /*-- info elements ----------*/
00469   wlan_ie_supp_rates_t  *supp_rates;
00470 
00471 } wlan_fr_reassocresp_t;
00472 
00473 /*-- Probe Request --------------------------------*/
00474 typedef struct wlan_fr_probereq
00475 {
00476   UINT16      type;
00477   UINT16      len;
00478   UINT8     *buf;
00479   p80211_hdr_t    *hdr;
00480   /* used for target specific data, skb in Linux */
00481   void      *priv;
00482   /*-- fixed fields -----------*/
00483   /*-- info elements ----------*/
00484   wlan_ie_ssid_t    *ssid;
00485   wlan_ie_supp_rates_t  *supp_rates;
00486 
00487 } wlan_fr_probereq_t;
00488 
00489 /*-- Probe Response -------------------------------*/
00490 typedef struct wlan_fr_proberesp
00491 {
00492   UINT16      type;
00493   UINT16      len;
00494   UINT8     *buf;
00495   p80211_hdr_t    *hdr;
00496   /* used for target specific data, skb in Linux */
00497   void      *priv;
00498   /*-- fixed fields -----------*/
00499   UINT64      *ts;
00500   UINT16      *bcn_int;
00501   UINT16      *cap_info;
00502   /*-- info elements ----------*/
00503   wlan_ie_ssid_t    *ssid;
00504   wlan_ie_supp_rates_t  *supp_rates;
00505   wlan_ie_fh_parms_t  *fh_parms;
00506   wlan_ie_ds_parms_t  *ds_parms;
00507   wlan_ie_cf_parms_t  *cf_parms;
00508   wlan_ie_ibss_parms_t  *ibss_parms;
00509 } wlan_fr_proberesp_t;
00510 
00511 /*-- Authentication -------------------------------*/
00512 typedef struct wlan_fr_authen
00513 {
00514   UINT16      type;
00515   UINT16      len;
00516   UINT8     *buf;
00517   p80211_hdr_t    *hdr;
00518   /* used for target specific data, skb in Linux */
00519   void      *priv;
00520   /*-- fixed fields -----------*/
00521   UINT16      *auth_alg;
00522   UINT16      *auth_seq;
00523   UINT16      *status;
00524   /*-- info elements ----------*/
00525   wlan_ie_challenge_t *challenge;
00526 
00527 } wlan_fr_authen_t;
00528 
00529 /*-- Deauthenication -----------------------------*/
00530 typedef struct wlan_fr_deauthen
00531 {
00532   UINT16      type;
00533   UINT16      len;
00534   UINT8     *buf;
00535   p80211_hdr_t    *hdr;
00536   /* used for target specific data, skb in Linux */
00537   void      *priv;
00538   /*-- fixed fields -----------*/
00539   UINT16      *reason;
00540 
00541   /*-- info elements ----------*/
00542 
00543 } wlan_fr_deauthen_t;
00544 
00545 
00546 /*================================================================*/
00547 /* Extern Declarations */
00548 
00549 
00550 /*================================================================*/
00551 /* Function Declarations */
00552 
00553 void wlan_mgmt_encode_beacon( wlan_fr_beacon_t  *f );
00554 void wlan_mgmt_decode_beacon( wlan_fr_beacon_t  *f );
00555 void wlan_mgmt_encode_disassoc( wlan_fr_disassoc_t  *f );
00556 void wlan_mgmt_decode_disassoc( wlan_fr_disassoc_t  *f );
00557 void wlan_mgmt_encode_assocreq( wlan_fr_assocreq_t  *f );
00558 void wlan_mgmt_decode_assocreq( wlan_fr_assocreq_t  *f );
00559 void wlan_mgmt_encode_assocresp( wlan_fr_assocresp_t  *f );
00560 void wlan_mgmt_decode_assocresp( wlan_fr_assocresp_t  *f );
00561 void wlan_mgmt_encode_reassocreq( wlan_fr_reassocreq_t  *f );
00562 void wlan_mgmt_decode_reassocreq( wlan_fr_reassocreq_t  *f );
00563 void wlan_mgmt_encode_reassocresp( wlan_fr_reassocresp_t  *f );
00564 void wlan_mgmt_decode_reassocresp( wlan_fr_reassocresp_t  *f );
00565 void wlan_mgmt_encode_probereq( wlan_fr_probereq_t  *f );
00566 void wlan_mgmt_decode_probereq( wlan_fr_probereq_t  *f );
00567 void wlan_mgmt_encode_proberesp( wlan_fr_proberesp_t  *f );
00568 void wlan_mgmt_decode_proberesp( wlan_fr_proberesp_t  *f );
00569 void wlan_mgmt_encode_authen( wlan_fr_authen_t  *f );
00570 void wlan_mgmt_decode_authen( wlan_fr_authen_t  *f );
00571 void wlan_mgmt_encode_deauthen( wlan_fr_deauthen_t  *f );
00572 void wlan_mgmt_decode_deauthen( wlan_fr_deauthen_t  *f );
00573 
00574 
00575 #endif /* _P80211MGMT_H */

Generated on Fri Jul 25 17:10:36 2008 for WifiScanner by  doxygen 1.5.5