|
enum | Format { INFORMATION = 0
, SUPERVISORY = 1
, UNNUMBERED = 3
} |
| LLC Format flags.
|
|
enum | ModifierFunctions {
UI = 0x00
, XID = 0x1D
, TEST = 0x07
, SABME = 0x1E
,
DISC = 0x02
, UA = 0x06
, DM = 0x18
, FRMR = 0x11
} |
| LLC Modifier functions.
|
|
enum | SupervisoryFunctions { RECEIVE_READY = 0
, REJECT = 2
, RECEIVE_NOT_READY = 1
} |
| LLC Supervisory functions.
|
|
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 |
|
|
| LLC () |
| Default constructor.
|
|
| LLC (uint8_t dsap, uint8_t ssap) |
| Constructs an instance of LLC, setting the dsap and ssap. The control field is set to 0. More...
|
|
| LLC (const uint8_t *buffer, uint32_t total_sz) |
| Constructs a LLC object from a buffer and adds all identifiable PDUs found in the buffer as children of this one. More...
|
|
void | group (bool value) |
| Setter for the group destination bit. More...
|
|
void | dsap (uint8_t new_dsap) |
| Setter for the dsap field. More...
|
|
void | response (bool value) |
| Setter for the response bit. More...
|
|
void | ssap (uint8_t new_ssap) |
| Setter for the ssap field. More...
|
|
void | type (Format type) |
| Setter for the LLC frame format type. More...
|
|
void | send_seq_number (uint8_t seq_number) |
| Setter for sender send sequence number. Only applied if format is INFORMATION. More...
|
|
void | receive_seq_number (uint8_t seq_number) |
| Setter for sender receive sequence number. Only applied if format is INFORMATION or SUPERVISORY. More...
|
|
void | poll_final (bool value) |
| Setter for the poll/final flag. More...
|
|
void | supervisory_function (SupervisoryFunctions new_func) |
| Setter for the supervisory function. Only applied if format is SUPERVISORY. More...
|
|
void | modifier_function (ModifierFunctions mod_func) |
| Setter for the modifier function field. Only applied if format is UNNUMBERED. More...
|
|
void | add_xid_information (uint8_t xid_id, uint8_t llc_type_class, uint8_t receive_window) |
| Add a xid information field. Only applied if format is UNNUMBERED and function is XID. More...
|
|
bool | group () |
| Getter for the group destination bit. More...
|
|
uint8_t | dsap () |
| Getter for the dsap field. More...
|
|
bool | response () |
| Getter for the response bit. More...
|
|
uint8_t | ssap () |
| Getter for the ssap field. More...
|
|
uint8_t | type () |
| Getter for the LLC frame format type. More...
|
|
uint8_t | send_seq_number () |
| Getter for sender send sequence number. More...
|
|
uint8_t | receive_seq_number () |
| Getter for sender receive sequence number. More...
|
|
bool | poll_final () |
| Getter for the poll/final flag. More...
|
|
uint8_t | supervisory_function () |
| Getter for the supervisory function. More...
|
|
uint8_t | modifier_function () |
| Getter for the modifier function field. More...
|
|
uint32_t | header_size () const |
| Returns the LLC frame's header length. More...
|
|
PDUType | pdu_type () const |
| Getter for the PDU's type. More...
|
|
void | clear_information_fields () |
| Delete all the information fields added.
|
|
LLC * | clone () const |
| Clones this PDU. 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 | 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 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...
|
|
Representing a LLC frame.
This PDU follows the standard LLC frame described in the IEEE 802.2 specs.