canput(9r)																canput(9r)

NAME
canput - 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 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. NOTES
You are responsible for both testing a queue with canput and not placing 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)