TuyaOS
结构体 | 宏定义 | 类型定义 | 函数
com_protocol.h 文件参考

Common process - common protocol 更多...

#include "tuya_cloud_types.h"
#include "tuya_cloud_com_defs.h"
com_protocol.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  lpv35_frame_object_t
 

宏定义

#define APP_KEY_LEN   16
 
#define FR_TYPE_AP_ENCRYPTION   (0x11)
 
#define FR_TYPE_ENCRYPTION   (0x13)
 
#define FRM_AP_CFG_4G   (0x1F)
 
#define FRM_AP_CFG_EXT_CMD   (0x1E)
 
#define FRM_AP_CFG_GET_DEV_INFO   (0x16)
 
#define FRM_AP_CFG_SET_ACTIVE_INFO   (0x19)
 
#define FRM_AP_CFG_SET_DEV_SCHEMA   (0x17)
 
#define FRM_AP_CFG_SET_TIME   (0x18)
 
#define FRM_AP_CFG_WF_V40   (0x14)
 
#define FRM_LAN_OTA_DATA   (0x1B)
 
#define FRM_LAN_OTA_FINISH   (0x1C)
 
#define FRM_LAN_OTA_START   (0x1A)
 
#define FRM_LAN_RESET   (0x1D)
 
#define LPV35_FRAME_DATALEN_SIZE   4
 
#define LPV35_FRAME_HEAD_SIZE   4
 
#define LPV35_FRAME_MINI_SIZE
 
#define LPV35_FRAME_NONCE_SIZE   12
 
#define LPV35_FRAME_RESERVE_SIZE   1
 
#define LPV35_FRAME_SEQUENCE_SIZE   4
 
#define LPV35_FRAME_TAG_SIZE   16
 
#define LPV35_FRAME_TAIL_SIZE   4
 
#define LPV35_FRAME_TYPE_SIZE   4
 
#define LPV35_FRAME_VERSION_SIZE   1
 
#define WIFI_ERR_APP_TO_DEV   (0x15)
 

类型定义

typedef lpv35_fixed_head_t lpv35_additional_data_t
 

函数

INT_T lpv35_frame_buffer_size_get (lpv35_frame_object_t *frame_obj)
 get lpv35 frame buffer size 更多...
 
OPERATE_RET lpv35_frame_parse (CONST BYTE_T *key, INT_T key_len, CONST BYTE_T *input, INT_T ilen, lpv35_frame_object_t *output)
 lpv35 frame parse 更多...
 
OPERATE_RET lpv35_frame_serialize (CONST BYTE_T *key, INT_T key_len, CONST lpv35_frame_object_t *input, BYTE_T *output, INT_T *olen)
 add head and tail in lpv35 frame 更多...
 
OPERATE_RET pack_data_with_cmd (IN CONST DP_CMD_TYPE_E cmd, IN CONST CHAR_T *src, IN CONST UINT_T pro, IN CONST UINT_T num, OUT BYTE_T **out, OUT UINT_T *out_len)
 pack data 更多...
 
OPERATE_RET parse_data_with_cmd (IN CONST DP_CMD_TYPE_E cmd, IN BYTE_T *data, IN CONST INT_T len, OUT CHAR_T **out_data)
 parse data 更多...
 
OPERATE_RET tuya_pack_protocol_data (IN CONST DP_CMD_TYPE_E cmd, IN CONST CHAR_T *pv, IN CONST CHAR_T *src, IN CONST UINT_T pro, IN CONST UINT_T num, IN UINT_T from, IN BYTE_T *key, OUT CHAR_T **out, OUT UINT_T *out_len)
 pack protocol data 更多...
 
OPERATE_RET tuya_parse_protocol_data (IN CONST DP_CMD_TYPE_E cmd, IN CONST CHAR_T *pv, IN BYTE_T *data, IN CONST INT_T len, IN CONST CHAR_T *key, OUT CHAR_T **out_data)
 parse protocol data 更多...
 
OPERATE_RET tuya_svc_lan_decrypt_data (IN BYTE_T *data, IN CONST INT_T len, IN CONST BYTE_T *key, OUT CHAR_T **out_data)
 Decrypt LAN data 更多...
 

详细描述

Common process - common protocol

版本
0.1
日期
2017-04-12

宏定义说明

◆ LPV35_FRAME_MINI_SIZE

