DPNS_GETREPLICA
Section: DPNS Library Functions (3)
Updated: $Date: 2006/04/26 10:12:35 $
Index
Return to Main Contents
 
NAME
dpns_getreplica - get the replica entries associated with a DPNS file in the name server
 
SYNOPSIS
#include <sys/types.h>
#include "dpns_api.h"
int dpns_getreplica (const char *path,
const char *guid,
const char *se,
int *nbentries,
struct dpns_filereplica **rep_entries)
 
DESCRIPTION
dpns_getreplica
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_filereplica structures allocated
by the API. The client application is responsible for freeing the array when not
needed anymore.
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];
};
 
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