From 822c8f60b72cca97fb2c86db37835a60917d1c7e Mon Sep 17 00:00:00 2001 From: Daniel Gollub Date: Mon, 11 Nov 2019 15:07:38 +0100 Subject: DANOS Import --- tacplus-daemon/queue.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 tacplus-daemon/queue.h (limited to 'tacplus-daemon/queue.h') diff --git a/tacplus-daemon/queue.h b/tacplus-daemon/queue.h new file mode 100644 index 0000000..6220912 --- /dev/null +++ b/tacplus-daemon/queue.h @@ -0,0 +1,38 @@ +/* + TACACS+ D-Bus Daemon code + + Copyright (c) 2018 AT&T Intellectual Property. + Copyright (c) 2015-2016 Brocade Communications Systems, Inc. + + SPDX-License-Identifier: GPL-2.0-only +*/ + +#ifndef QUEUE_H +#define QUEUE_H + +#include +#include +#include +#include +#include + +typedef struct queueNode { + void *element; + struct queueNode *next; +} Node; + +typedef struct queue { + Node *front, *rear; + pthread_mutex_t lock; + pthread_cond_t empty; + void (*free_element)(void *); +} Queue; + +extern Queue * create_queue(void (*)(void *)); +extern void enqueue(Queue *q, void *); +extern void re_enqueue(Queue *q, void *e); +extern int is_queue_empty(Queue *); +extern void * dequeue(Queue *); +extern void destroy_queue(Queue **); + +#endif /* QUEUE_H */ -- cgit v1.2.3