/usr/include/aal/list.h is in libaal-dev 1.0.6-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | /* Copyright (C) 2001, 2002, 2003 by Hans Reiser, licensing governed by
libaal/COPYING.
list.h -- double-linked list implementation. */
#ifndef AAL_LIST_H
#define AAL_LIST_H
#ifndef ENABLE_MINIMAL
#include <aal/types.h>
extern aal_list_t *aal_list_alloc(void *data);
extern aal_list_t *aal_list_last(aal_list_t *list);
extern aal_list_t *aal_list_first(aal_list_t *list);
extern uint32_t aal_list_len(aal_list_t *list);
extern errno_t aal_list_foreach(aal_list_t *list,
foreach_func_t func,
void *data);
extern aal_list_t *aal_list_prepend(aal_list_t *list,
void *data);
extern int32_t aal_list_pos(aal_list_t *list, void *data);
extern aal_list_t *aal_list_at(aal_list_t *list, uint32_t n);
extern aal_list_t *aal_list_insert(aal_list_t *list,
void *data, uint32_t n);
extern aal_list_t *aal_list_insert_sorted(aal_list_t *list,
void *data,
comp_func_t comp_func,
void *user);
extern aal_list_t *aal_list_append(aal_list_t *list, void *data);
extern aal_list_t *aal_list_remove(aal_list_t *list, void *data);
extern aal_list_t *aal_list_find(aal_list_t *list, void *data);
extern aal_list_t *aal_list_find_custom(aal_list_t *list, void *needle,
comp_func_t comp_func, void *data);
extern void aal_list_free(aal_list_t *list, foreach_func_t func, void *data);
/* Macros for walking through the list in both directions (forward and
backward). They are used for simple search, etc. */
#define aal_list_foreach_forward(list, walk) \
for (walk = list; walk; walk = walk->next)
#define aal_list_foreach_backward(list, walk) \
for (walk = list; walk; walk = walk->prev)
#endif
#endif
|