canput(9F)
NAME
canput - test for room in a message queue
SYNOPSIS
#include <sys/stream.h>
int canput(queue_t *q);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Pointer to the message queue.
DESCRIPTION
canput() searches through the stream (starting at q) until
it finds a queue containing a service routine where the mes-
sage can be enqueued, or until it reaches the end of the
stream. If found, the queue containing the service routine
is tested to see if there is room for a message in the
queue.
canputnext(q) and bcanputnext(q, pri) should always be used
in preference to canput(q->q_next) and bcanput(q->q_next,
pri) respectively.
RETURN VALUES
1 If the message queue is not full.
0 If the queue is full.
CONTEXT
canput() can be called from user or interrupt context.
SEE ALSO
bcanput(9F), bcanputnext(9F), canputnext(9F), putbq(9F),
putnext(9F)
Writing Device Drivers
STREAMS Programming Guide
WARNINGS
Drivers are responsible for both testing a queue with can-
put() and refraining from placing a message on the queue if
canput() fails.
Man(1) output converted with
man2html