Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
scan.c File Reference
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/wireless.h>
#include <linux/nl80211.h>
#include <linux/etherdevice.h>
#include <net/arp.h>
#include <net/cfg80211.h>
#include <net/cfg80211-wext.h>
#include <net/iw_handler.h>
#include "core.h"
#include "nl80211.h"
#include "wext-compat.h"

Go to the source code of this file.

Macros

#define IEEE80211_SCAN_RESULT_EXPIRE   (30 * HZ)
 

Functions

void ___cfg80211_scan_done (struct cfg80211_registered_device *rdev, bool leak)
 
void __cfg80211_scan_done (struct work_struct *wk)
 
void cfg80211_scan_done (struct cfg80211_scan_request *request, bool aborted)
 
 EXPORT_SYMBOL (cfg80211_scan_done)
 
void __cfg80211_sched_scan_results (struct work_struct *wk)
 
void cfg80211_sched_scan_results (struct wiphy *wiphy)
 
 EXPORT_SYMBOL (cfg80211_sched_scan_results)
 
void cfg80211_sched_scan_stopped (struct wiphy *wiphy)
 
 EXPORT_SYMBOL (cfg80211_sched_scan_stopped)
 
int __cfg80211_stop_sched_scan (struct cfg80211_registered_device *rdev, bool driver_initiated)
 
void cfg80211_bss_age (struct cfg80211_registered_device *dev, unsigned long age_secs)
 
void cfg80211_bss_expire (struct cfg80211_registered_device *dev)
 
const u8cfg80211_find_ie (u8 eid, const u8 *ies, int len)
 
 EXPORT_SYMBOL (cfg80211_find_ie)
 
const u8cfg80211_find_vendor_ie (unsigned int oui, u8 oui_type, const u8 *ies, int len)
 
 EXPORT_SYMBOL (cfg80211_find_vendor_ie)
 
struct cfg80211_bsscfg80211_get_bss (struct wiphy *wiphy, struct ieee80211_channel *channel, const u8 *bssid, const u8 *ssid, size_t ssid_len, u16 capa_mask, u16 capa_val)
 
 EXPORT_SYMBOL (cfg80211_get_bss)
 
struct cfg80211_bsscfg80211_get_mesh (struct wiphy *wiphy, struct ieee80211_channel *channel, const u8 *meshid, size_t meshidlen, const u8 *meshcfg)
 
 EXPORT_SYMBOL (cfg80211_get_mesh)
 
struct cfg80211_bsscfg80211_inform_bss (struct wiphy *wiphy, struct ieee80211_channel *channel, const u8 *bssid, u64 tsf, u16 capability, u16 beacon_interval, const u8 *ie, size_t ielen, s32 signal, gfp_t gfp)
 
 EXPORT_SYMBOL (cfg80211_inform_bss)
 
struct cfg80211_bsscfg80211_inform_bss_frame (struct wiphy *wiphy, struct ieee80211_channel *channel, struct ieee80211_mgmt *mgmt, size_t len, s32 signal, gfp_t gfp)
 
 EXPORT_SYMBOL (cfg80211_inform_bss_frame)
 
void cfg80211_ref_bss (struct cfg80211_bss *pub)
 
 EXPORT_SYMBOL (cfg80211_ref_bss)
 
void cfg80211_put_bss (struct cfg80211_bss *pub)
 
 EXPORT_SYMBOL (cfg80211_put_bss)
 
void cfg80211_unlink_bss (struct wiphy *wiphy, struct cfg80211_bss *pub)
 
 EXPORT_SYMBOL (cfg80211_unlink_bss)
 

Macro Definition Documentation

#define IEEE80211_SCAN_RESULT_EXPIRE   (30 * HZ)

Definition at line 21 of file scan.c.

Function Documentation

void ___cfg80211_scan_done ( struct cfg80211_registered_device rdev,
bool  leak 
)

Definition at line 23 of file scan.c.

void __cfg80211_scan_done ( struct work_struct wk)

Definition at line 78 of file scan.c.

void __cfg80211_sched_scan_results ( struct work_struct wk)

Definition at line 99 of file scan.c.

int __cfg80211_stop_sched_scan ( struct cfg80211_registered_device rdev,
bool  driver_initiated 
)

Definition at line 135 of file scan.c.

void cfg80211_bss_age ( struct cfg80211_registered_device dev,
unsigned long  age_secs 
)

Definition at line 180 of file scan.c.

void cfg80211_bss_expire ( struct cfg80211_registered_device dev)

Definition at line 201 of file scan.c.

const u8* cfg80211_find_ie ( u8  eid,
const u8 ies,
int  len 
)

cfg80211_find_ie - find information element in data

: element ID : data consisting of IEs : length of data

This function will return NULL if the element ID could not be found or if the element is invalid (claims to be longer than the given data), or a pointer to the first byte of the requested element, that is the byte containing the element ID. There are no checks on the element length other than having to fit into the given data.

Definition at line 219 of file scan.c.

const u8* cfg80211_find_vendor_ie ( unsigned int  oui,
u8  oui_type,
const u8 ies,
int  len 
)

cfg80211_find_vendor_ie - find vendor specific information element in data

