 |
Index for Section 9r |
|
 |
Alphabetical listing for B |
|
 |
Bottom of page |
|
bcanput(9r)
NAME
bcanput - STREAMS: Tests for flow control in a specified priority band
SYNOPSIS
#include <sys/stream.h>
int bcanput(
queue_t *message_queue,
unsigned char pri );
ARGUMENTS
message_queue
Specifies a pointer to the message queue. The typedef queue_t is an
alternate name for struct queue_entry *.
pri Specifies the priority of the message.
DESCRIPTION
The bcanput interface, like the canput interface, searches through the
stream (starting at the message queue identified by the message_queue
argument) until it finds a queue that contains a service interface where
the message can be enqueued or until it reaches the end of the stream. If
bcanput finds a service interface in a queue, it tests the queue to
determine if there is space in the queue to accommodate a message. If the
queue is full, bcanput sets the q_flag member of the queue_entry structure
pointer (the message queue) to the constant QWANTW to back-enable the
caller's service interface.
If the pri argument is zero (0), bcanput calls the canput interface, which
performs the task of checking for space in the message queue.
NOTES
You are responsible for both testing a queue with bcanput and not placing a
message on the queue if bcanput fails.
RETURN VALUES
The bcanput interface returns a value of 1 if a message of priority pri can
be placed on the message queue, or if the band does not yet exist on the
queue. The interface returns a value of zero (0) if the priority band is
flow-controlled.
SEE ALSO
Kernel Routines: canput(9r), putbq(9r), putnext(9r)
Programmer's Guide: STREAMS
 |
Index for Section 9r |
|
 |
Alphabetical listing for B |
|
 |
Top of page |
|