From Jouni Malinen via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8711 Wi...
[metze/wireshark/wip.git] / epan / dissectors / packet-ieee80211.h
1 /* packet-ieee80211.h
2  * Routines for Wireless LAN (IEEE 802.11) dissection
3  *
4  * Copyright 2000, Axis Communications AB
5  * Inquiries/bugreports should be sent to Johan.Jorgensen@axis.com
6  *
7  * $Id$
8  *
9  * Wireshark - Network traffic analyzer
10  * By Gerald Combs <gerald@wireshark.org>
11  * Copyright 1998 Gerald Combs
12  *
13  * Copied from README.developer
14  *
15  * This program is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU General Public License
17  * as published by the Free Software Foundation; either version 2
18  * of the License, or (at your option) any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License
26  * along with this program; if not, write to the Free Software
27  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28  */
29
30 #include "ws_symbol_export.h"
31
32 WS_DLL_PUBLIC
33 void capture_ieee80211 (const guchar *, int, int, packet_counts *);
34 void capture_ieee80211_datapad (const guchar *, int, int, packet_counts *);
35 void capture_ieee80211_fixed (const guchar *, int, int, packet_counts *);
36 void capture_ieee80211_ht (const guchar *, int, int, packet_counts *);
37
38 WS_DLL_PUBLIC
39 void capture_prism(const guchar *, int, int, packet_counts *);
40 WS_DLL_PUBLIC
41 void capture_wlancap(const guchar *, int, int, packet_counts *);
42
43 void ieee_80211_add_tagged_parameters (tvbuff_t * tvb, int offset,
44        packet_info * pinfo, proto_tree * tree, int tagged_parameters_len, int ftype);
45
46 void dissect_wifi_display_ie(packet_info *pinfo, proto_tree *tree,
47                              tvbuff_t *tvb, int offset, gint size);
48
49 #define MAX_SSID_LEN    32
50 #define MAX_PROTECT_LEN 10
51
52 struct _wlan_stats {
53   guint8 channel;
54   guint8 ssid_len;
55   guchar ssid[MAX_SSID_LEN];
56   gchar protection[MAX_PROTECT_LEN];
57 };
58
59 typedef struct _wlan_hdr {
60         address bssid;
61         address src;
62         address dst;
63         guint16 type;
64         struct _wlan_stats stats;
65 } wlan_hdr;
66
67 #define WLANCAP_MAGIC_COOKIE_BASE 0x80211000
68 #define WLANCAP_MAGIC_COOKIE_V1 0x80211001
69 #define WLANCAP_MAGIC_COOKIE_V2 0x80211002
70
71 /* UAT entry structure. */
72 typedef struct {
73     guint8    key;
74     gchar    *string;
75 } uat_wep_key_record_t;