Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

ERRNO

Section: Bibliotheksfunktionen (3)
Updated: 16. März 1999
Index Return to Main Contents
 

BEZEICHNUNG

errno - die Nummer des letzten aufgetretenen Fehlers  

ÜBERSICHT

#include <errno.h>

extern int errno;
 

BESCHREIBUNG

Die Integer-Variable 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) zurückgegeben hat. Eine Bibliotheksfunktion darf errno ändern, selbst wenn sie erfolgreich verläuft.

Ist -1 auch ein gültiger Rückgabewert, muß errno vor dem Aufruf auf 0 gesetzt werden, um eventuelle Fehler entdecken zu können.

Der ISO-C-Standard definiert errno als veränderbaren lvalue des Typs int, der nicht explizit deklariert sein muß; errno kann ein Makro sein. Jeder Thread erhält eine eigene errno; wird sie in einem Thread gesetzt, wirkt sich das nicht auf ihren Wert in anderen Threads aus.

Alle gültigen Fehlernummern sind ungleich 0; keine Bibliotheksfunktion setzt errno 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 symbolischer Fehlerbezeichnungen. Im ISO-C-Standard sind davon EDOM und ERANGE vorgesehen. Der ISO-C Zusatz 1 definiert zusätzlich die Fehlernummer EILSEQ (Ungültiges oder unvollständiges Multi-Byte oder Wide-Zeichen).

E2BIG
Die Argumentliste ist zu lang
EACCES
Keine Berechtigung
EAGAIN
Die Resource ist zurzeit nicht verfügbar
EBADF
Ungültiger Dateideskriptor
EBADMSG
Ungültige Nachricht
EBUSY
Das Gerät oder die Resource ist belegt
ECANCELED
Operation abgebrochen
ECHILD
Keine Kind-Prozesse
EDEADLK
Verklemmung beim Zugriff auf eine Resource vermieden
EDOM
Das numerische Argument ist außerhalb des Definitionsbereiches
EEXIST
Die Datei existiert bereits
EFAULT
Ungültige Adresse
EFBIG
Die Datei ist zu groß
EINPROGRESS
Die Operation ist jetzt in Bearbeitung
EINTR
Unterbrechung während des Betriebssystemaufrufs
EINVAL
Das Argument ist ungültig
EIO
Eingabe-/Ausgabefehler
EISDIR
Ist ein Verzeichnis
EMFILE
Zu viele offene Dateien
EMLINK
Zu viele Links
EMSGSIZE
Die Nachricht ist zu lang
ENAMETOOLONG
Der Dateiname ist zu lang
ENFILE
Zu viele offene Dateien im System
ENODEV
Die Operation wird von diesem Gerät nicht unterstützt
ENOENT
Datei oder Verzeichnis nicht gefunden
ENOEXEC
Fehler im Format der Programmdatei
ENOLCK
Keine Sperren verfügbar
ENOMEM
Nicht genügend Hauptspeicher verfügbar
ENOSPC
Auf dem Gerät ist kein Speicherplatz mehr verfügbar
ENOSYS
Die angeforderte Funktion ist nicht implementiert
ENOTDIR
Ist kein Verzeichnis
ENOTEMPTY
Das Verzeichnis ist nicht leer
ENOTSUP
Die Operation wird nicht unterstützt
ENOTTY
Unpassender IOCTL (I/O-Control) für das Gerät
ENXIO
Das Gerät ist nicht konfiguriert
EPERM
Die Operation ist nicht erlaubt
EPIPE
Datenübergabe unterbrochen (broken pipe)
ERANGE
Das numerische Ergebnis ist außerhalb des gültigen Bereiches
EROFS
Das Dateisystem ist nur lesbar
ESPIPE
Nicht erlaubter Seek
ESRCH
Kein passender Prozeß gefunden
ETIMEDOUT
Die Wartezeit für die Verbindung ist abgelaufen
EXDEV
Ungültiger Link über Gerätegrenzen hinweg

Die verschiedenen Unix-Implementierungen geben viele weitere Fehlermeldungen zurück. System V gibt 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.

 

SIEHE AUCH

perror(3), strerror(3).


 

Index

BEZEICHNUNG
ÜBERSICHT
BESCHREIBUNG
SIEHE AUCH

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man3". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.