]> git.ipfire.org Git - thirdparty/squid.git/blob - src/dlink.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / dlink.h
1 /*
2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 #ifndef SQUID_DLINK_H
10 #define SQUID_DLINK_H
11
12 #include "mem/forward.h"
13
14 class dlink_node
15 {
16 MEMPROXY_CLASS(dlink_node);
17 public:
18 dlink_node() : data(nullptr), prev(nullptr), next(nullptr) {}
19
20 void *data;
21 dlink_node *prev;
22 dlink_node *next;
23 };
24
25 class dlink_list
26 {
27 public:
28 dlink_list() : head(NULL), tail(NULL) {}
29
30 dlink_node *head;
31 dlink_node *tail;
32 };
33
34 extern dlink_list ClientActiveRequests;
35
36 void dlinkAdd(void *data, dlink_node *, dlink_list *);
37 void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *);
38 void dlinkAddTail(void *data, dlink_node *, dlink_list *);
39 void dlinkDelete(dlink_node * m, dlink_list * list);
40
41 #endif /* SQUID_DLINK_H */
42