'\"macro stdmacro
.if n .pH ddi_dki.putq @(#)putq	40.6 of 10/10/89
.\" Copyright 1989 AT&T
.de IX
.ie '\\n(.z'' .tm .Index: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9	\\n%
.el \\!.IX \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.nr X
.if \nX=0 .ds x} putq D3DK STREAMS" "DDI/DKI" "\&"
.if \nX=1 .ds x} putq D3DK STREAMS" "DDI/DKI"
.if \nX=2 .ds x} putq D3DK "" "\&"
.if \nX=3 .ds x} putq "" "" "\&"
.TH \*(x}
.IX "\f4putq\fP(D3DK)"
.SH NAME
\f4putq\f1 \- put a message on a queue
.SH SYNOPSIS
.nf
.na
\f4#include <sys/stream.h>
.sp 0.5
int putq(queue_t *\f2q, \f4mblk_t *\f2bp\f4);\f1
.ad
.fi
.SH ARGUMENTS
.RS 0n 10
.IP "\f2q\f1" 10n
Pointer to the queue to which the message is to be added.
.IP "\f2bp\f1" 10n
Message to be put on the queue.
.RE
.SH DESCRIPTION
\f4putq\f1 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 \f4QNOENB\f1 is not set, the service routine is enabled.
If no processing is done,
\f4putq\f1 can be used as the module's put routine.
.SH RETURN VALUE
\f4putq\f1 returns \f41\f1 on success and \f40\f1 on failure.
.SH LEVEL
Base or Interrupt
.SH SEE ALSO
\f2BCI Driver Development Guide\f1, Chapter 7, ``STREAMS''
.P
.na
\f4putbq\f1(D3DK),
\f4qenable\f1(D3DK),
\f4rmvq\f1(D3DK)
.ad
.SH EXAMPLE
See the \f4datamsg\f1(D3DK) function page for an example of \f4putq\f1.
