ftruncate man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

FTRUNCATE(P)		   POSIX Programmer's Manual		  FTRUNCATE(P)

NAME
       ftruncate - truncate a file to a specified length

SYNOPSIS
       #include <unistd.h>

       int ftruncate(int fildes, off_t length);

DESCRIPTION
       If  fildes  is not a valid file descriptor open for writing, the ftrun‐
       cate() function shall fail.

       If fildes refers to a regular  file,  the  ftruncate()  function	 shall
       cause  the  size	 of the file to be truncated to length. If the size of
       the file previously exceeded length, the extra data shall no longer  be
       available to reads on the file. If the file previously was smaller than
       this size, ftruncate() shall either increase the size of	 the  file  or
       fail.   XSI-conformant systems shall increase the size of the file.  If
       the file size is increased, the extended area shall  appear  as	if  it
       were  zero-filled.  The value of the seek pointer shall not be modified
       by a call to ftruncate().

       Upon successful completion, if fildes refers to	a  regular  file,  the
       ftruncate()  function  shall  mark for update the st_ctime and st_mtime
       fields of the file and the S_ISUID and S_ISGID bits of  the  file  mode
       may  be	cleared. If the ftruncate() function is unsuccessful, the file
       is unaffected.

       If the request would cause the file size to exceed the soft  file  size
       limit  for  the	process, the request shall fail and the implementation
       shall generate the SIGXFSZ signal for the thread.

       If fildes refers to a directory, ftruncate() shall fail.

       If fildes refers to any other file type, except a shared memory object,
       the result is unspecified.

       If  fildes  refers to a shared memory object, ftruncate() shall set the
       size of the shared memory object to length.

       If the effect of ftruncate() is to decrease the size of a shared memory
       object  or  memory  mapped file and whole pages beyond the new end were
       previously mapped, then the whole pages beyond the  new	end  shall  be
       discarded.

       If  the	Memory Protection option is supported, references to discarded
       pages shall result in the generation of a SIGBUS signal; otherwise, the
       result of such references is undefined.

       If the effect of ftruncate() is to increase the size of a shared memory
       object, it is unspecified whether the  contents	of  any	 mapped	 pages
       between	the  old end-of-file and the new are flushed to the underlying
       object.

RETURN VALUE
       Upon successful completion, ftruncate() shall return 0;	otherwise,  -1
       shall be returned and errno set to indicate the error.

ERRORS
       The ftruncate() function shall fail if:

       EINTR  A signal was caught during execution.

       EINVAL The length argument was less than 0.

       EFBIG or EINVAL

	      The length argument was greater than the maximum file size.

       EFBIG  The file is a regular file and length is greater than the offset
	      maximum established in the open file description associated with
	      fildes.

       EIO    An  I/O  error  occurred while reading from or writing to a file
	      system.

       EBADF or EINVAL

	      The fildes argument is not a file descriptor open for writing.

       EINVAL The fildes argument references a file that  was  opened  without
	      write permission.

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

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       None.

RATIONALE
       The  ftruncate()	 function  is  part  of IEEE Std 1003.1-2001 as it was
       deemed to be more useful than truncate(). The  truncate()  function  is
       provided as an XSI extension.

FUTURE DIRECTIONS
       None.

SEE ALSO
       open()	 ,    truncate()    ,	the   Base   Definitions   volume   of
       IEEE Std 1003.1-2001, <unistd.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the	referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003			  FTRUNCATE(P)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net