/* Adding items to the list */ EAPI int ecore_list_append(Ecore_List * list, void *_data); EAPI int ecore_list_prepend(Ecore_List * list, void *_data); EAPI int ecore_list_insert(Ecore_List * list, void *_data); /* Removing items from the list */ EAPI int ecore_list_remove_destroy(Ecore_List *list); EAPI void *ecore_list_remove(Ecore_List * list); EAPI void *ecore_list_remove_first(Ecore_List * list); EAPI void *ecore_list_remove_last(Ecore_List * list); /* Retrieve the current position in the list */ EAPI void *ecore_list_current(Ecore_List * list); EAPI void *ecore_list_first(Ecore_List * list); EAPI void *ecore_list_last(Ecore_List * list); EAPI int ecore_list_index(Ecore_List * list); EAPI int ecore_list_nodes(Ecore_List * list); /* Traversing the list */ EAPI int ecore_list_for_each(Ecore_List *list, Ecore_For_Each function, void *user_data); EAPI void *ecore_list_goto_first(Ecore_List * list); EAPI void *ecore_list_goto_last(Ecore_List * list); EAPI void *ecore_list_goto_index(Ecore_List * list, int index); EAPI void *ecore_list_goto(Ecore_List * list, void *_data); /* Traversing the list and returning data */ EAPI void *ecore_list_next(Ecore_List * list); /* Check to see if there is any data in the list */ EAPI int ecore_list_is_empty(Ecore_List * list); /* Remove every node in the list without freeing the list itself */ EAPI int ecore_list_clear(Ecore_List * list); /* Free the list and it's contents */ EAPI void ecore_list_destroy(Ecore_List *list); /* Creating and initializing list nodes */ EAPI Ecore_List_Node *ecore_list_node_new(void); EAPI int ecore_list_node_init(Eco /* Destroying nodes */ EAPI int ecore_list_node_destroy(Ecore_List_Node * _e_node, Ecore_Free_Cb free_func); EAPI int ecore_list_set_free_cb(Ecore_List * list, Ecore_Free_Cb free_func); /* Creating and initializing new list structures */ EAPI Ecore_DList *ecore_dlist_new(void); EAPI int ecore_dlist_init(Ecore_DList *list); EAPI void ecore_dlist_destroy(Ecore_DList *list); /* Adding items to the list */ EAPI int ecore_dlist_append(Ecore_DList * _e_dlist, void *_data); EAPI int ecore_dlist_prepend(Ecore_DList * _e_dlist, void *_data); EAPI int ecore_dlist_insert(Ecore_DList * _e_dlist, void *_data); /* Info about list's state */ EAPI void *ecore_dlist_current(Ecore_DList *list); EAPI int ecore_dlist_index(Ecore_DList *list); # define ecore_dlist_nodes(list) ecore_list_nodes(ECORE_LIST(list)) /* Removing items from the list */ EAPI void *ecore_dlist_remove(Ecore_DList * _e_dlist); EAPI void *ecore_dlist_remove_first(Ecore_DList * _e_dlist); EAPI int ecore_dlist_remove_destroy(Ecore_DList *list); EAPI void *ecore_dlist_remove_last(Ecore_DList * _e_dlist); /* Traversing the list */ # define ecore_dlist_for_each(list, function, user_data) \ ecore_list_for_each(ECORE_LIST(list), function, user_data) EAPI void *ecore_dlist_goto_first(Ecore_DList * _e_dlist); EAPI void *ecore_dlist_goto_last(Ecore_DList * _e_dlist); EAPI void *ecore_dlist_goto_index(Ecore_DList * _e_dlist, int index); EAPI void *ecore_dlist_goto(Ecore_DList * _e_dlist, void *_data); /* Traversing the list and returning data */ EAPI void *ecore_dlist_next(Ecore_DList * list); EAPI void *ecore_dlist_previous(Ecore_DList * list); /* Check to see if there is any data in the list */ EAPI int ecore_dlist_is_empty(Ecore_DList * _e_dlist); /* Remove every node in the list without free'ing it */ EAPI int ecore_dlist_clear(Ecore_DList * _e_dlist); /* Creating and initializing list nodes */ EAPI int ecore_dlist_node_init(Ecore_DList_Node * node); EAPI Ecore_DList_Node *ecore_dlist_node_new(void); /* Destroying nodes */ EAPI int ecore_dlist_node_destroy(Ecore_DList_Node * node, Ecore_Free_Cb free_func); EAPI int ecore_dlist_set_free_cb(Ecore_DList * dlist, Ecore_Free_Cb free_func); re_List_Node *newNode);