1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
.\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl)
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" Translated into german by Christoph Seibert <seibert@cs.uni-bonn.de>
.\"
.TH ERRNO 3 "16. Mrz 1999" "" "Bibliotheksfunktionen"
.SH BEZEICHNUNG
errno \- die Nummer des letzten aufgetretenen Fehlers
.SH "BERSICHT"
.nf
.B #include <errno.h>
.sp
.BI "extern int " errno ";"
.fi
.SH BESCHREIBUNG
Die Integer-Variable
.B errno
wird von Systemaufrufen (und einigen Bibliotheksfunktionen) gesetzt,
um anzuzeigen, was schief gelaufen ist. Ihr Wert ist nur dann von
Bedeutung, wenn der Aufruf einen Fehler (normalerweise \-1)
zurckgegeben hat. Eine Bibliotheksfunktion darf
.B errno
ndern, selbst wenn sie erfolgreich verluft.
Ist \-1 auch ein gltiger Rckgabewert, mu
.B errno
vor dem Aufruf auf 0 gesetzt werden, um eventuelle Fehler entdecken zu
knnen.
Der ISO-C-Standard definiert
.B errno
als vernderbaren lvalue des Typs
.BR int ,
der nicht explizit deklariert sein mu;
.B errno
kann ein Makro sein. Jeder Thread erhlt eine eigene
.BR errno ;
wird sie in einem Thread gesetzt, wirkt sich das nicht auf ihren Wert
in anderen Threads aus.
Alle gltigen Fehlernummern sind ungleich 0; keine
Bibliotheksfunktion setzt
.B errno
auf 0. Alle von POSIX.1 definierten Fehlerbezeichnungen mssen
voneinander verschiedene Werte besitzen.
POSIX.1 enthlt (in der Ausgabe von 1996) die nachfolgende Liste
symbolischer Fehlerbezeichnungen. Im ISO-C-Standard sind davon
.B EDOM
und
.B ERANGE
vorgesehen. Der ISO-C Zusatz 1 definiert zustzlich die Fehlernummer
.B EILSEQ
(Ungltiges oder unvollstndiges Multi-Byte oder Wide-Zeichen).
.TP
.B E2BIG
Die Argumentliste ist zu lang
.TP
.B EACCES
Keine Berechtigung
.TP
.B EAGAIN
Die Resource ist zurzeit nicht verfgbar
.TP
.B EBADF
Ungltiger Dateideskriptor
.TP
.B EBADMSG
Ungltige Nachricht
.TP
.B EBUSY
Das Gert oder die Resource ist belegt
.TP
.B ECANCELED
Operation abgebrochen
.TP
.B ECHILD
Keine Kind-Prozesse
.TP
.B EDEADLK
Verklemmung beim Zugriff auf eine Resource vermieden
.TP
.B EDOM
Das numerische Argument ist auerhalb des Definitionsbereiches
.TP
.B EEXIST
Die Datei existiert bereits
.TP
.B EFAULT
Ungltige Adresse
.TP
.B EFBIG
Die Datei ist zu gro
.TP
.B EINPROGRESS
Die Operation ist jetzt in Bearbeitung
.TP
.B EINTR
Unterbrechung whrend des Betriebssystemaufrufs
.TP
.B EINVAL
Das Argument ist ungltig
.TP
.B EIO
Eingabe-/Ausgabefehler
.TP
.B EISDIR
Ist ein Verzeichnis
.TP
.B EMFILE
Zu viele offene Dateien
.TP
.B EMLINK
Zu viele Links
.TP
.B EMSGSIZE
Die Nachricht ist zu lang
.TP
.B ENAMETOOLONG
Der Dateiname ist zu lang
.TP
.B ENFILE
Zu viele offene Dateien im System
.TP
.B ENODEV
Die Operation wird von diesem Gert nicht untersttzt
.TP
.B ENOENT
Datei oder Verzeichnis nicht gefunden
.TP
.B ENOEXEC
Fehler im Format der Programmdatei
.TP
.B ENOLCK
Keine Sperren verfgbar
.TP
.B ENOMEM
Nicht gengend Hauptspeicher verfgbar
.TP
.B ENOSPC
Auf dem Gert ist kein Speicherplatz mehr verfgbar
.TP
.B ENOSYS
Die angeforderte Funktion ist nicht implementiert
.TP
.B ENOTDIR
Ist kein Verzeichnis
.TP
.B ENOTEMPTY
Das Verzeichnis ist nicht leer
.TP
.B ENOTSUP
Die Operation wird nicht untersttzt
.TP
.B ENOTTY
Unpassender IOCTL (I/O-Control) fr das Gert
.TP
.B ENXIO
Das Gert ist nicht konfiguriert
.TP
.B EPERM
Die Operation ist nicht erlaubt
.TP
.B EPIPE
Datenbergabe unterbrochen (broken pipe)
.TP
.B ERANGE
Das numerische Ergebnis ist auerhalb des gltigen Bereiches
.TP
.B EROFS
Das Dateisystem ist nur lesbar
.TP
.B ESPIPE
Nicht erlaubter Seek
.TP
.B ESRCH
Kein passender Proze gefunden
.TP
.B ETIMEDOUT
Die Wartezeit fr die Verbindung ist abgelaufen
.TP
.B EXDEV
Ungltiger Link ber Gertegrenzen hinweg
.PP
Die verschiedenen Unix-Implementierungen geben viele weitere
Fehlermeldungen zurck. System V gibt
.B ETXTBSY
(Das Programm kann nicht ausgefhrt oder verndert werden (busy))
zurck, wenn versucht wird, exec() auf einer Datei aufzurufen, die zum
Schreiben geffnet ist. Linux gibt diesen Fehler ebenfalls zurck,
wenn der Versuch unternommen wird, eine Datei sowohl mit VM_DENYWRITE
in den Speicher abzubilden als auch zum Schreiben zu ffnen.
.SH "SIEHE AUCH"
.BR perror (3),
.BR strerror (3).
|