#define LPV35_FRAME_MINI_SIZE
值:
(LPV35_FRAME_HEAD_SIZE + LPV35_FRAME_VERSION_SIZE + LPV35_FRAME_RESERVE_SIZE + \
LPV35_FRAME_SEQUENCE_SIZE + LPV35_FRAME_TYPE_SIZE + LPV35_FRAME_DATALEN_SIZE + LPV35_FRAME_NONCE_SIZE + \
LPV35_FRAME_TAG_SIZE + LPV35_FRAME_TAIL_SIZE)

函数说明

◆ lpv35_frame_buffer_size_get()

INT_T lpv35_frame_buffer_size_get ( lpv35_frame_object_t frame_obj)

get lpv35 frame buffer size

参数
[in]frame_objlpv35 frame object
返回
lpv35 frame buffer size

◆ lpv35_frame_parse()

OPERATE_RET lpv35_frame_parse ( CONST BYTE_T *  key,
INT_T  key_len,
CONST BYTE_T *  input,
INT_T  ilen,
lpv35_frame_object_t output 
)

lpv35 frame parse

参数
[in]keydecrypt key
[in]key_lendecrypt key len
[in]inputlpv35 frame
[in]ilenlpv35 frame len
[out]outputdecrypt raw lpv35 data
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ lpv35_frame_serialize()

OPERATE_RET lpv35_frame_serialize ( CONST BYTE_T *  key,
INT_T  key_len,
CONST lpv35_frame_object_t input,
BYTE_T *  output,
INT_T *  olen 
)

add head and tail in lpv35 frame

参数
[in]keyencrypt key
[in]key_lenencrypt key len
[in]inputraw data of lpv35 frame
[out]outputout frame data
[out]olenout frame data len
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ pack_data_with_cmd()

OPERATE_RET pack_data_with_cmd ( IN CONST DP_CMD_TYPE_E  cmd,
IN CONST CHAR_T *  src,
IN CONST UINT_T  pro,
IN CONST UINT_T  num,
OUT BYTE_T **  out,
OUT UINT_T *  out_len 
)

pack data

参数
[in]cmdrefer to DP_CMD_TYPE_E
[in]srcorigin data
[in]propro
[in]numnum
[out]outpack out data
[out]out_lenpack data length
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ parse_data_with_cmd()

OPERATE_RET parse_data_with_cmd ( IN CONST DP_CMD_TYPE_E  cmd,
IN BYTE_T *  data,
IN CONST INT_T  len,
OUT CHAR_T **  out_data 
)

parse data

参数
[in]cmdrefer to DP_CMD_TYPE_E
[in]dataorigin data
[in]lendata lemgth
[out]out_dataparse data out
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_pack_protocol_data()

OPERATE_RET tuya_pack_protocol_data ( IN CONST DP_CMD_TYPE_E  cmd,
IN CONST CHAR_T *  pv,
IN CONST CHAR_T *  src,
IN CONST UINT_T  pro,
IN CONST UINT_T  num,
IN UINT_T  from,
IN BYTE_T *  key,
OUT CHAR_T **  out,
OUT UINT_T *  out_len 
)

pack protocol data

参数
[in]cmdrefer to DP_CMD_TYPE_E
[in]pvverison
[in]srcorigin data
[in]propro
[in]numnum
[in]keypack key
[out]outpack out
[out]out_lenpack out length
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_parse_protocol_data()

OPERATE_RET tuya_parse_protocol_data ( IN CONST DP_CMD_TYPE_E  cmd,
IN CONST CHAR_T *  pv,
IN BYTE_T *  data,
IN CONST INT_T  len,
IN CONST CHAR_T *  key,
OUT CHAR_T **  out_data 
)

parse protocol data

参数
[in]cmdrefer to DP_CMD_TYPE_E
[in]pvverison
[in]dataorigin data
[in]lendata length
[in]keyparse key
[out]out_dataparse out
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_svc_lan_decrypt_data()

OPERATE_RET tuya_svc_lan_decrypt_data ( IN BYTE_T *  data,
IN CONST INT_T  len,
IN CONST BYTE_T *  key,
OUT CHAR_T **  out_data 
)

Decrypt LAN data

参数
[in]dataencry data
[in]lenencry data length
[in]keydecrypt key
[out]out_dataorigin data
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h