DPNS_GETREPLICAX
Section: DPNS Library Functions (3)
Updated: $Date: 2006/12/01 09:19:37 $
Index
Return to Main Contents
NAME
dpns_getreplicax - get the replica entries associated with a DPNS file in the name server
SYNOPSIS
#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)
DESCRIPTION
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.
- nbentries
-
will be set to the number of entries in the array of replicas.
- rep_entries
-
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];
};
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
- ENOENT
-
The named file does not exist.
- EACCES
-
Search permission is denied on a component of the
path
prefix.
- 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.
SEE ALSO
Castor_limits(4),
dpns_chdir(3)
AUTHOR
LCG Grid Deployment Team