--- ct_pr_tmpl.3contract.original	Wed Nov 28 14:30:23 2007
+++ ct_pr_tmpl.3contract	Mon Jan 14 10:58:50 2008
@@ -8,9 +8,11 @@
 
 NAME
      ct_pr_tmpl_set_transfer,               ct_pr_tmpl_set_fatal,
-     ct_pr_tmpl_set_param,               ct_pr_tmpl_get_transfer,
-     ct_pr_tmpl_get_fatal, ct_pr_tmpl_get_param  -  process  con-
-     tract template functions
+     ct_pr_tmpl_set_param, int 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... ]
@@ -26,6 +28,12 @@
      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);
 
 
@@ -35,6 +43,12 @@
      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
@@ -57,7 +71,15 @@
      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. ct_pr_tmpl_set_svc_fmri() requires the
+     caller to have {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.
 
 
 SunOS 5.11           Last change: 1 Apr 2004                    1
@@ -75,12 +97,26 @@
 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.
 
+     ct_pr_tmpl_get_svc_fmri() and  int ct_pr_tmpl_get_svc_aux()
+     return the size required to store the value. It is the same
+     value return by strlcpy(3C) and insufficient buffer size can
+     be checked by:
+     
+     if (ct_pr_tmpl_get_svc_fmri(fd, fmri, size) > size)
+            /* buffer is too small */
+
+     If an error occurs, these functions return -1 and set errno.
+     
+
 ERRORS
-     The ct_pr_tmpl_set_param() function will fail if:
+     The ct_pr_tmpl_set_param(), ct_pr_tmpl_set_fmri(),
+     ct_pr_tmpl_set_aux(), ct_pr_tmpl_get_fmri() and
+     ct_pr_tmpl_get_aux() functions will fail if:
 
      EINVAL    An invalid parameter was specified.
 
@@ -107,6 +143,12 @@
                   an empty process contract.
 
 
+
+     The ct_pr_tmpl_set_svc_fmri() function will fail if:
+
+     EPERM        The calling process doesn't have
+                  {PRIV_CONTRACT_IDENTITY} in its effective set.
+
 EXAMPLES
      Example 1 Create and activate a process contract template.
 
