00001 /* 00002 server/ip/gen/icmp_hdr.h 00003 */ 00004 00005 #ifndef __SERVER__IP__GEN__ICMP_HDR_H__ 00006 #define __SERVER__IP__GEN__ICMP_HDR_H__ 00007 00008 typedef struct icmp_id_seq 00009 { 00010 u16_t iis_id, iis_seq; 00011 } icmp_id_seq_t; 00012 00013 typedef struct icmp_ip_id 00014 { 00015 ip_hdr_t iii_hdr; 00016 /* ip_hdr_options and 64 bytes of data */ 00017 } icmp_ip_id_t; 00018 00019 typedef struct icmp_ram /* RFC 1256 */ 00020 { 00021 u8_t iram_na; 00022 u8_t iram_aes; 00023 u16_t iram_lt; 00024 } icmp_ram_t; 00025 00026 typedef struct icmp_pp 00027 { 00028 u8_t ipp_ptr; 00029 u8_t ipp_unused[3]; 00030 } icmp_pp_t; 00031 00032 typedef struct icmp_mtu /* RFC 1191 */ 00033 { 00034 u16_t im_unused; 00035 u16_t im_mtu; 00036 } icmp_mtu_t; 00037 00038 typedef struct icmp_hdr 00039 { 00040 u8_t ih_type, ih_code; 00041 u16_t ih_chksum; 00042 union 00043 { 00044 u32_t ihh_unused; 00045 icmp_id_seq_t ihh_idseq; 00046 ipaddr_t ihh_gateway; 00047 icmp_ram_t ihh_ram; 00048 icmp_pp_t ihh_pp; 00049 icmp_mtu_t ihh_mtu; 00050 } ih_hun; 00051 union 00052 { 00053 icmp_ip_id_t ihd_ipid; 00054 u8_t uhd_data[1]; 00055 } ih_dun; 00056 } icmp_hdr_t; 00057 00058 #endif /* __SERVER__IP__GEN__ICMP_HDR_H__ */ 00059 00060 /* 00061 * $PchId: icmp_hdr.h,v 1.5 2002/06/10 07:10:48 philip Exp $ 00062 */
1.4.6