Trident IoT Zigbee SDK
Loading...
Searching...
No Matches
tr_circular_buffer.h File Reference

generic circular buffer available for use by plugins More...

Go to the source code of this file.

Data Structures

struct  tr_circular_buffer_t

Macros

#define TR_CIRCULAR_BUFFER(name, size)
#define TR_CIRCULAR_BUFFER_INIT(name)
#define TR_CIRCULAR_BUFFER_ENQUEUE(name, data, len)
#define TR_CIRCULAR_BUFFER_DEQUEUE(name, data, len)
#define TR_CIRCULAR_BUFFER_LENGTH(name)
#define TR_CIRCULAR_BUFFER_IS_EMPTY(name)
#define TR_CIRCULAR_BUFFER_DUMP_BUFFER(name)

Functions

void init_buffer (tr_circular_buffer_t *cb)
bool is_full (tr_circular_buffer_t *cb)
bool is_empty (tr_circular_buffer_t *cb)
bool enqueue (tr_circular_buffer_t *cb, const char *data, int length)
bool dequeue (tr_circular_buffer_t *cb, char *data, int length)
void dump_buffer (tr_circular_buffer_t *cb)

Detailed Description

generic circular buffer available for use by plugins


SPDX-License-Identifier: LicenseRef-TridentMSLA SPDX-FileCopyrightText: 2025 Trident IoT, LLC https://www.tridentiot.com


Macro Definition Documentation

◆ TR_CIRCULAR_BUFFER

#define TR_CIRCULAR_BUFFER ( name,
size )
Value:
char name##_buf[size]; \
{ name##_buf, size, 0, 0, 0 };
zb_uint8_t * name
Definition tr_zcl_cmd_structs.h:3504
Definition tr_circular_buffer.h:14

◆ TR_CIRCULAR_BUFFER_DEQUEUE

#define TR_CIRCULAR_BUFFER_DEQUEUE ( name,
data,
len )
Value:
zb_uint8_t * data
Definition tr_zcl_cmd_structs.h:1471
bool dequeue(tr_circular_buffer_t *cb, char *data, int length)

◆ TR_CIRCULAR_BUFFER_DUMP_BUFFER

#define TR_CIRCULAR_BUFFER_DUMP_BUFFER ( name)
Value:
void dump_buffer(tr_circular_buffer_t *cb)

◆ TR_CIRCULAR_BUFFER_ENQUEUE

#define TR_CIRCULAR_BUFFER_ENQUEUE ( name,
data,
len )
Value:
enqueue((tr_circular_buffer_t*)&name, (const char*)data, len)
bool enqueue(tr_circular_buffer_t *cb, const char *data, int length)

◆ TR_CIRCULAR_BUFFER_INIT

#define TR_CIRCULAR_BUFFER_INIT ( name)
Value:
void init_buffer(tr_circular_buffer_t *cb)

◆ TR_CIRCULAR_BUFFER_IS_EMPTY

#define TR_CIRCULAR_BUFFER_IS_EMPTY ( name)
Value:
bool is_empty(tr_circular_buffer_t *cb)

◆ TR_CIRCULAR_BUFFER_LENGTH

#define TR_CIRCULAR_BUFFER_LENGTH ( name)
Value:

Function Documentation

◆ dequeue()

bool dequeue ( tr_circular_buffer_t * cb,
char * data,
int length )

◆ dump_buffer()

void dump_buffer ( tr_circular_buffer_t * cb)

◆ enqueue()

bool enqueue ( tr_circular_buffer_t * cb,
const char * data,
int length )

◆ init_buffer()

void init_buffer ( tr_circular_buffer_t * cb)

◆ is_empty()

bool is_empty ( tr_circular_buffer_t * cb)

◆ is_full()

bool is_full ( tr_circular_buffer_t * cb)