Man Linux: Main Page and Category List


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


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

       int lfc_setfsize (const char *path, struct  lfc_fileid  *file_uniqueid,
       u_signed64 filesize)

       int  lfc_setfsizec (const char *path, struct lfc_fileid *file_uniqueid,
       u_signed64 filesize, const char *csumtype, char *csumvalue)


       lfc_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  LFC
              directory or the full LFC 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), lfc_chdir(3), lfc_statg(3)


       LCG Grid Deployment Team