reset directory link counts on I/O failure
[unix-history] / usr / src / sys / netinet / ip_icmp.h
index 1b7a017..fea5496 100644 (file)
@@ -1,4 +1,11 @@
-/* ip_icmp.h 6.1 83/07/29 */
+/*
+ * Copyright (c) 1982, 1986 Regents of the University of California.
+ * All rights reserved.
+ *
+ * %sccs.include.redist.c%
+ *
+ *     @(#)ip_icmp.h   7.5 (Berkeley) %G%
+ */
 
 /*
  * Interface Control Message Protocol Definitions.
 
 /*
  * Interface Control Message Protocol Definitions.
@@ -36,11 +43,15 @@ struct icmp {
                        struct ip idi_ip;
                        /* options and then 64 bits of data */
                } id_ip;
                        struct ip idi_ip;
                        /* options and then 64 bits of data */
                } id_ip;
+               u_long  id_mask;
+               char    id_data[1];
        } icmp_dun;
 #define        icmp_otime      icmp_dun.id_ts.its_otime
 #define        icmp_rtime      icmp_dun.id_ts.its_rtime
 #define        icmp_ttime      icmp_dun.id_ts.its_ttime
 #define        icmp_ip         icmp_dun.id_ip.idi_ip
        } icmp_dun;
 #define        icmp_otime      icmp_dun.id_ts.its_otime
 #define        icmp_rtime      icmp_dun.id_ts.its_rtime
 #define        icmp_ttime      icmp_dun.id_ts.its_ttime
 #define        icmp_ip         icmp_dun.id_ip.idi_ip
+#define        icmp_mask       icmp_dun.id_mask
+#define        icmp_data       icmp_dun.id_data
 };
 
 /*
 };
 
 /*
@@ -53,6 +64,7 @@ struct icmp {
  */
 #define        ICMP_MINLEN     8                               /* abs minimum */
 #define        ICMP_TSLEN      (8 + 3 * sizeof (n_time))       /* timestamp */
  */
 #define        ICMP_MINLEN     8                               /* abs minimum */
 #define        ICMP_TSLEN      (8 + 3 * sizeof (n_time))       /* timestamp */
+#define        ICMP_MASKLEN    12                              /* address mask */
 #define        ICMP_ADVLENMIN  (8 + sizeof (struct ip) + 8)    /* min */
 #define        ICMP_ADVLEN(p)  (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
        /* N.B.: must separately check that ip_hl >= 5 */
 #define        ICMP_ADVLENMIN  (8 + sizeof (struct ip) + 8)    /* min */
 #define        ICMP_ADVLEN(p)  (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
        /* N.B.: must separately check that ip_hl >= 5 */
@@ -83,3 +95,13 @@ struct icmp {
 #define        ICMP_TSTAMPREPLY        14              /* timestamp reply */
 #define        ICMP_IREQ               15              /* information request */
 #define        ICMP_IREQREPLY          16              /* information reply */
 #define        ICMP_TSTAMPREPLY        14              /* timestamp reply */
 #define        ICMP_IREQ               15              /* information request */
 #define        ICMP_IREQREPLY          16              /* information reply */
+#define        ICMP_MASKREQ            17              /* address mask request */
+#define        ICMP_MASKREPLY          18              /* address mask reply */
+
+#define        ICMP_MAXTYPE            18
+
+#define        ICMP_INFOTYPE(type) \
+       ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \
+       (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \
+       (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \
+       (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY)