1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #ifndef __RADIOTAP_ITER_H
- #define __RADIOTAP_ITER_H
- #include "radiotap.h"
- /* Radiotap header iteration
- * implemented in radiotap.c
- */
- /**
- * struct ieee80211_radiotap_iterator - tracks walk thru present radiotap args
- * @rtheader: pointer to the radiotap header we are walking through
- * @max_length: length of radiotap header in cpu byte ordering
- * @this_arg_index: IEEE80211_RADIOTAP_... index of current arg
- * @this_arg: pointer to current radiotap arg
- * @arg_index: internal next argument index
- * @arg: internal next argument pointer
- * @next_bitmap: internal pointer to next present u32
- * @bitmap_shifter: internal shifter for curr u32 bitmap, b0 set == arg present
- */
- struct ieee80211_radiotap_iterator {
- struct ieee80211_radiotap_header *rtheader;
- int max_length;
- int this_arg_index;
- unsigned char *this_arg;
- int arg_index;
- unsigned char *arg;
- uint32_t *next_bitmap;
- uint32_t bitmap_shifter;
- };
- extern int ieee80211_radiotap_iterator_init(
- struct ieee80211_radiotap_iterator *iterator,
- struct ieee80211_radiotap_header *radiotap_header,
- int max_length);
- extern int ieee80211_radiotap_iterator_next(
- struct ieee80211_radiotap_iterator *iterator);
- #endif /* __RADIOTAP_ITER_H */
|