libtools
|
Copyright (C) 2015 Oleh Kravchenko oleg@ kaa. org.u aMore...
#include <stddef.h>
Go to the source code of this file.
Classes | |
struct | list |
node of double-linked list More... | |
Macros | |
#define | list_initializer(list) { .prev = list, .next = list, } |
should be used to static initialization More... | |
#define | list_init(list) |
should be used to runtime initialization More... | |
#define | containerof(ptr, type, field) ((type*)((size_t)(ptr) - offsetof(type, field))) |
return pointer to struct of type, which hold field More... | |
#define | list_foreach(list, node, type, field) |
iterate over all list nodes More... | |
#define | list_foreach_safe(l, i, t, type, f) |
iterate over all list nodes, also allow node deletion More... | |
#define | list_add_head(list, node) |
add node to head of list More... | |
#define | list_add_tail(list, node) |
add node to tail of list More... | |
#define | list_del_node(node) |
remove node from list More... | |
#define | list_is_empty(list) ((list)->prev == (list) && (list) == (list)->next) |
expression is true, if list is empty More... | |
Copyright (C) 2015 Oleh Kravchenko oleg@ kaa. org.u a
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 3 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, see http://www.gnu.org/licenses/.