Skip Navigation Links | |
Exit Print View | |
man pages section 3: Extended Library Functions, Volume 4 Oracle Solaris 11.1 Information Library |
Extended Library Functions, Volume 4
gl_customize_completion(3TECLA)
scf_count_ranges_destroy(3SCF)
scf_decoration_get_bundle(3SCF)
scf_decoration_get_layer(3SCF)
scf_decoration_get_value(3SCF)
scf_decoration_layer_from_string(3SCF)
scf_decoration_layer_to_string(3SCF)
scf_entry_destroy_children(3SCF)
scf_instance_get_decoration(3SCF)
scf_instance_get_pg_composed(3SCF)
scf_instance_get_snapshot(3SCF)
scf_instance_is_complete(3SCF)
scf_iter_decoration_values(3SCF)
scf_iter_instance_decorations(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_next_decoration(3SCF)
scf_iter_property_decorations(3SCF)
scf_iter_property_values(3SCF)
scf_iter_service_decorations(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_property_get_decoration(3SCF)
scf_property_get_value_at_layer(3SCF)
scf_service_add_instance(3SCF)
scf_service_get_decoration(3SCF)
scf_service_get_instance(3SCF)
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_tmpl_error_source_fmri(3SCF)
scf_tmpl_prop_cardinality(3SCF)
scf_tmpl_prop_common_name(3SCF)
scf_tmpl_prop_description(3SCF)
scf_tmpl_prop_internal_seps(3SCF)
scf_tmpl_prop_visibility(3SCF)
scf_tmpl_value_common_name(3SCF)
scf_tmpl_value_count_range_choices(3SCF)
scf_tmpl_value_count_range_constraints(3SCF)
scf_tmpl_value_description(3SCF)
scf_tmpl_value_in_constraint(3SCF)
scf_tmpl_value_int_range_choices(3SCF)
scf_tmpl_value_int_range_constraints(3SCF)
scf_tmpl_value_name_choices(3SCF)
scf_tmpl_value_name_constraints(3SCF)
scf_tmpl_visibility_to_string(3SCF)
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)
scf_value_set_from_string(3SCF)
stmfCheckHostGroupInUse(3STMF)
stmfCheckTargetGroupInUse(3STMF)
stmfFreeViewResourceList(3STMF)
stmfGetHostGroupMembers(3STMF)
stmfGetLogicalUnitProperties(3STMF)
stmfGetProviderDataProt(3STMF)
stmfGetTargetGroupMembers(3STMF)
stmfGetTargetProperties(3STMF)
stmfGetViewLuNumberList(3STMF)
stmfGetViewResourceList(3STMF)
stmfRemoveFromHostGroup(3STMF)
stmfRemoveFromTargetGroup(3STMF)
stmfSetProviderDataProt(3STMF)
sysevent_bind_handle(3SYSEVENT)
sysevent_get_attr_list(3SYSEVENT)
sysevent_get_class_name(3SYSEVENT)
sysevent_get_pub_name(3SYSEVENT)
sysevent_get_subclass_name(3SYSEVENT)
sysevent_get_vendor_name(3SYSEVENT)
sysevent_post_event(3SYSEVENT)
sysevent_subscribe_event(3SYSEVENT)
sysevent_unbind_handle(3SYSEVENT)
sysevent_unsubscribe_event(3SYSEVENT)
volmgt_feature_enabled(3VOLMGT)
XTSOLgetClientAttributes(3XTSOL)
XTSOLgetPropAttributes(3XTSOL)
XTSOLgetWorkstationOwner(3XTSOL)
XTSOLsetWorkstationOwner(3XTSOL)
zs_pset_zone_get_pset(3ZONESTAT)
zs_pset_zone_get_zone(3ZONESTAT)
zs_pset_zone_property(3ZONESTAT)
zs_pset_zone_used_cpus(3ZONESTAT)
zs_pset_zone_used_pct(3ZONESTAT)
zs_pset_zone_used_time(3ZONESTAT)
zs_resource_property(3ZONESTAT)
zs_resource_total_time(3ZONESTAT)
zs_resource_total_uint64(3ZONESTAT)
zs_resource_used_pct(3ZONESTAT)
zs_resource_used_time(3ZONESTAT)
zs_resource_used_uint64(3ZONESTAT)
zs_resource_used_zone_pct(3ZONESTAT)
zs_resource_used_zone_time(3ZONESTAT)
zs_resource_used_zone_uint64(3ZONESTAT)
zs_zone_limit_uint64(3ZONESTAT)
zs_zone_limit_used_pct(3ZONESTAT)
zs_zone_limit_used_time(3ZONESTAT)
- template validation functions
cc [ flag… ] file… -lscf [ library… ] #include <libscf.h> int scf_tmpl_validate_fmri(scf_handle_t *h, const char *fmri, const char *snapshot, scf_tmpl_errors_t **errs, int flags);
void scf_tmpl_errors_destroy(scf_tmpl_errors_t *errs);
scf_tmpl_error_t *scf_tmpl_next_error(scf_tmpl_errors_t *errs, scf_tmpl_errors_t *err)
void scf_tmpl_reset_errors(scf_tmpl_errors_t *errs);
int scf_tmpl_strerror(scf_tmpl_error_t *err, char *s, size_t n, int flags);
int scf_tmpl_error_type(const scf_tmpl_error_t *err, scf_tmpl_error_type_t *type);
int scf_tmpl_error_source_fmri(const scf_tmpl_error_t *err, char *fmri);
int scf_tmpl_error_pg_tmpl(const scf_tmpl_error_t *err, char *name, char *type);
int scf_tmpl_error_pg(const scf_tmpl_error_t *err, char **name, char **type);
int scf_tmpl_error_prop_tmpl(const scf_tmpl_error_t *err, char **name, char **type);
int scf_tmpl_error_prop(const scf_tmpl_error_t *err, char **name, char **type,);
int scf_tmpl_error_value(const scf_tmpl_error_t *err, char**val);
The template validation functions offer a way to validate the configuration data of an service instance against the appropriate template data. The scf_tmpl_validate_fmri() function returns the full set of errors for the specified instance, and those errors can be printed or explored directly.
By default, the validation is performed on the composed data from the running snapshot of an instance. A different snapshot can be explicitly selected by specifying a valid snapshot name rather than NULL for the snapshot argument. If flags includes SCF_TMPL_VALIDATE_FLAG_CURRENT, the snapshot argument is ignored and the current configuration is used.
By default, these functions also explore template data defined by the service or instance itself, the service's restarter, and global template data. See smf_template(5) for more information about this composition.
An instance FMRI is required, and FMRIs that specify other entities (for example, services) are explicitly rejected.
The scf_tmpl_validate_fmri() function validates an instance FMRI against the template data in the repository. As described above, when the snapshot argument is NULL, the default running snapshot is used. If scf_tmpl_errors_t ** is non-null, the structure is allocated and returned to the caller for further perusal or printing of the errors.
The scf_tmpl_errors_destroy() function destroys and frees the scf_tmpl_errors_t and all of the scf_tmpl_error_t structures to which it refers.
The scf_tmpl_next_error() function takes a pointer to a scf_tmpl_errors_t structure previously returned by scf_tmpl_validate_fmri(). On the first call, it returns a pointer to the first scf_tmpl_error_t found during validation. On subsequent calls, the next error is returned. To resume processing from the first error, the caller can use scf_tmpl_reset_errors().
The contents of an scf_tmpl_error_t are determined by its type. Types added as additional validation checks are introduced. Based on the error type, a set of fields can be retrieved from the error.
reserved invalid type
required property group is missing
|
property group type is incorrect
|
required property is missing
|
property type is incorrect
|
number of values violates cardinality
|
constraint violated for value
|
value violated specified range
|
value type is different from property type
|
value is out of template defined range
|
value violates template defined constraints
|
The SCF_TERR_PROP_TYPE_MISMATCH, SCF_TERR_VALUE_OUT_OF_RANGE and SCF_TERR_INVALID_VALUE types are only set from calls to scf_tmpl_value_in_constraint(3SCF).
The scf_tmpl_error_type() function retrieves the error type.
The scf_tmpl_error_source_fmri() function retrieves a string with the FMRI of the source of the template that was violated. This string is freed by scf_tmpl_errors_destroy().
The scf_tmpl_error_pg_tmpl() function retrieves strings with the name and type of the property group template that was violated. If the property group name or type was implicitly wildcarded (see smf_template(5)) in the template, this function returns a string containing SCF_TMPL_WILDCARD (“*”). These strings are freed by scf_tmpl_errors_destroy().
The scf_tmpl_error_pg() function retrieves strings with the name and type of the property group that was violated. These strings are freed by scf_tmpl_errors_destroy().
The scf_tmpl_error_prop_tmpl() function retrieves strings with the name and type of the property template that was violated. If the property type was implicitly wildcarded (see smf_template(5)) in the template, this function returns a string containing SCF_TMPL_WILDCARD (“*”). These strings are freed by scf_tmpl_errors_destroy().
The scf_tmpl_error_prop() function retrieves strings with the name and type of the property that was violated. These strings are freed by scf_tmpl_errors_destroy().
The scf_tmpl_error_value() function retrieves a string with the value containing the error in val. This string are freed by scf_tmpl_errors_destroy().
The scf_tmpl_strerror() function takes an scf_tmpl_error_t previously returned by scf_tmpl_next_error() and returns in s. If flags includes SCF_TMPL_STRERROR_HUMAN, s is a human-readable, localized description of the error. Otherwise, s is a one-line string suitable for logfile output.
The scf_tmpl_validate_fmri() function returns 0 on successful completion with no validation failures. It returns 1 if there are validation failures. It returns -1 if there is an error validating the instance.
The scf_tmpl_next_error() function returns a pointer to the next scf_tmpl_error_t. When none remain, it returns NULL.
The scf_tmpl_error_type(), scf_tmpl_error_source_fmri(), scf_tmpl_error_pg_tmpl(), scf_tmpl_error_pg(), scf_tmpl_error_prop_tmpl(), scf_tmpl_error_prop(), and scf_tmpl_error_value() functions return 0 on success and -1 on failure.
The scf_tmpl_strerror() function returns the number of bytes that would have been written to s if n had been sufficiently large.
The scf_tmpl_validate_fmri() function will fail if:
The storage mechanism that the repository server (svc.configd(1M)) chose for the operation denied access.
The connection to the repository was lost.
The instance or one of its template property group have been deleted.
The handle passed in has been destroyed.
An internal error occurred.
The handle argument, FMRI argument, or snapshot name is invalid
There is not enough memory to validate the instance.
The server does not have adequate resources to complete the request.
The handle is not currently bound.
An object matching FMRI does not exist in the repository, or the snapshot does not exist.
The instance or template could not be read due to access restrictions.
The template data is invalid.
The scf_tmpl_strerror(), scf_tmpl_error_type(), scf_tmpl_error_source_fmri(), scf_tmpl_error_pg_tmpl(), scf_tmpl_error_pg(), scf_tmpl_error_prop_tmpl(), scf_tmpl_error_prop(), and scf_tmpl_error_value() functions will fail if:
The scf_tmpl_errors_t argument is invalid.
The scf_tmpl_error_type(), scf_tmpl_error_source_fmri(), scf_tmpl_error_pg_tmpl(), scf_tmpl_error_pg(), scf_tmpl_error_prop_tmpl(), scf_tmpl_error_prop(), and scf_tmpl_error_value() functions will fail if:
The data requested is not available for the scf_tmpl_error_t argument supplied.
See attributes(5) for descriptions of the following attributes:
|
svc.configd(1M), scf_tmpl_value_in_constraint(3SCF), attributes(5), smf_template(5)