Lines Matching refs:elt

107  *	enqueue puts "elt" on the "queue".
109 * remqueue removes the specified "elt" from its queue.
112 #define enqueue(queue,elt) enqueue_tail(queue, elt)
123 queue_entry_t elt);
128 queue_entry_t elt);
140 queue_entry_t elt);
149 queue_entry_t elt);
156 #define __DEQUEUE_ELT_CLEANUP(elt) do { \
157 (elt)->next = (queue_entry_t) 0; \
158 (elt)->prev = (queue_entry_t) 0; \
161 #define __DEQUEUE_ELT_CLEANUP(elt) do { } while(0)
167 queue_entry_t elt)
169 elt->next = que->next;
170 elt->prev = que;
171 elt->next->prev = elt;
172 que->next = elt;
178 queue_entry_t elt)
180 elt->next = que;
181 elt->prev = que->prev;
182 elt->prev->next = elt;
183 que->prev = elt;
190 register queue_entry_t elt = (queue_entry_t) 0;
193 elt = que->next;
194 elt->next->prev = que;
195 que->next = elt->next;
196 __DEQUEUE_ELT_CLEANUP(elt);
199 return (elt);
206 register queue_entry_t elt = (queue_entry_t) 0;
209 elt = que->prev;
210 elt->prev->next = que;
211 que->prev = elt->prev;
212 __DEQUEUE_ELT_CLEANUP(elt);
215 return (elt);
220 queue_entry_t elt)
222 elt->next->prev = elt->prev;
223 elt->prev->next = elt->next;
224 __DEQUEUE_ELT_CLEANUP(elt);
240 register queue_entry_t elt)
242 (elt->next)->prev = elt->prev;
243 (elt->prev)->next = elt->next;
244 __DEQUEUE_ELT_CLEANUP(elt);
338 * void queue_enter(q, elt, type, field)
340 * <type> elt;
344 #define queue_enter(head, elt, type, field) \
350 (head)->next = (queue_entry_t) (elt); \
353 ((type)__prev)->field.next = (queue_entry_t)(elt);\
355 (elt)->field.prev = __prev; \
356 (elt)->field.next = head; \
357 (head)->prev = (queue_entry_t) elt; \
365 * void queue_enter_first(q, elt, type, field)
367 * <type> elt;
371 #define queue_enter_first(head, elt, type, field) \
377 (head)->prev = (queue_entry_t) (elt); \
380 ((type)__next)->field.prev = (queue_entry_t)(elt);\
382 (elt)->field.next = __next; \
383 (elt)->field.prev = head; \
384 (head)->next = (queue_entry_t) elt; \
392 * void queue_insert_before(q, elt, cur, type, field)
394 * <type> elt;
399 #define queue_insert_before(head, elt, cur, type, field) \
404 (elt)->field.next = (head); \
406 (elt)->field.prev = (head); \
407 (head)->next = (queue_entry_t)(elt); \
409 __prev = (elt)->field.prev = (head)->prev; \
410 ((type)__prev)->field.next = (queue_entry_t)(elt);\
412 (head)->prev = (queue_entry_t)(elt); \
414 (elt)->field.next = (queue_entry_t)(cur); \
417 (elt)->field.prev = (head); \
418 (head)->next = (queue_entry_t)(elt); \
420 __prev = (elt)->field.prev = (cur)->field.prev; \
421 ((type)__prev)->field.next = (queue_entry_t)(elt);\
423 (cur)->field.prev = (queue_entry_t)(elt); \
432 * void queue_insert_after(q, elt, cur, type, field)
434 * <type> elt;
439 #define queue_insert_after(head, elt, cur, type, field) \
444 (elt)->field.prev = (head); \
446 (elt)->field.next = (head); \
447 (head)->prev = (queue_entry_t)(elt); \
449 __next = (elt)->field.next = (head)->next; \
450 ((type)__next)->field.prev = (queue_entry_t)(elt);\
452 (head)->next = (queue_entry_t)(elt); \
454 (elt)->field.prev = (queue_entry_t)(cur); \
457 (elt)->field.next = (head); \
458 (head)->prev = (queue_entry_t)(elt); \
460 __next = (elt)->field.next = (cur)->field.next; \
461 ((type)__next)->field.prev = (queue_entry_t)(elt);\
463 (cur)->field.next = (queue_entry_t)(elt); \
484 #define queue_remove(head, elt, type, field) \
488 __next = (elt)->field.next; \
489 __prev = (elt)->field.prev; \
501 (elt)->field.next = NULL; \
502 (elt)->field.prev = NULL; \
593 * Generates a 'for' loop, setting elt to
596 * queue_iterate(q, elt, type, field)
598 * <type> elt;
602 #define queue_iterate(head, elt, type, field) \
603 for ((elt) = (type) queue_first(head); \
604 !queue_end((head), (queue_entry_t)(elt)); \
605 (elt) = (type) queue_next(&(elt)->field))
653 #define mpenqueue_tail(q, elt) \
656 enqueue_tail(&(q)->head, elt); \
660 #define mpdequeue_head(q, elt) \
664 *(elt) = 0; \
666 *(elt) = dequeue_head(&(q)->head); \