Zephyr API Documentation 3.7.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
sntp.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017 Linaro Limited
3 * Copyright (c) 2019 Intel Corporation
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
13#ifndef ZEPHYR_INCLUDE_NET_SNTP_H_
14#define ZEPHYR_INCLUDE_NET_SNTP_H_
15
16#include <zephyr/net/socket.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
32struct sntp_time {
35#if defined(CONFIG_SNTP_UNCERTAINTY)
36 uint64_t uptime_us;
37 uint32_t uncertainty_us;
38#endif
39};
40
42struct sntp_ctx {
43
45 struct {
46 struct zsock_pollfd fds[1];
47 int nfds;
48 int fd;
49 } sock;
57};
58
68int sntp_init(struct sntp_ctx *ctx, struct sockaddr *addr,
69 socklen_t addr_len);
70
81int sntp_query(struct sntp_ctx *ctx, uint32_t timeout,
82 struct sntp_time *time);
83
89void sntp_close(struct sntp_ctx *ctx);
90
104int sntp_simple(const char *server, uint32_t timeout,
105 struct sntp_time *ts);
106
122int sntp_simple_addr(struct sockaddr *addr, socklen_t addr_len, uint32_t timeout,
123 struct sntp_time *ts);
124
125#ifdef __cplusplus
126}
127#endif
128
133#endif
size_t socklen_t
Length of a socket address.
Definition net_ip.h:170
void sntp_close(struct sntp_ctx *ctx)
Release SNTP context.
int sntp_simple(const char *server, uint32_t timeout, struct sntp_time *ts)
Convenience function to query SNTP in one-shot fashion.
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.
int sntp_query(struct sntp_ctx *ctx, uint32_t timeout, struct sntp_time *time)
Perform SNTP query.
int sntp_init(struct sntp_ctx *ctx, struct sockaddr *addr, socklen_t addr_len)
Initialize SNTP context.
time_t time(time_t *tloc)
BSD Sockets compatible API definitions.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
SNTP context.
Definition sntp.h:42
struct sntp_time expected_orig_ts
Timestamp when the request was sent from client to server.
Definition sntp.h:56
Time as returned by SNTP API, fractional seconds since 1 Jan 1970.
Definition sntp.h:32
uint64_t seconds
Second value.
Definition sntp.h:33
uint32_t fraction
Fractional seconds value.
Definition sntp.h:34
Generic sockaddr struct.
Definition net_ip.h:387
Definition of the monitored socket/file descriptor.
Definition socket_poll.h:28