Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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(1M)) 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(1M)
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(5).
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(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | MT-Safe |
svc.configd(1M), libscf(3LIB), attributes(5), svc.configd(1M)