Provided by: libdpm-dev_1.8.10-1build3_amd64 bug

NAME

       dpns_registerfiles - register list of files with their corresponding replica entry

SYNOPSIS

       #include <sys/types.h>
       #include "dpns_api.h"

       int dpns_registerfiles (int nbfiles, struct dpns_filereg *files, int *nbstatuses, int **statuses)

DESCRIPTION

       dpns_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 dpns_filereg structures provided by the application.

       struct dpns_filereg {
            char      *lfn;
            char      *guid;
            mode_t         mode;
            u_signed64     size;
            char      *csumtype;
            char      *csumvalue;
            char      *server;
            char      *sfn;
       };

       nbstatuses
              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 or lfn and guid are both given and they point
                    at a different file.

       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.

       SENOSSERV    Service unknown.

       SEINTERNAL   Database error.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.

SEE ALSO

       Castor_limits(4), dpns_addreplica(3), dpns_creat(3), dpns_setfsize(3)

AUTHOR

       LCG Grid Deployment Team

DPNS                          $Date: 2010-09-14 13:37:49 +0200 (Tue, 14 Sep 2010) $        DPNS_REGISTERFILES(3)