ct_event_read_critical(3contract) 맨 페이지 - 윈디하나의 솔라나라

개요

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

ct_event_read_critical(3contract)

ct...ead(3CONTRACT)  Contract Management Library Functions ct...ead(3CONTRACT)

NAME
       ct_event_read,  ct_event_read_critical,  ct_event_reset, ct_event_reli‐
       able,     ct_event_free,     ct_event_get_flags,     ct_event_get_ctid,
       ct_event_get_evid,        ct_event_get_type,        ct_event_get_nevid,
       ct_event_get_newct - common contract event functions

SYNOPSIS
       cc [ flag... ] file... -D_LARGEFILE64_SOURCE -lcontract [ library... ]
       #include <libcontract.h>

       int ct_event_read(int fd, ct_evthdl_t *evthndlp);


       int ct_event_read_critical(int fd, ct_evthdl_t *evthndlp);


       int ct_event_reset(int fd);


       int ct_event_reliable(int fd);


       void ct_event_free(ct_evthdl_t evthndl);


       ctid_t ct_event_get_ctid(ct_evthdl_t evthndl);


       ctevid_t ct_event_get_evid(ct_evthdl_t evthndl);


       uint_t ct_event_get_flags(ct_evthdl_t evthndl);


       uint_t ct_event_get_type(ct_evthdl_t evthndl);


       int ct_event_get_nevid(ct_evthdl_t evthndl, ctevid_t *evidp);


       int ct_event_get_newct(ct_evthdl_t evthndl, ctid_t *ctidp);

DESCRIPTION
       These functions operate on contract event endpoint file descriptors ob‐
       tained from the contract(5) file system and event  object  handles  re‐
       turned by ct_event_read() and ct_event_read_critical().


       The ct_event_read() function reads the next event from the queue refer‐
       enced by the file descriptor fd and initializes the event object handle
       pointed to by evthndlp. After a successful call to ct_event_read(), the
       caller  is responsible for calling ct_event_free() on this event object
       handle when it has finished using it.


       The ct_event_read_critical() function behaves like ct_event_read()  ex‐
       cept that it reads the next critical event from the queue, skipping any
       intermediate events.


       The  ct_event_reset()  function  resets the location of the listener to
       the beginning of the queue.  This  function  can  be  used  to  re-read
       events,  or  read  events  that were sent before the event endpoint was
       opened. Informative and acknowledged critical  events,  however,  might
       have been removed from the queue.


       The  ct_event_reliable()  function indicates that no event published to
       the specified event queue should be dropped by  the  system  until  the
       specified  listener has read the event. This function requires that the
       caller have the {PRIV_CONTRACT_EVENT} privilege in its effective set.


       The ct_event_free() function frees  any  storage  associated  with  the
       event object handle specified by evthndl.


       The  ct_event_get_ctid()  function  returns the ID of the contract that
       sent the specified event.


       The ct_event_get_evid() function returns the ID of the specified event.


       The ct_event_get_flags() function returns the event flags for the spec‐
       ified event. Valid event flags are:

       CTE_INFO    The event is an informative event.


       CTE_ACK     The event has been acknowledged (for critical and  negotia‐
                   tion messages).


       CTE_NEG     The message represents an exit negotiation.



       The ct_event_get_type() function reads the event type. The value is one
       of the event types described in contract(5) or the contract type's man‐
       ual page.


       The  ct_event_get_nevid()  function  reads  the  negotiation ID from an
       CT_EV_NEGEND event.


       The ct_event_get_newct() function obtains the ID of the  contract  cre‐
       ated  when  the  negotiation  referenced by the CT_EV_NEGEND event suc‐
       ceeded. If no contract was created, ctidp will be 0. If  the  operation
       was cancelled, *ctidp will equal the ID of the existing contract.

RETURN VALUES
       Upon  successful completion, ct_event_read(), ct_event_read_critical(),
       ct_event_reset(),   ct_event_reliable(),   ct_event_get_nevid(),    and
       ct_event_get_newct()  return 0. Otherwise, they return a non-zero error
       value.


       The ct_event_get_flags(), ct_event_get_ctid(), ct_event_get_evid(), and
       ct_event_get_type() functions return data as described in the  DESCRIP‐
       TION.

ERRORS
       The ct_event_reliable() function will fail if:

       EPERM    The  caller  does not have {PRIV_CONTRACT_EVENT} in its effec‐
                tive set.



       The ct_event_read() and ct_event_read_critical()  functions  will  fail
       if:

       EAGAIN    The  event  endpoint  was opened O_NONBLOCK and no applicable
                 events were available to be read.



       The ct_event_get_nevid() and ct_event_get_newct() functions  will  fail
       if:

       EINVAL    The evthndl argument is not a CT_EV_NEGEND event object.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelSafe


SEE ALSO
       libcontract(3LIB), contract(5), attributes(7), lfcompile(7)

Oracle Solaris 11.4               15 Apr 2019              ct...ead(3CONTRACT)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3