svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
canputnext(9f)
canputnext(9F) Kernel Functions 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 can‐
put(q→q_next); routine. That is, the STREAMS framework provides what‐
ever mutual exclusion is necessary to ensure 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 pref‐
erence 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
The canputnext() and bcanputnext() functions can be called from user,
interrupt, or kernel 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 in Oracle Solaris 11.4
STREAMS Programming Guide
Oracle Solaris 11.4 11 May 2021 canputnext(9F)