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: