INET Framework for OMNeT++/OMNEST
ICMPv6Message_m.h
Go to the documentation of this file.
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_