• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/netatalk-2.2.0/include/atalk/
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., 675 Mass Ave, Cambridge, MA 02139, 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;
30} qnode_t;
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 */
42