iPXE
Defines
802.11 Frame Control field bits

Defines

#define IEEE80211_FC_VERSION   0x0003
 802.11 Frame Control field, Version bitmask
#define IEEE80211_THIS_VERSION   0x0000
 Expected value of Version bits in Frame Control.
#define IEEE80211_FC_TYPE   0x000C
 802.11 Frame Control field, Frame Type bitmask
#define IEEE80211_TYPE_MGMT   0x0000
 Type value for management (layer-2) frames.
#define IEEE80211_TYPE_CTRL   0x0004
 Type value for control (layer-1, hardware-managed) frames.
#define IEEE80211_TYPE_DATA   0x0008
 Type value for data frames.
#define IEEE80211_FC_SUBTYPE   0x00F0
 802.11 Frame Control field, Frame Subtype bitmask
#define IEEE80211_STYPE_ASSOC_REQ   0x0000
 Subtype value for association-request management frames.
#define IEEE80211_STYPE_ASSOC_RESP   0x0010
 Subtype value for association-response management frames.
#define IEEE80211_STYPE_REASSOC_REQ   0x0020
 Subtype value for reassociation-request management frames.
#define IEEE80211_STYPE_REASSOC_RESP   0x0030
 Subtype value for reassociation-response management frames.
#define IEEE80211_STYPE_PROBE_REQ   0x0040
 Subtype value for probe-request management frames.
#define IEEE80211_STYPE_PROBE_RESP   0x0050
 Subtype value for probe-response management frames.
#define IEEE80211_STYPE_BEACON   0x0080
 Subtype value for beacon management frames.
#define IEEE80211_STYPE_DISASSOC   0x00A0
 Subtype value for disassociation management frames.
#define IEEE80211_STYPE_AUTH   0x00B0
 Subtype value for authentication management frames.
#define IEEE80211_STYPE_DEAUTH   0x00C0
 Subtype value for deauthentication management frames.
#define IEEE80211_STYPE_ACTION   0x00D0
 Subtype value for action management frames.
#define IEEE80211_STYPE_RTS   0x00B0
 Subtype value for RTS (request to send) control frames.
#define IEEE80211_STYPE_CTS   0x00C0
 Subtype value for CTS (clear to send) control frames.
#define IEEE80211_STYPE_ACK   0x00D0
 Subtype value for ACK (acknowledgement) control frames.
#define IEEE80211_STYPE_DATA   0x0000
 Subtype value for ordinary data frames, with no QoS or CF add-ons.
#define IEEE80211_STYPE_NODATA   0x0040
 Subtype value for data frames containing no data.
#define IEEE80211_FC_TODS   0x0100
 802.11 Frame Control field: To Data System flag
#define IEEE80211_FC_FROMDS   0x0200
 802.11 Frame Control field: From Data System flag
#define IEEE80211_FC_MORE_FRAG   0x0400
 802.11 Frame Control field: More Fragments flag
#define IEEE80211_FC_RETRY   0x0800
 802.11 Frame Control field: Retransmission flag
#define IEEE80211_FC_PWR_MGMT   0x1000
 802.11 Frame Control field: Power Managed flag
#define IEEE80211_FC_MORE_DATA   0x2000
 802.11 Frame Control field: More Data flag
#define IEEE80211_FC_PROTECTED   0x4000
 802.11 Frame Control field: Protected flag
#define IEEE80211_FC_ORDER   0x8000
 802.11 Frame Control field: Ordered flag [?]

Define Documentation

#define IEEE80211_FC_VERSION   0x0003

802.11 Frame Control field, Version bitmask

Definition at line 90 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_rx().

#define IEEE80211_THIS_VERSION   0x0000

Expected value of Version bits in Frame Control.

Definition at line 93 of file ieee80211.h.

Referenced by net80211_ll_pull(), net80211_ll_push(), net80211_rx(), and net80211_tx_mgmt().

#define IEEE80211_FC_TYPE   0x000C

802.11 Frame Control field, Frame Type bitmask

Definition at line 97 of file ieee80211.h.

