Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
ieee80211_softmac.c File Reference
#include "ieee80211.h"
#include <linux/random.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
#include <linux/etherdevice.h>
#include "dot11d.h"

Go to the source code of this file.

Macros

#define DRV_NAME   "Ieee80211"
 
#define AUTH_ALG_OPEN_SYSTEM   0x1
 
#define AUTH_ALG_SHARED_KEY   0x2
 

Functions

short ieee80211_is_54g (const struct ieee80211_network *net)
 
short ieee80211_is_shortslot (const struct ieee80211_network *net)
 
unsigned int ieee80211_MFIE_rate_len (struct ieee80211_device *ieee)
 
void ieee80211_MFIE_Brate (struct ieee80211_device *ieee, u8 **tag_p)
 
void ieee80211_MFIE_Grate (struct ieee80211_device *ieee, u8 **tag_p)
 
void ieee80211_WMM_Info (struct ieee80211_device *ieee, u8 **tag_p)
 
void ieee80211_TURBO_Info (struct ieee80211_device *ieee, u8 **tag_p)
 
void enqueue_mgmt (struct ieee80211_device *ieee, struct sk_buff *skb)
 
struct sk_buffdequeue_mgmt (struct ieee80211_device *ieee)
 
void init_mgmt_queue (struct ieee80211_device *ieee)
 
void ieee80211_sta_wakeup (struct ieee80211_device *ieee, short nl)
 
void softmac_mgmt_xmit (struct sk_buff *skb, struct ieee80211_device *ieee)
 
void softmac_ps_mgmt_xmit (struct sk_buff *skb, struct ieee80211_device *ieee)
 
struct sk_buffieee80211_disassociate_skb (struct ieee80211_network *beacon, struct ieee80211_device *ieee, u8 asRsn)
 
void SendDisassociation (struct ieee80211_device *ieee, u8 *asSta, u8 asRsn)
 
struct sk_buffieee80211_probe_req (struct ieee80211_device *ieee)
 
struct sk_buffieee80211_get_beacon_ (struct ieee80211_device *ieee)
 
void ext_ieee80211_send_beacon_wq (struct ieee80211_device *ieee)
 
void ieee80211_send_beacon (struct ieee80211_device *ieee)
 
void ieee80211_send_beacon_cb (unsigned long _ieee)
 
void ieee80211_send_probe (struct ieee80211_device *ieee)
 
void ieee80211_send_probe_requests (struct ieee80211_device *ieee)
 
void ieee80211_softmac_scan_syncro (struct ieee80211_device *ieee)
 
void ieee80211_softmac_ips_scan_syncro (struct ieee80211_device *ieee)
 
void ieee80211_softmac_scan_wq (struct work_struct *work)
 
void ieee80211_beacons_start (struct ieee80211_device *ieee)
 
void ieee80211_beacons_stop (struct ieee80211_device *ieee)
 
void ieee80211_stop_send_beacons (struct ieee80211_device *ieee)
 
void ieee80211_start_send_beacons (struct ieee80211_device *ieee)
 
void ieee80211_softmac_stop_scan (struct ieee80211_device *ieee)
 
void ieee80211_stop_scan (struct ieee80211_device *ieee)
 
void ieee80211_rtl_start_scan (struct ieee80211_device *ieee)
 
void ieee80211_start_scan_syncro (struct ieee80211_device *ieee)
 
struct sk_buffieee80211_authentication_req (struct ieee80211_network *beacon, struct ieee80211_device *ieee, int challengelen)
 
struct sk_buffieee80211_assoc_resp (struct ieee80211_device *ieee, u8 *dest)
 
struct sk_buffieee80211_auth_resp (struct ieee80211_device *ieee, int status, u8 *dest)
 
struct sk_buffieee80211_null_func (struct ieee80211_device *ieee, short pwr)
 
void ieee80211_resp_to_assoc_rq (struct ieee80211_device *ieee, u8 *dest)
 
void ieee80211_resp_to_auth (struct ieee80211_device *ieee, int s, u8 *dest)
 
void ieee80211_resp_to_probe (struct ieee80211_device *ieee, u8 *dest)
 
struct sk_buffieee80211_association_req (struct ieee80211_network *beacon, struct ieee80211_device *ieee)
 
