2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2021-04-26 13:41:28 +00:00
|
|
|
* Copyright (c) Intel Corporation.
|
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef OCF_MPOOL_H
|
|
|
|
#define OCF_MPOOL_H
|
|
|
|
|
|
|
|
enum {
|
|
|
|
env_mpool_1,
|
|
|
|
env_mpool_2,
|
|
|
|
env_mpool_4,
|
|
|
|
env_mpool_8,
|
|
|
|
env_mpool_16,
|
|
|
|
env_mpool_32,
|
|
|
|
env_mpool_64,
|
|
|
|
env_mpool_128,
|
|
|
|
|
|
|
|
env_mpool_max
|
|
|
|
};
|
|
|
|
|
|
|
|
struct env_mpool;
|
|
|
|
|
|
|
|
struct env_mpool *env_mpool_create(uint32_t hdr_size, uint32_t elem_size,
|
|
|
|
int flags, int mpool_max, bool fallback,
|
|
|
|
const uint32_t limits[env_mpool_max],
|
2021-08-09 13:14:40 +00:00
|
|
|
const char *name_perfix, bool zero);
|
2021-04-26 13:41:28 +00:00
|
|
|
|
|
|
|
void env_mpool_destroy(struct env_mpool *mpools);
|
|
|
|
|
|
|
|
void *env_mpool_new(struct env_mpool *mpool, uint32_t count);
|
|
|
|
|
|
|
|
bool env_mpool_del(struct env_mpool *mpool,
|
|
|
|
void *items, uint32_t count);
|
|
|
|
|
|
|
|
#endif
|