|
PTLib
Version 2.14.3
|
An ethernet MAC frame. More...
#include <ethsock.h>


Public Member Functions | |
| Frame (PINDEX maxSize=65536) | |
| Frame (const Frame &frame) | |
| virtual bool | Write (PChannel &channel) const |
| 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) |
| BYTE * | CreateDataLink (const Address &src, const Address &dst, unsigned proto, PINDEX length) |
| int | GetIP (PBYTEArray &payload) |
| Extract the Internet Protocol payload. More... | |
| int | GetIP (PBYTEArray &payload, PIPSocket::Address &src, PIPSocket::Address &dst) |
| BYTE * | CreateIP (const PIPSocket::Address &src, const PIPSocket::Address &dst, unsigned proto, PINDEX length) |
| bool | GetUDP (PBYTEArray &payload, WORD &srcPort, WORD &dstPort) |
| Extract the UDP payload. More... | |
| bool | GetUDP (PBYTEArray &payload, PIPSocketAddressAndPort &src, PIPSocketAddressAndPort &dst) |
| BYTE * | CreateUDP (const PIPSocketAddressAndPort &src, const PIPSocketAddressAndPort &dst, PINDEX length) |
| bool | GetTCP (PBYTEArray &payload, WORD &srcPort, WORD &dstPort) |
| Extract the TCP payload. More... | |
| bool | GetTCP (PBYTEArray &payload, PIPSocketAddressAndPort &src, PIPSocketAddressAndPort &dst) |
| BYTE * | CreateTCP (const PIPSocketAddressAndPort &src, const PIPSocketAddressAndPort &dst, PINDEX length) |
| const PTime & | GetTimestamp () const |
| bool | IsFragmentated () const |
| PINDEX | GetSize () 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 | |
| PBYTEArray | m_rawData |
| PINDEX | m_rawSize |
| PBYTEArray | m_fragments |
| bool | m_fragmentated |
| unsigned | m_fragmentProto |
| bool | m_fragmentProcessed |
| PTime | m_timestamp |
| 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 | |
An ethernet MAC frame.
| PEthSocket::Frame::Frame | ( | PINDEX | maxSize = 65536 | ) |
| PEthSocket::Frame::Frame | ( | const Frame & | frame | ) |
| BYTE* PEthSocket::Frame::CreateDataLink | ( | const Address & | src, |
| const Address & | dst, | ||
| unsigned | proto, | ||
| PINDEX | length | ||
| ) |
| BYTE* PEthSocket::Frame::CreateIP | ( | const PIPSocket::Address & | src, |
| const PIPSocket::Address & | dst, | ||
| unsigned | proto, | ||
| PINDEX | length | ||
| ) |
| BYTE* PEthSocket::Frame::CreateTCP | ( | const PIPSocketAddressAndPort & | src, |
| const PIPSocketAddressAndPort & | dst, | ||
| PINDEX | length | ||
| ) |
| BYTE* PEthSocket::Frame::CreateUDP | ( | const PIPSocketAddressAndPort & | src, |
| const PIPSocketAddressAndPort & | dst, | ||
| PINDEX | length | ||
| ) |
| int PEthSocket::Frame::GetDataLink | ( | PBYTEArray & | payload | ) |
Extract the data link payload.
| int PEthSocket::Frame::GetDataLink | ( | PBYTEArray & | payload, |
| Address & | src, | ||
| Address & | dst | ||
| ) |
| int PEthSocket::Frame::GetIP | ( | PBYTEArray & | payload | ) |
Extract the Internet Protocol payload.
| int PEthSocket::Frame::GetIP | ( | PBYTEArray & | payload, |
| PIPSocket::Address & | src, | ||
| PIPSocket::Address & | dst | ||
| ) |
|
inline |
References m_rawSize.
| bool PEthSocket::Frame::GetTCP | ( | PBYTEArray & | payload, |
| WORD & | srcPort, | ||
| WORD & | dstPort | ||
| ) |
Extract the TCP payload.
| bool PEthSocket::Frame::GetTCP | ( | PBYTEArray & | payload, |
| PIPSocketAddressAndPort & | src, | ||
| PIPSocketAddressAndPort & | dst | ||
| ) |
|
inline |
References m_timestamp.
| bool PEthSocket::Frame::GetUDP | ( | PBYTEArray & | payload, |
| WORD & | srcPort, | ||
| WORD & | dstPort | ||
| ) |
Extract the UDP payload.
| bool PEthSocket::Frame::GetUDP | ( | PBYTEArray & | payload, |
| PIPSocketAddressAndPort & | src, | ||
| PIPSocketAddressAndPort & | dst | ||
| ) |
|
inline |
References m_fragmentated.
| void PEthSocket::Frame::PreRead | ( | ) |
|
virtual |
Referenced by PEthSocket::ReadFrame().
|
virtual |
|
protected |
Referenced by IsFragmentated().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetSize().
|
protected |
Referenced by GetTimestamp().