void ieee80211_associate_abort (struct ieee80211_device *ieee)
 
void ieee80211_associate_abort_cb (unsigned long dev)
 
void ieee80211_associate_step1 (struct ieee80211_device *ieee)
 
void ieee80211_rtl_auth_challenge (struct ieee80211_device *ieee, u8 *challenge, int chlen)
 
void ieee80211_associate_step2 (struct ieee80211_device *ieee)
 
void ieee80211_associate_complete_wq (struct work_struct *work)
 
void ieee80211_associate_complete (struct ieee80211_device *ieee)
 
void ieee80211_associate_procedure_wq (struct work_struct *work)
 
void ieee80211_softmac_new_net (struct ieee80211_device *ieee, struct ieee80211_network *net)
 
void ieee80211_softmac_check_all_nets (struct ieee80211_device *ieee)
 
int auth_rq_parse (struct sk_buff *skb, u8 *dest)
 
int assoc_rq_parse (struct sk_buff *skb, u8 *dest)
 
void ieee80211_rx_auth_rq (struct ieee80211_device *ieee, struct sk_buff *skb)
 
void ieee80211_rx_assoc_rq (struct ieee80211_device *ieee, struct sk_buff *skb)
 
void ieee80211_sta_ps_send_null_frame (struct ieee80211_device *ieee, short pwr)
 
short ieee80211_sta_ps_sleep (struct ieee80211_device *ieee, u32 *time_h, u32 *time_l)
 
void ieee80211_sta_ps (struct ieee80211_device *ieee)
 
void ieee80211_ps_tx_ack (struct ieee80211_device *ieee, short success)
 
int ieee80211_rx_frame_softmac (struct ieee80211_device *ieee, struct sk_buff *skb, struct ieee80211_rx_stats *rx_stats, u16 type, u16 stype)
 
void ieee80211_softmac_xmit (struct ieee80211_txb *txb, struct ieee80211_device *ieee)
 
void ieee80211_resume_tx (struct ieee80211_device *ieee)
 
void ieee80211_reset_queue (struct ieee80211_device *ieee)
 
void ieee80211_rtl_wake_queue (struct ieee80211_device *ieee)
 
void ieee80211_rtl_stop_queue (struct ieee80211_device *ieee)
 
void ieee80211_randomize_cell (struct ieee80211_device *ieee)
 
void ieee80211_start_master_bss (struct ieee80211_device *ieee)
 
void ieee80211_start_monitor_mode (struct ieee80211_device *ieee)
 
void ieee80211_start_ibss_wq (struct work_struct *work)
 
void ieee80211_start_ibss (struct ieee80211_device *ieee)
 
void ieee80211_start_bss (struct ieee80211_device *ieee)
 
void ieee80211_disassociate (struct ieee80211_device *ieee)
 
void ieee80211_associate_retry_wq (struct work_struct *work)
 
struct sk_buffieee80211_get_beacon (struct ieee80211_device *ieee)
 
void ieee80211_softmac_stop_protocol (struct ieee80211_device *ieee)
 
void ieee80211_stop_protocol (struct ieee80211_device *ieee)
 
void ieee80211_softmac_start_protocol (struct ieee80211_device *ieee)
 
void ieee80211_start_protocol (struct ieee80211_device *ieee)
 
void ieee80211_softmac_init (struct ieee80211_device *ieee)
 
void ieee80211_softmac_free (struct ieee80211_device *ieee)
 
void ieee80211_wpa_assoc_frame (struct ieee80211_device *ieee, char *wpa_ie, int wpa_ie_len)
 
int ieee80211_wpa_supplicant_ioctl (struct ieee80211_device *ieee, struct iw_point *p)
 
void notify_wx_assoc_event (struct ieee80211_device *ieee)
 

Variables

u8 rsn_authen_cipher_suite [16][4]
 

Macro Definition Documentation

#define AUTH_ALG_OPEN_SYSTEM   0x1

Definition at line 2680 of file ieee80211_softmac.c.

#define AUTH_ALG_SHARED_KEY   0x2

Definition at line 2681 of file ieee80211_softmac.c.

#define DRV_NAME   "Ieee80211"

