Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66683
b: refs/heads/master
c: 5568296
h: refs/heads/master
i:
  66681: 1848da9
  66679: 33ab07a
v: v3
  • Loading branch information
Johannes Berg authored and David S. Miller committed Oct 10, 2007
1 parent 844eac8 commit f71758d
Show file tree
Hide file tree
Showing 11 changed files with 763 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0800f170263d19b882e519441156c5f6ed190fc1
refs/heads/master: 556829657397b9b05baec6691ead4e22ee8d1567
97 changes: 94 additions & 3 deletions trunk/include/linux/nl80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,109 @@
* Copyright 2006, 2007 Johannes Berg <johannes@sipsolutions.net>
*/

/**
* enum nl80211_commands - supported nl80211 commands
*
* @NL80211_CMD_UNSPEC: unspecified command to catch errors
*
* @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request
* to get a list of all present wiphys.
* @NL80211_CMD_SET_WIPHY: set wiphy name, needs %NL80211_ATTR_WIPHY and
* %NL80211_ATTR_WIPHY_NAME.
* @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request
* or rename notification. Has attributes %NL80211_ATTR_WIPHY and
* %NL80211_ATTR_WIPHY_NAME.
* @NL80211_CMD_DEL_WIPHY: Wiphy deleted. Has attributes
* %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME.
*
* @NL80211_CMD_GET_INTERFACE: Request an interface's configuration;
* either a dump request on a %NL80211_ATTR_WIPHY or a specific get
* on an %NL80211_ATTR_IFINDEX is supported.
* @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires
* %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE.
* @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response
* to %NL80211_CMD_GET_INTERFACE. Has %NL80211_ATTR_IFINDEX,
* %NL80211_ATTR_WIPHY and %NL80211_ATTR_IFTYPE attributes. Can also
* be sent from userspace to request creation of a new virtual interface,
* then requires attributes %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFTYPE and
* %NL80211_ATTR_IFNAME.
* @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes
* %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from
* userspace to request deletion of a virtual interface, then requires
* attribute %NL80211_ATTR_IFINDEX.
*
* @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use
*/
enum nl80211_commands {
/* don't change the order or add anything inbetween, this is ABI! */
NL80211_CMD_UNSPEC,

NL80211_CMD_GET_WIPHY, /* can dump */
NL80211_CMD_SET_WIPHY,
NL80211_CMD_NEW_WIPHY,
NL80211_CMD_DEL_WIPHY,

NL80211_CMD_GET_INTERFACE, /* can dump */
NL80211_CMD_SET_INTERFACE,
NL80211_CMD_NEW_INTERFACE,
NL80211_CMD_DEL_INTERFACE,

/* add commands here */

/* used to define NL80211_CMD_MAX below */
__NL80211_CMD_AFTER_LAST,
NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
};


/**
* enum nl80211_attrs - nl80211 netlink attributes
*
* @NL80211_ATTR_UNSPEC: unspecified attribute to catch errors
*
* @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf.
* /sys/class/ieee80211/<phyname>/index
* @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming)
*
* @NL80211_ATTR_IFINDEX: network interface index of the device to operate on
* @NL80211_ATTR_IFNAME: network interface name
* @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype
*
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
*/
enum nl80211_attrs {
/* don't change the order or add anything inbetween, this is ABI! */
NL80211_ATTR_UNSPEC,

NL80211_ATTR_WIPHY,
NL80211_ATTR_WIPHY_NAME,

NL80211_ATTR_IFINDEX,
NL80211_ATTR_IFNAME,
NL80211_ATTR_IFTYPE,

/* add attributes here, update the policy in nl80211.c */

__NL80211_ATTR_AFTER_LAST,
NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
};

