#ifndef RXE_POOL_H
#define RXE_POOL_H
enum rxe_elem_type { … };
struct rxe_pool_elem { … };
struct rxe_pool { … };
void rxe_pool_init(struct rxe_dev *rxe, struct rxe_pool *pool,
enum rxe_elem_type type);
void rxe_pool_cleanup(struct rxe_pool *pool);
int __rxe_add_to_pool(struct rxe_pool *pool, struct rxe_pool_elem *elem,
bool sleepable);
#define rxe_add_to_pool(pool, obj) …
#define rxe_add_to_pool_ah(pool, obj, sleepable) …
void *rxe_pool_get_index(struct rxe_pool *pool, u32 index);
int __rxe_get(struct rxe_pool_elem *elem);
#define rxe_get(obj) …
int __rxe_put(struct rxe_pool_elem *elem);
#define rxe_put(obj) …
int __rxe_cleanup(struct rxe_pool_elem *elem, bool sleepable);
#define rxe_cleanup(obj) …
#define rxe_cleanup_ah(obj, sleepable) …
#define rxe_read(obj) …
void __rxe_finalize(struct rxe_pool_elem *elem);
#define rxe_finalize(obj) …
#endif