TRUNCATE(2)         Linux Programmer's Manual         TRUNCATE(2)

NAME
       truncate,  ftruncate  -  truncate  a  file  to a specified
       length

SYNOPSIS
       #include <unistd.h>

       int truncate(const char *path, off_t length);
       int ftruncate(int fd, off_t length);

DESCRIPTION
       Truncate causes the file named by path or referenced by fd
       to  be  truncated to at most length bytes in size.  If the
       file previously was larger than this size, the extra  data
       is  lost.  With ftruncate, the file must be open for writ-
       ing.

RETURN VALUE
       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.

ERRORS
       For truncate:

       ENOTDIR A component of the path prefix is not a directory.

       EINVAL  The pathname contains a character with  the  high-
               order bit set.

       ENAMETOOLONG
               A component of a pathname exceeded 255 characters,
               or an entire path name exceeded 1023 characters.

       ENOENT  The named file does not exist.

       EACCES  Search permission is denied for a component of the
               path prefix.

       EACCES  The named file is not writable by the user.

       ELOOP   Too many symbolic links were encountered in trans-
               lating the pathname.

       EISDIR  The named file is a directory.

       EROFS   The named file resides on a read-only file system.

       ETXTBSY The  file  is  a pure procedure (shared text) file
               that is being executed.

       EIO     An I/O error occurred updating the inode.

       EFAULT  Path  points  outside  the   process's   allocated
               address space.

       For ftruncate:

       EBADF   The fd is not a valid descriptor.

       EINVAL  The fd references a socket, not a file.

       EINVAL  The fd is not open for writing.

CONFORMING TO
       4.4BSD,  SVr4  (these function calls first appeared in BSD
       4.2).  SVr4 documents additional truncate error conditions
       EINTR,  EMFILE,  EMULTIHP,  ENAMETOOLONG, ENFILE, ENOLINK,
       ENOTDIR.  SVr4 documents for ftruncate  additional  EAGAIN
       and  EINTR  error conditions.  POSIX has ftruncate but not
       truncate.

BUGS
       These calls should be generalized to allow ranges of bytes
       in a file to be discarded.

SEE ALSO
       open(2)

                         21 December 1998                       1