source: trunk/libtransmission/list.h @ 2849

Last change on this file since 2849 was 2849, checked in by charles, 14 years ago

svn propset svn:keywords 'Date Rev Author Id' filename

  • Property svn:keywords set to Date Rev Author Id
File size: 1.8 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 2849 2007-08-18 17:27:28Z charles $
11 */
12
13#ifndef TR_LIST_H
14#define TR_LIST_H
15
16typedef struct tr_list_s
17{
18    void              * data;
19    struct tr_list_s  * next;
20    struct tr_list_s  * prev;
21}
22tr_list_t;
23
24typedef int (*TrListCompareFunc)(const void * a, const void * b);
25typedef void (*TrListForeachFunc)(void *);
26
27void        tr_list_free           ( tr_list_t         ** list );
28
29void        tr_list_append         ( tr_list_t         ** list,
30                                     void               * data );
31
32void        tr_list_prepend        ( tr_list_t         ** list,
33                                     void               * data );
34
35void        tr_list_remove_data    ( tr_list_t         ** list,
36                                     const void         * data );
37
38void        tr_list_insert_sorted  ( tr_list_t         ** list,
39                                     void               * data,
40                                     TrListCompareFunc    compare_func );
41
42tr_list_t*  tr_list_find           ( tr_list_t          * list,
43                                     const void         * b,
44                                     TrListCompareFunc    compare_func );
45
46tr_list_t*  tr_list_find_data      ( tr_list_t          * list,
47                                     const void         * data );
48
49void        tr_list_foreach        ( tr_list_t          * list,
50                                     TrListForeachFunc    foreach_func );
51
52#endif /* TR_LIST_H */
53
Note: See TracBrowser for help on using the repository browser.