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