diff options
Diffstat (limited to 'inc/lib/queue.h')
-rw-r--r-- | inc/lib/queue.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/inc/lib/queue.h b/inc/lib/queue.h new file mode 100644 index 0000000..b0d22ef --- /dev/null +++ b/inc/lib/queue.h @@ -0,0 +1,23 @@ +// Copyright (c) 2023, Marvin Borner <dev@marvinborner.de> +// SPDX-License-Identifier: MIT + +#ifndef SHARING_QUEUE_H +#define SHARING_QUEUE_H + +struct queue_node { + void *data; + struct queue_node *next; +}; + +struct queue { + struct queue_node *head; + struct queue_node *tail; +}; + +struct queue *queue_new(void); +void queue_free(struct queue *queue); +void queue_push(struct queue *queue, void *data); +void *queue_pop(struct queue *queue); +int queue_empty(struct queue *queue); + +#endif |