BCANPUT(9F)             Kernel Functions for Drivers             BCANPUT(9F)
NAME
       bcanput - test for flow control in specified priority band
SYNOPSIS
       #include <sys/stream.h>       
int bcanput(
queue_t *q, 
unsigned char pri);
INTERFACE LEVEL
       Architecture independent level 1 (DDI/DKI).
PARAMETERS
       q              Pointer to the message queue.       
pri              Message priority.
DESCRIPTION
       The 
bcanput() function searches through the stream (starting at 
q)
       until it finds a queue containing a service routine where the message
       can be enqueued, or until it reaches the end of the stream. If found,
       the queue containing the service routine is tested to see if there is
       room for a message of priority 
pri in the queue.
       If 
pri is 
0, 
bcanput() is equivalent to a call with 
canput(9F).       
canputnext(q) and 
bcanputnext(q,pri) should always be used in
       preference to 
canput(q->q_next) and 
bcanput(q->q_next,pri)       respectively.
RETURN VALUES
       1            If a message of priority 
pri can be placed on the queue.       
0            If the priority band is full.
CONTEXT
       The 
bcanput() function can be called from user, interrupt, or kernel
       context.
SEE ALSO
       bcanputnext(9F), 
canput(9F), 
canputnext(9F), 
putbq(9F), 
putnext(9F)       Writing Device Drivers       STREAMS Programming GuideWARNINGS
       Drivers are responsible for both testing a queue with 
bcanput() and
       refraining from placing a message on the queue if 
bcanput() fails.
                              January 16, 2006                   BCANPUT(9F)