pcq_create(maxlen, kmflags)
Create a queue that can store at most maxlen items at one time. kmflags should be either KM_SLEEP, if pcq_create() is allowed to sleep until resources are available, or KM_NOSLEEP if it should return NULL immediately, if resources are unavailable.
pcq_destroy(pcq)
Free the resources held by pcq.
pcq_get(pcq)
Remove the next item to be consumed from the queue and return it. If the queue is empty, return NULL.
pcq_maxitems(pcq)
Return the maximum number of items that the queue can store at any one time.
pcq_peek(pcq)
Return the next item to be consumed from the queue but do not remove it from the queue. If the queue is empty, return NULL.
pcq_put(pcq, item)
Place an item at the end of the queue. If there is no room in the queue for the item, return false; otherwise, return true. The item must not have the value of NULL.