Skip Navigation Links | |
Exit Print View | |
man pages section 3: Extended Library Functions Oracle Solaris 10 1/13 Information Library |
Extended Library Functions - Part 1
Extended Library Functions - Part 2
Extended Library Functions - Part 3
Extended Library Functions - Part 4
Extended Library Functions - Part 5
ptree_add_row_to_table(3PICLTREE)
ptree_create_and_add_node(3PICLTREE)
ptree_create_and_add_prop(3PICLTREE)
ptree_get_first_prop(3PICLTREE)
ptree_get_frutree_parent(3PICLTREE)
ptree_get_next_by_col(3PICLTREE)
ptree_get_next_by_row(3PICLTREE)
ptree_get_next_prop(3PICLTREE)
ptree_get_node_by_path(3PICLTREE)
ptree_get_prop_by_name(3PICLTREE)
ptree_get_propinfo_by_name(3PICLTREE)
ptree_get_propval_by_name(3PICLTREE)
ptree_init_propinfo(3PICLTREE)
ptree_register_handler(3PICLTREE)
ptree_unregister_handler(3PICLTREE)
ptree_update_propval(3PICLTREE)
ptree_update_propval_by_name(3PICLTREE)
ptree_walk_tree_by_class(3PICLTREE)
rsm_create_localmemory_handle(3RSM)
rsm_free_interconnect_topology(3RSM)
rsm_free_localmemory_handle(3RSM)
rsm_get_interconnect_topology(3RSM)
rsm_intr_signal_wait_pollfd(3RSM)
rsm_memseg_export_create(3RSM)
rsm_memseg_export_destroy(3RSM)
rsm_memseg_export_publish(3RSM)
rsm_memseg_export_rebind(3RSM)
rsm_memseg_export_republish(3RSM)
rsm_memseg_export_unpublish(3RSM)
rsm_memseg_import_close_barrier(3RSM)
rsm_memseg_import_connect(3RSM)
rsm_memseg_import_destroy_barrier(3RSM)
rsm_memseg_import_disconnect(3RSM)
rsm_memseg_import_get_mode(3RSM)
rsm_memseg_import_init_barrier(3RSM)
rsm_memseg_import_open_barrier(3RSM)
rsm_memseg_import_order_barrier(3RSM)
rsm_memseg_import_set_mode(3RSM)
rsm_memseg_release_pollfd(3RSM)
SCF_Card_exchangeAPDU(3SMARTCARD)
SCF_Card_waitForCardRemoved(3SMARTCARD)
scf_entry_destroy_children(3SCF)
scf_instance_get_pg_composed(3SCF)
scf_instance_get_snapshot(3SCF)
scf_iter_instance_pgs_composed(3SCF)
scf_iter_instance_pgs_typed(3SCF)
scf_iter_instance_pgs_typed_composed(3SCF)
scf_iter_instance_snapshots(3SCF)
scf_iter_property_values(3SCF)
scf_iter_service_instances(3SCF)
scf_iter_service_pgs_typed(3SCF)
scf_iter_snaplevel_pgs_typed(3SCF)
scf_pg_get_parent_instance(3SCF)
scf_pg_get_parent_service(3SCF)
scf_pg_get_parent_snaplevel(3SCF)
scf_pg_get_underlying_pg(3SCF)
scf_service_add_instance(3SCF)
scf_service_get_instance(3SCF)
SCF_Session_freeInfo(3SMARTCARD)
SCF_Session_getInfo(3SMARTCARD)
SCF_Session_getSession(3SMARTCARD)
SCF_Session_getTerminal(3SMARTCARD)
scf_simple_app_props_free(3SCF)
scf_simple_app_props_get(3SCF)
scf_simple_app_props_next(3SCF)
scf_simple_app_props_search(3SCF)
scf_simple_prop_next_astring(3SCF)
scf_simple_prop_next_boolean(3SCF)
scf_simple_prop_next_count(3SCF)
scf_simple_prop_next_integer(3SCF)
scf_simple_prop_next_opaque(3SCF)
scf_simple_prop_next_reset(3SCF)
scf_simple_prop_next_time(3SCF)
scf_simple_prop_next_ustring(3SCF)
scf_simple_prop_numvalues(3SCF)
scf_simple_walk_instances(3SCF)
scf_snaplevel_get_instance_name(3SCF)
scf_snaplevel_get_next_snaplevel(3SCF)
scf_snaplevel_get_parent(3SCF)
scf_snaplevel_get_scope_name(3SCF)
scf_snaplevel_get_service_name(3SCF)
scf_snapshot_get_base_snaplevel(3SCF)
SCF_Terminal_addEventListener(3SMARTCARD)
SCF_Terminal_close(3SMARTCARD)
SCF_Terminal_freeInfo(3SMARTCARD)
SCF_Terminal_getCard(3SMARTCARD)
SCF_Terminal_getInfo(3SMARTCARD)
SCF_Terminal_removeEventListener(3SMARTCARD)
SCF_Terminal_updateEventListener(3SMARTCARD)
SCF_Terminal_waitForCardAbsent(3SMARTCARD)
SCF_Terminal_waitForCardPresent(3SMARTCARD)
scf_transaction_destroy_children(3SCF)
scf_transaction_property_change(3SCF)
scf_transaction_property_change_type(3SCF)
scf_transaction_property_delete(3SCF)
scf_transaction_property_new(3SCF)
scf_transaction_reset_all(3SCF)
scf_value_get_as_string_typed(3SCF)
- create and manipulate instance handles and instances in the Service Configuration Facility
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_delete(scf_instance_t *inst);
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:
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).
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_snapshots(3SCF).
See smf(5) 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 allocates and initializes a new scf_instance_t bound to handle. The scf_instance_destroy() function destroys and frees inst.
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.
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_service_get_instance(), scf_service_add_instance(), and scf_instance_delete() functions return 0. Otherwise, they return -1.
The scf_instance_create() function will fail if:
The handle argument is NULL.
There is not enough memory to allocate an scf_instance_t.
The server does not have adequate resources for a new instance handle.
The scf_instance_handle() function will fail if:
The handle associated with inst has been destroyed.
The scf_instance_get_name(), scf_instance_get_parent(), and scf_instance_delete() functions will fail if:
The instance has been deleted.
The instance is not set.
The repository handle is not bound.
The connection to the repository was lost.
The scf_service_add_instance() function will fail if:
An instance named name already exists.
The server does not have the resources to complete the request.
The scf_service_add_instance() and scf_service_get_instance() functions will fail if:
The service is not set.
The service has been deleted.
No instance specified by name was found.
The name argument is not a valid instance name.
The service and instance are not derived from the same handle.
The connection to the repository was lost.
The scf_instance_get_parent() function will fail if:
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:
The user does not have sufficient privileges to create or delete an instance.
The repository backend is read-only.
The repository backend refused the modification.
See attributes(5) for descriptions of the following attributes:
|
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(5), smf(5)
Instance names are of the form:
[domain,]identifier
where domain is either a stock ticker symbol such as SUNW or a Java-style reversed domain name such as com.sun. Identifiers begin with a letter or underscore and contain only letters, digits, underscores, and dashes.