sntp: use udp framework

This commits update the support of sntp to use
the framework udp. This change allows to remove
all the reference to sntp in the main network
file net/net.c.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Philippe Reynes
2020-09-18 14:13:02 +02:00
committed by Tom Rini
parent 6b981a224e
commit 912ece4c3d
5 changed files with 40 additions and 34 deletions

58
include/net/sntp.h Normal file
View File

@@ -0,0 +1,58 @@
/* 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__ */