NTP 开发指导_Rev1.2
修订记录
版本 |
日期 |
作者 |
审核 |
修订内容 |
|---|---|---|---|---|
Rev1.0 |
2023-09-19 |
LJZ |
zlc |
创建文档 |
Rev1.1 |
2024-03-25 |
sxx |
更改文档名称 |
|
Rev1.2 |
2025-05-14 |
LJZ |
优化文档格式 |
1 简介
本文档介绍 LTE-EC71X NTP 接口 API 情况, API 接口位于 components/kernel/lierda_api/liot_ntp/liot_ntp.h 文件声明。
2 API 函数概览
函数 |
说明 |
|---|---|
|
打开 NTP 同步时间的功能 |
3 类型说明
3.1 liot_ntp_sync_option
NTP 配置信息。
声明
typedef struct
{
int pdp_cid;
int sim_id;
int retry_cnt;
int retry_interval_tm;
} liot_ntp_sync_option;
参数
类型 |
参数 |
描述 |
|---|---|---|
int |
pdp_cid |
PDP上下文索引 |
int |
sim_id |
SIM卡索引,取值:0-1 |
int |
retry_cnt |
重试次数 |
int |
retry_interval_tm |
重试间隔时间 |
3.2 liot_ntp_error_code_e
NTP API 执行结果错误码。
声明
typedef enum
{
LIOT_NTP_SUCCESS = 0,
LIOT_NTP_ERROR_UNKNOWN = -1,
LIOT_NTP_ERROR_WODBLOCK = -2,
LIOT_NTP_ERROR_INVALID_PARAM = -3,
LIOT_NTP_ERROR_OUT_OF_MEM = -4,
LIOT_NTP_ERROR_TIMEOUT = -5,
LIOT_NTP_ERROR_DNS_FAIL = -6,
LIOT_NTP_ERROR_SOCKET_ALLOC_FAIL = -7,
LIOT_NTP_ERROR_SOCKET_SEND_FAIL = -8,
LIOT_NTP_ERROR_SOCKET_RECV_FAIL = -9,
LIOT_NTP_ERROR_INVALID_REPLY = -10
} liot_ntp_error_code_e;
参数
LIOT_NTP_SUCCESS: NTP同步成功。
LIOT_NTP_ERROR_UNKNOWN:未知错误 。
LIOT_NTP_ERROR_WODBLOCK:
LIOT_NTP_ERROR_INVALID_PARAM:参数错误。
LIOT_NTP_ERROR_OUT_OF_MEM:内存不足。
LIOT_NTP_ERROR_TIMEOUT:操作超时。
LIOT_NTP_ERROR_DNS_FAIL:DNS解析失败。
LIOT_NTP_ERROR_SOCKET_ALLOC_FAIL:socket内存申请失败。
LIOT_NTP_ERROR_SOCKET_SEND_FAIL:socket发送失败。
LIOT_NTP_ERROR_SOCKET_RECV_FAIL:socket接收失败。
LIOT_NTP_ERROR_INVALID_REPLY:回复失败。
4 API 函数详解
4.1 liot_ntp_sync_result_cb
ntp同步结果回调函数。
声明
typedef void (*liot_ntp_sync_result_cb)(ntp_client_id cli_id, int result, struct tm *sync_time, void *arg);
参数
p_imei:[In] ntp服务信息的上下文id号。
result:[In] ntp同步结果。
sync_time:[In] 同步时间。
arg:[In] 自定义传参。
4.2 liot_ntp_sync
该函数用于获取设备的固件版本。
声明
ntp_client_id liot_ntp_sync(
const char *host, liot_ntp_sync_option *user_option, liot_ntp_sync_result_cb cb, void *arg, int *error_code);
参数
host:[In] ntp服务器IP地址或域名地址,以及端口号。
user_option:[In] 记录pdp相关信息,以及是否同步ntp时间的配置信息,见liot_ntp_sync_option。
cb:[In] ntp事件回调函数,设置事件类型为ntp,以及对回调结果的判断,见liot_ntp_sync_result_cb。
arg:[In] 自定义传参。
error_code:[Out] 返回ntp服务过程中错误代码。
返回值
ntp_client_id :记录ntp服务信息的上下文id号。
5 代码示例
示例代码参考 examples/demo/src/demo_ntp.c 文件。
运行结果:
如上图所示,则说明获取所有信息正常。
