aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2007-03-10 22:54:22 -0500
committerJeff Garzik <jeff@garzik.org>2007-04-28 11:01:00 -0400
commita0d69f229fedea3f2b510ee8ece985c974860d41 (patch)
tree3309df12cb5f1b9f019088953181165339c5c29b /include/net
parentd2f11e0991e3794f11d851b7ee0d98e064b10333 (diff)
[PATCH] sparse-annotate radiotap header
Document that all fields must be little endian. Use annotated types even in the comments. Consistently use shorter type names (u8, s8). Realign the comments. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ieee80211_radiotap.h57
1 files changed, 29 insertions, 28 deletions
diff --git a/include/net/ieee80211_radiotap.h b/include/net/ieee80211_radiotap.h
index c6e0d81ea785..f3bc00ee628b 100644
--- a/include/net/ieee80211_radiotap.h
+++ b/include/net/ieee80211_radiotap.h
@@ -66,7 +66,9 @@
66 */ 66 */
67#define IEEE80211_RADIOTAP_HDRLEN 64 67#define IEEE80211_RADIOTAP_HDRLEN 64
68 68
69/* The radio capture header precedes the 802.11 header. */ 69/* The radio capture header precedes the 802.11 header.
70 * All data in the header is little endian on all platforms.
71 */
70struct ieee80211_radiotap_header { 72struct ieee80211_radiotap_header {
71 u8 it_version; /* Version 0. Only increases 73 u8 it_version; /* Version 0. Only increases
72 * for drastic changes, 74 * for drastic changes,
@@ -74,12 +76,12 @@ struct ieee80211_radiotap_header {
74 * new fields does not count. 76 * new fields does not count.
75 */ 77 */
76 u8 it_pad; 78 u8 it_pad;
77 u16 it_len; /* length of the whole 79 __le16 it_len; /* length of the whole
78 * header in bytes, including 80 * header in bytes, including
79 * it_version, it_pad, 81 * it_version, it_pad,
80 * it_len, and data fields. 82 * it_len, and data fields.
81 */ 83 */
82 u32 it_present; /* A bitmap telling which 84 __le32 it_present; /* A bitmap telling which
83 * fields are present. Set bit 31 85 * fields are present. Set bit 31
84 * (0x80000000) to extend the 86 * (0x80000000) to extend the
85 * bitmap by another 32 bits. 87 * bitmap by another 32 bits.
@@ -88,104 +90,103 @@ struct ieee80211_radiotap_header {
88 */ 90 */
89}; 91};
90 92
91/* Name Data type Units 93/* Name Data type Units
92 * ---- --------- ----- 94 * ---- --------- -----
93 * 95 *
94 * IEEE80211_RADIOTAP_TSFT u64 microseconds 96 * IEEE80211_RADIOTAP_TSFT __le64 microseconds
95 * 97 *
96 * Value in microseconds of the MAC's 64-bit 802.11 Time 98 * Value in microseconds of the MAC's 64-bit 802.11 Time
97 * Synchronization Function timer when the first bit of the 99 * Synchronization Function timer when the first bit of the
98 * MPDU arrived at the MAC. For received frames, only. 100 * MPDU arrived at the MAC. For received frames, only.
99 * 101 *
100 * IEEE80211_RADIOTAP_CHANNEL 2 x u16 MHz, bitmap 102 * IEEE80211_RADIOTAP_CHANNEL 2 x __le16 MHz, bitmap
101 * 103 *
102 * Tx/Rx frequency in MHz, followed by flags (see below). 104 * Tx/Rx frequency in MHz, followed by flags (see below).
103 * 105 *
104 * IEEE80211_RADIOTAP_FHSS u16 see below 106 * IEEE80211_RADIOTAP_FHSS __le16 see below
105 * 107 *
106 * For frequency-hopping radios, the hop set (first byte) 108 * For frequency-hopping radios, the hop set (first byte)
107 * and pattern (second byte). 109 * and pattern (second byte).
108 * 110 *
109 * IEEE80211_RADIOTAP_RATE u8 500kb/s 111 * IEEE80211_RADIOTAP_RATE u8 500kb/s
110 * 112 *
111 * Tx/Rx data rate 113 * Tx/Rx data rate
112 * 114 *
113 * IEEE80211_RADIOTAP_DBM_ANTSIGNAL int8_t decibels from 115 * IEEE80211_RADIOTAP_DBM_ANTSIGNAL s8 decibels from
114 * one milliwatt (dBm) 116 * one milliwatt (dBm)
115 * 117 *
116 * RF signal power at the antenna, decibel difference from 118 * RF signal power at the antenna, decibel difference from
117 * one milliwatt. 119 * one milliwatt.
118 * 120 *
119 * IEEE80211_RADIOTAP_DBM_ANTNOISE int8_t decibels from 121 * IEEE80211_RADIOTAP_DBM_ANTNOISE s8 decibels from
120 * one milliwatt (dBm) 122 * one milliwatt (dBm)
121 * 123 *
122 * RF noise power at the antenna, decibel difference from one 124 * RF noise power at the antenna, decibel difference from one
123 * milliwatt. 125 * milliwatt.
124 * 126 *
125 * IEEE80211_RADIOTAP_DB_ANTSIGNAL u8 decibel (dB) 127 * IEEE80211_RADIOTAP_DB_ANTSIGNAL u8 decibel (dB)
126 * 128 *
127 * RF signal power at the antenna, decibel difference from an 129 * RF signal power at the antenna, decibel difference from an
128 * arbitrary, fixed reference. 130 * arbitrary, fixed reference.
129 * 131 *
130 * IEEE80211_RADIOTAP_DB_ANTNOISE u8 decibel (dB) 132 * IEEE80211_RADIOTAP_DB_ANTNOISE u8 decibel (dB)
131 * 133 *
132 * RF noise power at the antenna, decibel difference from an 134 * RF noise power at the antenna, decibel difference from an
133 * arbitrary, fixed reference point. 135 * arbitrary, fixed reference point.
134 * 136 *
135 * IEEE80211_RADIOTAP_LOCK_QUALITY u16 unitless 137 * IEEE80211_RADIOTAP_LOCK_QUALITY __le16 unitless
136 * 138 *
137 * Quality of Barker code lock. Unitless. Monotonically 139 * Quality of Barker code lock. Unitless. Monotonically
138 * nondecreasing with "better" lock strength. Called "Signal 140 * nondecreasing with "better" lock strength. Called "Signal
139 * Quality" in datasheets. (Is there a standard way to measure 141 * Quality" in datasheets. (Is there a standard way to measure
140 * this?) 142 * this?)
141 * 143 *
142 * IEEE80211_RADIOTAP_TX_ATTENUATION u16 unitless 144 * IEEE80211_RADIOTAP_TX_ATTENUATION __le16 unitless
143 * 145 *
144 * Transmit power expressed as unitless distance from max 146 * Transmit power expressed as unitless distance from max
145 * power set at factory calibration. 0 is max power. 147 * power set at factory calibration. 0 is max power.
146 * Monotonically nondecreasing with lower power levels. 148 * Monotonically nondecreasing with lower power levels.
147 * 149 *
148 * IEEE80211_RADIOTAP_DB_TX_ATTENUATION u16 decibels (dB) 150 * IEEE80211_RADIOTAP_DB_TX_ATTENUATION __le16 decibels (dB)
149 * 151 *
150 * Transmit power expressed as decibel distance from max power 152 * Transmit power expressed as decibel distance from max power
151 * set at factory calibration. 0 is max power. Monotonically 153 * set at factory calibration. 0 is max power. Monotonically
152 * nondecreasing with lower power levels. 154 * nondecreasing with lower power levels.
153 * 155 *
154 * IEEE80211_RADIOTAP_DBM_TX_POWER int8_t decibels from 156 * IEEE80211_RADIOTAP_DBM_TX_POWER s8 decibels from
155 * one milliwatt (dBm) 157 * one milliwatt (dBm)
156 * 158 *
157 * Transmit power expressed as dBm (decibels from a 1 milliwatt 159 * Transmit power expressed as dBm (decibels from a 1 milliwatt
158 * reference). This is the absolute power level measured at 160 * reference). This is the absolute power level measured at
159 * the antenna port. 161 * the antenna port.
160 * 162 *
161 * IEEE80211_RADIOTAP_FLAGS u8 bitmap 163 * IEEE80211_RADIOTAP_FLAGS u8 bitmap
162 * 164 *
163 * Properties of transmitted and received frames. See flags 165 * Properties of transmitted and received frames. See flags
164 * defined below. 166 * defined below.
165 * 167 *
166 * IEEE80211_RADIOTAP_ANTENNA u8 antenna index 168 * IEEE80211_RADIOTAP_ANTENNA u8 antenna index
167 * 169 *
168 * Unitless indication of the Rx/Tx antenna for this packet. 170 * Unitless indication of the Rx/Tx antenna for this packet.
169 * The first antenna is antenna 0. 171 * The first antenna is antenna 0.
170 * 172 *
171 * IEEE80211_RADIOTAP_RX_FLAGS u_int16_t bitmap 173 * IEEE80211_RADIOTAP_RX_FLAGS __le16 bitmap
172 * 174 *
173 * Properties of received frames. See flags defined below. 175 * Properties of received frames. See flags defined below.
174 * 176 *
175 * IEEE80211_RADIOTAP_TX_FLAGS u_int16_t bitmap 177 * IEEE80211_RADIOTAP_TX_FLAGS __le16 bitmap
176 * 178 *
177 * Properties of transmitted frames. See flags defined below. 179 * Properties of transmitted frames. See flags defined below.
178 * 180 *
179 * IEEE80211_RADIOTAP_RTS_RETRIES u_int8_t data 181 * IEEE80211_RADIOTAP_RTS_RETRIES u8 data
180 * 182 *
181 * Number of rts retries a transmitted frame used. 183 * Number of rts retries a transmitted frame used.
182 * 184 *
183 * IEEE80211_RADIOTAP_DATA_RETRIES u_int8_t data 185 * IEEE80211_RADIOTAP_DATA_RETRIES u8 data
184 * 186 *
185 * Number of unicast retries a transmitted frame used. 187 * Number of unicast retries a transmitted frame used.
186 * 188 *
187 * 189 * IEEE80211_RADIOTAP_FCS __le32 data
188 * IEEE80211_RADIOTAP_FCS u32 data
189 * 190 *
190 * FCS from frame in network byte order. 191 * FCS from frame in network byte order.
191 */ 192 */