📄 ntp.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 + -