POOL_DYNAMIC_LOCATION(3POOL) Pool Configuration Manipulation Library Functions POOL_DYNAMIC_LOCATION(3POOL)

pool_dynamic_location, pool_static_location, pool_version, pool_get_status, pool_set_status, pool_resource_type_list - resource pool framework functions

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);

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.

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.

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.

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);
   }
...

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
CSI Enabled
Interface Stability Unstable
MT-Level Safe

libpool(3LIB), pool_error(3POOL), attributes(7)
June 18, 2021 OmniOS