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