pool_value_alloPoolOConfiguration Manipulation Library pool_value_alloc(3POOL)NAME
pool_value_alloc, pool_value_free, pool_value_get_bool,
pool_value_get_double, pool_value_get_int64, pool_value_get_name,
pool_value_get_string, pool_value_get_type, pool_value_get_uint64,
pool_value_set_bool, pool_value_set_double, pool_value_set_int64,
pool_value_set_name, pool_value_set_string, pool_value_set_uint64 -
resource pool property value manipulation functions
SYNOPSIS
cc [ flag... ] file... -lpool [ library... ]
#include <pool.h>
pool_value_t *pool_value_alloc(void);
void pool_value_free(pool_value_t *value);
pool_value_class_t pool_value_get_type(
const pool_value_t *value);
int pool_value_get_bool(const pool_value_t *value,
uchar_t *bool);
int pool_value_get_double(const pool_value_t *value,
double *d);
int pool_value_get_int64(const pool_value_t *value,
int64_t *i64);
int pool_value_get_string(const pool_value_t *value,
const char **strp);
int pool_value_get_uint64(const pool_value_t *value,
uint64_t *ui64);
void pool_value_set_bool(const pool_value_t *value,
uchar_t bool);
void pool_value_set_double(const pool_value_t *value,
double d);
void pool_value_set_int64(const pool_value_t *value,
int64_t i64);
int pool_value_set_string(const pool_value_t *value,
const char *strp);
void pool_value_set_uint64(const pool_value_t *value,
uint64_t ui64);
const char *pool_value_get_name(const pool_value_t *value);
int pool_value_set_name(const pool_value_t *value,
const char *name);
DESCRIPTION
A pool_value_t is an opaque type representing the typed value portion
of a pool property. For a list of the types supported by a
pool_value_t, see pool_get_property(3POOL).
The pool_value_alloc() function allocates and returns an opaque con‐
tainer for a pool property value. The pool_value_free() function must
be called explicitly for allocated property values.
The pool_value_get_bool(), pool_value_get_double(),
pool_value_get_int64(), pool_value_get_string(), and
pool_value_get_uint64() functions retrieve the value contained in the
pool_value_t pointed to by value to the location pointed to by the sec‐
ond argument. If the type of the value does not match that expected by
the function, an error value is returned. The string retrieved by
pool_value_get_string() is freed by the library when the value is over‐
written or pool_value_free() is called on the pool property value.
The pool_value_get_type() function returns the type of the data con‐
tained by a pool_value_t. If the value is unused then a type of
POC_INVAL is returned.
The pool_value_set_bool(), pool_value_set_double(),
pool_value_set_int64(), pool_value_set_string(), and
pool_value_set_uint64() functions set the value and type of the prop‐
erty value to the provided values. The pool_value_set_string() function
copies the string passed in and returns -1 if the memory allocation
fails.
Property values can optionally have names. These names are used to
describe properties as name=value pairs in the various query functions
(see pool_query_resources(3POOL)). A copy of the string passed to
pool_value_set_name() is made by the library, and the value returned by
pool_value_get_name() is freed when the pool_value_t is deallocated or
overwritten.
RETURN VALUES
Upon successful completion, pool_value_alloc() returns a pool property
value with type initialized to PVC_INVAL. Otherwise, NULL is returned
and pool_error() returns the pool-specific error value.
Upon successful completion, pool_value_get_type() returns the type con‐
tained in the property value passed in as an argument. Otherwise,
POC_INVAL is returned and pool_error() returns the pool-specific error
value.
Upon successful completion, pool_value_get_bool(), pool_value_get_dou‐
ble(), pool_value_get_int64(), pool_value_get_string(), and
pool_value_get_uint64() return 0. Otherwise -1 is returned and
pool_error(3POOL) returns the pool-specific error value.
Upon successful completion, pool_value_set_string() and
pool_value_set_name() return 0. If the memory allocation failed, -1 is
returned and pool_error() returns the pool-specific error value.
ERRORS
The pool_value_alloc() function will fail if:
POE_SYSTEM A system error has occurred. Check the system error code
for more details.
The pool_value_get_bool(), pool_value_get_double(),
pool_value_get_int64(), pool_value_get_string(), and
pool_value_get_uint64() functions will fail if:
POE_BADPARAM The supplied value does not match the type of the
requested operation.
The pool_value_set_string() function will fail if:
POE_SYSTEM A system error has occurred. Check the system error code
for more details.
The pool_value_set_name() function will fail if:
POE_SYSTEM A system error has occurred. Check the system error code
for more details.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│CSI │Enabled │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Uncommitted │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOlibpool(3LIB), pool_error(3POOL), attributes(5)SunOS 5.11 23 Sep 2003 pool_value_alloc(3POOL)