My Project
Server
trunk
curl-7.47.1
lib
llist.h
1
#ifndef HEADER_CURL_LLIST_H
2
#define HEADER_CURL_LLIST_H
3
/***************************************************************************
4
* _ _ ____ _
5
* Project ___| | | | _ \| |
6
* / __| | | | |_) | |
7
* | (__| |_| | _ <| |___
8
* \___|\___/|_| \_\_____|
9
*
10
* Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
11
*
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 https://curl.haxx.se/docs/copyright.html.
15
*
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
18
* furnished to do so, under the terms of the COPYING file.
19
*
20
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21
* KIND, either express or implied.
22
*
23
***************************************************************************/
24
25
#include "curl_setup.h"
26
#include <stddef.h>
27
28
typedef
void (*curl_llist_dtor)(
void
*,
void
*);
29
30
struct
curl_llist_element
{
31
void
*ptr;
32
33
struct
curl_llist_element
*prev;
34
struct
curl_llist_element
*next;
35
};
36
37
struct
curl_llist
{
38
struct
curl_llist_element
*head;
39
struct
curl_llist_element
*tail;
40
41
curl_llist_dtor dtor;
42
43
size_t
size;
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
*);
53
int
Curl_llist_move(
struct
curl_llist
*,
struct
curl_llist_element
*,
54
struct
curl_llist
*,
struct
curl_llist_element
*);
55
56
#endif
/* HEADER_CURL_LLIST_H */
57
curl_llist_element
Definition:
llist.h:30
curl_llist
Definition:
llist.h:37
Generated by
1.8.12