49 printf (
"not associated, " );
55 case NET80211_SIGNAL_NONE:
58 case NET80211_SIGNAL_ARBITRARY:
61 case NET80211_SIGNAL_DB:
64 case NET80211_SIGNAL_DBM:
68 printf (
", Qual:%d%% Rate:%d Mbps]\n",
74 printf (
"antenna off]\n" );
78 printf (
" [associating" );
95 #define NR_CRYPTO_TYPES ( sizeof ( crypto_types ) / sizeof ( crypto_types[0] ) ) 106 #define NR_AUTH_TYPES ( sizeof ( auth_types ) / sizeof ( auth_types[0] ) ) 130 if ( ! was_opened ) {
139 goto err_close_netdev;
142 if ( ! was_opened ) {
145 goto err_close_netdev;
151 goto err_close_netdev;
161 goto err_free_networks;
179 printf (
"[Sig] SSID BSSID Ch Crypt/Auth\n" 180 "-------------------------------------------------------------\n" );
187 snprintf ( ssid_buf,
sizeof ( ssid_buf ),
"%s", wlan->
essid );
188 for ( i =
strlen ( ssid_buf ); i <
sizeof ( ssid_buf ) - 1;
191 if ( ssid_buf[
sizeof ( ssid_buf ) - 2] !=
' ' )
192 ssid_buf[
sizeof ( ssid_buf ) - 2] =
'>';
193 ssid_buf[
sizeof ( ssid_buf ) - 1] = 0;
200 printf (
"[%3d] %s %s %2d %s %s\n",
212 if ( ! was_opened ) {
223 printf (
"Scanning for networks on %s: %s\n",
#define EINVAL
Invalid argument.
struct arbelprm_rc_send_wqe rc
Network protected with CCMP (AES-based system)
Structure representing a probed network.
enum net80211_crypto_alg crypto
Cryptographic algorithm used on the network.
int printf(const char *fmt,...)
Write a formatted string to the console.
struct net80211_probe_ctx * net80211_probe_start(struct net80211_device *dev, const char *essid, int active)
Begin probe of 802.11 networks.
u8 channel
The channel currently in use, as an index into the channels array.
Dummy value used when the cryptosystem can't be detected.
int iwlist(struct net80211_device *dev)
Scan for wireless networks using 802.11 device.
char essid[IEEE80211_MAX_SSID_LEN+1]
The human-readable ESSID (network name)
enum net80211_security_proto handshaking
Security handshaking method used on the network.
Full EAP 802.1X handshaking.
unsigned signal_max
Maximum signal in arbitrary cases.
struct golan_eq_context ctx
Network protected with WEP (awful RC4-based system)
enum net80211_hw_info::@630 signal_type
Signal strength information that can be provided by the device.
Dummy value used when the handshaking type can't be detected.
Context for a probe operation.
char essid[IEEE80211_MAX_SSID_LEN+1]
SSID of the access point we are or will be associated with.
#define NET80211_WORKING
Whether the auto-association task is running.
A doubly-linked list entry (or list head)
static const char * auth_types[]
Identifiers for 802.11 authentication types, indexed by type number.
u32 tx_beacon_interval
Time between AP sending beacons, microseconds.
#define list_empty(list)
Test whether a list is empty.
#define ENOMEM
Not enough space.
static int netdev_is_open(struct net_device *netdev)
Check whether or not network device is open.
Pre-shared key handshaking.
u8 nr_channels
The number of channels in the channels array.
#define list_for_each_entry(pos, head, member)
Iterate over entries in a list.
int last_signal
Signal strength of last received packet.
Wireless network interface management.
struct list_head * net80211_probe_finish_all(struct net80211_probe_ctx *ctx)
Finish probe of 802.11 networks, returning all networks found.
u8 nr_rates
The number of transmission rates in the rates array.
char * strerror(int errno)
Retrieve string representation of error number.
The iPXE 802.11 MAC layer.
const char * eth_ntoa(const void *ll_addr)
Transcribe Ethernet address.
#define NET80211_ASSOCIATED
Whether we have successfully associated with the network.
Structure encapsulating the complete state of an 802.11 device.
static const char * crypto_types[]
Identifiers for 802.11 cryptography types, indexed by type number.
No security, an "Open" network.
int net80211_probe_step(struct net80211_probe_ctx *ctx)
Continue probe of 802.11 networks.
void net80211_free_wlanlist(struct list_head *list)
Free list of WLAN structures.
size_t strlen(const char *src)
Get length of string.
#define NET80211_NO_ASSOC
Whether the auto-association task should be suppressed.
struct net80211_hw_info * hw
Information about the hardware, provided to net80211_register()
#define NR_CRYPTO_TYPES
Number of 802.11 cryptography types defined.
u16 rates[NET80211_MAX_RATES]
A list of all possible TX rates we might use.
struct net80211_wlan * associating
Network with which we are associating.
struct list_head list
Link to allow chaining multiple structures into a list to be returned from net80211_probe_finish_all(...
void netdev_close(struct net_device *netdev)
Close network device.
struct net_device * netdev
The net_device that wraps us.
FILE_LICENCE(GPL2_OR_LATER)
int channel
The channel on which that access point communicates.
void iwstat(struct net80211_device *dev)
Print status of 802.11 device.
#define NR_AUTH_TYPES
Number of 802.11 authentication types defined.
char name[NETDEV_NAME_LEN]
Name of this network device.
int signal
Signal strength of beacon frame from that access point.
void step(void)
Single-step a single process.
struct net80211_channel channels[NET80211_MAX_CHANNELS]
A list of all possible channels we might use.
u8 bssid[ETH_ALEN]
MAC address of the strongest-signal access point for this ESSID.
int snprintf(char *buf, size_t size, const char *fmt,...)
Write a formatted string to a buffer.
Network interface management.
int bands
A bitwise OR of the bands on which this device can communicate.
void ifstat(struct net_device *netdev)
Print status of network device.
Network protected with TKIP (better RC4-based system)
u16 state
State of our association to the network.
u8 channel_nr
A channel number interpreted according to the band.
u32 rx_beacon_interval
Smoothed average time between beacons, microseconds.
int net80211_change_channel(struct net80211_device *dev, int channel)
Configure 802.11 device to transmit on a certain channel.
int net80211_prepare_probe(struct net80211_device *dev, int band, int active)
Prepare 802.11 device channel and rate set for scanning.
int netdev_open(struct net_device *netdev)
Open network device.
u8 rate
The rate currently in use, as an index into the rates array.