WLAN devices
[Device handling]

WLAN device functions. More...

Data Structures

struct  wpa_driver_ops
struct  prism2_hostapd_param
struct  ieee80211req_key
struct  ipw_param
struct  atmel_param
struct  wpa_key
struct  wpa_driver_wext_data

Defines

#define AUTH_ALG_OPEN_SYSTEM   0x01
#define AUTH_ALG_SHARED_KEY   0x02
#define AUTH_ALG_LEAP   0x04
#define PRISM2_IOCTL_PRISM2_PARAM   (SIOCIWFIRSTPRIV + 0)
#define PRISM2_IOCTL_HOSTAPD   (SIOCDEVPRIVATE + 14)
#define HOSTAP_CRYPT_ALG_NAME_LEN   16
#define HOSTAP_CRYPT_FLAG_SET_TX_KEY   (1 << (0))
#define PRISM2_HOSTAPD_GENERIC_ELEMENT_HDR_LEN   ((int) (&((struct prism2_hostapd_param *) 0)->u.generic_elem.data))
#define IEEE80211_IOCTL_SETPARAM   (SIOCIWFIRSTPRIV+0)
#define IEEE80211_IOCTL_SETKEY   (SIOCIWFIRSTPRIV+2)
#define IEEE80211_CIPHER_WEP   0
#define IEEE80211_CIPHER_TKIP   1
#define IEEE80211_CIPHER_AES_CCM   3
#define IEEE80211_ADDR_LEN   6
#define IEEE80211_KEY_XMIT   0x01
#define IEEE80211_KEY_RECV   0x02
#define IEEE80211_KEYBUF_SIZE   16
#define IEEE80211_MICBUF_SIZE   16
#define IPW_IOCTL_WPA_SUPPLICANT   SIOCIWFIRSTPRIV+30
#define IPW_CMD_SET_WPA_PARAM   1
#define IPW_CMD_SET_ENCRYPTION   3
#define IPW_PARAM_WPA_ENABLED   1
#define IPW_PARAM_AUTH_ALGS   5
#define IPW_CRYPT_ALG_NAME_LEN   16
#define ATMEL_WPA_IOCTL   (SIOCIWFIRSTPRIV + 2)
#define ATMEL_WPA_IOCTL_PARAM   (SIOCIWFIRSTPRIV + 3)
#define ATMEL_WPA_IOCTL_GET_PARAM   (SIOCIWFIRSTPRIV + 4)
#define MAX_KEY_LENGTH   40
#define WPA_SET_WPA   SIOCIWFIRSTPRIV+1
#define WPA_SET_KEY   SIOCIWFIRSTPRIV+2
#define WPA_SET_AUTH_ALG   SIOCIWFIRSTPRIV+8
#define IW_AUTH_WPA_ENABLED   7
#define IW_AUTH_INDEX   0x0FFF

Typedefs

typedef uint8_t u8
typedef uint16_t u16
typedef uint32_t u32

Enumerations

enum  wpa_alg { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP }
enum  {
  PRISM2_SET_ENCRYPTION = 6, PRISM2_HOSTAPD_SET_GENERIC_ELEMENT = 12, PRISM2_PARAM_AP_AUTH_ALGS = 15, PRISM2_PARAM_HOST_ROAMING = 21,
  PRISM2_PARAM_WPA = 36, PRISM2_PARAM_PRIVACY_INVOKED = 37
}
enum  { IEEE80211_PARAM_WPA = 10, IEEE80211_PARAM_ROAMING = 12, IEEE80211_PARAM_PRIVACY = 13 }
enum  { SET_WPA_ENCRYPTION = 1, SET_CIPHER_SUITES = 2 }
enum  { ATMEL_PARAM_WPA = 1, ATMEL_PARAM_PRIVACY_INVOKED = 2, ATMEL_PARAM_WPA_TYPE = 3 }

Functions

