Lines Matching refs:item

27  * xge_queue_item_data - Get item's data.
28 * @item: Queue item.
30 * Returns: item data(variable size). Note that xge_queue_t
33 * user-defined portion of the queue item.
35 void* xge_queue_item_data(xge_queue_item_t *item)
37 return (char *)item + sizeof(xge_queue_item_t);
41 * __queue_consume - (Lockless) dequeue an item from the specified queue.
47 __queue_consume(xge_queue_t *queue, int data_max_size, xge_queue_item_t *item)
59 xge_list_remove(&elem->item);
105 xge_os_memcpy(item, elem, sizeof(xge_queue_item_t));
106 xge_os_memcpy(xge_queue_item_data(item), xge_queue_item_data(elem),
117 * xge_queue_produce - Enqueue an item (see xge_queue_item_t{})
127 * the new queue item (see xge_queue_item_t{}). Upon return
130 * Enqueue a new item.
154 xge_queue_item_t *item = (xge_queue_item_t *)(void *)item_buf;
160 item) != XGE_QUEUE_IS_EMPTY)
227 xge_list_insert_before(&elem->item, &queue->list_head);
244 * @queued: Optional callback function to be called each time a new item is
325 xge_list_t *item;
354 xge_list_for_each(item, &queue->list_head) {
355 elem = xge_container_of(item, xge_queue_item_t, item);
356 if (elem->item.next != &queue->list_head) {
357 elem->item.next =
359 ((char *)elem->item.next - (char *)oldbuf));
361 if (elem->item.prev != &queue->list_head) {
362 elem->item.prev =
364 ((char *)elem->item.prev - (char *)oldbuf));
375 * xge_queue_consume - Dequeue an item from the specified queue.
377 * @data_max_size: Maximum expected size of the item.
378 * @item: Memory area into which the item is _copied_ upon return
381 * Dequeue an item from the queue. The caller is required to provide
382 * enough space for the item.
386 * XGE_QUEUE_NOT_ENOUGH_SPACE - Requested item size(@data_max_size)
387 * is too small to accomodate an item from the queue.
392 xge_queue_consume(xge_queue_h queueh, int data_max_size, xge_queue_item_t *item)
399 status = __queue_consume(queue, data_max_size, item);
417 xge_queue_item_t *item = (xge_queue_item_t *)(void *)item_buf;
424 item) != XGE_QUEUE_IS_EMPTY) {
426 xge_debug_queue(XGE_TRACE, "item "XGE_OS_LLXFMT"(%d) flushed",
427 item, item->event_type);