⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntp.h

📁 This directory contains source code for tcpdump, a tool for network monitoring and data acquisition
💻 H
字号:
/* $Header: ntp.h,v 1.3 95/05/04 17:52:49 mccanne Exp $ */

/*
 * Based on ntp.h from the U of MD implementation
 *      This file is based on Version 2 of the NTP spec (RFC1119).
 */

/*
 *  Definitions for the masses
 */
#define JAN_1970  2208988800      /* 1970 - 1900 in seconds */

/*
 * Structure definitions for NTP fixed point values
 *
 *    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
 *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *   |                         Integer Part                          |
 *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *   |                         Fraction Part                         |
 *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *
 *    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
 *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *   |            Integer Part       |     Fraction Part             |
 *   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
*/
struct l_fixedpt {
       u_int32_t int_part;
       u_int32_t fraction;
};

struct s_fixedpt {
       u_short int_part;
       u_short 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 **** */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -