Link Kit C-SDK  5.0.0
aiot_ota_api.h
浏览该文件的文档.
1 
10 #ifndef _OTA_MODULE_H_
11 #define _OTA_MODULE_H_
12 
13 #if defined(__cplusplus)
14 extern "C" {
15 #endif
16 
17 #include <stdint.h>
18 
23 typedef enum {
24 
30 
38 
43 typedef struct {
48  char *version;
49 
50  /*
51  * @brief http下载固件所需的链接
52  *
53  */
54  char *http_url;
55 
56  /*
57  * @brief 固件的大小, 单位为Byte
58  *
59  */
60  uint32_t size_total;
61 
62  /*
63  * @brief 云端对固件计算数字签名算法,MD5/SHA256
64  *
65  */
66  aiot_ota_digest_type_t digest_method;
67  /*
68  * @brief 云端对固件计算数字签名得出来的结果
69  *
70  */
72 
77  char *module;
78 
83  char *extra_data;
84 
89  int32_t is_diff;
91 
99 typedef void (*ota_msg_callback_t)(void *device, const aiot_ota_msg_t *msg, void *userdata);
100 
114 int32_t aiot_device_ota_set_callback(void *device, ota_msg_callback_t callback, void *userdata);
115 
130 int32_t aiot_device_ota_report_version(void *device, char *module, char *version);
131 
149 int32_t aiot_device_ota_report_state(void *device, char *module, int32_t state);
150 
163 int32_t aiot_device_ota_request_firmware(void *device, char *module);
164 
174 
181 
182 #if defined(__cplusplus)
183 }
184 #endif
185 
186 #endif
int32_t aiot_device_ota_report_version(void *device, char *module, char *version)
设备版本信息上报
OTA消息的结构体
Definition: aiot_ota_api.h:43
aiot_ota_msg_t * aiot_ota_msg_clone(const aiot_ota_msg_t *msg)
拷贝ota消息,用于异步执行ota操作
char * module
当前固件所都对应的模块
Definition: aiot_ota_api.h:77
void aiot_ota_msg_free(aiot_ota_msg_t *msg)
释放ota消息资源
收到的OTA固件的digest方法为SHA256
Definition: aiot_ota_api.h:35
void(* ota_msg_callback_t)(void *device, const aiot_ota_msg_t *msg, void *userdata)
设备OTA消息回调函数原型,用户定义后, 可通过 aiot_device_ota_set_callback 配置
Definition: aiot_ota_api.h:99
aiot_ota_digest_type_t
OTA过程中使用的digest方法类型, 分为MD5和SHA256两种
Definition: aiot_ota_api.h:23
Definition: aiot_ota_api.h:36
int32_t is_diff
是否为差分的升级包
Definition: aiot_ota_api.h:89
uint32_t size_total
Definition: aiot_ota_api.h:60
char * http_url
Definition: aiot_ota_api.h:54
char * extra_data
当前下载信息中的扩展内容
Definition: aiot_ota_api.h:83
int32_t aiot_device_ota_request_firmware(void *device, char *module)
设备端主动向云端查询升级固件
aiot_ota_digest_type_t digest_method
Definition: aiot_ota_api.h:66
收到的OTA固件的digest方法为MD5
Definition: aiot_ota_api.h:29
char * expect_digest
Definition: aiot_ota_api.h:71
int32_t aiot_device_ota_report_state(void *device, char *module, int32_t state)
设备升级状态上报
char * version
固件的版本信息. 如果为固件信息, 则这个version字段为固件的版本号. 如果为远程配置消息, 则为配置的configId
Definition: aiot_ota_api.h:48
int32_t aiot_device_ota_set_callback(void *device, ota_msg_callback_t callback, void *userdata)
设置OTA消息回调函数