]> The Tcpdump Group git mirrors - tcpdump/blobdiff - ntp.h
CI: Add warning exemptions for Sun C (suncc-5.14) on Solaris 10
[tcpdump] / ntp.h
diff --git a/ntp.h b/ntp.h
index b315b508516f2793de57f111c8e92567d6b85253..0fe4214281a2af09f66779eb4d24b45a0bed78e2 100644 (file)
--- a/ntp.h
+++ b/ntp.h
@@ -1,14 +1,28 @@
-/* $Header: /tcpdump/master/tcpdump/ntp.h,v 1.4 2000-10-03 02:54:57 itojun Exp $ */
-
 /*
 /*
- * Based on ntp.h from the U of MD implementation
- *     This file is based on Version 2 of the NTP spec (RFC1119).
+ * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that: (1) source code distributions
+ * retain the above copyright notice and this paragraph in its entirety, (2)
+ * distributions including binary code include the above copyright notice and
+ * this paragraph in its entirety in the documentation or other materials
+ * provided with the distribution, and (3) all advertising materials mentioning
+ * features or use of this software display the following acknowledgement:
+ * ``This product includes software developed by the University of California,
+ * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
+ * the University nor the names of its contributors may be used to endorse
+ * or promote products derived from this software without specific prior
+ * written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
  */
 
  */
 
-/*
- *  Definitions for the masses
- */
-#define        JAN_1970        2208988800      /* 1970 - 1900 in seconds */
+#include "netdissect-stdinc.h"
+
+#include "netdissect.h"
 
 /*
  * Structure definitions for NTP fixed point values
 
 /*
  * Structure definitions for NTP fixed point values
  *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 */
 struct l_fixedpt {
  *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 */
 struct l_fixedpt {
-       u_int32_t int_part;
-       u_int32_t fraction;
+       nd_uint32_t int_part;
+       nd_uint32_t fraction;
 };
 
 struct s_fixedpt {
 };
 
 struct s_fixedpt {
-       u_int16_t int_part;
-       u_int16_t fraction;
+       nd_uint16_t int_part;
+       nd_uint16_t fraction;
 };
 
 };
 
-/*  =================  Table 3.3. Packet Variables   ================= */
-/*
- *    0                          1                   2                   3
- *    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |LI | VN  | Mode|   Stratum    |      Poll     |   Precision   |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                    Synchronizing Distance                    |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                   Synchronizing Dispersion                   |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                 Reference Clock Identifier                   |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                                                              |
- *   |                Reference Timestamp (64 bits)                 |
- *   |                                                              |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                                                              |
- *   |                Originate Timestamp (64 bits)                 |
- *   |                                                              |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                                                              |
- *   |                 Receive Timestamp (64 bits)                  |
- *   |                                                              |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *   |                                                              |
- *   |                 Transmit Timestamp (64 bits)                 |
- *   |                                                              |
- *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-*/
-struct ntpdata {
-       u_char status;          /* status of local clock and leap info */
-       u_char stratum;         /* Stratum level */
-       u_char ppoll;           /* poll value */
-       int precision:8;
-       struct s_fixedpt distance;
-       struct s_fixedpt dispersion;
-       u_int32_t refid;
-       struct l_fixedpt reftime;
-       struct l_fixedpt org;
-       struct l_fixedpt rec;
-       struct l_fixedpt xmt;
-};
-/*
- *     Leap Second Codes (high order two bits)
- */
-#define        NO_WARNING      0x00    /* no warning */
-#define        PLUS_SEC        0x40    /* add a second (61 seconds) */
-#define        MINUS_SEC       0x80    /* minus a second (59 seconds) */
-#define        ALARM           0xc0    /* alarm condition (clock unsynchronized) */
-
-/*
- *     Clock Status Bits that Encode Version
- */
-#define        NTPVERSION_1    0x08
-#define        VERSIONMASK     0x38
-#define LEAPMASK       0xc0
-#define        MODEMASK        0x07
-
-/*
- *     Code values
- */
-#define        MODE_UNSPEC     0       /* unspecified */
-#define        MODE_SYM_ACT    1       /* symmetric active */
-#define        MODE_SYM_PAS    2       /* symmetric passive */
-#define        MODE_CLIENT     3       /* client */
-#define        MODE_SERVER     4       /* server */
-#define        MODE_BROADCAST  5       /* broadcast */
-#define        MODE_RES1       6       /* reserved */
-#define        MODE_RES2       7       /* reserved */
-
-/*
- *     Stratum Definitions
- */
-#define        UNSPECIFIED     0
-#define        PRIM_REF        1       /* radio clock */
-#define        INFO_QUERY      62      /* **** THIS implementation dependent **** */
-#define        INFO_REPLY      63      /* **** THIS implementation dependent **** */
+void p_ntp_time_fmt(netdissect_options *, const char *fmt,
+                    const struct l_fixedpt *);
+void p_ntp_time(netdissect_options *, const struct l_fixedpt *);