iPXE
Data Structures | Defines | Functions | Variables
802.11 frame header formats

Data Structures

struct  ieee80211_frame
 An 802.11 data or management frame without QoS or WDS header fields. More...
struct  ieee80211_llc_snap_header
 The 802.2 LLC/SNAP header sent before actual data in a data frame. More...
struct  ieee80211_rts
 16-byte RTS frame format, with abbreviated header More...
struct  ieee80211_cts_or_ack
 10-byte CTS or ACK frame format, with abbreviated header More...

Defines

#define IEEE80211_LLC_DSAP   0xAA
 Value for DSAP field in 802.2 LLC header for 802.11 frames: SNAP.
#define IEEE80211_LLC_SSAP   0xAA
 Value for SSAP field in 802.2 LLC header for 802.11 frames: SNAP.
#define IEEE80211_LLC_CTRL   0x03
 Value for control field in 802.2 LLC header for 802.11 frames.
#define IEEE80211_RTS_LEN   16
 Length of 802.11 RTS control frame.
#define ieee80211_cts   ieee80211_cts_or_ack
#define ieee80211_ack   ieee80211_cts_or_ack
#define IEEE80211_CTS_LEN   10
 Length of 802.11 CTS control frame.
#define IEEE80211_ACK_LEN   10
 Length of 802.11 ACK control frame.

Functions

struct ieee80211_frame __attribute__ ((packed))

Variables

typedef __attribute__
 Initialise mailbox.

Define Documentation

#define IEEE80211_LLC_DSAP   0xAA

Value for DSAP field in 802.2 LLC header for 802.11 frames: SNAP.

Definition at line 337 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_LLC_SSAP   0xAA

Value for SSAP field in 802.2 LLC header for 802.11 frames: SNAP.

Definition at line 340 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_LLC_CTRL   0x03

Value for control field in 802.2 LLC header for 802.11 frames.

"Unnumbered Information".

Definition at line 346 of file ieee80211.h.

Referenced by net80211_ll_pull(), and net80211_ll_push().

#define IEEE80211_RTS_LEN   16

Length of 802.11 RTS control frame.

Definition at line 359 of file ieee80211.h.

Definition at line 369 of file ieee80211.h.

Definition at line 370 of file ieee80211.h.

#define IEEE80211_CTS_LEN   10

Length of 802.11 CTS control frame.

Definition at line 373 of file ieee80211.h.

#define IEEE80211_ACK_LEN   10

Length of 802.11 ACK control frame.

Definition at line 376 of file ieee80211.h.


Function Documentation

struct ieee80211_frame __attribute__ ( (packed)  )

Variable Documentation

static __attribute__ [inline]

Initialise mailbox.

Write model-specific register.

A segment descriptor.

Copy data to user buffer.

Copy (possibly overlapping) memory area.

Copy memory.

