Man Linux: Main Page and Category List


       dpns_getreplicax  - get the replica entries associated with a DPNS file
       in the name server


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

       int dpns_getreplicax (const char *path, const char  *guid,  const  char
       *se, int *nbentries, struct dpns_filereplicax **rep_entries)


       dpns_getreplicax  gets  the replica entries associated with a DPNS file
       in the name server.

       The file can be specified by path name or by guid.  If both are  given,
       they must point at the same file.

       path   specifies  the  logical  pathname  relative  to the current DPNS
              directory or the full DPNS pathname.

       guid   specifies the Grid Unique IDentifier.

       se     allows to restrict the replica entries to a given SE.

              will be set to the number of entries in the array of replicas.

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

       struct dpns_filereplicax {
            u_signed64     fileid;
            u_signed64     nbaccesses;
            time_t         ctime;         /* replica creation time */
            time_t         atime;         /* last access to replica */
            time_t         ptime;         /* replica pin time */
            time_t         ltime;         /* replica lifetime */
            char      r_type;        /* ’P’ for Primary, ’S’ for Secondary */
            char      status;
            char      f_type;        /* ’V’ for Volatile, ’P’ for Permanent */
            char      setname[37];
            char      poolname[CA_MAXPOOLNAMELEN+1];
            char      host[CA_MAXHOSTNAMELEN+1];
            char      fs[80];
            char      sfn[CA_MAXSFNLEN+1];


       This routine returns 0 if the operation was successful  or  -1  if  the
       operation failed. In the latter case, serrno is set appropriately.


       ENOENT       The named file does not exist.

       EACCES       Search  permission  is  denied  on a component of the path

       ENOMEM       Memory could not be allocated for unmarshalling the reply.

       EFAULT       path   and   guid   are  NULL  pointers  or  nbentries  or
                    rep_entries is a NULL pointer.

       ENOTDIR      A component of path prefix is not a directory.

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

       ENAMETOOLONG The length of path exceeds CA_MAXPATHLEN or the length  of
                    a path component exceeds CA_MAXNAMELEN.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.


       Castor_limits(4), dpns_chdir(3)


       LCG Grid Deployment Team