iPXE
|
Functions | |
struct net80211_device * | net80211_get (struct net_device *netdev) |
Get 802.11 device from wrapping network device. More... | |
void | net80211_autoassociate (struct net80211_device *dev) |
Start 802.11 association process. More... | |
int | net80211_change_channel (struct net80211_device *dev, int channel) |
Configure 802.11 device to transmit on a certain channel. More... | |
void | net80211_set_rate_idx (struct net80211_device *dev, int rate) |
Set data transmission rate for 802.11 device. More... | |
int | net80211_keep_mgmt (struct net80211_device *dev, int enable) |
Set state of 802.11 device keeping management frames. More... | |
struct io_buffer * | net80211_mgmt_dequeue (struct net80211_device *dev, int *signal) |
Get 802.11 management frame. More... | |
int | net80211_tx_mgmt (struct net80211_device *dev, u16 fc, u8 bssid[ETH_ALEN], struct io_buffer *iob) |
struct net80211_device* net80211_get | ( | struct net_device * | netdev | ) |
Get 802.11 device from wrapping network device.
netdev | Wrapping network device |
dev | 802.11 device wrapped by network device, or NULL |
Returns NULL if the network device does not wrap an 802.11 device.
Definition at line 624 of file net80211.c.
References net80211_device::list, list_for_each_entry, net80211_devices, netdev, NULL, and net_device::priv.
Referenced by eapol_key_rx(), iwlist_payload(), and iwstat_payload().
void net80211_autoassociate | ( | struct net80211_device * | dev | ) |
Start 802.11 association process.
dev | 802.11 device |
If the association process is running, it will be restarted.
Definition at line 1929 of file net80211.c.
References net80211_device::assoc, net80211_device::assoc_rc, net80211_device::associating, net80211_device::ctx, DBGC2, net80211_device::essid, fetch_string_setting(), free, IEEE80211_MAX_SSID_LEN, net80211_free_wlan(), net80211_probe_finish_best(), NET80211_PROBED, net80211_set_state(), NET80211_WORKING, net80211_device::netdev, netdev_settings(), NULL, net80211_device::probe, net80211_device::proc_assoc, process_add(), and net80211_device::state.
Referenced by net80211_check_settings_update(), net80211_deauthenticate(), net80211_handle_mgmt(), net80211_netdev_open(), and net80211_step_associate().
int net80211_change_channel | ( | struct net80211_device * | dev, |
int | channel | ||
) |
Configure 802.11 device to transmit on a certain channel.
dev | 802.11 device |
channel | Channel number (1-11 for 2.4GHz) to transmit on |
Definition at line 2021 of file net80211.c.
References assert(), channel, net80211_device::channel, net80211_channel::channel_nr, net80211_device::channels, net80211_device_operations::config, ENOENT, NET80211_CFG_CHANNEL, net80211_device::netdev, netdev_is_open(), net80211_device::nr_channels, and net80211_device::op.
Referenced by iwlist(), net80211_prepare_assoc(), and net80211_process_ie().
void net80211_set_rate_idx | ( | struct net80211_device * | dev, |
int | rate | ||
) |
Set data transmission rate for 802.11 device.
dev | 802.11 device |
rate | Rate to set, as index into dev->rates array |
Definition at line 2000 of file net80211.c.
References assert(), net80211_device_operations::config, DBGC2, NET80211_CFG_RATE, net80211_set_rtscts_rate(), net80211_device::netdev, netdev_is_open(), net80211_device::nr_rates, net80211_device::op, net80211_device::rate, and net80211_device::rates.
Referenced by rc80211_set_rate().
int net80211_keep_mgmt | ( | struct net80211_device * | dev, |
int | enable | ||
) |
Set state of 802.11 device keeping management frames.
dev | 802.11 device |
enable | Whether to keep management frames |
oldenab | Whether management frames were enabled before this call |
If enable is TRUE, beacon, probe, and action frames will be kept and may be retrieved by calling net80211_mgmt_dequeue().
Definition at line 646 of file net80211.c.
References net80211_device::keep_mgmt.
Referenced by net80211_probe_finish_all(), net80211_probe_finish_best(), and net80211_probe_start().
struct io_buffer* net80211_mgmt_dequeue | ( | struct net80211_device * | dev, |
int * | signal | ||
) |
Get 802.11 management frame.
dev | 802.11 device |
signal | Signal strength of returned management frame |
iob | I/O buffer, or NULL if no management frame is queued |
Frames will only be returned by this function if net80211_keep_mgmt() has been previously called with enable set to TRUE.
The calling function takes ownership of the returned I/O buffer.
Definition at line 667 of file net80211.c.
References assert(), free, net80211_rx_info::list, io_buffer::list, list_del, list_empty, list_first_entry, list_for_each_entry, net80211_device::mgmt_info_queue, net80211_device::mgmt_queue, NULL, and net80211_rx_info::signal.
Referenced by net80211_probe_step().
int net80211_tx_mgmt | ( | struct net80211_device * | dev, |
u16 | fc, | ||
u8 | bssid[ETH_ALEN], | ||
struct io_buffer * | iob | ||
) |