| 
    Link Kit C-SDK
    4.0.0
    
   | 
 
diag模块头文件, 提供诊断SDK的能力 更多...
#include <stdint.h>
类 | |
| struct | aiot_diag_recv_t | 
| diag模块收到从网络上来的报文时, 通知用户的报文内容  更多... | |
| struct | aiot_diag_event_t | 
| diag模块内部发生值得用户关注的状态变化时, 通知用户的事件内容  更多... | |
| struct | aiot_diag_config_t | 
| 诊断项的配置参数  更多... | |
宏定义 | |
| #define | STATE_DIAG_BASE (-0x1400) | 
| -0x0.00~-0x0.FF表达SDK在diag模块内的状态码  更多... | |
| #define | STATE_DIAG_LOG_UNKNOWN_STATE_CODE_BASE (-0x1401) | 
| STATE_DIAG_CODE1的说明  更多... | |
| #define | STATE_DIAG_CODE2 (-0x1402) | 
| STATE_DIAG_CODE2的说明  更多... | |
| #define | STATE_DIAG_PUB_FAILED (-0x1403) | 
| STATE_DIAG_PUB_FAILED的说明  更多... | |
类型定义 | |
| typedef void(* | aiot_diag_recv_handler_t) (void *handle, const aiot_diag_recv_t *packet, void *userdata) | 
| diag模块收到从网络上来的报文时, 通知用户所调用的数据回调函数  更多... | |
| typedef void(* | aiot_diag_event_handler_t) (void *handle, const aiot_diag_event_t *event, void *userdata) | 
| diag模块内部发生值得用户关注的状态变化时, 通知用户所调用的事件回调函数  更多... | |
枚举 | |
| enum | aiot_diag_recv_type_t { AIOT_DIAGRECV_DIAG_CONTROL } | 
| diag模块收到从网络上来的报文时, 通知用户的报文类型  更多... | |
| enum | aiot_diag_event_type_t { AIOT_DIAGEVT_ALERT } | 
| diag模块内部发生值得用户关注的状态变化时, 通知用户的事件类型  更多... | |
| enum | aiot_diag_option_t {  AIOT_DIAGOPT_MQTT_HANDLE, AIOT_DIAGOPT_LOCAL_REPORT_ENABLED, AIOT_DIAGOPT_CLOUD_REPORT_ENABLED, AIOT_DIAGOPT_MQTT_CONNECTION, AIOT_DIAGOPT_MQTT_HEARTBEAT, AIOT_DIAGOPT_ALINK_UPLINK, AIOT_DIAGOPT_RECV_HANDLER, AIOT_DIAGOPT_EVENT_HANDLER, AIOT_DIAGOPT_USERDATA, AIOT_DIAGOPT_MAX }  | 
| aiot_diag_setopt 接口的option参数可选值.  更多... | |
函数 | |
| void * | aiot_diag_init (void) | 
| 创建diag会话实例, 并以默认值配置会话参数  更多... | |
| int32_t | aiot_diag_setopt (void *handle, aiot_diag_option_t option, void *data) | 
| 配置diag会话  更多... | |
| int32_t | aiot_diag_deinit (void **handle) | 
| 结束diag会话, 销毁实例并回收资源  更多... | |
| int32_t | aiot_diag_start (void *handle) | 
| 开始诊断SDK内部信息  更多... | |
| int32_t | aiot_diag_stop (void *handle) | 
| 停止诊断SDK内部信息  更多... | |
diag模块头文件, 提供诊断SDK的能力
| #define STATE_DIAG_BASE (-0x1400) | 
-0x0.00~-0x0.FF表达SDK在diag模块内的状态码
| #define STATE_DIAG_LOG_UNKNOWN_STATE_CODE_BASE (-0x1401) | 
STATE_DIAG_CODE1的说明
| #define STATE_DIAG_CODE2 (-0x1402) | 
STATE_DIAG_CODE2的说明
| #define STATE_DIAG_PUB_FAILED (-0x1403) | 
STATE_DIAG_PUB_FAILED的说明
| typedef void(* aiot_diag_recv_handler_t) (void *handle, const aiot_diag_recv_t *packet, void *userdata) | 
diag模块收到从网络上来的报文时, 通知用户所调用的数据回调函数
| [in] | handle | diag会话句柄 | 
| [in] | packet | diag消息结构体, 存放收到的diag报文内容 | 
| [in] | userdata | 用户上下文 | 
| typedef void(* aiot_diag_event_handler_t) (void *handle, const aiot_diag_event_t *event, void *userdata) | 
diag模块内部发生值得用户关注的状态变化时, 通知用户所调用的事件回调函数
| [in] | handle,diag会话句柄 | |
| [in] | event,diag模块中发生的事件的内容 | |
| [in] | userdata,用户上下文 | 
| enum aiot_diag_option_t | 
aiot_diag_setopt 接口的option参数可选值.
下文每个选项中的数据类型, 指的是aiot_diag_setopt 中, data参数的数据类型
data的数据类型是void *时, 以配置AIOT_DIAGOPT_MQTT_HANDLE 为例:
void *mqtt_handle = aiot_mqtt_init(); aiot_diag_setopt(diag_handle, AIOT_DIAGOPT_MQTT_HANDLE, mqtt_handle);
data的数据类型是其他数据类型时, 以配置AIOT_DIAGOPT_LOCAL_REPORT_ENABLED 为例:
uint8_t local_report_enabled = 1; aiot_mqtt_setopt(diag_handle, AIOT_DIAGOPT_LOCAL_REPORT_ENABLED, (void *)&local_report_enabled);
| 枚举值 | |
|---|---|
| AIOT_DIAGOPT_MQTT_HANDLE | 
 diag会话 需要的MQTT句柄, 需要先建立MQTT连接, 再设置MQTT句柄 数据类型: (void *)  | 
