xref: /illumos-gate/usr/src/man/man3scf/scf_error.3scf (revision dd72704bd9e794056c558153663c739e2012d721)
te
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]
SCF_ERROR 3SCF "February 21, 2023"
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)