Link Kit C-SDK  4.0.0
| 宏定义 | 类型定义 | 枚举 | 函数
aiot_diag_api.h 文件参考

diag模块头文件, 提供诊断SDK的能力 更多...

#include <stdint.h>
aiot_diag_api.h 的引用(Include)关系图:

浏览源代码.

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]handlediag会话句柄
[in]packetdiag消息结构体, 存放收到的diag报文内容
[in]userdata用户上下文
返回
void
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,用户上下文
返回
void

枚举类型说明

diag模块收到从网络上来的报文时, 通知用户的报文类型

枚举值
AIOT_DIAGRECV_DIAG_CONTROL 

diag模块内部发生值得用户关注的状态变化时, 通知用户的事件类型

枚举值
AIOT_DIAGEVT_ALERT 

诊断模块产生的告警信息

aiot_diag_setopt 接口的option参数可选值.

下文每个选项中的数据类型, 指的是aiot_diag_setopt 中, data参数的数据类型

  1. data的数据类型是void *时, 以配置AIOT_DIAGOPT_MQTT_HANDLE 为例:

    void *mqtt_handle = aiot_mqtt_init(); aiot_diag_setopt(diag_handle, AIOT_DIAGOPT_MQTT_HANDLE, mqtt_handle);

  2. 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会话实例, 并以默认值配置会话参数

返回
void *
返回值
非NULLdiag实例的句柄
NULL初始化失败, 一般是内存分配失败导致

函数调用图:

int32_t aiot_diag_setopt ( void *  handle,
aiot_diag_option_t  option,
void *  data 
)

配置diag会话

参数
[in]handlediag会话句柄
[in]option配置选项, 更多信息请参考aiot_diag_option_t
[in]data配置选项数据, 更多信息请参考aiot_diag_option_t
返回
int32_t
返回值
<STATE_SUCCESS参数配置失败
>=STATE_SUCCESS参数配置成功

函数调用图:

int32_t aiot_diag_deinit ( void **  handle)

结束diag会话, 销毁实例并回收资源

参数
[in]handle指向diag会话句柄的指针
返回
int32_t
返回值
<STATE_SUCCESS执行失败
>=STATE_SUCCESS执行成功

函数调用图:

int32_t aiot_diag_start ( void *  handle)

开始诊断SDK内部信息

参数
handlediag会话句柄
返回
int32_t
返回值
<STATE_SUCCESS请求发送失败
>=STATE_SUCCESS请求发送成功
int32_t aiot_diag_stop ( void *  handle)

停止诊断SDK内部信息

参数
handlediag会话句柄
返回
int32_t
返回值
<STATE_SUCCESS数据接收失败
>=STATE_SUCCESS数据接收成功