00001 #ifndef _VAPI_LISTS_H_ 00002 #define _VAPI_LISTS_H_ 00003 #include "vapiTypes.h" 00011 typedef struct _vListItem 00012 { 00016 vpointer data; 00020 struct vListItem *Next; 00021 } vListItem; 00022 00026 typedef vListItem *vList; 00027 00033 typedef void *vFreeFunction (vpointer); 00034 00038 vList *v_list_new (); 00044 void v_list_append (vList * List, vpointer Data); 00049 int v_list_count_elements (vList * List); 00056 vpointer v_list_get (vList * List, int Item); 00060 void v_list_insert (vList * List, vpointer data, int position); 00065 void v_list_delete_item (vList * List, vFreeFunction FreeFunction, 00066 int Delete); 00071 void v_list_free (vList * List, vFreeFunction FreeFunction); 00076 void v_list_move (vList * List, int source, int destination); 00077 00078 #endif