]> git.pld-linux.org Git - packages/man-pages.git/commitdiff
567cbd611a5727b9a674ba6ee8516fd3 truncate.2
authorankry <ankry@pld-linux.org>
Wed, 9 Jan 2002 23:21:57 +0000 (23:21 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    truncate.2 -> 1.1

truncate.2 [new file with mode: 0644]

diff --git a/truncate.2 b/truncate.2
new file mode 100644 (file)
index 0000000..4ab316f
--- /dev/null
@@ -0,0 +1,175 @@
+.\" Copyright (c) 1983, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"     @(#)truncate.2 6.9 (Berkeley) 3/10/91
+.\"
+.\" Modified Sat Jul 24 12:46:33 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified Tue Oct 22 22:36:33 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified Mon Dec 21 13:37:05 1998 by Andries Brouwer <aeb@cwi.nl>
+.\" Modified 7 Jan 2002, Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
+.\"
+.TH TRUNCATE 2 1998-12-21 "" "Linux Programmer's Manual"
+.SH NAME
+truncate, ftruncate \- truncate a file to a specified length
+.SH SYNOPSIS
+.B #include <unistd.h>
+.sp
+.BI "int truncate(const char *" path ", off_t " length );
+.br
+.BI "int ftruncate(int " fd ", off_t " length );
+.SH DESCRIPTION
+The
+.B truncate
+and
+.B ftruncate
+functions cause the regular file named by
+.I path
+or referenced by
+.I fd
+to be truncated to a size of precisely
+.I length
+bytes.
+.LP
+If the file previously was larger than this size, the extra data is lost. 
+If the file previously was shorter, it is extended, and
+the extended part reads as zero bytes.
+.LP
+The file pointer is not changed.
+.LP
+With
+.BR ftruncate ,
+the file must be open for writing; with
+.BR truncate ,
+the file must be writable.
+.SH "RETURN VALUE"
+On success, zero is returned.  On error, \-1 is returned, and
+.I errno
+is set appropriately.
+.SH ERRORS
+For
+.BR truncate :
+.TP
+.B EACCES
+Search permission is denied for a component of the path prefix,
+or the named file is not writable by the user.
+.TP
+.B EFAULT
+.I Path
+points outside the process's allocated address space.
+.TP
+.B EFBIG
+The argument
+.I length
+is larger than the maximum file size. (XSI)
+.TP
+.B EINTR
+A signal was caught during execution.
+.TP
+.B EINVAL
+The argument
+.I length
+is negative or larger than the maximum file size.
+.TP
+.B EIO
+An I/O error occurred updating the inode.
+.TP
+.B EISDIR
+The named file is a directory.
+.TP
+.B ELOOP
+Too many symbolic links were encountered in translating the pathname.
+.TP
+.B ENAMETOOLONG
+A component of a pathname exceeded 255 characters,
+or an entire path name exceeded 1023 characters.
+.TP
+.B ENOENT
+The named file does not exist.
+.TP
+.B ENOTDIR
+A component of the path prefix is not a directory.
+.TP
+.B EROFS
+The named file resides on a read-only file system.
+.TP
+.B ETXTBSY
+The file is a pure procedure (shared text) file that is being executed.
+.PP
+For
+.B ftruncate
+the same errors apply, but instead of things that can be wrong with
+.IR path ,
+we now have things that can be wrong with
+.IR fd :
+.TP
+.B EBADF
+The
+.I fd
+is not a valid descriptor.
+.TP
+.BR EBADF " or " EINVAL
+The
+.I fd
+is not open for writing.
+.TP
+.B EINVAL
+The
+.I fd
+does not reference a regular file.
+.SH "CONFORMING TO"
+4.4BSD, SVr4 (these function calls first appeared in BSD 4.2).
+POSIX 1003.1-1996 has
+.BR ftruncate .
+POSIX 1003.1-2001 also has
+.IR truncate ,
+as an XSI extension.
+.LP
+SVr4 documents additional
+.B truncate
+error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
+.B ftruncate
+an additional EAGAIN error condition.
+.SH NOTES
+The above description is for XSI-compliant systems.
+For non-XSI-compliant systems, the POSIX standard allows
+two behaviours for
+.B ftruncate
+when
+.I length
+exceeds the file length
+(note that
+.B truncate
+is not specified at all in such an environment):
+either returning an error, or extending the file.
+(Most Unices follow the XSI requirement.)
+.\" At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
+.SH "SEE ALSO"
+.BR open (2)
This page took 0.080701 seconds and 4 git commands to generate.