canputnext(9F)
NAME
canputnext, bcanputnext − test for room in next module’s message queue
SYNOPSIS
#include <sys/stream.h>
int canputnext(queue_t ∗q);
int bcanputnext(queue_t ∗q, unsigned char pri);
ARGUMENTS
q Pointer to a message queue belonging to the invoking module.
pri Minimum priority level.
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
DESCRIPTION
The invocation canputnext(q); is an atomic equivalent of the canput(q→q_next); routine. That is, the STREAMS framework provides whatever mutual exclusion is necessary to insure that dereferencing q through its q_next field and then invoking canput(9F) proceeds without interference from other threads.
bcanputnext(q, pri); is the equivalent of the bcanput(q→q_next, pri); routine.
canputnext(q); and bcanputnext(q, pri); should always be used in preference to canput(q→q_next); and bcanput(q→q_next, pri); respectively.
See canput(9F) and bcanput(9F) for further details.
SEE ALSO
SunOS 5.1 Writing Device Drivers
SunOS 5.1 STREAMS Programmer’s Guide
SunOS 5.1/SPARC — Last change: 8 Apr 1992