diff options
author | wdenk <wdenk> | 2005-04-01 00:25:43 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2005-04-01 00:25:43 +0000 |
commit | ea287debe1980182adbe8c63b71bb82193dad5b7 (patch) | |
tree | 34044b91763e6e85704b7a54acd34c042931461d /net/sntp.h | |
parent | ef2807c667a91135fbb91b805b852ccfbff03587 (diff) |
* Patch by Masami Komiya, 30 Mar 2005:
add SNTP support and expand time server and time offset fields of
DHCP support. See doc/README.SNTP
* Patch by Steven Scholz, 13 Dec 2004:
Fix bug in at91rm920 ethernet driver
Diffstat (limited to 'net/sntp.h')
-rw-r--r-- | net/sntp.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/net/sntp.h b/net/sntp.h new file mode 100644 index 00000000000..8a097bfa385 --- /dev/null +++ b/net/sntp.h @@ -0,0 +1,61 @@ +/* + * (C) Masami Komiya <mkomiya@sonare.it> 2005 + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2, or (at + * your option) any later version. + */ + +#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; +}; + +extern void SntpStart (void); /* Begin SNTP */ + +#endif /* __SNTP_H__ */ |