opensolaris man page for bcanputnext

Query: bcanputnext

OS: opensolaris

Section: 9f

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

canputnext(9F)                                             Kernel Functions for Drivers                                             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);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Pointer to a message queue belonging to the invoking module. pri Minimum priority level.
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 inter- ference 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); respec- tively. See canput(9F) and bcanput(9F) for further details.
RETURN VALUES
1 If the message queue is not full. 0 If the queue is full.
CONTEXT
canputnext() and bcanputnext() can be called from user or interrupt context.
WARNINGS
Drivers are responsible for both testing a queue with canputnext() or bcanputnext() and refraining from placing a message on the queue if the queue is full.
SEE ALSO
bcanput(9F), canput(9F) Writing Device Drivers STREAMS Programming Guide SunOS 5.10 31 Jan 1993 canputnext(9F)
Related Man Pages
srv(9e) - centos
srv(9e) - php
srv(9e) - mojave
srv(9e) - redhat
srv(9e) - opendarwin
Similar Topics in the Unix Linux Community
Trying to block signal
Study UNIX Kernel
Grep the 'not running' jobs and will send the update in mail with its name(job)
What's legal and what's not?
Shopt -s histappend