Imported tab->space correction by redhat
[infodrom/manpages-de] / man2 / truncate.2
1 .\" Copyright (c) 1983, 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)truncate.2  6.9 (Berkeley) 3/10/91
33 .\"
34 .\" Modified Sat Jul 24 12:46:33 1993 by Rik Faith (faith@cs.unc.edu)
35 .\" Modified Tue Oct 22 22:36:33 1996 by Eric S. Raymond <esr@thyrsus.com>
36 .\" Modified Mon Dec 21 13:37:05 1998 by Andries Brouwer (aeb@cwi.nl)
37 .\" Translated into German by Dennis Stampfer <kontakt@dstampfer.de>
38 .\"
39 .TH TRUNCATE 2 "8. September 2002" "" "Systemaufrufe"
40 .SH BEZEICHNUNG
41 truncate, ftruncate \- kürzt eine Datei auf eine bestimmte Länge
42 .SH "ÜBERSICHT"
43 .B #include <unistd.h>
44 .sp
45 .BI "int truncate(const char *" path ", off_t " length );
46 .br
47 .BI "int ftruncate(int " fd ", off_t " length );
48 .SH BESCHREIBUNG
49 Die Funktionen
50 .B truncate
51 und
52 .B ftruncate
53 bewirken, dass die reguläre Datei, die durch
54 .I path
55 oder
56 .I fd
57 angegeben ist, auf eine Größe von exakt
58 .I length
59 Bytes abgeschnitten wird.
60 .LP
61 Wenn die Datei vorher größer war, gehen überschüssige Daten verloren.
62 Wenn die Datei vorher kleiner war, wird sie vergrößert und die
63 zusätzlichen Bytes werden als Nullen gelesen.
64 .LP
65 Der Dateizeiger wird nicht verändert.
66 .LP
67 Für
68 .B ftruncate
69 muss die Datei zum Schreiben geöffnet sein, für 
70 .B truncate
71 muss die Datei schreibbar sein.
72 .SH RÜCKGABEWERT
73 Bei Erfolg gibt die Funktion 0 zurück.  Bei Fehlern wird \-1 zurückgegeben und
74 .I errno
75 entsprechend gesetzt.
76 .SH FEHLER
77 Für
78 .BR truncate :
79 .TP
80 .B EACCES
81 Ein Teil des Pfades kann nicht gelesen werden oder die Datei kann vom
82 Benutzer nicht beschrieben werden.
83 .TP
84 .B EFAULT
85 .I pfad
86 liegt außerhalb des Programmspeichers.
87 .TP
88 .B EFBIG
89 Der Parameter
90 .I length
91 ist größer als die maximale Dateigröße. (XSI)
92 .TP
93 .B EINTR
94 Während der Ausführung wurde ein Signal empfangen.
95 .TP
96 .B EINVAL
97 Der Parameter
98 .I length
99 ist negativ oder größer als die maximale Dateigröße.
100 .TP
101 .B EIO
102 Ein I/O Fehler ist beim aktualisieren der Inode aufgetreten.
103 .TP
104 .B EISDIR
105 .I pfad
106 ist ein Verzeichnis, keine Datei.
107 .TP
108 .B ELOOP
109 Zu viele Symbolische Links wurden im Pfad gefunden.
110 .TP
111 .B ENAMETOOLONG
112 Ein Teil des Pfades ist größer als 255 Zeichen oder der komplette Pfad
113 überschreitet eine Größe von 1023 Zeichen.
114 .TP
115 .B ENOENT
116 Die angegebene Datei existiert nicht.
117 .TP
118 .B ENOTDIR
119 Ein Teil des Pfades ist kein Verzeichnis.
120 .TP
121 .B EROFS
122 Die Datei befindet sich in einem read-only Dateisystem.
123 .TP
124 .B ETXTBSY
125 Die Datei ist eine Prozedur, die ausgeführt wird.
126 .PP
127 Für
128 .BR ftruncate
129 gelten die gleichen Fehlermeldungen.  Anstelle von Dingen, die mit
130 .B path
131 schieflaufen können, gibt es jetzt Dinge, die mit
132 .B fd
133 schiefgehen können:
134 .TP
135 .B EBADF
136 .I fd
137 ist kein gültiger Dateideskriptor.
138 .TP
139 .BR EINVAL " oder " EBADF
140 .I fd
141 ist nicht zum Schreiben geöffnet.
142 .TP
143 .B EINVAL
144 .I fd
145 referenziert einen Socket, nicht eine Datei.
146 .SH "KONFORM ZU"
147 4.4BSD, SVr4 (diese Funktionsaufrufe traten zuerst in BSD 4.2 auf).
148 POSIX 1003.1-1996 beschreibt
149 .BR ftruncate .
150 POSIX 1003.1-2001 beschreibt ebenfalls
151 .IR truncate
152 als eine XSI-Erweiterung.
153 .LP
154 SVr4 beschreibt zusätzlich die Fehler EMFILE, EMULTIHP, ENFILE und
155 ENOLINK für
156 .BR truncate .
157 SVr4 dokumentiert für
158 .B ftruncate
159 den zusätzlichen Fehler EAGAIN.
160 .SH BERMERKUNGEN
161 Die Beschreibung oben ist für XSI-kompatible Systeme gedacht.  Für
162 nicht-XSI-kompatible Systeme erlaubt der POSIX-Standard zwei Verhalten von
163 .BR ftruncate ,
164 wenn
165 .I length
166 größer ist als die Dateilänge
167 (beachten Sie, dass
168 .B truncate
169 ist für eine derartige Umgebung nicht spezifiziert):
170 entweder wird ein Fehler zurückgeliefert oder die Datei wird vergrößert.
171 (Die meisten Unixe folgen den XSI-Anforderungen.)
172 .\" At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
173 .SH "SEE ALSO"
174 .BR open (2).