Definition at line 2515 of file ieee80211_softmac.c.

Function Documentation

int assoc_rq_parse ( struct sk_buff skb,
u8 dest 
)

Definition at line 1506 of file ieee80211_softmac.c.

int auth_rq_parse ( struct sk_buff skb,
u8 dest 
)

Definition at line 1450 of file ieee80211_softmac.c.

struct sk_buff* dequeue_mgmt ( struct ieee80211_device ieee)
read

Definition at line 167 of file ieee80211_softmac.c.

void enqueue_mgmt ( struct ieee80211_device ieee,
struct sk_buff skb 
)

Definition at line 149 of file ieee80211_softmac.c.

void ext_ieee80211_send_beacon_wq ( struct ieee80211_device ieee)

Definition at line 357 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_assoc_resp ( struct ieee80211_device ieee,
u8 dest 
)
read

Definition at line 890 of file ieee80211_softmac.c.

void ieee80211_associate_abort ( struct ieee80211_device ieee)

Definition at line 1136 of file ieee80211_softmac.c.

void ieee80211_associate_abort_cb ( unsigned long  dev)

Definition at line 1165 of file ieee80211_softmac.c.

void ieee80211_associate_complete ( struct ieee80211_device ieee)

Definition at line 1278 of file ieee80211_softmac.c.

void ieee80211_associate_complete_wq ( struct work_struct work)

Definition at line 1257 of file ieee80211_softmac.c.

void ieee80211_associate_procedure_wq ( struct work_struct work)

Definition at line 1292 of file ieee80211_softmac.c.

void ieee80211_associate_retry_wq ( struct work_struct work)

Definition at line 2328 of file ieee80211_softmac.c.

void ieee80211_associate_step1 ( struct ieee80211_device ieee)

Definition at line 1171 of file ieee80211_softmac.c.

void ieee80211_associate_step2 ( struct ieee80211_device ieee)

Definition at line 1235 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_association_req ( struct ieee80211_network beacon,
struct ieee80211_device ieee 
)
read

Definition at line 1030 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_auth_resp ( struct ieee80211_device ieee,
int  status,
u8 dest 
)
read

Definition at line 943 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_authentication_req ( struct ieee80211_network beacon,
struct ieee80211_device ieee,
int  challengelen 
)
read

Definition at line 738 of file ieee80211_softmac.c.

void ieee80211_beacons_start ( struct ieee80211_device ieee)

Definition at line 622 of file ieee80211_softmac.c.

void ieee80211_beacons_stop ( struct ieee80211_device ieee)

Definition at line 634 of file ieee80211_softmac.c.

void ieee80211_disassociate ( struct ieee80211_device ieee)

Definition at line 2309 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_disassociate_skb ( struct ieee80211_network beacon,
struct ieee80211_device ieee,
u8  asRsn 
)
read

Definition at line 279 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_get_beacon ( struct ieee80211_device ieee)
read

Definition at line 2392 of file ieee80211_softmac.c.

struct sk_buff * ieee80211_get_beacon_ ( struct ieee80211_device ieee)
read

Definition at line 2374 of file ieee80211_softmac.c.

short ieee80211_is_54g ( const struct ieee80211_network net)

Definition at line 36 of file ieee80211_softmac.c.

short ieee80211_is_shortslot ( const struct ieee80211_network net)

Definition at line 41 of file ieee80211_softmac.c.

void ieee80211_MFIE_Brate ( struct ieee80211_device ieee,
u8 **  tag_p 
)

Definition at line 68 of file ieee80211_softmac.c.

void ieee80211_MFIE_Grate ( struct ieee80211_device ieee,
u8 **  tag_p 
)

Definition at line 85 of file ieee80211_softmac.c.

unsigned int ieee80211_MFIE_rate_len ( struct ieee80211_device ieee)

Definition at line 50 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_null_func ( struct ieee80211_device ieee,
short  pwr 
)
read

Definition at line 970 of file ieee80211_softmac.c.

struct sk_buff* ieee80211_probe_req ( struct ieee80211_device ieee)
read

Definition at line 319 of file ieee80211_softmac.c.

void ieee80211_ps_tx_ack ( struct ieee80211_device ieee,
short  success 
)

