INET Framework for OMNeT++/OMNEST
ARPPacket_m.h
Go to the documentation of this file.
00001 //
00002 // Generated file, do not edit! Created by opp_msgc 4.2 from networklayer/arp/ARPPacket.msg.
00003 //
00004 
00005 #ifndef _ARPPACKET_M_H_
00006 #define _ARPPACKET_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 "IPAddress.h"
00018 #include "MACAddress.h"
00019 
00020 
00021 #define ARP_HEADER_BYTES   28
00022 // }}
00023 
00024 
00025 
00039 enum ARPOpcode {
00040     ARP_REQUEST = 1,
00041     ARP_REPLY = 2,
00042     ARP_RARP_REQUEST = 3,
00043     ARP_RARP_REPLY = 4
00044 };
00045 
00059 class ARPPacket : public ::cPacket
00060 {
00061   protected:
00062     int opcode_var;
00063     MACAddress srcMACAddress_var;
00064     MACAddress destMACAddress_var;
00065     IPAddress srcIPAddress_var;
00066     IPAddress destIPAddress_var;
00067 
00068   private:
00069     void copy(const ARPPacket& other);
00070 
00071   protected:
00072     // protected and unimplemented operator==(), to prevent accidental usage
00073     bool operator==(const ARPPacket&);
00074 
00075   public:
00076     ARPPacket(const char *name=NULL, int kind=0);
00077     ARPPacket(const ARPPacket& other);
00078     virtual ~ARPPacket();
00079     ARPPacket& operator=(const ARPPacket& other);
00080     virtual ARPPacket *dup() const {return new ARPPacket(*this);}
00081     virtual void parsimPack(cCommBuffer *b);
00082     virtual void parsimUnpack(cCommBuffer *b);
00083 
00084     // field getter/setter methods
00085     virtual int getOpcode() const;
00086     virtual void setOpcode(int opcode);
00087     virtual MACAddress& getSrcMACAddress();
00088     virtual const MACAddress& getSrcMACAddress() const {return const_cast<ARPPacket*>(this)->getSrcMACAddress();}
00089     virtual void setSrcMACAddress(const MACAddress& srcMACAddress);
00090     virtual MACAddress& getDestMACAddress();
00091     virtual const MACAddress& getDestMACAddress() const {return const_cast<ARPPacket*>(this)->getDestMACAddress();}
00092     virtual void setDestMACAddress(const MACAddress& destMACAddress);
00093     virtual IPAddress& getSrcIPAddress();
00094     virtual const IPAddress& getSrcIPAddress() const {return const_cast<ARPPacket*>(this)->getSrcIPAddress();}
00095     virtual void setSrcIPAddress(const IPAddress& srcIPAddress);
00096     virtual IPAddress& getDestIPAddress();
00097     virtual const IPAddress& getDestIPAddress() const {return const_cast<ARPPacket*>(this)->getDestIPAddress();}
00098     virtual void setDestIPAddress(const IPAddress& destIPAddress);
00099 };
00100 
00101 inline void doPacking(cCommBuffer *b, ARPPacket& obj) {obj.parsimPack(b);}
00102 inline void doUnpacking(cCommBuffer *b, ARPPacket& obj) {obj.parsimUnpack(b);}
00103 
00104 
00105 #endif // _ARPPACKET_M_H_