canput(9r)canput(9r)NAMEcanput - STREAMS: Tests for room in a message queue
SYNOPSIS
#include <sys/stream.h>
int canput(
queue_t *message_queue );
ARGUMENTS
Specifies a pointer to the message queue. The typedef queue_t is an
alternate name for struct queue_entry *.
DESCRIPTION
The canput interface searches through the stream (starting at the mes‐
sage 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 ser‐
vice interface.
NOTES
You are responsible for both testing a queue with canput and not plac‐
ing a message on the queue if canput fails.
RETURN VALUES
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.
SEE ALSO
Kernel Interfaces: bcanput(9r), putbq(9r), putnext(9r)
Programmer's Guide: STREAMS
canput(9r)