Simple Network Time Protocol Library
Overview
The SNTP library implements IETF RFC4330 (Simple Network Time Protocol v4).
SNTP provides a way to synchronize clocks in computer networks.
API Reference
- group sntp
- Simple Network Time Protocol API. - Functions - 
int sntp_init(struct sntp_ctx *ctx, struct sockaddr *addr, socklen_t addr_len)
- Initialize SNTP context. - Parameters:
- ctx – Address of sntp context. 
- addr – IP address of NTP/SNTP server. 
- addr_len – IP address length of NTP/SNTP server. 
 
- Returns:
- 0 if ok, <0 if error. 
 
 - 
int sntp_query(struct sntp_ctx *ctx, uint32_t timeout, struct sntp_time *time)
- Perform SNTP query. - Parameters:
- ctx – Address of sntp context. 
- timeout – Timeout of waiting for sntp response (in milliseconds). 
- time – Timestamp including integer and fractional seconds since 1 Jan 1970 (output). 
 
- Returns:
- 0 if ok, <0 if error (-ETIMEDOUT if timeout). 
 
 - 
void sntp_close(struct sntp_ctx *ctx)
- Release SNTP context. - Parameters:
- ctx – Address of sntp context. 
 
 
 - 
int sntp_simple(const char *server, uint32_t timeout, struct sntp_time *ts)
- Convenience function to query SNTP in one-shot fashion. - Convenience wrapper which calls getaddrinfo(), sntp_init(), sntp_query(), and sntp_close(). - Parameters:
- server – Address of server in format addr[:port] 
- timeout – Query timeout 
- ts – Timestamp including integer and fractional seconds since 1 Jan 1970 (output). 
 
- Returns:
- 0 if ok, <0 if error (-ETIMEDOUT if timeout). 
 
 - 
int sntp_simple_addr(struct sockaddr *addr, socklen_t addr_len, uint32_t timeout, struct sntp_time *ts)
- Convenience function to query SNTP in one-shot fashion using a pre-initialized address struct. - Convenience wrapper which calls sntp_init(), sntp_query() and sntp_close(). - Parameters:
- addr – IP address of NTP/SNTP server. 
- addr_len – IP address length of NTP/SNTP server. 
- timeout – Query timeout 
- ts – Timestamp including integer and fractional seconds since 1 Jan 1970 (output). 
 
- Returns:
- 0 if ok, <0 if error (-ETIMEDOUT if timeout). 
 
 - 
struct sntp_time
- #include <sntp.h>Time as returned by SNTP API, fractional seconds since 1 Jan 1970. 
 - 
struct sntp_ctx
- #include <sntp.h>SNTP context. 
 
- 
int sntp_init(struct sntp_ctx *ctx, struct sockaddr *addr, socklen_t addr_len)