int iw_sockets_open (void)
static int iw_get_ext (int skfd, const char *ifname, int request, struct iwreq *pwrq)
int iw_get_range_info (int skfd, const char *ifname, struct iw_range *range)
double iw_freq2float (const struct iw_freq *in)
void hd_scan_wlan (hd_data_t *hd_data)
int hostapd_ioctl (const char *dev, struct prism2_hostapd_param *param, int len, int show_err)
int prism2param (const char *ifname, int param, int value)
int wpa_driver_hostap_set_auth_alg (const char *ifname, int auth_alg)
int wpa_driver_hostap_set_wpa (const char *ifname, int enabled)
int wpa_driver_hostap_set_key (const char *ifname, wpa_alg alg, unsigned char *addr, int key_idx, int set_tx, u8 *seq, size_t seq_len, u8 *key, size_t key_len)
int set80211param (const char *dev, int op, int arg)
static int wpa_driver_madwifi_set_wpa (const char *ifname, int enabled)
static int set80211priv (const char *dev, int op, void *data, int len)
static int wpa_driver_madwifi_set_key (const char *ifname, wpa_alg alg, unsigned char *addr, int key_idx, int set_tx, u8 *seq, size_t seq_len, u8 *key, size_t key_len)
int ipw_ioctl (const char *dev, struct ipw_param *param, int len)
int wpa_driver_ipw_set_wpa (const char *ifname, int enabled)
int wpa_driver_ipw_set_key (const char *ifname, wpa_alg alg, unsigned char *addr, int key_idx, int set_tx, u8 *seq, size_t seq_len, u8 *key, size_t key_len)
int wpa_driver_ipw_set_auth_alg (const char *ifname, int auth_alg)
int atmel_ioctl (const char *dev, struct atmel_param *param, int len)
int atmel2param (const char *ifname, int param, int value)
int wpa_driver_atmel_set_wpa (const char *ifname, int enabled)
int wpa_driver_atmel_set_key (const char *ifname, wpa_alg alg, unsigned char *addr, int key_idx, int set_tx, u8 *seq, size_t seq_len, u8 *key, size_t key_len)
int wpa_ndiswrapper_set_ext (const char *ifname, int request, struct iwreq *pwrq)
int wpa_ndiswrapper_set_wpa (const char *ifname, int enabled)
int wpa_ndiswrapper_set_key (const char *ifname, wpa_alg alg, u8 *addr, int key_idx, int set_tx, u8 *seq, size_t seq_len, u8 *key, size_t key_len)
static int wpa_ndiswrapper_set_auth_alg (const char *ifname, int auth_alg)
static int wpa_driver_wext_set_wpa (const char *ifname, int enabled)
static int wpa_driver_wext_set_auth_alg (const char *ifname, int auth_alg)
static int wpa_driver_wext_set_key (const char *ifname, wpa_alg alg, u8 *addr, int key_idx, int set_tx, u8 *seq, size_t seq_len, u8 *key, size_t key_len)

Variables

wpa_driver_ops wpa_driver_hostap_ops
wpa_driver_ops wpa_driver_prism54_ops
wpa_driver_ops wpa_driver_hermes_ops
wpa_driver_ops wpa_driver_madwifi_ops
wpa_driver_ops wpa_driver_atmel_ops
wpa_driver_ops wpa_driver_wext_ops
wpa_driver_ops wpa_driver_ndiswrapper_ops
wpa_driver_ops wpa_driver_ipw_ops
wpa_driver_ops wpa_driver_hostap_ops
wpa_driver_ops wpa_driver_madwifi_ops
wpa_driver_ops wpa_driver_ipw_ops
wpa_driver_ops wpa_driver_atmel_ops
wpa_driver_ops wpa_driver_ndiswrapper_ops
wpa_driver_ops wpa_driver_wext_ops

Detailed Description

WLAN device functions.


Define Documentation

#define ATMEL_WPA_IOCTL   (SIOCIWFIRSTPRIV + 2)

#define ATMEL_WPA_IOCTL_GET_PARAM   (SIOCIWFIRSTPRIV + 4)

#define ATMEL_WPA_IOCTL_PARAM   (SIOCIWFIRSTPRIV + 3)

#define AUTH_ALG_LEAP   0x04

#define AUTH_ALG_OPEN_SYSTEM   0x01

