Get the replica entries associated with a list of sfns
#include <sys/types.h>
#include "lfc_api.h"
int lfc_getreplicass (int nbsfns, const char **sfns, int *nbentries, struct lfc_filereplicas **rep_entries)
lfc_getreplicass gets the replica entries associated with a list of sfns.
nbsfns
specifies the number of path names in the array sfns.
sfns
specifies the list of Site File Names.
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 lfc_filereplicas structures allocated by the API. The client application is responsible for freeing the array when not needed anymore.
struct lfc_filereplicas { char guid[CA_MAXGUIDLEN+1]; int errcode; u_signed64 filesize; time_t ctime; /* GUID creation time */ char csumtype[3]; char csumvalue[33]; time_t r_ctime; /* replica creation time */ time_t r_atime; /* last access to replica */ char status; char host[CA_MAXHOSTNAMELEN+1]; 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.
ENOMEM
Memory could not be allocated for marshalling the request or unmarshalling the reply.
EFAULT
sfns, nbentries or rep_entries is a NULL pointer.
EINVAL
nbsfns is not strictly positive.
ENAMETOOLONG
The length of sfn exceeds CA_MAXSFNLEN.
SENOSHOST
Host unknown.
SENOSSERV
Service unknown.
SEINTERNAL
Database error.
SECOMERR
Communication error.
ENSNACT
Name server is not running or is being shutdown.
LCG Grid Deployment Team