int lfc_registerfiles (int nbfiles,struct lfc_filereg *files,int *nbstatuses,int **statuses)
DESCRIPTION
lfc_registerfiles
registers a list of files with their corresponding replica entry.
If the lfn is already registered, the guid is optional and only the
replica is added (after checking that filesize and possibly checksum match).
If the lfn is not registered yet, the guid is mandatory for the LFC.
The lfn and the replica get registered.
nbfiles
specifies the number of files in the array
files.
files
is a pointer to an array of lfc_filereg structures provided by the application.
will be set to the number of replies in the array of statuses.
statuses
will be set to the address of an array of integer statuses allocated
by the API. The client application is responsible for freeing the array when not
needed anymore.
Individual statuses are 0 if the operation was successful or set to the
serrno value in case of error.
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
A component of
lfn
prefix does not exist or
lfn
is a null pathname.
E2BIG
Request too large (max 1 MB).
ENOMEM
Memory could not be allocated for marshalling the request or unmarshalling
the reply.
EACCES
Search permission is denied on a component of the
lfn
prefix or the file does not exist and write permission on the parent directory
is denied or write permission on the file itself is denied.
EFAULT
files,
nbstatuses
or
statuses
is a NULL pointer.
EEXIST
The
sfn
exists already.
ENOTDIR
A component of
lfn
prefix is not a directory.
EISDIR
The
lfn
exists already and is not a regular file.
EINVAL
nbfiles
is not strictly positive, the length of one of the
guids
exceeds
CA_MAXGUIDLEN
or the length of
server
exceeds
CA_MAXHOSTNAMELEN.
ENOSPC
The name server database is full.
ENAMETOOLONG
The length of
lfn
exceeds
CA_MAXPATHLEN
or the length of an
lfn
component exceeds
CA_MAXNAMELEN
or the length of
sfn
exceeds
CA_MAXSFNLEN.