diff options
author | Grant Erickson <marathon96@gmail.com> | 2012-07-16 09:47:58 -0700 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-07-17 10:12:59 +0200 |
commit | a8edee9468a2848f83f859e7ae3945b282867d50 (patch) | |
tree | 63cea03a02c0a89c007dfca94f4d93385d6915ff /src/ntp.c | |
parent | 9be8311f0f27033c84a1be4fcabd16999002cfad (diff) | |
download | connman-a8edee9468a2848f83f859e7ae3945b282867d50.tar.gz connman-a8edee9468a2848f83f859e7ae3945b282867d50.tar.bz2 connman-a8edee9468a2848f83f859e7ae3945b282867d50.zip |
ntp: Add mnemonics for the flags (leap, version, mode) packet field
Diffstat (limited to 'src/ntp.c')
-rw-r--r-- | src/ntp.c | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -69,6 +69,36 @@ struct ntp_msg { #define LOGTOD(a) ((a) < 0 ? 1. / (1L << -(a)) : 1L << (int)(a)) +#define NTP_FLAG_LI_SHIFT 6 +#define NTP_FLAG_LI_MASK 0x3 +#define NTP_FLAG_LI_NOWARNING 0x0 +#define NTP_FLAG_LI_ADDSECOND 0x1 +#define NTP_FLAG_LI_DELSECOND 0x2 +#define NTP_FLAG_LI_NOTINSYNC 0x3 + +#define NTP_FLAG_VN_SHIFT 3 +#define NTP_FLAG_VN_MASK 0x7 + +#define NTP_FLAG_MD_SHIFT 0 +#define NTP_FLAG_MD_MASK 0x7 +#define NTP_FLAG_MD_UNSPEC 0 +#define NTP_FLAG_MD_ACTIVE 1 +#define NTP_FLAG_MD_PASSIVE 2 +#define NTP_FLAG_MD_CLIENT 3 +#define NTP_FLAG_MD_SERVER 4 +#define NTP_FLAG_MD_BROADCAST 5 +#define NTP_FLAG_MD_CONTROL 6 +#define NTP_FLAG_MD_PRIVATE 7 + +#define NTP_FLAGS_ENCODE(li, vn, md) ((uint8_t)( \ + (((li) & NTP_FLAG_LI_MASK) << NTP_FLAG_LI_SHIFT) | \ + (((vn) & NTP_FLAG_VN_MASK) << NTP_FLAG_VN_SHIFT) | \ + (((md) & NTP_FLAG_MD_MASK) << NTP_FLAG_MD_SHIFT))) + +#define NTP_FLAGS_LI_DECODE(flags) ((uint8_t)(((flags) >> NTP_FLAG_LI_SHIFT) & NTP_FLAG_LI_MASK)) +#define NTP_FLAGS_VN_DECODE(flags) ((uint8_t)(((flags) >> NTP_FLAG_VN_SHIFT) & NTP_FLAG_VN_MASK)) +#define NTP_FLAGS_MD_DECODE(flags) ((uint8_t)(((flags) >> NTP_FLAG_MD_SHIFT) & NTP_FLAG_MD_MASK)) + static guint channel_watch = 0; static struct timeval transmit_timeval; static int transmit_fd = 0; |