An internal module of Peer Manager. This module provides a simple buffer.
More...
|
#define | BUFFER_INVALID_ID 0xFF |
|
#define | PM_BUFFER_INIT(p_buffer, n_blocks, block_size, err_code) |
|
An internal module of Peer Manager. This module provides a simple buffer.
#define PM_BUFFER_INIT |
( |
|
p_buffer, |
|
|
|
n_blocks, |
|
|
|
block_size, |
|
|
|
err_code |
|
) |
| |
Value:do \
{ \
static uint8_t buffer_memory[(n_blocks) * (block_size)]; \
buffer_memory, \
(n_blocks) * (block_size), \
mutex_memory, \
(n_blocks), \
(block_size)); \
} while(0)
uint8_t pm_buffer_block_acquire |
( |
pm_buffer_t * |
p_buffer, |
|
|
uint32_t |
n_blocks |
|
) |
| |
Function for acquiring a buffer block in a buffer.
- Parameters
-
[in] | p_buffer | The buffer instance acquire from. |
[in] | n_blocks | The number of contiguous blocks to acquire. |
- Returns
- The id of the acquired block, if successful.
- Return values
-
BUFFER_INVALID_ID | If unsuccessful. |
ret_code_t pm_buffer_init |
( |
pm_buffer_t * |
p_buffer, |
|
|
uint8_t * |
p_buffer_memory, |
|
|
uint32_t |
buffer_memory_size, |
|
|
uint8_t * |
p_mutex_memory, |
|
|
uint32_t |
mutex_memory_size, |
|
|
uint32_t |
n_blocks, |
|
|
uint32_t |
block_size |
|
) |
| |
Function for initializing a buffer instance.
- Parameters
-
[out] | p_buffer | The buffer instance to initialize. |
[in] | p_buffer_memory | The memory this buffer will use. |
[in] | buffer_memory_size | The size of p_buffer_memory. This must be at least n_blocks*block_size. |
[in] | p_mutex_memory | The memory for the mutexes. This must be at least MUTEX_STORAGE_SIZE(n_blocks). |
[in] | mutex_memory_size | The size of p_mutex_memory. |
[in] | n_blocks | The number of blocks in the buffer. |
[in] | block_size | The size of each block. |
- Return values
-
NRF_SUCCESS | Successfully initialized buffer instance. |
NRF_ERROR_INVALID_PARAM | A parameter was 0 or NULL or a size was too small. |
uint8_t* pm_buffer_ptr_get |
( |
pm_buffer_t * |
p_buffer, |
|
|
uint8_t |
id |
|
) |
| |
Function for getting a pointer to a specific buffer block.
- Parameters
-
[in] | p_buffer | The buffer instance get from. |
[in] | id | The id of the buffer to get the pointer for. |
- Returns
- A pointer to the buffer for the specified id, if the id is valid.
- Return values
-
NULL | If the id is invalid. |
void pm_buffer_release |
( |
pm_buffer_t * |
p_buffer, |
|
|
uint8_t |
id |
|
) |
| |
Function for releasing a buffer block.
- Parameters
-
[in] | p_buffer | The buffer instance containing the block to release. |
[in] | id | The id of the block to release. |