|
INET Framework for OMNeT++/OMNEST
|
00001 // 00002 // Generated file, do not edit! Created by opp_msgc 4.2 from networklayer/icmpv6/ICMPv6Message.msg. 00003 // 00004 00005 #ifndef _ICMPV6MESSAGE_M_H_ 00006 #define _ICMPV6MESSAGE_M_H_ 00007 00008 #include <omnetpp.h> 00009 00010 // opp_msgc version check 00011 #define MSGC_VERSION 0x0402 00012 #if (MSGC_VERSION!=OMNETPP_VERSION) 00013 # error Version mismatch! Probably this file was generated by an earlier version of opp_msgc: 'make clean' should help. 00014 #endif 00015 00016 // cplusplus {{ 00017 #include "INETDefs.h" 00018 #define ICMPv6_HEADER_BYTES 8 00019 // }} 00020 00021 00022 00048 enum ICMPv6Type { 00049 ICMPv6_UNSPECIFIED = 0, 00050 ICMPv6_DESTINATION_UNREACHABLE = 1, 00051 ICMPv6_PACKET_TOO_BIG = 2, 00052 ICMPv6_TIME_EXCEEDED = 3, 00053 ICMPv6_PARAMETER_PROBLEM = 4, 00054 ICMPv6_ECHO_REQUEST = 128, 00055 ICMPv6_ECHO_REPLY = 129, 00056 ICMPv6_MLD_QUERY = 130, 00057 ICMPv6_MLD_REPORT = 131, 00058 ICMPv6_MLD_DONE = 132, 00059 ICMPv6_ROUTER_SOL = 133, 00060 ICMPv6_ROUTER_AD = 134, 00061 ICMPv6_NEIGHBOUR_SOL = 135, 00062 ICMPv6_NEIGHBOUR_AD = 136, 00063 ICMPv6_REDIRECT = 137, 00064 ICMPv6_MLDv2_REPORT = 143 00065 }; 00066 00081 enum ICMPv6DEST_UN { 00082 NO_ROUTE_TO_DEST = 0, 00083 COMM_WITH_DEST_PROHIBITED = 1, 00084 ADDRESS_UNREACHABLE = 3, 00085 PORT_UNREACHABLE = 4 00086 }; 00087 00099 enum ICMPv6_TIME_EX { 00100 ND_HOP_LIMIT_EXCEEDED = 0, 00101 ND_FRAGMENT_REASSEMBLY_TIME = 1 00102 }; 00103 00116 enum ICMPv6_PARAMETER_PROB { 00117 ERROREOUS_HDR_FIELD = 0, 00118 UNRECOGNIZED_NEXT_HDR_TYPE = 1, 00119 UNRECOGNIZED_IPV6_OPTION = 2 00120 }; 00121 00132 class ICMPv6Message : public ::cPacket 00133 { 00134 protected: 00135 int type_var; 00136 00137 private: 00138 void copy(const ICMPv6Message& other); 00139 00140 protected: 00141 // protected and unimplemented operator==(), to prevent accidental usage 00142 bool operator==(const ICMPv6Message&); 00143 00144 public: 00145 ICMPv6Message(const char *name=NULL, int kind=0); 00146 ICMPv6Message(const ICMPv6Message& other); 00147 virtual ~ICMPv6Message(); 00148 ICMPv6Message& operator=(const ICMPv6Message& other); 00149 virtual ICMPv6Message *dup() const {return new ICMPv6Message(*this);} 00150 virtual void parsimPack(cCommBuffer *b); 00151 virtual void parsimUnpack(cCommBuffer *b); 00152 00153 // field getter/setter methods 00154 virtual int getType() const; 00155 virtual void setType(int type); 00156 }; 00157 00158 inline void doPacking(cCommBuffer *b, ICMPv6Message& obj) {obj.parsimPack(b);} 00159 inline void doUnpacking(cCommBuffer *b, ICMPv6Message& obj) {obj.parsimUnpack(b);} 00160 00170 class ICMPv6DestUnreachableMsg : public ::ICMPv6Message 00171 { 00172 protected: 00173 int code_var; 00174 00175 private: 00176 void copy(const ICMPv6DestUnreachableMsg& other); 00177 00178 protected: 00179 // protected and unimplemented operator==(), to prevent accidental usage 00180 bool operator==(const ICMPv6DestUnreachableMsg&); 00181 00182 public: 00183 ICMPv6DestUnreachableMsg(const char *name=NULL, int kind=0); 00184 ICMPv6DestUnreachableMsg(const ICMPv6DestUnreachableMsg& other); 00185 virtual ~ICMPv6DestUnreachableMsg(); 00186 ICMPv6DestUnreachableMsg& operator=(const ICMPv6DestUnreachableMsg& other); 00187 virtual ICMPv6DestUnreachableMsg *dup() const {return new ICMPv6DestUnreachableMsg(*this);} 00188 virtual void parsimPack(cCommBuffer *b); 00189 virtual void parsimUnpack(cCommBuffer *b); 00190 00191 // field getter/setter methods 00192 virtual int getCode() const; 00193 virtual void setCode(int code); 00194 }; 00195 00196 inline void doPacking(cCommBuffer *b, ICMPv6DestUnreachableMsg& obj) {obj.parsimPack(b);} 00197 inline void doUnpacking(cCommBuffer *b, ICMPv6DestUnreachableMsg& obj) {obj.parsimUnpack(b);} 00198 00209 class ICMPv6PacketTooBigMsg : public ::ICMPv6Message 00210 { 00211 protected: 00212 int code_var; 00213 int MTU_var; 00214 00215 private: 00216 void copy(const ICMPv6PacketTooBigMsg& other); 00217 00218 protected: 00219 // protected and unimplemented operator==(), to prevent accidental usage 00220 bool operator==(const ICMPv6PacketTooBigMsg&); 00221 00222 public: 00223 ICMPv6PacketTooBigMsg(const char *name=NULL, int kind=0); 00224 ICMPv6PacketTooBigMsg(const ICMPv6PacketTooBigMsg& other); 00225 virtual ~ICMPv6PacketTooBigMsg(); 00226 ICMPv6PacketTooBigMsg& operator=(const ICMPv6PacketTooBigMsg& other); 00227 virtual ICMPv6PacketTooBigMsg *dup() const {return new ICMPv6PacketTooBigMsg(*this);} 00228 virtual void parsimPack(cCommBuffer *b); 00229 virtual void parsimUnpack(cCommBuffer *b); 00230 00231 // field getter/setter methods 00232 virtual int getCode() const; 00233 virtual void setCode(int code); 00234 virtual int getMTU() const; 00235 virtual void setMTU(int MTU); 00236 }; 00237 00238 inline void doPacking(cCommBuffer *b, ICMPv6PacketTooBigMsg& obj) {obj.parsimPack(b);} 00239 inline void doUnpacking(cCommBuffer *b, ICMPv6PacketTooBigMsg& obj) {obj.parsimUnpack(b);} 00240 00250 class ICMPv6TimeExceededMsg : public ::ICMPv6Message 00251 { 00252 protected: 00253 int code_var; 00254 00255 private: 00256 void copy(const ICMPv6TimeExceededMsg& other); 00257 00258 protected: 00259 // protected and unimplemented operator==(), to prevent accidental usage 00260 bool operator==(const ICMPv6TimeExceededMsg&); 00261 00262 public: 00263 ICMPv6TimeExceededMsg(const char *name=NULL, int kind=0); 00264 ICMPv6TimeExceededMsg(const ICMPv6TimeExceededMsg& other); 00265 virtual ~ICMPv6TimeExceededMsg(); 00266 ICMPv6TimeExceededMsg& operator=(const ICMPv6TimeExceededMsg& other); 00267 virtual ICMPv6TimeExceededMsg *dup() const {return new ICMPv6TimeExceededMsg(*this);} 00268 virtual void parsimPack(cCommBuffer *b); 00269 virtual void parsimUnpack(cCommBuffer *b); 00270 00271 // field getter/setter methods 00272 virtual int getCode() const; 00273 virtual void setCode(int code); 00274 }; 00275 00276 inline void doPacking(cCommBuffer *b, ICMPv6TimeExceededMsg& obj) {obj.parsimPack(b);} 00277 inline void doUnpacking(cCommBuffer *b, ICMPv6TimeExceededMsg& obj) {obj.parsimUnpack(b);} 00278 00288 class ICMPv6ParamProblemMsg : public ::ICMPv6Message 00289 { 00290 protected: 00291 int code_var; 00292 00293 private: 00294 void copy(const ICMPv6ParamProblemMsg& other); 00295 00296 protected: 00297 // protected and unimplemented operator==(), to prevent accidental usage 00298 bool operator==(const ICMPv6ParamProblemMsg&); 00299 00300 public: 00301 ICMPv6ParamProblemMsg(const char *name=NULL, int kind=0); 00302 ICMPv6ParamProblemMsg(const ICMPv6ParamProblemMsg& other); 00303 virtual ~ICMPv6ParamProblemMsg(); 00304 ICMPv6ParamProblemMsg& operator=(const ICMPv6ParamProblemMsg& other); 00305 virtual ICMPv6ParamProblemMsg *dup() const {return new ICMPv6ParamProblemMsg(*this);} 00306 virtual void parsimPack(cCommBuffer *b); 00307 virtual void parsimUnpack(cCommBuffer *b); 00308 00309 // field getter/setter methods 00310 virtual int getCode() const; 00311 virtual void setCode(int code); 00312 }; 00313 00314 inline void doPacking(cCommBuffer *b, ICMPv6ParamProblemMsg& obj) {obj.parsimPack(b);} 00315 inline void doUnpacking(cCommBuffer *b, ICMPv6ParamProblemMsg& obj) {obj.parsimUnpack(b);} 00316 00329 class ICMPv6EchoRequestMsg : public ::ICMPv6Message 00330 { 00331 protected: 00332 int code_var; 00333 int identifier_var; 00334 int seqNumber_var; 00335 00336 private: 00337 void copy(const ICMPv6EchoRequestMsg& other); 00338 00339 protected: 00340 // protected and unimplemented operator==(), to prevent accidental usage 00341 bool operator==(const ICMPv6EchoRequestMsg&); 00342 00343 public: 00344 ICMPv6EchoRequestMsg(const char *name=NULL, int kind=0); 00345 ICMPv6EchoRequestMsg(const ICMPv6EchoRequestMsg& other); 00346 virtual ~ICMPv6EchoRequestMsg(); 00347 ICMPv6EchoRequestMsg& operator=(const ICMPv6EchoRequestMsg& other); 00348 virtual ICMPv6EchoRequestMsg *dup() const {return new ICMPv6EchoRequestMsg(*this);} 00349 virtual void parsimPack(cCommBuffer *b); 00350 virtual void parsimUnpack(cCommBuffer *b); 00351 00352 // field getter/setter methods 00353 virtual int getCode() const; 00354 virtual void setCode(int code); 00355 virtual int getIdentifier() const; 00356 virtual void setIdentifier(int identifier); 00357 virtual int getSeqNumber() const; 00358 virtual void setSeqNumber(int seqNumber); 00359 }; 00360 00361 inline void doPacking(cCommBuffer *b, ICMPv6EchoRequestMsg& obj) {obj.parsimPack(b);} 00362 inline void doUnpacking(cCommBuffer *b, ICMPv6EchoRequestMsg& obj) {obj.parsimUnpack(b);} 00363 00375 class ICMPv6EchoReplyMsg : public ::ICMPv6Message 00376 { 00377 protected: 00378 int code_var; 00379 int identifier_var; 00380 int seqNumber_var; 00381 00382 private: 00383 void copy(const ICMPv6EchoReplyMsg& other); 00384 00385 protected: 00386 // protected and unimplemented operator==(), to prevent accidental usage 00387 bool operator==(const ICMPv6EchoReplyMsg&); 00388 00389 public: 00390 ICMPv6EchoReplyMsg(const char *name=NULL, int kind=0); 00391 ICMPv6EchoReplyMsg(const ICMPv6EchoReplyMsg& other); 00392 virtual ~ICMPv6EchoReplyMsg(); 00393 ICMPv6EchoReplyMsg& operator=(const ICMPv6EchoReplyMsg& other); 00394 virtual ICMPv6EchoReplyMsg *dup() const {return new ICMPv6EchoReplyMsg(*this);} 00395 virtual void parsimPack(cCommBuffer *b); 00396 virtual void parsimUnpack(cCommBuffer *b); 00397 00398 // field getter/setter methods 00399 virtual int getCode() const; 00400 virtual void setCode(int code); 00401 virtual int getIdentifier() const; 00402 virtual void setIdentifier(int identifier); 00403 virtual int getSeqNumber() const; 00404 virtual void setSeqNumber(int seqNumber); 00405 }; 00406 00407 inline void doPacking(cCommBuffer *b, ICMPv6EchoReplyMsg& obj) {obj.parsimPack(b);} 00408 inline void doUnpacking(cCommBuffer *b, ICMPv6EchoReplyMsg& obj) {obj.parsimUnpack(b);} 00409 00410 00411 #endif // _ICMPV6MESSAGE_M_H_