source: trunk/libtransmission/list.h @ 3105

Last change on this file since 3105 was 3105, checked in by livings124, 14 years ago

merge encryption branch to trunk (xcode project is still out of date)

  • Property svn:keywords set to Date Rev Author Id
File size: 2.0 KB
Line 
1/*
2 * This file Copyright (C) 2007 Charles Kerr <charles@rebelbase.com>
3 *
4 * This file is licensed by the GPL version 2.  Works owned by the
5 * Transmission project are granted a special exemption to clause 2(b)
6 * so that the bulk of its code can remain under the MIT license.
7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
9 *
10 * $Id: list.h 3105 2007-09-20 16:32:01Z livings124 $
11 */
12
13#ifndef TR_LIST_H
14#define TR_LIST_H
15
16typedef struct tr_list
17{
18    void            * data;
19    struct tr_list  * next;
20    struct tr_list  * prev;
21}
22tr_list;
23
24typedef int (*TrListCompareFunc)(const void * a, const void * b);
25typedef void (*TrListForeachFunc)(void *);
26
27int         tr_list_size           ( const tr_list    * list );
28
29void        tr_list_free           ( tr_list         ** list );
30
31void        tr_list_append         ( tr_list         ** list,
32                                     void             * data );
33
34void        tr_list_prepend        ( tr_list         ** list,
35                                     void             * data );
36
37void*       tr_list_pop_front      ( tr_list         ** list );
38
39void*       tr_list_remove_data    ( tr_list         ** list,
40                                     const void       * data );
41
42void*       tr_list_remove         ( tr_list         ** list,
43                                     const void       * b,
44                                     TrListCompareFunc  compare_func );
45
46void        tr_list_insert_sorted  ( tr_list         ** list,
47                                     void             * data,
48                                     TrListCompareFunc  compare_func );
49
50tr_list*  tr_list_find           ( tr_list          * list,
51                                   const void       * b,
52                                   TrListCompareFunc  compare_func );
53
54tr_list*  tr_list_find_data      ( tr_list          * list,
55                                   const void       * data );
56
57void        tr_list_foreach      ( tr_list          * list,
58                                   TrListForeachFunc  foreach_func );
59
60#endif /* TR_LIST_H */
61
Note: See TracBrowser for help on using the repository browser.