2 * Lua RTOS, list data structure
4 * Copyright (C) 2015 - 2017
5 * IBEROXARXA SERVICIOS INTEGRALES, S.L. & CSS IBÉRICA, S.L.
7 * Author: Jaume Olivé (jolive@iberoxarxa.com / jolive@whitecatboard.org)
11 * Permission to use, copy, modify, and distribute this software
12 * and its documentation for any purpose and without fee is hereby
13 * granted, provided that the above copyright notice appear in all
14 * copies and that both that the copyright notice and this
15 * permission notice and warranty disclaimer appear in supporting
16 * documentation, and that the name of the author not be used in
17 * advertising or publicity pertaining to distribution of the
18 * software without specific, written prior permission.
20 * The author disclaim all warranties with regard to this
21 * software, including all implied warranties of merchantability
22 * and fitness. In no event shall the author be liable for any
23 * special, indirect or consequential damages or any damages
24 * whatsoever resulting from loss of use, data or profits, whether
25 * in an action of contract, negligence or other tortious action,
26 * arising out of or in connection with the use or performance of
38 struct list_index *index;
39 struct list_index *free;
48 struct list_index *next;
51 void list_init(struct list *list, int first_index);
52 int list_add(struct list *list, void *item, int *item_index);
53 int list_get(struct list *list, int index, void **item);
54 int list_remove(struct list *list, int index, int destroy);
55 int list_first(struct list *list);
56 int list_next(struct list *list, int index);
57 void list_destroy(struct list *list, int items);