canputnext(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

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)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3