SCF_ERROR(3SCF) Service Configuration Facility Library Functions
scf_error, scf_strerror - error interface to Service Configuration
Facility
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:
SCF_ERROR_BACKEND_ACCESS
The storage mechanism that the repository server (svc.configd(8))
chose for the operation denied access.
SCF_ERROR_BACKEND_READONLY
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(8)
SCF_ERROR_CONNECTION_BROKEN
The connection to repository is broken.
SCF_ERROR_CONSTRAINT_VIOLATED
A required constraint was not met.
SCF_ERROR_DELETED
Object was deleted.
SCF_ERROR_EXISTS
The object already exists.
SCF_ERROR_HANDLE_DESTROYED
An object was bound to a destroyed handle.
SCF_ERROR_HANDLE_MISMATCH
Objects from different SCF handles were used.
SCF_ERROR_IN_USE
The object is currently in use.
SCF_ERROR_INTERNAL
An internal error occurred.
SCF_ERROR_INVALID_ARGUMENT
An argument is invalid.
SCF_ERROR_NO_MEMORY
No memory is available.
SCF_ERROR_NO_RESOURCES
The repository server is out of resources.
SCF_ERROR_NO_SERVER
The repository server is unavailable.
SCF_ERROR_NONE
No error occurred.
SCF_ERROR_NOT_BOUND
The handle is not bound.
SCF_ERROR_NOT_FOUND
Nothing of that name was found.
SCF_ERROR_NOT_SET
Cannot use unset value.
SCF_ERROR_PERMISSION_DENIED
The user lacks sufficient authority to conduct the requested
operation. See smf_security(7).
SCF_ERROR_TYPE_MISMATCH
The type does not match value.
SCF_ERROR_VERSION_MISMATCH
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(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
libscf(3LIB), attributes(7), svc.configd(8)
February 21, 2023 SCF_ERROR(3SCF)
NAME
scf_error, scf_strerror - error interface to Service Configuration
Facility
SYNOPSIS
cc [ flag... ] file... -lscf [ library... ]
#include <libscf.h>
scf_error_t scf_error(void);
const char *scf_strerror(scf_error_t error);
DESCRIPTION
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:
SCF_ERROR_BACKEND_ACCESS
The storage mechanism that the repository server (svc.configd(8))
chose for the operation denied access.
SCF_ERROR_BACKEND_READONLY
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(8)
SCF_ERROR_CONNECTION_BROKEN
The connection to repository is broken.
SCF_ERROR_CONSTRAINT_VIOLATED
A required constraint was not met.
SCF_ERROR_DELETED
Object was deleted.
SCF_ERROR_EXISTS
The object already exists.
SCF_ERROR_HANDLE_DESTROYED
An object was bound to a destroyed handle.
SCF_ERROR_HANDLE_MISMATCH
Objects from different SCF handles were used.
SCF_ERROR_IN_USE
The object is currently in use.
SCF_ERROR_INTERNAL
An internal error occurred.
SCF_ERROR_INVALID_ARGUMENT
An argument is invalid.
SCF_ERROR_NO_MEMORY
No memory is available.
SCF_ERROR_NO_RESOURCES
The repository server is out of resources.
SCF_ERROR_NO_SERVER
The repository server is unavailable.
SCF_ERROR_NONE
No error occurred.
SCF_ERROR_NOT_BOUND
The handle is not bound.
SCF_ERROR_NOT_FOUND
Nothing of that name was found.
SCF_ERROR_NOT_SET
Cannot use unset value.
SCF_ERROR_PERMISSION_DENIED
The user lacks sufficient authority to conduct the requested
operation. See smf_security(7).
SCF_ERROR_TYPE_MISMATCH
The type does not match value.
SCF_ERROR_VERSION_MISMATCH
The SCF version is incompatible.
RETURN VALUES
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.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
libscf(3LIB), attributes(7), svc.configd(8)
February 21, 2023 SCF_ERROR(3SCF)