scf_entry_create(3SCF) Service Configuration Facility Library Functions scf_entry_create(3SCF)
NAME
scf_entry_create, scf_entry_handle, scf_entry_destroy, scf_entry_destroy_children, scf_entry_reset, scf_entry_add_value - create and manip-
ulate transaction in the Service Configuration Facility
SYNOPSIS
cc [ flag... ] file... -lscf [ library... ]
#include <libscf.h>
scf_transaction_entry_t *scf_entry_create(scf_handle_t *handle);
scf_handle_t *scf_entry_handle(scf_transaction_entry_t *entry);
void scf_entry_destroy(scf_transaction_entry_t *entry);
void scf_entry_destroy_children(scf_transaction_entry_t *entry);
void scf_entry_reset(scf_transaction_entry_t *entry);
int scf_entry_add_value(scf_transaction_entry_t *entry, scf_value_t *value);
DESCRIPTION
The scf_entry_create() function allocates a new transaction entry handle. The scf_entry_destroy() function destroys the transaction entry
handle.
The scf_entry_handle() function retrieves the handle associated with entry.
A transaction entry represents a single action on a property in a property group. If an entry is added to a transaction using scf_transac-
tion_property_new(3SCF), scf_transaction_property_change(3SCF), or scf_transaction_property_change_type(3SCF), scf_entry_add_value() can be
called zero or more times to set up the set of values for that property. Each value must be set and of a compatible type to the type asso-
ciated with the entry. When later retrieved from the property, the values will have the type of the entry.
The scf_entry_reset() function resets a transaction entry, disassociating it from any transaction it is a part of (invalidating the trans-
action in the process), and disassociating any values that were added to it.
The scf_entry_destroy_children() function destroys all values associated with the transaction entry. The entry itself is not destroyed.
RETURN VALUES
Upon successful completion, scf_entry_create() returns a new scf_transaction_entry_t. Otherwise, it returns NULL.
Upon successful completion, scf_entry_handle() returns the handle associated with the transaction entry. Otherwise, it returns NULL.
Upon successful completion, scf_entry_add_value() returns 0. Otherwise, it returns -1.
ERRORS
The scf_entry_create() function will fail if:
SCF_ERROR_INVALID_ARGUMENT
The handle argument is NULL.
SCF_ERROR_NO_MEMORY
There is not enough memory to allocate an scf_transaction_entry_t.
The scf_entry_handle() function will fail if:
SCF_ERROR_HANDLE_DESTROYED
The handle associated with entry has been destroyed.
The scf_entry_add_value() function will fail if:
SCF_ERROR_NOT_SET
The transaction entry is not associated with a transaction.
SCF_ERROR_INVALID_ARGUMENT
The value argument is not set, or the entry was added to the transaction using scf_transaction_property_delete(3SCF).
SCF_ERROR_HANDLE_MISMATCH
The value and entry arguments are not derived from the same handle.
SCF_ERROR_TYPE_MISMATCH
The type of the value argument does not match the type that was set using scf_transaction_property_new(), scf_transaction_prop-
erty_change(), or scf_transaction_property_change_type().
The scf_error(3SCF) function can be used to retrieve the error value.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |Safe |
+-----------------------------+-----------------------------+
SEE ALSO
libscf(3LIB), scf_error(3SCF), scf_transaction_property_change(3SCF), scf_transaction_property_change_type(3SCF), scf_transaction_prop-
erty_delete(3SCF), scf_transaction_property_new(3SCF), scf_transaction_reset(3SCF), attributes(5)
SunOS 5.10 9 Sep 2004 scf_entry_create(3SCF)