Referenced by get_hw_packet_type(), net80211_handle_mgmt(), net80211_ll_pull(), net80211_netdev_transmit(), and net80211_rx().

#define IEEE80211_TYPE_MGMT   0x0000

Type value for management (layer-2) frames.

Definition at line 100 of file ieee80211.h.

Referenced by get_hw_packet_type(), net80211_handle_mgmt(), net80211_rx(), and net80211_tx_mgmt().

#define IEEE80211_TYPE_CTRL   0x0004

Type value for control (layer-1, hardware-managed) frames.

Definition at line 103 of file ieee80211.h.

Referenced by net80211_rx().

#define IEEE80211_TYPE_DATA   0x0008

Type value for data frames.

Definition at line 106 of file ieee80211.h.

Referenced by net80211_ll_pull(), net80211_ll_push(), and net80211_netdev_transmit().

#define IEEE80211_FC_SUBTYPE   0x00F0

802.11 Frame Control field, Frame Subtype bitmask

Definition at line 110 of file ieee80211.h.

Referenced by get_hw_packet_type(), net80211_handle_mgmt(), net80211_ll_pull(), net80211_probe_step(), and net80211_rx().

#define IEEE80211_STYPE_ASSOC_REQ   0x0000

Subtype value for association-request management frames.

Association request frames are sent after authentication from the client to the Access Point to establish the client as part of the Access Point's network.

Definition at line 118 of file ieee80211.h.

Referenced by net80211_handle_mgmt(), and net80211_send_assoc().

#define IEEE80211_STYPE_ASSOC_RESP   0x0010

Subtype value for association-response management frames.

Association response frames are sent by the Access Point to confirm or deny the association requested in an association request frame.

Definition at line 125 of file ieee80211.h.

Referenced by net80211_handle_mgmt().

#define IEEE80211_STYPE_REASSOC_REQ   0x0020

Subtype value for reassociation-request management frames.

Reassociation request frames are sent by clients wishing to change from one Access Point to another while roaming within the same extended network (same ESSID).

Definition at line 133 of file ieee80211.h.

Referenced by net80211_handle_mgmt().

#define IEEE80211_STYPE_REASSOC_RESP   0x0030

Subtype value for reassociation-response management frames.

Reassociation response frames are sent by the Access Point to confirm or deny the swap requested in a reassociation request frame.

Definition at line 141 of file ieee80211.h.

Referenced by net80211_handle_mgmt().

#define IEEE80211_STYPE_PROBE_REQ   0x0040

Subtype value for probe-request management frames.

Probe request frames are sent by clients to request that all Access Points on the sending channel, or all belonging to a particular ESSID, identify themselves by BSSID, supported transfer rates, RF configuration, and other capabilities.

Definition at line 150 of file ieee80211.h.

Referenced by net80211_handle_mgmt(), and net80211_probe_step().

#define IEEE80211_STYPE_PROBE_RESP   0x0050

Subtype value for probe-response management frames.

Probe response frames are sent by Access Points in response to probe request frames, providing the requested information.

Definition at line 157 of file ieee80211.h.

Referenced by get_hw_packet_type(), net80211_handle_mgmt(), and net80211_probe_step().

#define IEEE80211_STYPE_BEACON   0x0080

Subtype value for beacon management frames.

Beacon frames are sent by Access Points at regular intervals, usually ten per second, on the channel on which they communicate. They can be used to probe passively for access points on a channel where local regulatory restrictions prohibit active scanning, or due to their regularity as a mechanism to determine the fraction of packets that are being dropped.

Definition at line 168 of file ieee80211.h.

Referenced by get_hw_packet_type(), net80211_handle_mgmt(), and net80211_probe_step().

#define IEEE80211_STYPE_DISASSOC   0x00A0

Subtype value for disassociation management frames.

Disassociation frames are sent by either a client or an Access Point to unequivocally terminate the association between the two. They may be sent by clients upon leaving the network, or by an Access Point upon reconfiguration, among other reasons; they are usually more "polite" than deauthentication frames.

Definition at line 178 of file ieee80211.h.

Referenced by net80211_handle_mgmt(), and net80211_send_disassoc().

