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