INET Framework for OMNeT++/OMNEST
ansaOspfPacket6_m.h
Go to the documentation of this file.
00001 //
00002 // Generated file, do not edit! Created by opp_msgc 4.2 from ansa/ospfv3/messages/ansaOspfPacket6.msg.
00003 //
00004 
00005 #ifndef _ANSAOSPFPACKET6_M_H_
00006 #define _ANSAOSPFPACKET6_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 "ansaOspfCommon6.h"
00018 #include "IPv6Address.h"
00019 using namespace AnsaOspf6;
00020 // }}
00021 
00022 
00023 
00036 enum OspfPacketType6 {
00037     HelloPacket = 1,
00038     DatabaseDescriptionPacket = 2,
00039     LinkStateRequestPacket = 3,
00040     LinkStateUpdatePacket = 4,
00041     LinkStateAcknowledgementPacket = 5
00042 };
00043 
00059 enum LsaType6 {
00060     RouterLsaType = 1,
00061     NetworkLsaType = 2,
00062     InterAreaPrefixLsaType = 3,
00063     InterAreaRouterLsaType = 4,
00064     AsExternalLsaType = 5,
00065     NssaLsaType = 7,
00066     LinkLsaType = 8,
00067     IntraAreaPrefixLsaType = 9
00068 };
00069 
00080 enum LinkType6 {
00081     PointToPointLink = 1,
00082     TransitLink = 2,
00083     VirtualLink = 4
00084 };
00085 
00098 class Link6 : public ::cObject
00099 {
00100   protected:
00101     uint8 type_var;
00102     uint16 metric_var;
00103     IfaceID interfaceID_var;
00104     IfaceID neighborInterfaceID_var;
00105     RouterID neighborRouterID_var;
00106 
00107   private:
00108     void copy(const Link6& other);
00109 
00110   protected:
00111     // protected and unimplemented operator==(), to prevent accidental usage
00112     bool operator==(const Link6&);
00113 
00114   public:
00115     Link6();
00116     Link6(const Link6& other);
00117     virtual ~Link6();
00118     Link6& operator=(const Link6& other);
00119     virtual Link6 *dup() const {return new Link6(*this);}
00120     virtual void parsimPack(cCommBuffer *b);
00121     virtual void parsimUnpack(cCommBuffer *b);
00122 
00123     // field getter/setter methods
00124     virtual uint8 getType() const;
00125     virtual void setType(uint8 type);
00126     virtual uint16 getMetric() const;
00127     virtual void setMetric(uint16 metric);
00128     virtual IfaceID& getInterfaceID();
00129     virtual const IfaceID& getInterfaceID() const {return const_cast<Link6*>(this)->getInterfaceID();}
00130     virtual void setInterfaceID(const IfaceID& interfaceID);
00131     virtual IfaceID& getNeighborInterfaceID();
00132     virtual const IfaceID& getNeighborInterfaceID() const {return const_cast<Link6*>(this)->getNeighborInterfaceID();}
00133     virtual void setNeighborInterfaceID(const IfaceID& neighborInterfaceID);
00134     virtual RouterID& getNeighborRouterID();
00135     virtual const RouterID& getNeighborRouterID() const {return const_cast<Link6*>(this)->getNeighborRouterID();}
00136     virtual void setNeighborRouterID(const RouterID& neighborRouterID);
00137 };
00138 
00139 inline void doPacking(cCommBuffer *b, Link6& obj) {obj.parsimPack(b);}
00140 inline void doUnpacking(cCommBuffer *b, Link6& obj) {obj.parsimUnpack(b);}
00141 
00145 struct OspfPrefixOptions6
00146 {
00147     OspfPrefixOptions6();
00148     bool NU_NoUnicast;
00149     bool LA_LocalAddress;
00150 };
00151 
00152 void doPacking(cCommBuffer *b, OspfPrefixOptions6& a);
00153 void doUnpacking(cCommBuffer *b, OspfPrefixOptions6& a);
00154 
00166 class OspfPrefix6 : public ::cObject
00167 {
00168   protected:
00169     uint8 prefixLenght_var;
00170     OspfPrefixOptions6 prefixOptions_var;
00171     uint16 metric_var;
00172     IPv6Address addressPrefix_var;
00173 
00174   private:
00175     void copy(const OspfPrefix6& other);
00176 
00177   protected:
00178     // protected and unimplemented operator==(), to prevent accidental usage
00179     bool operator==(const OspfPrefix6&);
00180 
00181   public:
00182     OspfPrefix6();
00183     OspfPrefix6(const OspfPrefix6& other);
00184     virtual ~OspfPrefix6();
00185     OspfPrefix6& operator=(const OspfPrefix6& other);
00186     virtual OspfPrefix6 *dup() const {return new OspfPrefix6(*this);}
00187     virtual void parsimPack(cCommBuffer *b);
00188     virtual void parsimUnpack(cCommBuffer *b);
00189 
00190     // field getter/setter methods
00191     virtual uint8 getPrefixLenght() const;
00192     virtual void setPrefixLenght(uint8 prefixLenght);
00193     virtual OspfPrefixOptions6& getPrefixOptions();
00194     virtual const OspfPrefixOptions6& getPrefixOptions() const {return const_cast<OspfPrefix6*>(this)->getPrefixOptions();}
00195     virtual void setPrefixOptions(const OspfPrefixOptions6& prefixOptions);
00196     virtual uint16 getMetric() const;
00197     virtual void setMetric(uint16 metric);
00198     virtual IPv6Address& getAddressPrefix();
00199     virtual const IPv6Address& getAddressPrefix() const {return const_cast<OspfPrefix6*>(this)->getAddressPrefix();}
00200     virtual void setAddressPrefix(const IPv6Address& addressPrefix);
00201 };
00202 
00203 inline void doPacking(cCommBuffer *b, OspfPrefix6& obj) {obj.parsimPack(b);}
00204 inline void doUnpacking(cCommBuffer *b, OspfPrefix6& obj) {obj.parsimUnpack(b);}
00205 
00209 struct OspfOptions6
00210 {
00211     OspfOptions6();
00212     bool V6_IPv6Routing;
00213     bool E_ExternalRoutingCapability;
00214     bool N_NSSA;
00215     bool R_Router;
00216     bool DC_DemandCircuits;
00217 };
00218 
00219 void doPacking(cCommBuffer *b, OspfOptions6& a);
00220 void doUnpacking(cCommBuffer *b, OspfOptions6& a);
00221 
00225 struct OspfDdOptions6
00226 {
00227     OspfDdOptions6();
00228     bool I_Init;
00229     bool M_More;
00230     bool MS_MasterSlave;
00231 };
00232 
00233 void doPacking(cCommBuffer *b, OspfDdOptions6& a);
00234 void doUnpacking(cCommBuffer *b, OspfDdOptions6& a);
00235 
00239 struct OspfLsaRequest6
00240 {
00241     OspfLsaRequest6();
00242     uint16 lsType;
00243     uint32 linkStateID;
00244     RouterID advertisingRouter;
00245 };
00246 
00247 void doPacking(cCommBuffer *b, OspfLsaRequest6& a);
00248 void doUnpacking(cCommBuffer *b, OspfLsaRequest6& a);
00249 
00262 class OspfLsaHeader6 : public ::cObject
00263 {
00264   protected:
00265     uint16 lsAge_var;
00266     uint16 lsType_var;
00267     uint32 linkStateID_var;
00268     RouterID advertisingRouter_var;
00269     uint32 lsSequenceNumber_var;
00270 
00271   private:
00272     void copy(const OspfLsaHeader6& other);
00273 
00274   protected:
00275     // protected and unimplemented operator==(), to prevent accidental usage
00276     bool operator==(const OspfLsaHeader6&);
00277 
00278   public:
00279     OspfLsaHeader6();
00280     OspfLsaHeader6(const OspfLsaHeader6& other);
00281     virtual ~OspfLsaHeader6();
00282     OspfLsaHeader6& operator=(const OspfLsaHeader6& other);
00283     virtual OspfLsaHeader6 *dup() const {return new OspfLsaHeader6(*this);}
00284     virtual void parsimPack(cCommBuffer *b);
00285     virtual void parsimUnpack(cCommBuffer *b);
00286 
00287     // field getter/setter methods
00288     virtual uint16 getLsAge() const;
00289     virtual void setLsAge(uint16 lsAge);
00290     virtual uint16 getLsType() const;
00291     virtual void setLsType(uint16 lsType);
00292     virtual uint32 getLinkStateID() const;
00293     virtual void setLinkStateID(uint32 linkStateID);
00294     virtual RouterID& getAdvertisingRouter();
00295     virtual const RouterID& getAdvertisingRouter() const {return const_cast<OspfLsaHeader6*>(this)->getAdvertisingRouter();}
00296     virtual void setAdvertisingRouter(const RouterID& advertisingRouter);
00297     virtual uint32 getLsSequenceNumber() const;
00298     virtual void setLsSequenceNumber(uint32 lsSequenceNumber);
00299 };
00300 
00301 inline void doPacking(cCommBuffer *b, OspfLsaHeader6& obj) {obj.parsimPack(b);}
00302 inline void doUnpacking(cCommBuffer *b, OspfLsaHeader6& obj) {obj.parsimUnpack(b);}
00303 
00312 class OspfLsa6 : public ::cObject
00313 {
00314   protected:
00315     OspfLsaHeader6 header_var;
00316 
00317   private:
00318     void copy(const OspfLsa6& other);
00319 
00320   protected:
00321     // protected and unimplemented operator==(), to prevent accidental usage
00322     bool operator==(const OspfLsa6&);
00323 
00324   public:
00325     OspfLsa6();
00326     OspfLsa6(const OspfLsa6& other);
00327     virtual ~OspfLsa6();
00328     OspfLsa6& operator=(const OspfLsa6& other);
00329     virtual OspfLsa6 *dup() const {return new OspfLsa6(*this);}
00330     virtual void parsimPack(cCommBuffer *b);
00331     virtual void parsimUnpack(cCommBuffer *b);
00332 
00333     // field getter/setter methods
00334     virtual OspfLsaHeader6& getHeader();
00335     virtual const OspfLsaHeader6& getHeader() const {return const_cast<OspfLsa6*>(this)->getHeader();}
00336     virtual void setHeader(const OspfLsaHeader6& header);
00337 };
00338 
00339 inline void doPacking(cCommBuffer *b, OspfLsa6& obj) {obj.parsimPack(b);}
00340 inline void doUnpacking(cCommBuffer *b, OspfLsa6& obj) {obj.parsimUnpack(b);}
00341 
00354 class OspfRouterLsa6 : public ::OspfLsa6
00355 {
00356   protected:
00357     bool V_VirtualLinkEndpoint_var;
00358     bool E_AsBoundaryRouter_var;
00359     bool B_AreaBorderRouter_var;
00360     OspfOptions6 options_var;
00361     Link6 *links_var; // array ptr
00362     unsigned int links_arraysize;
00363 
00364   private:
00365     void copy(const OspfRouterLsa6& other);
00366 
00367   protected:
00368     // protected and unimplemented operator==(), to prevent accidental usage
00369     bool operator==(const OspfRouterLsa6&);
00370 
00371   public:
00372     OspfRouterLsa6();
00373     OspfRouterLsa6(const OspfRouterLsa6& other);
00374     virtual ~OspfRouterLsa6();
00375     OspfRouterLsa6& operator=(const OspfRouterLsa6& other);
00376     virtual OspfRouterLsa6 *dup() const {return new OspfRouterLsa6(*this);}
00377     virtual void parsimPack(cCommBuffer *b);
00378     virtual void parsimUnpack(cCommBuffer *b);
00379 
00380     // field getter/setter methods
00381     virtual bool getV_VirtualLinkEndpoint() const;
00382     virtual void setV_VirtualLinkEndpoint(bool V_VirtualLinkEndpoint);
00383     virtual bool getE_AsBoundaryRouter() const;
00384     virtual void setE_AsBoundaryRouter(bool E_AsBoundaryRouter);
00385     virtual bool getB_AreaBorderRouter() const;
00386     virtual void setB_AreaBorderRouter(bool B_AreaBorderRouter);
00387     virtual OspfOptions6& getOptions();
00388     virtual const OspfOptions6& getOptions() const {return const_cast<OspfRouterLsa6*>(this)->getOptions();}
00389     virtual void setOptions(const OspfOptions6& options);
00390     virtual void setLinksArraySize(unsigned int size);
00391     virtual unsigned int getLinksArraySize() const;
00392     virtual Link6& getLinks(unsigned int k);
00393     virtual const Link6& getLinks(unsigned int k) const {return const_cast<OspfRouterLsa6*>(this)->getLinks(k);}
00394     virtual void setLinks(unsigned int k, const Link6& links);
00395 };
00396 
00397 inline void doPacking(cCommBuffer *b, OspfRouterLsa6& obj) {obj.parsimPack(b);}
00398 inline void doUnpacking(cCommBuffer *b, OspfRouterLsa6& obj) {obj.parsimUnpack(b);}
00399 
00409 class OspfNetworkLsa6 : public ::OspfLsa6
00410 {
00411   protected:
00412     OspfOptions6 options_var;
00413     RouterID *attachedRouters_var; // array ptr
00414     unsigned int attachedRouters_arraysize;
00415 
00416   private:
00417     void copy(const OspfNetworkLsa6& other);
00418 
00419   protected:
00420     // protected and unimplemented operator==(), to prevent accidental usage
00421     bool operator==(const OspfNetworkLsa6&);
00422 
00423   public:
00424     OspfNetworkLsa6();
00425     OspfNetworkLsa6(const OspfNetworkLsa6& other);
00426     virtual ~OspfNetworkLsa6();
00427     OspfNetworkLsa6& operator=(const OspfNetworkLsa6& other);
00428     virtual OspfNetworkLsa6 *dup() const {return new OspfNetworkLsa6(*this);}
00429     virtual void parsimPack(cCommBuffer *b);
00430     virtual void parsimUnpack(cCommBuffer *b);
00431 
00432     // field getter/setter methods
00433     virtual OspfOptions6& getOptions();
00434     virtual const OspfOptions6& getOptions() const {return const_cast<OspfNetworkLsa6*>(this)->getOptions();}
00435     virtual void setOptions(const OspfOptions6& options);
00436     virtual void setAttachedRoutersArraySize(unsigned int size);
00437     virtual unsigned int getAttachedRoutersArraySize() const;
00438     virtual RouterID& getAttachedRouters(unsigned int k);
00439     virtual const RouterID& getAttachedRouters(unsigned int k) const {return const_cast<OspfNetworkLsa6*>(this)->getAttachedRouters(k);}
00440     virtual void setAttachedRouters(unsigned int k, const RouterID& attachedRouters);
00441 };
00442 
00443 inline void doPacking(cCommBuffer *b, OspfNetworkLsa6& obj) {obj.parsimPack(b);}
00444 inline void doUnpacking(cCommBuffer *b, OspfNetworkLsa6& obj) {obj.parsimUnpack(b);}
00445 
00457 class OspfInterAreaPrefixLsa6 : public ::OspfLsa6
00458 {
00459   protected:
00460     uint16 metric_var;
00461     uint8 prefixLenght_var;
00462     OspfPrefixOptions6 prefixOptions_var;
00463     IPv6Address addressPrefix_var;
00464 
00465   private:
00466     void copy(const OspfInterAreaPrefixLsa6& other);
00467 
00468   protected:
00469     // protected and unimplemented operator==(), to prevent accidental usage
00470     bool operator==(const OspfInterAreaPrefixLsa6&);
00471 
00472   public:
00473     OspfInterAreaPrefixLsa6();
00474     OspfInterAreaPrefixLsa6(const OspfInterAreaPrefixLsa6& other);
00475     virtual ~OspfInterAreaPrefixLsa6();
00476     OspfInterAreaPrefixLsa6& operator=(const OspfInterAreaPrefixLsa6& other);
00477     virtual OspfInterAreaPrefixLsa6 *dup() const {return new OspfInterAreaPrefixLsa6(*this);}
00478     virtual void parsimPack(cCommBuffer *b);
00479     virtual void parsimUnpack(cCommBuffer *b);
00480 
00481     // field getter/setter methods
00482     virtual uint16 getMetric() const;
00483     virtual void setMetric(uint16 metric);
00484     virtual uint8 getPrefixLenght() const;
00485     virtual void setPrefixLenght(uint8 prefixLenght);
00486     virtual OspfPrefixOptions6& getPrefixOptions();
00487     virtual const OspfPrefixOptions6& getPrefixOptions() const {return const_cast<OspfInterAreaPrefixLsa6*>(this)->getPrefixOptions();}
00488     virtual void setPrefixOptions(const OspfPrefixOptions6& prefixOptions);
00489     virtual IPv6Address& getAddressPrefix();
00490     virtual const IPv6Address& getAddressPrefix() const {return const_cast<OspfInterAreaPrefixLsa6*>(this)->getAddressPrefix();}
00491     virtual void setAddressPrefix(const IPv6Address& addressPrefix);
00492 };
00493 
00494 inline void doPacking(cCommBuffer *b, OspfInterAreaPrefixLsa6& obj) {obj.parsimPack(b);}
00495 inline void doUnpacking(cCommBuffer *b, OspfInterAreaPrefixLsa6& obj) {obj.parsimUnpack(b);}
00496 
00507 class OspfInterAreaRouterLsa6 : public ::OspfLsa6
00508 {
00509   protected:
00510     OspfOptions6 options_var;
00511     uint16 metric_var;
00512     RouterID destinationRouterID_var;
00513 
00514   private:
00515     void copy(const OspfInterAreaRouterLsa6& other);
00516 
00517   protected:
00518     // protected and unimplemented operator==(), to prevent accidental usage
00519     bool operator==(const OspfInterAreaRouterLsa6&);
00520 
00521   public:
00522     OspfInterAreaRouterLsa6();
00523     OspfInterAreaRouterLsa6(const OspfInterAreaRouterLsa6& other);
00524     virtual ~OspfInterAreaRouterLsa6();
00525     OspfInterAreaRouterLsa6& operator=(const OspfInterAreaRouterLsa6& other);
00526     virtual OspfInterAreaRouterLsa6 *dup() const {return new OspfInterAreaRouterLsa6(*this);}
00527     virtual void parsimPack(cCommBuffer *b);
00528     virtual void parsimUnpack(cCommBuffer *b);
00529 
00530     // field getter/setter methods
00531     virtual OspfOptions6& getOptions();
00532     virtual const OspfOptions6& getOptions() const {return const_cast<OspfInterAreaRouterLsa6*>(this)->getOptions();}
00533     virtual void setOptions(const OspfOptions6& options);
00534     virtual uint16 getMetric() const;
00535     virtual void setMetric(uint16 metric);
00536     virtual RouterID& getDestinationRouterID();
00537     virtual const RouterID& getDestinationRouterID() const {return const_cast<OspfInterAreaRouterLsa6*>(this)->getDestinationRouterID();}
00538     virtual void setDestinationRouterID(const RouterID& destinationRouterID);
00539 };
00540 
00541 inline void doPacking(cCommBuffer *b, OspfInterAreaRouterLsa6& obj) {obj.parsimPack(b);}
00542 inline void doUnpacking(cCommBuffer *b, OspfInterAreaRouterLsa6& obj) {obj.parsimUnpack(b);}
00543 
00562 class OspfAsExternalLsa6 : public ::OspfLsa6
00563 {
00564   protected:
00565     bool E_ExternalMetricType_var;
00566     bool F_ForwardingAddress_var;
00567     bool T_ExternalRouteTag_var;
00568     uint16 metric_var;
00569     uint8 prefixLenght_var;
00570     OspfPrefixOptions6 prefixOptions_var;
00571     uint16 referencedLsType_var;
00572     IPv6Address addressPrefix_var;
00573     IPv6Address forwardingAddress_var;
00574     uint32 externalRouteTag_var;
00575     uint32 referencedLinkStateID_var;
00576 
00577   private:
00578     void copy(const OspfAsExternalLsa6& other);
00579 
00580   protected:
00581     // protected and unimplemented operator==(), to prevent accidental usage
00582     bool operator==(const OspfAsExternalLsa6&);
00583 
00584   public:
00585     OspfAsExternalLsa6();
00586     OspfAsExternalLsa6(const OspfAsExternalLsa6& other);
00587     virtual ~OspfAsExternalLsa6();
00588     OspfAsExternalLsa6& operator=(const OspfAsExternalLsa6& other);
00589     virtual OspfAsExternalLsa6 *dup() const {return new OspfAsExternalLsa6(*this);}
00590     virtual void parsimPack(cCommBuffer *b);
00591     virtual void parsimUnpack(cCommBuffer *b);
00592 
00593     // field getter/setter methods
00594     virtual bool getE_ExternalMetricType() const;
00595     virtual void setE_ExternalMetricType(bool E_ExternalMetricType);
00596     virtual bool getF_ForwardingAddress() const;
00597     virtual void setF_ForwardingAddress(bool F_ForwardingAddress);
00598     virtual bool getT_ExternalRouteTag() const;
00599     virtual void setT_ExternalRouteTag(bool T_ExternalRouteTag);
00600     virtual uint16 getMetric() const;
00601     virtual void setMetric(uint16 metric);
00602     virtual uint8 getPrefixLenght() const;
00603     virtual void setPrefixLenght(uint8 prefixLenght);
00604     virtual OspfPrefixOptions6& getPrefixOptions();
00605     virtual const OspfPrefixOptions6& getPrefixOptions() const {return const_cast<OspfAsExternalLsa6*>(this)->getPrefixOptions();}
00606     virtual void setPrefixOptions(const OspfPrefixOptions6& prefixOptions);
00607     virtual uint16 getReferencedLsType() const;
00608     virtual void setReferencedLsType(uint16 referencedLsType);
00609     virtual IPv6Address& getAddressPrefix();
00610     virtual const IPv6Address& getAddressPrefix() const {return const_cast<OspfAsExternalLsa6*>(this)->getAddressPrefix();}
00611     virtual void setAddressPrefix(const IPv6Address& addressPrefix);
00612     virtual IPv6Address& getForwardingAddress();
00613     virtual const IPv6Address& getForwardingAddress() const {return const_cast<OspfAsExternalLsa6*>(this)->getForwardingAddress();}
00614     virtual void setForwardingAddress(const IPv6Address& forwardingAddress);
00615     virtual uint32 getExternalRouteTag() const;
00616     virtual void setExternalRouteTag(uint32 externalRouteTag);
00617     virtual uint32 getReferencedLinkStateID() const;
00618     virtual void setReferencedLinkStateID(uint32 referencedLinkStateID);
00619 };
00620 
00621 inline void doPacking(cCommBuffer *b, OspfAsExternalLsa6& obj) {obj.parsimPack(b);}
00622 inline void doUnpacking(cCommBuffer *b, OspfAsExternalLsa6& obj) {obj.parsimUnpack(b);}
00623 
00635 class OspfLinkLsa6 : public ::OspfLsa6
00636 {
00637   protected:
00638     uint8 rtrPriority_var;
00639     OspfOptions6 options_var;
00640     IPv6Address linkLocalAddress_var;
00641     OspfPrefix6 *prefixes_var; // array ptr
00642     unsigned int prefixes_arraysize;
00643 
00644   private:
00645     void copy(const OspfLinkLsa6& other);
00646 
00647   protected:
00648     // protected and unimplemented operator==(), to prevent accidental usage
00649     bool operator==(const OspfLinkLsa6&);
00650 
00651   public:
00652     OspfLinkLsa6();
00653     OspfLinkLsa6(const OspfLinkLsa6& other);
00654     virtual ~OspfLinkLsa6();
00655     OspfLinkLsa6& operator=(const OspfLinkLsa6& other);
00656     virtual OspfLinkLsa6 *dup() const {return new OspfLinkLsa6(*this);}
00657     virtual void parsimPack(cCommBuffer *b);
00658     virtual void parsimUnpack(cCommBuffer *b);
00659 
00660     // field getter/setter methods
00661     virtual uint8 getRtrPriority() const;
00662     virtual void setRtrPriority(uint8 rtrPriority);
00663     virtual OspfOptions6& getOptions();
00664     virtual const OspfOptions6& getOptions() const {return const_cast<OspfLinkLsa6*>(this)->getOptions();}
00665     virtual void setOptions(const OspfOptions6& options);
00666     virtual IPv6Address& getLinkLocalAddress();
00667     virtual const IPv6Address& getLinkLocalAddress() const {return const_cast<OspfLinkLsa6*>(this)->getLinkLocalAddress();}
00668     virtual void setLinkLocalAddress(const IPv6Address& linkLocalAddress);
00669     virtual void setPrefixesArraySize(unsigned int size);
00670     virtual unsigned int getPrefixesArraySize() const;
00671     virtual OspfPrefix6& getPrefixes(unsigned int k);
00672     virtual const OspfPrefix6& getPrefixes(unsigned int k) const {return const_cast<OspfLinkLsa6*>(this)->getPrefixes(k);}
00673     virtual void setPrefixes(unsigned int k, const OspfPrefix6& prefixes);
00674 };
00675 
00676 inline void doPacking(cCommBuffer *b, OspfLinkLsa6& obj) {obj.parsimPack(b);}
00677 inline void doUnpacking(cCommBuffer *b, OspfLinkLsa6& obj) {obj.parsimUnpack(b);}
00678 
00690 class OspfIntraAreaPrefixLsa6 : public ::OspfLsa6
00691 {
00692   protected:
00693     uint16 referencedLsType_var;
00694     uint32 referencedLinkStateID_var;
00695     RouterID referencedAdvertisingRouter_var;
00696     OspfPrefix6 *prefixes_var; // array ptr
00697     unsigned int prefixes_arraysize;
00698 
00699   private:
00700     void copy(const OspfIntraAreaPrefixLsa6& other);
00701 
00702   protected:
00703     // protected and unimplemented operator==(), to prevent accidental usage
00704     bool operator==(const OspfIntraAreaPrefixLsa6&);
00705 
00706   public:
00707     OspfIntraAreaPrefixLsa6();
00708     OspfIntraAreaPrefixLsa6(const OspfIntraAreaPrefixLsa6& other);
00709     virtual ~OspfIntraAreaPrefixLsa6();
00710     OspfIntraAreaPrefixLsa6& operator=(const OspfIntraAreaPrefixLsa6& other);
00711     virtual OspfIntraAreaPrefixLsa6 *dup() const {return new OspfIntraAreaPrefixLsa6(*this);}
00712     virtual void parsimPack(cCommBuffer *b);
00713     virtual void parsimUnpack(cCommBuffer *b);
00714 
00715     // field getter/setter methods
00716     virtual uint16 getReferencedLsType() const;
00717     virtual void setReferencedLsType(uint16 referencedLsType);
00718     virtual uint32 getReferencedLinkStateID() const;
00719     virtual void setReferencedLinkStateID(uint32 referencedLinkStateID);
00720     virtual RouterID& getReferencedAdvertisingRouter();
00721     virtual const RouterID& getReferencedAdvertisingRouter() const {return const_cast<OspfIntraAreaPrefixLsa6*>(this)->getReferencedAdvertisingRouter();}
00722     virtual void setReferencedAdvertisingRouter(const RouterID& referencedAdvertisingRouter);
00723     virtual void setPrefixesArraySize(unsigned int size);
00724     virtual unsigned int getPrefixesArraySize() const;
00725     virtual OspfPrefix6& getPrefixes(unsigned int k);
00726     virtual const OspfPrefix6& getPrefixes(unsigned int k) const {return const_cast<OspfIntraAreaPrefixLsa6*>(this)->getPrefixes(k);}
00727     virtual void setPrefixes(unsigned int k, const OspfPrefix6& prefixes);
00728 };
00729 
00730 inline void doPacking(cCommBuffer *b, OspfIntraAreaPrefixLsa6& obj) {obj.parsimPack(b);}
00731 inline void doUnpacking(cCommBuffer *b, OspfIntraAreaPrefixLsa6& obj) {obj.parsimUnpack(b);}
00732 
00745 class OspfPacket6 : public ::cPacket
00746 {
00747   protected:
00748     uint8 version_var;
00749     uint8 type_var;
00750     RouterID routerID_var;
00751     AreaID areaID_var;
00752     InstanceID instanceID_var;
00753 
00754   private:
00755     void copy(const OspfPacket6& other);
00756 
00757   protected:
00758     // protected and unimplemented operator==(), to prevent accidental usage
00759     bool operator==(const OspfPacket6&);
00760 
00761   public:
00762     OspfPacket6(const char *name=NULL, int kind=0);
00763     OspfPacket6(const OspfPacket6& other);
00764     virtual ~OspfPacket6();
00765     OspfPacket6& operator=(const OspfPacket6& other);
00766     virtual OspfPacket6 *dup() const {return new OspfPacket6(*this);}
00767     virtual void parsimPack(cCommBuffer *b);
00768     virtual void parsimUnpack(cCommBuffer *b);
00769 
00770     // field getter/setter methods
00771     virtual uint8 getVersion() const;
00772     virtual void setVersion(uint8 version);
00773     virtual uint8 getType() const;
00774     virtual void setType(uint8 type);
00775     virtual RouterID& getRouterID();
00776     virtual const RouterID& getRouterID() const {return const_cast<OspfPacket6*>(this)->getRouterID();}
00777     virtual void setRouterID(const RouterID& routerID);
00778     virtual AreaID& getAreaID();
00779     virtual const AreaID& getAreaID() const {return const_cast<OspfPacket6*>(this)->getAreaID();}
00780     virtual void setAreaID(const AreaID& areaID);
00781     virtual InstanceID& getInstanceID();
00782     virtual const InstanceID& getInstanceID() const {return const_cast<OspfPacket6*>(this)->getInstanceID();}
00783     virtual void setInstanceID(const InstanceID& instanceID);
00784 };
00785 
00786 inline void doPacking(cCommBuffer *b, OspfPacket6& obj) {obj.parsimPack(b);}
00787 inline void doUnpacking(cCommBuffer *b, OspfPacket6& obj) {obj.parsimUnpack(b);}
00788 
00804 class OspfHelloPacket6 : public ::OspfPacket6
00805 {
00806   protected:
00807     IfaceID interfaceID_var;
00808     uint8 rtrPriority_var;
00809     OspfOptions6 options_var;
00810     uint16 helloInterval_var;
00811     uint16 routerDeadInterval_var;
00812     DesignatedRouterID designatedRouterID_var;
00813     DesignatedRouterID backupDesignatedRouterID_var;
00814     RouterID *neighborID_var; // array ptr
00815     unsigned int neighborID_arraysize;
00816 
00817   private:
00818     void copy(const OspfHelloPacket6& other);
00819 
00820   protected:
00821     // protected and unimplemented operator==(), to prevent accidental usage
00822     bool operator==(const OspfHelloPacket6&);
00823 
00824   public:
00825     OspfHelloPacket6(const char *name=NULL, int kind=0);
00826     OspfHelloPacket6(const OspfHelloPacket6& other);
00827     virtual ~OspfHelloPacket6();
00828     OspfHelloPacket6& operator=(const OspfHelloPacket6& other);
00829     virtual OspfHelloPacket6 *dup() const {return new OspfHelloPacket6(*this);}
00830     virtual void parsimPack(cCommBuffer *b);
00831     virtual void parsimUnpack(cCommBuffer *b);
00832 
00833     // field getter/setter methods
00834     virtual IfaceID& getInterfaceID();
00835     virtual const IfaceID& getInterfaceID() const {return const_cast<OspfHelloPacket6*>(this)->getInterfaceID();}
00836     virtual void setInterfaceID(const IfaceID& interfaceID);
00837     virtual uint8 getRtrPriority() const;
00838     virtual void setRtrPriority(uint8 rtrPriority);
00839     virtual OspfOptions6& getOptions();
00840     virtual const OspfOptions6& getOptions() const {return const_cast<OspfHelloPacket6*>(this)->getOptions();}
00841     virtual void setOptions(const OspfOptions6& options);
00842     virtual uint16 getHelloInterval() const;
00843     virtual void setHelloInterval(uint16 helloInterval);
00844     virtual uint16 getRouterDeadInterval() const;
00845     virtual void setRouterDeadInterval(uint16 routerDeadInterval);
00846     virtual DesignatedRouterID& getDesignatedRouterID();
00847     virtual const DesignatedRouterID& getDesignatedRouterID() const {return const_cast<OspfHelloPacket6*>(this)->getDesignatedRouterID();}
00848     virtual void setDesignatedRouterID(const DesignatedRouterID& designatedRouterID);
00849     virtual DesignatedRouterID& getBackupDesignatedRouterID();
00850     virtual const DesignatedRouterID& getBackupDesignatedRouterID() const {return const_cast<OspfHelloPacket6*>(this)->getBackupDesignatedRouterID();}
00851     virtual void setBackupDesignatedRouterID(const DesignatedRouterID& backupDesignatedRouterID);
00852     virtual void setNeighborIDArraySize(unsigned int size);
00853     virtual unsigned int getNeighborIDArraySize() const;
00854     virtual RouterID& getNeighborID(unsigned int k);
00855     virtual const RouterID& getNeighborID(unsigned int k) const {return const_cast<OspfHelloPacket6*>(this)->getNeighborID(k);}
00856     virtual void setNeighborID(unsigned int k, const RouterID& neighborID);
00857 };
00858 
00859 inline void doPacking(cCommBuffer *b, OspfHelloPacket6& obj) {obj.parsimPack(b);}
00860 inline void doUnpacking(cCommBuffer *b, OspfHelloPacket6& obj) {obj.parsimUnpack(b);}
00861 
00874 class OspfDatabaseDescriptionPacket6 : public ::OspfPacket6
00875 {
00876   protected:
00877     uint16 interfaceMtu_var;
00878     OspfOptions6 options_var;
00879     OspfDdOptions6 ddOptions_var;
00880     uint32 ddSequenceNumber_var;
00881     OspfLsaHeader6 *lsaHeaders_var; // array ptr
00882     unsigned int lsaHeaders_arraysize;
00883 
00884   private:
00885     void copy(const OspfDatabaseDescriptionPacket6& other);
00886 
00887   protected:
00888     // protected and unimplemented operator==(), to prevent accidental usage
00889     bool operator==(const OspfDatabaseDescriptionPacket6&);
00890 
00891   public:
00892     OspfDatabaseDescriptionPacket6(const char *name=NULL, int kind=0);
00893     OspfDatabaseDescriptionPacket6(const OspfDatabaseDescriptionPacket6& other);
00894     virtual ~OspfDatabaseDescriptionPacket6();
00895     OspfDatabaseDescriptionPacket6& operator=(const OspfDatabaseDescriptionPacket6& other);
00896     virtual OspfDatabaseDescriptionPacket6 *dup() const {return new OspfDatabaseDescriptionPacket6(*this);}
00897     virtual void parsimPack(cCommBuffer *b);
00898     virtual void parsimUnpack(cCommBuffer *b);
00899 
00900     // field getter/setter methods
00901     virtual uint16 getInterfaceMtu() const;
00902     virtual void setInterfaceMtu(uint16 interfaceMtu);
00903     virtual OspfOptions6& getOptions();
00904     virtual const OspfOptions6& getOptions() const {return const_cast<OspfDatabaseDescriptionPacket6*>(this)->getOptions();}
00905     virtual void setOptions(const OspfOptions6& options);
00906     virtual OspfDdOptions6& getDdOptions();
00907     virtual const OspfDdOptions6& getDdOptions() const {return const_cast<OspfDatabaseDescriptionPacket6*>(this)->getDdOptions();}
00908     virtual void setDdOptions(const OspfDdOptions6& ddOptions);
00909     virtual uint32 getDdSequenceNumber() const;
00910     virtual void setDdSequenceNumber(uint32 ddSequenceNumber);
00911     virtual void setLsaHeadersArraySize(unsigned int size);
00912     virtual unsigned int getLsaHeadersArraySize() const;
00913     virtual OspfLsaHeader6& getLsaHeaders(unsigned int k);
00914     virtual const OspfLsaHeader6& getLsaHeaders(unsigned int k) const {return const_cast<OspfDatabaseDescriptionPacket6*>(this)->getLsaHeaders(k);}
00915     virtual void setLsaHeaders(unsigned int k, const OspfLsaHeader6& lsaHeaders);
00916 };
00917 
00918 inline void doPacking(cCommBuffer *b, OspfDatabaseDescriptionPacket6& obj) {obj.parsimPack(b);}
00919 inline void doUnpacking(cCommBuffer *b, OspfDatabaseDescriptionPacket6& obj) {obj.parsimUnpack(b);}
00920 
00929 class OspfLinkStateRequestPacket6 : public ::OspfPacket6
00930 {
00931   protected:
00932     OspfLsaRequest6 *requests_var; // array ptr
00933     unsigned int requests_arraysize;
00934 
00935   private:
00936     void copy(const OspfLinkStateRequestPacket6& other);
00937 
00938   protected:
00939     // protected and unimplemented operator==(), to prevent accidental usage
00940     bool operator==(const OspfLinkStateRequestPacket6&);
00941 
00942   public:
00943     OspfLinkStateRequestPacket6(const char *name=NULL, int kind=0);
00944     OspfLinkStateRequestPacket6(const OspfLinkStateRequestPacket6& other);
00945     virtual ~OspfLinkStateRequestPacket6();
00946     OspfLinkStateRequestPacket6& operator=(const OspfLinkStateRequestPacket6& other);
00947     virtual OspfLinkStateRequestPacket6 *dup() const {return new OspfLinkStateRequestPacket6(*this);}
00948     virtual void parsimPack(cCommBuffer *b);
00949     virtual void parsimUnpack(cCommBuffer *b);
00950 
00951     // field getter/setter methods
00952     virtual void setRequestsArraySize(unsigned int size);
00953     virtual unsigned int getRequestsArraySize() const;
00954     virtual OspfLsaRequest6& getRequests(unsigned int k);
00955     virtual const OspfLsaRequest6& getRequests(unsigned int k) const {return const_cast<OspfLinkStateRequestPacket6*>(this)->getRequests(k);}
00956     virtual void setRequests(unsigned int k, const OspfLsaRequest6& requests);
00957 };
00958 
00959 inline void doPacking(cCommBuffer *b, OspfLinkStateRequestPacket6& obj) {obj.parsimPack(b);}
00960 inline void doUnpacking(cCommBuffer *b, OspfLinkStateRequestPacket6& obj) {obj.parsimUnpack(b);}
00961 
00977 class OspfLinkStateUpdatePacket6 : public ::OspfPacket6
00978 {
00979   protected:
00980     uint32 numberOfLsas_var;
00981     OspfRouterLsa6 *routerLsas_var; // array ptr
00982     unsigned int routerLsas_arraysize;
00983     OspfNetworkLsa6 *networkLsas_var; // array ptr
00984     unsigned int networkLsas_arraysize;
00985     OspfInterAreaPrefixLsa6 *interAreaPrefixLsas_var; // array ptr
00986     unsigned int interAreaPrefixLsas_arraysize;
00987     OspfInterAreaRouterLsa6 *interAreaRouterLsas_var; // array ptr
00988     unsigned int interAreaRouterLsas_arraysize;
00989     OspfAsExternalLsa6 *asExternalLsas_var; // array ptr
00990     unsigned int asExternalLsas_arraysize;
00991     OspfLinkLsa6 *linkLsas_var; // array ptr
00992     unsigned int linkLsas_arraysize;
00993     OspfIntraAreaPrefixLsa6 *intraAreaPrefixLsas_var; // array ptr
00994     unsigned int intraAreaPrefixLsas_arraysize;
00995 
00996   private:
00997     void copy(const OspfLinkStateUpdatePacket6& other);
00998 
00999   protected:
01000     // protected and unimplemented operator==(), to prevent accidental usage
01001     bool operator==(const OspfLinkStateUpdatePacket6&);
01002 
01003   public:
01004     OspfLinkStateUpdatePacket6(const char *name=NULL, int kind=0);
01005     OspfLinkStateUpdatePacket6(const OspfLinkStateUpdatePacket6& other);
01006     virtual ~OspfLinkStateUpdatePacket6();
01007     OspfLinkStateUpdatePacket6& operator=(const OspfLinkStateUpdatePacket6& other);
01008     virtual OspfLinkStateUpdatePacket6 *dup() const {return new OspfLinkStateUpdatePacket6(*this);}
01009     virtual void parsimPack(cCommBuffer *b);
01010     virtual void parsimUnpack(cCommBuffer *b);
01011 
01012     // field getter/setter methods
01013     virtual uint32 getNumberOfLsas() const;
01014     virtual void setNumberOfLsas(uint32 numberOfLsas);
01015     virtual void setRouterLsasArraySize(unsigned int size);
01016     virtual unsigned int getRouterLsasArraySize() const;
01017     virtual OspfRouterLsa6& getRouterLsas(unsigned int k);
01018     virtual const OspfRouterLsa6& getRouterLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getRouterLsas(k);}
01019     virtual void setRouterLsas(unsigned int k, const OspfRouterLsa6& routerLsas);
01020     virtual void setNetworkLsasArraySize(unsigned int size);
01021     virtual unsigned int getNetworkLsasArraySize() const;
01022     virtual OspfNetworkLsa6& getNetworkLsas(unsigned int k);
01023     virtual const OspfNetworkLsa6& getNetworkLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getNetworkLsas(k);}
01024     virtual void setNetworkLsas(unsigned int k, const OspfNetworkLsa6& networkLsas);
01025     virtual void setInterAreaPrefixLsasArraySize(unsigned int size);
01026     virtual unsigned int getInterAreaPrefixLsasArraySize() const;
01027     virtual OspfInterAreaPrefixLsa6& getInterAreaPrefixLsas(unsigned int k);
01028     virtual const OspfInterAreaPrefixLsa6& getInterAreaPrefixLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getInterAreaPrefixLsas(k);}
01029     virtual void setInterAreaPrefixLsas(unsigned int k, const OspfInterAreaPrefixLsa6& interAreaPrefixLsas);
01030     virtual void setInterAreaRouterLsasArraySize(unsigned int size);
01031     virtual unsigned int getInterAreaRouterLsasArraySize() const;
01032     virtual OspfInterAreaRouterLsa6& getInterAreaRouterLsas(unsigned int k);
01033     virtual const OspfInterAreaRouterLsa6& getInterAreaRouterLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getInterAreaRouterLsas(k);}
01034     virtual void setInterAreaRouterLsas(unsigned int k, const OspfInterAreaRouterLsa6& interAreaRouterLsas);
01035     virtual void setAsExternalLsasArraySize(unsigned int size);
01036     virtual unsigned int getAsExternalLsasArraySize() const;
01037     virtual OspfAsExternalLsa6& getAsExternalLsas(unsigned int k);
01038     virtual const OspfAsExternalLsa6& getAsExternalLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getAsExternalLsas(k);}
01039     virtual void setAsExternalLsas(unsigned int k, const OspfAsExternalLsa6& asExternalLsas);
01040     virtual void setLinkLsasArraySize(unsigned int size);
01041     virtual unsigned int getLinkLsasArraySize() const;
01042     virtual OspfLinkLsa6& getLinkLsas(unsigned int k);
01043     virtual const OspfLinkLsa6& getLinkLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getLinkLsas(k);}
01044     virtual void setLinkLsas(unsigned int k, const OspfLinkLsa6& linkLsas);
01045     virtual void setIntraAreaPrefixLsasArraySize(unsigned int size);
01046     virtual unsigned int getIntraAreaPrefixLsasArraySize() const;
01047     virtual OspfIntraAreaPrefixLsa6& getIntraAreaPrefixLsas(unsigned int k);
01048     virtual const OspfIntraAreaPrefixLsa6& getIntraAreaPrefixLsas(unsigned int k) const {return const_cast<OspfLinkStateUpdatePacket6*>(this)->getIntraAreaPrefixLsas(k);}
01049     virtual void setIntraAreaPrefixLsas(unsigned int k, const OspfIntraAreaPrefixLsa6& intraAreaPrefixLsas);
01050 };
01051 
01052 inline void doPacking(cCommBuffer *b, OspfLinkStateUpdatePacket6& obj) {obj.parsimPack(b);}
01053 inline void doUnpacking(cCommBuffer *b, OspfLinkStateUpdatePacket6& obj) {obj.parsimUnpack(b);}
01054 
01063 class OspfLinkStateAcknowledgementPacket6 : public ::OspfPacket6
01064 {
01065   protected:
01066     OspfLsaHeader6 *lsaHeaders_var; // array ptr
01067     unsigned int lsaHeaders_arraysize;
01068 
01069   private:
01070     void copy(const OspfLinkStateAcknowledgementPacket6& other);
01071 
01072   protected:
01073     // protected and unimplemented operator==(), to prevent accidental usage
01074     bool operator==(const OspfLinkStateAcknowledgementPacket6&);
01075 
01076   public:
01077     OspfLinkStateAcknowledgementPacket6(const char *name=NULL, int kind=0);
01078     OspfLinkStateAcknowledgementPacket6(const OspfLinkStateAcknowledgementPacket6& other);
01079     virtual ~OspfLinkStateAcknowledgementPacket6();
01080     OspfLinkStateAcknowledgementPacket6& operator=(const OspfLinkStateAcknowledgementPacket6& other);
01081     virtual OspfLinkStateAcknowledgementPacket6 *dup() const {return new OspfLinkStateAcknowledgementPacket6(*this);}
01082     virtual void parsimPack(cCommBuffer *b);
01083     virtual void parsimUnpack(cCommBuffer *b);
01084 
01085     // field getter/setter methods
01086     virtual void setLsaHeadersArraySize(unsigned int size);
01087     virtual unsigned int getLsaHeadersArraySize() const;
01088     virtual OspfLsaHeader6& getLsaHeaders(unsigned int k);
01089     virtual const OspfLsaHeader6& getLsaHeaders(unsigned int k) const {return const_cast<OspfLinkStateAcknowledgementPacket6*>(this)->getLsaHeaders(k);}
01090     virtual void setLsaHeaders(unsigned int k, const OspfLsaHeader6& lsaHeaders);
01091 };
01092 
01093 inline void doPacking(cCommBuffer *b, OspfLinkStateAcknowledgementPacket6& obj) {obj.parsimPack(b);}
01094 inline void doUnpacking(cCommBuffer *b, OspfLinkStateAcknowledgementPacket6& obj) {obj.parsimUnpack(b);}
01095 
01096 
01097 #endif // _ANSAOSPFPACKET6_M_H_