]> git.ipfire.org Git - thirdparty/squid.git/blame - src/dlink.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / dlink.h
CommitLineData
e53294ae 1/*
4ac4a490 2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
e53294ae 3 *
bbc27441
AJ
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.
e53294ae 7 */
bbc27441 8
e53294ae 9#ifndef SQUID_DLINK_H
10#define SQUID_DLINK_H
11
195b97bf
FC
12#include "mem/forward.h"
13
e53294ae 14class dlink_node
15{
4ea333ae 16 MEMPROXY_CLASS(dlink_node);
e53294ae 17public:
195b97bf 18 dlink_node() : data(nullptr), prev(nullptr), next(nullptr) {}
e53294ae 19
20 void *data;
21 dlink_node *prev;
22 dlink_node *next;
23};
24
c8347c53
AJ
25class dlink_list
26{
27public:
28 dlink_list() : head(NULL), tail(NULL) {}
29
e53294ae 30 dlink_node *head;
31 dlink_node *tail;
32};
33
e1f7507e
AJ
34extern dlink_list ClientActiveRequests;
35
8a648e8d
FC
36void dlinkAdd(void *data, dlink_node *, dlink_list *);
37void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *);
38void dlinkAddTail(void *data, dlink_node *, dlink_list *);
39void dlinkDelete(dlink_node * m, dlink_list * list);
e53294ae 40
41#endif /* SQUID_DLINK_H */
f53969cc 42