.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl) .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" 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, see .\" . .\" %%%LICENSE_END .\" .\" 5 Oct 2002, Modified by Michael Kerrisk .\" Updated for POSIX.1 2001 .\" 2004-12-17 Martin Schulze , mtk .\" Removed errno declaration prototype, added notes .\" 2006-02-09 Kurt Wall, mtk .\" Added non-POSIX errors .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ERRNO 3 "6. September 2014" "" Linux\-Programmierhandbuch .SH BEZEICHNUNG errno \- Nummer des letzten aufgetretenen Fehlers .SH ÜBERSICHT .\".sp .\".BI "extern int " errno ; \fB#include \fP .SH BESCHREIBUNG Die Header\-Datei \fI\fP definiert die Integer\-Variable \fIerrno\fP. Sie wird von Systemaufrufen (und einigen Bibliotheksfunktionen) gesetzt, um anzuzeigen, was schief gelaufen ist. Ihr Wert ist nur dann von Bedeutung, wenn der Rückgabewert des Funktionsaufrufs einen Fehler anzeigt (d.h. \-1 bei den meisten Systemaufrufen; \-1 oder NULL bei den meisten Bibliotheksfunktionen). Eine erfolgreich aufgerufene Funktion \fIdarf\fP den Wert von \fIerrno\fP ändern. Gültige Fehlernummern sind allesamt ungleich 0; kein Systemaufruf und keine Bibliotheksfunktion setzt \fIerrno\fP auf 0. Für einige Systemaufrufe und Bibliotheksfunktionen (wie z.B. \fBgetpriority\fP(2)) ist \-1 ein gültiger Rückgabewert bei erfolgreichem Funktionsaufruf. In solchen Fällen kann eine erfolgreiche von einer fehlgeschlagenen Ausführung der Funktion unterschieden werden, indem vor dem Aufruf \fIerrno\fP auf Null gesetzt wird und wenn der Rückgabestatus einen Fehler anzeigt, \fIerrno\fP untersucht wird. Der ISO\-C\-Standard definiert \fIerrno\fP als veränderbaren lvalue des Typs \fIint\fP, der nicht explizit deklariert sein muss; \fIerrno\fP darf ein Makro sein. Jeder Thread erhält eine eigene, lokale \fBerrno\fP; wird sie in einem Thread gesetzt, wirkt sich das nicht auf ihren Wert in anderen Threads aus. Mit einer Ausnahme müssen alle von POSIX.1 beschriebenen Fehlernamen unterschiedliche Werte haben. \fBEAGAIN\fP und \fBEWOULDBLOCK\fP dürfen gleich sein. .\" The following is now .\" POSIX.1 (2001 edition) lists the following symbolic error names. Of .\" these, \fBEDOM\fP and \fBERANGE\fP are in the ISO C standard. ISO C .\" Amendment 1 defines the additional error number \fBEILSEQ\fP for .\" coding errors in multibyte or wide characters. .\" Es folgt eine Liste der symbolischen Fehlernamen, die für Linux definiert sind. Einige von ihnen sind mit \fIPOSIX.1\fP gekennzeichnet, weil der Name von POSIX.1\-2001 definiert wird; analog weist \fIC99\fP auf C99 hin. .TP 16 \fBE2BIG\fP Argumentliste zu lang (POSIX.1) .TP \fBEACCES\fP Keine Berechtigung (POSIX.1) .TP \fBEADDRINUSE\fP Adresse schon in Gebrauch (POSIX.1) .TP \fBEADDRNOTAVAIL\fP .\" EADV is only an error on HURD(?) Adresse nicht verfügbar (POSIX.1) .TP \fBEAFNOSUPPORT\fP Adressfamilie nicht unterstützt (POSIX.1) .TP \fBEAGAIN\fP Ressource zeitweise nicht verfügbar (darf der gleiche Wert sein wie \fBEWOULDBLOCK\fP, POSIX.1) .TP \fBEALREADY\fP Verbindung ist schon aufgebaut (POSIX.1) .TP \fBEBADE\fP Austausch ungültig .TP \fBEBADF\fP Schlechter Dateideskriptor (POSIX.1) .TP \fBEBADFD\fP Dateideskriptor in schlechtem Zustand .TP \fBEBADMSG\fP Ungültige Nachricht (POSIX.1) .TP \fBEBADR\fP Ungültiger Anforderungsdeskriptor .TP \fBEBADRQC\fP Ungültiger Anforderungscode .TP \fBEBADSLT\fP .\" EBFONT is defined but appears not to be used by kernel or glibc. Ungültiger Slot .TP \fBEBUSY\fP Gerät oder Ressource beschäftigt/belegt .TP \fBECANCELED\fP Operation abgebrochen (POSIX.1) .TP \fBECHILD\fP Keine Kind\-Prozesse (POSIX.1) .TP \fBECHRNG\fP Kanalnummer außerhalb des zulässigen Bereichs .TP \fBECOMM\fP Kommunikationsfehler beim Senden .TP \fBECONNABORTED\fP Verbindung abgebrochen (POSIX.1) .TP \fBECONNREFUSED\fP Verbindung abgelehnt (POSIX.1) .TP \fBECONNRESET\fP Verbindung zurückgesetzt (POSIX.1) .TP \fBEDEADLK\fP Verklemmung beim Zugriff auf eine Resource (deadlock) vermieden (POSIX.1) .TP \fBEDEADLOCK\fP Synonym für \fBEDEADLK\fP .TP \fBEDESTADDRREQ\fP Zieladresse erforderlich (POSIX.1) .TP \fBEDOM\fP .\" EDOTDOT is defined but appears to be unused Argument einer mathematischen Funktion außerhalb des Definitionsbereichs (POSIX.1, C99) .TP \fBEDQUOT\fP .\" POSIX just says "Reserved" Festplattenkontingent (disk quota) überschritten (POSIX.1) .TP \fBEEXIST\fP Datei schon vorhanden (POSIX.1) .TP \fBEFAULT\fP Ungültige Adresse (POSIX.1) .TP \fBEFBIG\fP Datei zu groß (POSIX.1) .TP \fBEHOSTDOWN\fP Host/Rechner ist nicht in Betrieb .TP \fBEHOSTUNREACH\fP Host/Rechner nicht erreichbar (POSIX.1) .TP \fBEIDRM\fP Identifier/Bezeichner/Kennung entfernt (POSIX.1) .TP \fBEILSEQ\fP Ungültige Byte\-Sequenz (POSIX.1, C99) .TP \fBEINPROGRESS\fP Operation wird gerade ausgeführt (POSIX.1) .TP \fBEINTR\fP Aufruf einer unterbrochenen Funktion (POSIX.1); siehe \fBsignal\fP(7) .TP \fBEINVAL\fP Ungültiges Argument (POSIX.1) .TP \fBEIO\fP E/A\-Fehler (POSIX.1) .TP \fBEISCONN\fP Socket ist verbunden (POSIX.1) .TP \fBEISDIR\fP Ist ein Verzeichnis (POSIX.1) .TP \fBEISNAM\fP Ist eine Datei benannten Typs .TP \fBEKEYEXPIRED\fP Schlüssel ist abgelaufen .TP \fBEKEYREJECTED\fP Schlüssel wurde vom Dienst zurückgewiesen. .TP \fBEKEYREVOKED\fP Schlüssel wurde widerrufen. .TP \fBEL2HLT\fP Ebene 2 angehalten .TP \fBEL2NSYNC\fP Ebene 2 nicht synchronisiert .TP \fBEL3HLT\fP Ebene 3 angehalten .TP \fBEL3RST\fP Ebene 3 angehalten .TP \fBELIBACC\fP Zugriff auf notwendige Laufzeitbibliothek nicht möglich .TP \fBELIBBAD\fP Zugriff auf eine beschädigte Laufzeitbibliothek .TP \fBELIBMAX\fP Versuch, zu viele Laufzeitbibliotheken zu linken .TP \fBELIBSCN\fP Bibliotheksabschnitt in a.out defekt .TP \fBELIBEXEC\fP Eine Laufzeitbibliothek kann nicht direkt ausgeführt werden .TP \fBELOOP\fP .\" ELNRNG is defined but appears to be unused Zu viele Ebenen von symbolischen Links (POSIX.1) .TP \fBEMEDIUMTYPE\fP Falscher Medientyp .TP \fBEMFILE\fP Zu viele offene Dateien (POSIX.1) .TP \fBEMLINK\fP Zu viele Links (POSIX.1) .TP \fBEMSGSIZE\fP Nachricht zu lang (POSIX.1) .TP \fBEMULTIHOP\fP .\" POSIX says "Reserved" Multihop (mehrere Etappen) versucht (POSIX.1) .TP \fBENAMETOOLONG\fP .\" ENAVAIL is defined, but appears not to be used Dateiname zu lang (POSIX.1) .TP \fBENETDOWN\fP Netzwerk außer Betrieb (POSIX.1) .TP \fBENETRESET\fP Verbindungsabbruch durch das Netzwerk (POSIX.1) .TP \fBENETUNREACH\fP Netzwerk nicht erreichbar (POSIX.1) .TP \fBENFILE\fP .\" ENOANO is defined but appears to be unused. Zu viele offene Dateien im System (POSIX.1) .TP \fBENOBUFS\fP .\" ENOCSI is defined but appears to be unused. Kein Platz für Puffer verfügbar (POSIX.1 (XSI STREAMS option)) .TP \fBENODATA\fP Im STREAM\-Head der Lese\-Warteschlange ist keine Nachricht verfügbar. (POSIX.1) .TP \fBENODEV\fP Kein solches Gerät vorhanden (POSIX.1) .TP \fBENOENT\fP Datei oder Verzeichnis nicht vorhanden (POSIX.1) .TP \fBENOEXEC\fP Fehler im Format der Programmdatei (POSIX.1) .TP \fBENOKEY\fP Erforderlicher Schlüssel nicht verfügbar .TP \fBENOLCK\fP Keine Sperren verfügbar (POSIX.1) .TP \fBENOLINK\fP .\" POSIX says "Reserved" Link wurde erschwert (POSIX.1) .TP \fBENOMEDIUM\fP Kein Medium gefunden .TP \fBENOMEM\fP Nicht genügend Platz (POSIX.1) .TP \fBENOMSG\fP Keine Nachricht vom gewünschten Typ (POSIX.1) .TP \fBENONET\fP Machine ist nicht an das Netzwerk angeschlossen .TP \fBENOPKG\fP Paket nicht installiert .TP \fBENOPROTOOPT\fP Protokoll nicht verfügbar (POSIX.1) .TP \fBENOSPC\fP Auf dem Gerät ist kein Speicherplatz mehr verfügbar (POSIX.1) .TP \fBENOSR\fP Keine STREAM\-Ressourcen (POSIX.1 (Option XSI STREAMS)) .TP \fBENOSTR\fP Ist kein STREAM (POSIX.1 (XSI STREAMS option)) .TP \fBENOSYS\fP Funktion nicht implementiert (POSIX.1) .TP \fBENOTBLK\fP Blockgerät erforderlich .TP \fBENOTCONN\fP Der Socket ist nicht verbunden (POSIX.1) .TP \fBENOTDIR\fP Ist kein Verzeichnis (POSIX.1) .TP \fBENOTEMPTY\fP .\" ENOTNAM is defined but appears to be unused. Das Verzeichnis ist nicht leer (POSIX.1) .TP \fBENOTSOCK\fP Ist kein Socket (POSIX.1) .TP \fBENOTSUP\fP Operation wird nicht unterstützt (POSIX.1) .TP \fBENOTTY\fP Unpassende E/A\-Steuerungsoperation (POSIX.1) .TP \fBENOTUNIQ\fP Name ist im Netzwerk nicht eindeutig .TP \fBENXIO\fP Kein solches Gerät/Adresse (POSIX.1) .TP \fBEOPNOTSUPP\fP Operation für Sockets nicht unterstützt (POSIX.1) .sp (\fBENOTSUP\fP und \fBEOPNOTSUPP\fP haben auf Linux den gleichen Wert, gemäß POSIX.1 sollten diese Fehlerwerte unterschiedlich sein.) .TP \fBEOVERFLOW\fP Wert zu groß für Speicherung im Datentyp (POSIX.1) .TP \fBEPERM\fP Operation nicht gestattet (POSIX.1) .TP \fBEPFNOSUPPORT\fP Protokollfamilie nicht unterstützt .TP \fBEPIPE\fP Pipe unterbrochen (POSIX.1) .TP \fBEPROTO\fP Protokollfehler (POSIX.1) .TP \fBEPROTONOSUPPORT\fP Protokoll nicht unterstützt (POSIX.1) .TP \fBEPROTOTYPE\fP Falscher Protokolltyp für Socket (POSIX.1) .TP \fBERANGE\fP Ergebnis zu groß (POSIX.1, C99) .TP \fBEREMCHG\fP Entfernte Adresse geändert .TP \fBEREMOTE\fP Objekt ist entfernt/nicht lokal .TP \fBEREMOTEIO\fP Entfernter E/A\-Fehler .TP \fBERESTART\fP Unterbrochener Systemaufruf sollte erneut gestart werden .TP \fBEROFS\fP nur\-lesbares Dateisystem (POSIX.1) .TP \fBESHUTDOWN\fP Senden nach Herunterfahren des Transport\-Endpunktes nicht möglich .TP \fBESPIPE\fP ungültiger Seek (POSIX.1) .TP \fBESOCKTNOSUPPORT\fP Socket\-Typ nicht unterstützt .TP \fBESRCH\fP .\" ESRMNT is defined but appears not to be used Kein passender Prozess gefunden (POSIX.1) .TP \fBESTALE\fP »Abgestandener« Datei\-Handle (POSIX.1) .sp Dieser Fehler kann für NFS\- und für andere Dateisysteme auftreten. .TP \fBESTRPIPE\fP Stream\-Pipelinefehler .TP \fBETIME\fP Zeit abgelaufen (POSIX.1 (XSI STREAMS option)) .sp (POSIX.1 nennt das »STREAM \fBioctl\fP(2) timeout«) .TP \fBETIMEDOUT\fP .\" ETOOMANYREFS is defined, but appears not to be used. Die Wartezeit für die Verbindung ist abgelaufen (POSIX.1) .TP \fBETXTBSY\fP Textdatei belegt (POSIX.1) .TP \fBEUCLEAN\fP Struktur muss aufgeräumt werden .TP \fBEUNATCH\fP Kein zugeordneter Treiber für Protokoll .TP \fBEUSERS\fP Zu viele Benutzer .TP \fBEWOULDBLOCK\fP Operation würden blockieren (darf der gleiche Wert sein wie \fBEAGAIN\fP, POSIX.1) .TP \fBEXDEV\fP Ungültiger Link (POSIX.1) .TP \fBEXFULL\fP Austausch/Vermittlungsstelle voll .SH ANMERKUNGEN Ein verbreiteter Programmierfehler ist .in +4n .nf if (somecall() == \-1) { printf("somecall() fehlgeschlagen\en"); if (errno == ...) { ... } } .fi .in Hier muss \fIerrno\fP nicht mehr den Wert haben, den er bei der Rückkehr aus\fIsomecall\fP() hatte. (D.h., der Wert konnte durch den Aufruf von \fBprintf\fP(3) verändert werden). Wenn der Wert von \fIerrno\fP über einen Bibliotheksaufruf erhalten bleiben soll, muss er gespeichert werden: .in +4n .nf if (somecall() == \-1) { int errsv = errno; printf("somecall() fehlgeschlagen\en"); if (errsv == ...) { ... } } .fi .in .PP Im traditionellen C war es gebräuchlich, \fIerrno\fP manuell (mittels \fIextern int errno\fP) zu deklarieren anstatt \fI\fP einzubinden. \fBUnterlassen Sie das\fP. Das wird mit modernen Versionen der C\-Bibliothek nicht funktionieren. Es kann aber auf (sehr) alten UNIX\-Systemen vorkommen, dass \fI\fP fehlt und die Deklaration erforderlich ist. .SH "SIEHE AUCH" .\" In the moreutils package \fBerrno\fP(1), \fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 3.74 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%http://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer und Mario Blättermann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .