00001 #ifndef _HLBR_DECODE_ICMP_H_ 00002 #define _HLBR_DECODE_ICMP_H_ 00003 00004 #include "../config.h" 00005 #include "../engine/hlbr.h" 00006 #include "decode.h" 00007 00008 #define ICMP_TYPE_ECHOREPLY 0 00009 #define ICMP_TYPE_ECHO 8 00010 00011 typedef struct icmp_header { 00012 unsigned char type; 00013 unsigned char code; 00014 unsigned char checksum; 00015 union { 00016 struct { 00017 unsigned short id; 00018 unsigned short sequence; 00019 } echo; 00020 unsigned int gateway; 00021 struct { 00022 unsigned short __unused; 00023 unsigned short mtu; 00024 } frag; 00025 } un; 00026 } ICMPHdr; 00027 00028 00029 00030 typedef struct icmp_data{ 00031 ICMPHdr* Header; 00032 } ICMPData; 00033 00034 00035 int InitDecoderICMP(); 00036 00037 #endif