/**
* enum nl80211_iftype - (virtual) interface types
*
* @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
* @NL80211_IFTYPE_ADHOC: independent BSS member
* @NL80211_IFTYPE_STATION: managed BSS member
* @NL80211_IFTYPE_AP: access point
* @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points
* @NL80211_IFTYPE_WDS: wireless distribution interface
* @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
* @__NL80211_IFTYPE_AFTER_LAST: internal use
*
* These values are used with the NL80211_ATTR_IFTYPE
* These values are used with the %NL80211_ATTR_IFTYPE
* to set the type of an interface.
*
*/
Expand All @@ -31,8 +122,8 @@ enum nl80211_iftype {
NL80211_IFTYPE_MONITOR,

/* keep last */
__NL80211_IFTYPE_AFTER_LAST
__NL80211_IFTYPE_AFTER_LAST,
NL80211_IFTYPE_MAX = __NL80211_IFTYPE_AFTER_LAST - 1
};
#define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1)

#endif /* __LINUX_NL80211_H */
11 changes: 8 additions & 3 deletions trunk/include/net/cfg80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@

#include <linux/netlink.h>
#include <linux/skbuff.h>
#include <linux/nl80211.h>
#include <net/genetlink.h>

/*
* 802.11 configuration in-kernel interface
*
* Copyright 2006 Johannes Berg <johannes@sipsolutions.net>
* Copyright 2006, 2007 Johannes Berg <johannes@sipsolutions.net>
*/


/* Radiotap header iteration
* implemented in net/wireless/radiotap.c
* docs in Documentation/networking/radiotap-headers.txt
Expand Down Expand Up @@ -68,11 +68,16 @@ struct wiphy;
* @add_virtual_intf: create a new virtual interface with the given name
*
* @del_virtual_intf: remove the virtual interface determined by ifindex.
*
* @change_virtual_intf: change type of virtual interface
*
*/
struct cfg80211_ops {
int (*add_virtual_intf)(struct wiphy *wiphy, char *name,
unsigned int type);
enum nl80211_iftype type);
int (*del_virtual_intf)(struct wiphy *wiphy, int ifindex);
int (*change_virtual_intf)(struct wiphy *wiphy, int ifindex,
enum nl80211_iftype type);
};

#endif /* __NET_CFG80211_H */
8 changes: 7 additions & 1 deletion trunk/include/net/iw_handler.h
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,13 @@ struct iw_public_data {
* Those may be called only within the kernel.
*/

/* functions that may be called by driver modules */
/* First : function strictly used inside the kernel */

/* Handle /proc/net/wireless, called in net/code/dev.c */
extern int dev_get_wireless_info(char * buffer, char **start, off_t offset,
int length);

/* Second : functions that may be called by driver modules */

/* Send a single event to user space */
extern void wireless_send_event(struct net_device * dev,
Expand Down
2 changes: 1 addition & 1 deletion trunk/net/mac80211/ieee80211_cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include "ieee80211_cfg.h"

static int ieee80211_add_iface(struct wiphy *wiphy, char *name,
unsigned int type)
enum nl80211_iftype type)
{
struct ieee80211_local *local = wiphy_priv(wiphy);
int itype;
Expand Down
17 changes: 16 additions & 1 deletion trunk/net/wireless/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
config CFG80211
tristate "Improved wireless configuration API"

config NL80211
bool "nl80211 new netlink interface support"
depends CFG80211
default y
---help---
This option turns on the new netlink interface
(nl80211) support in cfg80211.

If =n, drivers using mac80211 will be configured via
wireless extension support provided by that subsystem.

If unsure, say Y.

config WIRELESS_EXT
bool "Wireless extensions"
default n
Expand All @@ -10,7 +23,9 @@ config WIRELESS_EXT

Wireless extensions will be replaced by cfg80211 and
will be required only by legacy drivers that implement
wireless extension handlers.
wireless extension handlers. This option does not
affect the wireless-extension backward compatibility
code in cfg80211.

Say N (if you can) unless you know you need wireless
extensions for external modules.
1 change: 1 addition & 0 deletions trunk/net/wireless/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ obj-$(CONFIG_WIRELESS_EXT) += wext.o
obj-$(CONFIG_CFG80211) += cfg80211.o

cfg80211-y += core.o sysfs.o radiotap.o
cfg80211-$(CONFIG_NL80211) += nl80211.o
Loading

0 comments on commit f71758d

Please sign in to comment.