/* * Copyright (c) 2019 Linaro Limited * * SPDX-License-Identifier: Apache-2.0 */ #include LOG_MODULE_DECLARE(net_config, CONFIG_NET_CONFIG_LOG_LEVEL); #include #include #include int net_init_clock_via_sntp(void) { struct sntp_time ts; struct timespec tspec; int res = sntp_simple(CONFIG_NET_CONFIG_SNTP_INIT_SERVER, CONFIG_NET_CONFIG_SNTP_INIT_TIMEOUT, &ts); if (res < 0) { LOG_ERR("Cannot set time using SNTP"); return res; } tspec.tv_sec = ts.seconds; tspec.tv_nsec = ((uint64_t)ts.fraction * (1000 * 1000 * 1000)) >> 32; res = clock_settime(CLOCK_REALTIME, &tspec); return 0; }