Man Linux: Main Page and Category List

NAME

       dpm_getspacemd - get space metadata

SYNOPSIS

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

       int  dpm_getspacemd  (int  nbtokens,  char  **s_tokens, int *nbreplies,
       struct dpm_space_metadata **spacemd)

DESCRIPTION

       dpm_getspacemd gets space metadata.

       The input arguments are:

       nbtokens
              specifies the number of tokens in the request.

       s_tokens
              specifies an array of tokens returned by  previous  reservespace
              requests.

       The output arguments are:

       nbreplies
              will  be  set  to  the  number  of replies in the array of space
              metadata.

       spacemd
              will be set to the address of  an  array  of  dpm_space_metadata
              structures  allocated  by  the  API.  The  client application is
              responsible for freeing the array when not needed anymore.

       struct dpm_space_metadata {
            char      s_type;
            char      s_token[CA_MAXDPMTOKENLEN+1];
            uid_t          s_uid;
            gid_t          s_gid;
            char      ret_policy;
            char      ac_latency;
            char      u_token[256];
            char      client_dn[256];
            u_signed64     t_space;  /* Total space */
            u_signed64     g_space;  /* Guaranteed space */
            signed64  u_space;  /* Unused space */
            char      poolname[CA_MAXPOOLNAMELEN+1];
            time_t         a_lifetime;    /* Lifetime assigned */
            time_t         r_lifetime;    /* Remaining lifetime */
            int       nbgids;
            gid_t          *gids;         /* restrict the space to given group(s) */
       };

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       s_tokens , nbreplies or spacemd is a NULL pointer.

       ENOMEM       Memory could not be allocated for storing the reply.

       EINVAL       nbtokens  is not strictly positive or the specified tokens
                    are invalid/unknown.

       SENOSHOST    Host unknown.

       SEINTERNAL   Database error.

       SECOMERR     Communication error.