int dpm_getpools (int *nbpools, struct dpm_pool **dpm_pools)
The output arguments are:
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 */
};