Go to main content

man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2017
 
 

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 for Oracle Solaris 11.3

STREAMS Programming Guide