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