wifi::frame Namespace Reference

IEEE 802.11 frames compounds and operations. More...


Classes

struct  dissector_default_hooks
 Default (empty) hooks to be used with dissector. More...
struct  dissector
 IEEE 802.11 frame parser. More...
struct  bssid_address_hooks
 Helper hooks for bssid_address(). More...
struct  unique_id
 Identifier for uniquely identifiable frames. More...

Namespaces

namespace  ctl
namespace  data
namespace  dissector_status
namespace  filter
namespace  internals
namespace  mgt
namespace  type

Typedefs

typedef unique_id
< internals::adapter
< unsigned,
internals::bssid_timestamp_tag >,
internals::adapter
< timestamp,
internals::bssid_timestamp_tag > > 
bssid_timestamp_id
typedef unique_id
< internals::adapter
< unsigned,
internals::source_bssid_timestamp_tag1 >,
internals::adapter
< unsigned,
internals::source_bssid_timestamp_tag2 >,
internals::adapter
< timestamp,
internals::source_bssid_timestamp_tag3 > > 
source_bssid_timestamp_id
typedef unique_id
< internals::adapter
< unsigned,
internals::source_timestamp_tag >,
internals::adapter
< timestamp,
internals::source_timestamp_tag > > 
source_timestamp_id

Functions

template<class UniqueId>
boost::optional
< UniqueId > 
make_addr_timestamp_id_from_prism (const pcapxx::frame_descriptor &desc, addr_mapping &mapping, unsigned addr_idx, bool prism_noise_means_error)
template<>
boost::optional
< bssid_timestamp_id
make_unique_id< bssid_timestamp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping, bool noise_means_error)
unsigned protocol_version_of (const void *)
type::frame_type type_of (const void *)
unsigned subtype_of (const void *)
uint8_t control_flags_of (const void *)
bool control_flag (const unsigned flag, const void *frame)
bool to_ds (const void *)
bool from_ds (const void *)
unsigned duration_of (const void *)
const addrtransmitter_address (const void *frame)
const addrbssid_address (const void *, size_t caplen=30)
template<>
boost::optional
< source_bssid_timestamp_id
make_unique_id< source_bssid_timestamp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping, bool prism_noise_means_error)
template<>
boost::optional
< source_timestamp_id
make_unique_id< source_timestamp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping, bool prism_noise_means_error)
template<class Id1, class Id2, class Id3, class Id4>
std::ostream & operator<< (std::ostream &, const unique_id< Id1, Id2, Id3, Id4 > &)
template<class UniqueId, class HeaderType>
boost::optional
< UniqueId > 
make_unique_id (const pcapxx::frame_descriptor &desc, addr_mapping &mapping, bool prism_noise_means_error)


Detailed Description

IEEE 802.11 frames compounds and operations.

Function Documentation

const addr * wifi::frame::bssid_address ( const void *  frame,
size_t  caplen = 30 
) [inline]

Get a pointer to the frame's BSSID address.

When the frame holds an address that represents a BSSID address, return a pointer to it. Return 0 else.

Some frames holds multiple BSSID addresses (data frames with both the To DS and From DS flags set). In this case, return the transmitter BSSID address.

bool wifi::frame::control_flag ( const unsigned  flag,
const void *  frame 
) [inline]

Extract a specific flag from a frame's control flags.

uint8_t wifi::frame::control_flags_of ( const void *  frame  )  [inline]

Get a frame's control flags.

unsigned wifi::frame::duration_of ( const void *  frame  )  [inline]

Get a frame's duration.

bool wifi::frame::from_ds ( const void *  frame  )  [inline]

Get a frame's from distribution system flag.

template<class UniqueId, class HeaderType>
boost::optional<UniqueId> wifi::frame::make_unique_id ( const pcapxx::frame_descriptor desc,
addr_mapping &  mapping,
bool  prism_noise_means_error 
) [inline]

Make a unique id of a frame (if possible).

Warning:
This function is only declared (and not defined) so the compiler knows other make_unique_id()'s are template specializations. Calling it will not link.

template<class Id1, class Id2, class Id3, class Id4>
std::ostream & wifi::frame::operator<< ( std::ostream &  os,
const unique_id< Id1, Id2, Id3, Id4 > &  ui 
) [inline]

Dump a uniquely identifiable frame onto a C++ stream.

unsigned wifi::frame::protocol_version_of ( const void *  frame  )  [inline]

Get a frame's protocol version.

unsigned wifi::frame::subtype_of ( const void *  frame  )  [inline]

Get a frame's subtype.

bool wifi::frame::to_ds ( const void *  frame  )  [inline]

Get a frame's to distribution system flag.

const addr * wifi::frame::transmitter_address ( const void *  frame  )  [inline]

Get a pointer to the frame's transmitter address.

When the frame holds the address of its transmitter, return a pointer to it. Return 0 else. Note that this function extracts the transmitter address, not the sender address.

type::frame_type wifi::frame::type_of ( const void *  frame  )  [inline]

Get a frame's type.


Generated on Wed Sep 12 16:02:47 2007 for trace-tools by  doxygen 1.5.3