Provided by: libdpm-dev_1.8.2-1_amd64 bug


       dpns_setfsize  -  set  filesize for a regular file; set also last modification time to the
       current time


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

       int  dpns_setfsize  (const  char  *path,  struct  dpns_fileid  *file_uniqueid,  u_signed64

       int  dpns_setfsizec  (const  char  *path,  struct  dpns_fileid  *file_uniqueid, u_signed64
       filesize, const char *csumtype, char *csumvalue)


       dpns_setfsize sets the filesize for a regular file; set also the last modification time to
       the  current time.  This function should only be called by the stager after the last write
       operation has been performed on the file.  The file can be identified by path name  or  by
       file_uniqueid.  If both are specified, file_uniqueid is used.

       path   specifies  the  logical pathname relative to the current DPNS directory or the full
              DPNS pathname.

              specifies the type of checksum. Valid types are:

              CS     standard 32 bits checksum

              AD     Adler 32 bits checksum

              MD     MD5 128 bits checksum


       This routine returns 0 if the operation was successful or -1 if the operation  failed.  In
       the latter case, serrno is set appropriately.


       ENOENT       A component of path prefix does not exist or path is a null pathname.

       EACCES       Search  permission  is denied on a component of the path prefix or the caller
                    effective user ID does not match the owner ID of the file or write permission
                    on the file itself is denied.

       EFAULT       path and file_uniqueid are NULL pointers.

       ENOTDIR      A component of path prefix is not a directory.

       EISDIR       The file is not a regular file.

       EINVAL       The  length  of  the csumtype exceeds 2 or csumtype is an unknown type or the
                    length of the csumvalue exceeds 32.

       ENAMETOOLONG The length of path exceeds CA_MAXPATHLEN or the length of  a  path  component
                    exceeds CA_MAXNAMELEN.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.


       Castor_limits(4), dpns_chdir(3), dpns_statg(3)


       LCG Grid Deployment Team