00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef WIFI_FRAME_MGT_HH_
00023 # define WIFI_FRAME_MGT_HH_
00024
00025 extern "C"
00026 {
00027 # include <inttypes.h>
00028 }
00029
00030 # include <trace-tools/wifi/addr.hh>
00031
00032 namespace wifi
00033 {
00034
00035 namespace frame
00036 {
00037
00039 namespace mgt
00040 {
00041
00043 namespace subtype
00044 {
00045
00047 enum frame_subtype
00048 {
00049 assoc_req = 0,
00050 assoc_resp = 1,
00051 reassoc_req = 2,
00052 reassoc_resp = 3,
00053 probe_req = 4,
00054 probe_resp = 5,
00055 beacon = 8,
00056 atim = 9,
00057 disassoc = 10,
00058 auth = 11,
00059 deauth = 12
00060 };
00061
00062 }
00063
00065 struct header
00066 {
00068 enum addr_index
00069 {
00070 da = 0,
00071 sa = 1,
00072 bssid = 2
00073 };
00074
00076 static const char* addr_names[3];
00077
00078 uint16_t frame_ctl;
00079 uint16_t duration;
00080 addr addrs[3];
00081 uint16_t seq_ctl;
00082 uint8_t body[];
00083 };
00084
00085 }
00086
00087 }
00088
00089 }
00090
00091 #endif // ! WIFI_FRAME_MGT_HH_