aboutsummaryrefslogtreecommitdiff
path: root/inc/queue.h
blob: 5a704b40140afb960ef9fce56a787dc2dd637dd4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright (c) 2023, Marvin Borner <dev@marvinborner.de>
// SPDX-License-Identifier: MIT

#ifndef SHARING_QUEUE_H
#define SHARING_QUEUE_H

#include <stddef.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);

#endif