cfg80211.h (7c1e51a34afb110a010a73141a2b5f000f798875) | cfg80211.h (804483e90794256f9ed53e795ffbf1e94de237c8) |
---|---|
1#ifndef __NET_CFG80211_H 2#define __NET_CFG80211_H 3/* 4 * 802.11 device and configuration interface 5 * 6 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> 7 * 8 * This program is free software; you can redistribute it and/or modify --- 399 unchanged lines hidden (view full) --- 408 * @dtim_period: DTIM period 409 * @ssid: SSID to be used in the BSS (note: may be %NULL if not provided from 410 * user space) 411 * @ssid_len: length of @ssid 412 * @hidden_ssid: whether to hide the SSID in Beacon/Probe Response frames 413 * @crypto: crypto settings 414 * @privacy: the BSS uses privacy 415 * @auth_type: Authentication type (algorithm) | 1#ifndef __NET_CFG80211_H 2#define __NET_CFG80211_H 3/* 4 * 802.11 device and configuration interface 5 * 6 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net> 7 * 8 * This program is free software; you can redistribute it and/or modify --- 399 unchanged lines hidden (view full) --- 408 * @dtim_period: DTIM period 409 * @ssid: SSID to be used in the BSS (note: may be %NULL if not provided from 410 * user space) 411 * @ssid_len: length of @ssid 412 * @hidden_ssid: whether to hide the SSID in Beacon/Probe Response frames 413 * @crypto: crypto settings 414 * @privacy: the BSS uses privacy 415 * @auth_type: Authentication type (algorithm) |
416 * @inactivity_timeout: time in seconds to determine station's inactivity. |
|
416 */ 417struct cfg80211_ap_settings { 418 struct cfg80211_beacon_data beacon; 419 420 int beacon_interval, dtim_period; 421 const u8 *ssid; 422 size_t ssid_len; 423 enum nl80211_hidden_ssid hidden_ssid; 424 struct cfg80211_crypto_settings crypto; 425 bool privacy; 426 enum nl80211_auth_type auth_type; | 417 */ 418struct cfg80211_ap_settings { 419 struct cfg80211_beacon_data beacon; 420 421 int beacon_interval, dtim_period; 422 const u8 *ssid; 423 size_t ssid_len; 424 enum nl80211_hidden_ssid hidden_ssid; 425 struct cfg80211_crypto_settings crypto; 426 bool privacy; 427 enum nl80211_auth_type auth_type; |
428 int inactivity_timeout; |
|
427}; 428 429/** 430 * enum plink_action - actions to perform in mesh peers 431 * 432 * @PLINK_ACTION_INVALID: action 0 is reserved 433 * @PLINK_ACTION_OPEN: start mesh peer link establishment 434 * @PLINK_ACTION_BLOCK: block traffic from this mesh peer --- 369 unchanged lines hidden (view full) --- 804 u8 dot11MeshHWMPRootMode; 805 u16 dot11MeshHWMPRannInterval; 806 /* This is missnamed in draft 12.0: dot11MeshGateAnnouncementProtocol 807 * set to true only means that the station will announce others it's a 808 * mesh gate, but not necessarily using the gate announcement protocol. 809 * Still keeping the same nomenclature to be in sync with the spec. */ 810 bool dot11MeshGateAnnouncementProtocol; 811 bool dot11MeshForwarding; | 429}; 430 431/** 432 * enum plink_action - actions to perform in mesh peers 433 * 434 * @PLINK_ACTION_INVALID: action 0 is reserved 435 * @PLINK_ACTION_OPEN: start mesh peer link establishment 436 * @PLINK_ACTION_BLOCK: block traffic from this mesh peer --- 369 unchanged lines hidden (view full) --- 806 u8 dot11MeshHWMPRootMode; 807 u16 dot11MeshHWMPRannInterval; 808 /* This is missnamed in draft 12.0: dot11MeshGateAnnouncementProtocol 809 * set to true only means that the station will announce others it's a 810 * mesh gate, but not necessarily using the gate announcement protocol. 811 * Still keeping the same nomenclature to be in sync with the spec. */ 812 bool dot11MeshGateAnnouncementProtocol; 813 bool dot11MeshForwarding; |
814 s32 rssi_threshold; |
|
812}; 813 814/** 815 * struct mesh_setup - 802.11s mesh setup configuration 816 * @mesh_id: the mesh ID 817 * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes 818 * @path_sel_proto: which path selection protocol to use 819 * @path_metric: which metric to use --- 531 unchanged lines hidden (view full) --- 1351 * and @key_index, return -ENOENT if the key doesn't exist. 1352 * 1353 * @set_default_key: set the default key on an interface 1354 * 1355 * @set_default_mgmt_key: set the default management frame key on an interface 1356 * 1357 * @set_rekey_data: give the data necessary for GTK rekeying to the driver 1358 * | 815}; 816 817/** 818 * struct mesh_setup - 802.11s mesh setup configuration 819 * @mesh_id: the mesh ID 820 * @mesh_id_len: length of the mesh ID, at least 1 and at most 32 bytes 821 * @path_sel_proto: which path selection protocol to use 822 * @path_metric: which metric to use --- 531 unchanged lines hidden (view full) --- 1354 * and @key_index, return -ENOENT if the key doesn't exist. 1355 * 1356 * @set_default_key: set the default key on an interface 1357 * 1358 * @set_default_mgmt_key: set the default management frame key on an interface 1359 * 1360 * @set_rekey_data: give the data necessary for GTK rekeying to the driver 1361 * |
1359 * @add_beacon: Add a beacon with given parameters, @head, @interval 1360 * and @dtim_period will be valid, @tail is optional. 1361 * @set_beacon: Change the beacon parameters for an access point mode 1362 * interface. This should reject the call when no beacon has been 1363 * configured. 1364 * @del_beacon: Remove beacon configuration and stop sending the beacon. | 1362 * @start_ap: Start acting in AP mode defined by the parameters. 1363 * @change_beacon: Change the beacon parameters for an access point mode 1364 * interface. This should reject the call when AP mode wasn't started. 1365 * @stop_ap: Stop being an AP, including stopping beaconing. |
1365 * 1366 * @add_station: Add a new station. 1367 * @del_station: Remove a station; @mac may be NULL to remove all stations. 1368 * @change_station: Modify a given station. Note that flags changes are not much 1369 * validated in cfg80211, in particular the auth/assoc/authorized flags 1370 * might come to the driver in invalid combinations -- make sure to check 1371 * them, also against the existing state! Also, supported_rates changes are 1372 * not checked in station mode -- drivers need to reject (or ignore) them --- 1810 unchanged lines hidden (view full) --- 3183 * @gfp: allocation flags 3184 */ 3185void cfg80211_del_sta(struct net_device *dev, const u8 *mac_addr, gfp_t gfp); 3186 3187/** 3188 * cfg80211_rx_mgmt - notification of received, unprocessed management frame 3189 * @dev: network device 3190 * @freq: Frequency on which the frame was received in MHz | 1366 * 1367 * @add_station: Add a new station. 1368 * @del_station: Remove a station; @mac may be NULL to remove all stations. 1369 * @change_station: Modify a given station. Note that flags changes are not much 1370 * validated in cfg80211, in particular the auth/assoc/authorized flags 1371 * might come to the driver in invalid combinations -- make sure to check 1372 * them, also against the existing state! Also, supported_rates changes are 1373 * not checked in station mode -- drivers need to reject (or ignore) them --- 1810 unchanged lines hidden (view full) --- 3184 * @gfp: allocation flags 3185 */ 3186void cfg80211_del_sta(struct net_device *dev, const u8 *mac_addr, gfp_t gfp); 3187 3188/** 3189 * cfg80211_rx_mgmt - notification of received, unprocessed management frame 3190 * @dev: network device 3191 * @freq: Frequency on which the frame was received in MHz |
3192 * @sig_dbm: signal strength in mBm, or 0 if unknown |
|
3191 * @buf: Management frame (header + body) 3192 * @len: length of the frame data 3193 * @gfp: context flags 3194 * 3195 * Returns %true if a user space application has registered for this frame. 3196 * For action frames, that makes it responsible for rejecting unrecognized 3197 * action frames; %false otherwise, in which case for action frames the 3198 * driver is responsible for rejecting the frame. 3199 * 3200 * This function is called whenever an Action frame is received for a station 3201 * mode interface, but is not processed in kernel. 3202 */ | 3193 * @buf: Management frame (header + body) 3194 * @len: length of the frame data 3195 * @gfp: context flags 3196 * 3197 * Returns %true if a user space application has registered for this frame. 3198 * For action frames, that makes it responsible for rejecting unrecognized 3199 * action frames; %false otherwise, in which case for action frames the 3200 * driver is responsible for rejecting the frame. 3201 * 3202 * This function is called whenever an Action frame is received for a station 3203 * mode interface, but is not processed in kernel. 3204 */ |
3203bool cfg80211_rx_mgmt(struct net_device *dev, int freq, const u8 *buf, 3204 size_t len, gfp_t gfp); | 3205bool cfg80211_rx_mgmt(struct net_device *dev, int freq, int sig_dbm, 3206 const u8 *buf, size_t len, gfp_t gfp); |
3205 3206/** 3207 * cfg80211_mgmt_tx_status - notification of TX status for management frame 3208 * @dev: network device 3209 * @cookie: Cookie returned by cfg80211_ops::mgmt_tx() 3210 * @buf: Management frame (header + body) 3211 * @len: length of the frame data 3212 * @ack: Whether frame was acknowledged --- 96 unchanged lines hidden (view full) --- 3309 u64 cookie, bool acked, gfp_t gfp); 3310 3311/** 3312 * cfg80211_report_obss_beacon - report beacon from other APs 3313 * @wiphy: The wiphy that received the beacon 3314 * @frame: the frame 3315 * @len: length of the frame 3316 * @freq: frequency the frame was received on | 3207 3208/** 3209 * cfg80211_mgmt_tx_status - notification of TX status for management frame 3210 * @dev: network device 3211 * @cookie: Cookie returned by cfg80211_ops::mgmt_tx() 3212 * @buf: Management frame (header + body) 3213 * @len: length of the frame data 3214 * @ack: Whether frame was acknowledged --- 96 unchanged lines hidden (view full) --- 3311 u64 cookie, bool acked, gfp_t gfp); 3312 3313/** 3314 * cfg80211_report_obss_beacon - report beacon from other APs 3315 * @wiphy: The wiphy that received the beacon 3316 * @frame: the frame 3317 * @len: length of the frame 3318 * @freq: frequency the frame was received on |
3319 * @sig_dbm: signal strength in mBm, or 0 if unknown |
|
3317 * @gfp: allocation flags 3318 * 3319 * Use this function to report to userspace when a beacon was 3320 * received. It is not useful to call this when there is no 3321 * netdev that is in AP/GO mode. 3322 */ 3323void cfg80211_report_obss_beacon(struct wiphy *wiphy, 3324 const u8 *frame, size_t len, | 3320 * @gfp: allocation flags 3321 * 3322 * Use this function to report to userspace when a beacon was 3323 * received. It is not useful to call this when there is no 3324 * netdev that is in AP/GO mode. 3325 */ 3326void cfg80211_report_obss_beacon(struct wiphy *wiphy, 3327 const u8 *frame, size_t len, |
3325 int freq, gfp_t gfp); | 3328 int freq, int sig_dbm, gfp_t gfp); |
3326 3327/* 3328 * cfg80211_can_beacon_sec_chan - test if ht40 on extension channel can be used 3329 * @wiphy: the wiphy 3330 * @chan: main channel 3331 * @channel_type: HT mode 3332 */ 3333int cfg80211_can_beacon_sec_chan(struct wiphy *wiphy, --- 50 unchanged lines hidden --- | 3329 3330/* 3331 * cfg80211_can_beacon_sec_chan - test if ht40 on extension channel can be used 3332 * @wiphy: the wiphy 3333 * @chan: main channel 3334 * @channel_type: HT mode 3335 */ 3336int cfg80211_can_beacon_sec_chan(struct wiphy *wiphy, --- 50 unchanged lines hidden --- |