lfc_listreplica
lists replica entries for a given file.
This routine returns a pointer to a structure containing the current replica
entry.
struct lfc_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:
CNS_LIST_BEGIN
the first call must have this flag set to allocate buffers and
initialize pointers.
CNS_LIST_CONTINUE
all the following calls must have this flag set.
CNS_LIST_END
final call to terminate the list and free resources.
RETURN VALUE
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.
EXAMPLES
A C program listing the replicas fo a given sfn could look like:
int flags;
lfc_list list;
struct lfc_filereplica *lp;
flags = CNS_LIST_BEGIN;
while ((lp = lfc_listreplica (sfn, NULL, flags, &list)) != NULL) {
flags = CNS_LIST_CONTINUE;
/* process the entry */
.....
}
(void) lfc_listreplica (sfn, NULL, CNS_LIST_END, &list);
ERRORS
ENOENT
The named file does not exist.
EACCES
Search permission is denied on a component of the parent directory.
ENOMEM
Memory could not be allocated for the output buffer.
EFAULT
path
and
guid
are NULL pointers or
listp
is a NULL pointer.