Blame view

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