table of contents
DPNS_GETREPLICAX(3) | DPNS Library Functions | DPNS_GETREPLICAX(3) |
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
$Date: 2006/12/01 09:19:37 $ | DPNS |