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/linux/nl80211.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/linux/nl80211.h')
-rw-r--r-- | include/linux/nl80211.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index c01423888db9..25ce3e42bd10 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -223,6 +223,15 @@ | |||
223 | * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this | 223 | * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this |
224 | * event matches with MLME-MICHAELMICFAILURE.indication() primitive | 224 | * event matches with MLME-MICHAELMICFAILURE.indication() primitive |
225 | * | 225 | * |
226 | * @NL80211_CMD_JOIN_IBSS: Join a new IBSS -- given at least an SSID and a | ||
227 | * FREQ attribute (for the initial frequency if no peer can be found) | ||
228 | * and optionally a MAC (as BSSID) and FREQ_FIXED attribute if those | ||
229 | * should be fixed rather than automatically determined. Can only be | ||
230 | * executed on a network interface that is UP, and fixed BSSID/FREQ | ||
231 | * may be rejected. | ||
232 | * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is | ||
233 | * determined by the network interface. | ||
234 | * | ||
226 | * @NL80211_CMD_MAX: highest used command number | 235 | * @NL80211_CMD_MAX: highest used command number |
227 | * @__NL80211_CMD_AFTER_LAST: internal use | 236 | * @__NL80211_CMD_AFTER_LAST: internal use |
228 | */ | 237 | */ |
@@ -288,6 +297,9 @@ enum nl80211_commands { | |||
288 | 297 | ||
289 | NL80211_CMD_REG_BEACON_HINT, | 298 | NL80211_CMD_REG_BEACON_HINT, |
290 | 299 | ||
300 | NL80211_CMD_JOIN_IBSS, | ||
301 | NL80211_CMD_LEAVE_IBSS, | ||
302 | |||
291 | /* add new commands above here */ | 303 | /* add new commands above here */ |
292 | 304 | ||
293 | /* used to define NL80211_CMD_MAX below */ | 305 | /* used to define NL80211_CMD_MAX below */ |
@@ -456,6 +468,9 @@ enum nl80211_commands { | |||
456 | * @NL80211_ATTR_CIPHER_SUITES: a set of u32 values indicating the supported | 468 | * @NL80211_ATTR_CIPHER_SUITES: a set of u32 values indicating the supported |
457 | * cipher suites | 469 | * cipher suites |
458 | * | 470 | * |
471 | * @NL80211_ATTR_FREQ_FIXED: a flag indicating the IBSS should not try to look | ||
472 | * for other networks on different channels | ||
473 | * | ||
459 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 474 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
460 | * @__NL80211_ATTR_AFTER_LAST: internal use | 475 | * @__NL80211_ATTR_AFTER_LAST: internal use |
461 | */ | 476 | */ |
@@ -547,6 +562,9 @@ enum nl80211_attrs { | |||
547 | 562 | ||
548 | NL80211_ATTR_FREQ_BEFORE, | 563 | NL80211_ATTR_FREQ_BEFORE, |
549 | NL80211_ATTR_FREQ_AFTER, | 564 | NL80211_ATTR_FREQ_AFTER, |
565 | |||
566 | NL80211_ATTR_FREQ_FIXED, | ||
567 | |||
550 | /* add attributes here, update the policy in nl80211.c */ | 568 | /* add attributes here, update the policy in nl80211.c */ |
551 | 569 | ||
552 | __NL80211_ATTR_AFTER_LAST, | 570 | __NL80211_ATTR_AFTER_LAST, |