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

TODO - documentation. 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)    init_buffer((tr_circular_buffer_t*)&name)
 
#define TR_CIRCULAR_BUFFER_ENQUEUE(name, data, len)    enqueue((tr_circular_buffer_t*)&name, (const char*)data, len)
 
#define TR_CIRCULAR_BUFFER_DEQUEUE(name, data, len)    dequeue((tr_circular_buffer_t*)&name, (char*)data, len)
 
#define TR_CIRCULAR_BUFFER_LENGTH(name)    (tr_circular_buffer_t*)&name->count
 
#define TR_CIRCULAR_BUFFER_IS_EMPTY(name)    is_empty((tr_circular_buffer_t*)&name)
 
#define TR_CIRCULAR_BUFFER_DUMP_BUFFER(name)    dump_buffer((tr_circular_buffer_t*)&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

TODO - documentation.


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 };
Definition tr_circular_buffer.h:14

◆ TR_CIRCULAR_BUFFER_DEQUEUE

#define TR_CIRCULAR_BUFFER_DEQUEUE ( name,
data,
len )    dequeue((tr_circular_buffer_t*)&name, (char*)data, len)

◆ TR_CIRCULAR_BUFFER_DUMP_BUFFER

#define TR_CIRCULAR_BUFFER_DUMP_BUFFER ( name)     dump_buffer((tr_circular_buffer_t*)&name)

◆ TR_CIRCULAR_BUFFER_ENQUEUE

#define TR_CIRCULAR_BUFFER_ENQUEUE ( name,
data,
len )    enqueue((tr_circular_buffer_t*)&name, (const char*)data, len)

◆ TR_CIRCULAR_BUFFER_INIT

#define TR_CIRCULAR_BUFFER_INIT ( name)     init_buffer((tr_circular_buffer_t*)&name)

◆ TR_CIRCULAR_BUFFER_IS_EMPTY

#define TR_CIRCULAR_BUFFER_IS_EMPTY ( name)     is_empty((tr_circular_buffer_t*)&name)

◆ TR_CIRCULAR_BUFFER_LENGTH

#define TR_CIRCULAR_BUFFER_LENGTH ( name)     (tr_circular_buffer_t*)&name->count

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)