34#include <tins/macros.h>
35#include <tins/endianness.h>
36#include <tins/small_uint.h>
50class TINS_API PPI :
public PDU {
55 static const PDU::PDUType pdu_flag = PDU::PPI;
68 PPI(
const uint8_t* buffer, uint32_t total_sz);
76 uint8_t version()
const {
77 return header_.version;
84 uint8_t flags()
const {
92 uint16_t length()
const {
93 return Endian::le_to_host(header_.length);
100 uint32_t dlt()
const {
101 return Endian::le_to_host(header_.dlt);
109 uint32_t header_size()
const;
115 PDUType pdu_type()
const {
125 return new PPI(*
this);
128 void write_serialization(uint8_t* buffer, uint32_t total_sz);
129 void parse_80211(
const uint8_t* buffer, uint32_t total_sz);
132 uint8_t version, flags;
The Tins namespace.
Definition address_range.h:38
std::vector< uint8_t > byte_array
Definition pdu.h:50