Initialize Tizen 2.3
[framework/multimedia/gstreamer0.10.git] / mobile / libs / gst / check / libcheck / check_list.h
1 /*
2  * Check: a unit test framework for C
3  * Copyright (C) 2001, 2002 Arien Malec
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #ifndef CHECK_LIST_H
22 #define CHECK_LIST_H
23
24 typedef struct List List;
25
26 /* Create an empty list */
27 List * check_list_create (void);
28
29 /* Is list at end? */
30 int list_at_end (List * lp);
31
32 /* Position list at front */
33 void list_front(List *lp);
34
35 /* Add a value to the front of the list,
36    positioning newly added value as current value.
37    More expensive than list_add_end, as it uses memmove. */
38 void list_add_front (List *lp, const void *val);
39
40 /* Add a value to the end of the list,
41    positioning newly added value as current value */
42 void list_add_end (List *lp, const void *val);
43
44 /* Give the value of the current node */
45 void *list_val (List * lp);
46
47 /* Position the list at the next node */
48 void list_advance (List * lp);
49
50 /* Free a list, but don't free values */
51 void list_free (List * lp);
52
53 void list_apply (List *lp, void (*fp) (void *));
54
55
56 #endif /* CHECK_LIST_H */