Lines Matching full:link

13  * The linked list must always contain at least one link-element, as emptiness
15 * For a queue to be valid, it must be initialized with an initial link-element.
20 * link-element, but the link-element before it!
29 * where H is the pointer to Head link-element (oldest element).
30 * where T is the pointer to Tail link-element (newest element).
31 * where I[] means the initial link-element, whose mem pointer is DontCare.
32 * where A[b] means the A'th link-element, whose mem pointer is b.
46 * @param link[in] Initial link-element. Not associated with any mem
49 * @return Initial link-element
51 memq_link_t *memq_init(memq_link_t *link, memq_link_t **head, memq_link_t **tail) in memq_init() argument
53 /* Head and tail pointer to the initial link - forms an empty queue */ in memq_init()
54 *head = *tail = link; in memq_init()
56 return link; in memq_init()
84 * NOTE: The memory will not be associated with the link-element, but
85 * rather the second-to-last link-element.
87 * @param link[in] Element to be appended. Becomes new tail
89 * @param tail[in,out] Tail of queue. Will be updated to point to link
92 memq_link_t *memq_enqueue(memq_link_t *link, void *mem, memq_link_t **tail) in memq_enqueue() argument
95 (*tail)->next = link; in memq_enqueue()
104 *tail = link; /* Commit: enqueue of memq node */ in memq_enqueue()
106 return link; in memq_enqueue()
112 * @param head[in] Pointer to head link-element of queue
113 * @param tail[in] Pointer to tail link-element of queue
124 /* Extract the head link-element's memory */ in memq_peek()
135 * @param head[in] Pointer to head link-element of queue
136 * @param tail[in] Pointer to tail link-element of queue
163 * @param tail[in] Pointer to tail link-element of queue
164 * @param head[in,out] Pointer to head link-element of queue. Will be updated