#define AUTH_ALG_SHARED_KEY   0x02

#define HOSTAP_CRYPT_ALG_NAME_LEN   16

#define HOSTAP_CRYPT_FLAG_SET_TX_KEY   (1 << (0))

#define IEEE80211_ADDR_LEN   6

#define IEEE80211_CIPHER_AES_CCM   3

#define IEEE80211_CIPHER_TKIP   1

#define IEEE80211_CIPHER_WEP   0

#define IEEE80211_IOCTL_SETKEY   (SIOCIWFIRSTPRIV+2)

#define IEEE80211_IOCTL_SETPARAM   (SIOCIWFIRSTPRIV+0)

#define IEEE80211_KEY_RECV   0x02

#define IEEE80211_KEY_XMIT   0x01

#define IEEE80211_KEYBUF_SIZE   16

#define IEEE80211_MICBUF_SIZE   16

#define IPW_CMD_SET_ENCRYPTION   3

#define IPW_CMD_SET_WPA_PARAM   1

#define IPW_CRYPT_ALG_NAME_LEN   16

#define IPW_IOCTL_WPA_SUPPLICANT   SIOCIWFIRSTPRIV+30

#define IPW_PARAM_AUTH_ALGS   5

#define IPW_PARAM_WPA_ENABLED   1

#define IW_AUTH_INDEX   0x0FFF

#define IW_AUTH_WPA_ENABLED   7

#define MAX_KEY_LENGTH   40

#define PRISM2_HOSTAPD_GENERIC_ELEMENT_HDR_LEN   ((int) (&((struct prism2_hostapd_param *) 0)->u.generic_elem.data))

#define PRISM2_IOCTL_HOSTAPD   (SIOCDEVPRIVATE + 14)

#define PRISM2_IOCTL_PRISM2_PARAM   (SIOCIWFIRSTPRIV + 0)

#define WPA_SET_AUTH_ALG   SIOCIWFIRSTPRIV+8

#define WPA_SET_KEY   SIOCIWFIRSTPRIV+2

#define WPA_SET_WPA   SIOCIWFIRSTPRIV+1


Typedef Documentation

u16

u32

u8


Enumeration Type Documentation

anonymous enum

Enumerator:
PRISM2_SET_ENCRYPTION 
PRISM2_HOSTAPD_SET_GENERIC_ELEMENT 
PRISM2_PARAM_AP_AUTH_ALGS 
PRISM2_PARAM_HOST_ROAMING 
PRISM2_PARAM_WPA 
PRISM2_PARAM_PRIVACY_INVOKED 

anonymous enum

Enumerator:
IEEE80211_PARAM_WPA 
IEEE80211_PARAM_ROAMING 
IEEE80211_PARAM_PRIVACY 

anonymous enum

Enumerator:
SET_WPA_ENCRYPTION 
SET_CIPHER_SUITES 

anonymous enum

Enumerator:
ATMEL_PARAM_WPA 
ATMEL_PARAM_PRIVACY_INVOKED 
ATMEL_PARAM_WPA_TYPE 

enum wpa_alg

Enumerator:
WPA_ALG_NONE 
WPA_ALG_WEP 
WPA_ALG_TKIP 
WPA_ALG_CCMP 


Function Documentation

int atmel2param ( const char *  ifname,
int  param,
int  value 
)

int atmel_ioctl ( const char *  dev,
struct atmel_param param,
int  len 
)

void hd_scan_wlan ( hd_data_t hd_data  ) 

int hostapd_ioctl ( const char *  dev,
struct prism2_hostapd_param param,
int  len,
int  show_err 
)

int ipw_ioctl ( const char *  dev,
struct ipw_param param,
int  len 
)

double iw_freq2float ( const struct iw_freq *  in  ) 

static int iw_get_ext ( int  skfd,
const char *  ifname,
int  request,
struct iwreq *  pwrq 
) [inline, static]

int iw_get_range_info ( int  skfd,
const char *  ifname,
struct iw_range *  range 
)

int iw_sockets_open ( void   ) 

int prism2param ( const char *  ifname,
int  param,
int  value 
)

