Classes | |
struct | ip_pseudo_hdr_t |
struct | udp_hdr_t |
Public Types | |
enum | udp_ip_proto_t { UDP_IP_PROTO = 17 } |
Public Member Functions | |
struct rofl::fudpframe::udp_hdr_t | __attribute__ ((packed)) |
struct rofl::fudpframe::ip_pseudo_hdr_t | __attribute__ ((packed)) |
fudpframe (uint8_t *data, size_t datalen) | |
virtual | ~fudpframe () |
void | udp_calc_checksum (caddress_in4 const &ip_src, caddress_in4 const &ip_dst, uint8_t ip_proto, uint16_t length) |
virtual bool | complete () const |
virtual size_t | need_bytes () const |
virtual void | validate (uint16_t total_len=0) const |
virtual void | initialize () |
virtual void | payload_insert (uint8_t *data, size_t datalen) throw (eFrameOutOfRange) |
virtual uint8_t * | payload () const throw (eFrameNoPayload) |
virtual size_t | payloadlen () const throw (eFrameNoPayload) |
uint16_t | get_sport () const |
void | set_sport (uint16_t port) |
uint16_t | get_dport () const |
void | set_dport (uint16_t port) |
uint16_t | get_length () |
void | set_length (uint16_t length) |
![]() | |
fframe (uint8_t *_data=NULL, size_t _datalen=0) | |
fframe (size_t len=DEFAULT_FFRAME_SIZE) | |
virtual | ~fframe () |
virtual void | reset (uint8_t *_data, size_t _datalen) |
fframe (const fframe &frame) | |
fframe & | operator= (const fframe &frame) |
virtual uint8_t * | sopdu () const |
Returns pointer to begin of this PDU. | |
virtual size_t | pdulen () const |
Returns length of this PDU. | |
virtual uint8_t * | sosdu () const |
Returns pointer to begin of SDU encapsulated in this PDU (if any). | |
virtual uint8_t & | operator[] (size_t index) throw (eFrameOutOfRange) |
virtual uint8_t * | soframe () const |
virtual size_t | framelen () const |
bool | empty () const |
void | shift_left (size_t bytes) |
void | shift_right (size_t bytes) |
Public Attributes | |
enum rofl::fudpframe::udp_ip_proto_t | __attribute__ |
struct udp_hdr_t * | udp_hdr |
uint8_t * | data |
size_t | datalen |
![]() | |
fframe * | next |
fframe * | prev |
Friends | |
std::ostream & | operator<< (std::ostream &os, fudpframe const &frame) |
fudpframe::fudpframe | ( | uint8_t * | data, |
size_t | datalen | ||
) |
constructors
|
virtual |
destructors
|
virtual |
returns boolean value indicating completeness of the packet
Reimplemented from rofl::fframe.
|
virtual |
initialize (set eth_hdr, pppoe_hdr)
Reimplemented from rofl::fframe.
|
virtual |
returns the number of bytes this packet expects from the socket next
Reimplemented from rofl::fframe.
|
virtual |
get payload
Reimplemented from rofl::fframe.
|
virtual |
insert payload
Reimplemented from rofl::fframe.
|
virtual |
get payload length
Reimplemented from rofl::fframe.
void fudpframe::udp_calc_checksum | ( | caddress_in4 const & | ip_src, |
caddress_in4 const & | ip_dst, | ||
uint8_t | ip_proto, | ||
uint16_t | length | ||
) |
calculate UDP header checksum
|
virtual |
validate (frame structure)
Reimplemented from rofl::fframe.