HS NTP is a software library in C (supplied with full source code) which implements the client side of Network Time Protocol (NTP) over UDP socket layer according to RFC1769 and RFC1305. HS NTP Library allows a user application to synchronise local system time to remote NTP server time.
HS NTP includes the C source for the following platforms: Windows, Linux, MAC OS X, iPhone iOS, WinCE
First user application calls HS NTP initialisation function supplying pointers to callback functions in user code for timer management and for reporting NTP events to user.
To obtain time difference between local system and remote NTP server, the user application calls HsNtpGetTime function, specifying NTP server name or IP address and source UDP port to use.
HS NTP library then resolves the server name, formats and sends NTP time request packet according to RFC1305 and RFC1769 standard. Once HS NTP has received NTP time reply from NTP server it analyses the reply and reports the resulting time difference to user application via callback function. The parameters to this event callback contain the offset value in seconds necessary to apply to local clock in order to synchronize it to the time at remote NTP server.
Modular design makes it easy to port HS NTP protocol module to any environment. HS NTP internally at a lower layer interfaces to HS Sock library which provides UDP transport services. User application need not worry about Winsock - HS NTP does all transmission, reception and event handling over socket layer.