Definition at line 1742 of file ieee80211_softmac.c.

void ieee80211_randomize_cell ( struct ieee80211_device ieee)
inline

Definition at line 2111 of file ieee80211_softmac.c.

void ieee80211_reset_queue ( struct ieee80211_device ieee)

Definition at line 2039 of file ieee80211_softmac.c.

void ieee80211_resp_to_assoc_rq ( struct ieee80211_device ieee,
u8 dest 
)

Definition at line 996 of file ieee80211_softmac.c.

void ieee80211_resp_to_auth ( struct ieee80211_device ieee,
int  s,
u8 dest 
)

Definition at line 1007 of file ieee80211_softmac.c.

void ieee80211_resp_to_probe ( struct ieee80211_device ieee,
u8 dest 
)

Definition at line 1018 of file ieee80211_softmac.c.

void ieee80211_resume_tx ( struct ieee80211_device ieee)

Definition at line 2014 of file ieee80211_softmac.c.

void ieee80211_rtl_auth_challenge ( struct ieee80211_device ieee,
u8 challenge,
int  chlen 
)

Definition at line 1201 of file ieee80211_softmac.c.

void ieee80211_rtl_start_scan ( struct ieee80211_device ieee)

Definition at line 694 of file ieee80211_softmac.c.

void ieee80211_rtl_stop_queue ( struct ieee80211_device ieee)

Definition at line 2096 of file ieee80211_softmac.c.

void ieee80211_rtl_wake_queue ( struct ieee80211_device ieee)

Definition at line 2054 of file ieee80211_softmac.c.

void ieee80211_rx_assoc_rq ( struct ieee80211_device ieee,
struct sk_buff skb 
)
inline

Definition at line 1569 of file ieee80211_softmac.c.

void ieee80211_rx_auth_rq ( struct ieee80211_device ieee,
struct sk_buff skb 
)
inline

Definition at line 1553 of file ieee80211_softmac.c.

int ieee80211_rx_frame_softmac ( struct ieee80211_device ieee,
struct sk_buff skb,
struct ieee80211_rx_stats rx_stats,
u16  type,
u16  stype 
)
inline

Definition at line 1772 of file ieee80211_softmac.c.

void ieee80211_send_beacon ( struct ieee80211_device ieee)

Definition at line 382 of file ieee80211_softmac.c.

void ieee80211_send_beacon_cb ( unsigned long  _ieee)

Definition at line 407 of file ieee80211_softmac.c.

void ieee80211_send_probe ( struct ieee80211_device ieee)

Definition at line 418 of file ieee80211_softmac.c.

void ieee80211_send_probe_requests ( struct ieee80211_device ieee)

Definition at line 430 of file ieee80211_softmac.c.

void ieee80211_softmac_check_all_nets ( struct ieee80211_device ieee)

Definition at line 1400 of file ieee80211_softmac.c.

void ieee80211_softmac_free ( struct ieee80211_device ieee)

Definition at line 2588 of file ieee80211_softmac.c.

void ieee80211_softmac_init ( struct ieee80211_device ieee)

Definition at line 2516 of file ieee80211_softmac.c.

void ieee80211_softmac_ips_scan_syncro ( struct ieee80211_device ieee)

Definition at line 504 of file ieee80211_softmac.c.

void ieee80211_softmac_new_net ( struct ieee80211_device ieee,
struct ieee80211_network net 
)
inline

Definition at line 1311 of file ieee80211_softmac.c.

void ieee80211_softmac_scan_syncro ( struct ieee80211_device ieee)

Definition at line 441 of file ieee80211_softmac.c.

void ieee80211_softmac_scan_wq ( struct work_struct work)

Definition at line 579 of file ieee80211_softmac.c.

void ieee80211_softmac_start_protocol ( struct ieee80211_device ieee)

Definition at line 2440 of file ieee80211_softmac.c.

void ieee80211_softmac_stop_protocol ( struct ieee80211_device ieee)

Definition at line 2412 of file ieee80211_softmac.c.

void ieee80211_softmac_stop_scan ( struct ieee80211_device ieee)

Definition at line 666 of file ieee80211_softmac.c.

