/* | |
* 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_ */ |