aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-10-09 17:40:09 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-09 17:40:09 -0400
commit8aa0f64ac3835a6daf84d0b0e07c4c01d7d8eddc (patch)
treee5e6cc8637a44354997624f26d4d55834c9915b4 /include
parentcd7e1f0b056c071860db65c847a854b3093d6606 (diff)
parenteab2ec83dbf0e32e28f3108f302ffdaa225d4cce (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h2
-rw-r--r--include/net/cfg80211.h9
-rw-r--r--include/net/iw_handler.h14
-rw-r--r--include/net/net_namespace.h2
-rw-r--r--include/net/wext.h49
5 files changed, 54 insertions, 22 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index a8d71ed43a0e..50afca3dcff1 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1277,6 +1277,7 @@ enum nl80211_channel_type {
1277 * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon 1277 * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon
1278 * in unspecified units, scaled to 0..100 (u8) 1278 * in unspecified units, scaled to 0..100 (u8)
1279 * @NL80211_BSS_STATUS: status, if this BSS is "used" 1279 * @NL80211_BSS_STATUS: status, if this BSS is "used"
1280 * @NL80211_BSS_SEEN_MS_AGO: age of this BSS entry in ms
1280 * @__NL80211_BSS_AFTER_LAST: internal 1281 * @__NL80211_BSS_AFTER_LAST: internal
1281 * @NL80211_BSS_MAX: highest BSS attribute 1282 * @NL80211_BSS_MAX: highest BSS attribute
1282 */ 1283 */
@@ -1291,6 +1292,7 @@ enum nl80211_bss {
1291 NL80211_BSS_SIGNAL_MBM, 1292 NL80211_BSS_SIGNAL_MBM,
1292 NL80211_BSS_SIGNAL_UNSPEC, 1293 NL80211_BSS_SIGNAL_UNSPEC,
1293 NL80211_BSS_STATUS, 1294 NL80211_BSS_STATUS,
1295 NL80211_BSS_SEEN_MS_AGO,
1294 1296
1295 /* keep last */ 1297 /* keep last */
1296 __NL80211_BSS_AFTER_LAST, 1298 __NL80211_BSS_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 3d874c620219..6f4862b3ec2c 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1142,6 +1142,9 @@ struct wiphy {
1142 u32 frag_threshold; 1142 u32 frag_threshold;
1143 u32 rts_threshold; 1143 u32 rts_threshold;
1144 1144
1145 char fw_version[ETHTOOL_BUSINFO_LEN];
1146 u32 hw_version;
1147
1145 /* If multiple wiphys are registered and you're handed e.g. 1148 /* If multiple wiphys are registered and you're handed e.g.
1146 * a regular netdev with assigned ieee80211_ptr, you won't 1149 * a regular netdev with assigned ieee80211_ptr, you won't
1147 * know whether it points to a wiphy your driver has registered 1150 * know whether it points to a wiphy your driver has registered
@@ -1171,6 +1174,10 @@ struct wiphy {
1171 struct net *_net; 1174 struct net *_net;
1172#endif 1175#endif
1173 1176
1177#ifdef CONFIG_CFG80211_WEXT
1178 const struct iw_handler_def *wext;
1179#endif
1180
1174 char priv[0] __attribute__((__aligned__(NETDEV_ALIGN))); 1181 char priv[0] __attribute__((__aligned__(NETDEV_ALIGN)));
1175}; 1182};
1176 1183
@@ -1345,7 +1352,7 @@ struct wireless_dev {
1345 struct cfg80211_internal_bss *auth_bsses[MAX_AUTH_BSSES]; 1352 struct cfg80211_internal_bss *auth_bsses[MAX_AUTH_BSSES];
1346 struct cfg80211_internal_bss *current_bss; /* associated / joined */ 1353 struct cfg80211_internal_bss *current_bss; /* associated / joined */
1347 1354
1348#ifdef CONFIG_WIRELESS_EXT 1355#ifdef CONFIG_CFG80211_WEXT
1349 /* wext data */ 1356 /* wext data */
1350 struct { 1357 struct {
1351 struct cfg80211_ibss_params ibss; 1358 struct cfg80211_ibss_params ibss;
diff --git a/include/net/iw_handler.h b/include/net/iw_handler.h
index e9054a283fde..d5d337170a56 100644
--- a/include/net/iw_handler.h
+++ b/include/net/iw_handler.h
@@ -323,18 +323,19 @@ typedef int (*iw_handler)(struct net_device *dev, struct iw_request_info *info,
323 */ 323 */
324struct iw_handler_def 324struct iw_handler_def
325{ 325{
326 /* Number of handlers defined (more precisely, index of the
327 * last defined handler + 1) */
328 __u16 num_standard;
329 __u16 num_private;
330 /* Number of private arg description */
331 __u16 num_private_args;
332 326
333 /* Array of handlers for standard ioctls 327 /* Array of handlers for standard ioctls
334 * We will call dev->wireless_handlers->standard[ioctl - SIOCSIWCOMMIT] 328 * We will call dev->wireless_handlers->standard[ioctl - SIOCSIWCOMMIT]
335 */ 329 */
336 const iw_handler * standard; 330 const iw_handler * standard;
331 /* Number of handlers defined (more precisely, index of the
332 * last defined handler + 1) */
333 __u16 num_standard;
337 334
335#ifdef CONFIG_WEXT_PRIV
336 __u16 num_private;
337 /* Number of private arg description */
338 __u16 num_private_args;
338 /* Array of handlers for private ioctls 339 /* Array of handlers for private ioctls
339 * Will call dev->wireless_handlers->private[ioctl - SIOCIWFIRSTPRIV] 340 * Will call dev->wireless_handlers->private[ioctl - SIOCIWFIRSTPRIV]
340 */ 341 */
@@ -344,6 +345,7 @@ struct iw_handler_def
344 * can put it in any order you want and should not leave holes... 345 * can put it in any order you want and should not leave holes...
345 * We will automatically export that to user space... */ 346 * We will automatically export that to user space... */
346 const struct iw_priv_args * private_args; 347 const struct iw_priv_args * private_args;
348#endif
347 349
348 /* New location of get_wireless_stats, to de-bloat struct net_device. 350 /* New location of get_wireless_stats, to de-bloat struct net_device.
349 * The old pointer in struct net_device will be gradually phased 351 * The old pointer in struct net_device will be gradually phased
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index a1202841aadd..699410142bfa 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -80,7 +80,7 @@ struct net {
80#ifdef CONFIG_XFRM 80#ifdef CONFIG_XFRM
81 struct netns_xfrm xfrm; 81 struct netns_xfrm xfrm;
82#endif 82#endif
83#ifdef CONFIG_WIRELESS_EXT 83#ifdef CONFIG_WEXT_CORE
84 struct sk_buff_head wext_nlevents; 84 struct sk_buff_head wext_nlevents;
85#endif 85#endif
86 struct net_generic *gen; 86 struct net_generic *gen;
diff --git a/include/net/wext.h b/include/net/wext.h
index 3f2b94de2cfa..4f6e7423174c 100644
--- a/include/net/wext.h
+++ b/include/net/wext.h
@@ -1,29 +1,19 @@
1#ifndef __NET_WEXT_H 1#ifndef __NET_WEXT_H
2#define __NET_WEXT_H 2#define __NET_WEXT_H
3 3
4/* 4#include <net/iw_handler.h>
5 * wireless extensions interface to the core code
6 */
7 5
8struct net; 6struct net;
9 7
10#ifdef CONFIG_WIRELESS_EXT 8#ifdef CONFIG_WEXT_CORE
11extern int wext_proc_init(struct net *net);
12extern void wext_proc_exit(struct net *net);
13extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd, 9extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
14 void __user *arg); 10 void __user *arg);
15extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd, 11extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
16 unsigned long arg); 12 unsigned long arg);
13
17extern struct iw_statistics *get_wireless_stats(struct net_device *dev); 14extern struct iw_statistics *get_wireless_stats(struct net_device *dev);
15extern int call_commit_handler(struct net_device *dev);
18#else 16#else
19static inline int wext_proc_init(struct net *net)
20{
21 return 0;
22}
23static inline void wext_proc_exit(struct net *net)
24{
25 return;
26}
27static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd, 17static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
28 void __user *arg) 18 void __user *arg)
29{ 19{
@@ -36,4 +26,35 @@ static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
36} 26}
37#endif 27#endif
38 28
29#ifdef CONFIG_WEXT_PROC
30extern int wext_proc_init(struct net *net);
31extern void wext_proc_exit(struct net *net);
32#else
33static inline int wext_proc_init(struct net *net)
34{
35 return 0;
36}
37static inline void wext_proc_exit(struct net *net)
38{
39 return;
40}
41#endif
42
43#ifdef CONFIG_WEXT_PRIV
44int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
45 unsigned int cmd, struct iw_request_info *info,
46 iw_handler handler);
47int compat_private_call(struct net_device *dev, struct iwreq *iwr,
48 unsigned int cmd, struct iw_request_info *info,
49 iw_handler handler);
50int iw_handler_get_private(struct net_device * dev,
51 struct iw_request_info * info,
52 union iwreq_data * wrqu,
53 char * extra);
54#else
55#define ioctl_private_call NULL
56#define compat_private_call NULL
57#endif
58
59
39#endif /* __NET_WEXT_H */ 60#endif /* __NET_WEXT_H */