31 lines
624 B
C
31 lines
624 B
C
|
/*
|
||
|
* Copyright (c) 2020 Intel Corporation
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
#ifndef ZEPHYR_INCLUDE_MEMPOOL_HEAP_H_
|
||
|
|
||
|
/* Compatibility implementation of a k_mem_pool backend in terms of a
|
||
|
* k_heap
|
||
|
*/
|
||
|
|
||
|
/* The "ID" of a k_heap-based mempool is just the tuple of the data
|
||
|
* block pointer and the heap that allocated it
|
||
|
*/
|
||
|
struct k_mem_block_id {
|
||
|
void *data;
|
||
|
struct k_heap *heap;
|
||
|
};
|
||
|
|
||
|
/* Note the data pointer gets unioned with the same value stored in
|
||
|
* the ID field to save space.
|
||
|
*/
|
||
|
struct k_mem_block {
|
||
|
union {
|
||
|
void *data;
|
||
|
struct k_mem_block_id id;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
#endif /* ZEPHYR_INCLUDE_MEMPOOL_HEAP_H_ */
|