TuyaOS
tuya_ringbuf.h
1
10#ifndef __TUYA_RINGBUF_H__
11#define __TUYA_RINGBUF_H__
12
13
14#ifdef __cplusplus
15 extern "C" {
16#endif
17
18#include "tuya_cloud_types.h"
19
20
21typedef VOID_T* TUYA_RINGBUFF_T;
22
23typedef enum {
24 OVERFLOW_STOP_TYPE = 0,
25 OVERFLOW_COVERAGE_TYPE,
26}RINGBUFF_TYPE_E;
27
28
37OPERATE_RET tuya_ring_buff_create(UINT16_T len, RINGBUFF_TYPE_E type, TUYA_RINGBUFF_T *ringbuff);
38
45OPERATE_RET tuya_ring_buff_free(TUYA_RINGBUFF_T ringbuff);
46
54OPERATE_RET tuya_ring_buff_reset(TUYA_RINGBUFF_T ringbuff);
55
62UINT16_T tuya_ring_buff_free_size_get(TUYA_RINGBUFF_T ringbuff);
63
70UINT16_T tuya_ring_buff_used_size_get(TUYA_RINGBUFF_T ringbuff);
71
80UINT16_T tuya_ring_buff_read(TUYA_RINGBUFF_T ringbuff, VOID_T *data, UINT16_T len);
81
91UINT16_T tuya_ring_buff_peek(TUYA_RINGBUFF_T ringbuff, VOID_T *data, UINT16_T len);
92
101UINT16_T tuya_ring_buff_write(TUYA_RINGBUFF_T ringbuff, CONST VOID_T *data, UINT16_T len);
102
103
104#ifdef __cplusplus
105}
106#endif
107
108#endif
109