10#ifndef __TUYA_RINGBUF_H__
11#define __TUYA_RINGBUF_H__
18#include "tuya_cloud_types.h"
21typedef VOID_T* TUYA_RINGBUFF_T;
24 OVERFLOW_STOP_TYPE = 0,
25 OVERFLOW_COVERAGE_TYPE,
37OPERATE_RET tuya_ring_buff_create(UINT16_T len, RINGBUFF_TYPE_E type, TUYA_RINGBUFF_T *ringbuff);
45OPERATE_RET tuya_ring_buff_free(TUYA_RINGBUFF_T ringbuff);
54OPERATE_RET tuya_ring_buff_reset(TUYA_RINGBUFF_T ringbuff);
62UINT16_T tuya_ring_buff_free_size_get(TUYA_RINGBUFF_T ringbuff);
70UINT16_T tuya_ring_buff_used_size_get(TUYA_RINGBUFF_T ringbuff);
80UINT16_T tuya_ring_buff_read(TUYA_RINGBUFF_T ringbuff, VOID_T *data, UINT16_T len);
91UINT16_T tuya_ring_buff_peek(TUYA_RINGBUFF_T ringbuff, VOID_T *data, UINT16_T len);
101UINT16_T tuya_ring_buff_write(TUYA_RINGBUFF_T ringbuff, CONST VOID_T *data, UINT16_T len);