SMF_ENABLE_INSTANCE(3SCF) | Service Configuration Facility Library Functions | SMF_ENABLE_INSTANCE(3SCF) |
cc [ flag... ] file... -lscf [ library... ] #include <libscf.h> int smf_enable_instance(const char *instance, int flags);
int smf_disable_instance(const char *instance, int flags);
int smf_disable_instance_with_comment(const char *instance, int flags, const char *comment);
int smf_refresh_instance(const char *instance);
int smf_restart_instance(const char *instance);
int smf_maintain_instance(const char *instance, int flags);
int smf_degrade_instance(const char *instance, int flags);
int smf_restore_instance(const char *instance);
char *smf_get_state(const char *instance);
The smf_enable_instance() function enables the service instance specified by instance FMRI. If flags is SMF_TEMPORARY, the enabling of the service instance is a temporary change, lasting only for the lifetime of the current system instance. The flags argument is set to 0 if no flags are to be use.
The smf_disable_instance() function places the service instance specified by instance FMRI in the disabled state and triggers the stop method (see svc.startd(8)). If flags is SMF_TEMPORARY, the disabling of the service instance is a temporary change, lasting only for the lifetime of the current system instance. The flags argument is set to 0 if no flags are to be use.
The smf_disable_instance_with_comment() function behaves the same as smf_disable_instance(), except the given free-form comment is recorded under the comment property, as reported by svcs(1). The comment may be up to SCF_COMMENT_MAX_LENGTH characters including the NUL terminator.
The smf_refresh_instance() function causes the service instance specified by instance FMRI to re-read its configuration information.
The smf_restart_instance() function restarts the service instance specified by instance FMRI.
The smf_maintain_instance() function moves the service instance specified by instance into the maintenance state. If flags is SMF_IMMEDIATE, the instance is moved into maintenance state immediately, killing any running methods. If flags is SMF_TEMPORARY, the change to maintenance state is a temporary change, lasting only for the lifetime of the current system instance. The flags argument is set to 0 if no flags are to be use.
The smf_degrade_instance() function moves an online service instance into the degraded state. This function operates only on instances in the online state. The flags argument is set to 0 if no flags are to be use. The only available flag is SMF_IMMEDIATE, which causes the instance to be moved into the degraded state immediately.
The smf_restore_instance() function brings an instance currently in the maintenance to the uninitialized state, so that it can be brought back online. For a service in the degraded state, smf_restore_instance() brings the specified instance back to the online state.
The smf_get_state() function returns a pointer to a string containing the name of the instance's current state. The user is responsible for freeing this string. Possible state strings are defined as the following:
#define SCF_STATE_STRING_UNINIT ((const char *)"uninitialized") #define SCF_STATE_STRING_MAINT ((const char *)"maintenance") #define SCF_STATE_STRING_OFFLINE ((const char *)"offline") #define SCF_STATE_STRING_DISABLED ((const char *)"disabled") #define SCF_STATE_STRING_ONLINE ((const char *)"online") #define SCF_STATE_STRING_DEGRADED ((const char *)"degraded")
Upon successful completion, smf_get_state returns an allocated string. Otherwise, it returns NULL.
SCF_ERROR_NO_MEMORY
SCF_ERROR_INVALID_ARGUMENT
SCF_ERROR_NOT_FOUND
SCF_ERROR_CONNECTION_BROKEN
SCF_ERROR_NO_RESOURCES
The smf_maintain_instance(), smf_refresh_instance(), smf_restart_instance(), smf_degrade_instance(), and smf_restore_instance() functions will fail if:
SCF_ERROR_PERMISSION_DENIED
SCF_ERROR_BACKEND_ACCESS
SCF_ERROR_BACKEND_READONLY
The smf_restore_instance() and smf_degrade_instance() functions will fail if:
SCF_ERROR_CONSTRAINT_VIOLATED
The scf_error(3SCF) function can be used to retrieve the error value.
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | Safe |
May 15, 2020 | OmniOS |