dpm_getpools(3) get list of pools

SYNOPSIS

#include <sys/types.h>
#include "dpm_api.h"

int dpm_getpools (int *nbpools, struct dpm_pool **dpm_pools)

DESCRIPTION

dpm_getpools gets list of pools.

The output arguments are:

nbpools
will be set to the number of replies in the array of pools.
dpm_pools
will be set to the address of an array of dpm_pool structures allocated by the API. The client application is responsible for freeing the array when not needed anymore. This is also necessary for the gids entry of each dpm_pool.

struct dpm_pool {
        char            poolname[CA_MAXPOOLNAMELEN+1];
        u_signed64      defsize;
        int             gc_start_thresh;
        int             gc_stop_thresh;
        int             def_lifetime;
        int             defpintime;
        int             max_lifetime;
        int             maxpintime;
        char            fss_policy[CA_MAXPOLICYLEN+1];
        char            gc_policy[CA_MAXPOLICYLEN+1];
        char            mig_policy[CA_MAXPOLICYLEN+1];
        char            rs_policy[CA_MAXPOLICYLEN+1];
        int             nbgids
        gid_t           *gids;          /* restrict the pool to given group(s) */
        char            ret_policy;     /* retention policy: 'R', 'O' or 'C' */
        char            s_type;         /* space type: 'V', 'D' or 'P' */
        u_signed64      capacity;
        u_signed64      free;
        struct dpm_fs   *elemp;
        int             nbelem;
        int             next_elem;      /* next pool element to be used */
};

RETURN VALUE

This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, serrno is set appropriately.

ERRORS

EFAULT
nbpools or dpm_pools is a NULL pointer.
ENOMEM
Memory could not be allocated for storing the reply.
SENOSHOST
Host unknown.
SECOMERR
Communication error.