Sync with man-pages 1.70:
authorJoey Schulze <joey@infodrom.org>
Mon, 29 Nov 2004 07:59:48 +0000 (07:59 +0000)
committerJoey Schulze <joey@infodrom.org>
Mon, 29 Nov 2004 07:59:48 +0000 (07:59 +0000)
5 Oct 2002, Modified by Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
  Updated for POSIX 1003.1 2001

man3/errno.3

index a7b3a94..f3003f6 100644 (file)
@@ -22,7 +22,9 @@
 .\"
 .\" Translated into german by Christoph Seibert <seibert@cs.uni-bonn.de>
 .\"
-.TH ERRNO 3 "16. März 1999" "" "Bibliotheksfunktionen"
+.\" sync: man-pages 1.70
+.\"
+.TH ERRNO 3 "5. Oktober 2002" "" "Bibliotheksfunktionen"
 .SH BEZEICHNUNG
 errno \- die Nummer des letzten aufgetretenen Fehlers
 .SH "ÜBERSICHT"
@@ -63,24 +65,33 @@ Bibliotheksfunktion setzt
 auf 0.  Alle von POSIX.1 definierten Fehlerbezeichnungen müssen
 voneinander verschiedene Werte besitzen.
 
-POSIX.1 enthält (in der Ausgabe von 1996) die nachfolgende Liste
+POSIX.1 enthält (in der Ausgabe von 2001) die nachfolgende Liste
 symbolischer Fehlerbezeichnungen.  Im ISO-C-Standard sind davon
 .B EDOM
 und
 .B ERANGE
 vorgesehen.  Der ISO-C Zusatz 1 definiert zusätzlich die Fehlernummer
 .B EILSEQ
-(Ungültiges oder unvollständiges Multi-Byte oder Wide-Zeichen).
+für Kodierungsfehler bei Multi-Byte- oder Wide-Zeichen.
 
 .TP
 .B E2BIG
-Die Argumentliste ist zu lang
+Die Argumentenliste zu lang
 .TP
 .B EACCES
 Keine Berechtigung
 .TP
+.B EADDRNOTAVAIL
+Adresse nicht verfügbar
+.TP
+.B EAFNOSUPPORT
+Adreßfamilie nicht unterstützt
+.TP
 .B EAGAIN
-Die Resource ist zurzeit nicht verfügbar
+Die Resource zur Zeit nicht verfügbar
+.TP
+.B EALREADY
+Verbindung bereits in Bearbeitung
 .TP
 .B EBADF
 Ungültiger Dateideskriptor
@@ -89,7 +100,7 @@ Ung
 Ungültige Nachricht
 .TP
 .B EBUSY
-Das Gerät oder die Resource ist belegt
+Gerät oder Resource belegt
 .TP
 .B ECANCELED
 Operation abgebrochen
@@ -97,36 +108,54 @@ Operation abgebrochen
 .B ECHILD
 Keine Kind-Prozesse
 .TP
+.B ECONNREFUSED
+Verbindung abgelehnt
+.TP
+.B ECONNRESET
+Verbindung zurückgesetzt
+.TP
 .B EDEADLK
 Verklemmung beim Zugriff auf eine Resource vermieden
 .TP
+.B EDESTADDRREQ
+Zieladresse erwartet
+.TP
 .B EDOM
-Das numerische Argument ist außerhalb des Definitionsbereiches
+Domain-Fehler
+.TP
+.B EDQUOT
+reserviert
 .TP
 .B EEXIST
-Die Datei existiert bereits
+Datei existiert bereits
 .TP
 .B EFAULT
 Ungültige Adresse
 .TP
 .B EFBIG
-Die Datei ist zu groß
+Datei zu groß
 .TP
 .B EINPROGRESS
-Die Operation ist jetzt in Bearbeitung
+Operation in Bearbeitung
 .TP
 .B EINTR
 Unterbrechung während des Betriebssystemaufrufs
 .TP
 .B EINVAL
-Das Argument ist ungültig
+Argument ungültig
 .TP
 .B EIO
 Eingabe-/Ausgabefehler
 .TP
+.B EISCONN
+Socket ist verbunden
+.TP
 .B EISDIR
 Ist ein Verzeichnis
 .TP
+.B ELOOP
+Zuviele Stufen symbolischer Links
+.TP
 .B EMFILE
 Zu viele offene Dateien
 .TP
@@ -134,14 +163,32 @@ Zu viele offene Dateien
 Zu viele Links
 .TP
 .B EMSGSIZE
-Die Nachricht ist zu lang
+nicht ausreichend großer Puffer
+.TP
+.B EMULTIHOP
+reserviert
 .TP
 .B ENAMETOOLONG