| AIOT_DIAGOPT_LOCAL_REPORT_ENABLED | 
 是否需要从事件回调函数中输出告警信息 0: 不从事件回调函数中输出告警信息, 1: 从事件回调函数中输出告警信息 数据类型: (uint8_t *)  | 
| AIOT_DIAGOPT_CLOUD_REPORT_ENABLED | 
 是否需要上报告警信息至云端 0: 不上报告警信息至云端, 1: 上报告警信息至云端 数据类型: (uint8_t *)  | 
| AIOT_DIAGOPT_MQTT_CONNECTION | 
 MQTT建联时长告警配置 数据类型: ( aiot_diag_config_t )  | 
| AIOT_DIAGOPT_MQTT_HEARTBEAT | 
 MQTT心跳丢失告警配置 数据类型: ( aiot_diag_config_t )  | 
| AIOT_DIAGOPT_ALINK_UPLINK | 
 Alink协议上行报文的回复速度告警配置 数据类型: ( aiot_diag_config_t )  | 
| AIOT_DIAGOPT_RECV_HANDLER | 
 设置回调, 它在SDK收到网络报文的时候被调用, 告知用户 数据类型: ( aiot_diag_recv_handler_t )  | 
| AIOT_DIAGOPT_EVENT_HANDLER | 
 diag内部发生的事件会从此回调函数进行通知 数据类型: ( aiot_diag_event_handler_t )  | 
| AIOT_DIAGOPT_USERDATA | 
 用户需要SDK暂存的上下文 这个上下文指针会在 AIOT_DIAGOPT_RECV_HANDLER 和 AIOT_DIAGOPT_EVENT_HANDLER 设置的回调被调用时, 由SDK传给用户 数据类型: (void *)  | 
| AIOT_DIAGOPT_MAX | |
| void* aiot_diag_init | ( | void | ) | 
创建diag会话实例, 并以默认值配置会话参数
| 非NULL | diag实例的句柄 | 
| NULL | 初始化失败, 一般是内存分配失败导致 | 

| int32_t aiot_diag_setopt | ( | void * | handle, | 
| aiot_diag_option_t | option, | ||
| void * | data | ||
| ) | 
配置diag会话
| [in] | handle | diag会话句柄 | 
| [in] | option | 配置选项, 更多信息请参考aiot_diag_option_t | 
| [in] | data | 配置选项数据, 更多信息请参考aiot_diag_option_t | 
| <STATE_SUCCESS | 参数配置失败 | 
| >=STATE_SUCCESS | 参数配置成功 | 

| int32_t aiot_diag_deinit | ( | void ** | handle | ) | 
结束diag会话, 销毁实例并回收资源
| [in] | handle | 指向diag会话句柄的指针 | 
| <STATE_SUCCESS | 执行失败 | 
| >=STATE_SUCCESS | 执行成功 | 

| int32_t aiot_diag_start | ( | void * | handle | ) | 
开始诊断SDK内部信息
| handle | diag会话句柄 | 
| <STATE_SUCCESS | 请求发送失败 | 
| >=STATE_SUCCESS | 请求发送成功 | 
| int32_t aiot_diag_stop | ( | void * | handle | ) | 
停止诊断SDK内部信息
| handle | diag会话句柄 | 
| <STATE_SUCCESS | 数据接收失败 | 
| >=STATE_SUCCESS | 数据接收成功 | 
 1.8.11