PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
PEthSocket::Frame Class Reference

An ethernet MAC frame. More...

`#include <ethsock.h>`

Inheritance diagram for PEthSocket::Frame:
[legend]
Collaboration diagram for PEthSocket::Frame:
[legend]

## Public Member Functions
| Frame (PINDEX maxSize=65536)
virtual bool | Read (PChannel &channel, PINDEX packetSize=P_MAX_INDEX)
void | PreRead ()
int | GetDataLink (PBYTEArray &payload)
| Extract the data link payload. More...
int | GetDataLink (PBYTEArray &payload, Address &src, Address &dst)
int | GetIP (PBYTEArray &payload)
| Extract the Internet Protocol payload. More...
int | GetIP (PBYTEArray &payload, PIPSocket::Address &src, PIPSocket::Address &dst)
bool | GetUDP (PBYTEArray &payload, WORD &srcPort, WORD &dstPort)
| Extract the UDP payload. More...
bool | GetUDP (PBYTEArray &payload, PIPSocketAddressAndPort &src, PIPSocketAddressAndPort &dst)
bool | GetTCP (PBYTEArray &payload, WORD &srcPort, WORD &dstPort)
| Extract the TCP payload. More...
bool | GetTCP (PBYTEArray &payload, PIPSocketAddressAndPort &src, PIPSocketAddressAndPort &dst)
const PTime & | GetTimestamp () const
bool | IsFragmentated () const
Public Member Functions inherited from PObject
unsigned | GetTraceContextIdentifier () const
| Get PTRACE context identifier. More...
void | SetTraceContextIdentifier (unsigned id)
void | GetTraceContextIdentifier (PObject &obj)
void | GetTraceContextIdentifier (PObject *obj)
void | SetTraceContextIdentifier (const PObject &obj)
void | SetTraceContextIdentifier (const PObject *obj)
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
template<class CLS >
CLS * | CloneAs () const
| As for Clone() but converts to specified type. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
__inline const PObject * | PTraceObjectInstance () const
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Attributes
PTime | m_timestamp
PBYTEArray | m_rawData
PINDEX | m_rawSize
PBYTEArray | m_fragments
bool | m_fragmentated
unsigned | m_fragmentProto
bool | m_fragmentProcessed
PIPSocket::Address | m_fragmentSrcIP
PIPSocket::Address | m_fragmentDstIP
Protected Attributes inherited from PObject
unsigned | m_traceContextIdentifier

## Additional Inherited Members
Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...
static __inline const PObject * | PTraceObjectInstance (const char *)
static __inline const PObject * | PTraceObjectInstance (const PObject *obj)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...
Friends inherited from PObject

## Detailed Description

An ethernet MAC frame.

## Constructor & Destructor Documentation

PEthSocket::Frame::Frame | ( | PINDEX | maxSize = `65536` | ) |

## Member Function Documentation

int PEthSocket::Frame::GetDataLink | ( | PBYTEArray & | payload | ) |

Extract the data link payload.

Returns
  the protocol identifier for the payload.

int PEthSocket::Frame::GetDataLink | ( | PBYTEArray & | payload,
|  | Address & | src,
|  | Address & | dst
| ) |  |

int PEthSocket::Frame::GetIP | ( | PBYTEArray & | payload | ) |

Extract the Internet Protocol payload.

Returns
  the protocol identifier for the payload.

int PEthSocket::Frame::GetIP | ( | PBYTEArray & | payload,
|  | PIPSocket::Address & | src,
|  | PIPSocket::Address & | dst
| ) |  |

bool PEthSocket::Frame::GetTCP | ( | PBYTEArray & | payload,
|  | WORD & | srcPort,
|  | WORD & | dstPort
| ) |  |

Extract the TCP payload.

Returns
  the protocol identifier for the payload.

bool PEthSocket::Frame::GetTCP | ( | PBYTEArray & | payload,
|  | PIPSocketAddressAndPort & | src,
|  | PIPSocketAddressAndPort & | dst
| ) |  |

const PTime& PEthSocket::Frame::GetTimestamp | ( |  | ) | const
| inline

References m_timestamp.

bool PEthSocket::Frame::GetUDP | ( | PBYTEArray & | payload,
|  | WORD & | srcPort,
|  | WORD & | dstPort
| ) |  |

Extract the UDP payload.

Returns
  the protocol identifier for the payload.

bool PEthSocket::Frame::GetUDP | ( | PBYTEArray & | payload,
|  | PIPSocketAddressAndPort & | src,
|  | PIPSocketAddressAndPort & | dst
| ) |  |

bool PEthSocket::Frame::IsFragmentated | ( |  | ) | const
| inline

References m_fragmentated.

void PEthSocket::Frame::PreRead | ( |  | ) |

virtual bool PEthSocket::Frame::Read | ( | PChannel & | channel,
|  | PINDEX | packetSize = `P_MAX_INDEX`
| ) |  |
| virtual

Referenced by PEthSocket::ReadFrame().

## Member Data Documentation

bool PEthSocket::Frame::m_fragmentated
| protected

Referenced by IsFragmentated().

PIPSocket::Address PEthSocket::Frame::m_fragmentDstIP
| protected

bool PEthSocket::Frame::m_fragmentProcessed
| protected

unsigned PEthSocket::Frame::m_fragmentProto
| protected

PBYTEArray PEthSocket::Frame::m_fragments
| protected

PIPSocket::Address PEthSocket::Frame::m_fragmentSrcIP
| protected

PBYTEArray PEthSocket::Frame::m_rawData
| protected

PINDEX PEthSocket::Frame::m_rawSize
| protected

PTime PEthSocket::Frame::m_timestamp
| protected

Referenced by GetTimestamp().

The documentation for this class was generated from the following file:

- ethsock.h