Provided by: libdpm-dev_1.8.10-1build3_amd64 bug

NAME

       dpns_listreplicax - list replica entries for a given pool/server/filesystem

SYNOPSIS

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

       struct dpns_filereplica *dpns_listreplicax (const char *poolname, const char *server, const char *fs, int
       flags, dpns_list *listp)

DESCRIPTION

       dpns_listreplicax  lists  replica  entries  for  a  given pool/server/filesystem.  This routine returns a
       pointer to a structure containing the current replica entry.

       struct dpns_filereplica {
            u_signed64     fileid;
            u_signed64     nbaccesses;
            time_t         atime;         /* last access to replica */
            time_t         ptime;         /* replica pin time */
            char      status;
            char      f_type;        /* 'V' for Volatile, 'P' for Permanent */
            char      poolname[CA_MAXPOOLNAMELEN+1];
            char      host[CA_MAXHOSTNAMELEN+1];
            char      fs[80];
            char      sfn[CA_MAXSFNLEN+1];
       };

       poolname
              specifies the disk pool (only meaningful for the DPM).

       server specifies the Storage Element or disk server hostname.

       fs     specifies the file system (only meaningful for the DPM).

       flags  may be one of the following constant:

              CNS_LIST_BEGIN
                     the first call must have this flag set to allocate buffers and initialize pointers.

              CNS_LIST_CONTINUE
                     all the following calls must have this flag set.

              CNS_LIST_END
                     final call to terminate the list and free resources.

RETURN VALUE

       This routine returns a pointer to a structure containing the current replica entry if the  operation  was
       successful  or  NULL  if  all  entries have been returned or if the operation failed. In the latter case,
       serrno is set appropriately.

EXAMPLES

       A C program listing the files residing on a given server could look like:

            int flags;
            dpns_list list;
            struct dpns_filereplica *lp;

            flags = CNS_LIST_BEGIN;
            while ((lp = dpns_listreplicax (NULL, server, NULL, flags, &list))) {
                 flags = CNS_LIST_CONTINUE;
                 /* process the entry */
                 .....
            }
            (void) dpns_listreplicax (NULL, server, NULL, CNS_LIST_END, &list);

ERRORS

       ENOMEM       Memory could not be allocated for the output buffer.

       EFAULT       poolname, server and fs are NULL pointers or listp is a NULL pointer.

       EINVAL       The  length  of  poolname  exceeds  CA_MAXPOOLNAMELEN  or  the  length  of  server   exceeds
                    CA_MAXHOSTNAMELEN or the length of fs exceeds 79.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.

SEE ALSO

       Castor_limits(4), dpns_addreplica(3)

DPNS                                      $Date: 2005/07/21 08:31:48 $                      DPNS_LISTREPLICAX(3)