canput - STREAMS: Tests for room in a message queue
#include <sys/stream.h>
int canput(
queue_t *message_queue );
Specifies a pointer to the message queue. The typedef
queue_t is an alternate name for struct queue_entry *.
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 canput 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, canput 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.
You are responsible for both testing a queue with canput
and not placing a message on the queue if canput fails.
The canput interface returns a value of 1 if the message
queue is not full. It returns the value zero (0) if the
message queue is full.
Kernel Interfaces: bcanput(9r), putbq(9r), putnext(9r)
Programmer's Guide: STREAMS
canput(9r)
[ Back ] |