bss.c File Reference

#include "utils/includes.h"
#include "utils/common.h"
#include "utils/eloop.h"
#include "common/ieee802_11_defs.h"
#include "drivers/driver.h"
#include "wpa_supplicant_i.h"
#include "config.h"
#include "notify.h"
#include "scan.h"
Include dependency graph for bss.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define WPA_BSS_EXPIRATION_AGE   180
#define WPA_BSS_EXPIRATION_PERIOD   10
#define WPA_BSS_EXPIRATION_SCAN_COUNT   2
#define WPA_BSS_FREQ_CHANGED_FLAG   BIT(0)
#define WPA_BSS_IES_CHANGED_FLAG   BIT(8)
#define WPA_BSS_MODE_CHANGED_FLAG   BIT(3)
#define WPA_BSS_PRIVACY_CHANGED_FLAG   BIT(2)
#define WPA_BSS_RATES_CHANGED_FLAG   BIT(7)
#define WPA_BSS_RSNIE_CHANGED_FLAG   BIT(5)
#define WPA_BSS_SIGNAL_CHANGED_FLAG   BIT(1)
#define WPA_BSS_WPAIE_CHANGED_FLAG   BIT(4)
#define WPA_BSS_WPS_CHANGED_FLAG   BIT(6)

Functions

