svcadm(1M)을 검색하려면 섹션에서 1M 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
scf_handle_create(3scf)
Service Configuration Facility Library Functions scf_handle_create(3SCF)
NAME
scf_handle_create, scf_handle_destroy, scf_handle_decorate, scf_han‐
dle_bind, scf_handle_unbind, scf_myname - Service Configuration Facil‐
ity handle functions
SYNOPSIS
cc [ flag... ] file... -lscf [ library... ]
#include <libscf.h>
scf_handle_t *scf_handle_create(scf_version_t version);
void scf_handle_destroy(scf_handle_t *handle);
int scf_handle_decorate(scf_handle_t *handle, const char *param,
scf_value_t *value);
int scf_handle_bind(scf_handle_t *handle);
int scf_handle_unbind(scf_handle_t *handle);
ssize_t scf_myname(scf_handle_t *handle, char *out, size_t sz);
DESCRIPTION
The scf_handle_create() function creates a new Service Configuration
Facility handle that is used as the base for all communication with the
configuration repository. The version argument must be SCF_VERSION.
The scf_handle_decorate() function sets a single connection-level
parameter, param, to the supplied value. If value is SCF_DECO‐
RATE_CLEAR, param is reset to its default state. Values passed to
scf_handle_decorate() can be reset, reused, or destroyed. The values
set do not take effect until scf_handle_bind() is called. Any invalid
values will not cause errors prior to the call to scf_handle_bind().
The available decorations are:
debug (count) Set the debugging flags.
show-masked (boolean) This connection to the repository should show
entities masked by the administrator. See scf_ser‐
vice_is_masked(3SCF) for details.
The scf_handle_bind() function binds the handle to a running svc.con‐
figd(8) daemon, using the current decorations to modify the connection.
All states derived from the handle are reset immediately after a suc‐
cessful binding.
The scf_handle_unbind() function severs an existing repository connec‐
tion or clears the in-client state for a broken connection.
The scf_handle_destroy() function destroys and frees an SCF handle The
scf_error() function is not modified by this call. It is illegal to use
the handle after calling scf_handle_destroy(). Actions on subordinate
objects act as if the handle is unbound.
The scf_myname() function retrieves the FMRI for the service of which
the connecting process is a part. If the full FMRI does not fit in the
provided buffer, it is truncated and, if sz > 0, zero-terminated.
RETURN VALUES
Upon successful completion, scf_handle_create() returns the new handle.
Otherwise, it returns NULL.
Upon successful completion, scf_handle_decorate(), scf_handle_bind(),
and scf_handle_unbind() return 0. Otherwise, they return -1.
The scf_myname() function returns the length of the full FMRI. Other‐
wise, it returns -1.
ERRORS
The scf_handle_create() function will fail if:
SCF_ERROR_NO_MEMORY
There is no memory available.
SCF_ERROR_VERSION_MISMATCH
The version is invalid, or the application was compiled against a
version of the library that is more recent than the one on the sys‐
tem.
The scf_handle_decorate() function will fail if:
SCF_ERROR_INVALID_ARGUMENT
The param argument is not a recognized parameter.
SCF_ERROR_TYPE_MISMATCH
The value argument does not match the expected type for param.
SCF_ERROR_NOT_SET
The value argument is not set.
SCF_ERROR_IN_USE
The handle is currently bound.
SCF_ERROR_HANDLE_MISMATCH
The value argument is not derived from handle.
The scf_handle_bind() function will fail if:
SCF_ERROR_INVALID_ARGUMENT
One of the decorations was invalid.
SCF_ERROR_NO_SERVER
The repository server is not running.
SCF_ERROR_NO_RESOURCES
The server does not have adequate resources for a new connection.
SCF_ERROR_IN_USE
The handle is already bound.
The scf_handle_unbind() function will fail if:
SCF_ERROR_NOT_BOUND
The handle is not bound.
The scf_myname() function will fail if:
SCF_ERROR_CONNECTION_BROKEN
The connection to the repository was lost.
SCF_ERROR_NOT_BOUND
The handle is not bound.
SCF_ERROR_NOT_SET
This process is not marked as a SMF service.
The scf_error(3SCF) function can be used to retrieve the error value.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelSee below.
Operations on a single handle (and the objects associated with it) are
Safe. Operations on different handles are MT-Safe. Objects associated
with different handles cannot be mixed, as this will lead to an
SCF_ERROR_HANDLE_MISMATCH error.
SEE ALSO
libscf(3LIB), scf_error(3SCF), scf_service_is_masked(3SCF),
attributes(7)
Oracle Solaris 11.4 14 Aug 2017 scf_handle_create(3SCF)