本文介绍MQTT连云相关的HAL接口。
HAL_SSL_Destroy
- 接口原型 - int32_t HAL_SSL_Destroy(_IN_ uintptr_t handle);
- 接口说明 - 销毁由参数 - handle指定的TLS连接。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - handle - uintptr_t - 输入 - TLS连接句柄 
- 返回值说明 - 值 - 说明 - < 0 - 操作失败 - = 0 - 操作成功 
HAL_SSL_Establish
- 接口原型 - uintptr_t HAL_SSL_Establish( _IN_ const char *host, _IN_ uint16_t port, _IN_ const char *ca_crt, _IN_ uint32_t ca_crt_len);
- 接口说明 - 根据指定的服务器网络地址、服务器端口号和证书文件建立TLS连接,返回对应的连接句柄。 
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - host - const char - 输入 - 指定的TLS服务器网络地址 - port - uint16_t - 输入 - 指定的TLS服务器端口 - ca_crt - const char - 输入 - 指向PEM编码的X.509证书的指针 - ca_crt_len - uint32_t - 输入 - 证书字节长度 
- 返回值说明 - 值 - 说明 - NULL - 创建失败 - !NULL - 创建成功,返回TLS连接句柄 
HAL_SSL_Read
- 接口原型 - int32_t HAL_SSL_Read(_IN_ uintptr_t handle, _OU_ char *buf, _OU_ int len, _IN_ int timeout_ms);int32_t HAL_SSL_Destroy(_IN_ uintptr_t handle);
- 接口说明 - 从指定的TLS连接中读取数据,此接口为同步接口,如果在超时时间内读取到参数 - len指定长度的数据则立即返回,否则在超时时间到时才解除阻塞返回。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - handle - uintptr_t - 输入 - TLS连接句柄 - buf - char * - 输出 - 指向数据接收缓冲区的指针 - len - int - 输入 - 数据接收缓冲区的字节大小 - timeout_ms - int - 输入 - 超时时间 
- 返回值说明 - 值 - 说明 - -2 - TLS连接发生错误。 - -1 - TLS连接被远程设备关闭。 - 0 - TLS读超时, 且没有接收到任何数据。 - > 0 - TLS读取到的字节数,TLS读取成功。 
HAL_SSL_Write
- 接口原型 - int32_t HAL_SSL_Write(_IN_ uintptr_t handle, _IN_ const char *buf, _IN_ int len, _IN_ int timeout_ms);
- 接口说明 - 向指定的TLS连接中写入数据,此接口为同步接口,如果在超时时间内写入了参数 - len指定长度的数据则立即返回,否则在超时时间到时才解除阻塞返回。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - handle - uintptr_t - 输入 - TLS连接句柄 - buf - char * - 输入 - 指向数据发送缓冲区的指针 - len - int - 输入 - 数据发送缓冲区的字节大小 - timeout_ms - int - 输入 - 超时时间 
- 返回值说明 - 值 - 说明 - < 0 - TLS连接发生错误。 - 0 - TLS写超时,且没有写入任何数据。 - > 0 - TLS写入的字节数,TLS写入成功。 
HAL_TCP_Destroy
- 接口原型 - int32_t HAL_TCP_Destroy(_IN_ uintptr_t fd);
- 接口说明 - 销毁由参数 - fd指定的TCP连接,释放资源。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - fd - uintptr_t - 输入 - TCP连接句柄 
- 返回值说明 - 值 - 说明 - < 0 - 操作失败 - = 0 - 操作成功 
HAL_TCP_Establish
- 接口原型 - uintptr_t HAL_TCP_Establish(_IN_ const char *host, _IN_ uint16_t port);
- 接口说明 - 根据指定的服务器网络地址和端口号建立TCP连接,并返回对应连接句柄。 
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - host - const char * - 输入 - 指定TCP服务器的网络地址 - port - uint16_t - 输入 - 指定TCP服务器的端口号 
- 返回值说明 - 值 - 说明 - (uint_ptr)(-1) - TCP连接建立失败。 - 其它值(包括0) - TCP连接建立成功,返回对应的连接句柄。 
HAL_TCP_Read
- 接口原型 - int32_t HAL_TCP_Read(_IN_ uintptr_t fd, _OU_ char *buf, _IN_ uint32_t len, _IN_ uint32_t timeout_ms);
- 接口说明 - 从指定的TCP连接中读取数据,此接口为同步接口,如果在超时时间内读取到参数 - len指定长度的数据则立即返回,否则在超时时间到时才解除阻塞返回。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - fd - uintptr_t - 输入 - TCP连接句柄 - buf - char * - 输出 - 指向数据接收缓冲区的指针 - len - int - 输入 - 数据接收缓冲区的字节大小 - timeout_ms - int - 输入 - 超时时间 
- 返回值说明 - 值 - 说明 - -2 - TCP连接发生错误。 - -1 - TCP连接被远程设备关闭。 - 0 - TCP读超时,且没有接收到任何数据。 - > 0 - TCP读取成功,返回读取到的字节数。 
HAL_TCP_Write
- 接口原型 - int32_t HAL_TCP_Write(_IN_ uintptr_t fd, _IN_ const char *buf, _IN_ uint32_t len, _IN_ uint32_t timeout_ms);int32_t HAL_TCP_Read(_IN_ uintptr_t fd, _OU_ char *buf, _IN_ uint32_t len, _IN_ uint32_t timeout_ms);
- 接口说明 - 从指定的TCP连接中写入数据,此接口为同步接口,如果在超时时间内写入了参数 - len指定长度的数据则立即返回,否则在超时时间到时才解除阻塞返回。
- 参数说明 - 参数 - 数据类型 - 方向 - 说明 - fd - uintptr_t - 输入 - TCP连接句柄 - buf - char * - 输入 - 指向数据发送缓冲区的指针 - len - int - 输入 - 数据发送缓冲区的字节大小 - timeout_ms - int - 输入 - 超时时间 
- 返回值说明 - 值 - 说明 - < 0 - TCP连接发生错误。 - 0 - TCP写超时,且没有写入任何数据。 - > 0 - TCP入成功,返回TCP写入的字节数。