putnextctl(9F)
NAME
putnextctl, putnextctl1 − send a control message to the next queue
SYNOPSIS
#include <sys/stream.h> #include <sys/ddi.h>
int putnextctl(queue_t ∗q, int type);
int putnextctl1(queue_t ∗q, int type, int param);
ARGUMENTS
q Pointer to the message queue belonging to the invoking module.
mp Message to be passed.
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
DESCRIPTION
putnextctl() is the atomic equivalent of the putctl(q→q_next,type); routine. The STREAMS framework provides the mutual exclusion required to insure that dereferencing q through its q_next field and then invoking putctl(9F) proceeds without interference from other threads.
putnextctl1() is the equivalent of the putctl1(q→q_next, type, param); routine.
putnextctl() and putnextctl1() should be used in preference to the putctl(q→q_next, type); and putctl1(q→q_next, type, param); routines, respectively.
RETURN VALUES
putnextctl() and putnextctl1() return:
1 on success.
0 on failure.
CONTEXT
putnextctl() and putnextctl1() can be called from user or interrupt context.
SEE ALSO
SunOS 5.1 Writing Device Drivers
SunOS 5.1 STREAMS Programmer’s Guide
SunOS 5.1 — Last change: 11 Apr 1991