Lines Matching defs:list_hdr

97 oce_list_create(OCE_LIST_T  *list_hdr, void *arg)
99 list_hdr->head.next = list_hdr->head.prev = &list_hdr->head;
100 mutex_init(&list_hdr->list_lock, NULL, MUTEX_DRIVER, arg);
101 list_hdr->nitems = 0;
105 oce_list_destroy(OCE_LIST_T *list_hdr)
107 ASSERT(list_hdr->nitems == 0);
108 list_hdr->head.next = list_hdr->head.prev = NULL;
109 mutex_destroy(&list_hdr->list_lock);
114 oce_list_insert_tail(OCE_LIST_T *list_hdr, OCE_LIST_NODE_T *list_node)
116 OCE_LIST_NODE_T *head = &list_hdr->head;
118 ASSERT(list_hdr != NULL);
121 mutex_enter(&list_hdr->list_lock);
123 list_hdr->nitems++;
124 mutex_exit(&list_hdr->list_lock);
128 oce_list_insert_head(OCE_LIST_T *list_hdr, OCE_LIST_NODE_T *list_node)
130 OCE_LIST_NODE_T *head = &list_hdr->head;
132 ASSERT(list_hdr != NULL);
135 mutex_enter(&list_hdr->list_lock);
137 list_hdr->nitems++;
138 mutex_exit(&list_hdr->list_lock);
142 oce_list_remove_tail(OCE_LIST_T *list_hdr)
146 if (list_hdr == NULL) {
150 mutex_enter(&list_hdr->list_lock);
152 if (list_hdr->nitems <= 0) {
153 mutex_exit(&list_hdr->list_lock);
157 list_node = list_hdr->head.prev;
159 list_hdr->nitems--;
160 mutex_exit(&list_hdr->list_lock);
165 oce_list_remove_head(OCE_LIST_T *list_hdr)
169 if (list_hdr == NULL) {
173 mutex_enter(&list_hdr->list_lock);
175 if (list_hdr->nitems <= 0) {
176 mutex_exit(&list_hdr->list_lock);
180 list_node = list_hdr->head.next;
184 list_hdr->nitems--;
187 mutex_exit(&list_hdr->list_lock);
192 oce_list_is_empty(OCE_LIST_T *list_hdr)
194 if (list_hdr == NULL)
197 return (list_hdr->nitems <= 0);
201 oce_list_items_avail(OCE_LIST_T *list_hdr)
203 if (list_hdr == NULL)
206 return (list_hdr->nitems);
210 oce_list_remove_node(OCE_LIST_T *list_hdr, OCE_LIST_NODE_T *list_node)
212 mutex_enter(&list_hdr->list_lock);
214 mutex_exit(&list_hdr->list_lock);