1 .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl)
3 .\" This is free documentation; you can redistribute it and/or
4 .\" modify it under the terms of the GNU General Public License as
5 .\" published by the Free Software Foundation; either version 2 of
6 .\" the License, or (at your option) any later version.
8 .\" The GNU General Public License's references to "object code"
9 .\" and "executables" are to be interpreted as the output of any
10 .\" document formatting or typesetting system, including
11 .\" intermediate and printed output.
13 .\" This manual is distributed in the hope that it will be useful,
14 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
15 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 .\" GNU General Public License for more details.
18 .\" You should have received a copy of the GNU General Public
19 .\" License along with this manual; if not, write to the Free
20 .\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
23 .\" Translated into german by Christoph Seibert <seibert@cs.uni-bonn.de>
25 .\" sync: man-pages 1.70
27 .TH ERRNO 3 "5. Oktober 2002" "" "Bibliotheksfunktionen"
29 errno \- die Nummer des letzten aufgetretenen Fehlers
34 .BI "extern int " errno ";"
39 wird von Systemaufrufen (und einigen Bibliotheksfunktionen) gesetzt,
40 um anzuzeigen, was schief gelaufen ist. Ihr Wert ist nur dann von
41 Bedeutung, wenn der Aufruf einen Fehler (normalerweise \-1)
42 zurückgegeben hat. Eine Bibliotheksfunktion darf
44 ändern, selbst wenn sie erfolgreich verläuft.
46 Ist \-1 auch ein gültiger Rückgabewert, muss
48 vor dem Aufruf auf 0 gesetzt werden, um eventuelle Fehler entdecken zu
51 Der ISO-C-Standard definiert
53 als veränderbaren lvalue des Typs
55 der nicht explizit deklariert sein darf;
57 kann ein Makro sein. Jeder Thread erhält eine eigene
59 wird sie in einem Thread gesetzt, wirkt sich das nicht auf ihren Wert
60 in anderen Threads aus.
62 Alle gültigen Fehlernummern sind ungleich 0; keine
63 Bibliotheksfunktion setzt
65 auf 0. Alle von POSIX.1 definierten Fehlerbezeichnungen müssen
66 voneinander verschiedene Werte besitzen.
68 POSIX.1 enthält (in der Ausgabe von 2001) die nachfolgende Liste
69 symbolischer Fehlerbezeichnungen. Im ISO-C-Standard sind davon
73 vorgesehen. Der ISO-C Zusatz 1 definiert zusätzlich die Fehlernummer
75 für Kodierungsfehler bei Multi-Byte- oder Wide-Zeichen.
79 Die Argumentenliste zu lang
85 Adresse nicht verfügbar
88 Adressfamilie nicht unterstützt
91 Ressource zurzeit nicht verfügbar
94 Verbindung bereits in Bearbeitung
97 Ungültiger Dateideskriptor
103 Gerät oder Ressource belegt
106 Operation abgebrochen
115 Verbindung zurückgesetzt
118 Verklemmung beim Zugriff auf eine Ressource vermieden
130 Datei existiert bereits
139 Operation in Bearbeitung
142 Unterbrechung während des Betriebssystemaufrufs
148 Eingabe-/Ausgabefehler
157 Zuviele Stufen symbolischer Links
160 Zu viele offene Dateien
166 nicht ausreichend großer Puffer
178 Verbindung durch Netzwerk abgebrochen
181 Netzwerk unerreichbar
184 Zu viele offene Dateien im System
187 Kein Pufferspeicher verfügbar
190 Keine Nachricht verfügbar in der Lese-Warteschlange im STREAM-Kopf
193 Die Operation wird von diesem Gerät nicht unterstützt
196 Datei oder Verzeichnis nicht gefunden
199 Fehler im Format der Programmdatei
202 Keine Sperren verfügbar
208 Nicht genügend Hauptspeicher verfügbar
211 keine Nachricht des erwarteten Typs
214 Protokoll nicht verfügbar
217 kein Speicherplatz auf dem Gerät verfügbar
220 keine STREAM-Ressourcen
226 Die angeforderte Funktion ist nicht implementiert
229 Socket nicht verbunden
235 Das Verzeichnis ist nicht leer
241 Die Operation wird nicht unterstützt
244 Unpassender IOCTL (I/O-Control) für das Gerät
247 Das Gerät ist nicht konfiguriert
250 Operation nicht unterstützt auf diesem Socket
253 Wert zu lang, um im Datentyp gespeichert werden zu können
256 Die Operation ist nicht erlaubt
259 Datenübergabe unterbrochen (broken pipe)
265 Protokoll nicht unterstützt
268 falscher Protokolltyp für Socket
271 Das numerische Ergebnis ist außerhalb des gültigen Bereiches
274 Das Dateisystem ist nur lesbar
280 Kein passender Prozess gefunden
286 Timeout im STREAM-ioctl()
289 Die Wartezeit für die Verbindung ist abgelaufen
292 Textdatei kann nicht ausgeführt werden, weil sie noch zum Schreiben
296 Operation würde blockieren (kann der gleiche Wert wie
301 Ungültiger Link über Gerätegrenzen hinweg
304 Ein beliebter Fehler ist
308 if (somecall() == -1) {
309 printf("somecall() failed\en");
310 if (errno == ...) { ... }
317 nicht mehr den gleichen Wert beinhalten muss, den es nach Rückkehr von
319 gehabt hat. Wenn der Wert von
321 über einen Bibliotheksaufruf gesichert werden soll, muss er explizit
326 if (somecall() == -1) {
328 printf("somecall() failed\en");
329 if (errsv == ...) { ... }