Man Linux: Main Page and Category List

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)