1 #include "ieee80211_radiotap.h" 2 3 /* Radiotap header iteration 4 * implemented in net/wireless/radiotap.c 5 * docs in Documentation/networking/radiotap-headers.txt 6 */ 7 /** 8 * struct ieee80211_radiotap_iterator - tracks walk thru present radiotap args 9 * @rtheader: pointer to the radiotap header we are walking through 10 * @max_length: length of radiotap header in cpu byte ordering 11 * @this_arg_index: IEEE80211_RADIOTAP_... index of current arg 12 * @this_arg: pointer to current radiotap arg 13 * @arg_index: internal next argument index 14 * @arg: internal next argument pointer 15 * @next_bitmap: internal pointer to next present u32 16 * @bitmap_shifter: internal shifter for curr u32 bitmap, b0 set == arg present 17 */ 18 19 struct ieee80211_radiotap_iterator { 20 struct ieee80211_radiotap_header *rtheader; 21 int max_length; 22 int this_arg_index; 23 u8 *this_arg; 24 25 int arg_index; 26 u8 *arg; 27 __le32 *next_bitmap; 28 u32 bitmap_shifter; 29 }; 30 31 extern int ieee80211_radiotap_iterator_init( 32 struct ieee80211_radiotap_iterator *iterator, 33 struct ieee80211_radiotap_header *radiotap_header, 34 int max_length); 35 36 extern int ieee80211_radiotap_iterator_next( 37 struct ieee80211_radiotap_iterator *iterator); 38 39