static int are_ies_equal (const struct wpa_bss *old, const struct wpa_scan_res *new, u32 ie)
static void notify_bss_changes (struct wpa_supplicant *wpa_s, u32 changes, const struct wpa_bss *bss)
static void wpa_bss_add (struct wpa_supplicant *wpa_s, const u8 *ssid, size_t ssid_len, struct wpa_scan_res *res)
static u32 wpa_bss_compare_res (const struct wpa_bss *old, const struct wpa_scan_res *new)
static void wpa_bss_copy_res (struct wpa_bss *dst, struct wpa_scan_res *src)
void wpa_bss_deinit (struct wpa_supplicant *wpa_s)
struct wpa_bsswpa_bss_get (struct wpa_supplicant *wpa_s, const u8 *bssid, const u8 *ssid, size_t ssid_len)
int wpa_bss_get_bit_rates (const struct wpa_bss *bss, u8 **rates)
struct wpa_bsswpa_bss_get_bssid (struct wpa_supplicant *wpa_s, const u8 *bssid)
struct wpa_bsswpa_bss_get_id (struct wpa_supplicant *wpa_s, unsigned int id)
const u8wpa_bss_get_ie (const struct wpa_bss *bss, u8 ie)
int wpa_bss_get_max_rate (const struct wpa_bss *bss)
const u8wpa_bss_get_vendor_ie (const struct wpa_bss *bss, u32 vendor_type)
struct wpabufwpa_bss_get_vendor_ie_multi (const struct wpa_bss *bss, u32 vendor_type)
static int wpa_bss_in_use (struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
static int wpa_bss_included_in_scan (const struct wpa_bss *bss, const struct scan_info *info)
int wpa_bss_init (struct wpa_supplicant *wpa_s)
static void wpa_bss_remove (struct wpa_supplicant *wpa_s, struct wpa_bss *bss)
static void wpa_bss_timeout (void *eloop_ctx, void *timeout_ctx)
static void wpa_bss_update (struct wpa_supplicant *wpa_s, struct wpa_bss *bss, struct wpa_scan_res *res)
void wpa_bss_update_end (struct wpa_supplicant *wpa_s, struct scan_info *info, int new_scan)
void wpa_bss_update_scan_res (struct wpa_supplicant *wpa_s, struct wpa_scan_res *res)
void wpa_bss_update_start (struct wpa_supplicant *wpa_s)

Define Documentation

#define WPA_BSS_EXPIRATION_AGE   180

WPA_BSS_EXPIRATION_AGE - BSS entry age after which it can be expired

This value control the time in seconds after which a BSS entry gets removed if it has not been updated or is not in use.

Definition at line 39 of file bss.c.

#define WPA_BSS_EXPIRATION_PERIOD   10

WPA_BSS_EXPIRATION_PERIOD - Period of expiration run in seconds

Definition at line 31 of file bss.c.

#define WPA_BSS_EXPIRATION_SCAN_COUNT   2

WPA_BSS_EXPIRATION_SCAN_COUNT - Expire BSS after number of scans

If the BSS entry has not been seen in this many scans, it will be removed. Value 1 means that the entry is removed after the first scan without the BSSID being seen. Larger values can be used to avoid BSS entries disappearing if they are not visible in every scan (e.g., low signal quality or interference).

Definition at line 50 of file bss.c.

#define WPA_BSS_FREQ_CHANGED_FLAG   BIT(0)

Definition at line 52 of file bss.c.

#define WPA_BSS_IES_CHANGED_FLAG   BIT(8)

Definition at line 60 of file bss.c.

#define WPA_BSS_MODE_CHANGED_FLAG   BIT(3)

Definition at line 55 of file bss.c.

#define WPA_BSS_PRIVACY_CHANGED_FLAG   BIT(2)

Definition at line 54 of file bss.c.

#define WPA_BSS_RATES_CHANGED_FLAG   BIT(7)

Definition at line 59 of file bss.c.

#define WPA_BSS_RSNIE_CHANGED_FLAG   BIT(5)

Definition at line 57 of file bss.c.

#define WPA_BSS_SIGNAL_CHANGED_FLAG   BIT(1)

Definition at line 53 of file bss.c.

#define WPA_BSS_WPAIE_CHANGED_FLAG   BIT(4)

Definition at line 56 of file bss.c.

#define WPA_BSS_WPS_CHANGED_FLAG   BIT(6)

Definition at line 58 of file bss.c.


Function Documentation

static int are_ies_equal ( const struct wpa_bss old,
const struct wpa_scan_res new,
u32  ie 
) [static]

Definition at line 147 of file bss.c.

static void notify_bss_changes ( struct wpa_supplicant wpa_s,
u32  changes,
const struct wpa_bss bss 
) [static]

Definition at line 240 of file bss.c.

static void wpa_bss_add ( struct wpa_supplicant wpa_s,
const u8 ssid,
size_t  ssid_len,
struct wpa_scan_res res 
) [static]

Definition at line 115 of file bss.c.

static u32 wpa_bss_compare_res ( const struct wpa_bss old,
const struct wpa_scan_res new 
) [static]

Definition at line 200 of file bss.c.

static void wpa_bss_copy_res ( struct wpa_bss dst,
struct wpa_scan_res src 
) [static]

Definition at line 90 of file bss.c.

void wpa_bss_deinit ( struct wpa_supplicant wpa_s  ) 

Definition at line 456 of file bss.c.

struct wpa_bss* wpa_bss_get ( struct wpa_supplicant wpa_s,
const u8 bssid,
const u8 ssid,
size_t  ssid_len 
) [read]

Definition at line 76 of file bss.c.

int wpa_bss_get_bit_rates ( const struct wpa_bss bss,
u8 **  rates 
)

Definition at line 582 of file bss.c.

struct wpa_bss* wpa_bss_get_bssid ( struct wpa_supplicant wpa_s,
const u8 bssid 
) [read]

Definition at line 467 of file bss.c.

struct wpa_bss* wpa_bss_get_id ( struct wpa_supplicant wpa_s,
unsigned int  id 
) [read]

Definition at line 479 of file bss.c.

const u8* wpa_bss_get_ie ( const struct wpa_bss bss,
u8  ie 
)

Definition at line 490 of file bss.c.

int wpa_bss_get_max_rate ( const struct wpa_bss bss  ) 

Definition at line 560 of file bss.c.

const u8* wpa_bss_get_vendor_ie ( const struct wpa_bss bss,
u32  vendor_type 
)

Definition at line 509 of file bss.c.

struct wpabuf* wpa_bss_get_vendor_ie_multi ( const struct wpa_bss bss,
u32  vendor_type 
) [read]

Definition at line 529 of file bss.c.

static int wpa_bss_in_use ( struct wpa_supplicant wpa_s,
struct wpa_bss bss 
) [static]

Definition at line 309 of file bss.c.

static int wpa_bss_included_in_scan ( const struct wpa_bss bss,
const struct scan_info *  info 
) [static]

Definition at line 353 of file bss.c.

int wpa_bss_init ( struct wpa_supplicant wpa_s  ) 

Definition at line 446 of file bss.c.

static void wpa_bss_remove ( struct wpa_supplicant wpa_s,
struct wpa_bss bss 
) [static]

Definition at line 63 of file bss.c.

static void wpa_bss_timeout ( void *  eloop_ctx,
void *  timeout_ctx 
) [static]

Definition at line 418 of file bss.c.

static void wpa_bss_update ( struct wpa_supplicant wpa_s,
struct wpa_bss bss,
struct wpa_scan_res res 
) [static]

Definition at line 272 of file bss.c.

void wpa_bss_update_end ( struct wpa_supplicant wpa_s,
struct scan_info *  info,
int  new_scan 
)

Definition at line 394 of file bss.c.

void wpa_bss_update_scan_res ( struct wpa_supplicant wpa_s,
struct wpa_scan_res res 
)

Definition at line 325 of file bss.c.

void wpa_bss_update_start ( struct wpa_supplicant wpa_s  ) 

Definition at line 317 of file bss.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


wpa_supplicant
Author(s): Package maintained by Blaise Gassend
autogenerated on Fri Jan 11 10:04:12 2013