|
| | DhcpMessage () |
| |
| | DhcpMessage (const DhcpMessage &other) |
| |
| virtual | ~DhcpMessage () |
| |
| DhcpMessage & | operator= (const DhcpMessage &other) |
| |
| virtual DhcpMessage * | dup () const override |
| |
| virtual void | parsimPack (omnetpp::cCommBuffer *b) const override |
| |
| virtual void | parsimUnpack (omnetpp::cCommBuffer *b) override |
| |
| virtual DhcpOpcode | getOp () const |
| |
| virtual void | setOp (DhcpOpcode op) |
| |
| virtual int | getHtype () const |
| |
| virtual void | setHtype (int htype) |
| |
| virtual int | getHlen () const |
| |
| virtual void | setHlen (int hlen) |
| |
| virtual int | getHops () const |
| |
| virtual void | setHops (int hops) |
| |
| virtual unsigned int | getXid () const |
| |
| virtual void | setXid (unsigned int xid) |
| |
| virtual int | getSecs () const |
| |
| virtual void | setSecs (int secs) |
| |
| virtual bool | getBroadcast () const |
| |
| virtual void | setBroadcast (bool broadcast) |
| |
| virtual uint16_t | getReserved () const |
| |
| virtual void | setReserved (uint16_t reserved) |
| |
| virtual const Ipv4Address & | getCiaddr () const |
| |
| virtual Ipv4Address & | getCiaddrForUpdate () |
| |
| virtual void | setCiaddr (const Ipv4Address &ciaddr) |
| |
| virtual const Ipv4Address & | getYiaddr () const |
| |
| virtual Ipv4Address & | getYiaddrForUpdate () |
| |
| virtual void | setYiaddr (const Ipv4Address &yiaddr) |
| |
| virtual const Ipv4Address & | getGiaddr () const |
| |
| virtual Ipv4Address & | getGiaddrForUpdate () |
| |
| virtual void | setGiaddr (const Ipv4Address &giaddr) |
| |
| virtual const MacAddress & | getChaddr () const |
| |
| virtual MacAddress & | getChaddrForUpdate () |
| |
| virtual void | setChaddr (const MacAddress &chaddr) |
| |
| virtual const char * | getSname () const |
| |
| virtual void | setSname (const char *sname) |
| |
| virtual const char * | getFile () const |
| |
| virtual void | setFile (const char *file) |
| |
| virtual const DhcpOptions & | getOptions () const |
| |
| virtual DhcpOptions & | getOptionsForUpdate () |
| |
| virtual void | setOptions (const DhcpOptions &options) |
| |
| | FieldsChunk () |
| |
| | FieldsChunk (const FieldsChunk &other) |
| |
| virtual | ~FieldsChunk () |
| |
| virtual void | parsimPack (cCommBuffer *buffer) const override |
| |
| virtual void | parsimUnpack (cCommBuffer *buffer) override |
| |
| virtual void | handleChange () override |
| |
| virtual ChunkType | getChunkType () const override |
| | Returns the type of this chunk as an enum member. More...
|
| |
| virtual bool | containsSameData (const Chunk &other) const override |
| | Returns true if the two chunks represent the same binary data. More...
|
| |
| virtual b | getChunkLength () const override |
| | Returns the length of data represented by this chunk. More...
|
| |
| virtual void | setChunkLength (b chunkLength) |
| |
| virtual void | addChunkLength (b chunkLength) |
| |
| virtual std::ostream & | printFieldsToStream (std::ostream &stream, int level, int evFlags=0) const override |
| | Prints an optinally formatted human readable string representation of the feilds of this chunk to the given stream. More...
|
| |
| | Chunk () |
| |
| | Chunk (const Chunk &other) |
| |
| virtual const Ptr< Chunk > | dupShared () const |
| | Returns a mutable copy of this chunk in a shared pointer. More...
|
| |
| virtual void | forEachChild (cVisitor *v) override |
| |
| virtual bool | isMutable () const |
| |
| virtual bool | isImmutable () const |
| |
| virtual void | markImmutable () |
| |
| void | markMutableIfExclusivelyOwned () |
| |
| virtual bool | isComplete () const |
| |
| virtual bool | isIncomplete () const |
| |
| virtual void | markIncomplete () |
| |
| virtual bool | isCorrect () const |
| |
| virtual bool | isIncorrect () const |
| |
| virtual void | markIncorrect () |
| |
| virtual bool | isProperlyRepresented () const |
| |
| virtual bool | isImproperlyRepresented () const |
| |
| virtual void | markImproperlyRepresented () |
| |
| virtual void | moveIterator (Iterator &iterator, b length) const |
| |
| virtual void | seekIterator (Iterator &iterator, b position) const |
| |
| virtual bool | canInsertAtFront (const Ptr< const Chunk > &chunk) const |
| | Returns true if this chunk is capable of representing the result. More...
|
| |
| virtual bool | canInsertAtBack (const Ptr< const Chunk > &chunk) const |
| | Returns true if this chunk is capable of representing the result. More...
|
| |
| virtual bool | canInsertAt (const Ptr< const Chunk > &chunk, b offset) const |
| | Returns true if this chunk is capable of representing the result. More...
|
| |
| void | insertAtFront (const Ptr< const Chunk > &chunk) |
| | Inserts the provided chunk at the beginning of this chunk. More...
|
| |
| void | insertAtBack (const Ptr< const Chunk > &chunk) |
| | Inserts the provided chunk at the end of this chunk. More...
|
| |
| void | insertAt (const Ptr< const Chunk > &chunk, b offset) |
| | Inserts the provided chunk into this chunk. More...
|
| |
| virtual bool | canRemoveAtFront (b length) const |
| | Returns true if this chunk is capable of representing the result. More...
|
| |
| virtual bool | canRemoveAtBack (b length) const |
| | Returns true if this chunk is capable of representing the result. More...
|
| |
| virtual bool | canRemoveAt (b offset, b length) const |
| | Returns true if this chunk is capable of representing the result. More...
|
| |
| void | removeAtFront (b length) |
| | Removes the requested part from the beginning of this chunk. More...
|
| |
| void | removeAtBack (b length) |
| | Removes the requested part from the end of this chunk. More...
|
| |
| void | removeAt (b offset, b length) |
| | Removes the requested part from this chunk. More...
|
| |
| int | getChunkId () const |
| | Returns the sequentially assigned id. More...
|
| |
| virtual bool | isEmpty () const |
| | Returns true if this chunk contains no data. More...
|
| |
| const Ptr< Chunk > | simplify () const |
| | Returns the simplified representation of this chunk eliminating all potential redundancies. More...
|
| |
| const Ptr< Chunk > | peek (const Iterator &iterator, b length=unspecifiedLength, int flags=0) const |
| | Returns the designated part of the data represented by this chunk in its default representation. More...
|
| |
| template<typename T > |
| bool | has (const Iterator &iterator, b length=unspecifiedLength) const |
| | Returns whether if the designated part of the data is available in the requested representation. More...
|
| |
| template<typename T > |
| const Ptr< T > | peek (const Iterator &iterator, b length=unspecifiedLength, int flags=0) const |
| | Returns the designated part of the data represented by this chunk in the requested representation. More...
|
| |
| virtual SharingRegionTagSet & | getRegionTags () override |
| | Returns all region tags. More...
|
| |
| int | getNumTags () const |
| | Returns the number of chunk tags. More...
|
| |
| const Ptr< const TagBase > | getTag (int index) const |
| | Returns the chunk tag at the given index. More...
|
| |
| void | clearTags (b offset=b(0), b length=b(-1)) |
| | Clears the set of chunk tags in the given region. More...
|
| |
| void | copyTags (const Chunk &source, b sourceOffset=b(0), b offset=b(0), b length=b(-1)) |
| | Copies the set of chunk tags from the source region to the provided region. More...
|
| |
| template<typename T > |
| const Ptr< const T > | findTag (b offset=b(0), b length=b(-1)) const |
| | Returns the chunk tag for the provided type and range, or returns nullptr if no such chunk tag is found. More...
|
| |
| template<typename T > |
| const Ptr< const T > | getTag (b offset=b(0), b length=b(-1)) const |
| | Returns the chunk tag for the provided type and range, or throws an exception if no such chunk tag is found. More...
|
| |
| template<typename T > |
| void | mapAllTags (b offset, b length, std::function< void(b, b, const Ptr< const T > &)> f) const |
| | Maps all tags in the provided range to to the function. More...
|
| |
| template<typename T > |
| void | mapAllTagsForUpdate (b offset, b length, std::function< void(b, b, const Ptr< T > &)> f) |
| | Maps all tags in the provided range to to the function. More...
|
| |
| template<typename T > |
| std::vector< SharingRegionTagSet::RegionTag< const T > > | getAllTags (b offset=b(0), b length=b(-1)) const |
| | Returns all chunk tags for the provided type and range in a detached vector of region tags. More...
|
| |
| template<typename T > |
| std::vector< SharingRegionTagSet::RegionTag< T > > | getAllTagsForUpdate (b offset=b(0), b length=b(-1)) |
| | Returns all chunk tags for the provided type and range in a detached vector of region tags. More...
|
| |
| template<typename T > |
| const Ptr< T > | addTag (b offset=b(0), b length=b(-1)) |
| | Returns a newly added chunk tag for the provided type and range, or throws an exception if such a chunk tag is already present. More...
|
| |
| template<typename T > |
| const Ptr< T > | addTagIfAbsent (b offset=b(0), b length=b(-1)) |
| | Returns a newly added chunk tag for the provided type and range if absent, or returns the chunk tag that is already present. More...
|
| |
| template<typename T > |
| std::vector< SharingRegionTagSet::RegionTag< T > > | addTagsWhereAbsent (b offset=b(0), b length=b(-1)) |
| | Returns the newly added chunk tags for the provided type and range where the tag is absent. More...
|
| |
| template<typename T > |
| const Ptr< T > | removeTag (b offset, b length) |
| | Removes the chunk tag for the provided type and range, or throws an exception if no such chunk tag is found. More...
|
| |
| template<typename T > |
| const Ptr< T > | removeTagIfPresent (b offset, b length) |
| | Removes the chunk tag for the provided type and range if present, or returns nullptr if no such chunk tag is found. More...
|
| |
| template<typename T > |
| std::vector< SharingRegionTagSet::RegionTag< T > > | removeTagsWherePresent (b offset, b length) |
| | Removes and returns all chunk tags for the provided type and range. More...
|
| |
| virtual std::ostream & | printToStream (std::ostream &stream, int level, int evFlags=0) const override |
| | Prints an optinally formatted human readable string representation of the data present in this chunk to the given stream. More...
|
| |
| virtual std::string | str () const override |
| | Returns a human readable string representation of the data present in this chunk. More...
|
| |
| virtual | ~IPrintableObject () |
| |
| virtual std::string | printToString () const |
| |
| virtual std::string | printToString (int level, int evFlags=0) const |
| |
| virtual std::string | getInfoStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getDetailStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getDebugStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getTraceStringRepresentation (int evFlags=0) const |
| |
| virtual std::string | getCompleteStringRepresentation (int evFlags=0) const |
| |
|
| enum | ChunkType {
CT_EMPTY,
CT_BITCOUNT,
CT_BITS,
CT_BYTECOUNT,
CT_BYTES,
CT_SLICE,
CT_ENCRYPTED,
CT_CPACKET,
CT_SEQUENCE,
CT_FIELDS
} |
| | This enum is used to avoid std::dynamic_cast and dynamicPtrCast. More...
|
| |
| enum | PeekFlag {
PF_ALLOW_NULLPTR = (1 << 0),
PF_ALLOW_EMPTY = (1 << 1),
PF_ALLOW_INCOMPLETE = (1 << 2),
PF_ALLOW_INCORRECT = (1 << 3),
PF_ALLOW_IMPROPERLY_REPRESENTED = (1 << 4),
PF_ALLOW_SERIALIZATION = (1 << 5),
PF_ALLOW_ALL = -1
} |
| | This enum specifies bitmasks for the flags argument of various peek functions. More...
|
| |
| enum | PrintLevel {
PRINT_LEVEL_TRACE,
PRINT_LEVEL_DEBUG,
PRINT_LEVEL_DETAIL,
PRINT_LEVEL_INFO,
PRINT_LEVEL_COMPLETE = INT_MIN
} |
| |
| enum | PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0),
PRINT_FLAG_MULTILINE = (1 << 1)
} |
| |
| static void | serialize (MemoryOutputStream &stream, const Ptr< const Chunk > &chunk, b offset=b(0), b length=b(-1)) |
| | Serializes a chunk into the given stream. More...
|
| |
| static const Ptr< Chunk > | deserialize (MemoryInputStream &stream, const std::type_info &typeInfo) |
| | Deserializes a chunk from the given stream. More...
|
| |
| static const b | unspecifiedLength = b(-std::numeric_limits<int64_t>::max()) |
| |
| static bool | enableImplicitChunkSerialization = false |
| | Peeking some part into a chunk that requires automatic serialization will throw an exception when implicit chunk serialization is disabled. More...
|
| |
| static int | nextId = 0 |
| |
| enum | ChunkFlag { CF_IMMUTABLE = (1 << 0),
CF_INCOMPLETE = (1 << 1),
CF_INCORRECT = (1 << 2),
CF_IMPROPERLY_REPRESENTED = (1 << 3)
} |
| | This enum specifies bitmasks for the flags field of Chunk. More...
|
| |
| typedef bool(* | PeekPredicate) (const Ptr< Chunk > &) |
| |
| static const Ptr< Chunk > | convertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags) |
| |
| static const Ptr< Chunk > | convertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags) |
| | Creates a new chunk of the given type that represents the designated part of the provided chunk. More...
|
| |
Class generated from inet/applications/dhcp/DhcpMessage.msg:96 by opp_msgtool.
//
// Represents a DHCP message. DHCP (Dynamic Host Configuration Protocol, RFC 2131)
// provides a framework for passing configuration information to hosts on a TCP/IP network.
//
// @see DhcpClient, DhcpServer
//
class DhcpMessage extends FieldsChunk
{
DhcpOpcode op; // message op code / message type. 1 = BOOTREQUEST, 2 = BOOTREPLY
int htype; // hardware address type, see Arp section in "Assigned Numbers" RFC; e.g., '1' = 10mb ethernet
int hlen; // hardware address length (e.g. '6' for 10mb ethernet)
int hops; // client sets to zero, optionally used by relay agents when booting via a relay agent
unsigned int xid; // transaction ID, a random number chosen by the client, used by the client and server to associate messages and responses between a client and a server
int secs; // filled in by client, seconds elapsed since client began address acquisition or renewal process
bool broadcast; // the broadcast bit in the flags field
uint16_t reserved = 0; // MUST BE ZERO (reserved for future use)
Ipv4Address ciaddr; // client IP address; only filled in if client is in BOUND, RENEW or REBINDING state and can respond to Arp requests
Ipv4Address yiaddr; // 'your' (client) IP address
Ipv4Address giaddr; // relay agent IP address, used in booting via a relay agent
MacAddress chaddr; // client hardware address (MAC)
string sname; // optional server host name
string file; // boot file name (unused in the simulation)
DhcpOptions options; // holds DHCP options
}