8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3scf / scf_tmpl_prop_create.3scf
blob1235b1f7e2ffb9effcb71a092bd4d2155fd617d5
1 '\" te
2 .\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH SCF_TMPL_PROP_CREATE 3SCF "Oct 28, 2008"
7 .SH NAME
8 scf_tmpl_prop_create, scf_tmpl_prop_reset, scf_tmpl_prop_destroy,
9 scf_tmpl_get_by_prop, scf_tmpl_iter_props \- template property functions
10 .SH SYNOPSIS
11 .LP
12 .nf
13 cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-lscf\fR [ \fIlibrary\fR\&.\|.\|. ]
14 #include <libscf.h>
16 \fBscf_prop_tmpl_t *\fR\fBscf_tmpl_prop_create\fR(\fBscf_handle_t *\fR\fIhandle\fR);
17 .fi
19 .LP
20 .nf
21 \fBvoid\fR \fBscf_tmpl_prop_reset\fR(\fBscf_prop_tmpl_t *\fR\fIprop_tmpl\fR);
22 .fi
24 .LP
25 .nf
26 \fBvoid\fR \fBscf_tmpl_prop_destroy\fR(\fBscf_prop_tmpl_t *\fR\fIprop_tmpl\fR);
27 .fi
29 .LP
30 .nf
31 \fBint\fR \fBscf_tmpl_get_by_prop\fR(\fBscf_pg_tmpl_t *\fR\fIpg_tmpl\fR,
32      \fBconst char *\fR\fIprop\fR, \fBscf_prop_tmpl_t *\fR\fIprop_tmpl\fR, \fBint\fR \fIflags\fR)
33 .fi
35 .LP
36 .nf
37 \fBint\fR \fBscf_tmpl_iter_props\fR(\fBscf_pg_tmpl_t *\fR\fIpg_tmpl\fR, \fBconst char *\fR\fIfmri\fR,
38      \fBscf_prop_tmpl_t *\fR\fIprop_tmpl\fR, \fBint\fR \fIflags\fR);
39 .fi
41 .SH DESCRIPTION
42 .sp
43 .LP
44 The template property functions locate and give access to metadata about
45 properties.  They require that the template for the property group containing
46 the property has already been located by one of the
47 \fBscf_tmpl_pg_create\fR(3SCF) suite of functions.
48 .sp
49 .LP
50 Once retrieved, the \fBscf_prop_tmpl_t\fR can be explored using the
51 \fBscf_tmpl_prop_name\fR(3SCF) suite of functions.
52 .sp
53 .LP
54 Before calling \fBscf_tmpl_get_by_prop()\fR or \fBscf_tmpl_iter_props()\fR, the
55 \fBscf_prop_tmpl_t\fR must be allocated by \fBscf_tmpl_prop_create\fR. The
56 \fBscf_prop_tmpl_t\fR can be reset to contain no template information with
57 \fBscf_tmpl_prop_reset()\fR, so that it can be used to start an iteration from
58 scratch. All associated memory can be freed with \fBscf_tmpl_prop_destroy()\fR.
59 .sp
60 .LP
61 The \fBscf_tmpl_get_by_prop()\fR function locates template data about the
62 property name specified.
63 .sp
64 .LP
65 The \fBscf_tmpl_iter_props()\fR function iterates across all property templates
66 defined in the specified property group template.
67 .sp
68 .LP
69 The iterator state for \fBscf_tmpl_iter_props()\fR is stored on the property
70 template data structure. The data structure should be allocated with
71 \fBscf_tmpl_prop_create()\fR, and to continue the iteration the previously
72 returned structure should be passed in as an argument.
73 .SH RETURN VALUES
74 .sp
75 .LP
76 The \fBscf_tmpl_get_by_prop()\fR function returns -1 on failure and 0 on
77 success.
78 .sp
79 .LP
80 The \fBscf_tmpl_iter_props()\fR function returns 1 on successful completion. If
81 the iteration is complete, it returns 0. It returns -1 on error.
82 .SH ERRORS
83 .sp
84 .LP
85 The \fBscf_tmpl_get_by_prop()\fR and \fBscf_tmpl_iter_props()\fR functions will
86 fail if:
87 .sp
88 .ne 2
89 .na
90 \fB\fBSCF_ERROR_BACKEND_ACCESS\fR\fR
91 .ad
92 .sp .6
93 .RS 4n
94 The storage mechanism that the repository server (\fBsvc.configd\fR(1M)) chose
95 for the operation denied access.
96 .RE
98 .sp
99 .ne 2
101 \fB\fBSCF_ERROR_CONNECTION_BROKEN\fR\fR
103 .sp .6
104 .RS 4n
105 The connection to the repository was lost.
109 .ne 2
111 \fB\fBSCF_ERROR_DELETED\fR\fR
113 .sp .6
114 .RS 4n
115 The instance or its template property group has been deleted.
119 .ne 2
121 \fB\fBSCF_ERROR_HANDLE_DESTROYED\fR\fR
123 .sp .6
124 .RS 4n
125 The handle passed in has been destroyed.
129 .ne 2
131 \fB\fBSCF_ERROR_INTERNAL\fR\fR
133 .sp .6
134 .RS 4n
135 An internal error occurred.
139 .ne 2
141 \fB\fBSCF_ERROR_INVALID_ARGUMENT\fR\fR
143 .sp .6
144 .RS 4n
145 One of the arguments is invalid.
149 .ne 2
151 \fB\fBSCF_ERROR_NO_MEMORY\fR\fR
153 .sp .6
154 .RS 4n
155 There is not enough memory to populate the \fBscf_prop_tmpl_t\fR.
159 .ne 2
161 \fB\fBSCF_ERROR_NO_RESOURCES\fR\fR
163 .sp .6
164 .RS 4n
165 The server does not have adequate resources to complete the request.
169 .ne 2
171 \fB\fBSCF_ERROR_NOT_BOUND\fR\fR
173 .sp .6
174 .RS 4n
175 The handle is not currently bound.
180 The \fBscf_tmpl_get_by_prop()\fR function will fail if:
182 .ne 2
184 \fB\fBSCF_ERROR_NOT_FOUND\fR\fR
186 .sp .6
187 .RS 4n
188 Template object matching property doesn't exist in the repository.
192 .ne 2
194 \fB\fBSCF_ERROR_TYPE_MISMATCH\fR\fR
196 .sp .6
197 .RS 4n
198 Matching template object is the wrong type in the repository.
202 .ne 2
204 \fB\fBSCF_ERROR_PERMISSION_DENIED\fR\fR
206 .sp .6
207 .RS 4n
208 The template could not be read due to access restrictions.
212 .ne 2
214 \fB\fBSCF_ERROR_TEMPLATE_INVALID\fR\fR
216 .sp .6
217 .RS 4n
218 The template data is invalid.
223 The \fBscf_tmpl_prop_create()\fR function will fail if:
225 .ne 2
227 \fB\fBSCF_ERROR_INVALID_ARGUMENT\fR\fR
229 .RS 30n
230 The \fIhandle\fR argument is \fINULL\fR.
234 .ne 2
236 \fB\fBSCF_ERROR_NO_MEMORY\fR\fR
238 .RS 30n
239 There is no memory available.
242 .SH ATTRIBUTES
245 See \fBattributes\fR(5) for descriptions of the following attributes:
250 box;
251 c | c
252 l | l .
253 ATTRIBUTE TYPE  ATTRIBUTE VALUE
255 Interface Stability     Committed
257 MT-Level        Safe
260 .SH SEE ALSO
263 \fBsvc.configd\fR(1M), \fBscf_tmpl_pg_create\fR(3SCF),
264 \fBscf_tmpl_prop_name\fR(3SCF), \fBattributes\fR(5), \fBsmf_template\fR(5)