| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * (C) Masami Komiya <mkomiya@sonare.it> 2005 | |
| */ | |
| #ifndef __SNTP_H__ | |
| #define __SNTP_H__ | |
| #define NTP_SERVICE_PORT 123 | |
| #define SNTP_PACKET_LEN 48 | |
| /* Leap Indicator */ | |
| #define NTP_LI_NOLEAP 0x0 | |
| #define NTP_LI_61SECS 0x1 | |
| #define NTP_LI_59SECS 0x2 | |
| #define NTP_LI_ALARM 0x3 | |
| /* Version */ | |
| #define NTP_VERSION 4 | |
| /* Mode */ | |
| #define NTP_MODE_RESERVED 0 | |
| #define NTP_MODE_SYMACTIVE 1 /* Symmetric Active */ | |
| #define NTP_MODE_SYMPASSIVE 2 /* Symmetric Passive */ | |
| #define NTP_MODE_CLIENT 3 | |
| #define NTP_MODE_SERVER 4 | |
| #define NTP_MODE_BROADCAST 5 | |
| #define NTP_MODE_NTPCTRL 6 /* Reserved for NTP control message */ | |
| #define NTP_MODE_PRIVATE 7 /* Reserved for private use */ | |
| struct sntp_pkt_t { | |
| #if __LITTLE_ENDIAN | |
| uchar mode:3; | |
| uchar vn:3; | |
| uchar li:2; | |
| #else | |
| uchar li:2; | |
| uchar vn:3; | |
| uchar mode:3; | |
| #endif | |
| uchar stratum; | |
| uchar poll; | |
| uchar precision; | |
| uint root_delay; | |
| uint root_dispersion; | |
| uint reference_id; | |
| unsigned long long reference_timestamp; | |
| unsigned long long originate_timestamp; | |
| unsigned long long receive_timestamp; | |
| unsigned long long transmit_timestamp; | |
| } __attribute__((packed)); | |
| int sntp_prereq(void *data); | |
| int sntp_start(void *data); /* Begin SNTP */ | |
| #endif /* __SNTP_H__ */ |