INET Framework for OMNeT++/OMNEST
Ieee802Ctrl_m.h
Go to the documentation of this file.
00001 //
00002 // Generated file, do not edit! Created by opp_msgc 4.2 from linklayer/contract/Ieee802Ctrl.msg.
00003 //
00004 
00005 #ifndef _IEEE802CTRL_M_H_
00006 #define _IEEE802CTRL_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 
00035 enum Ieee802MessageKind {
00036     IEEE802CTRL_DATA = 2003,
00037     IEEE802CTRL_REGISTER_DSAP = 2004,
00038     IEEE802CTRL_DEREGISTER_DSAP = 2005,
00039     IEEE802CTRL_SENDPAUSE = 2006
00040 };
00041 
00059 enum SAPCode {
00060     SAP_IBM_SNA = 0x04,
00061     SAP_IP = 0x06,
00062     SAP_3COM = 0x80,
00063     SAP_SNAP = 0xAA,
00064     SAP_BANYAN = 0xBC,
00065     SAP_NOVELL_IPX = 0xE0,
00066     SAP_LAN_MANAGER = 0xF4,
00067     SAP_CLNS = 0xFE
00068 };
00069 
00082 enum EtherType {
00083     ETHERTYPE_IP = 0x0800,
00084     ETHERTYPE_ARP = 0x0806,
00085     ETHERTYPE_RARP = 0x8035
00086 };
00087 
00103 class Ieee802Ctrl : public ::cObject
00104 {
00105   protected:
00106     MACAddress src_var;
00107     MACAddress dest_var;
00108     int etherType_var;
00109     int ssap_var;
00110     int dsap_var;
00111     int pauseUnits_var;
00112     int inputPort_var;
00113 
00114   private:
00115     void copy(const Ieee802Ctrl& other);
00116 
00117   protected:
00118     // protected and unimplemented operator==(), to prevent accidental usage
00119     bool operator==(const Ieee802Ctrl&);
00120 
00121   public:
00122     Ieee802Ctrl();
00123     Ieee802Ctrl(const Ieee802Ctrl& other);
00124     virtual ~Ieee802Ctrl();
00125     Ieee802Ctrl& operator=(const Ieee802Ctrl& other);
00126     virtual Ieee802Ctrl *dup() const {return new Ieee802Ctrl(*this);}
00127     virtual void parsimPack(cCommBuffer *b);
00128     virtual void parsimUnpack(cCommBuffer *b);
00129 
00130     // field getter/setter methods
00131     virtual MACAddress& getSrc();
00132     virtual const MACAddress& getSrc() const {return const_cast<Ieee802Ctrl*>(this)->getSrc();}
00133     virtual void setSrc(const MACAddress& src);
00134     virtual MACAddress& getDest();
00135     virtual const MACAddress& getDest() const {return const_cast<Ieee802Ctrl*>(this)->getDest();}
00136     virtual void setDest(const MACAddress& dest);
00137     virtual int getEtherType() const;
00138     virtual void setEtherType(int etherType);
00139     virtual int getSsap() const;
00140     virtual void setSsap(int ssap);
00141     virtual int getDsap() const;
00142     virtual void setDsap(int dsap);
00143     virtual int getPauseUnits() const;
00144     virtual void setPauseUnits(int pauseUnits);
00145     virtual int getInputPort() const;
00146     virtual void setInputPort(int inputPort);
00147 };
00148 
00149 inline void doPacking(cCommBuffer *b, Ieee802Ctrl& obj) {obj.parsimPack(b);}
00150 inline void doUnpacking(cCommBuffer *b, Ieee802Ctrl& obj) {obj.parsimUnpack(b);}
00151 
00152 
00153 #endif // _IEEE802CTRL_M_H_