198 iterator->
_arg = (uint8_t *) radiotap_header +
sizeof(*radiotap_header);
200#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 9
201#pragma GCC diagnostic push
202#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
205#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 9
206#pragma GCC diagnostic pop
209 iterator->
_vns = vns;
212#ifdef RADIOTAP_SUPPORT_OVERRIDES
220 if ((
unsigned long) iterator->
_arg - (
unsigned long) iterator->
_rtheader +
sizeof(uint32_t) >
224 iterator->
_arg +=
sizeof(uint32_t);
232 if ((
unsigned long) iterator->
_arg - (
unsigned long) iterator->
_rtheader +
sizeof(uint32_t) >
237 iterator->
_arg +=
sizeof(uint32_t);
261 for (i = 0; i < iterator->
_vns->
n_ns; i++) {
272#ifdef RADIOTAP_SUPPORT_OVERRIDES
320 int pad, align, size,
subns;
342#ifdef RADIOTAP_SUPPORT_OVERRIDES
343 if (find_override(iterator, &align, &size)) {
378 pad = ((
unsigned long) iterator->
_arg - (
unsigned long) iterator->
_rtheader) & (align - 1);
381 iterator->
_arg += align - pad;
386 if ((
unsigned long) iterator->
_arg + size - (
unsigned long) iterator->
_rtheader >
390 oui = (*iterator->
_arg << 16) | (*(iterator->
_arg + 1) << 8) | *(iterator->
_arg + 2);
410 iterator->
_arg += size;
419 if ((
unsigned long) iterator->
_arg - (
unsigned long) iterator->
_rtheader >
static void find_ns(struct ieee80211_radiotap_iterator *iterator, uint32_t oui, uint8_t subns)
const struct ieee80211_radiotap_namespace radiotap_ns
static const struct radiotap_align_size rtap_namespace_sizes[]
EXPORT int ieee80211_radiotap_iterator_next(struct ieee80211_radiotap_iterator *iterator)
ieee80211_radiotap_iterator_next - return next radiotap parser iterator arg @iterator: radiotap_itera...
EXPORT int ieee80211_radiotap_iterator_init(struct ieee80211_radiotap_iterator *iterator, struct ieee80211_radiotap_header *radiotap_header, int max_length, const struct ieee80211_radiotap_vendor_namespaces *vns)
ieee80211_radiotap_iterator_init - radiotap parser iterator initialization @iterator: radiotap_iterat...
@ IEEE80211_RADIOTAP_DB_TX_ATTENUATION
@ IEEE80211_RADIOTAP_DATA_RETRIES
@ IEEE80211_RADIOTAP_DBM_TX_POWER
@ IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE
@ IEEE80211_RADIOTAP_AMPDU_STATUS
@ IEEE80211_RADIOTAP_TX_FLAGS
@ IEEE80211_RADIOTAP_RTS_RETRIES
@ IEEE80211_RADIOTAP_LOCK_QUALITY
@ IEEE80211_RADIOTAP_VENDOR_NAMESPACE
@ IEEE80211_RADIOTAP_CHANNEL
@ IEEE80211_RADIOTAP_FLAGS
@ IEEE80211_RADIOTAP_TX_ATTENUATION
@ IEEE80211_RADIOTAP_DB_ANTNOISE
@ IEEE80211_RADIOTAP_DB_ANTSIGNAL
@ IEEE80211_RADIOTAP_TSFT
@ IEEE80211_RADIOTAP_TIMESTAMP
@ IEEE80211_RADIOTAP_RATE
@ IEEE80211_RADIOTAP_FHSS
@ IEEE80211_RADIOTAP_DBM_ANTNOISE
@ IEEE80211_RADIOTAP_ANTENNA
@ IEEE80211_RADIOTAP_DBM_ANTSIGNAL
@ IEEE80211_RADIOTAP_RX_FLAGS
struct ieee80211_radiotap_iterator - tracks walk thru present radiotap args @this_arg_index: index of...
unsigned char * _next_ns_data
const struct ieee80211_radiotap_vendor_namespaces * _vns
const struct radiotap_override * overrides
struct ieee80211_radiotap_header * _rtheader
const struct ieee80211_radiotap_namespace * current_namespace
const struct radiotap_align_size * align_size
const struct ieee80211_radiotap_namespace * ns