#include "tuya_cloud_types.h"
#include "tuya_cloud_types.h"
#include "tuya_cloud_com_defs.h"
#include "tuya_cloud_com_defs.h"
#define _COM_PROTOCOL_H
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);
/** * @brief parse data * * @param[in] cmd refer to DP_CMD_TYPE_E * @param[in] data origin data * @param[in] len data lemgth * @param[out] out_data parse data out * * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h */
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);
/** * @brief pack data * * @param[in] cmd refer to DP_CMD_TYPE_E * @param[in] src origin data * @param[in] pro pro * @param[in] num num * @param[out] out pack out data * @param[out] out_len pack data length * * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h */
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);
/** * @brief parse protocol data * * @param[in] cmd refer to DP_CMD_TYPE_E * @param[in] pv verison * @param[in] data origin data * @param[in] len data length * @param[in] key parse key * @param[out] out_data parse out * * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h */
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);
/** * @brief pack protocol data * * @param[in] cmd refer to DP_CMD_TYPE_E * @param[in] pv verison * @param[in] src origin data * @param[in] pro pro * @param[in] num num * @param[in] key pack key * @param[out] out pack out * @param[out] out_len pack out length * * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h */