---
name: "lfc_setfsize"
section: "3"
platform: "linux"
package: "liblfc-dev"
version: "1.10.0-2+b3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/lfc_setfsize"
---

# lfc\_setfsize(3)

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

## NAME

lfc\_setfsize - set filesize for a regular file; set also last modification time to the current time

## SYNOPSIS

**#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***)**

## DESCRIPTION

**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.

- *csumtype*

  specifies the type of checksum. Valid types are:

  - **CS**

    standard 32 bits checksum

  - **AD**

    Adler 32 bits checksum

  - **MD**

    MD5 128 bits checksum

## 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 *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.

## SEE ALSO

**[Castor\_limits(4)](/Castor_limits/4.md)**, **[lfc\_chdir(3)](/lfc_chdir/3.md)**, **[lfc\_statg(3)](/lfc_statg/3.md)**

## AUTHOR

**LCG Grid Deployment** Team
