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