Link Kit C-SDK  5.0.0
结构体 | 宏定义 | 类型定义 | 枚举 | 函数
aiot_tunnel_api.h 文件参考

设备的隧道功能模块头文件,提供与物联网平台维持隧道连接的能力 更多...

#include <stdint.h>

浏览源代码.

结构体

struct  aiot_tunnel_proxy_params_t
 本地代理服务信息 更多...
 
struct  aiot_tunnel_connect_param_t
 隧道建连需要的参数 更多...
 

宏定义

#define STATE_TUNNEL_BASE   (-0x1C80)
 错误码:通用错误码 更多...
 
#define STATE_TUNNEL_INNER_ERROR   (-0x1C81)
 错误码:隧道内部执行错误 更多...
 
#define STATE_TUNNEL_CONNECT_FAILED   (-0x1C82)
 错误码:隧道连接超时,发送超时等 更多...
 
#define STATE_TUNNEL_CONNECT_REPEATED   (-0x1C83)
 错误码:隧道重复建连 更多...
 
#define STATE_TUNNEL_DISCONNECT_REPEATED   (-0x1C84)
 错误码:隧道重复断连 更多...
 

类型定义

typedef void(* aiot_tunnel_event_callback_t) (void *handle, const aiot_tunnel_event_type event, void *userdata)
 隧道内部事件回调函数原型, 可通过 aiot_tunnel_set_event_callback 配置 更多...
 

枚举

enum  aiot_tunnel_event_type { AIOT_TUNNEL_EVT_CONNECT, AIOT_TUNNEL_EVT_DISCONNECT, AIOT_TUNNEL_EVT_EXPIRED }
 tunnel内部事件类型 更多...
 

函数

void * aiot_tunnel_init (char *tunnel_id)
 初始化隧道并设置默认参数 更多...
 
int32_t aiot_tunnel_set_connect_params (void *tunnel, const aiot_tunnel_connect_param_t *params)
 设置隧道的建连参数 更多...
 
int32_t aiot_tunnel_add_proxy_service (void *tunnel, char *proxy_type, const aiot_tunnel_proxy_params_t *params)
 添加本地代理服务的session类型,如ssh、ftp等tcp服务 更多...
 
int32_t aiot_tunnel_set_event_callback (void *tunnel, aiot_tunnel_event_callback_t callback, void *userdata)
 设置隧道的的事件回调,一般为隧道状态变更时调用 更多...
 
int32_t aiot_tunnel_connect (void *tunnel)
 隧道建连 更多...
 
int32_t aiot_tunnel_disconnect (void *tunnel)
 隧道断连 更多...
 
void aiot_tunnel_deinit (void **tunnel)
 删除隧道,回收内存资源 更多...
 

详细描述

设备的隧道功能模块头文件,提供与物联网平台维持隧道连接的能力

日期
2022-01-20

宏定义说明

#define STATE_TUNNEL_BASE   (-0x1C80)

错误码:通用错误码

#define STATE_TUNNEL_INNER_ERROR   (-0x1C81)

错误码:隧道内部执行错误

#define STATE_TUNNEL_CONNECT_FAILED   (-0x1C82)

错误码:隧道连接超时,发送超时等

#define STATE_TUNNEL_CONNECT_REPEATED   (-0x1C83)

错误码:隧道重复建连

#define STATE_TUNNEL_DISCONNECT_REPEATED   (-0x1C84)

错误码:隧道重复断连

类型定义说明

typedef void(* aiot_tunnel_event_callback_t) (void *handle, const aiot_tunnel_event_type event, void *userdata)

隧道内部事件回调函数原型, 可通过 aiot_tunnel_set_event_callback 配置

参数
[in]handle隧道的句柄
[in]event接收到的事件 aiot_tunnel_event_type
[in]userdata用户设置的上下文,可通过 aiot_tunnel_set_event_callback 配置

枚举类型说明

tunnel内部事件类型

枚举值
AIOT_TUNNEL_EVT_CONNECT 

当tunnel实例连接代理通道成功, 触发此事件

AIOT_TUNNEL_EVT_DISCONNECT 

当tunnel实例从代理通道断开, 触发此事件

AIOT_TUNNEL_EVT_EXPIRED 

隧道认证信息已经过期,需要重新连接

函数说明

void* aiot_tunnel_init ( char *  tunnel_id)

初始化隧道并设置默认参数

返回
void*
返回值
非NULL隧道句柄
NULL初始化失败, 一般是内存分配失败导致
int32_t aiot_tunnel_set_connect_params ( void *  tunnel,
const aiot_tunnel_connect_param_t params 
)

设置隧道的建连参数

参数
[in]tunnel隧道的句柄
[in]params建连的参数,更多说明参考aiot_tunnel_connect_param_t
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功
int32_t aiot_tunnel_add_proxy_service ( void *  tunnel,
char *  proxy_type,
const aiot_tunnel_proxy_params_t params 
)

添加本地代理服务的session类型,如ssh、ftp等tcp服务

参数
[in]tunnel隧道的句柄
[in]proxy_type本地代理服务类型
[in]params本地代理服务的参数
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功
int32_t aiot_tunnel_set_event_callback ( void *  tunnel,
aiot_tunnel_event_callback_t  callback,
void *  userdata 
)

设置隧道的的事件回调,一般为隧道状态变更时调用

参数
[in]tunnel隧道的句柄
[in]callback回调函数
[in]userdata用户的上下文指针
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功
int32_t aiot_tunnel_connect ( void *  tunnel)

隧道建连

参数
[in]tunnel隧道的句柄
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功
int32_t aiot_tunnel_disconnect ( void *  tunnel)

隧道断连

参数
[in]tunnel隧道的句柄
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功
void aiot_tunnel_deinit ( void **  tunnel)

删除隧道,回收内存资源

参数
[in]tunnel隧道的句柄的指针
返回
int32_t
返回值
<STATE_SUCCESS执行失败, 更多信息请参考aiot_state_api.h
>=STATE_SUCCESS执行成功