diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-04-19 15:24:32 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:57:17 -0400 |
commit | 04a773ade0680d862b479d7219973df60f7a3834 (patch) | |
tree | fc759eb79099fefd7f1329bcb2b703008cb0adfe /include/net/wireless.h | |
parent | 691597cb26f236ac7471f1adf925a134c86799d6 (diff) |
cfg80211/nl80211: add IBSS API
This adds IBSS API along with (preliminary) wext handlers.
The wext handlers can only do IBSS so you need to call them
from your own wext handlers if the mode is IBSS.
The nl80211 API requires
* an SSID
* a channel (frequency) for the case that a new IBSS
has to be created
It optionally supports
* a flag to fix the channel
* a fixed BSSID
The cfg80211 code also takes care to leave the IBSS before
the netdev is set down. If wireless extensions are used, it
also caches values when the interface is down and instructs
the driver to join when the interface is set up.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/wireless.h')
-rw-r--r-- | include/net/wireless.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/net/wireless.h b/include/net/wireless.h index 44c2642d3c06..abd27b033331 100644 --- a/include/net/wireless.h +++ b/include/net/wireless.h | |||
@@ -265,6 +265,8 @@ struct wiphy { | |||
265 | * | 265 | * |
266 | * @wiphy: pointer to hardware description | 266 | * @wiphy: pointer to hardware description |
267 | * @iftype: interface type | 267 | * @iftype: interface type |
268 | * @list: (private) | ||
269 | * @netdev (private) | ||
268 | */ | 270 | */ |
269 | struct wireless_dev { | 271 | struct wireless_dev { |
270 | struct wiphy *wiphy; | 272 | struct wiphy *wiphy; |
@@ -273,6 +275,18 @@ struct wireless_dev { | |||
273 | /* private to the generic wireless code */ | 275 | /* private to the generic wireless code */ |
274 | struct list_head list; | 276 | struct list_head list; |
275 | struct net_device *netdev; | 277 | struct net_device *netdev; |
278 | |||
279 | /* currently used for IBSS - might be rearranged in the future */ | ||
280 | struct cfg80211_bss *current_bss; | ||
281 | u8 bssid[ETH_ALEN]; | ||
282 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ||
283 | u8 ssid_len; | ||
284 | |||
285 | #ifdef CONFIG_WIRELESS_EXT | ||
286 | /* wext data */ | ||
287 | struct cfg80211_ibss_params wext; | ||
288 | u8 wext_bssid[ETH_ALEN]; | ||
289 | #endif | ||
276 | }; | 290 | }; |
277 | 291 | ||
278 | /** | 292 | /** |