Service Configuration Facility Library Functions
scf_value_create(3SCF)
NAME
scf_value_create, scf_value_handle, scf_value_reset,
scf_value_destroy, scf_value_type, scf_value_base_type,
scf_value_is_type, scf_type_base_type,
scf_value_get_boolean, scf_value_get_count,
scf_value_get_integer, scf_value_get_time,
scf_value_get_astring, scf_value_get_ustring,
scf_value_get_opaque, scf_value_get_as_string,
scf_value_get_as_string_typed, scf_value_set_boolean,
scf_value_set_count, scf_value_set_integer,
scf_value_set_time, scf_value_set_from_string,
scf_value_set_astring, scf_value_set_ustring,
scf_value_set_opaque - manipulate values in the Service Con-
figuration FacilitySYNOPSIS
cc [ flag... ] file... -lscf [ library... ]
#include
scf_value_t *scf_value_create(scf_handle_t *h);
scf_handle_t *scf_value_handle(scf_value_t *v);
void scf_value_reset(scf_value_t *v);
void scf_value_destroy(scf_value_t *v);
int scf_value_type(scf_value_t *v);
int scf_value_base_type(scf_value_t *v);
int scf_value_is_type(scf_value_t *v, scf_type_t type);
int scf_type_base_type(scf_type_t type, scf_type_t *out);
int scf_value_get_boolean(scf_value_t *v, uint8_t *out);
int scf_value_get_count(scf_value_t *v, uint64_t *out);
int scf_value_get_integer(scf_value_t *v, int64_t *out);
SunOS 5.11 Last change: 10 May 2010 1
Service Configuration Facility Library Functionsscf_value_create(3SCF)
int scf_value_get_time(scf_value_t *v, int64_t *seconds,
int32_t *ns);
ssize_t scf_value_get_astring(scf_value_t *v, char *buf,
size_t size);
ssize_t scf_value_get_ustring(scf_value_t *v, char *buf,
size_t size);
ssize_t scf_value_get_opaque(scf_value_t *v, char *out,
size_t len);
ssize_t scf_value_get_as_string(scf_value_t *v, char *buf,
size_t size);
ssize_t scf_value_get_as_string_typed(scf_value_t *v,
scf_type_t type, char *buf, size_t size);
void scf_value_set_boolean(scf_value_t *v, uint8_t in);
void scf_value_set_count(scf_value_t *v, uint64_t in);
void scf_value_set_integer(scf_value_t *v, int64_t in);
int scf_value_set_time(scf_value_t *v, int64_t seconds,
int32_t ns);
int scf_value_set_from_string(scf_value_t *v, scf_type_t type,
char *in);int scf_value_set_astring(scf_value_t *v, const char *in);
int scf_value_set_ustring(scf_value_t *v, const char *in);
int scf_value_set_opaque(scf_value_t *v, void *in, size_t sz);
SunOS 5.11 Last change: 10 May 2010 2
Service Configuration Facility Library Functionsscf_value_create(3SCF)
DESCRIPTION
The scf_value_create() function creates a new, reset
scf_value_t that holds a single typed value. The value can
be used only with the handle specified by h and objects associated with h.The scf_value_reset() function resets the value to the unin-
itialized state. The scf_value_destroy() function deallo-
cates the object.The scf_value_type() function retrieves the type of the con-
tents of v. The scf_value_is_type() function determines if a
value is of a particular type or any of its subtypes. Thescf_type_base_type() function returns the base type of type.
The scf_value_base_type() function returns the true base
type of the value (the highest type reachable from the value's type). Type Identifier Base Type Type Description_________________________________________________________________________
SCF_TYPE_INVALID reserved invalid type
SCF_TYPE_BOOLEAN single bit
SCF_TYPE_COUNT unsigned 64-bit quantity
SCF_TYPE_INTEGER signed 64-bit quantity
SCF_TYPE_TIME signed 64-bit seconds, signed 32-bit
nanoseconds in the range 0 <= ns < 1,000,000,000SCF_TYPE_ASTRING 8-bit NUL-terminated string
SCF_TYPE_OPAQUE opaque 8-bit data
SCF_TYPE_USTRING ASTRING 8-bit UTF-8 string
SCF_TYPE_URI USTRING a URI string
SCF_TYPE_FMRI URI a Fault Management Resource Identifier
SCF_TYPE_HOST USTRING either a hostname, IPv4 address, or
IPv6 addressSCF_TYPE_HOSTNAME HOST a fully-qualified domain name
SCF_TYPE_NET_ADDR HOST a valid SCF_TYPE_NET_ADDR_V4 or
SCF_TYPE_NET_ADDR_V6 address
SCF_TYPE_NET_ADDR_V4 NET_ADDR a dotted-quad IPv4 address with
optional network portionSCF_TYPE_NET_ADDR_V6 NET_ADDR legal IPv6 address with optional net-
work portionThe scf_value_get_boolean(), scf_value_get_count(),
scf_value_get_integer(), scf_value_get_time(),
scf_value_get_astring(), scf_value_get_ustring(), and
SunOS 5.11 Last change: 10 May 2010 3
Service Configuration Facility Library Functionsscf_value_create(3SCF)
scf_value_get_opaque() functions read a particular type of
value from v.The scf_value_get_as_string() and
scf_value_get_as_string_typed() functions convert the value
to a string form. For scf_value_get_as_string_typed(), the
value must be a reachable subtype of type.The scf_value_set_boolean(), scf_value_set_count(),
scf_value_set_integer(), scf_value_set_time(),
scf_value_set_astring(), scf_value_set_ustring(), and
scf_value_set_opaque() functions set v to a particular value
of a particular type.The scf_value_set_from_string() function is the inverse of
scf_value_get_as_string(). It sets v to the value encoded in
buf of type type.The scf_value_set_*() functions will succeed on scf_value_t
objects that have already been set.RETURN VALUES
Upon successful completion, scf_value_create() returns a
new, reset scf_value_t. Otherwise, it returns NULL.
Upon successful completion, scf_value_handle() returns the
handle associated with v. Otherwise, it returns NULL.The scf_value_base_type() function returns the base type of
the value, or SCF_TYPE_INVALID on failure.
Upon successful completion, scf_value_type() returns the
type of the value. Otherwise, it returns SCF_TYPE_INVALID.
Upon successful completion, scf_value_is_type(),
scf_value_get_boolean(), scf_value_get_count(),
scf_value_get_integer(), scf_value_get_time(),
scf_value_set_time(), scf_value_set_from_string(),
scf_value_set_astring(), scf_value_set_ustring(), and
scf_value_set_opaque() return 0. Otherwise, they return -1.
SunOS 5.11 Last change: 10 May 2010 4
Service Configuration Facility Library Functionsscf_value_create(3SCF)
Upon successful completion, scf_value_get_astring(),
scf_value_get_ustring(), scf_value_get_as_string(), and
scf_value_get_as_string_typed() return the length of the
source string, not including the terminating null byte. Oth-
erwise, they return -1.
Upon successful completion, scf_value_get_opaque() returns
the number of bytes written. Otherwise, it returns -1.
ERRORS
The scf_value_create() function will fail if:
SCF_ERROR_HANDLE_DESTROYED The handle associated with h
has been destroyed.SCF_ERROR_INVALID_ARGUMENT The handle is NULL.
SCF_ERROR_NO_MEMORY There is not enough memory to
allocate an scf_value_t.
The scf_value_handle() function will fail if:
SCF_ERROR_HANDLE_DESTROYED The handle associated with v
has been destroyed.The scf_value_set_time() function will fail if:
SCF_ERROR_INVALID_ARGUMENT The nanoseconds field is not
in the range 0 <= ns < 1,000,000,000.The scf_type_base_type() function will fail if:
SCF_ERROR_INVALID_ARGUMENT The type argument is not a
valid type.The scf_value_set_astring(), scf_value_set_ustring(),
scf_value_set_opaque(), and scf_value_set_from_string()
functions will fail if:SunOS 5.11 Last change: 10 May 2010 5
Service Configuration Facility Library Functionsscf_value_create(3SCF)
SCF_ERROR_INVALID_ARGUMENT The in argument is not a valid
value for the specified type or is longer than the maximum supported value length.The scf_type_base_type(), scf_value_is_type(), and
scf_value_get_as_string_typed() functions will fail if:
SCF_ERROR_INVALID_ARGUMENT The type argument is not a
valid type.The scf_value_type(), scf_value_base_type(),
scf_value_get_boolean(), scf_value_get_count(),
scf_value_get_integer(), scf_value_get_time(),
scf_value_get_astring(), scf_value_get_ustring(),
scf_value_get_as_string(),
andscf_value_get_as_string_typed() functions will fail if:
SCF_ERROR_NOT_SET The v argument has not been set to a
value.The scf_value_get_boolean(), scf_value_get_count(),
scf_value_get_integer(), scf_value_get_time(),
scf_value_get_astring(), scf_value_get_ustring(), and
scf_value_get_as_string_typed() functions will fail if:
SCF_ERROR_TYPE_MISMATCH The requested type is not the
same as the value's type and isnot in the base-type chain.
The scf_error(3SCF) function can be used to retrieve the
error value.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 10 May 2010 6
Service Configuration Facility Library Functionsscf_value_create(3SCF)
______________________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
libscf(3LIB), scf_entry_add_value(3SCF), scf_error(3SCF),
attributes(5)SunOS 5.11 Last change: 10 May 2010 7
Service Configuration Facility Library Functionsscf_value_create(3SCF)
SunOS 5.11 Last change: 10 May 2010 8