Find last (i.e.

Find first (i.e.

Initialise umalloc()-based data transfer buffer.

Get Xen extra version string.

Michael MIC keys.

Microchip 25XX640 serial EEPROM.

ST M25P32 serial flash.

Atmel 25040 serial EEPROM.

Atmel AT25F1024 serial flash.

Set minimum and maximum timeouts.

Test to see if timer is currently running.

Set a bit within a file descriptor set.

Drop reference to pixel buffer.

Major:minor version number.

Claim ownership of form parameter list.

Decrement form parameter list reference count.

Corrupt data with a specified probability.

SAS interface type.

SATA interface type.

RAID interface type.

I2O interface type.

Fibre Channel interface type.

IEEE1394 interface type.

USB interface type.

SCSI interface type.

ATAPI interface type.

ATA interface type.

PCI, PCI-X, PCI Express, or HyperTransport bus type.

Legacy bus type.

Copy memory area backwards.

Calculate number of samples required for startup tests.

Calculate cutoff value for the adaptive proportion test.

Look up value in adaptive proportion test cutoff table.

Apply schedule round constant to key column.

Rotate key column.

Perform standalone AddRoundKey.

Perform decryption intermediate rounds.

Perform a single intermediate round.

Calculate intermediate round output column.

Multiply [Inv]MixColumns matrix column by S-boxed input byte.

Get ATA command private data.

Drop reference to ATA command.

Get reference to ATA command.

Drop reference to ATA device.

Check if NetVSC device is obsolete.

Initialise data buffer.

Check if card can access physical address.

Parameters:
mboxMailbox
ctrlMailbox control register
memMailbox memory register base
addressPhysical address
address_okCard can access physical address
natsemiNational Semiconductor device
addressPhysical address
address_okCard can access physical address
bufferData buffer
pagesetPage set ID
opPage set operations
establish_typeEstablish data buffer message type
establish_xridEstablish data buffer relative transaction ID
revoke_typeRevoke data buffer message type
revoke_typeRevoke data buffer relative transaction ID
lenRequired length
netvscNetVSC device
is_obsoleteNetVSC device is obsolete

Check if NetVSC device is obsolete (i.e. was opened before the most recent Hyper-V reset).

Parameters:
atadevATA device
atacmdATA command
Return values:
atacmdATA command
Parameters:
atacmdATA command
atacmdATA command
Return values:
privPrivate data
Parameters:
tableAES lookup table
strideAES row shift stride
inAES input state
offsetOutput byte offset (after [Inv]ShiftRows)
Return values:
productProduct of matrix column with S(input byte)

Note that the specified offset is not the offset of the input byte; it is the offset of the output byte which corresponds to the input byte. This output byte offset is used to calculate both the input byte offset and to select the appropriate matric column.

With a compile-time constant offset, this function will optimise down to a single "movzbl" (to extract the input byte) and will generate a single x86 memory reference expression which can then be used directly within a single "xorl" instruction.

Parameters:
tableAES lookup table
strideAES row shift stride
inAES input state
keyAES round key
columnColumn index
Return values:
outputOutput column value
Parameters:
tableAES lookup table
strideAES row shift stride
inAES input state
outAES output state
keyAES round key
inAES input state
outAES output state
keyRound keys
roundsNumber of rounds (must be odd)

As with aes_encrypt_rounds(), this function is deliberately marked as non-inlinable.

This function could potentially use the same binary code as is used for encryption. To compensate for the difference between ShiftRows and InvShiftRows, half of the input byte offsets would have to be modifiable at runtime (half by an offset of +4/-4, half by an offset of -4/+4 for ShiftRows/InvShiftRows). This can be accomplished in x86 assembly within the number of available registers, but GCC's register allocator struggles to do so, resulting in a significant performance decrease due to registers being spilled to the stack. We therefore use two separate but very similar binary functions based on the same C source.

Parameters:
stateAES state
keyAES round key
columnKey column
Return values:
columnUpdated key column
Parameters:
columnKey column
rconRound constant
Return values:
columnUpdated key column
Parameters:
nN (window size)
hH (min-entropy)
Return values:
cutoffCutoff

This is the table of cutoff values defined in ANS X9.82 Part 2 (October 2011 Draft) Section 8.5.2.1.3.1.2.

Return values:
cutoffCutoff value

This is the cutoff value for the Adaptive Proportion Test defined in ANS X9.82 Part 2 (October 2011 Draft) Section 8.5.2.1.3.1.2.

Return values:
num_samplesNumber of samples required

ANS X9.82 Part 2 (October 2011 Draft) Section 8.5.2.1.5 requires that at least one full cycle of the continuous tests must be performed at start-up.

Parameters:
destDestination address
srcSource address
lenLength
Return values:
destDestination address
Parameters:
rateReciprocal of fault probability (zero for no faults)
dataData
lenLength of data
Return values:
rcReturn status code
Parameters:
paramsParameter list, or NULL
paramsParameter list
Return values:
paramsParameter list
Parameters:
pixbufPixel buffer
fdFile descriptor
setFile descriptor set
timerRetry timer
Return values:
runningNon-zero if timer is running
Parameters:
timerRetry timer
minMinimum timeout (in ticks), or zero to use default
maxMaximum timeout (in ticks), or zero to use default
xenXen hypervisor
extraversionExtra version string to fill in
Return values:
xenrcXen status code
Parameters:
xferbufData transfer buffer
dataUser pointer

least significant) set bit

Parameters:
xValue
Return values:
lsbLeast significant bit set in value (LSB=1), or zero

most significant) set bit

Parameters:
xValue
Return values:
msbMost significant bit set in value (LSB=1), or zero
Parameters:
srcSource
destDestination
lenLength
bufferUser buffer
offsetOffset within user buffer
srcSource
lenLength

least significant) set bit

Parameters:
valueValue
Return values:
lsbLeast significant bit set in value (LSB=1), or zero

most significant) set bit

Parameters:
valueValue
Return values:
msbMost significant bit set in value (LSB=1), or zero
Parameters:
msrModel-specific register
valueValue

Definition at line 186 of file myson.h.

                                        {

        /* In a 32-bit build, all addresses can be accessed */
        if ( sizeof ( physaddr_t ) <= sizeof ( uint32_t ) )
                return 1;

        /* Card can access all addresses below 4GB */
        if ( ( address & ~0xffffffffULL ) == 0 )
                return 1;

        return 0;
}