35 typedef struct as_queue_s {
81 #define as_queue_inita(__q, __item_size, __capacity)\
82 (__q)->data = alloca((__capacity) * (__item_size));\
83 (__q)->capacity = __capacity;\
84 (__q)->head = (__q)->tail = 0;\
85 (__q)->item_size = __item_size;\
114 static inline uint32_t
bool as_queue_push_limit(as_queue *queue, const void *ptr)
void as_queue_destroy(as_queue *queue)
bool as_queue_pop(as_queue *queue, void *ptr)
as_queue * as_queue_create(uint32_t item_size, uint32_t capacity)
static uint32_t as_queue_size(as_queue *queue)
bool as_queue_push(as_queue *queue, const void *ptr)
bool as_queue_push_head(as_queue *queue, const void *ptr)
bool as_queue_init(as_queue *queue, uint32_t item_size, uint32_t capacity)
static bool as_queue_empty(as_queue *queue)
static bool as_queue_incr_total(as_queue *queue)
static void as_queue_decr_total(as_queue *queue)