#define IEEE80211_STYPE_AUTH   0x00B0

Subtype value for authentication management frames.

Authentication frames are exchanged between a client and an Access Point before association may be performed. Confusingly, in the most common authentication method (Open System) no security tokens are exchanged at all. Modern 802.11 security handshaking takes place after association.

Definition at line 188 of file ieee80211.h.

Referenced by net80211_handle_mgmt(), and net80211_send_auth().

#define IEEE80211_STYPE_DEAUTH   0x00C0

Subtype value for deauthentication management frames.

Deauthentication frames are sent by either a client or an Access Point to terminate the authentication (and therefore also the association) between the two. They are generally more forceful than disassociation frames, sent for such reasons as a failure to set up security properly after associating.

Definition at line 198 of file ieee80211.h.

Referenced by net80211_handle_mgmt(), and net80211_send_disassoc().

#define IEEE80211_STYPE_ACTION   0x00D0

Subtype value for action management frames.

Action frames are used to implement spectrum management and QoS features that iPXE currently does not support.

Definition at line 205 of file ieee80211.h.

Referenced by net80211_handle_mgmt().

#define IEEE80211_STYPE_RTS   0x00B0

Subtype value for RTS (request to send) control frames.

Definition at line 209 of file ieee80211.h.

#define IEEE80211_STYPE_CTS   0x00C0

Subtype value for CTS (clear to send) control frames.

Definition at line 212 of file ieee80211.h.

#define IEEE80211_STYPE_ACK   0x00D0

Subtype value for ACK (acknowledgement) control frames.

Definition at line 215 of file ieee80211.h.

#define IEEE80211_STYPE_DATA   0x0000

Subtype value for ordinary data frames, with no QoS or CF add-ons.

Definition at line 219 of file ieee80211.h.

Referenced by net80211_ll_pull(), net80211_ll_push(), and net80211_rx().

#define IEEE80211_STYPE_NODATA   0x0040

Subtype value for data frames containing no data.

Definition at line 222 of file ieee80211.h.

#define IEEE80211_FC_TODS   0x0100

802.11 Frame Control field: To Data System flag

This is set on data frames sent to an Access Point.

Definition at line 229 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_FC_FROMDS   0x0200

802.11 Frame Control field: From Data System flag

This is set on data frames sent from an Access Point. If both TODS and FROMDS are set, the frame header is a 4-address format used for inter-Access Point communication.

Definition at line 237 of file ieee80211.h.

Referenced by net80211_ll_pull().

#define IEEE80211_FC_MORE_FRAG   0x0400

802.11 Frame Control field: More Fragments flag

Definition at line 240 of file ieee80211.h.

Referenced by net80211_accum_frags(), net80211_rx(), and net80211_rx_frag().

#define IEEE80211_FC_RETRY   0x0800

802.11 Frame Control field: Retransmission flag

Definition at line 243 of file ieee80211.h.

Referenced by net80211_rx().

#define IEEE80211_FC_PWR_MGMT   0x1000

802.11 Frame Control field: Power Managed flag

This is set on any frame sent by a low-power station that will go into a power-saving mode immediately after this frame. Access Points are not allowed to act as low-power stations.

Definition at line 251 of file ieee80211.h.

#define IEEE80211_FC_MORE_DATA   0x2000

802.11 Frame Control field: More Data flag

This is set on any frame sent by a station that has more data queued to be sent than is in the frame.

Definition at line 258 of file ieee80211.h.

#define IEEE80211_FC_PROTECTED   0x4000

802.11 Frame Control field: Protected flag

This is set on frames in which data is encrypted (by any method).

Definition at line 264 of file ieee80211.h.

Referenced by ccmp_decrypt(), ccmp_encrypt(), net80211_netdev_transmit(), net80211_rx(), net80211_tx_mgmt(), tkip_decrypt(), tkip_encrypt(), wep_decrypt(), and wep_encrypt().

#define IEEE80211_FC_ORDER   0x8000

802.11 Frame Control field: Ordered flag [?]

Definition at line 267 of file ieee80211.h.