| /* |
| * (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__ */ |