up | Inhaltsverzeichniss | Kommentar

Manual page for canputnext(9F)

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).

ARGUMENTS

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 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.

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



index | Inhaltsverzeichniss | Kommentar

Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).

Last modified 21/April/97