Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 57 lines (47 sloc) 1.928 kB
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
1 #ifndef __LLIST_H
2 #define __LLIST_H
ba4e69b @bagder updated source code boilerplate/header
authored
3 /***************************************************************************
043d70f @bagder Use plain structs and not typedef'ed ones in the hash and linked-list…
authored
4 * _ _ ____ _
5 * Project ___| | | | _ \| |
6 * / __| | | | |_) | |
7 * | (__| |_| | _ <| |___
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
8 * \___|\___/|_| \_\_____|
9 *
1d59477 @bagder llist: hide Curl_llist_init
authored
10 * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
11 *
ba4e69b @bagder updated source code boilerplate/header
authored
12 * This software is licensed as described in the file COPYING, which
13 * you should have received as part of this distribution. The terms
14 * are also available at http://curl.haxx.se/docs/copyright.html.
043d70f @bagder Use plain structs and not typedef'ed ones in the hash and linked-list…
authored
15 *
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17 * copies of the Software, and permit persons to whom the Software is
ba4e69b @bagder updated source code boilerplate/header
authored
18 * furnished to do so, under the terms of the COPYING file.
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
19 *
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
22 *
ba4e69b @bagder updated source code boilerplate/header
authored
23 ***************************************************************************/
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
24
25 #include "setup.h"
26 #include <stddef.h>
27
28 typedef void (*curl_llist_dtor)(void *, void *);
29
043d70f @bagder Use plain structs and not typedef'ed ones in the hash and linked-list…
authored
30 struct curl_llist_element {
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
31 void *ptr;
32
043d70f @bagder Use plain structs and not typedef'ed ones in the hash and linked-list…
authored
33 struct curl_llist_element *prev;
34 struct curl_llist_element *next;
35 };
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
36
043d70f @bagder Use plain structs and not typedef'ed ones in the hash and linked-list…
authored
37 struct curl_llist {
38 struct curl_llist_element *head;
39 struct curl_llist_element *tail;
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
40
41 curl_llist_dtor dtor;
42
43 size_t size;
043d70f @bagder Use plain structs and not typedef'ed ones in the hash and linked-list…
authored
44 };
45
46 struct curl_llist *Curl_llist_alloc(curl_llist_dtor);
47 int Curl_llist_insert_next(struct curl_llist *, struct curl_llist_element *,
48 const void *);
49 int Curl_llist_remove(struct curl_llist *, struct curl_llist_element *,
50 void *);
51 size_t Curl_llist_count(struct curl_llist *);
52 void Curl_llist_destroy(struct curl_llist *, void *);
b3de497 @bagder Dmitry Kurochkin worked a lot on improving the HTTP Pipelining suppor…
authored
53 int Curl_llist_move(struct curl_llist *, struct curl_llist_element *,
54 struct curl_llist *, struct curl_llist_element *);
6de7dc5 @bagder Sterling Hughes' provided initial DNS cache source code.
authored
55
56 #endif
Something went wrong with that request. Please try again.