• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*!
2  *  @file	wilc_wfi_cfgoperations.h
3  *  @brief	Definitions for the network module
4  *  @author	syounan
5  *  @sa		wilc_oswrapper.h top level OS wrapper file
6  *  @date	31 Aug 2010
7  *  @version	1.0
8  */
9 #ifndef NM_WFI_CFGOPERATIONS
10 #define NM_WFI_CFGOPERATIONS
11 #include "wilc_wfi_netdevice.h"
12 
13 /* The following macros describe the bitfield map used by the firmware to determine its 11i mode */
14 #define NO_ENCRYPT		0
15 #define ENCRYPT_ENABLED		BIT(0)
16 #define WEP			BIT(1)
17 #define WEP_EXTENDED		BIT(2)
18 #define WPA			BIT(3)
19 #define WPA2			BIT(4)
20 #define AES			BIT(5)
21 #define TKIP			BIT(6)
22 
23 /*Public action frame index IDs*/
24 #define FRAME_TYPE_ID			0
25 #define ACTION_CAT_ID			24
26 #define ACTION_SUBTYPE_ID		25
27 #define P2P_PUB_ACTION_SUBTYPE		30
28 
29 /*Public action frame Attribute IDs*/
30 #define ACTION_FRAME			0xd0
31 #define GO_INTENT_ATTR_ID		0x04
32 #define CHANLIST_ATTR_ID		0x0b
33 #define OPERCHAN_ATTR_ID		0x11
34 #define PUB_ACTION_ATTR_ID		0x04
35 #define P2PELEM_ATTR_ID			0xdd
36 
37 /*Public action subtype values*/
38 #define GO_NEG_REQ			0x00
39 #define GO_NEG_RSP			0x01
40 #define GO_NEG_CONF			0x02
41 #define P2P_INV_REQ			0x03
42 #define P2P_INV_RSP			0x04
43 #define PUBLIC_ACT_VENDORSPEC		0x09
44 #define GAS_INTIAL_REQ			0x0a
45 #define GAS_INTIAL_RSP			0x0b
46 
47 #define INVALID_CHANNEL			0
48 
49 #define nl80211_SCAN_RESULT_EXPIRE	(3 * HZ)
50 #define SCAN_RESULT_EXPIRE		(40 * HZ)
51 
52 static const u32 cipher_suites[] = {
53 	WLAN_CIPHER_SUITE_WEP40,
54 	WLAN_CIPHER_SUITE_WEP104,
55 	WLAN_CIPHER_SUITE_TKIP,
56 	WLAN_CIPHER_SUITE_CCMP,
57 	WLAN_CIPHER_SUITE_AES_CMAC,
58 };
59 
60 static const struct ieee80211_txrx_stypes
61 	wilc_wfi_cfg80211_mgmt_types[NUM_NL80211_IFTYPES] = {
62 	[NL80211_IFTYPE_STATION] = {
63 		.tx = 0xffff,
64 		.rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
65 			BIT(IEEE80211_STYPE_PROBE_REQ >> 4)
66 	},
67 	[NL80211_IFTYPE_AP] = {
68 		.tx = 0xffff,
69 		.rx = BIT(IEEE80211_STYPE_ASSOC_REQ >> 4) |
70 			BIT(IEEE80211_STYPE_REASSOC_REQ >> 4) |
71 			BIT(IEEE80211_STYPE_PROBE_REQ >> 4) |
72 			BIT(IEEE80211_STYPE_DISASSOC >> 4) |
73 			BIT(IEEE80211_STYPE_AUTH >> 4) |
74 			BIT(IEEE80211_STYPE_DEAUTH >> 4) |
75 			BIT(IEEE80211_STYPE_ACTION >> 4)
76 	},
77 	[NL80211_IFTYPE_P2P_CLIENT] = {
78 		.tx = 0xffff,
79 		.rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
80 			BIT(IEEE80211_STYPE_PROBE_REQ >> 4) |
81 			BIT(IEEE80211_STYPE_ASSOC_REQ >> 4) |
82 			BIT(IEEE80211_STYPE_REASSOC_REQ >> 4) |
83 			BIT(IEEE80211_STYPE_DISASSOC >> 4) |
84 			BIT(IEEE80211_STYPE_AUTH >> 4) |
85 			BIT(IEEE80211_STYPE_DEAUTH >> 4)
86 	}
87 };
88 
89 /* Time to stay on the channel */
90 #define WILC_WFI_DWELL_PASSIVE 100
91 #define WILC_WFI_DWELL_ACTIVE  40
92 
93 struct wireless_dev *WILC_WFI_CfgAlloc(void);
94 struct wireless_dev *wilc_create_wiphy(struct net_device *net);
95 void wilc_free_wiphy(struct net_device *net);
96 int WILC_WFI_update_stats(struct wiphy *wiphy, u32 pktlen, u8 changed);
97 int wilc_deinit_host_int(struct net_device *net);
98 int wilc_init_host_int(struct net_device *net);
99 void WILC_WFI_monitor_rx(u8 *buff, u32 size);
100 int WILC_WFI_deinit_mon_interface(void);
101 struct net_device *WILC_WFI_init_mon_interface(const char *name, struct net_device *real_dev);
102 void wilc_mgmt_frame_register(struct wiphy *wiphy, struct wireless_dev *wdev,
103 			      u16 frame_type, bool reg);
104 
105 #define TCP_ACK_FILTER_LINK_SPEED_THRESH	54
106 #define DEFAULT_LINK_SPEED			72
107 void Enable_TCP_ACK_Filter(bool value);
108 
109 #endif
110