SNTP client (Simple Network Time Protocol) More...
Go to the source code of this file.
| Data Structures | |
| struct | SntpClientContext | 
| SNTP client context.  More... | |
| Macros | |
| #define | SNTP_CLIENT_SUPPORT ENABLED | 
| #define | SNTP_CLIENT_DEFAULT_TIMEOUT 30000 | 
| #define | SNTP_CLIENT_INIT_RETRANSMIT_TIMEOUT 2000 | 
| #define | SNTP_CLIENT_MAX_RETRANSMIT_TIMEOUT 15000 | 
| #define | SNTP_CLIENT_SRC_PORT 0 | 
| #define | SNTP_CLIENT_PRIVATE_CONTEXT | 
| Enumerations | |
| enum | SntpClientState { SNTP_CLIENT_STATE_INIT = 0, SNTP_CLIENT_STATE_SENDING = 1, SNTP_CLIENT_STATE_RECEIVING = 2, SNTP_CLIENT_STATE_COMPLETE = 3 } | 
| SNTP client states.  More... | |
| Functions | |
| error_t | sntpClientInit (SntpClientContext *context) | 
| Initialize SNTP client context.  More... | |
| error_t | sntpClientSetVersion (SntpClientContext *context, NtpVersion version) | 
| Set the NTP protocol version to be used.  More... | |
| error_t | sntpClientSetTimeout (SntpClientContext *context, systime_t timeout) | 
| Set communication timeout.  More... | |
| error_t | sntpClientBindToInterface (SntpClientContext *context, NetInterface *interface) | 
| Bind the SNTP client to a particular network interface.  More... | |
| error_t | sntpClientSetServerAddr (SntpClientContext *context, const IpAddr *serverIpAddr, uint16_t serverPort) | 
| Specify the IP address of the NTP server.  More... | |
| error_t | sntpClientGetTimestamp (SntpClientContext *context, NtpTimestamp *timestamp) | 
| Retrieve current time from NTP server.  More... | |
| uint32_t | sntpClientGetKissCode (SntpClientContext *context) | 
| Retrieve the kiss code from a Kiss-of-Death message.  More... | |
| void | sntpClientDeinit (SntpClientContext *context) | 
| Release SNTP client context.  More... | |
Detailed Description
SNTP client (Simple Network Time Protocol)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2025 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
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 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.5.4
Definition in file sntp_client.h.
Macro Definition Documentation
◆ SNTP_CLIENT_DEFAULT_TIMEOUT
| #define SNTP_CLIENT_DEFAULT_TIMEOUT 30000 | 
Definition at line 47 of file sntp_client.h.
◆ SNTP_CLIENT_INIT_RETRANSMIT_TIMEOUT
| #define SNTP_CLIENT_INIT_RETRANSMIT_TIMEOUT 2000 | 
Definition at line 54 of file sntp_client.h.
◆ SNTP_CLIENT_MAX_RETRANSMIT_TIMEOUT
| #define SNTP_CLIENT_MAX_RETRANSMIT_TIMEOUT 15000 | 
Definition at line 61 of file sntp_client.h.
◆ SNTP_CLIENT_PRIVATE_CONTEXT
| #define SNTP_CLIENT_PRIVATE_CONTEXT | 
Definition at line 75 of file sntp_client.h.
◆ SNTP_CLIENT_SRC_PORT
| #define SNTP_CLIENT_SRC_PORT 0 | 
Definition at line 68 of file sntp_client.h.
◆ SNTP_CLIENT_SUPPORT
| #define SNTP_CLIENT_SUPPORT ENABLED | 
Definition at line 40 of file sntp_client.h.
Enumeration Type Documentation
◆ SntpClientState
| enum SntpClientState | 
SNTP client states.
| Enumerator | |
|---|---|
| SNTP_CLIENT_STATE_INIT | |
| SNTP_CLIENT_STATE_SENDING | |
| SNTP_CLIENT_STATE_RECEIVING | |
| SNTP_CLIENT_STATE_COMPLETE | |
Definition at line 88 of file sntp_client.h.
Function Documentation
◆ sntpClientBindToInterface()
| error_t sntpClientBindToInterface | ( | SntpClientContext * | context, | 
| NetInterface * | interface | ||
| ) | 
Bind the SNTP client to a particular network interface.
- Parameters
- 
  [in] context Pointer to the SNTP client context [in] interface Network interface to be used 
- Returns
- Error code
Definition at line 130 of file sntp_client.c.
◆ sntpClientDeinit()
| void sntpClientDeinit | ( | SntpClientContext * | context | ) | 
Release SNTP client context.
- Parameters
- 
  [in] context Pointer to the SNTP client context 
Definition at line 284 of file sntp_client.c.
◆ sntpClientGetKissCode()
| uint32_t sntpClientGetKissCode | ( | SntpClientContext * | context | ) | 
Retrieve the kiss code from a Kiss-of-Death message.
- Parameters
- 
  [in] context Pointer to the SNTP client context 
- Returns
- Kiss code
Definition at line 258 of file sntp_client.c.
◆ sntpClientGetTimestamp()
| error_t sntpClientGetTimestamp | ( | SntpClientContext * | context, | 
| NtpTimestamp * | timestamp | ||
| ) | 
Retrieve current time from NTP server.
- Parameters
- 
  [in] context Pointer to the SNTP client context [out] timestamp Pointer to the NTP timestamp 
- Returns
- Error code
Definition at line 181 of file sntp_client.c.
◆ sntpClientInit()
| error_t sntpClientInit | ( | SntpClientContext * | context | ) | 
Initialize SNTP client context.
- Parameters
- 
  [in] context Pointer to the SNTP client context 
- Returns
- Error code
Definition at line 55 of file sntp_client.c.
◆ sntpClientSetServerAddr()
| error_t sntpClientSetServerAddr | ( | SntpClientContext * | context, | 
| const IpAddr * | serverIpAddr, | ||
| uint16_t | serverPort | ||
| ) | 
Specify the IP address of the NTP server.
- Parameters
- 
  [in] context Pointer to the SNTP client context [in] serverIpAddr IP address of the NTP server [in] serverPort Port number 
- Returns
- Error code
Definition at line 153 of file sntp_client.c.
◆ sntpClientSetTimeout()
| error_t sntpClientSetTimeout | ( | SntpClientContext * | context, | 
| systime_t | timeout | ||
| ) | 
Set communication timeout.
- Parameters
- 
  [in] context Pointer to the SNTP client context [in] timeout Timeout value, in milliseconds 
- Returns
- Error code
Definition at line 109 of file sntp_client.c.
◆ sntpClientSetVersion()
| error_t sntpClientSetVersion | ( | SntpClientContext * | context, | 
| NtpVersion | version | ||
| ) | 
Set the NTP protocol version to be used.
- Parameters
- 
  [in] context Pointer to the SNTP client context [in] version NTP protocol version (2 or 3) 
- Returns
- Error code
Definition at line 84 of file sntp_client.c.
