cc [ flag… ] file… –lscf [ library… ] #include <libscf.h> scf_error_t scf_error(void);
const char *scf_strerror(scf_error_t error);
The scf_error() function returns the current libscf(3LIB) error value for the current thread. If the immediately previous call to a libscf function failed, the error value will reflect the reason for that failure.
The scf_strerror() function takes an error code previously returned by scf_error() and returns a human-readable, localized description of the error.
The error values are as follows:
The storage mechanism that the repository server (svc.configd(1M)) chose for the operation denied access.
The storage mechanism that the repository server (svc.configd) chose for the operation is read-only. For the local filesystem storage mechanism (currently /etc/svc/repository.db), this usually occurs because the filesystem that contains it is mounted read-only. See mount(1M)
The connection to repository is broken.
A required constraint was not met.
Object was deleted.
The object already exists.
An object was bound to a destroyed handle.
Objects from different SCF handles were used.
The object is currently in use.
An internal error occurred.
An argument is invalid.
No memory is available.
The repository server is out of resources.
The repository server is unavailable.
No error occurred.
The handle is not bound.
Nothing of that name was found.
Cannot use unset value.
The user lacks sufficient authority to conduct the requested operation. See smf_security(5).
The type does not match value.
The SCF version is incompatible.
The scf_error() function returns SCF_ERROR_NONE if there have been no calls from libscf functions from the current thread. The return value is undefined if the immediately previous call to a libscf function did not fail.
See attributes(5) for descriptions of the following attributes: