xref: /minix/minix/include/net/gen/icmp_hdr.h (revision 00b67f09)
1 /*
2 server/ip/gen/icmp_hdr.h
3 */
4 
5 #ifndef __SERVER__IP__GEN__ICMP_HDR_H__
6 #define __SERVER__IP__GEN__ICMP_HDR_H__
7 
8 typedef struct icmp_id_seq
9 {
10 	u16_t	iis_id, iis_seq;
11 } icmp_id_seq_t;
12 
13 typedef struct icmp_ip_id
14 {
15 	ip_hdr_t iii_hdr;
16 	/* ip_hdr_options and 64 bytes of data */
17 } icmp_ip_id_t;
18 
19 typedef struct icmp_ram		/* RFC 1256 */
20 {
21 	u8_t	iram_na;
22 	u8_t	iram_aes;
23 	u16_t	iram_lt;
24 } icmp_ram_t;
25 
26 typedef struct icmp_pp
27 {
28 	u8_t	ipp_ptr;
29 	u8_t	ipp_unused[3];
30 } icmp_pp_t;
31 
32 typedef struct icmp_mtu		/* RFC 1191 */
33 {
34 	u16_t	im_unused;
35 	u16_t	im_mtu;
36 } icmp_mtu_t;
37 
38 typedef struct icmp_hdr
39 {
40 	u8_t ih_type, ih_code;
41 	u16_t ih_chksum;
42 	union
43 	{
44 		u32_t ihh_unused;
45 		icmp_id_seq_t ihh_idseq;
46 		ipaddr_t ihh_gateway;
47 		icmp_ram_t ihh_ram;
48 		icmp_pp_t ihh_pp;
49 		icmp_mtu_t ihh_mtu;
50 	} ih_hun;
51 	union
52 	{
53 		icmp_ip_id_t ihd_ipid;
54 		u8_t uhd_data[1];
55 	} ih_dun;
56 } icmp_hdr_t;
57 
58 #endif /* __SERVER__IP__GEN__ICMP_HDR_H__ */
59 
60 /*
61  * $PchId: icmp_hdr.h,v 1.5 2002/06/10 07:10:48 philip Exp $
62  */
63