Man Linux: Main Page and Category List


       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 filesize)

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


       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