-Der Dateiname ist zu lang
+Dateiname zu lang
+.TP
+.B ENETDOWN
+Netzwerk ist unten
+.TP
+.B ENETRESET
+Verbindung durch Netzwerk abgebrochen
+.TP
+.B ENETUNREACH
+Netzwerk unerreichbar
 .TP
 .B ENFILE
 Zu viele offene Dateien im System
 .TP
+.B ENOBUFS
+Kein Pufferspeicher verfügbar
+.TP
+.B ENODATA
+Keine Nachricht verfügbar in der Lese-Warteschlange im STREAM-Kopf
+.TP
 .B ENODEV
 Die Operation wird von diesem Gerät nicht unterstützt
 .TP
@@ -154,21 +201,42 @@ Fehler im Format der Programmdatei
 .B ENOLCK
 Keine Sperren verfügbar
 .TP
+.B ENOLINK
+reserviert
+.TP
 .B ENOMEM
 Nicht genügend Hauptspeicher verfügbar
 .TP
+.B ENOMSG
+keine Nachricht des erwarteten Typs
+.TP
+.B ENOPROTOOPT
+Protokoll nicht verfügbar
+.TP
 .B ENOSPC
-Auf dem Gerät ist kein Speicherplatz mehr verfügbar
+kein Speicherplatz auf dem Gerät verfügbar
+.TP
+.B ENOSR
+keine STREAM-Resourcen
+.TP
+.B ENOSTR
+kein STREAM
 .TP
 .B ENOSYS
 Die angeforderte Funktion ist nicht implementiert
 .TP
+.B ENOTCONN
+Socket nicht verbunden
+.TP
 .B ENOTDIR
 Ist kein Verzeichnis
 .TP
 .B ENOTEMPTY
 Das Verzeichnis ist nicht leer
 .TP
+.B ENOTSOCK
+kein Socket
+.TP
 .B ENOTSUP
 Die Operation wird nicht unterstützt
 .TP
@@ -178,12 +246,27 @@ Unpassender IOCTL (I/O-Control) f
 .B ENXIO
 Das Gerät ist nicht konfiguriert
 .TP
+.B EOPNOTSUPP
+Operation nicht unterstützt auf diesem Socket
+.TP
+.B EOVERFLOW
+Wert zu lang, um im Datentyp gespeichert werden zu können
+.TP
 .B EPERM
 Die Operation ist nicht erlaubt
 .TP
 .B EPIPE
 Datenübergabe unterbrochen (broken pipe)
 .TP
+.B EPROTO
+Protokoll-Fehler
+.TP
+.B EPROTONOSUPPORT
+Protokoll nicht unterstützt
+.TP
+.B EPROTOTYPE
+falscher Protokolltyp für Socket
+.TP
 .B ERANGE
 Das numerische Ergebnis ist außerhalb des gültigen Bereiches
 .TP
@@ -196,21 +279,55 @@ Nicht erlaubter Seek
 .B ESRCH
 Kein passender Prozeß gefunden
 .TP
+.B ESTALE
+reserviert
+.TP
+.B ETIME
+Timeout im STREAM-ioctl()
+.TP
 .B ETIMEDOUT
 Die Wartezeit für die Verbindung ist abgelaufen
 .TP
+.B ETXTBSY
+Textdatei kann nicht ausgeführt werden, weil sie noch zum Schreiben
+geöffnet ist.
+.TP
+.B EWOULDBLOCK
+Operation würde blockieren (kann der gleiche Wert wie EAGAIN sein)
+.TP
 .B EXDEV
 Ungültiger Link über Gerätegrenzen hinweg
 .PP
-Die verschiedenen Unix-Implementierungen geben viele weitere
-Fehlermeldungen zurück.  System V gibt
-.B ETXTBSY
-(Das Programm kann nicht ausgeführt oder verändert werden (busy))
-zurück, wenn versucht wird, exec() auf einer Datei aufzurufen, die zum
-Schreiben geöffnet ist.  Linux gibt diesen Fehler ebenfalls zurück,
-wenn der Versuch unternommen wird, eine Datei sowohl mit VM_DENYWRITE
-in den Speicher abzubilden als auch zum Schreiben zu öffnen.
+.SH ANMERKUNG
+Ein beliebter Fehler ist
+.RS
+.nf
 
+if (somecall() == -1) {
+    printf("somecall() failed\en");
+    if (errno == ...) { ... }
+}
+
+.fi
+.RE
+zu schreiben, wobei
+.I errno
+nicht mehr den gleichen Wert beinhalten muß, den sie nach Rückkehr von 
+.I somecall()
+gehabt hat.  Wenn der Wert von
+.I errno
+über einen Bibliotheksaufruf gesichert werden soll, muß er explizit
+gespeichert werden:
+.RS
+.nf
+
+if (somecall() == -1) {
+    int errsv = errno;
+    printf("somecall() failed\en");
+    if (errsv == ...) { ... }
+}
+.fi
+.RE
 .SH "SIEHE AUCH"
 .BR perror (3),
 .BR strerror (3).