linux/drivers/net/wireless/intersil/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... */
  36#define WPA_OUI_TYPE    "\x00\x50\xF2\x01"
  37#define WPA_SELECTOR_LEN 4
  38static inline u8 *orinoco_get_wpa_ie(u8 *data, size_t len)
  39{
  40        u8 *p = data;
  41        while ((p + 2 + WPA_SELECTOR_LEN) < (data + len)) {
  42                if ((p[0] == WLAN_EID_VENDOR_SPECIFIC) &&
  43                    (memcmp(&p[2], WPA_OUI_TYPE, WPA_SELECTOR_LEN) == 0))
  44                        return p;
  45                p += p[1] + 2;
  46        }
  47        return NULL;
  48}
  49
  50#endif /* _ORINOCO_MAIN_H_ */
  51