diff --git a/include/queue.h b/include/queue.h index a7f4b98..97ac60a 100644 --- a/include/queue.h +++ b/include/queue.h @@ -27,6 +27,13 @@ struct queue_t struct queue_node_t *last; }; +/** + * @brief Initializes a queue structure. + * + * @param queue + */ +void queue_construct(struct queue_t *queue); + /** * @brief Inserts a new item at the end of the queue. * diff --git a/src/queue.c b/src/queue.c index fc3ca4d..dc51873 100644 --- a/src/queue.c +++ b/src/queue.c @@ -16,6 +16,13 @@ struct queue_node_t struct queue_node_t *next; }; +void queue_construct(struct queue_t *queue) +{ + queue->first = NULL; + queue->last = NULL; + queue->count = 0; +} + void queue_insert(struct queue_t *queue, void *ptr) { struct queue_node_t *node = kmalloc(sizeof(struct queue_node_t));