|
libtins
4.0
|
Public Types | |
| typedef std::vector< uint8_t > | payload_type |
Public Types inherited from Tins::PDU | |
| enum | endian_type { BE, LE } |
| enum | PDUType { RAW, ETHERNET_II, IEEE802_3, DOT3 = IEEE802_3, RADIOTAP, DOT11, DOT11_ACK, DOT11_ASSOC_REQ, DOT11_ASSOC_RESP, DOT11_AUTH, DOT11_BEACON, DOT11_BLOCK_ACK, DOT11_BLOCK_ACK_REQ, DOT11_CF_END, DOT11_DATA, DOT11_CONTROL, DOT11_DEAUTH, DOT11_DIASSOC, DOT11_END_CF_ACK, DOT11_MANAGEMENT, DOT11_PROBE_REQ, DOT11_PROBE_RESP, DOT11_PS_POLL, DOT11_REASSOC_REQ, DOT11_REASSOC_RESP, DOT11_RTS, DOT11_QOS_DATA, LLC, SNAP, IP, ARP, TCP, UDP, ICMP, BOOTP, DHCP, EAPOL, RC4EAPOL, RSNEAPOL, DNS, LOOPBACK, IPv6, ICMPv6, SLL, DHCPv6, DOT1Q, PPPOE, STP, PPI, IPSEC_AH, IPSEC_ESP, PKTAP, MPLS, UNKNOWN = 999, USER_DEFINED_PDU = 1000 } |
| Enum which identifies each type of PDU. More... | |
| typedef byte_array | serialization_type |
Public Member Functions | |
| RawPDU (const uint8_t *pload, uint32_t size) | |
| Creates an instance of RawPDU. More... | |
| template<typename ForwardIterator > | |
| RawPDU (ForwardIterator start, ForwardIterator end) | |
| Constructs a RawPDU from an iterator range. More... | |
| RawPDU (const payload_type &data) | |
| Creates an instance of RawPDU from a payload_type. More... | |
| RawPDU (payload_type &&data) | |
| Creates an instance of RawPDU from a payload_type. More... | |
| RawPDU (const std::string &data) | |
| Creates an instance of RawPDU from an input string. More... | |
| void | payload (const payload_type &pload) |
| Setter for the payload field. More... | |
| template<typename ForwardIterator > | |
| void | payload (ForwardIterator start, ForwardIterator end) |
| Setter for the payload field. More... | |
| const payload_type & | payload () const |
| Const getter for the payload. More... | |
| payload_type & | payload () |
| Non-const getter for the payload. More... | |
| uint32_t | header_size () const |
| Returns the header size. More... | |
| uint32_t | payload_size () const |
| Returns the payload size. More... | |
| bool | matches_response (const uint8_t *ptr, uint32_t total_sz) const |
| Check whether ptr points to a valid response for this PDU. More... | |
| PDUType | pdu_type () const |
| Getter for the PDU's type. More... | |
| template<typename T > | |
| T | to () const |
| Constructs the given PDU type from the raw data stored in this RawPDU. | |
| RawPDU * | clone () const |
Public Member Functions inherited from Tins::PDU | |
| PDU () | |
| Default constructor. | |
| PDU (PDU &&rhs) TINS_NOEXCEPT | |
| Move constructor. More... | |
| PDU & | operator= (PDU &&rhs) TINS_NOEXCEPT |
| Move assignment operator. More... | |
| virtual | ~PDU () |
| PDU destructor. More... | |
| virtual uint32_t | trailer_size () const |
| Trailer's size. More... | |
| uint32_t | size () const |
| The whole chain of PDU's size, including this one. More... | |
| PDU * | inner_pdu () const |
| Getter for the inner PDU. More... | |
| PDU * | parent_pdu () const |
| PDU * | release_inner_pdu () |
| Releases the inner PDU. More... | |
| void | inner_pdu (PDU *next_pdu) |
| Sets the child PDU. More... | |
| void | inner_pdu (const PDU &next_pdu) |
| Sets the child PDU. More... | |
| serialization_type | serialize () |
| Serializes the whole chain of PDU's, including this one. More... | |
| template<typename T > | |
| T * | find_pdu (PDUType type=T::pdu_flag) |
| Finds and returns the first PDU that matches the given flag. More... | |
| template<typename T > | |
| const T * | find_pdu (PDUType type=T::pdu_flag) const |
| Finds and returns the first PDU that matches the given flag. More... | |
| template<typename T > | |
| T & | rfind_pdu (PDUType type=T::pdu_flag) |
| Finds and returns the first PDU that matches the given flag. More... | |
| template<typename T > | |
| const T & | rfind_pdu (PDUType type=T::pdu_flag) const |
| Finds and returns the first PDU that matches the given flag. More... | |
| virtual void | send (PacketSender &sender, const NetworkInterface &iface) |
| Send the stack of PDUs through a PacketSender. More... | |
| virtual PDU * | recv_response (PacketSender &sender, const NetworkInterface &iface) |
| Receives a matching response for this packet. More... | |
| virtual bool | matches_flag (PDUType flag) const |
| Check whether this PDU matches the specified flag. More... | |
Static Public Attributes | |
| static const PDU::PDUType | pdu_flag = PDU::RAW |
Static Public Attributes inherited from Tins::PDU | |
| static const endian_type | endianness = BE |
Additional Inherited Members | |
Protected Member Functions inherited from Tins::PDU | |
| PDU (const PDU &other) | |
| Copy constructor. | |
| PDU & | operator= (const PDU &other) |
| Copy assignment operator. | |
| void | copy_inner_pdu (const PDU &pdu) |
| Copy other PDU's inner PDU(if any). More... | |
| virtual void | prepare_for_serialize () |
| Prepares this PDU for serialization. More... | |
| void | serialize (uint8_t *buffer, uint32_t total_sz) |
| Serializes this PDU and propagates this action to child PDUs. More... | |
| typedef std::vector<uint8_t> Tins::RawPDU::payload_type |
The type used to store the payload.
| Tins::RawPDU::RawPDU | ( | const uint8_t * | pload, |
| uint32_t | size | ||
| ) |
|
inline |
|
inline |
|
inline |
| Tins::RawPDU::RawPDU | ( | const std::string & | data | ) |
Creates an instance of RawPDU from an input string.
| data | The content of the payload. |
|
inlinevirtual |
Implements Tins::PDU.
|
virtual |
Returns the header size.
This returns the same as RawPDU::payload_size().
This method overrides PDU::header_size.
Implements Tins::PDU.
|
virtual |
Check whether ptr points to a valid response for this PDU.
This always returns true, since we don't know what this RawPDU is holding.
| ptr | The pointer to the buffer. |
| total_sz | The size of the buffer. |
Reimplemented from Tins::PDU.
| void Tins::RawPDU::payload | ( | const payload_type & | pload | ) |
Setter for the payload field.
| pload | The payload to be set. |
|
inline |
Setter for the payload field.
| start | The start of the new payload. |
| end | The end of the new payload. |
|
inline |
Const getter for the payload.
|
inline |
Non-const getter for the payload.
|
inline |
Returns the payload size.
|
inlinevirtual |
|
static |
This PDU's flag.
1.8.11