00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef WIFI_ID_HELPER_HOOKS_HH_
00023 # define WIFI_ID_HELPER_HOOKS_HH_
00024
00025 # include <wipal/wifi/timestamp.hh>
00026 # include <wipal/wifi/dissector/default_hooks.hh>
00027
00028 namespace wpl
00029 {
00030
00031 namespace wifi
00032 {
00033
00034 namespace internals
00035 {
00036
00038 struct id_helper_hooks: public dissector_default_hooks
00039 {
00041 id_helper_hooks();
00042
00043 const addr* addr_ptr(unsigned i) const;
00044 const uint16_t* seq_ctl_ptr() const;
00045 const timestamp* timestamp_ptr() const;
00046
00047 protected:
00048 void beacon_hook(const mgt::header*, size_t);
00049 void probe_resp_hook(const mgt::header*, size_t);
00050
00051 private:
00052 void unique_frame_hook(const mgt::header*, size_t);
00053
00054 const addr* addrs_;
00055 const uint16_t* seq_ctl_;
00056 const timestamp* timestamp_;
00057 };
00058
00059 }
00060
00061 }
00062
00063 }
00064
00065 # include "helper_hooks.hxx"
00066
00067 #endif // ! WIFI_ID_HELPER_HOOKS_HH_