|
INET Framework for OMNeT++/OMNEST
|
00001 // 00002 // Generated file, do not edit! Created by opp_msgc 4.2 from networklayer/ipv4/ICMPMessage.msg. 00003 // 00004 00005 #ifndef _ICMPMESSAGE_M_H_ 00006 #define _ICMPMESSAGE_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 "INETDefs.h" 00018 // }} 00019 00020 // cplusplus {{ 00021 typedef int ICMPCode; 00022 00023 00024 00025 00026 enum ICMPDestinationUnreachableCodes 00027 { 00028 ICMP_DU_NETWORK_UNREACHABLE = 0, 00029 ICMP_DU_HOST_UNREACHABLE = 1, 00030 ICMP_DU_PROTOCOL_UNREACHABLE = 2, 00031 ICMP_DU_PORT_UNREACHABLE = 3, 00032 ICMP_DU_FRAGMENTATION_NEEDED = 4, 00033 ICMP_DU_SOURCE_ROUTE_FAILED = 5, 00034 ICMP_DU_DESTINATION_NETWORK_UNKNOWN = 6, 00035 ICMP_DU_DESTINATION_HOST_UNKNOWN = 7, 00036 ICMP_DU_SOURCE_HOST_ISOLATED = 8, 00037 ICMP_DU_NETWORK_PROHIBITED = 9, 00038 ICMP_DU_HOST_PROHIBITED = 10, 00039 ICMP_DU_NETWORK_UNREACHABLE_FOR_TYPE_OF_SERVICE = 11, 00040 ICMP_DU_HOST_UNREACHABLE_FOR_TYPE_OF_SERVICE = 12, 00041 ICMP_DU_COMMUNICATION_PROHIBITED = 13, 00042 ICMP_DU_HOST_PRECEDENCE_VIOLATION = 14, 00043 ICMP_DU_PRECEDENCE_CUTOFF_IN_EFFECT = 15, 00044 ICMP_AODV_QUEUE_FULL = 16 00045 }; 00046 // }} 00047 00048 00049 00068 enum ICMPType { 00069 ICMP_DESTINATION_UNREACHABLE = 13, 00070 ICMP_REDIRECT = 5, 00071 ICMP_TIME_EXCEEDED = 11, 00072 ICMP_PARAMETER_PROBLEM = 12, 00073 ICMP_ECHO_REQUEST = 128, 00074 ICMP_ECHO_REPLY = 129, 00075 ICMP_TIMESTAMP_REQUEST = 130, 00076 ICMP_TIMESTAMP_REPLY = 131 00077 }; 00078 00089 class ICMPMessage : public ::cPacket 00090 { 00091 protected: 00092 int type_var; 00093 int code_var; 00094 00095 private: 00096 void copy(const ICMPMessage& other); 00097 00098 protected: 00099 // protected and unimplemented operator==(), to prevent accidental usage 00100 bool operator==(const ICMPMessage&); 00101 00102 public: 00103 ICMPMessage(const char *name=NULL, int kind=0); 00104 ICMPMessage(const ICMPMessage& other); 00105 virtual ~ICMPMessage(); 00106 ICMPMessage& operator=(const ICMPMessage& other); 00107 virtual ICMPMessage *dup() const {return new ICMPMessage(*this);} 00108 virtual void parsimPack(cCommBuffer *b); 00109 virtual void parsimUnpack(cCommBuffer *b); 00110 00111 // field getter/setter methods 00112 virtual int getType() const; 00113 virtual void setType(int type); 00114 virtual int getCode() const; 00115 virtual void setCode(int code); 00116 }; 00117 00118 inline void doPacking(cCommBuffer *b, ICMPMessage& obj) {obj.parsimPack(b);} 00119 inline void doUnpacking(cCommBuffer *b, ICMPMessage& obj) {obj.parsimUnpack(b);} 00120 00121 00122 #endif // _ICMPMESSAGE_M_H_