|
INET Framework for OMNeT++/OMNEST
|
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_