12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef __SNTP_H__
- #define __SNTP_H__
- #define NTP_SERVICE_PORT 123
- #define SNTP_PACKET_LEN 48
- #define NTP_LI_NOLEAP 0x0
- #define NTP_LI_61SECS 0x1
- #define NTP_LI_59SECS 0x2
- #define NTP_LI_ALARM 0x3
- #define NTP_VERSION 4
- #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;
- };
- void sntp_start(void);
- #endif /* __SNTP_H__ */
|