PUTQ(9F) Kernel Functions for Drivers PUTQ(9F)


NAME


putq - put a message on a queue

SYNOPSIS


#include <sys/stream.h>


int putq(queue_t *q, mblk_t *bp);


INTERFACE LEVEL


Architecture independent level 1 (DDI/DKI).

PARAMETERS


q
Pointer to the queue to which the message is to be added.


bp
Message to be put on the queue.


DESCRIPTION


The putq() function is used to put messages on a driver's queue after the
module's put routine has finished processing the message. The message is
placed after any other messages of the same priority, and flow control
parameters are updated. If QNOENB is not set, the service routine is
enabled. If no other processing is done, putq() can be used as the
module's put routine.

RETURN VALUES


The putq() function returns 1 on success and 0 on failure.


Upon failure, the caller should call freemsg(9F) to free the pointer to
the message block.

CONTEXT


The putq() function can be called from user, interrupt, or kernel
context.

EXAMPLES


See the datamsg(9F) function page for an example of putq().

SEE ALSO


datamsg(9F), putbq(9F), qenable(9F), rmvq(9F)


Writing Device Drivers


STREAMS Programming Guide


January 16, 2006 PUTQ(9F)