netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
queue.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2010 Frank Lahm
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17*/
18
19#ifndef ATALK_QUEUE_H
20#define ATALK_QUEUE_H
21
22#ifdef HAVE_CONFIG_H
23#include "config.h"
24#endif /* HAVE_CONFIG_H */
25
26typedef struct qnode {
27 struct qnode *prev;
28 struct qnode *next;
29 void *data;
31
32typedef qnode_t q_t;
33
34extern q_t *queue_init(void);
35extern void queue_destroy(q_t *q, void (*callback)(void *));
36#define queue_free(q) queue_destroy((q), free)
37extern qnode_t *enqueue(q_t *q, void *data);
38extern qnode_t *prequeue(q_t *q, void *data);
39extern void *dequeue(q_t *q);
40
41#endif /* ATALK_QUEUE_H */
#define data
Definition hash.c:37
qnode_t q_t
Definition queue.h:32
void queue_destroy(q_t *q, void(*callback)(void *))
Definition queue.c:109
void * dequeue(q_t *q)
Definition queue.c:91
qnode_t * enqueue(q_t *q, void *data)
Definition queue.c:57
q_t * queue_init(void)
Definition queue.c:44
struct qnode qnode_t
qnode_t * prequeue(q_t *q, void *data)
Definition queue.c:74
Definition queue.h:26
void * data
Definition queue.h:29
struct qnode * next
Definition queue.h:28
struct qnode * prev
Definition queue.h:27