Service Configuration Facility Library Functions
scf_property_create(3SCF)
NAME
scf_property_create, scf_property_handle,
scf_property_destroy, scf_property_get_name,
scf_property_type, scf_property_is_type, scf_type_to_string,
scf_string_to_type, scf_property_get_value,
scf_pg_get_property - create and manipulate property handles
in the Service Configuration FacilitySYNOPSIS
cc [ flag... ] file... -lscf [ library... ]
#include
scf_property_t *scf_property_create(scf_handle_t *handle);
scf_handle_t *scf_property_handle(scf_property_t *prop);
void scf_property_destroy(scf_property_t *prop);
ssize_t scf_property_get_name(const scf_property_t *prop,
char *buf, size_t size);
int scf_property_type(const scf_property_t *prop,
scf_type_t *type);
int scf_property_is_type(const scf_property_t *prop,
scf_type_t type);
const char *scf_type_to_string(scf_type_t type);
scf_type_t scf_string_to_type(const char *type);
int scf_property_get_value(const scf_property_t *prop,
scf_value_t *value);
int scf_pg_get_property(const scf_propertygroup_t *pg,
const char *name, scf_property_t *prop);
DESCRIPTION
Properties are named sets of values of one type. They aregrouped into property groups (see scf_pg_create(3SCF)) that
are updated atomically using transactions (seeSunOS 5.11 Last change: 8 Oct 2010 1
Service Configuration Facility Library Functionsscf_property_create(3SCF)
scf_transaction_create(3SCF)).
An scf_property_t is an opaque handle that can be set to a
single property at any given time. When set, it inherits thepoint-in-time from the source scf_propertygroup_t and does
not change until reset.The scf_property_create() function allocates and initializes
a new scf_property_t bound to handle. The
scf_property_destroy() function destroys and frees prop.
The scf_property_handle() function returns the handle to
which prop is bound.The scf_property_type() function retrieves the type of the
property to which prop is set.The scf_property_is_type() function determines if the pro-
perty is compatible with type. See scf_value_create(3SCF).
The scf_type_to_string() function returns the string name of
the type supplied. If the type is invalid or unknown, it returns "unknown".The scf_string_to_type() function returns the scf_type_t
definition of the string supplied. If the string does nottranslate to an existing type, it returns SCF_TYPE_INVALID.
The scf_property_get_value() function retrieves the single
value that the property to which prop is set contains. If the property has more than one value, the value argument is set to one of the values. To retrieve all values associatedwith a property, see scf_iter_property_values(3SCF).
The scf_pg_get_property() function sets prop to the property
specified by name in the property group specified by pg.RETURN VALUES
Upon successful completion, scf_property_create() returns a
new scf_property_t. Otherwise, it returns NULL.
SunOS 5.11 Last change: 8 Oct 2010 2
Service Configuration Facility Library Functionsscf_property_create(3SCF)
Upon successful completion, scf_property_get_name() func-
tion returns the length of the string written, not includingthe terminating null byte. Otherwise, it returns -1.
Upon successful completion, scf_pg_get_property(),
scf_property_type(), scf_property_is_type(), and
scf_property_get_value() functions return 0. Otherwise, they
return -1.
Upon successful completion, scf_type_to_string() returns a
string of the type supplied.Upon successful completion, scf_string_to_type() returns the
scf_type_t definition of the string supplied
ERRORS
The scf_property_create() function will fail if:
SCF_ERROR_INVALID_ARGUMENT The value of the handle argu-
ment is NULL.SCF_ERROR_NO_MEMORY There is not enough memory to
allocate an scf_property_t.
SCF_ERROR_NO_RESOURCES The server does not have ade-
quate resources for a new pro-
perty handle.The scf_property_handle() function will fail if:
SCF_ERROR_HANDLE_DESTROYED The handle associated with
prop has been destroyed.The scf_property_get_name(), scf_property_type(),
scf_property_is_type(), and scf_property_get_value() func-
tions will fail if:SCF_ERROR_CONNECTION_BROKEN
The connection to the repository was lost.SunOS 5.11 Last change: 8 Oct 2010 3
Service Configuration Facility Library Functionsscf_property_create(3SCF)
SCF_ERROR_DELETED
The property's parent property group or an ancestor has been deleted.SCF_ERROR_NOT_BOUND
The handle was never bound or has been unbound.SCF_ERROR_NOT_SET
The property is not set.The scf_property_is_type() function will fail if:
SCF_ERROR_INVALID_ARGUMENT The type argument is not a
valid type.SCF_ERROR_TYPE_MISMATCH The prop argument is not of a
type compatible with type.The scf_pg_get_property() function will fail if:
SCF_ERROR_BACKEND_ACCESS
The storage mechanism that the repository server (svc.configd(1M)) chose for the operation denied access.SCF_ERROR_CONNECTION_BROKEN
The connection to the repository was lost.SCF_ERROR_DELETED
The property group or an ancestor has been deleted.SCF_ERROR_HANDLE_MISMATCH
The property group and property are not derived from the same handle.SunOS 5.11 Last change: 8 Oct 2010 4
Service Configuration Facility Library Functionsscf_property_create(3SCF)
SCF_ERROR_INTERNAL
An internal error occurred.SCF_ERROR_INVALID_ARGUMENT
The value of the name argument is not a valid property name.SCF_ERROR_NO_RESOURCES
The server does not have the resources to complete the request.SCF_ERROR_NOT_BOUND
The handle was never bound or has been unbound.SCF_ERROR_NOT_FOUND
The property specified by name was not found.SCF_ERROR_NOT_SET
The property group specified by pg is not set.The scf_property_get_value() function will fail if:
SCF_ERROR_CONSTRAINT_VIOLATED
The property has more than one value associated with it. The value argument will be set to one of the values.SCF_ERROR_HANDLE_MISMATCH
The property and value are derived from different han-
dles.SCF_ERROR_NOT_FOUND
The property has no values associated with it. The value argument will be reset.SunOS 5.11 Last change: 8 Oct 2010 5
Service Configuration Facility Library Functionsscf_property_create(3SCF)
SCF_ERROR_PERMISSION_DENIED
The value could not be read due to access restrictions.The scf_error(3SCF) function can be used to retrieve the
error value.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
libscf(3LIB), scf_error(3SCF), scf_handle_decode_fmri(3SCF),
scf_iter_property_values(3SCF), scf_pg_create(3SCF),
scf_property_to_fmri(3SCF), scf_transaction_create(3SCF),
scf_value_create(3SCF), attributes(5)
SunOS 5.11 Last change: 8 Oct 2010 6
Service Configuration Facility Library Functionsscf_property_create(3SCF)
SunOS 5.11 Last change: 8 Oct 2010 7