19 lines
589 B
C
19 lines
589 B
C
#ifndef CHRY_POOL_H
|
|
#define CHRY_POOL_H
|
|
|
|
#include "usb_config.h"
|
|
#include "usb_osal.h"
|
|
#include "chry_ringbuffer.h"
|
|
|
|
struct chry_pool {
|
|
chry_ringbuffer_t rb;
|
|
usb_osal_mq_t mq;
|
|
};
|
|
|
|
int chry_pool_create(struct chry_pool *pool, uint32_t *ringbuf, void *item, uint32_t item_size, uint32_t item_count);
|
|
uintptr_t *chry_pool_item_alloc(struct chry_pool *pool);
|
|
int chry_pool_item_free(struct chry_pool *pool, uintptr_t *item);
|
|
int chry_pool_item_send(struct chry_pool *pool, uintptr_t *frame);
|
|
int chry_pool_item_recv(struct chry_pool *pool, uintptr_t **frame, uint32_t timeout);
|
|
|
|
#endif |