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;
145 return flag == pdu_flag || Dot11ManagementFrame::matches_flag(flag);
166 struct dot11_beacon_body {
169 capability_information capability;
172 void write_fixed_parameters(Memory::OutputMemoryStream& stream);
174 dot11_beacon_body body_;
Represents an IEEE 802.11 Beacon.
Definition dot11_beacon.h:44
uint64_t timestamp() const
Getter for the timestamp field.
Definition dot11_beacon.h:84
bool matches_flag(PDUType flag) const
Check whether this PDU matches the specified flag.
Definition dot11_beacon.h:144
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
Base class for all management frames in the IEEE 802.11 protocol.
Definition dot11_mgmt.h:45
PDUType
Enum which identifies each type of PDU.
Definition pdu.h:127
The Tins namespace.
Definition address_range.h:38