scf_entry_creatService Configuration Facility Library Fuscf_entry_create(3SCF)NAME
scf_entry_create, scf_entry_handle, scf_entry_destroy,
scf_entry_destroy_children, scf_entry_reset, scf_entry_add_value - cre‐
ate and manipulate 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 han‐
dle. 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 prop‐
erty 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 prop‐
erty. 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 val‐
ues will have the type of the entry.
The scf_entry_reset() function resets a transaction entry, disassociat‐
ing it from any transaction it is a part of (invalidating the transac‐
tion in the process), and disassociating any values that were added to
it.
The scf_entry_destroy_children() function destroys all values associ‐
ated with the transaction entry. The entry itself is not destroyed.
RETURN VALUES
Upon successful completion, scf_entry_create() returns a new scf_trans‐
action_entry_t. Otherwise, it returns NULL.
Upon successful completion, scf_entry_handle() returns the handle asso‐
ciated 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_IN_USE
The value has been added to another entry.
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 trans‐
action 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 ALSOlibscf(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_transac‐
tion_reset(3SCF), attributes(5)SunOS 5.10 16 Jan 2006 scf_entry_create(3SCF)