30#include <tins/config.h>
32#if !defined(TINS_DOT11_DOT11_BEACON_H) && defined(TINS_HAVE_DOT11)
33#define TINS_DOT11_DOT11_BEACON_H
35#include <tins/dot11/dot11_mgmt.h>
36#include <tins/macros.h>
77 Dot11Beacon(
const uint8_t* buffer, uint32_t total_sz);
85 return Endian::le_to_host(body_.timestamp);
94 return Endian::le_to_host(body_.interval);
104 return body_.capability;
114 return body_.capability;
122 void timestamp(uint64_t new_timestamp);
129 void interval(uint16_t new_interval);
137 uint32_t header_size()
const;
166 struct dot11_beacon_body {
169 capability_information capability;
172 void write_fixed_parameters(Memory::OutputMemoryStream& stream);
174 dot11_beacon_body body_;
uint64_t timestamp() const
Getter for the timestamp field.
Definition dot11_beacon.h:84
static const PDU::PDUType pdu_flag
This PDU's flag.
Definition dot11_beacon.h:49
bool matches_flag(PDUType flag) const
Check whether this PDU matches the specified flag.
Definition dot11_beacon.h:144
Dot11Beacon(const address_type &dst_hw_addr=address_type(), const address_type &src_hw_addr=address_type())
Constructor for creating a 802.11 Beacon.
Definition dot11_beacon.cpp:43
const capability_information & capabilities() const
Getter for the Capabilities Information structure.
Definition dot11_beacon.h:103
PDUType pdu_type() const
Getter for the PDU's type.
Definition dot11_beacon.h:161
Dot11Beacon * clone() const
Clones this PDU.
Definition dot11_beacon.h:153
uint16_t interval() const
Getter for the interval field.
Definition dot11_beacon.h:93
capability_information & capabilities()
Getter for the Capabilities Information.
Definition dot11_beacon.h:113
bool matches_flag(PDUType flag) const
Check whether this PDU matches the specified flag.
Definition dot11_mgmt.h:1226
HWAddress< 6 > address_type
Definition dot11_base.h:59
PDUType
Enum which identifies each type of PDU.
Definition pdu.h:127
The Tins namespace.
Definition address_range.h:38