Pool Configuration Manipulation Library Functions
pool_resource_create(3POOL)
NAME
pool_resource_create, pool_resource_destroy,
pool_resource_info, pool_query_resource_components,
pool_resource_transfer, pool_resource_xtransfer - resource
pool resource manipulation functionsSYNOPSIS
cc [ flag... ] file... -lpool [ library... ]
#include
pool_resource_t *pool_resource_create(pool_conf_t *conf,
const char *type, const char *name);int pool_resource_destroy(pool_conf_t *conf,
pool_resource_t *resource);
const char *pool_resource_info(pool_conf_t *conf
pool_resource_t *resource, int flags);
pool_component_t **pool_query_resource_components(
pool_conf_t *conf, pool_resource_t *resource,
uint_t *nelem, pool_value_t **props);
int pool_resource_transfer(pool_conf_t *conf,
pool_resource_t *source, pool_resource_t *target,
uint64_t size);
int pool_resource_xtransfer(pool_conf_t *conf,
pool_resource_t *source, pool_resource_t *target,
pool_component_t **components);
DESCRIPTION
The pool_resource_create() function creates and returns a
new resource of the given name and type in the provided con-
figuration. If there is already a resource of the given name, the operation will fail.The pool_resource_destroy() function removes the specified
resource from its configuration file.The pool_resource_info() function returns a string describ-
ing the given resource. The string is allocated with malloc(3C). The caller is reponsible for freeing theSunOS 5.11 Last change: 23 Sep 2003 1
Pool Configuration Manipulation Library Functionspool_resource_create(3POOL)
returned string. If the flags argument is non-zero, the
string returned also describes the components (if any) con-
tained in the resource.The pool_query_resource_components() function returns a
null-terminated array of the components (if any) that
comprise the given resource.The pool_resource_transfer() function transfers size basic
units from the source resource to the target. Both resources must be of the same type for the operation to succeed. Transferring component resources, such as processors, isalways performed as series of pool_resource_xtransfer()
operations, since discrete resources must be identified for transfer.The pool_resource_xtransfer() function transfers the
specific components from the source resource to the target. Both resources must be of the same type, and of a type that contains components (such as processor sets). The componentsargument is a null-terminated list of pool_component_t.
The conf argument for each function refers to the target configuration to which the operation applies.RETURN VALUES
Upon successful completion, pool_resource_create() returns a
new pool_resource_t with default properties initialized.
Otherwise, NULL is returned and pool_error(3POOL) returns
the pool-specific error value.
Upon successful completion, pool_resource_destroy() returns
0. Otherwise, -1 is returned and pool_error() returns the
pool-specific error value.
Upon successful completion, pool_resource_info() returns a
string describing the given resource (and optionally itscomponents). Otherwise, NULL is returned and pool_error()
returns the pool-specific error value.
Upon successful completion,pool_query_resource_components() returns a null-terminated
array of pool_component_t * that match the provided null-
terminated property list and are contained in the givenSunOS 5.11 Last change: 23 Sep 2003 2
Pool Configuration Manipulation Library Functionspool_resource_create(3POOL)
resource. Otherwise, NULL is returned and pool_error()
returns the pool-specific error value.
Upon successful completion, pool_resource_transfer() and
pool_resource_xtransfer() return 0. Otherwise -1 is returned
and pool_error() returns the pool-specific error value.
ERRORS
The pool_resource_create() function will fail if:
POE_BADPARAM The supplied configuration's status is
not POF_VALID or name is in use for this
resource type.POE_INVALID_CONF The resource element could not be
created because the configuration would be invalid.POE_PUTPROP One of the supplied properties could not
be set.POE_SYSTEM A system error has occurred. Check the
system error code for more details.The pool_resource_destroy() function will fail if:
POE_BADPARAM The supplied configuration's status is not
POF_VALID.
The pool_resource_info() function will fail if:
POE_BADPARAM The supplied configuration's status is
not POF_VALID or the flags paramter is
neither 0 nor 1.POE_INVALID_CONF The configuration is invalid.
POE_SYSTEM A system error has occurred. Check the
system error code for more details.SunOS 5.11 Last change: 23 Sep 2003 3
Pool Configuration Manipulation Library Functionspool_resource_create(3POOL)
The pool_query_resource_components() function will fail if:
POE_BADPARAM The supplied configuration's status is
not POF_VALID.
POE_INVALID_CONF The configuration is invalid.
POE_SYSTEM A system error has occurred. Check the
system error code for more details.The pool_resource_transfer() function will fail if:
POE_BADPARAM The supplied configuration's status is not
POF_VALID, the two resources are not of the
same type, or the transfer would cause either of the resources to exceed their min and max properties.POE_SYSTEM A system error has occurred. Check the sys-
tem error code for more details.The pool_resource_xtransfer() function will fail if:
POE_BADPARAM The supplied configuration's status is
not POF_VALID, the two resources are not
of the same type, or the supplied resources do not belong to the source.POE_INVALID_CONF The transfer operation failed and the
configuration may be invalid.POE_SYSTEM A system error has occurred. Check the
system error code for more details.EXAMPLES
Example 1 Create a new resource of type pset named foo.#include
#include
...SunOS 5.11 Last change: 23 Sep 2003 4
Pool Configuration Manipulation Library Functionspool_resource_create(3POOL)
pool_conf_t *conf;
pool_resource_t *resource;
...if ((resource = pool_resource_create(conf, "pset",
"foo")) == NULL) { (void) fprintf(stderr, "Cannot create resourceB{}n"); ... }ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| CSI | Enabled ||_____________________________|_____________________________|
| Interface Stability | Uncommitted ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
libpool(3LIB), pool_error(3POOL), attributes(5)
SunOS 5.11 Last change: 23 Sep 2003 5
Pool Configuration Manipulation Library Functionspool_resource_create(3POOL)
SunOS 5.11 Last change: 23 Sep 2003 6