Annotation of win32/sql/mysql/include/my_list.h, revision 1.1.1.1
1.1 parser 1: /* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
2: This file is public domain and comes with NO WARRANTY of any kind */
3:
4: #ifndef _list_h_
5: #define _list_h_
6:
7: #ifdef __cplusplus
8: extern "C" {
9: #endif
10:
11: typedef struct st_list {
12: struct st_list *prev,*next;
13: void *data;
14: } LIST;
15:
16: typedef int (*list_walk_action)(void *,void *);
17:
18: extern LIST *list_add(LIST *root,LIST *element);
19: extern LIST *list_delete(LIST *root,LIST *element);
20: extern LIST *list_cons(void *data,LIST *root);
21: extern LIST *list_reverse(LIST *root);
22: extern void list_free(LIST *root,pbool free_data);
23: extern uint list_length(LIST *list);
24: extern int list_walk(LIST *list,list_walk_action action,gptr argument);
25:
26: #define rest(a) ((a)->next)
27: #define list_push(a,b) (a)=list_cons((b),(a))
28: #define list_pop(A) {LIST *old=(A); (A)=list_delete(old,old) ; my_free((gptr) old,MYF(MY_FAE)); }
29:
30: #ifdef __cplusplus
31: }
32: #endif
33: #endif
E-mail: