Anjay Lite
Loading...
Searching...
No Matches
anj_ntp_configuration_struct Struct Reference

#include <ntp.h>

Data Fields

anj_ntp_event_callback_tevent_cb
 
void * event_cb_arg
 
const char * ntp_server_address
 
const char * backup_ntp_server_address
 
uint32_t ntp_period_hours
 
uint16_t attempts
 
anj_time_duration_t response_timeout
 
const anj_net_socket_configuration_tnet_socket_cfg
 

Detailed Description

NTP module configuration structure. Should be filled before passing to anj_ntp_init.

Field Documentation

◆ attempts

uint16_t attempts

Defines how many NTP synchronization attempts will be made before reporting failure. If not set, single attempt will be made.

If backup_ntp_server_address is set, the same number of attempts will be made for the backup server after all attempts for the primary server are exhausted.

◆ backup_ntp_server_address

const char* backup_ntp_server_address

Fallback NTP server address to use if the primary server is unreachable. Must be a null-terminated string. Optional - can be set to NULL.

Corresponds to the Backup NTP server address Resource (/3415/0/2) in the NTP object.

String is copied internally, so the pointer can be freed after this function returns. It must not exceed ANJ_NTP_SERVER_ADDR_MAX_LEN characters in length.

◆ event_cb

Mandatory callback for monitoring NTP status changes.

This callback will be invoked for each status change of the NTP module.

◆ event_cb_arg

void* event_cb_arg

Opaque argument that will be passed to the function configured in the event_cb field.

◆ net_socket_cfg

const anj_net_socket_configuration_t* net_socket_cfg

Network socket configuration to use for NTP communication. Object pointed to by this pointer can be freed after this function returns, as it is copied internally.

◆ ntp_period_hours

uint32_t ntp_period_hours

Defines how often (in hours) the NTP synchronization should be performed. If set to 0, periodic synchronization is disabled.

Corresponds to the NTP period Resource (/3415/0/3) in the NTP object.

If set event_cb will be called with status ANJ_NTP_STATUS_PERIOD_EXCEEDED when the period is exceeded. The time is counted since the last synchronization attempt, regardless of its result, or since module initialization.

◆ ntp_server_address

const char* ntp_server_address

NTP server address to synchronize time with. Must be a null-terminated string.

Corresponds to the NTP server address Resource (/3415/0/1) value in the NTP object.

String is copied internally, so the pointer can be freed after this function returns. It must not exceed ANJ_NTP_SERVER_ADDR_MAX_LEN characters in length.

◆ response_timeout

anj_time_duration_t response_timeout

Timeout for waiting for an NTP server response, in seconds.

This value applies to a single NTP request. If no response is received within this period, the attempt is treated as failed.

A smaller timeout reduces how long the client waits on an unresponsive or unreachable server, but increases the risk of failures on slower networks. Conversely, a very large timeout increases the chance of eventually getting a reply, but the long round-trip time may cause the resulting time adjustment to be less accurate (the clock is set based on an older response).

If not set, defaults to 5 seconds.


The documentation for this struct was generated from the following file: