svcadm(1M)을 검색하려면 섹션에서 1M 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
scf_instance_create(3scf)
Service Configuration Facility Library Functions scf_instance_create(3SCF)
NAME
scf_instance_create, scf_instance_handle, scf_instance_destroy,
scf_instance_get_parent, scf_instance_get_name, scf_ser‐
vice_get_instance, scf_service_add_instance, scf_instance_is_complete,
scf_instance_delete - create and manipulate instance handles and
instances in the Service Configuration Facility
SYNOPSIS
cc [ flag... ] file... -lscf [ library... ]
#include <libscf.h>
scf_instance_t *scf_instance_create(scf_handle_t *handle);
scf_handle_t *scf_instance_handle(scf_instance_t *inst);
void scf_instance_destroy(scf_instance_t *inst);
int scf_instance_get_parent(const scf_instance_t *inst,
scf_service_t *svc);
ssize_t scf_instance_get_name(const scf_instance_t *inst,
char *name, size_t size);
int scf_service_get_instance(const scf_service_t *svc,
const char *name, scf_instance_t *inst);
int scf_service_add_instance(const scf_service_t *svc,
const char *name, scf_instance_t *inst);
int scf_instance_is_complete(scf_instance_t *inst);
int scf_instance_delete(scf_instance_t *inst);
DESCRIPTION
Instances form the bottom layer of the Service Configuration Facility
repository tree. An instance is the child of a service and has two sets
of children:
Property Groups
These hold configuration information specific to this instance. See
scf_pg_create(3SCF), scf_iter_instance_pgs(3SCF), and
scf_iter_instance_pgs_typed(3SCF).
Snapshots
These are complete configuration snapshots that hold unchanging
copies of all of the property groups necessary to run the instance.
See scf_snapshot_create(3SCF) and scf_iter_instance_snap‐
shots(3SCF).
Not all instances retrieved by the functions described here are com‐
plete. Some instances may contain only partial specifications, such as
when customizations are delivered by a profile, but the instance itself
is not described in the manifest. The scf_instance_is_complete() func‐
tion can be used to determine whether the instance is complete.
See smf(7) for information about instances.
An scf_instance_t is an opaque handle that can be set to a single
instance at any given time. The scf_instance_create() function allo‐
cates and initializes a new scf_instance_t bound to handle. The
scf_instance_destroy () function destroys and frees inst. The
scf_error() function is not modified by this call.
The scf_instance_handle() function retrieves the handle to which inst
is bound.
The scf_inst_get_parent() function sets svc to the service that is the
parent of inst.
The scf_instance_get_name() function retrieves the name of the instance
to which inst is set.
The scf_service_get_instance() function sets inst to the child instance
of the service svc specified by name.
The scf_service_add_instance() function sets inst to a new child
instance of the service svc specified by name.
The scf_instance_delete() function deletes the instance to which inst
is set, as well all of the children of the instance.
RETURN VALUES
Upon successful completion, scf_instance_create() returns a new
scf_instance_t. Otherwise it returns NULL.
Upon successful completion, scf_instance_handle() returns the handle to
which inst is bound. Otherwise, it returns NULL.
Upon successful completion, scf_instance_get_name() returns the length
of the string written, not including the terminating null character.
Otherwise it returns -1.
Upon successful completion, scf_instance_get_parent(), scf_ser‐
vice_get_instance(), scf_service_add_instance(), and
scf_instance_delete() functions return 0. Otherwise, they return -1.
The scf_instance_is_complete() function returns 1 if the instance is
complete, 0 if it is not, and -1 if there was an error.
ERRORS
The scf_instance_create() and scf_instance_is_complete() functions will
fail if:
SCF_ERROR_HANDLE_DESTROYED
An object was bound to a destroyed handle.
SCF_ERROR_INTERNAL
An internal error occurred.
SCF_ERROR_INVALID_ARGUMENT
The handle argument is NULL.
SCF_ERROR_NO_MEMORY
There is not enough memory to allocate an scf_instance_t.
SCF_ERROR_NO_RESOURCES
The server does not have adequate resources for a new instance han‐
dle.
The scf_instance_handle() function will fail if:
SCF_ERROR_HANDLE_DESTROYED
The handle associated with inst has been destroyed.
The scf_instance_get_name(), scf_instance_get_parent(),
scf_instance_is_complete(), and scf_instance_delete() functions will
fail if:
SCF_ERROR_DELETED
The instance has been deleted.
SCF_ERROR_NOT_SET
The instance is not set.
SCF_ERROR_NOT_BOUND
The repository handle is not bound.
SCF_ERROR_CONNECTION_BROKEN
The connection to the repository was lost.
The scf_service_add_instance() function will fail if:
SCF_ERROR_EXISTS
An instance named name already exists.
SCF_ERROR_INTERNAL
An internal error occurred.
SCF_ERROR_NO_RESOURCES
The server does not have the resources to complete the request.
SCF_ERROR_NOT_BOUND
The handle is not bound.
The scf_service_get_instance() function will fail if:
SCF_ERROR_BACKEND_ACCESS
The storage mechanism that the repository server (svc.configd(8))
chose for the operation denied access.
SCF_ERROR_INTERNAL
An internal error occurred.
SCF_ERROR_NOT_BOUND
The handle is not bound.
SCF_ERROR_NOT_FOUND
No instance specified by name was found.
SCF_ERROR_NO_RESOURCES
The repository server is out of resources.
The scf_service_add_instance() and scf_service_get_instance() functions
will fail if:
SCF_ERROR_NOT_SET
The service is not set.
SCF_ERROR_DELETED
The service has been deleted.
SCF_ERROR_INVALID_ARGUMENT
The name argument is not a valid instance name.
SCF_ERROR_HANDLE_MISMATCH
The service and instance are not derived from the same handle.
SCF_ERROR_CONNECTION_BROKEN
The connection to the repository was lost.
The scf_instance_get_parent() function will fail if:
SCF_ERROR_HANDLE_MISMATCH
The service and instance arguments are not derived from the same
handle.
The scf_service_add_instance() and scf_instance_delete() functions will
fail if:
SCF_ERROR_PERMISSION_DENIED
The user does not have sufficient privileges to create or delete an
instance.
SCF_ERROR_BACKEND_READONLY
The repository backend is read-only.
SCF_ERROR_BACKEND_ACCESS
The repository backend refused the modification.
The scf_instance_delete() function will fail if:
SCF_ERROR_NO_RESOURCES The server does not have adequate resources
for a new instance handle.
The scf_instance_is_complete() function will fail if:
SCF_ERROR_BACKEND_ACCESS
The storage mechanism that the repository server (svc.configd(8))
chose for the operation denied access.
SCF_ERROR_NOT_FOUND
The complete property or one of its parents was not found.
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-LevelSafe
SEE ALSO
libscf(3LIB), scf_error(3SCF), scf_iter_instance_pgs(3SCF),
scf_iter_instance_pgs_typed(3SCF), scf_iter_instance_snapshots(3SCF),
scf_pg_create(3SCF), scf_snapshot_create(3SCF), attributes(7), smf(7),
svc.configd(8)
NOTES
Instance names are of the form:
[domain,]identifier
where domain is either a stock ticker symbol such as ORCL or a Java-
style reversed domain name such as com.oracle. Identifiers begin with a
letter or underscore and contain only letters, digits, underscores, and
dashes.
Oracle Solaris 11.4 16 Aug 2017 scf_instance_create(3SCF)