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

     bcanput() searches through the stream (starting at q)  until
     it finds a queue containing a service routine where the mes-
     sage 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

     bcanput() can be called from user or interrupt context.


SEE ALSO

     bcanputnext(9F),  canput(9F),   canputnext(9F),   putbq(9F),
     putnext(9F)

     Writing Device Drivers

     STREAMS Programming Guide


WARNINGS

     Drivers are responsible for both testing a queue with  bcan-
     put()  and refraining from placing a message on the queue if
     bcanput() fails.

Man(1) output converted with man2html