contract
char *contract = NULL;
err = nvlist_lookup_string(nvl, FM_FMRI_SVC_CONTRACT_ID, &contract);
if ((err != 0 && err != ENOENT) || !svc_component_valid(contract))
topo_fmristr_build(&size, buf, buflen, contract, "@", NULL);
struct contract *pr_contract; /* contract pointer */
newproc(void (*pc)(), caddr_t arg, id_t cid, int pri, struct contract **ct,
secpolicy_contract_observer(const cred_t *cr, struct contract *ct)
struct contract *cte_contract; /* contract */
void (*contop_free)(struct contract *);
void (*contop_abandon)(struct contract *);
void (*contop_destroy)(struct contract *);
void (*contop_status)(struct contract *, zone_t *, int, nvlist_t *,
int (*contop_ack)(struct contract *, uint_t evtype,
int (*contop_nack)(struct contract *, uint_t evtype,
int (*contop_qack)(struct contract *, uint_t, uint64_t);
int (*contop_newct)(struct contract *);
struct contract *ct_regent; /* [prospective] regent contract */
struct contract *lwp_ct_latest[CTT_MAXTYPE]; /* last created contract */
int secpolicy_contract_observer(const cred_t *, struct contract *);
extern int newproc(void (*)(), caddr_t, id_t, int, struct contract **, pid_t);