icmp_hdr.h

Go to the documentation of this file.
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  */

Generated on Fri Apr 14 22:57:21 2006 for minix by  doxygen 1.4.6