: vendor OUI : vendor-specific OUI type : data consisting of IEs : length of data

This function will return NULL if the vendor specific element ID could not be found or if the element is invalid (claims to be longer than the given data), or a pointer to the first byte of the requested element, that is the byte containing the element ID. There are no checks on the element length other than having to fit into the given data.

Definition at line 233 of file scan.c.

struct cfg80211_bss* cfg80211_get_bss ( struct wiphy wiphy,
struct ieee80211_channel channel,
const u8 bssid,
const u8 ssid,
size_t  ssid_len,
u16  capa_mask,
u16  capa_val 
)
read

Definition at line 452 of file scan.c.

struct cfg80211_bss* cfg80211_get_mesh ( struct wiphy wiphy,
struct ieee80211_channel channel,
const u8 meshid,
size_t  meshidlen,
const u8 meshcfg 
)
read

Definition at line 487 of file scan.c.

struct cfg80211_bss* cfg80211_inform_bss ( struct wiphy wiphy,
struct ieee80211_channel channel,
const u8 bssid,
u64  tsf,
u16  capability,
u16  beacon_interval,
const u8 ie,
size_t  ielen,
s32  signal,
gfp_t  gfp 
)
read

cfg80211_inform_bss - inform cfg80211 of a new BSS

: the wiphy reporting the BSS : The channel the frame was received on : the BSSID of the BSS : the TSF sent by the peer in the beacon/probe response (or 0) : the capability field sent by the peer : the beacon interval announced by the peer : additional IEs sent by the peer : length of the additional IEs : the signal strength, type depends on the wiphy's signal_type : context flags

This informs cfg80211 that BSS information was found and the BSS should be updated/added.

NOTE: Returns a referenced struct, must be released with cfg80211_put_bss()!

Definition at line 741 of file scan.c.

struct cfg80211_bss* cfg80211_inform_bss_frame ( struct wiphy wiphy,
struct ieee80211_channel channel,
struct ieee80211_mgmt mgmt,
size_t  len,
s32  signal,
gfp_t  gfp 
)
read

cfg80211_inform_bss_frame - inform cfg80211 of a received BSS frame

: the wiphy reporting the BSS : The channel the frame was received on : the management frame (probe response or beacon) : length of the management frame : the signal strength, type depends on the wiphy's signal_type : context flags

This informs cfg80211 that BSS information was found and the BSS should be updated/added.

NOTE: Returns a referenced struct, must be released with cfg80211_put_bss()!

Definition at line 801 of file scan.c.

void cfg80211_put_bss ( struct cfg80211_bss bss)

cfg80211_put_bss - unref BSS struct : the BSS struct

Decrements the refcount of the given BSS struct.

Definition at line 881 of file scan.c.

void cfg80211_ref_bss ( struct cfg80211_bss bss)

cfg80211_ref_bss - reference BSS struct : the BSS struct to reference

Increments the refcount of the given BSS struct.

Definition at line 869 of file scan.c.

void cfg80211_scan_done ( struct cfg80211_scan_request request,
bool  aborted 
)

cfg80211_scan_done - notify that scan finished

: the corresponding scan request : set to true if the scan was aborted for any reason, userspace will be notified of that

Definition at line 90 of file scan.c.

void cfg80211_sched_scan_results ( struct wiphy wiphy)

cfg80211_sched_scan_results - notify that new scan results are available

: the wiphy which got scheduled scan results

Definition at line 116 of file scan.c.

void cfg80211_sched_scan_stopped ( struct wiphy wiphy)

cfg80211_sched_scan_stopped - notify that the scheduled scan has stopped

: the wiphy on which the scheduled scan stopped

The driver can call this function to inform cfg80211 that the scheduled scan had to be stopped, for whatever reason. The driver is then called back via the sched_scan_stop operation when done.

Definition at line 125 of file scan.c.

void cfg80211_unlink_bss ( struct wiphy wiphy,
struct cfg80211_bss bss 
)

cfg80211_unlink_bss - unlink BSS from internal data structures : the wiphy : the bss to remove

This function removes the given BSS from the internal data structures thereby making it no longer show up in scan results etc. Use this function when you detect a BSS is gone. Normally BSSes will also time out, so it is not necessary to use this function at all.

Definition at line 893 of file scan.c.

EXPORT_SYMBOL ( cfg80211_scan_done  )
EXPORT_SYMBOL ( cfg80211_sched_scan_results  )
EXPORT_SYMBOL ( cfg80211_sched_scan_stopped  )
EXPORT_SYMBOL ( cfg80211_find_ie  )
EXPORT_SYMBOL ( cfg80211_find_vendor_ie  )
EXPORT_SYMBOL ( cfg80211_get_bss  )
EXPORT_SYMBOL ( cfg80211_get_mesh  )
EXPORT_SYMBOL ( cfg80211_inform_bss  )
EXPORT_SYMBOL ( cfg80211_inform_bss_frame  )
EXPORT_SYMBOL ( cfg80211_ref_bss  )
EXPORT_SYMBOL ( cfg80211_put_bss  )
EXPORT_SYMBOL ( cfg80211_unlink_bss  )