int set80211param ( const char *  dev,
int  op,
int  arg 
)

static int set80211priv ( const char *  dev,
int  op,
void *  data,
int  len 
) [static]

int wpa_driver_atmel_set_key ( const char *  ifname,
wpa_alg  alg,
unsigned char *  addr,
int  key_idx,
int  set_tx,
u8 *  seq,
size_t  seq_len,
u8 *  key,
size_t  key_len 
)

int wpa_driver_atmel_set_wpa ( const char *  ifname,
int  enabled 
)

int wpa_driver_hostap_set_auth_alg ( const char *  ifname,
int  auth_alg 
)

int wpa_driver_hostap_set_key ( const char *  ifname,
wpa_alg  alg,
unsigned char *  addr,
int  key_idx,
int  set_tx,
u8 *  seq,
size_t  seq_len,
u8 *  key,
size_t  key_len 
)

int wpa_driver_hostap_set_wpa ( const char *  ifname,
int  enabled 
)

int wpa_driver_ipw_set_auth_alg ( const char *  ifname,
int  auth_alg 
)

int wpa_driver_ipw_set_key ( const char *  ifname,
wpa_alg  alg,
unsigned char *  addr,
int  key_idx,
int  set_tx,
u8 *  seq,
size_t  seq_len,
u8 *  key,
size_t  key_len 
)

int wpa_driver_ipw_set_wpa ( const char *  ifname,
int  enabled 
)

static int wpa_driver_madwifi_set_key ( const char *  ifname,
wpa_alg  alg,
unsigned char *  addr,
int  key_idx,
int  set_tx,
u8 *  seq,
size_t  seq_len,
u8 *  key,
size_t  key_len 
) [static]

static int wpa_driver_madwifi_set_wpa ( const char *  ifname,
int  enabled 
) [static]

static int wpa_driver_wext_set_auth_alg ( const char *  ifname,
int  auth_alg 
) [static]

static int wpa_driver_wext_set_key ( const char *  ifname,
wpa_alg  alg,
u8 *  addr,
int  key_idx,
int  set_tx,
u8 *  seq,
size_t  seq_len,
u8 *  key,
size_t  key_len 
) [static]

static int wpa_driver_wext_set_wpa ( const char *  ifname,
int  enabled 
) [static]

static int wpa_ndiswrapper_set_auth_alg ( const char *  ifname,
int  auth_alg 
) [static]

int wpa_ndiswrapper_set_ext ( const char *  ifname,
int  request,
struct iwreq *  pwrq 
)

int wpa_ndiswrapper_set_key ( const char *  ifname,
wpa_alg  alg,
u8 *  addr,
int  key_idx,
int  set_tx,
u8 *  seq,
size_t  seq_len,
u8 *  key,
size_t  key_len 
)

int wpa_ndiswrapper_set_wpa ( const char *  ifname,
int  enabled 
)


Variable Documentation

struct wpa_driver_ops wpa_driver_atmel_ops

Initial value:

struct wpa_driver_ops wpa_driver_atmel_ops

struct wpa_driver_ops wpa_driver_hermes_ops

struct wpa_driver_ops wpa_driver_hostap_ops

Initial value:

struct wpa_driver_ops wpa_driver_hostap_ops

struct wpa_driver_ops wpa_driver_ipw_ops

Initial value:

 {
  .set_wpa = wpa_driver_ipw_set_wpa,
  .set_key = wpa_driver_ipw_set_key,
  .set_auth_alg = wpa_driver_ipw_set_auth_alg
}

struct wpa_driver_ops wpa_driver_ipw_ops

struct wpa_driver_ops wpa_driver_madwifi_ops

Initial value:

struct wpa_driver_ops wpa_driver_madwifi_ops

struct wpa_driver_ops wpa_driver_ndiswrapper_ops

Initial value:

struct wpa_driver_ops wpa_driver_ndiswrapper_ops

struct wpa_driver_ops wpa_driver_prism54_ops

struct wpa_driver_ops wpa_driver_wext_ops

Initial value:

struct wpa_driver_ops wpa_driver_wext_ops