• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/include/os/linux/spl/sys/

Lines Matching defs:list

29 #include <linux/list.h>
32 * NOTE: I have implemented the Solaris list API in terms of the native
34 * list debugging infrastructure, but it also means that the internals of a
35 * list differ slightly than on Solaris. This is not a problem as long as
41 * 2) A list_node_t which is not attached to a list on Solaris is denoted
50 typedef struct list {
60 list_is_empty(list_t *list)
62 return (list_empty(&list->list_head));
73 list_create(list_t *list, size_t size, size_t offset)
75 list->list_size = size;
76 list->list_offset = offset;
77 INIT_LIST_HEAD(&list->list_head);
81 list_destroy(list_t *list)
83 list_del(&list->list_head);
87 list_insert_head(list_t *list, void *object)
89 list_add(list_d2l(list, object), &list->list_head);
93 list_insert_tail(list_t *list, void *object)
95 list_add_tail(list_d2l(list, object), &list->list_head);
99 list_insert_after(list_t *list, void *object, void *nobject)
102 list_insert_head(list, nobject);
104 list_add(list_d2l(list, nobject), list_d2l(list, object));
108 list_insert_before(list_t *list, void *object, void *nobject)
111 list_insert_tail(list, nobject);
113 list_add_tail(list_d2l(list, nobject), list_d2l(list, object));
117 list_remove(list_t *list, void *object)
119 list_del(list_d2l(list, object));
123 list_remove_head(list_t *list)
125 list_node_t *head = list->list_head.next;
126 if (head == &list->list_head)
130 return (list_object(list, head));
134 list_remove_tail(list_t *list)
136 list_node_t *tail = list->list_head.prev;
137 if (tail == &list->list_head)
141 return (list_object(list, tail));
145 list_head(list_t *list)
147 if (list_is_empty(list))
150 return (list_object(list, list->list_head.next));
154 list_tail(list_t *list)
156 if (list_is_empty(list))
159 return (list_object(list, list->list_head.prev));
163 list_next(list_t *list, void *object)
165 list_node_t *node = list_d2l(list, object);
167 if (node->next != &list->list_head)
168 return (list_object(list, node->next));
174 list_prev(list_t *list, void *object)
176 list_node_t *node = list_d2l(list, object);
178 if (node->prev != &list->list_head)
179 return (list_object(list, node->prev));