|
T-Box Basic dev
|
T-Box 环形缓冲区 More...
Data Structures | |
| struct | tbox_rbuffer_t |
| 环形缓冲区控制块。 More... | |
Functions | |
| int | tbox_rbuffer_init (tbox_rbuffer_t *rbuffer, void *buffer, size_t buffer_size, size_t element_size) |
| 初始化环形缓冲区。 | |
| void | tbox_rbuffer_reset (tbox_rbuffer_t *rbuffer) |
| 清空环形缓冲区。 | |
| void | tbox_rbuffer_reset_read (tbox_rbuffer_t *rbuffer) |
| 丢弃当前所有可读数据。 | |
| bool | tbox_rbuffer_initialized (const tbox_rbuffer_t *rbuffer) |
| 判断环形缓冲区是否已初始化。 | |
| size_t | tbox_rbuffer_element_size (const tbox_rbuffer_t *rbuffer) |
| 获取单个元素大小。 | |
| size_t | tbox_rbuffer_capacity (const tbox_rbuffer_t *rbuffer) |
| 获取环形缓冲区容量。 | |
| size_t | tbox_rbuffer_len (const tbox_rbuffer_t *rbuffer) |
| 获取当前可读元素数量。 | |
| size_t | tbox_rbuffer_avail (const tbox_rbuffer_t *rbuffer) |
| 获取当前可写元素数量。 | |
| bool | tbox_rbuffer_is_empty (const tbox_rbuffer_t *rbuffer) |
| 判断环形缓冲区是否为空。 | |
| bool | tbox_rbuffer_is_full (const tbox_rbuffer_t *rbuffer) |
| 判断环形缓冲区是否已满。 | |
| size_t | tbox_rbuffer_write (tbox_rbuffer_t *rbuffer, const void *data, size_t count) |
| 写入元素。 | |
| size_t | tbox_rbuffer_read (tbox_rbuffer_t *rbuffer, void *data, size_t count) |
| 读取并移除元素。 | |
| size_t | tbox_rbuffer_peek (const tbox_rbuffer_t *rbuffer, void *data, size_t count) |
| 预读取元素但不移除。 | |
| size_t | tbox_rbuffer_skip (tbox_rbuffer_t *rbuffer, size_t count) |
| 跳过并移除元素。 | |
T-Box 环形缓冲区
| size_t tbox_rbuffer_avail | ( | const tbox_rbuffer_t * | rbuffer | ) |
获取当前可写元素数量。
| [in] | rbuffer | 环形缓冲区控制块。 |
| size_t tbox_rbuffer_capacity | ( | const tbox_rbuffer_t * | rbuffer | ) |
获取环形缓冲区容量。
| [in] | rbuffer | 环形缓冲区控制块。 |
| size_t tbox_rbuffer_element_size | ( | const tbox_rbuffer_t * | rbuffer | ) |
获取单个元素大小。
| [in] | rbuffer | 环形缓冲区控制块。 |
| int tbox_rbuffer_init | ( | tbox_rbuffer_t * | rbuffer, |
| void * | buffer, | ||
| size_t | buffer_size, | ||
| size_t | element_size ) |
初始化环形缓冲区。
| [in,out] | rbuffer | 环形缓冲区控制块。 |
| [in] | buffer | 外部数据缓冲区。 |
| [in] | buffer_size | 外部数据缓冲区大小,单位为字节。 |
| [in] | element_size | 单个元素大小,单位为字节。 |
| bool tbox_rbuffer_initialized | ( | const tbox_rbuffer_t * | rbuffer | ) |
判断环形缓冲区是否已初始化。
| [in] | rbuffer | 环形缓冲区控制块。 |
| bool tbox_rbuffer_is_empty | ( | const tbox_rbuffer_t * | rbuffer | ) |
判断环形缓冲区是否为空。
| [in] | rbuffer | 环形缓冲区控制块。 |
| bool tbox_rbuffer_is_full | ( | const tbox_rbuffer_t * | rbuffer | ) |
判断环形缓冲区是否已满。
| [in] | rbuffer | 环形缓冲区控制块。 |
| size_t tbox_rbuffer_len | ( | const tbox_rbuffer_t * | rbuffer | ) |
获取当前可读元素数量。
| [in] | rbuffer | 环形缓冲区控制块。 |
| size_t tbox_rbuffer_peek | ( | const tbox_rbuffer_t * | rbuffer, |
| void * | data, | ||
| size_t | count ) |
预读取元素但不移除。
| [in] | rbuffer | 环形缓冲区控制块。 |
| [out] | data | 输出元素数组。 |
| [in] | count | 最多预读取元素数量。 |
| size_t tbox_rbuffer_read | ( | tbox_rbuffer_t * | rbuffer, |
| void * | data, | ||
| size_t | count ) |
读取并移除元素。
| [in,out] | rbuffer | 环形缓冲区控制块。 |
| [out] | data | 输出元素数组。 |
| [in] | count | 最多读取元素数量。 |
| void tbox_rbuffer_reset | ( | tbox_rbuffer_t * | rbuffer | ) |
清空环形缓冲区。
| [in,out] | rbuffer | 环形缓冲区控制块。 |
| void tbox_rbuffer_reset_read | ( | tbox_rbuffer_t * | rbuffer | ) |
丢弃当前所有可读数据。
| [in,out] | rbuffer | 环形缓冲区控制块。 |
| size_t tbox_rbuffer_skip | ( | tbox_rbuffer_t * | rbuffer, |
| size_t | count ) |
跳过并移除元素。
| [in,out] | rbuffer | 环形缓冲区控制块。 |
| [in] | count | 最多跳过元素数量。 |
| size_t tbox_rbuffer_write | ( | tbox_rbuffer_t * | rbuffer, |
| const void * | data, | ||
| size_t | count ) |
写入元素。
| [in,out] | rbuffer | 环形缓冲区控制块。 |
| [in] | data | 待写入元素数组。 |
| [in] | count | 待写入元素数量。 |