|
INET Framework for OMNeT++/OMNEST
|
00001 // 00002 // Generated file, do not edit! Created by opp_msgc 4.2 from transport/sctp/SCTPMessage.msg. 00003 // 00004 00005 #ifndef _SCTPMESSAGE_M_H_ 00006 #define _SCTPMESSAGE_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 "IPvXAddress.h" 00018 // }} 00019 00020 // cplusplus {{ 00021 typedef cPacket *cPacketPtr; 00022 // }} 00023 00024 00025 00038 class SCTPSimpleMessage : public ::cPacket 00039 { 00040 protected: 00041 uint32 dataLen_var; 00042 char *data_var; // array ptr 00043 unsigned int data_arraysize; 00044 simtime_t creationTime_var; 00045 bool encaps_var; 00046 00047 private: 00048 void copy(const SCTPSimpleMessage& other); 00049 00050 protected: 00051 // protected and unimplemented operator==(), to prevent accidental usage 00052 bool operator==(const SCTPSimpleMessage&); 00053 00054 public: 00055 SCTPSimpleMessage(const char *name=NULL, int kind=0); 00056 SCTPSimpleMessage(const SCTPSimpleMessage& other); 00057 virtual ~SCTPSimpleMessage(); 00058 SCTPSimpleMessage& operator=(const SCTPSimpleMessage& other); 00059 virtual SCTPSimpleMessage *dup() const {return new SCTPSimpleMessage(*this);} 00060 virtual void parsimPack(cCommBuffer *b); 00061 virtual void parsimUnpack(cCommBuffer *b); 00062 00063 // field getter/setter methods 00064 virtual uint32 getDataLen() const; 00065 virtual void setDataLen(uint32 dataLen); 00066 virtual void setDataArraySize(unsigned int size); 00067 virtual unsigned int getDataArraySize() const; 00068 virtual char getData(unsigned int k) const; 00069 virtual void setData(unsigned int k, char data); 00070 virtual simtime_t getCreationTime() const; 00071 virtual void setCreationTime(simtime_t creationTime); 00072 virtual bool getEncaps() const; 00073 virtual void setEncaps(bool encaps); 00074 }; 00075 00076 inline void doPacking(cCommBuffer *b, SCTPSimpleMessage& obj) {obj.parsimPack(b);} 00077 inline void doUnpacking(cCommBuffer *b, SCTPSimpleMessage& obj) {obj.parsimUnpack(b);} 00078 00120 class SCTPMessage_Base : public ::cPacket 00121 { 00122 protected: 00123 uint16 srcPort_var; 00124 uint16 destPort_var; 00125 uint32 tag_var; 00126 bool checksumOk_var; 00127 00128 private: 00129 void copy(const SCTPMessage_Base& other); 00130 00131 protected: 00132 // protected and unimplemented operator==(), to prevent accidental usage 00133 bool operator==(const SCTPMessage_Base&); 00134 // make constructors protected to avoid instantiation 00135 SCTPMessage_Base(const char *name=NULL, int kind=0); 00136 SCTPMessage_Base(const SCTPMessage_Base& other); 00137 // make assignment operator protected to force the user override it 00138 SCTPMessage_Base& operator=(const SCTPMessage_Base& other); 00139 00140 public: 00141 virtual ~SCTPMessage_Base(); 00142 virtual SCTPMessage_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class SCTPMessage");} 00143 virtual void parsimPack(cCommBuffer *b); 00144 virtual void parsimUnpack(cCommBuffer *b); 00145 00146 // field getter/setter methods 00147 virtual uint16 getSrcPort() const; 00148 virtual void setSrcPort(uint16 srcPort); 00149 virtual uint16 getDestPort() const; 00150 virtual void setDestPort(uint16 destPort); 00151 virtual uint32 getTag() const; 00152 virtual void setTag(uint32 tag); 00153 virtual bool getChecksumOk() const; 00154 virtual void setChecksumOk(bool checksumOk); 00155 virtual void setChunksArraySize(unsigned int size) = 0; 00156 virtual unsigned int getChunksArraySize() const = 0; 00157 virtual cPacketPtr& getChunks(unsigned int k) = 0; 00158 virtual const cPacketPtr& getChunks(unsigned int k) const {return const_cast<SCTPMessage_Base*>(this)->getChunks(k);} 00159 virtual void setChunks(unsigned int k, const cPacketPtr& chunks) = 0; 00160 }; 00161 00173 class SCTPChunk : public ::cPacket 00174 { 00175 protected: 00176 uint8 chunkType_var; 00177 00178 private: 00179 void copy(const SCTPChunk& other); 00180 00181 protected: 00182 // protected and unimplemented operator==(), to prevent accidental usage 00183 bool operator==(const SCTPChunk&); 00184 00185 public: 00186 SCTPChunk(const char *name=NULL, int kind=0); 00187 SCTPChunk(const SCTPChunk& other); 00188 virtual ~SCTPChunk(); 00189 SCTPChunk& operator=(const SCTPChunk& other); 00190 virtual SCTPChunk *dup() const {return new SCTPChunk(*this);} 00191 virtual void parsimPack(cCommBuffer *b); 00192 virtual void parsimUnpack(cCommBuffer *b); 00193 00194 // field getter/setter methods 00195 virtual uint8 getChunkType() const; 00196 virtual void setChunkType(uint8 chunkType); 00197 }; 00198 00199 inline void doPacking(cCommBuffer *b, SCTPChunk& obj) {obj.parsimPack(b);} 00200 inline void doUnpacking(cCommBuffer *b, SCTPChunk& obj) {obj.parsimUnpack(b);} 00201 00223 class SCTPInitChunk : public ::SCTPChunk 00224 { 00225 protected: 00226 uint32 initTag_var; 00227 uint32 a_rwnd_var; 00228 uint16 noOutStreams_var; 00229 uint16 noInStreams_var; 00230 uint32 initTSN_var; 00231 bool forwardTsn_var; 00232 IPvXAddress *addresses_var; // array ptr 00233 unsigned int addresses_arraysize; 00234 uint8 *unrecognizedParameters_var; // array ptr 00235 unsigned int unrecognizedParameters_arraysize; 00236 00237 private: 00238 void copy(const SCTPInitChunk& other); 00239 00240 protected: 00241 // protected and unimplemented operator==(), to prevent accidental usage 00242 bool operator==(const SCTPInitChunk&); 00243 00244 public: 00245 SCTPInitChunk(const char *name=NULL, int kind=0); 00246 SCTPInitChunk(const SCTPInitChunk& other); 00247 virtual ~SCTPInitChunk(); 00248 SCTPInitChunk& operator=(const SCTPInitChunk& other); 00249 virtual SCTPInitChunk *dup() const {return new SCTPInitChunk(*this);} 00250 virtual void parsimPack(cCommBuffer *b); 00251 virtual void parsimUnpack(cCommBuffer *b); 00252 00253 // field getter/setter methods 00254 virtual uint32 getInitTag() const; 00255 virtual void setInitTag(uint32 initTag); 00256 virtual uint32 getA_rwnd() const; 00257 virtual void setA_rwnd(uint32 a_rwnd); 00258 virtual uint16 getNoOutStreams() const; 00259 virtual void setNoOutStreams(uint16 noOutStreams); 00260 virtual uint16 getNoInStreams() const; 00261 virtual void setNoInStreams(uint16 noInStreams); 00262 virtual uint32 getInitTSN() const; 00263 virtual void setInitTSN(uint32 initTSN); 00264 virtual bool getForwardTsn() const; 00265 virtual void setForwardTsn(bool forwardTsn); 00266 virtual void setAddressesArraySize(unsigned int size); 00267 virtual unsigned int getAddressesArraySize() const; 00268 virtual IPvXAddress& getAddresses(unsigned int k); 00269 virtual const IPvXAddress& getAddresses(unsigned int k) const {return const_cast<SCTPInitChunk*>(this)->getAddresses(k);} 00270 virtual void setAddresses(unsigned int k, const IPvXAddress& addresses); 00271 virtual void setUnrecognizedParametersArraySize(unsigned int size); 00272 virtual unsigned int getUnrecognizedParametersArraySize() const; 00273 virtual uint8 getUnrecognizedParameters(unsigned int k) const; 00274 virtual void setUnrecognizedParameters(unsigned int k, uint8 unrecognizedParameters); 00275 }; 00276 00277 inline void doPacking(cCommBuffer *b, SCTPInitChunk& obj) {obj.parsimPack(b);} 00278 inline void doUnpacking(cCommBuffer *b, SCTPInitChunk& obj) {obj.parsimUnpack(b);} 00279 00303 class SCTPInitAckChunk : public ::SCTPChunk 00304 { 00305 protected: 00306 uint32 initTag_var; 00307 uint32 a_rwnd_var; 00308 uint16 noOutStreams_var; 00309 uint16 noInStreams_var; 00310 uint32 initTSN_var; 00311 bool forwardTsn_var; 00312 IPvXAddress *addresses_var; // array ptr 00313 unsigned int addresses_arraysize; 00314 char *cookie_var; // array ptr 00315 unsigned int cookie_arraysize; 00316 uint8 *unrecognizedParameters_var; // array ptr 00317 unsigned int unrecognizedParameters_arraysize; 00318 cPacketPtr stateCookie_var; 00319 00320 private: 00321 void copy(const SCTPInitAckChunk& other); 00322 00323 protected: 00324 // protected and unimplemented operator==(), to prevent accidental usage 00325 bool operator==(const SCTPInitAckChunk&); 00326 00327 public: 00328 SCTPInitAckChunk(const char *name=NULL, int kind=0); 00329 SCTPInitAckChunk(const SCTPInitAckChunk& other); 00330 virtual ~SCTPInitAckChunk(); 00331 SCTPInitAckChunk& operator=(const SCTPInitAckChunk& other); 00332 virtual SCTPInitAckChunk *dup() const {return new SCTPInitAckChunk(*this);} 00333 virtual void parsimPack(cCommBuffer *b); 00334 virtual void parsimUnpack(cCommBuffer *b); 00335 00336 // field getter/setter methods 00337 virtual uint32 getInitTag() const; 00338 virtual void setInitTag(uint32 initTag); 00339 virtual uint32 getA_rwnd() const; 00340 virtual void setA_rwnd(uint32 a_rwnd); 00341 virtual uint16 getNoOutStreams() const; 00342 virtual void setNoOutStreams(uint16 noOutStreams); 00343 virtual uint16 getNoInStreams() const; 00344 virtual void setNoInStreams(uint16 noInStreams); 00345 virtual uint32 getInitTSN() const; 00346 virtual void setInitTSN(uint32 initTSN); 00347 virtual bool getForwardTsn() const; 00348 virtual void setForwardTsn(bool forwardTsn); 00349 virtual void setAddressesArraySize(unsigned int size); 00350 virtual unsigned int getAddressesArraySize() const; 00351 virtual IPvXAddress& getAddresses(unsigned int k); 00352 virtual const IPvXAddress& getAddresses(unsigned int k) const {return const_cast<SCTPInitAckChunk*>(this)->getAddresses(k);} 00353 virtual void setAddresses(unsigned int k, const IPvXAddress& addresses); 00354 virtual void setCookieArraySize(unsigned int size); 00355 virtual unsigned int getCookieArraySize() const; 00356 virtual char getCookie(unsigned int k) const; 00357 virtual void setCookie(unsigned int k, char cookie); 00358 virtual void setUnrecognizedParametersArraySize(unsigned int size); 00359 virtual unsigned int getUnrecognizedParametersArraySize() const; 00360 virtual uint8 getUnrecognizedParameters(unsigned int k) const; 00361 virtual void setUnrecognizedParameters(unsigned int k, uint8 unrecognizedParameters); 00362 virtual cPacketPtr& getStateCookie(); 00363 virtual const cPacketPtr& getStateCookie() const {return const_cast<SCTPInitAckChunk*>(this)->getStateCookie();} 00364 virtual void setStateCookie(const cPacketPtr& stateCookie); 00365 }; 00366 00367 inline void doPacking(cCommBuffer *b, SCTPInitAckChunk& obj) {obj.parsimPack(b);} 00368 inline void doUnpacking(cCommBuffer *b, SCTPInitAckChunk& obj) {obj.parsimUnpack(b);} 00369 00381 class SCTPCookieEchoChunk : public ::SCTPChunk 00382 { 00383 protected: 00384 char *cookie_var; // array ptr 00385 unsigned int cookie_arraysize; 00386 cPacketPtr stateCookie_var; 00387 uint8 *unrecognizedParameters_var; // array ptr 00388 unsigned int unrecognizedParameters_arraysize; 00389 00390 private: 00391 void copy(const SCTPCookieEchoChunk& other); 00392 00393 protected: 00394 // protected and unimplemented operator==(), to prevent accidental usage 00395 bool operator==(const SCTPCookieEchoChunk&); 00396 00397 public: 00398 SCTPCookieEchoChunk(const char *name=NULL, int kind=0); 00399 SCTPCookieEchoChunk(const SCTPCookieEchoChunk& other); 00400 virtual ~SCTPCookieEchoChunk(); 00401 SCTPCookieEchoChunk& operator=(const SCTPCookieEchoChunk& other); 00402 virtual SCTPCookieEchoChunk *dup() const {return new SCTPCookieEchoChunk(*this);} 00403 virtual void parsimPack(cCommBuffer *b); 00404 virtual void parsimUnpack(cCommBuffer *b); 00405 00406 // field getter/setter methods 00407 virtual void setCookieArraySize(unsigned int size); 00408 virtual unsigned int getCookieArraySize() const; 00409 virtual char getCookie(unsigned int k) const; 00410 virtual void setCookie(unsigned int k, char cookie); 00411 virtual cPacketPtr& getStateCookie(); 00412 virtual const cPacketPtr& getStateCookie() const {return const_cast<SCTPCookieEchoChunk*>(this)->getStateCookie();} 00413 virtual void setStateCookie(const cPacketPtr& stateCookie); 00414 virtual void setUnrecognizedParametersArraySize(unsigned int size); 00415 virtual unsigned int getUnrecognizedParametersArraySize() const; 00416 virtual uint8 getUnrecognizedParameters(unsigned int k) const; 00417 virtual void setUnrecognizedParameters(unsigned int k, uint8 unrecognizedParameters); 00418 }; 00419 00420 inline void doPacking(cCommBuffer *b, SCTPCookieEchoChunk& obj) {obj.parsimPack(b);} 00421 inline void doUnpacking(cCommBuffer *b, SCTPCookieEchoChunk& obj) {obj.parsimUnpack(b);} 00422 00436 class SCTPCookie : public ::cPacket 00437 { 00438 protected: 00439 simtime_t creationTime_var; 00440 uint32 localTag_var; 00441 uint32 peerTag_var; 00442 uint8 *localTieTag_var; // array ptr 00443 unsigned int localTieTag_arraysize; 00444 uint8 *peerTieTag_var; // array ptr 00445 unsigned int peerTieTag_arraysize; 00446 00447 private: 00448 void copy(const SCTPCookie& other); 00449 00450 protected: 00451 // protected and unimplemented operator==(), to prevent accidental usage 00452 bool operator==(const SCTPCookie&); 00453 00454 public: 00455 SCTPCookie(const char *name=NULL, int kind=0); 00456 SCTPCookie(const SCTPCookie& other); 00457 virtual ~SCTPCookie(); 00458 SCTPCookie& operator=(const SCTPCookie& other); 00459 virtual SCTPCookie *dup() const {return new SCTPCookie(*this);} 00460 virtual void parsimPack(cCommBuffer *b); 00461 virtual void parsimUnpack(cCommBuffer *b); 00462 00463 // field getter/setter methods 00464 virtual simtime_t getCreationTime() const; 00465 virtual void setCreationTime(simtime_t creationTime); 00466 virtual uint32 getLocalTag() const; 00467 virtual void setLocalTag(uint32 localTag); 00468 virtual uint32 getPeerTag() const; 00469 virtual void setPeerTag(uint32 peerTag); 00470 virtual void setLocalTieTagArraySize(unsigned int size); 00471 virtual unsigned int getLocalTieTagArraySize() const; 00472 virtual uint8 getLocalTieTag(unsigned int k) const; 00473 virtual void setLocalTieTag(unsigned int k, uint8 localTieTag); 00474 virtual void setPeerTieTagArraySize(unsigned int size); 00475 virtual unsigned int getPeerTieTagArraySize() const; 00476 virtual uint8 getPeerTieTag(unsigned int k) const; 00477 virtual void setPeerTieTag(unsigned int k, uint8 peerTieTag); 00478 }; 00479 00480 inline void doPacking(cCommBuffer *b, SCTPCookie& obj) {obj.parsimPack(b);} 00481 inline void doUnpacking(cCommBuffer *b, SCTPCookie& obj) {obj.parsimUnpack(b);} 00482 00491 class SCTPCookieAckChunk : public ::SCTPChunk 00492 { 00493 protected: 00494 00495 private: 00496 void copy(const SCTPCookieAckChunk& other); 00497 00498 protected: 00499 // protected and unimplemented operator==(), to prevent accidental usage 00500 bool operator==(const SCTPCookieAckChunk&); 00501 00502 public: 00503 SCTPCookieAckChunk(const char *name=NULL, int kind=0); 00504 SCTPCookieAckChunk(const SCTPCookieAckChunk& other); 00505 virtual ~SCTPCookieAckChunk(); 00506 SCTPCookieAckChunk& operator=(const SCTPCookieAckChunk& other); 00507 virtual SCTPCookieAckChunk *dup() const {return new SCTPCookieAckChunk(*this);} 00508 virtual void parsimPack(cCommBuffer *b); 00509 virtual void parsimUnpack(cCommBuffer *b); 00510 00511 // field getter/setter methods 00512 }; 00513 00514 inline void doPacking(cCommBuffer *b, SCTPCookieAckChunk& obj) {obj.parsimPack(b);} 00515 inline void doUnpacking(cCommBuffer *b, SCTPCookieAckChunk& obj) {obj.parsimUnpack(b);} 00516 00538 class SCTPDataMsg : public ::cPacket 00539 { 00540 protected: 00541 bool eBit_var; 00542 bool bBit_var; 00543 simtime_t enqueuingTime_var; 00544 simtime_t expiryTime_var; 00545 uint32 ppid_var; 00546 IPvXAddress initialDestination_var; 00547 uint32 msgNum_var; 00548 uint16 sid_var; 00549 bool ordered_var; 00550 uint32 booksize_var; 00551 uint32 rtx_var; 00552 bool fragment_var; 00553 00554 private: 00555 void copy(const SCTPDataMsg& other); 00556 00557 protected: 00558 // protected and unimplemented operator==(), to prevent accidental usage 00559 bool operator==(const SCTPDataMsg&); 00560 00561 public: 00562 SCTPDataMsg(const char *name=NULL, int kind=0); 00563 SCTPDataMsg(const SCTPDataMsg& other); 00564 virtual ~SCTPDataMsg(); 00565 SCTPDataMsg& operator=(const SCTPDataMsg& other); 00566 virtual SCTPDataMsg *dup() const {return new SCTPDataMsg(*this);} 00567 virtual void parsimPack(cCommBuffer *b); 00568 virtual void parsimUnpack(cCommBuffer *b); 00569 00570 // field getter/setter methods 00571 virtual bool getEBit() const; 00572 virtual void setEBit(bool eBit); 00573 virtual bool getBBit() const; 00574 virtual void setBBit(bool bBit); 00575 virtual simtime_t getEnqueuingTime() const; 00576 virtual void setEnqueuingTime(simtime_t enqueuingTime); 00577 virtual simtime_t getExpiryTime() const; 00578 virtual void setExpiryTime(simtime_t expiryTime); 00579 virtual uint32 getPpid() const; 00580 virtual void setPpid(uint32 ppid); 00581 virtual IPvXAddress& getInitialDestination(); 00582 virtual const IPvXAddress& getInitialDestination() const {return const_cast<SCTPDataMsg*>(this)->getInitialDestination();} 00583 virtual void setInitialDestination(const IPvXAddress& initialDestination); 00584 virtual uint32 getMsgNum() const; 00585 virtual void setMsgNum(uint32 msgNum); 00586 virtual uint16 getSid() const; 00587 virtual void setSid(uint16 sid); 00588 virtual bool getOrdered() const; 00589 virtual void setOrdered(bool ordered); 00590 virtual uint32 getBooksize() const; 00591 virtual void setBooksize(uint32 booksize); 00592 virtual uint32 getRtx() const; 00593 virtual void setRtx(uint32 rtx); 00594 virtual bool getFragment() const; 00595 virtual void setFragment(bool fragment); 00596 }; 00597 00598 inline void doPacking(cCommBuffer *b, SCTPDataMsg& obj) {obj.parsimPack(b);} 00599 inline void doUnpacking(cCommBuffer *b, SCTPDataMsg& obj) {obj.parsimUnpack(b);} 00600 00622 class SCTPDataChunk : public ::SCTPChunk 00623 { 00624 protected: 00625 bool eBit_var; 00626 bool bBit_var; 00627 bool uBit_var; 00628 uint32 tsn_var; 00629 uint16 sid_var; 00630 uint16 ssn_var; 00631 uint32 ppid_var; 00632 simtime_t enqueuingTime_var; 00633 00634 private: 00635 void copy(const SCTPDataChunk& other); 00636 00637 protected: 00638 // protected and unimplemented operator==(), to prevent accidental usage 00639 bool operator==(const SCTPDataChunk&); 00640 00641 public: 00642 SCTPDataChunk(const char *name=NULL, int kind=0); 00643 SCTPDataChunk(const SCTPDataChunk& other); 00644 virtual ~SCTPDataChunk(); 00645 SCTPDataChunk& operator=(const SCTPDataChunk& other); 00646 virtual SCTPDataChunk *dup() const {return new SCTPDataChunk(*this);} 00647 virtual void parsimPack(cCommBuffer *b); 00648 virtual void parsimUnpack(cCommBuffer *b); 00649 00650 // field getter/setter methods 00651 virtual bool getEBit() const; 00652 virtual void setEBit(bool eBit); 00653 virtual bool getBBit() const; 00654 virtual void setBBit(bool bBit); 00655 virtual bool getUBit() const; 00656 virtual void setUBit(bool uBit); 00657 virtual uint32 getTsn() const; 00658 virtual void setTsn(uint32 tsn); 00659 virtual uint16 getSid() const; 00660 virtual void setSid(uint16 sid); 00661 virtual uint16 getSsn() const; 00662 virtual void setSsn(uint16 ssn); 00663 virtual uint32 getPpid() const; 00664 virtual void setPpid(uint32 ppid); 00665 virtual simtime_t getEnqueuingTime() const; 00666 virtual void setEnqueuingTime(simtime_t enqueuingTime); 00667 }; 00668 00669 inline void doPacking(cCommBuffer *b, SCTPDataChunk& obj) {obj.parsimPack(b);} 00670 inline void doUnpacking(cCommBuffer *b, SCTPDataChunk& obj) {obj.parsimUnpack(b);} 00671 00683 class SCTPForwardTsnChunk : public ::SCTPChunk 00684 { 00685 protected: 00686 uint32 newCumTsn_var; 00687 uint16 *sid_var; // array ptr 00688 unsigned int sid_arraysize; 00689 short *ssn_var; // array ptr 00690 unsigned int ssn_arraysize; 00691 00692 private: 00693 void copy(const SCTPForwardTsnChunk& other); 00694 00695 protected: 00696 // protected and unimplemented operator==(), to prevent accidental usage 00697 bool operator==(const SCTPForwardTsnChunk&); 00698 00699 public: 00700 SCTPForwardTsnChunk(const char *name=NULL, int kind=0); 00701 SCTPForwardTsnChunk(const SCTPForwardTsnChunk& other); 00702 virtual ~SCTPForwardTsnChunk(); 00703 SCTPForwardTsnChunk& operator=(const SCTPForwardTsnChunk& other); 00704 virtual SCTPForwardTsnChunk *dup() const {return new SCTPForwardTsnChunk(*this);} 00705 virtual void parsimPack(cCommBuffer *b); 00706 virtual void parsimUnpack(cCommBuffer *b); 00707 00708 // field getter/setter methods 00709 virtual uint32 getNewCumTsn() const; 00710 virtual void setNewCumTsn(uint32 newCumTsn); 00711 virtual void setSidArraySize(unsigned int size); 00712 virtual unsigned int getSidArraySize() const; 00713 virtual uint16 getSid(unsigned int k) const; 00714 virtual void setSid(unsigned int k, uint16 sid); 00715 virtual void setSsnArraySize(unsigned int size); 00716 virtual unsigned int getSsnArraySize() const; 00717 virtual short getSsn(unsigned int k) const; 00718 virtual void setSsn(unsigned int k, short ssn); 00719 }; 00720 00721 inline void doPacking(cCommBuffer *b, SCTPForwardTsnChunk& obj) {obj.parsimPack(b);} 00722 inline void doUnpacking(cCommBuffer *b, SCTPForwardTsnChunk& obj) {obj.parsimUnpack(b);} 00723 00745 class SCTPSackChunk : public ::SCTPChunk 00746 { 00747 protected: 00748 uint32 cumTsnAck_var; 00749 uint32 a_rwnd_var; 00750 uint16 numGaps_var; 00751 uint16 numDupTsns_var; 00752 uint32 *gapStart_var; // array ptr 00753 unsigned int gapStart_arraysize; 00754 uint32 *gapStop_var; // array ptr 00755 unsigned int gapStop_arraysize; 00756 uint32 *dupTsns_var; // array ptr 00757 unsigned int dupTsns_arraysize; 00758 uint32 sackSeqNum_var; 00759 00760 private: 00761 void copy(const SCTPSackChunk& other); 00762 00763 protected: 00764 // protected and unimplemented operator==(), to prevent accidental usage 00765 bool operator==(const SCTPSackChunk&); 00766 00767 public: 00768 SCTPSackChunk(const char *name=NULL, int kind=0); 00769 SCTPSackChunk(const SCTPSackChunk& other); 00770 virtual ~SCTPSackChunk(); 00771 SCTPSackChunk& operator=(const SCTPSackChunk& other); 00772 virtual SCTPSackChunk *dup() const {return new SCTPSackChunk(*this);} 00773 virtual void parsimPack(cCommBuffer *b); 00774 virtual void parsimUnpack(cCommBuffer *b); 00775 00776 // field getter/setter methods 00777 virtual uint32 getCumTsnAck() const; 00778 virtual void setCumTsnAck(uint32 cumTsnAck); 00779 virtual uint32 getA_rwnd() const; 00780 virtual void setA_rwnd(uint32 a_rwnd); 00781 virtual uint16 getNumGaps() const; 00782 virtual void setNumGaps(uint16 numGaps); 00783 virtual uint16 getNumDupTsns() const; 00784 virtual void setNumDupTsns(uint16 numDupTsns); 00785 virtual void setGapStartArraySize(unsigned int size); 00786 virtual unsigned int getGapStartArraySize() const; 00787 virtual uint32 getGapStart(unsigned int k) const; 00788 virtual void setGapStart(unsigned int k, uint32 gapStart); 00789 virtual void setGapStopArraySize(unsigned int size); 00790 virtual unsigned int getGapStopArraySize() const; 00791 virtual uint32 getGapStop(unsigned int k) const; 00792 virtual void setGapStop(unsigned int k, uint32 gapStop); 00793 virtual void setDupTsnsArraySize(unsigned int size); 00794 virtual unsigned int getDupTsnsArraySize() const; 00795 virtual uint32 getDupTsns(unsigned int k) const; 00796 virtual void setDupTsns(unsigned int k, uint32 dupTsns); 00797 virtual uint32 getSackSeqNum() const; 00798 virtual void setSackSeqNum(uint32 sackSeqNum); 00799 }; 00800 00801 inline void doPacking(cCommBuffer *b, SCTPSackChunk& obj) {obj.parsimPack(b);} 00802 inline void doUnpacking(cCommBuffer *b, SCTPSackChunk& obj) {obj.parsimUnpack(b);} 00803 00814 class SCTPAbortChunk : public ::SCTPChunk 00815 { 00816 protected: 00817 bool T_Bit_var; 00818 00819 private: 00820 void copy(const SCTPAbortChunk& other); 00821 00822 protected: 00823 // protected and unimplemented operator==(), to prevent accidental usage 00824 bool operator==(const SCTPAbortChunk&); 00825 00826 public: 00827 SCTPAbortChunk(const char *name=NULL, int kind=0); 00828 SCTPAbortChunk(const SCTPAbortChunk& other); 00829 virtual ~SCTPAbortChunk(); 00830 SCTPAbortChunk& operator=(const SCTPAbortChunk& other); 00831 virtual SCTPAbortChunk *dup() const {return new SCTPAbortChunk(*this);} 00832 virtual void parsimPack(cCommBuffer *b); 00833 virtual void parsimUnpack(cCommBuffer *b); 00834 00835 // field getter/setter methods 00836 virtual bool getT_Bit() const; 00837 virtual void setT_Bit(bool T_Bit); 00838 }; 00839 00840 inline void doPacking(cCommBuffer *b, SCTPAbortChunk& obj) {obj.parsimPack(b);} 00841 inline void doUnpacking(cCommBuffer *b, SCTPAbortChunk& obj) {obj.parsimUnpack(b);} 00842 00854 class SCTPHeartbeatChunk : public ::SCTPChunk 00855 { 00856 protected: 00857 IPvXAddress remoteAddr_var; 00858 simtime_t timeField_var; 00859 char *info_var; // array ptr 00860 unsigned int info_arraysize; 00861 00862 private: 00863 void copy(const SCTPHeartbeatChunk& other); 00864 00865 protected: 00866 // protected and unimplemented operator==(), to prevent accidental usage 00867 bool operator==(const SCTPHeartbeatChunk&); 00868 00869 public: 00870 SCTPHeartbeatChunk(const char *name=NULL, int kind=0); 00871 SCTPHeartbeatChunk(const SCTPHeartbeatChunk& other); 00872 virtual ~SCTPHeartbeatChunk(); 00873 SCTPHeartbeatChunk& operator=(const SCTPHeartbeatChunk& other); 00874 virtual SCTPHeartbeatChunk *dup() const {return new SCTPHeartbeatChunk(*this);} 00875 virtual void parsimPack(cCommBuffer *b); 00876 virtual void parsimUnpack(cCommBuffer *b); 00877 00878 // field getter/setter methods 00879 virtual IPvXAddress& getRemoteAddr(); 00880 virtual const IPvXAddress& getRemoteAddr() const {return const_cast<SCTPHeartbeatChunk*>(this)->getRemoteAddr();} 00881 virtual void setRemoteAddr(const IPvXAddress& remoteAddr); 00882 virtual simtime_t getTimeField() const; 00883 virtual void setTimeField(simtime_t timeField); 00884 virtual void setInfoArraySize(unsigned int size); 00885 virtual unsigned int getInfoArraySize() const; 00886 virtual char getInfo(unsigned int k) const; 00887 virtual void setInfo(unsigned int k, char info); 00888 }; 00889 00890 inline void doPacking(cCommBuffer *b, SCTPHeartbeatChunk& obj) {obj.parsimPack(b);} 00891 inline void doUnpacking(cCommBuffer *b, SCTPHeartbeatChunk& obj) {obj.parsimUnpack(b);} 00892 00904 class SCTPHeartbeatAckChunk : public ::SCTPChunk 00905 { 00906 protected: 00907 IPvXAddress remoteAddr_var; 00908 simtime_t timeField_var; 00909 char *info_var; // array ptr 00910 unsigned int info_arraysize; 00911 00912 private: 00913 void copy(const SCTPHeartbeatAckChunk& other); 00914 00915 protected: 00916 // protected and unimplemented operator==(), to prevent accidental usage 00917 bool operator==(const SCTPHeartbeatAckChunk&); 00918 00919 public: 00920 SCTPHeartbeatAckChunk(const char *name=NULL, int kind=0); 00921 SCTPHeartbeatAckChunk(const SCTPHeartbeatAckChunk& other); 00922 virtual ~SCTPHeartbeatAckChunk(); 00923 SCTPHeartbeatAckChunk& operator=(const SCTPHeartbeatAckChunk& other); 00924 virtual SCTPHeartbeatAckChunk *dup() const {return new SCTPHeartbeatAckChunk(*this);} 00925 virtual void parsimPack(cCommBuffer *b); 00926 virtual void parsimUnpack(cCommBuffer *b); 00927 00928 // field getter/setter methods 00929 virtual IPvXAddress& getRemoteAddr(); 00930 virtual const IPvXAddress& getRemoteAddr() const {return const_cast<SCTPHeartbeatAckChunk*>(this)->getRemoteAddr();} 00931 virtual void setRemoteAddr(const IPvXAddress& remoteAddr); 00932 virtual simtime_t getTimeField() const; 00933 virtual void setTimeField(simtime_t timeField); 00934 virtual void setInfoArraySize(unsigned int size); 00935 virtual unsigned int getInfoArraySize() const; 00936 virtual char getInfo(unsigned int k) const; 00937 virtual void setInfo(unsigned int k, char info); 00938 }; 00939 00940 inline void doPacking(cCommBuffer *b, SCTPHeartbeatAckChunk& obj) {obj.parsimPack(b);} 00941 inline void doUnpacking(cCommBuffer *b, SCTPHeartbeatAckChunk& obj) {obj.parsimUnpack(b);} 00942 00952 class SCTPShutdownChunk : public ::SCTPChunk 00953 { 00954 protected: 00955 uint32 cumTsnAck_var; 00956 00957 private: 00958 void copy(const SCTPShutdownChunk& other); 00959 00960 protected: 00961 // protected and unimplemented operator==(), to prevent accidental usage 00962 bool operator==(const SCTPShutdownChunk&); 00963 00964 public: 00965 SCTPShutdownChunk(const char *name=NULL, int kind=0); 00966 SCTPShutdownChunk(const SCTPShutdownChunk& other); 00967 virtual ~SCTPShutdownChunk(); 00968 SCTPShutdownChunk& operator=(const SCTPShutdownChunk& other); 00969 virtual SCTPShutdownChunk *dup() const {return new SCTPShutdownChunk(*this);} 00970 virtual void parsimPack(cCommBuffer *b); 00971 virtual void parsimUnpack(cCommBuffer *b); 00972 00973 // field getter/setter methods 00974 virtual uint32 getCumTsnAck() const; 00975 virtual void setCumTsnAck(uint32 cumTsnAck); 00976 }; 00977 00978 inline void doPacking(cCommBuffer *b, SCTPShutdownChunk& obj) {obj.parsimPack(b);} 00979 inline void doUnpacking(cCommBuffer *b, SCTPShutdownChunk& obj) {obj.parsimUnpack(b);} 00980 00989 class SCTPShutdownAckChunk : public ::SCTPChunk 00990 { 00991 protected: 00992 00993 private: 00994 void copy(const SCTPShutdownAckChunk& other); 00995 00996 protected: 00997 // protected and unimplemented operator==(), to prevent accidental usage 00998 bool operator==(const SCTPShutdownAckChunk&); 00999 01000 public: 01001 SCTPShutdownAckChunk(const char *name=NULL, int kind=0); 01002 SCTPShutdownAckChunk(const SCTPShutdownAckChunk& other); 01003 virtual ~SCTPShutdownAckChunk(); 01004 SCTPShutdownAckChunk& operator=(const SCTPShutdownAckChunk& other); 01005 virtual SCTPShutdownAckChunk *dup() const {return new SCTPShutdownAckChunk(*this);} 01006 virtual void parsimPack(cCommBuffer *b); 01007 virtual void parsimUnpack(cCommBuffer *b); 01008 01009 // field getter/setter methods 01010 }; 01011 01012 inline void doPacking(cCommBuffer *b, SCTPShutdownAckChunk& obj) {obj.parsimPack(b);} 01013 inline void doUnpacking(cCommBuffer *b, SCTPShutdownAckChunk& obj) {obj.parsimUnpack(b);} 01014 01024 class SCTPShutdownCompleteChunk : public ::SCTPChunk 01025 { 01026 protected: 01027 bool TBit_var; 01028 01029 private: 01030 void copy(const SCTPShutdownCompleteChunk& other); 01031 01032 protected: 01033 // protected and unimplemented operator==(), to prevent accidental usage 01034 bool operator==(const SCTPShutdownCompleteChunk&); 01035 01036 public: 01037 SCTPShutdownCompleteChunk(const char *name=NULL, int kind=0); 01038 SCTPShutdownCompleteChunk(const SCTPShutdownCompleteChunk& other); 01039 virtual ~SCTPShutdownCompleteChunk(); 01040 SCTPShutdownCompleteChunk& operator=(const SCTPShutdownCompleteChunk& other); 01041 virtual SCTPShutdownCompleteChunk *dup() const {return new SCTPShutdownCompleteChunk(*this);} 01042 virtual void parsimPack(cCommBuffer *b); 01043 virtual void parsimUnpack(cCommBuffer *b); 01044 01045 // field getter/setter methods 01046 virtual bool getTBit() const; 01047 virtual void setTBit(bool TBit); 01048 }; 01049 01050 inline void doPacking(cCommBuffer *b, SCTPShutdownCompleteChunk& obj) {obj.parsimPack(b);} 01051 inline void doUnpacking(cCommBuffer *b, SCTPShutdownCompleteChunk& obj) {obj.parsimUnpack(b);} 01052 01089 class SCTPErrorChunk_Base : public ::SCTPChunk 01090 { 01091 protected: 01092 bool TBit_var; 01093 bool MBit_var; 01094 01095 private: 01096 void copy(const SCTPErrorChunk_Base& other); 01097 01098 protected: 01099 // protected and unimplemented operator==(), to prevent accidental usage 01100 bool operator==(const SCTPErrorChunk_Base&); 01101 // make constructors protected to avoid instantiation 01102 SCTPErrorChunk_Base(const char *name=NULL, int kind=0); 01103 SCTPErrorChunk_Base(const SCTPErrorChunk_Base& other); 01104 // make assignment operator protected to force the user override it 01105 SCTPErrorChunk_Base& operator=(const SCTPErrorChunk_Base& other); 01106 01107 public: 01108 virtual ~SCTPErrorChunk_Base(); 01109 virtual SCTPErrorChunk_Base *dup() const {throw cRuntimeError("You forgot to manually add a dup() function to class SCTPErrorChunk");} 01110 virtual void parsimPack(cCommBuffer *b); 01111 virtual void parsimUnpack(cCommBuffer *b); 01112 01113 // field getter/setter methods 01114 virtual bool getTBit() const; 01115 virtual void setTBit(bool TBit); 01116 virtual bool getMBit() const; 01117 virtual void setMBit(bool MBit); 01118 virtual void setParametersArraySize(unsigned int size) = 0; 01119 virtual unsigned int getParametersArraySize() const = 0; 01120 virtual cPacketPtr& getParameters(unsigned int k) = 0; 01121 virtual const cPacketPtr& getParameters(unsigned int k) const {return const_cast<SCTPErrorChunk_Base*>(this)->getParameters(k);} 01122 virtual void setParameters(unsigned int k, const cPacketPtr& parameters) = 0; 01123 }; 01124 01134 class SCTPParameter : public ::cPacket 01135 { 01136 protected: 01137 uint16 parameterType_var; 01138 01139 private: 01140 void copy(const SCTPParameter& other); 01141 01142 protected: 01143 // protected and unimplemented operator==(), to prevent accidental usage 01144 bool operator==(const SCTPParameter&); 01145 01146 public: 01147 SCTPParameter(const char *name=NULL, int kind=0); 01148 SCTPParameter(const SCTPParameter& other); 01149 virtual ~SCTPParameter(); 01150 SCTPParameter& operator=(const SCTPParameter& other); 01151 virtual SCTPParameter *dup() const {return new SCTPParameter(*this);} 01152 virtual void parsimPack(cCommBuffer *b); 01153 virtual void parsimUnpack(cCommBuffer *b); 01154 01155 // field getter/setter methods 01156 virtual uint16 getParameterType() const; 01157 virtual void setParameterType(uint16 parameterType); 01158 }; 01159 01160 inline void doPacking(cCommBuffer *b, SCTPParameter& obj) {obj.parsimPack(b);} 01161 inline void doUnpacking(cCommBuffer *b, SCTPParameter& obj) {obj.parsimUnpack(b);} 01162 01163 01164 #endif // _SCTPMESSAGE_M_H_