Windows PowerShell command on Get-command ct_pr_tmpl_set_transfer
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man ct_pr_tmpl_set_transfer

Contract Management Library Functions

ct_pr_tmpl_set_transfer(3CONTRACT)

NAME

ct_pr_tmpl_set_transfer, ct_pr_tmpl_set_fatal,

ct_pr_tmpl_set_param, ct_pr_tmpl_set_svc_fmri,

ct_pr_tmpl_set_svc_aux, ct_pr_tmpl_get_transfer,

ct_pr_tmpl_get_fatal, ct_pr_tmpl_get_param,

ct_pr_tmpl_get_svc_fmri, ct_pr_tmpl_get_svc_aux - process

contract template functions

SYNOPSIS

cc [ flag... ] file... -D_LARGEFILE64_SOURCE -lcontract [ library... ]

#include

#include

int ct_pr_tmpl_set_transfer(int fd, ctid_t ctid);

int ct_pr_tmpl_set_fatal(int fd, uint_t events);

int ct_pr_tmpl_set_param(int fd, uint_t params);

int ct_pr_tmpl_set_svc_fmri(int fd, const char *fmri);

int ct_pr_tmpl_set_svc_aux(int fd, const char *aux);

int ct_pr_tmpl_get_transfer(int fd, ctid_t *ctidp);

int ct_pr_tmpl_get_fatal(int fd, uint_t *eventsp);

int ct_pr_tmpl_get_param(int fd, uint_t *paramsp);

int ct_pr_tmpl_get_svc_fmri(int fd, char *fmri, size_t size);

int ct_pr_tmpl_get_svc_aux(int fd, char *aux, size_t size);

DESCRIPTION

These functions read and write process contract terms and operate on process contract template file descriptors obtained from the contract(4) file system.

The ct_pr_tmpl_set_transfer() and ct_pr_tmpl_get_transfer()

functions write and read the transfer contract term. The

SunOS 5.11 Last change: 25 Feb 2008 1

Contract Management Library Functions

ct_pr_tmpl_set_transfer(3CONTRACT)

value is the ID of an empty regent process contract owned by the caller whose inherited contracts are to be transferred to a newly created contract.

The ct_pr_tmpl_set_fatal() and ct_pr_tmpl_get_fatal() func-

tions write and read the fatal event set term. The value is a collection of bits as described in process(4).

The ct_pr_tmpl_set_param() and ct_pr_tmpl_get_param() func-

tions write and read the parameter set term. The value is a collection of bits as described in process(4).

The ct_pr_tmpl_set_svc_fmri() and ct_pr_tmpl_get_svc_fmri()

functions write and read the service FMRI value of a process

contract template. The ct_pr_tmpl_set_svc_fmri() function

requires the caller to have the {PRIV_CONTRACT_IDENTITY}

privilege in its effective set.

The ct_pr_tmpl_set_svc_aux() and ct_pr_tmpl_get_svc_aux()

functions write and read the creator's auxiliary value of a process contract template.

RETURN VALUES

Upon successful completion, ct_pr_tmpl_set_transfer(),

ct_pr_tmpl_set_fatal(), ct_pr_tmpl_set_param(),

ct_pr_tmpl_set_svc_fmri(), ct_pr_tmpl_set_svc_aux(),

ct_pr_tmpl_get_transfer(), ct_pr_tmpl_get_fatal(), and

ct_pr_tmpl_get_param() return 0. Otherwise, they return a

non-zero error value.

Upon successful completion, ct_pr_tmpl_get_svc_fmri() and

ct_pr_tmpl_get_svc_aux() return the size required to store

the value, which is the same value return by strcpy(3C) + 1. Insufficient buffer size can be checked by:

if (ct_pr_tmpl_get_svc_fmri(fd, fmri, size) > size)

/* buffer is too small */

Otherwise, ct_pr_tmpl_get_svc_fmri() and

ct_pr_tmpl_get_svc_aux() return -1 and set errno to indicate

the error.

ERRORS

SunOS 5.11 Last change: 25 Feb 2008 2

Contract Management Library Functions

ct_pr_tmpl_set_transfer(3CONTRACT)

The ct_pr_tmpl_set_param(), ct_pr_tmpl_set_svc_fmri(),

ct_pr_tmpl_set_svc_aux(), ct_pr_tmpl_get_svc_fmri() and

ct_pr_tmpl_get_svc_aux() functions will fail if:

EINVAL An invalid parameter was specified.

The ct_pr_tmpl_set_fatal() function will fail if:

EINVAL An invalid event was specified.

The ct_pr_tmpl_set_transfer() function will fail if:

ESRCH The ID specified by ctid does not correspond to a process contract. EACCES The ID specified by ctid does not correspond to

a process contract owned by the calling pro-

cess. ENOTEMPTY The ID specified by ctid does not correspond to an empty process contract.

The ct_pr_tmpl_set_svc_fmri() function will fail if:

EPERM The calling process does not have

{PRIV_CONTRACT_IDENTITY} in its effective set.

EXAMPLES

Example 1 Create and activate a process contract template. The following example opens a new template, makes hardware

errors and signals fatal events, makes hardware errors crit-

ical events, and activates the template. It then forks a process in the new contract using the requested terms.

#include

#include

#include

...

SunOS 5.11 Last change: 25 Feb 2008 3

Contract Management Library Functions

ct_pr_tmpl_set_transfer(3CONTRACT)

int fd;

fd = open("/system/contract/process/template", O_RDWR);

(void) ct_pr_tmpl_set_fatal(fd, CT_PR_EV_HWERR|CT_PR_EV_SIGNAL);

(void) ct_tmpl_set_critical(fd, CT_PR_EV_HWERR);

(void) ct_tmpl_activate(fd);

close(fd); if (fork()) {

/* parent - owns new process contract */

... } else {

/* child - in new process contract */

... } ... Example 2 Clear the process contract template. The following example opens the template file and requests that the active template be cleared.

#include

#include

... int fd;

fd = open("/system/contract/process/template", O_RDWR);

(void) ct_tmpl_clear(fd);

close(fd); ...

ATTRIBUTES

See attributes(5) for descriptions of the following attri-

butes:

SunOS 5.11 Last change: 25 Feb 2008 4

Contract Management Library Functions

ct_pr_tmpl_set_transfer(3CONTRACT)

______________________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

| MT-Level | Safe |

|_____________________________|_____________________________|

SEE ALSO

libcontract(3LIB), strcpy(3C), contract(4), process(4), attributes(5), lfcompile(5)

SunOS 5.11 Last change: 25 Feb 2008 5

Contract Management Library Functions

ct_pr_tmpl_set_transfer(3CONTRACT)

SunOS 5.11 Last change: 25 Feb 2008 6




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™