]> git.ipfire.org Git - people/ms/u-boot.git/blob - net/sntp.h
Merge branch 'master' of git://git.denx.de/u-boot-net
[people/ms/u-boot.git] / net / sntp.h
1 /*
2 * (C) Masami Komiya <mkomiya@sonare.it> 2005
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7 #ifndef __SNTP_H__
8 #define __SNTP_H__
9
10 #define NTP_SERVICE_PORT 123
11 #define SNTP_PACKET_LEN 48
12
13
14 /* Leap Indicator */
15 #define NTP_LI_NOLEAP 0x0
16 #define NTP_LI_61SECS 0x1
17 #define NTP_LI_59SECS 0x2
18 #define NTP_LI_ALARM 0x3
19
20 /* Version */
21
22 #define NTP_VERSION 4
23
24 /* Mode */
25 #define NTP_MODE_RESERVED 0
26 #define NTP_MODE_SYMACTIVE 1 /* Symmetric Active */
27 #define NTP_MODE_SYMPASSIVE 2 /* Symmetric Passive */
28 #define NTP_MODE_CLIENT 3
29 #define NTP_MODE_SERVER 4
30 #define NTP_MODE_BROADCAST 5
31 #define NTP_MODE_NTPCTRL 6 /* Reserved for NTP control message */
32 #define NTP_MODE_PRIVATE 7 /* Reserved for private use */
33
34 struct sntp_pkt_t {
35 #if __LITTLE_ENDIAN
36 uchar mode:3;
37 uchar vn:3;
38 uchar li:2;
39 #else
40 uchar li:2;
41 uchar vn:3;
42 uchar mode:3;
43 #endif
44 uchar stratum;
45 uchar poll;
46 uchar precision;
47 uint root_delay;
48 uint root_dispersion;
49 uint reference_id;
50 unsigned long long reference_timestamp;
51 unsigned long long originate_timestamp;
52 unsigned long long receive_timestamp;
53 unsigned long long transmit_timestamp;
54 };
55
56 void sntp_start(void); /* Begin SNTP */
57
58 #endif /* __SNTP_H__ */