linux/drivers/net/wireless/orinoco/main.h
<<
>>
Prefs
   1/* Exports from main to helper modules
   2 *
   3 * See copyright notice in main.c
   4 */
   5#ifndef _ORINOCO_MAIN_H_
   6#define _ORINOCO_MAIN_H_
   7
   8#include <linux/ieee80211.h>
   9#include "orinoco.h"
  10
  11/********************************************************************/
  12/* Compile time configuration and compatibility stuff               */
  13/********************************************************************/
  14
  15/* We do this this way to avoid ifdefs in the actual code */
  16#ifdef WIRELESS_SPY
  17#define SPY_NUMBER(priv)        (priv->spy_data.spy_number)
  18#else
  19#define SPY_NUMBER(priv)        0
  20#endif /* WIRELESS_SPY */
  21
  22/********************************************************************/
  23
  24/* Export module parameter */
  25extern int force_monitor;
  26
  27/* Forward declarations */
  28struct net_device;
  29struct work_struct;
  30
  31void set_port_type(struct orinoco_private *priv);
  32int orinoco_commit(struct orinoco_private *priv);
  33void orinoco_reset(struct work_struct *work);
  34
  35/* Information element helpers - find a home for these... */
  36static inline u8 *orinoco_get_ie(u8 *data, size_t len,
  37                                 enum ieee80211_eid eid)
  38{
  39        u8 *p = data;
  40        while ((p + 2) < (data + len)) {
  41                if (p[0] == eid)
  42                        return p;
  43                p += p[1] + 2;
  44        }
  45        return NULL;
  46}
  47
  48#define WPA_OUI_TYPE    "\x00\x50\xF2\x01"
  49#define WPA_SELECTOR_LEN 4
  50static inline u8 *orinoco_get_wpa_ie(u8 *data, size_t len)
  51{
  52        u8 *p = data;
  53        while ((p + 2 + WPA_SELECTOR_LEN) < (data + len)) {
  54                if ((p[0] == WLAN_EID_GENERIC) &&
  55                    (memcmp(&p[2], WPA_OUI_TYPE, WPA_SELECTOR_LEN) == 0))
  56                        return p;
  57                p += p[1] + 2;
  58        }
  59        return NULL;
  60}
  61
  62#endif /* _ORINOCO_MAIN_H_ */
  63