Kernel Functions for Drivers bcanput(9F)
NAME
bcanput - test for flow control in specified priority band
SYNOPSIS
#include
int bcanput(queuet *q, unsigned char pri);
INTERFACE LEVEL
Architecture independent level 1 (DI/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 ser-
vice 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->qnext) and
bcanput(q->qnext,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
SunOS 5.11 Last change: 16 Jan 2006 1
Kernel Functions for Drivers bcanput(9F)
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.
SunOS 5.11 Last change: 16 Jan 2006 2
|