|
INET Framework for OMNeT++/OMNEST
|
00001 // 00002 // Generated file, do not edit! Created by opp_msgc 4.2 from linklayer/ieee80211/mac/Ieee80211Frame.msg. 00003 // 00004 00005 #ifndef _IEEE80211FRAME_M_H_ 00006 #define _IEEE80211FRAME_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 "MACAddress.h" 00018 // }} 00019 00020 00021 00052 enum Ieee80211FrameType { 00053 ST_ASSOCIATIONREQUEST = 0x00, 00054 ST_ASSOCIATIONRESPONSE = 0x01, 00055 ST_REASSOCIATIONREQUEST = 0x02, 00056 ST_REASSOCIATIONRESPONSE = 0x03, 00057 ST_PROBEREQUEST = 0x04, 00058 ST_PROBERESPONSE = 0x05, 00059 ST_BEACON = 0x08, 00060 ST_ATIM = 0x09, 00061 ST_DISASSOCIATION = 0x0a, 00062 ST_AUTHENTICATION = 0x0b, 00063 ST_DEAUTHENTICATION = 0x0c, 00064 ST_PSPOLL = 0x1a, 00065 ST_RTS = 0x1b, 00066 ST_CTS = 0x1c, 00067 ST_ACK = 0x1d, 00068 ST_DATA = 0x20 00069 }; 00070 00088 class Ieee80211Frame : public ::cPacket 00089 { 00090 protected: 00091 short type_var; 00092 bool toDS_var; 00093 bool fromDS_var; 00094 bool retry_var; 00095 bool moreFragments_var; 00096 simtime_t duration_var; 00097 short AID_var; 00098 MACAddress receiverAddress_var; 00099 00100 private: 00101 void copy(const Ieee80211Frame& other); 00102 00103 protected: 00104 // protected and unimplemented operator==(), to prevent accidental usage 00105 bool operator==(const Ieee80211Frame&); 00106 00107 public: 00108 Ieee80211Frame(const char *name=NULL, int kind=0); 00109 Ieee80211Frame(const Ieee80211Frame& other); 00110 virtual ~Ieee80211Frame(); 00111 Ieee80211Frame& operator=(const Ieee80211Frame& other); 00112 virtual Ieee80211Frame *dup() const {return new Ieee80211Frame(*this);} 00113 virtual void parsimPack(cCommBuffer *b); 00114 virtual void parsimUnpack(cCommBuffer *b); 00115 00116 // field getter/setter methods 00117 virtual short getType() const; 00118 virtual void setType(short type); 00119 virtual bool getToDS() const; 00120 virtual void setToDS(bool toDS); 00121 virtual bool getFromDS() const; 00122 virtual void setFromDS(bool fromDS); 00123 virtual bool getRetry() const; 00124 virtual void setRetry(bool retry); 00125 virtual bool getMoreFragments() const; 00126 virtual void setMoreFragments(bool moreFragments); 00127 virtual simtime_t getDuration() const; 00128 virtual void setDuration(simtime_t duration); 00129 virtual short getAID() const; 00130 virtual void setAID(short AID); 00131 virtual MACAddress& getReceiverAddress(); 00132 virtual const MACAddress& getReceiverAddress() const {return const_cast<Ieee80211Frame*>(this)->getReceiverAddress();} 00133 virtual void setReceiverAddress(const MACAddress& receiverAddress); 00134 }; 00135 00136 inline void doPacking(cCommBuffer *b, Ieee80211Frame& obj) {obj.parsimPack(b);} 00137 inline void doUnpacking(cCommBuffer *b, Ieee80211Frame& obj) {obj.parsimUnpack(b);} 00138 00147 class Ieee80211OneAddressFrame : public ::Ieee80211Frame 00148 { 00149 protected: 00150 00151 private: 00152 void copy(const Ieee80211OneAddressFrame& other); 00153 00154 protected: 00155 // protected and unimplemented operator==(), to prevent accidental usage 00156 bool operator==(const Ieee80211OneAddressFrame&); 00157 00158 public: 00159 Ieee80211OneAddressFrame(const char *name=NULL, int kind=0); 00160 Ieee80211OneAddressFrame(const Ieee80211OneAddressFrame& other); 00161 virtual ~Ieee80211OneAddressFrame(); 00162 Ieee80211OneAddressFrame& operator=(const Ieee80211OneAddressFrame& other); 00163 virtual Ieee80211OneAddressFrame *dup() const {return new Ieee80211OneAddressFrame(*this);} 00164 virtual void parsimPack(cCommBuffer *b); 00165 virtual void parsimUnpack(cCommBuffer *b); 00166 00167 // field getter/setter methods 00168 }; 00169 00170 inline void doPacking(cCommBuffer *b, Ieee80211OneAddressFrame& obj) {obj.parsimPack(b);} 00171 inline void doUnpacking(cCommBuffer *b, Ieee80211OneAddressFrame& obj) {obj.parsimUnpack(b);} 00172 00182 class Ieee80211ACKFrame : public ::Ieee80211OneAddressFrame 00183 { 00184 protected: 00185 00186 private: 00187 void copy(const Ieee80211ACKFrame& other); 00188 00189 protected: 00190 // protected and unimplemented operator==(), to prevent accidental usage 00191 bool operator==(const Ieee80211ACKFrame&); 00192 00193 public: 00194 Ieee80211ACKFrame(const char *name=NULL, int kind=0); 00195 Ieee80211ACKFrame(const Ieee80211ACKFrame& other); 00196 virtual ~Ieee80211ACKFrame(); 00197 Ieee80211ACKFrame& operator=(const Ieee80211ACKFrame& other); 00198 virtual Ieee80211ACKFrame *dup() const {return new Ieee80211ACKFrame(*this);} 00199 virtual void parsimPack(cCommBuffer *b); 00200 virtual void parsimUnpack(cCommBuffer *b); 00201 00202 // field getter/setter methods 00203 }; 00204 00205 inline void doPacking(cCommBuffer *b, Ieee80211ACKFrame& obj) {obj.parsimPack(b);} 00206 inline void doUnpacking(cCommBuffer *b, Ieee80211ACKFrame& obj) {obj.parsimUnpack(b);} 00207 00218 class Ieee80211TwoAddressFrame : public ::Ieee80211OneAddressFrame 00219 { 00220 protected: 00221 MACAddress transmitterAddress_var; 00222 00223 private: 00224 void copy(const Ieee80211TwoAddressFrame& other); 00225 00226 protected: 00227 // protected and unimplemented operator==(), to prevent accidental usage 00228 bool operator==(const Ieee80211TwoAddressFrame&); 00229 00230 public: 00231 Ieee80211TwoAddressFrame(const char *name=NULL, int kind=0); 00232 Ieee80211TwoAddressFrame(const Ieee80211TwoAddressFrame& other); 00233 virtual ~Ieee80211TwoAddressFrame(); 00234 Ieee80211TwoAddressFrame& operator=(const Ieee80211TwoAddressFrame& other); 00235 virtual Ieee80211TwoAddressFrame *dup() const {return new Ieee80211TwoAddressFrame(*this);} 00236 virtual void parsimPack(cCommBuffer *b); 00237 virtual void parsimUnpack(cCommBuffer *b); 00238 00239 // field getter/setter methods 00240 virtual MACAddress& getTransmitterAddress(); 00241 virtual const MACAddress& getTransmitterAddress() const {return const_cast<Ieee80211TwoAddressFrame*>(this)->getTransmitterAddress();} 00242 virtual void setTransmitterAddress(const MACAddress& transmitterAddress); 00243 }; 00244 00245 inline void doPacking(cCommBuffer *b, Ieee80211TwoAddressFrame& obj) {obj.parsimPack(b);} 00246 inline void doUnpacking(cCommBuffer *b, Ieee80211TwoAddressFrame& obj) {obj.parsimUnpack(b);} 00247 00257 class Ieee80211RTSFrame : public ::Ieee80211TwoAddressFrame 00258 { 00259 protected: 00260 00261 private: 00262 void copy(const Ieee80211RTSFrame& other); 00263 00264 protected: 00265 // protected and unimplemented operator==(), to prevent accidental usage 00266 bool operator==(const Ieee80211RTSFrame&); 00267 00268 public: 00269 Ieee80211RTSFrame(const char *name=NULL, int kind=0); 00270 Ieee80211RTSFrame(const Ieee80211RTSFrame& other); 00271 virtual ~Ieee80211RTSFrame(); 00272 Ieee80211RTSFrame& operator=(const Ieee80211RTSFrame& other); 00273 virtual Ieee80211RTSFrame *dup() const {return new Ieee80211RTSFrame(*this);} 00274 virtual void parsimPack(cCommBuffer *b); 00275 virtual void parsimUnpack(cCommBuffer *b); 00276 00277 // field getter/setter methods 00278 }; 00279 00280 inline void doPacking(cCommBuffer *b, Ieee80211RTSFrame& obj) {obj.parsimPack(b);} 00281 inline void doUnpacking(cCommBuffer *b, Ieee80211RTSFrame& obj) {obj.parsimUnpack(b);} 00282 00292 class Ieee80211CTSFrame : public ::Ieee80211OneAddressFrame 00293 { 00294 protected: 00295 00296 private: 00297 void copy(const Ieee80211CTSFrame& other); 00298 00299 protected: 00300 // protected and unimplemented operator==(), to prevent accidental usage 00301 bool operator==(const Ieee80211CTSFrame&); 00302 00303 public: 00304 Ieee80211CTSFrame(const char *name=NULL, int kind=0); 00305 Ieee80211CTSFrame(const Ieee80211CTSFrame& other); 00306 virtual ~Ieee80211CTSFrame(); 00307 Ieee80211CTSFrame& operator=(const Ieee80211CTSFrame& other); 00308 virtual Ieee80211CTSFrame *dup() const {return new Ieee80211CTSFrame(*this);} 00309 virtual void parsimPack(cCommBuffer *b); 00310 virtual void parsimUnpack(cCommBuffer *b); 00311 00312 // field getter/setter methods 00313 }; 00314 00315 inline void doPacking(cCommBuffer *b, Ieee80211CTSFrame& obj) {obj.parsimPack(b);} 00316 inline void doUnpacking(cCommBuffer *b, Ieee80211CTSFrame& obj) {obj.parsimUnpack(b);} 00317 00330 class Ieee80211DataOrMgmtFrame : public ::Ieee80211TwoAddressFrame 00331 { 00332 protected: 00333 MACAddress address3_var; 00334 short fragmentNumber_var; 00335 short sequenceNumber_var; 00336 00337 private: 00338 void copy(const Ieee80211DataOrMgmtFrame& other); 00339 00340 protected: 00341 // protected and unimplemented operator==(), to prevent accidental usage 00342 bool operator==(const Ieee80211DataOrMgmtFrame&); 00343 00344 public: 00345 Ieee80211DataOrMgmtFrame(const char *name=NULL, int kind=0); 00346 Ieee80211DataOrMgmtFrame(const Ieee80211DataOrMgmtFrame& other); 00347 virtual ~Ieee80211DataOrMgmtFrame(); 00348 Ieee80211DataOrMgmtFrame& operator=(const Ieee80211DataOrMgmtFrame& other); 00349 virtual Ieee80211DataOrMgmtFrame *dup() const {return new Ieee80211DataOrMgmtFrame(*this);} 00350 virtual void parsimPack(cCommBuffer *b); 00351 virtual void parsimUnpack(cCommBuffer *b); 00352 00353 // field getter/setter methods 00354 virtual MACAddress& getAddress3(); 00355 virtual const MACAddress& getAddress3() const {return const_cast<Ieee80211DataOrMgmtFrame*>(this)->getAddress3();} 00356 virtual void setAddress3(const MACAddress& address3); 00357 virtual short getFragmentNumber() const; 00358 virtual void setFragmentNumber(short fragmentNumber); 00359 virtual short getSequenceNumber() const; 00360 virtual void setSequenceNumber(short sequenceNumber); 00361 }; 00362 00363 inline void doPacking(cCommBuffer *b, Ieee80211DataOrMgmtFrame& obj) {obj.parsimPack(b);} 00364 inline void doUnpacking(cCommBuffer *b, Ieee80211DataOrMgmtFrame& obj) {obj.parsimUnpack(b);} 00365 00377 class Ieee80211DataFrame : public ::Ieee80211DataOrMgmtFrame 00378 { 00379 protected: 00380 MACAddress address4_var; 00381 00382 private: 00383 void copy(const Ieee80211DataFrame& other); 00384 00385 protected: 00386 // protected and unimplemented operator==(), to prevent accidental usage 00387 bool operator==(const Ieee80211DataFrame&); 00388 00389 public: 00390 Ieee80211DataFrame(const char *name=NULL, int kind=0); 00391 Ieee80211DataFrame(const Ieee80211DataFrame& other); 00392 virtual ~Ieee80211DataFrame(); 00393 Ieee80211DataFrame& operator=(const Ieee80211DataFrame& other); 00394 virtual Ieee80211DataFrame *dup() const {return new Ieee80211DataFrame(*this);} 00395 virtual void parsimPack(cCommBuffer *b); 00396 virtual void parsimUnpack(cCommBuffer *b); 00397 00398 // field getter/setter methods 00399 virtual MACAddress& getAddress4(); 00400 virtual const MACAddress& getAddress4() const {return const_cast<Ieee80211DataFrame*>(this)->getAddress4();} 00401 virtual void setAddress4(const MACAddress& address4); 00402 }; 00403 00404 inline void doPacking(cCommBuffer *b, Ieee80211DataFrame& obj) {obj.parsimPack(b);} 00405 inline void doUnpacking(cCommBuffer *b, Ieee80211DataFrame& obj) {obj.parsimUnpack(b);} 00406 00415 class Ieee80211ManagementFrame : public ::Ieee80211DataOrMgmtFrame 00416 { 00417 protected: 00418 00419 private: 00420 void copy(const Ieee80211ManagementFrame& other); 00421 00422 protected: 00423 // protected and unimplemented operator==(), to prevent accidental usage 00424 bool operator==(const Ieee80211ManagementFrame&); 00425 00426 public: 00427 Ieee80211ManagementFrame(const char *name=NULL, int kind=0); 00428 Ieee80211ManagementFrame(const Ieee80211ManagementFrame& other); 00429 virtual ~Ieee80211ManagementFrame(); 00430 Ieee80211ManagementFrame& operator=(const Ieee80211ManagementFrame& other); 00431 virtual Ieee80211ManagementFrame *dup() const {return new Ieee80211ManagementFrame(*this);} 00432 virtual void parsimPack(cCommBuffer *b); 00433 virtual void parsimUnpack(cCommBuffer *b); 00434 00435 // field getter/setter methods 00436 }; 00437 00438 inline void doPacking(cCommBuffer *b, Ieee80211ManagementFrame& obj) {obj.parsimPack(b);} 00439 inline void doUnpacking(cCommBuffer *b, Ieee80211ManagementFrame& obj) {obj.parsimUnpack(b);} 00440 00441 00442 #endif // _IEEE80211FRAME_M_H_