The kernel-wide ring buffer mainly for kernel get char.
More...
Go to the source code of this file.
The kernel-wide ring buffer mainly for kernel get char.
- Author
- Pradosh (prado.nosp@m.shga.nosp@m.me@gm.nosp@m.ail..nosp@m.com)
- Version
- 0.1
- Date
- 2026-03-20
- Copyright
- Copyright (c) Pradosh 2026
Definition in file ringbuffer.h.
◆ rb_clear()
Clear the buffer.
- Parameters
-
◆ rb_empty()
Check if buffer is empty.
- Parameters
-
- Returns
- 1 if empty, 0 otherwise
◆ rb_free()
Get remaining capacity.
- Parameters
-
- Returns
- Remaining slots
◆ rb_full()
Check if buffer is full.
- Parameters
-
- Returns
- 1 if full, 0 otherwise
◆ rb_init()
| void rb_init |
( |
ring_buffer_t * | rb, |
|
|
void * | buffer, |
|
|
size_t | capacity, |
|
|
size_t | elem_size ) |
Initialize a ring buffer.
- Parameters
-
| rb | Pointer to ring buffer structure |
| buffer | Pre-allocated memory buffer |
| capacity | Number of elements buffer can hold |
| elem_size | Size of each element in bytes |
◆ rb_peek()
Peek at the next element without removing it.
- Parameters
-
| rb | Pointer to ring buffer |
| out | Pointer where element will be copied |
- Returns
- 0 on success, -1 if buffer is empty
◆ rb_pop()
Pop an element from the buffer.
- Parameters
-
| rb | Pointer to ring buffer |
| out | Pointer where popped element will be stored |
- Returns
- 0 on success, -1 if buffer is empty
◆ rb_push()
Push an element into the buffer.
- Parameters
-
| rb | Pointer to ring buffer |
| data | Pointer to element to insert |
- Returns
- 0 on success, -1 if buffer is full
◆ rb_size()
Get number of elements currently stored.
- Parameters
-
- Returns
- Number of elements