]> git.ipfire.org Git - thirdparty/squid.git/blob - src/dlink.h
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / dlink.h
1 /*
2 * Copyright (C) 1996-2020 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 void *data = nullptr;
19 dlink_node *prev = nullptr;
20 dlink_node *next = nullptr;
21 };
22
23 class dlink_list
24 {
25 public:
26 dlink_node *head = nullptr;
27 dlink_node *tail = nullptr;
28 };
29
30 extern dlink_list ClientActiveRequests;
31
32 void dlinkAdd(void *data, dlink_node *, dlink_list *);
33 void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *);
34 void dlinkAddTail(void *data, dlink_node *, dlink_list *);
35 void dlinkDelete(dlink_node * m, dlink_list * list);
36
37 #endif /* SQUID_DLINK_H */
38