SYNOPSIS

#include <sys/types.h>

#include "lfc_api.h"

int lfc_getreplicass (int nbsfns, const char **sfns, int *nbentries, struct lfc_filereplicas **rep_entries)

DESCRIPTION

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];
};

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.

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.

RELATED TO lfc_getreplicass…

AUTHOR

LCG Grid Deployment Team