1 .\" Hey Emacs! This file is -*- nroff -*- source.
3 .\" This manpage is Copyright (C) 1992 Drew Eckhardt;
4 .\" 1993 Michael Haardt, Ian Jackson.
6 .\" Copyright 1996 C.Schmidt - deutsche Übersetzung (c.schmidt@ius.gun.de)
7 .\" Interner Versionslevel (Deutsche Version) : 0.1
8 .\" nur übersetzt, nicht korrekturgelesen...
10 .\" [Some polishing - aeb. In fact this text is so bad that it has to
13 .\" Wenn jemand sich über Rechtschreibfehler bzw. eine fehlerhafte Über-
14 .\" setzung aufregen möchte so kann er das /dev/null mitteilen.
15 .\" (Schließlich übersetze ich diese Dinger um meine Englischkenntnisse
18 .\" KONSTRUKTIVE Kritik oder ein netter Hinweis auf Fehler, aller
19 .\" Art, würden mich aber freuen. Danke!
21 .\" Nach dem Übersetzen dieser Manualpage muss ich "vermeindlich
22 .\" schlecht eingedeutschte Bedinungsanleitungen" auch aus einem
23 .\" Blickwinkel betrachten ;-)))
25 .\" Folgendes lass ich mal so steh'n ;-)
27 .\" Permission is granted to make and distribute verbatim copies of this
28 .\" manual provided the copyright notice and this permission notice are
29 .\" preserved on all copies.
31 .\" Permission is granted to copy and distribute modified versions of this
32 .\" manual under the conditions for verbatim copying, provided that the
33 .\" entire resulting derived work is distributed under the terms of a
34 .\" permission notice identical to this one
36 .\" Since the Linux kernel and libraries are constantly changing, this
37 .\" manual page may be incorrect or out-of-date. The author(s) assume no
38 .\" responsibility for errors or omissions, or for damages resulting from
39 .\" the use of the information contained herein. The author(s) may not
40 .\" have taken the same level of care in the production of this manual,
41 .\" which is licensed free of charge, as they might when working
44 .\" Formatted or processed versions of this manual, if unaccompanied by
45 .\" the source, must acknowledge the copyright and authors of this work.
47 .\" Modified Wed Jul 21 22:42:16 1993 by Rik Faith (faith@cs.unc.edu)
48 .\" Modified Sun Aug 21 18:18:14 1994: Michael Haardt's NFS diffs were
49 .\" applied by hand (faith@cs.unc.edu).
51 .TH OPEN 2 "21. Juli 1993" "Linux 0.99.7" "Systemaufrufe"
53 open, creat \- Öffnen und mögliches Erzeugen einer Datei
56 .B #include <sys/types.h>
57 .B #include <sys/stat.h>
60 .BI "int open(const char *" pathname ", int " flags );
61 .BI "int open(const char *" pathname ", int " flags ", mode_t " mode );
62 .BI "int creat(const char *" pathname ", mode_t " mode );
68 zu öffnen, und gibt als \(lqReturncode\(rq eine Dateibeschreibung
69 der zu öffnen versuchten Datei zurück. (non-negative integer)
71 .BR read ", " write ", etc. Anweisungen verwendet werden."
74 dabei sind; Jeweils eine der folgenden Angaben:
76 .BR O_RDONLY ", " O_WRONLY " or " O_RDWR
79 öffnen der Datei zum NUR_LESEN
82 öffnen der Datei zum NUR_SCHREIBEN
85 öffnen der Datei mit SCHREIBEN und LESEN Zugriff.
89 können außerdem noch mit einem der folgenden Flags
90 .B bitweise_ODER_verküpft
94 Wenn die Datei nicht besteht, so wird sie neu Angelegt.
99 verwendet und die Datei schon besteht, so ist das ein Fehler und der
107 sich auf ein Terminal Device bezieht \(em Siehe
109 \(em so bekommt der Prozess keine Kontrolle über das Terminal, auch wenn
110 der Prozess gar kein Terminal verwendet/benötigt.
113 Wenn die Datei schon besteht, so wird sie überschrieben.
116 Öffnen der Datei im \(lqAnhängen\(rq Modus. Anfänglich, und
119 wird der \(lqDatei Pointer\(rq auf das Ende der bestehenden
120 Datei gesetzt. Ebenso wie bei der Verwendung von
123 .BR O_NONBLOCK " oder " O_NDELAY
124 Die Datei wird ohne BLOCKUNG geöffnet.
125 Wenn in diesem Modi ein \(lqSUB-System\(rq angesprochen wird, wird
126 der aufrufende Prozess solange warten bis die Dateibeschreibung
127 .B "(file descriptor)"
131 Die Datei wird im \(lqsynchron I/O Modi\(rq geöffnet.
134 über die zurückgegebene Dateibeschreibung wird den aufrufenden Prozess
135 solange anhalten, bis die Daten
137 auf die angesprochene Hardware geschrieben ist.
142 Ein Teil dieser optionalen
144 kann nach dem Öffnen der Datei unter Verwendung von
146 Aufrufen verändert werden.
149 ist die Angabe der zu benutzenden Dateizugriffsrechte. (Nur wenn Datei neu
152 Die Definition wird, wie üblich, durch die Umgebungsvariable
154 übernommen. Die Zugriffsrechte der angelegten Datei werden durch
155 .BR "(mode & ~umask)"
159 kann nur einmalig bei der Verwendung des
161 \(lqflags\(rq verwendet werden; Andernfalls wird diese Anweisung ignoriert.
167 Mit Vergleichbaren \(lqflags\(rq wie
168 .BR O_CREAT|O_WRONLY|O_TRUNC .
170 erstellt jedoch keine Gerätedatei - das tut
173 .SH "RETURN VALUE -- Wiedergabewert"
176 .BR open " und " creat
177 geben entweder die Dateibeschreibung
178 .I \(lqfile descriptor\(rq
180 Fehlerfall einen RC von \-1 zurück.
181 (Unabhangig vom \(lqErfolg oder Nichterfolg\(rq der Anweisung wird die
191 .BR O_CREAT " und " O_EXCL
196 bezieht sich auf einen Verzeichnisnamen, in das generell kein Schreiben möglich ist.
197 Anm. des Übersetzers: Schreiben in einen \(lqVerzeichnisnamen\(rq ist
198 generell nicht möglich.
203 in eine binäre Datei zu schreiben, die gerade vom System ausgeführt wird.
207 verweist auf eine Adresse außerhalb \(lq Deines \(rq zur Verfügung
208 stehenden Adressraumes.
211 Der gewünschte Zugriff auf die Datei ist nicht erlaubt, oder eines
212 der Verzeichnisse innerhalb von
214 erlaubt diesen Zugriff nicht.
217 .IR pathname " ist zu lang."
220 Ein Verzeichnisname aus
222 existiert nicht, oder ist ein \(lqfehlerhafter\(rq Link.
227 ist nicht wirklich ein Verzeichnis.
230 Der laufende Prozess hat die maximal erlaubte Anzahl der offenen Dateien
231 für diesen Prozess erreicht.
234 Der laufende Prozess hat die maximal erlaubte Anzahl der offenen Dateien
235 des Systems erreicht.
238 Kein Systemspeicher mehr verfügbar.
242 verweist auf eine Datei in einem read-only Dateisystem, und es wurde
243 versucht zu schreiben.
247 verweist auf einen symbolischen Link, der z.B. über
248 \(lq Umwege \(rq durch das Dateisystem auf sich selber zeigt.
252 sollte Angelegt werden, aber es war kein Platz mehr.
255 SVID, AT&T, POSIX, X/OPEN, BSD 4.3
258 ist zurzeit nicht implementiert. (Stand Linux 0.99pl7)
260 Bei der Verwendung über NFS kann es zu Unstimmigkeiten, betreffend
262 .BR O_SYNC ", " O_NDELAY " und " O_APPEND
266 funktioniert nicht über NFS. Bei Programmen, die auf \(lqDatei locking\(rq
267 angewiesen sind, bzw. \(lqvertrauen\(rq (Systemtasks), wird/kann es zu
268 Fehlern kommen. Eine mögliche Lösung dafür ist es, eine identische Datei
269 auf dem \(lqlokalen\(rq Dateisystem zu erzeugen.
270 Beispielsweise durch die Verwendung von
274 die lokale Datei auf eine Zunahme des \(lq Link Counters \(rq
278 den Rückgabewert aus dem
283 Copyright \(co 1996 Christian Schmidt - deutsche Übersetzung
285 Dieses Manual darf sowohl in der Original, als auch in der deutschen
286 Version mit folgender Einschränkung benutzt, Vervielfältigt und Vertrieben
287 werden. Dieser Copyright-Abschnitt und der \(lqHeader\(rq muss unverändert
288 in allen Kopien beibehalten werden. Ferner sind die zusätzlichen
290 im \(lqHeader\(rq dieses Manuals zu beachten.