TuyaOS
结构体 | 类型定义 | 枚举 | 函数
tuya_tls.h 文件参考

Common process - tls include 更多...

#include "tuya_cloud_types.h"
#include "ssl.h"
#include "tuya_cert_manager.h"
tuya_tls.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  tuya_tls_config_t
 

类型定义

typedef PVOID_T tuya_tls_hander
 
typedef VOID(* tuya_tls_pre_conn_cb) (CONST CHAR_T *hostname, CONST tuya_tls_hander p_tls_hander)
 
typedef INT_T(* tuya_tls_recv_cb) (VOID *p_custom_net_ctx, BYTE_T *buf, SIZE_T len)
 
typedef INT_T(* tuya_tls_send_cb) (VOID *p_custom_net_ctx, CONST BYTE_T *buf, SIZE_T len)
 

枚举

enum  TLS_TCP_STAT_E {
  TSS_INIT = 0 , TSS_START , TSS_ACCEPT , TSS_TLS_HAND ,
  TSS_TLS_APP
}
 
enum  tuya_tls_mode_t {
  TUYA_TLS_PSK_MODE , TUYA_TLS_SERVER_CERT_MODE , TUYA_TLS_MUTUAL_CERT_MODE , TUYA_TLS_HARDWARE_CERT_MODE ,
  TUYA_TLS_AWS_FFS_CERT_MODE
}
 

函数

int __tuya_tls_random (void *p_rng, unsigned char *output, size_t output_len)
 generated random 更多...
 
tuya_tls_config_ttuya_tls_config_get (tuya_tls_hander p_tls_handler)
 
OPERATE_RET tuya_tls_config_set (tuya_tls_hander p_tls_handler, tuya_tls_config_t *config)
 
OPERATE_RET tuya_tls_connect (tuya_tls_hander p_tls_handler, IN CHAR_T *hostname, IN INT_T port_num, IN INT_T socket_fd, IN INT_T overtime_s)
 tls connect 更多...
 
tuya_tls_hander * tuya_tls_connect_create (void)
 tls hander create 更多...
 
void tuya_tls_connect_destroy (tuya_tls_hander p_tls_hander)
 
OPERATE_RET tuya_tls_disconnect (IN tuya_tls_hander tls_handler)
 generated random 更多...
 
OPERATE_RET tuya_tls_init ()
 tls init 更多...
 
const tuya_tls_config_ttuya_tls_psk_mode_config_get (void)
 
int tuya_tls_random (unsigned char *output, size_t output_len)
 Get mbedtls random data in the specified length 更多...
 
int tuya_tls_random_deinit (void)
 mbedtls random de-init, and free mbedtls random ctx 更多...
 
int tuya_tls_random_init (void)
 mbedtls random initialization 更多...
 
int tuya_tls_random_reinit (void)
 mbedtls random re-initialization 更多...
 
INT_T tuya_tls_read (IN tuya_tls_hander tls_handler, BYTE_T *buf, UINT_T len)
 tls read 更多...
 
VOID tuya_tls_register_constant (IN CHAR_T *p_uuid, IN CHAR_T *p_authkey, IN CHAR_T *p_psk_key)
 tls register 更多...
 
VOID tuya_tls_register_pre_conn_cb (tuya_tls_pre_conn_cb pre_conn)
 register cb invoked before tls handshake 更多...
 
INT_T tuya_tls_register_x509_crt_der (VOID *p_ctx, UCHAR_T *p_der, UINT_T der_len)
 tls register x509 ca 更多...
 
void tuya_tls_set_calloc_and_free (void)
 set tls calloc and free function
 
INT_T tuya_tls_write (IN tuya_tls_hander tls_handler, BYTE_T *buf, UINT_T len)
 tls write 更多...
 

详细描述

Common process - tls include

版本
0.1
日期
2019-08-20

函数说明

◆ __tuya_tls_random()

int __tuya_tls_random ( void *  p_rng,
unsigned char *  output,
size_t  output_len 
)

generated random

参数
[in]p_rngno use
[out]outputrandom data
[in]output_lenlength
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_config_get()

tuya_tls_config_t * tuya_tls_config_get ( tuya_tls_hander  p_tls_handler)
参数
[in/out]p_tls_handler
返回
tuya_tls_config_t*

◆ tuya_tls_config_set()

OPERATE_RET tuya_tls_config_set ( tuya_tls_hander  p_tls_handler,
tuya_tls_config_t config 
)
参数
[in/out]p_tls_handler
[in/out]config
返回
OPERATE_RET

◆ tuya_tls_connect()

OPERATE_RET tuya_tls_connect ( tuya_tls_hander  p_tls_handler,
IN CHAR_T *  hostname,
IN INT_T  port_num,
IN INT_T  socket_fd,
IN INT_T  overtime_s 
)

tls connect

参数
[in]p_tls_handlerrefer to tuya_tls_hander
[in]hostnameurl
[in]port_numport
[in]socket_fdfd
[in]overtime_sconnect timeout
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_connect_create()

tuya_tls_hander * tuya_tls_connect_create ( void  )

tls hander create

返回
tuya_tls_hander*

◆ tuya_tls_connect_destroy()

void tuya_tls_connect_destroy ( tuya_tls_hander  p_tls_hander)
参数
[in/out]p_tls_hander

◆ tuya_tls_disconnect()

OPERATE_RET tuya_tls_disconnect ( IN tuya_tls_hander  tls_handler)

generated random

参数
[in]tls_handlerrefer to tuya_tls_hander
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_init()

OPERATE_RET tuya_tls_init ( )

tls init

返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_psk_mode_config_get()

const tuya_tls_config_t * tuya_tls_psk_mode_config_get ( void  )
返回
const tuya_tls_config_t*

◆ tuya_tls_random()

int tuya_tls_random ( unsigned char *  output,
size_t  output_len 
)

Get mbedtls random data in the specified length

参数
output
output_len
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_random_deinit()

int tuya_tls_random_deinit ( void  )

mbedtls random de-init, and free mbedtls random ctx

返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_random_init()

int tuya_tls_random_init ( void  )

mbedtls random initialization

返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_random_reinit()

int tuya_tls_random_reinit ( void  )

mbedtls random re-initialization

返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_read()

INT_T tuya_tls_read ( IN tuya_tls_hander  tls_handler,
BYTE_T *  buf,
UINT_T  len 
)

tls read

参数
[in]tls_handlerrefer to tuya_tls_hander
[out]bufread data
[in]lenread length
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_register_constant()

VOID tuya_tls_register_constant ( IN CHAR_T *  p_uuid,
IN CHAR_T *  p_authkey,
IN CHAR_T *  p_psk_key 
)

tls register

参数
[in]p_uuiduudi
[in]p_authkeyauth key
[in]p_psk_keypsk key

◆ tuya_tls_register_pre_conn_cb()

VOID tuya_tls_register_pre_conn_cb ( tuya_tls_pre_conn_cb  pre_conn)

register cb invoked before tls handshake

参数
[in]pre_conncallback

◆ tuya_tls_register_x509_crt_der()

INT_T tuya_tls_register_x509_crt_der ( VOID *  p_ctx,
UCHAR_T *  p_der,
UINT_T  der_len 
)

tls register x509 ca

参数
[in]p_ctxca content
[in]p_derca
[in]der_lenca len
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_write()

INT_T tuya_tls_write ( IN tuya_tls_hander  tls_handler,
BYTE_T *  buf,
UINT_T  len 
)

tls write

参数
[in]tls_handlerrefer to tuya_tls_hander
[in]bufwrite data
[in]lenwrite length
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h