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< uint16_t,
internals::seq_bss_tmp_tag1 >,
internals::adapter< unsigned,
internals::seq_bss_tmp_tag2 >,
timestamp
seq_bss_tmp_id
typedef unique_id
< internals::adapter< uint16_t,
internals::seq_dst_bss_tmp_tag1 >,
internals::adapter< unsigned,
internals::seq_dst_bss_tmp_tag2 >,
internals::adapter< unsigned,
internals::seq_dst_bss_tmp_tag3 >,
timestamp
seq_dst_bss_tmp_id
typedef unique_id
< internals::adapter< uint16_t,
internals::seq_src_bss_tmp_tag1 >,
internals::adapter< unsigned,
internals::seq_src_bss_tmp_tag2 >,
internals::adapter< unsigned,
internals::seq_src_bss_tmp_tag3 >,
timestamp
seq_src_bss_tmp_id
typedef unique_id
< internals::adapter< uint16_t,
internals::seq_tmp_tag >,
timestamp
seq_tmp_id
typedef unique_id
< internals::adapter< unsigned,
internals::src_bss_tmp_tag1 >,
internals::adapter< unsigned,
internals::src_bss_tmp_tag2 >,
timestamp
src_bss_tmp_id
typedef unique_id< timestamptmp_id

Functions

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)
 tt_define_addr_tmp_id (dst, mgt::header::da) tt_define_addr_tmp_id(src
template<>
boost::optional< seq_bss_tmp_idmake_unique_id< seq_bss_tmp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping)
template<>
boost::optional
< seq_dst_bss_tmp_id
make_unique_id< seq_dst_bss_tmp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping)
template<>
boost::optional
< seq_src_bss_tmp_id
make_unique_id< seq_src_bss_tmp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping)
template<>
boost::optional< seq_tmp_idmake_unique_id< seq_tmp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping)
template<>
boost::optional< src_bss_tmp_idmake_unique_id< src_bss_tmp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping)
template<>
boost::optional< tmp_idmake_unique_id< tmp_id, prism::header > (const pcapxx::frame_descriptor &desc, addr_mapping &mapping)
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)


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 
) [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 Tue Jan 15 19:32:32 2008 for wipal by  doxygen 1.5.4