diff options
Diffstat (limited to 'src/list.h')
-rw-r--r-- | src/list.h | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/list.h b/src/list.h deleted file mode 100644 index 7f0288035..000000000 --- a/src/list.h +++ /dev/null @@ -1,106 +0,0 @@ -/* the Music Player Daemon (MPD) - * Copyright (C) 2003-2007 by Warren Dukes (warren.dukes@gmail.com) - * This project's homepage is: http://www.musicpd.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef MPD_LIST_H -#define MPD_LIST_H - -/* used to make a list where free() will be used to free data in list */ -#define DEFAULT_FREE_DATA_FUNC free - -/* typedef for function to free data stored in the list nodes */ -typedef void ListFreeDataFunc(void *); - -typedef struct _ListNode { - /* used to identify node (ie. when using findInList) */ - const char *key; - /* data store in node */ - void *data; - /* next node in list */ - struct _ListNode *nextNode; - /* previous node in list */ - struct _ListNode *prevNode; -} ListNode; - -typedef struct _List { - /* first node in list */ - ListNode *firstNode; - /* last node in list */ - ListNode *lastNode; - /* function used to free data stored in nodes of the list */ - ListFreeDataFunc *freeDataFunc; - /* number of nodes */ - long numberOfNodes; - /* array for searching when list is sorted */ - ListNode **nodesArray; - /* sorted */ - int sorted; - /* whether to strdup() key's on insertion */ - int strdupKeys; -} List; - -/* allocates memory for a new list and initializes it - * _freeDataFunc_ -> pointer to function used to free data, use - * DEFAULT_FREE_DATAFUNC to use free() - * returns pointer to new list if successful, NULL otherwise - */ -List *makeList(ListFreeDataFunc * freeDataFunc, int strdupKeys); - -/* inserts a node into _list_ with _key_ and _data_ - * _list_ -> list the data will be inserted in - * _key_ -> identifier for node/data to be inserted into list - * _data_ -> data to be inserted in list - * returns 1 if successful, 0 otherwise - */ -ListNode *insertInList(List * list, const char *key, void *data); - -ListNode *insertInListBeforeNode(List * list, ListNode * beforeNode, - int pos, const char *key, void *data); - -int insertInListWithoutKey(List * list, void *data); - -/* deletes the first node in the list with the key _key_ - * _list_ -> list the node will be deleted from - * _key_ -> key used to identify node to delete - * returns 1 if node is found and deleted, 0 otherwise - */ -int deleteFromList(List * list, const char *key); - -void deleteNodeFromList(List * list, ListNode * node); - -/* finds data in a list based on key - * _list_ -> list to search for _key_ in - * _key_ -> which node is being searched for - * _data_ -> a pointer to where data will be placed, - * _data_ memory should not by allocated or freed - * _data_ can be NULL - * returns 1 if successful, 0 otherwise - */ -int findInList(List * list, const char *key, void **data); - -/* if _key_ is not found, *_node_ is assigned to the node before which - the info would be found */ -int findNodeInList(List * list, const char *key, ListNode ** node, int *pos); - -/* frees memory malloc'd for list and its nodes - * _list_ -> List to be free'd - */ -void freeList(void *list); - -void sortList(List * list); - -#endif |