*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> ftruncate (2)              
Title
Content
Arch
Section
 

TRUNCATE(2)

Contents


NAME    [Toc]    [Back]

     truncate, ftruncate - truncate or extend a file to a  specified length

SYNOPSIS    [Toc]    [Back]

     #include <unistd.h>

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

     int
     ftruncate(int fd, off_t length);

DESCRIPTION    [Toc]    [Back]

     truncate() causes the file named by path or referenced by fd
to be truncated
 or extended to length bytes in size.  If the file  was
larger than
     this  size, the extra data is lost.  If the file was smaller
than this
     size, it will be extended as if by writing  bytes  with  the
value zero.
     With ftruncate(), the file must be open for writing.

RETURN VALUES    [Toc]    [Back]

     A  value of 0 is returned if the call succeeds.  If the call
fails a -1 is
     returned, and the global variable errno specifies the error.

ERRORS    [Toc]    [Back]

     truncate() succeeds unless:

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

     [ENAMETOOLONG]
                   A component of a pathname exceeded  {NAME_MAX}
characters,
                   or  an  entire  path  name exceeded {PATH_MAX}
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
translating 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.

     [EPERM]       The effective user ID does not match the owner
of the file
                   and the effective user ID is not the  superuser.

     ftruncate() succeeds unless:

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

     [EINVAL]      The length is a negative value.

SEE ALSO    [Toc]    [Back]

      
      
     open(2)

HISTORY    [Toc]    [Back]

     The  truncate()  and  ftruncate() function calls appeared in
4.2BSD.

BUGS    [Toc]    [Back]

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

     Use of truncate() to extend a file is not portable.

OpenBSD      3.6                           June      4,      1993
[ Back ]
 Similar pages
Name OS Title
truncate FreeBSD truncate or extend the length of files
ftruncate HP-UX truncate a file to a specified length
ftruncate NetBSD truncate a file to a specified length
truncate HP-UX truncate a file to a specified length
truncate Linux truncate a file to a specified length
truncate NetBSD truncate a file to a specified length
extendfs_hfs HP-UX extend HFS file system size
extendfs HP-UX extend a file system size (generic)
extendfs_vxfs HP-UX extend VxFS file system size
truncate IRIX set a file to a specified length
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service