void ieee80211_softmac_xmit ( struct ieee80211_txb txb,
struct ieee80211_device ieee 
)

Definition at line 1977 of file ieee80211_softmac.c.

void ieee80211_sta_ps ( struct ieee80211_device ieee)
inline

Definition at line 1649 of file ieee80211_softmac.c.

void ieee80211_sta_ps_send_null_frame ( struct ieee80211_device ieee,
short  pwr 
)

Definition at line 1585 of file ieee80211_softmac.c.

short ieee80211_sta_ps_sleep ( struct ieee80211_device ieee,
u32 time_h,
u32 time_l 
)

Definition at line 1596 of file ieee80211_softmac.c.

void ieee80211_sta_wakeup ( struct ieee80211_device ieee,
short  nl 
)

Definition at line 1719 of file ieee80211_softmac.c.

void ieee80211_start_bss ( struct ieee80211_device ieee)

Definition at line 2267 of file ieee80211_softmac.c.

void ieee80211_start_ibss ( struct ieee80211_device ieee)
inline

Definition at line 2261 of file ieee80211_softmac.c.

void ieee80211_start_ibss_wq ( struct work_struct work)

Definition at line 2155 of file ieee80211_softmac.c.

void ieee80211_start_master_bss ( struct ieee80211_device ieee)

Definition at line 2118 of file ieee80211_softmac.c.

void ieee80211_start_monitor_mode ( struct ieee80211_device ieee)

Definition at line 2144 of file ieee80211_softmac.c.

void ieee80211_start_protocol ( struct ieee80211_device ieee)

Definition at line 2448 of file ieee80211_softmac.c.

void ieee80211_start_scan_syncro ( struct ieee80211_device ieee)

Definition at line 720 of file ieee80211_softmac.c.

void ieee80211_start_send_beacons ( struct ieee80211_device ieee)

Definition at line 657 of file ieee80211_softmac.c.

void ieee80211_stop_protocol ( struct ieee80211_device ieee)

Definition at line 2421 of file ieee80211_softmac.c.

void ieee80211_stop_scan ( struct ieee80211_device ieee)

Definition at line 685 of file ieee80211_softmac.c.

void ieee80211_stop_send_beacons ( struct ieee80211_device ieee)

Definition at line 648 of file ieee80211_softmac.c.

void ieee80211_TURBO_Info ( struct ieee80211_device ieee,
u8 **  tag_p 
)

Definition at line 132 of file ieee80211_softmac.c.

void ieee80211_WMM_Info ( struct ieee80211_device ieee,
u8 **  tag_p 
)

Definition at line 109 of file ieee80211_softmac.c.

void ieee80211_wpa_assoc_frame ( struct ieee80211_device ieee,
char wpa_ie,
int  wpa_ie_len 
)

Definition at line 2620 of file ieee80211_softmac.c.

int ieee80211_wpa_supplicant_ioctl ( struct ieee80211_device ieee,
struct iw_point p 
)

Definition at line 2932 of file ieee80211_softmac.c.

void init_mgmt_queue ( struct ieee80211_device ieee)

Definition at line 182 of file ieee80211_softmac.c.

void notify_wx_assoc_event ( struct ieee80211_device ieee)

Definition at line 2992 of file ieee80211_softmac.c.

void SendDisassociation ( struct ieee80211_device ieee,
u8 asSta,
u8  asRsn 
)

Definition at line 303 of file ieee80211_softmac.c.

void softmac_mgmt_xmit ( struct sk_buff skb,
struct ieee80211_device ieee 
)
inline

Definition at line 190 of file ieee80211_softmac.c.

void softmac_ps_mgmt_xmit ( struct sk_buff skb,
struct ieee80211_device ieee 
)
inline

Definition at line 241 of file ieee80211_softmac.c.

Variable Documentation

u8 rsn_authen_cipher_suite[16][4]
Initial value:
= {
{0x00,0x0F,0xAC,0x00},
{0x00,0x0F,0xAC,0x01},
{0x00,0x0F,0xAC,0x02},
{0x00,0x0F,0xAC,0x03},
{0x00,0x0F,0xAC,0x04},
{0x00,0x0F,0xAC,0x05},
}

Definition at line 27 of file ieee80211_softmac.c.