Index Index for
Section 9r
Index Alphabetical
listing for B
Bottom of page 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 Index for
Section 9r
Index Alphabetical
listing for B
Top of page Top of
page