| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2023-04-08 tyx first implementation
- */
- #include "cb_list.h"
- #ifndef CB_QUEUE_H_
- #define CB_QUEUE_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct cb_queue
- {
- cb_list_t head;
- }cb_queue_t;
- typedef struct cb_queue_item
- {
- cb_list_t node;
- }cb_queue_item_t;
- cb_queue_t *cb_queue_init(cb_queue_t *object);
- void cb_queue_put(cb_queue_t *object, cb_queue_item_t *item);
- cb_queue_item_t *cb_queue_get(cb_queue_t *object);
- cb_queue_item_t *cb_queue_pick(cb_queue_t *object);
- void cb_queue_insert(cb_queue_t *object, cb_queue_item_t *item, int index);
- cb_inline cb_queue_item_t *cb_queue_item_init(cb_queue_item_t *item)
- {
- cb_list_init(&item->node);
- return item;
- }
- #ifdef __cplusplus
- }
- #endif
- #endif
|