]> git.proxmox.com Git - mirror_frr.git/blame - pceplib/pcep_utils_queue.h
Merge pull request #12805 from karlquan/kquan_self_orig
[mirror_frr.git] / pceplib / pcep_utils_queue.h
CommitLineData
acddc0ed 1// SPDX-License-Identifier: LGPL-2.1-or-later
74971473
JG
2/*
3 * This file is part of the PCEPlib, a PCEP protocol library.
4 *
5 * Copyright (C) 2020 Volta Networks https://voltanet.io/
6 *
74971473
JG
7 * Author : Brady Johnson <brady@voltanet.io>
8 *
9 */
10
11
12#ifndef INCLUDE_PCEPUTILSQUEUE_H_
13#define INCLUDE_PCEPUTILSQUEUE_H_
14
15typedef struct queue_node_ {
16 struct queue_node_ *next_node;
17 void *data;
18
19} queue_node;
20
21typedef struct queue_handle_ {
22 queue_node *head;
23 queue_node *tail;
24 unsigned int num_entries;
25 /* Set to 0 to disable */
26 unsigned int max_entries;
27
28} queue_handle;
29
30queue_handle *queue_initialize(void);
31queue_handle *queue_initialize_with_size(unsigned int max_entries);
32void queue_destroy(queue_handle *handle);
33void queue_destroy_with_data(queue_handle *handle);
34queue_node *queue_enqueue(queue_handle *handle, void *data);
35void *queue_dequeue(queue_handle *handle);
36
37#endif /* INCLUDE_PCEPUTILSQUEUE_H_ */