Lines Matching +full:fixed +full:- +full:header

1 .. SPDX-License-Identifier: GPL-2.0
8 ------------------------------------
10 Radiotap headers are variable-length and extensible, you can get most of the
18 Structure of the header
19 -----------------------
21 There is a fixed portion at the start which contains a u32 bitmap that defines
24 the header for argument index 0 (IEEE80211_RADIOTAP_TSFT) is present in the
29 < 8-byte ieee80211_radiotap_header >
44 --------------------------
46 After the fixed part of the header, the arguments follow for each argument
50 - the arguments are all stored little-endian!
52 - the argument payload for a given argument index has a fixed size. So
53 IEEE80211_RADIOTAP_TSFT being present always indicates an 8-byte argument is
57 - the arguments must be aligned to a boundary of the argument size using
61 - "alignment" is relative to the start of the ieee80211_radiotap_header, ie,
62 the first byte of the radiotap header. The absolute alignment of that first
63 byte isn't defined. So even if the whole radiotap header is starting at, eg,
64 address 0x00000003, still the first byte of the radiotap header is treated as
67 - the above point that there may be no absolute alignment for multibyte
68 entities in the fixed radiotap header or the argument region means that you
75 - The arguments for a given argument index can be a compound of multiple types
78 rule is applied dealing with a u16, NOT dealing with a 4-byte single entity.
81 Example valid radiotap header
82 -----------------------------
86 0x00, 0x00, // <-- radiotap version + pad byte
87 0x0b, 0x00, // <- radiotap header length
88 0x04, 0x0c, 0x00, 0x00, // <-- bitmap
89 0x6c, // <-- rate (in 500kHz units)
90 0x0c, //<-- tx power
91 0x01 //<-- antenna
95 -------------------------
103 /* buf points to the start of the radiotap header part */
148 if (ret != -ENOENT)
151 /* discard the radiotap header part */
153 buflen -= iterator.max_length;