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

개요

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

ct_pr_status_get_param(3contract)

Contract Management Library Functions
                                             ct_pr_status_get_param(3CONTRACT)



NAME
       ct_pr_status_get_param,  ct_pr_status_get_fatal,  ct_pr_status_get_mem‐
       bers, ct_pr_status_get_contracts, ct_pr_status_get_svc_fmri, ct_pr_sta‐
       tus_get_svc_aux,  ct_pr_status_get_svc_ctid,  ct_pr_status_get_svc_cre‐
       ator - process contract status functions

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

       int ct_pr_status_get_param(ct_stathdl_t stathdl, uint_t *paramp);


       int ct_pr_status_get_fatal(ct_stathdl_t stathdl, uint_t *eventsp);


       int ct_pr_status_get_members(ct_stathdl_t stathdl,
            pid_t **pidpp, uint_t *n);


       int ct_pr_status_get_contracts(ct_stathdl_t stathdl,
            ctid_t **idpp, uint_t *n);


       int ct_pr_status_get_svc_fmri(ct_stathdl_t stathdl, char **fmri);


       int ct_pr_status_get_svc_aux(ct_stathdl_t stathdl, char **aux);


       int ct_pr_status_get_svc_ctid(ct_stathdl_t stathdl, ctid_t *ctid);


       int ct_pr_status_get_svc_creator(ct_stathdl_t stathdl,
            char **creator);

DESCRIPTION
       These functions read process contract status information from a  status
       object returned by ct_status_read(3CONTRACT).


       The ct_pr_status_get_param() function reads the parameter set term. The
       value is a collection of bits as described in process(5).


       The ct_pr_status_get_fatal() function reads the fatal event  set  term.
       The value is a collection of bits as described in process(5).


       The  ct_pr_status_get_members()  function obtains a list of the process
       IDs of the members of the process contract. A pointer to  an  array  of
       process  IDs  is stored in *pidpp. The number of elements in this array
       is stored in *n. These data are freed when the status object  is  freed
       by a call to ct_status_free(3CONTRACT).


       The ct_pr_status_get_contracts() function obtains a list of IDs of con‐
       tracts that have been inherited by the contract. A pointer to an  array
       of  IDs  is  stored  in  *idpp. The number of elements in this array is
       stored in *n. These data are freed when the status object is freed by a
       call to ct_status_free().


       The  ct_pr_status_get_svc_fmri(),  ct_pr_status_get_svc_creator(),  and
       ct_pr_status_get_svc_aux() functions read,  respectively,  the  service
       FMRI,  the  contract's  creator  execname  and  the creator's auxiliary
       field. The buffer pointed to by fmri, aux or creator,  is  freed  by  a
       call to ct_status_free() and should not be modified.


       The  ct_pr_status_get_svc_ctid() function reads the process contract id
       for which the service FMRI was first set.

RETURN VALUES
       Upon  successful   completion,   ct_pr_status_get_param(),   ct_pr_sta‐
       tus_get_fatal(),    ct_pr_status_get_members(),   ct_pr_status_get_con‐
       tracts(), ct_pr_status_get_svc_fmri(),  ct_pr_status_get_svc_creator(),
       ct_pr_status_get_svc_aux(),  and  ct_pr_status_get_svc_ctid() return 0.
       Otherwise, they return a non-zero error value.

ERRORS
       The  ct_pr_status_get_param(),   ct_pr_status_get_fatal(),   ct_pr_sta‐
       tus_get_members(),       ct_pr_status_get_contracts(),       ct_pr_sta‐
       tus_get_svc_fmri(),     ct_pr_status_get_svc_creator(),      ct_pr_sta‐
       tus_get_svc_aux(),  and ct_pr_status_get_svc_ctid() functions will fail
       if:

       EINVAL    The stathdl argument is not a process contract status object.



       The  ct_pr_status_get_param(),   ct_pr_status_get_fatal(),   ct_pr_sta‐
       tus_get_members(),        ct_r_status_get_contracts(),       ct_pr_sta‐
       tus_get_svc_fmri(),     ct_pr_status_get_svc_creator(),      ct_pr_sta‐
       tus_get_svc_aux(),  and ct_pr_status_get_svc_ctid() functions will fail
       if:

       ENOENT    The requested data were not available in the status object.


EXAMPLES
       Example 1 Print members of process contract 1.



       Open the status file for contract 1, read the contract's status, obtain
       the list of processes, print them, and free the status object.


         #include <sys/types.h>
         #include <fcntl.h>
         #include <libcontract.h>
         #include <stdio.h>

         ...
         int fd;
         uint_t i, n;
         pid_t *procs;
         ct_stathdl_t st;

         fd = open("/system/contract/process/1/status");
         ct_status_read(fd, &st);
         ct_pr_status_get_members(st, &procs, &n);
         for (i = 0 ; i < n; i++)
                 printf("%ld\n", (long)procs[i]);
         ct_status_free(stat);
         close(fd);
         ...


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
       ct_status_free(3CONTRACT),      ct_status_read(3CONTRACT),      libcon‐
       tract(3LIB), contract(5), process(5), attributes(7), lfcompile(7)



Oracle Solaris 11.4               25 Feb 2008
                                             ct_pr_status_get_param(3CONTRACT)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3