|
| enum | ExtensionHeader {
HOP_BY_HOP = 0
, DESTINATION_ROUTING_OPTIONS = 60
, ROUTING = 43
, FRAGMENT = 44
,
AUTHENTICATION = 51
, SECURITY_ENCAPSULATION = 50
, DESTINATION_OPTIONS = 60
, MOBILITY = 135
,
NO_NEXT_HEADER = 59
} |
| |
| enum | OptionType { PAD_1 = 0
, PAD_N = 1
, JUMBO_PAYLOAD = 0xC2
} |
| |
| typedef IPv6Address | address_type |
| |
| typedef PDUOption< uint8_t, IPv6 > | ext_header |
| |
| typedef std::vector< ext_header > | headers_type |
| |
| typedef std::pair< uint8_t, std::vector< uint8_t > > | header_option_type |
| |
| 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
, DOT1AD
, DOT1Q
, PPPOE
,
STP
, PPI
, IPSEC_AH
, IPSEC_ESP
,
PKTAP
, MPLS
, DOT11_CONTROL_TA
, UNKNOWN = 999
,
USER_DEFINED_PDU = 1000
} |
| | Enum which identifies each type of PDU. More...
|
| |
| typedef byte_array | serialization_type |
| |
|
| | IPv6 (address_type ip_dst=address_type(), address_type ip_src=address_type(), PDU *child=0) |
| | Constructs an IPv6 object. More...
|
| |
| | IPv6 (const uint8_t *buffer, uint32_t total_sz) |
| | Constructs an IPv6 object from a buffer and adds all identifiable PDUs found in the buffer as children of this one. More...
|
| |
| small_uint< 4 > | version () const |
| | Getter for the version field. More...
|
| |
| uint8_t | traffic_class () const |
| | Getter for the traffic_class field. More...
|
| |
| small_uint< 20 > | flow_label () const |
| | Getter for the flow_label field. More...
|
| |
| uint16_t | payload_length () const |
| | Getter for the payload_length field. More...
|
| |
| uint8_t | next_header () const |
| | Getter for the next_header field. More...
|
| |
| uint8_t | hop_limit () const |
| | Getter for the hop_limit field. More...
|
| |
| address_type | src_addr () const |
| | Getter for the src_addr field. More...
|
| |
| address_type | dst_addr () const |
| | Getter for the dst_addr field. More...
|
| |
| const headers_type & | headers () const |
| | Getter for the IPv6 extension headers. More...
|
| |
| void | version (small_uint< 4 > new_version) |
| | Setter for the version field. More...
|
| |
| void | traffic_class (uint8_t new_traffic_class) |
| | Setter for the traffic_class field. More...
|
| |
| void | flow_label (small_uint< 20 > new_flow_label) |
| | Setter for the flow_label field. More...
|
| |
| void | payload_length (uint16_t new_payload_length) |
| | Setter for the payload_length field. More...
|
| |
| void | next_header (uint8_t new_next_header) |
| | Setter for the next_header field. More...
|
| |
| void | hop_limit (uint8_t new_hop_limit) |
| | Setter for the hop_limit field. More...
|
| |
| void | src_addr (const address_type &new_src_addr) |
| | Setter for the src_addr field. More...
|
| |
| void | dst_addr (const address_type &new_dst_addr) |
| | Setter for the dst_addr field. More...
|
| |
| uint32_t | header_size () const |
| | Returns the header 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...
|
| |
| IPv6 * | clone () const |
| |
| PDUType | pdu_type () const |
| | Getter for the PDU's type. More...
|
| |
| void | send (PacketSender &sender, const NetworkInterface &) |
| |
| PDU * | recv_response (PacketSender &sender, const NetworkInterface &) |
| | Receives a matching response for this packet. More...
|
| |
| | TINS_DEPRECATED (void add_ext_header(const ext_header &header)) |
| |
| void | add_header (const ext_header &header) |
| |
| void | add_header (ext_header &&header) |
| |
| template<typename... Args> |
| void | add_header (Args &&... args) |
| |
| const ext_header * | search_header (ExtensionHeader id) const |
| | Searchs for an extension header that matchs the given flag. More...
|
| |
|
| 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 | header_size () const =0 |
| | The header's size. 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...
|
| |
| virtual uint32_t | advertised_size () const |
| | The whole chain of PDU's advertised 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 PDU * | clone () const =0 |
| | Clones this packet. 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_response (const uint8_t *ptr, uint32_t total_sz) const |
| | Check whether ptr points to a valid response for this PDU. More...
|
| |
| virtual bool | matches_flag (PDUType flag) const |
| | Check whether this PDU matches the specified flag. More...
|
| |
| virtual PDUType | pdu_type () const =0 |
| | Getter for the PDU's type. More...
|
| |