POOL_DYNAMIC_LOCATION(3POOL)
Pool Configuration Manipulation Library Functions
NAME
pool_dynamic_location, pool_static_location, pool_version,
pool_get_status, pool_set_status, pool_resource_type_list - resource
pool framework functions
SYNOPSIS
cc [
flag... ]
file...
-lpool [
library... ]
#include <pool.h>
const char *pool_dynamic_location(
void);
const char *pool_static_location(
void);
uint_t pool_version(
uint_t ver);
int pool_get_status(
int *state);
int pool_set_status(
int state);
int pool_resource_type_list(
const char **reslist,
uint_t *numres);
DESCRIPTION
The
pool_dynamic_location() function returns the location used by the
pools framework to store the dynamic configuration.
The
pool_static_location() function returns the location used by the
pools framework to store the default configuration used for pools
framework instantiation.
The
pool_version() function can be used to inquire about the version
number of the library by specifying
POOL_VER_NONE. The current (most
capable) version is
POOL_VER_CURRENT. The user can set the version
used by the library by specifying the required version number. If
this is not possible, the version returned will be
POOL_VER_NONE.
The
pool_get_status() function retrieves the current state of the
pools facility. If state is non-null, then on successful completion
the state of the pools facility is stored in the location pointed to
by state.
The
pool_set_status() function modifies the current state of the
pools facility. On successful completion the state of the pools
facility is changed to match the value supplied in state. Only two
values are valid for state,
POOL_DISABLED and
POOL_ENABLED, both of
which are defined in <
pool.h>.
The
pool_resource_type_list() function enumerates the resource types
supported by the pools framework on this platform. If
numres and
reslist are both non-null,
reslist points to a buffer where a list of
resource types in the system is to be stored, and
numres points to
the maximum number of resource types the buffer can hold. On
successful completion, the list of resource types up to the maximum
buffer size is stored in the buffer pointed to by
reslist.
RETURN VALUES
The
pool_dynamic_location() function returns the location used by the
pools framework to store the dynamic configuration.
The
pool_static_location() function returns the location used by the
pools framework to store the default configuration used for pools
framework instantiation.
The
pool_version() function returns the version number of the library
or
POOL_VER_NONE.
Upon successful completion,
pool_get_status(),
pool_set_status(), and
pool_resource_type_list() all return 0. Otherwise, -1 is returned and
pool_error(3POOL) returns the pool specific error.
ERRORS
No errors are defined for
pool_dynamic_location(),
pool_static_location(), and
pool_version().
The
pool_get_status() function will fail if:
POE_SYSTEM A system error occurred when accessing the kernel pool
state.
The
pool_set_status() function will fail if:
POE_SYSTEM A system error occurred when modifying the kernel pool
state.
The
pool_resource_type_list() function will fail if:
POE_BADPARAM The
numres parameter was
NULL.
EXAMPLES
Example 1: Get the static location used by the pools framework.
#include <sys/types.h>
#include <unistd.h>
#include <pool.h>
...
const char *location = pool_dynamic_location();
...
(void) fprintf(stderr, "pool dynamic location is %s\n",
location);
Example 2: Enable the pools facility.
#include <stdio.h>
#include <pool.h>
...
if (pool_set_status(POOL_ENABLED) != 0) {
(void) fprintf(stderr, "pools could not be enabled %s\n",
pool_strerror(pool_error()));
exit(2);
}
...
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | Unstable |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
SEE ALSO
libpool(3LIB),
pool_error(3POOL),
attributes(7) June 18, 2021 POOL_DYNAMIC_LOCATION(3POOL)