xref: /openbmc/u-boot/net/sntp.h (revision 8b0044ff5942943eaa49935f49d5006b346a60f8)
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__ */
59