Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-ieee80211-radiotap-iter.h
1 /*
2  * Radiotap parser
3  *
4  * Copyright 2007 Andy Green <andy@warmcat.com>
5  * Copyright 2009 Johannes Berg <johannes@sipsolutions.net>
6  *
7  * SPDX-License-Identifier: (ISC OR GPL-2.0-only)
8  */
9 
10 #ifndef __RADIOTAP_ITER_H
11 #define __RADIOTAP_ITER_H
12 
13 #define RADIOTAP_SUPPORT_OVERRIDES
14 
15 #include <glib.h>
16 #include "packet-ieee80211-radiotap-defs.h"
17 
18 /* Radiotap header iteration
19  * implemented in radiotap.c
20  */
21 
23  guint8 field;
24  guint align:4, size:4;
25 };
26 
28  guint align:4, size:4;
29 };
30 
32  const struct radiotap_align_size *align_size;
33  int n_bits;
34  guint32 oui;
35  guint8 subns;
36 };
37 
39  const struct ieee80211_radiotap_namespace *ns;
40  int n_ns;
41 };
42 
56  unsigned char *_arg, *_next_ns_data;
57  guint32 *_next_bitmap;
59  unsigned char *this_arg;
63 #ifdef RADIOTAP_SUPPORT_OVERRIDES
64  const struct radiotap_override *overrides;
66 #endif
71  int is_radiotap_ns;
72  int tlv_mode;
73 
75  int _arg_index;
76  guint32 _bitmap_shifter;
78 };
79 
80 extern int ieee80211_radiotap_iterator_init(
81  struct ieee80211_radiotap_iterator *iterator,
82  struct ieee80211_radiotap_header *radiotap_header,
83  int max_length, const struct ieee80211_radiotap_vendor_namespaces *vns);
84 
85 extern int ieee80211_radiotap_iterator_next(
86  struct ieee80211_radiotap_iterator *iterator);
87 
88 #endif /* __RADIOTAP_ITER_H */
Definition: packet-ieee80211-radiotap-defs.h:38
Definition: packet-ieee80211-radiotap-iter.h:50
struct ieee80211_radiotap_header * _rtheader
Definition: packet-ieee80211-radiotap-iter.h:51
const struct ieee80211_radiotap_vendor_namespaces * _vns
Definition: packet-ieee80211-radiotap-iter.h:52
int _arg_index
Definition: packet-ieee80211-radiotap-iter.h:75
int _reset_on_ext
Definition: packet-ieee80211-radiotap-iter.h:77
const struct ieee80211_radiotap_namespace * current_namespace
Definition: packet-ieee80211-radiotap-iter.h:53
guint32 _bitmap_shifter
Definition: packet-ieee80211-radiotap-iter.h:76
guint32 * _next_bitmap
Definition: packet-ieee80211-radiotap-iter.h:57
unsigned char * this_arg
Definition: packet-ieee80211-radiotap-iter.h:59
int this_arg_index
Definition: packet-ieee80211-radiotap-iter.h:67
int this_arg_size
Definition: packet-ieee80211-radiotap-iter.h:69
int _max_length
Definition: packet-ieee80211-radiotap-iter.h:74
unsigned char * _next_ns_data
Definition: packet-ieee80211-radiotap-iter.h:56
int n_overrides
Definition: packet-ieee80211-radiotap-iter.h:65
const struct radiotap_override * overrides
Definition: packet-ieee80211-radiotap-iter.h:64
Definition: packet-ieee80211-radiotap-iter.h:31
Definition: packet-ieee80211-radiotap-iter.h:38
Definition: packet-ieee80211-radiotap-iter.h:27
Definition: packet-ieee80211-radiotap-iter.h:22