63 .
n_bits =
sizeof(rtap_namespace_sizes) /
sizeof(rtap_namespace_sizes[0]),
64 .align_size = rtap_namespace_sizes,
126 iterator->
_arg = (uint8_t *)radiotap_header +
sizeof(*radiotap_header);
130 iterator->
_vns = vns;
133 #ifdef RADIOTAP_SUPPORT_OVERRIDES 141 if ((
unsigned long)iterator->
_arg -
142 (
unsigned long)iterator->
_rtheader +
sizeof(uint32_t) >
147 iterator->
_arg +=
sizeof(uint32_t);
155 if ((
unsigned long)iterator->
_arg -
162 iterator->
_arg +=
sizeof(uint32_t);
188 for (i = 0; i < iterator->
_vns->
n_ns; i++) {
199 #ifdef RADIOTAP_SUPPORT_OVERRIDES 201 int *align,
int *size)
251 int pad, align, size,
subns;
274 #ifdef RADIOTAP_SUPPORT_OVERRIDES 275 if (find_override(iterator, &align, &size)) {
310 pad = ((
unsigned long)iterator->
_arg -
311 (
unsigned long)iterator->
_rtheader) & (align - 1);
314 iterator->
_arg += align - pad;
319 if ((
unsigned long)iterator->
_arg + size -
324 oui = (*iterator->
_arg << 16) |
325 (*(iterator->
_arg + 1) << 8) |
326 *(iterator->
_arg + 2);
327 subns = *(iterator->
_arg + 3);
329 find_ns(iterator, oui, subns);
346 iterator->
_arg += size;
355 if ((
unsigned long)iterator->
_arg -
int ieee80211_radiotap_iterator_next(struct ieee80211_radiotap_iterator *iterator)
const struct radiotap_override * overrides
unsigned char * _next_ns_data
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)
const struct ieee80211_radiotap_namespace * ns
const struct ieee80211_radiotap_namespace * current_namespace
raw_container::iterator iterator
const struct ieee80211_radiotap_vendor_namespaces * _vns
const struct radiotap_align_size * align_size
struct ieee80211_radiotap_header * _rtheader