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_members, ct_pr_status_get_contracts,
ct_pr_status_get_svc_fmri, ct_pr_status_get_svc_aux,
ct_pr_status_get_svc_ctid, ct_pr_status_get_svc_creator -
process contract status functionsSYNOPSIS
cc [ flag... ] file... -D_LARGEFILE64_SOURCE -lcontract [ library... ]
#include
#include
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 informationfrom 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(4).The ct_pr_status_get_fatal() function reads the fatal event
set term. The value is a collection of bits as described inSunOS 5.11 Last change: 25 Feb 2008 1
Contract Management Library Functionsct_pr_status_get_param(3CONTRACT)
process(4).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 toct_status_free(3CONTRACT).
The ct_pr_status_get_contracts() function obtains a list of
IDs of contracts 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 toct_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_status_get_fatal(), ct_pr_status_get_members(),
ct_pr_status_get_contracts(), 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_status_get_members(), ct_pr_status_get_contracts(),
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()
functions will fail if: EINVAL The stathdl argument is not a process contract status object.SunOS 5.11 Last change: 25 Feb 2008 2
Contract Management Library Functionsct_pr_status_get_param(3CONTRACT)
The ct_pr_status_get_param(), ct_pr_status_get_fatal(),
ct_pr_status_get_members(), ct_r_status_get_contracts(),
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()
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
#include
#include
#include
... 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(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 25 Feb 2008 3
Contract Management Library Functionsct_pr_status_get_param(3CONTRACT)
______________________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
ct_status_free(3CONTRACT), ct_status_read(3CONTRACT),
libcontract(3LIB), contract(4), process(4), attributes(5), lfcompile(5)SunOS 5.11 Last change: 25 Feb 2008 4
Contract Management Library Functionsct_pr_status_get_param(3CONTRACT)
SunOS 5.11 Last change: 25 Feb 2008 5