ftruncate
Hurricane Electric Internet Services
NAME
truncate, ftruncate - truncate a file to a specified
length
SYNOPSIS
#include <unistd.h>
int truncate(const char *path, size_t length);
int ftruncate(int fd, size_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.
HISTORY
These function calls appeared in BSD 4.2.
BUGS
These calls should be generalized to allow ranges of bytes
in a file to be discarded.
SEE ALSO
open(2)
Hurricane Electric Internet Services
Copyright (C) 1998
Hurricane Electric.
All Rights Reserved.