GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


       dpns_listreplica - list replica entries for a given file


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

       struct dpns_filereplica *dpns_listreplica (const char *path, const char
       *guid, int flags, dpns_list *listp)


       dpns_listreplica lists replica entries for a given file.  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];

       path   specifies the logical pathname.

       guid   specifies the Grid Unique IDentifier.

       flags  may be one of the following constant:

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

                     all the following calls must have this flag set.

                     final call to terminate the list and free resources.


       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.


       A C program listing the replicas fo a given sfn could look like:

            int flags;
            dpns_list list;
            struct dpns_filereplica *lp;

            flags = CNS_LIST_BEGIN;
            while ((lp = dpns_listreplica (sfn, NULL, flags, &list)) != NULL) {
                 flags = CNS_LIST_CONTINUE;
                 /* process the entry */
            (void) dpns_listreplica (sfn, NULL, CNS_LIST_END, &list);


       ENOENT       The named file does not exist.

       EACCES       Search  permission  is denied on a component of the parent

       ENOMEM       Memory could not be allocated for the output buffer.

       EFAULT       path and guid  are  NULL  pointers  or  listp  is  a  NULL

       ENOTDIR      A component of path prefix is not a directory.

       EINVAL       The  length of guid exceeds CA_MAXGUIDLEN or path and guid
                    are both given and they point at a different file.

       ENAMETOOLONG The length of path exceeds CA_MAXPATHNAMELEN.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.


       Castor_limits(4), dpns_addreplica(3)

DPNS         $Date: 2010-09-14 13:37:49 +0200 (Tue, 14 Sep DPNS)LISTREPLICA(3)

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.085 seconds. Last modified: November 04 2018 12:49:43.