'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 2006, Sun Microsystems, Inc., All Rights Reserved .TH putq 9F "16 Jan 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME putq \- put a message on a queue .SH SYNOPSIS .LP .nf #include \fBint\fR \fBputq\fR(\fBqueue_t *\fR\fIq\fR, \fBmblk_t *\fR\fIbp\fR); .fi .SH INTERFACE LEVEL .sp .LP Architecture independent level 1 (DDI/DKI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIq\fR\fR .ad .RS 6n .rt Pointer to the queue to which the message is to be added. .RE .sp .ne 2 .mk .na \fB\fIbp\fR\fR .ad .RS 6n .rt Message to be put on the queue. .RE .SH DESCRIPTION .sp .LP The \fBputq()\fR 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 \fBQNOENB\fR is not set, the service routine is enabled. If no other processing is done, \fBputq()\fR can be used as the module's put routine. .SH RETURN VALUES .sp .LP The \fBputq()\fR function returns \fB1\fR on success and \fB0\fR on failure. .sp .LP Upon failure, the caller should call \fBfreemsg\fR(9F) to free the pointer to the message block. .SH CONTEXT .sp .LP The \fBputq()\fR function can be called from user, interrupt, or kernel context. .SH EXAMPLES .sp .LP See the \fBdatamsg\fR(9F) function page for an example of \fBputq()\fR. .SH SEE ALSO .sp .LP \fBdatamsg\fR(9F), \fBputbq\fR(9F), \fBqenable\fR(9F), \fBrmvq\fR(9F) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR .sp .LP \fISTREAMS Programming Guide\fR