Übersicht der Fehlercodes

Aus C und Assembler mit Raspberry
Version vom 11. April 2025, 19:45 Uhr von Satyria (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Übersicht der Fehlercodes
Fehlercode Kurzname Bedeutung
1 EPERM Vorgang nicht zulässig – Der aufgerufene Vorgang erfordert höhere Berechtigungen (z. B. Root-Rechte).
2 ENOENT Datei oder Verzeichnis nicht gefunden – Der angegebene Pfad ist ungültig oder existiert nicht.
3 ESRCH Kein solcher Prozess – Es existiert kein Prozess mit der angegebenen PID.
4 EINTR Unterbrochener Systemaufruf – Der Systemaufruf wurde durch ein Signal unterbrochen.
5 EIO E/A-Fehler – Allgemeiner Fehler bei Ein- oder Ausgabeoperationen auf einem Gerät.
6 ENXIO Kein solches Gerät oder keine solche Adresse – Das Gerät existiert nicht oder ist nicht verfügbar.
7 E2BIG Argumentliste zu lang – Die Anzahl oder Größe der Argumente für einen `exec`-Aufruf überschreitet das Limit.
8 ENOEXEC Exec-Formatfehler – Die aufgerufene Datei ist kein ausführbares Programm oder enthält ein ungültiges Format.
9 EBADF Ungültige Dateinummer – Ein ungültiger oder nicht geöffneter Dateideskriptor wurde verwendet.
10 ECHILD Keine Kindprozesse – Es gibt keine Kindprozesse, auf die gewartet werden kann.
11 EAGAIN Erneut versuchen – Die Ressource ist momentan nicht verfügbar, der Aufruf sollte später wiederholt werden.
12 ENOMEM Nicht genügend Arbeitsspeicher – Für den Vorgang konnte kein Speicher reserviert werden.
13 EACCES Zugriff verweigert – Keine Berechtigung für den Zugriff auf die Ressource oder Datei.
14 EFAULT Ungültige Adresse – Ein Zeiger verweist auf eine Adresse außerhalb des erlaubten Speicherbereichs.
15 ENOTBLK Blockgerät erforderlich – Es wurde ein Gerät erwartet, das blockweises Lesen/Schreiben unterstützt.
16 EBUSY Gerät oder Ressource beschäftigt – Die angeforderte Ressource ist momentan in Benutzung.
17 EEXIST Datei existiert bereits – Die Zieldatei existiert und darf nicht überschrieben werden.
18 EXDEV Geräteübergreifender Link – Ein Hardlink zwischen zwei unterschiedlichen Dateisystemen wurde versucht.
19 ENODEV Kein solches Gerät – Das angeforderte Gerät wird vom System nicht unterstützt.
20 ENOTDIR Kein Verzeichnis – Ein Pfadbestandteil, der ein Verzeichnis sein sollte, ist keiner.
21 EISDIR Ist ein Verzeichnis – Eine Dateioperation wurde auf ein Verzeichnis angewendet.
22 EINVAL Ungültiges Argument – Ein ungültiger Parameter wurde an den Systemaufruf übergeben.
23 ENFILE Dateitabellenüberlauf – Die maximale Anzahl an gleichzeitig geöffneten Dateien im System wurde erreicht.
24 EMFILE Zu viele offene Dateien – Der Prozess hat zu viele Dateien gleichzeitig geöffnet.
25 ENOTTY Ungültiger Terminaltyp – Die angeforderte Operation ist nur für Terminals/TTYs gültig.
26 ETXTBSY Textdatei belegt – Eine ausführbare Datei wird noch verwendet und kann nicht verändert werden.
27 EFBIG Datei zu groß – Die Datei überschreitet die zulässige maximale Größe.
28 ENOSPC Kein Speicherplatz mehr verfügbar – Auf dem Zielgerät ist kein freier Speicherplatz mehr vorhanden.
29 ESPIPE Ungültiger seek() – Versucht, eine Dateiposition in einer Pipe, FIFO oder Socket zu ändern.
30 EROFS Schreibversuch auf schreibgeschütztem Dateisystem – Das Ziel liegt auf einem Read-only-Dateisystem.
31 EMLINK Zu viele Links – Die maximale Anzahl an Hardlinks für eine Datei wurde erreicht.
32 EPIPE Broken Pipe – Es wurde in eine Pipe geschrieben, für die der Leser nicht mehr existiert.
33 EDOM Ungültiger mathematischer Bereich – Ein Argument liegt außerhalb des gültigen Definitionsbereichs (z. B. Wurzel aus negativ).
34 ERANGE Ergebnisbereich überschritten – Das Ergebnis einer mathematischen Funktion kann nicht dargestellt werden.
35 EDEADLK Ressourcen-Deadlock – Eine Operation würde zu einer gegenseitigen Blockierung (Deadlock) führen.
36 ENAMETOOLONG Dateiname zu lang – Ein Dateiname oder Pfad überschreitet das maximale zulässige Limit.
37 ENOLCK Keine Sperren verfügbar – Es sind keine weiteren Dateisperren im System verfügbar.
38 ENOSYS Ungültige Systemaufrufnummer – Der Systemaufruf ist nicht implementiert oder nicht verfügbar.
39 ENOTEMPTY Verzeichnis nicht leer – Ein Verzeichnis konnte nicht gelöscht werden, da es noch Dateien enthält.
40 ELOOP Zu viele symbolische Links gefunden – Beim Auflösen eines Pfades wurden zu viele Links verfolgt (Zyklische Verweise?).
- EWOULDBLOCK (Synonym zu EAGAIN) – Die Operation würde blockieren, sollte aber nicht blockieren (non-blocking Modus).
42 ENOMSG Keine Nachricht des gewünschten Typs – Im Nachrichtenpuffer ist keine Nachricht des erwarteten Typs vorhanden.
43 EIDRM Kennung entfernt – Die IPC-Ressource wurde gelöscht, während ein Zugriff versucht wurde.
44 ECHRNG Kanalnummer außerhalb des gültigen Bereichs – Inkompatibler Kommunikationskanal.
45 EL2NSYNC Level 2 nicht synchronisiert – Hardware-Kommunikationsfehler auf niedriger Protokollebene.
46 EL3HLT Level 3 angehalten – Kommunikationsprotokollfehler, dritte Schicht nicht mehr funktionsfähig.
47 EL3RST Level 3 zurücksetzen – Kommunikationsreset auf Ebene 3, möglicherweise durch ein Hardwareproblem.
48 ELNRNG Linknummer außerhalb des gültigen Bereichs – Ungültige Verbindung oder Schnittstelle angegeben.
49 EUNATCH Protokolltreiber nicht angeschlossen – Kein Kommunikationskanal zwischen Treibern verfügbar.
50 ENOCSI Keine CSI-Struktur verfügbar – Steuerinformationsstruktur fehlt, interne Systemressource.
51 EL2HLT Level 2 angehalten – Zweite Kommunikationsschicht gestoppt.
52 EBADE Ungültiger Austausch – Interprozesskommunikation (IPC) meldet inkonsistente Datenstruktur.
53 EBADR Ungültiger Anforderungsdeskriptor – Der übergebene Deskriptor ist ungültig.
54 EXFULL Vollständiger Austausch – IPC-Austauschplatz vollständig belegt.
55 ENOANO Keine Anode – Veraltet (nicht relevant auf modernen Systemen), hardwarebezogener Fehler.
56 EBADRQC Ungültiger Anforderungscode – Der Code eines Steuerbefehls ist unbekannt oder nicht erlaubt.
57 EBADSLT Ungültiger Steckplatz – Ein angeforderter Slot (z. B. in IPC oder Gerätekommunikation) ist ungültig.
- EDEADLOCK (Synonym zu EDEADLK) – Ressourcen-Deadlock würde entstehen, Operation wurde abgebrochen.
59 EBFONT Ungültiges Schriftartdateiformat – Fehler beim Zugriff auf oder Laden einer Schriftartdatei.
60 ENOSTR Gerät ist kein Stream – Die Operation ist nur auf Stream-Geräten erlaubt.
61 ENODATA Keine Daten verfügbar – Kein Input vorhanden, z. B. bei einem Stream- oder Pipe-Objekt.
62 ETIME Timer abgelaufen – Timeout bei einer Stream- oder Geräteoperation.
63 ENOSR Keine Stream-Ressourcen mehr vorhanden – Das System hat keine Ressourcen mehr für Streams.
64 ENONET Maschine ist nicht im Netzwerk – Netzwerkdienst oder Hardware nicht vorhanden.
65 ENOPKG Paket nicht installiert – Ein benötigtes Paket ist nicht installiert (z. B. RPC, X.25).
66 EREMOTE Objekt ist remote – Der Zugriff auf ein entferntes Objekt war nicht möglich.
67 ENOLINK Link wurde getrennt – Verbindung zwischen zwei Prozessen oder Systemkomponenten unterbrochen.
68 EADV Fehler beim Anzeigen – Anzeige- oder Referenzfehler bei entfernten Objekten (RFS).
69 ESRMNT Srmount-Fehler – Fehler bei der Verwaltung von Remote-Dateisystemen.
70 ECOMM Kommunikationsfehler beim Senden – Fehler bei der Datenübertragung über ein Gerät oder Netzwerk.
71 EPROTO Protokollfehler – Ein Protokollverstoß wurde festgestellt.
72 EMULTIHOP Multihop versucht – Der Pfad zu einem entfernten System oder Dateisystem enthält zu viele Weiterleitungen.
73 EDOTDOT RFS-spezifischer Fehler – Fehlerhafte Navigation mit ".." in Remote-Dateisystemen.
74 EBADMSG Keine Datennachricht – Ungültige oder fehlerhafte Nachricht empfangen.
75 EOVERFLOW Wert zu groß für definierten Datentyp – Ergebnis passt nicht in die Zielvariable.
76 ENOTUNIQ Name im Netzwerk nicht eindeutig – Der angeforderte Name ist nicht eindeutig auflösbar.
77 EBADFD Dateideskriptor in fehlerhaftem Zustand – Ungültige Verwendung eines Dateideskriptors.
78 EREMCHG Remote-Adresse geändert – Die Remote-Ressource hat sich verändert oder ist nicht mehr dieselbe.
79 ELIBACC Auf eine benötigte gemeinsam genutzte Bibliothek kann nicht zugegriffen werden – Bibliothek nicht lesbar oder fehlt.
80 ELIBBAD Zugriff auf eine beschädigte gemeinsam genutzte Bibliothek – Die Bibliothek ist korrupt.
81 ELIBSCN .lib-Abschnitt in a.out beschädigt – Fehlerhafte Sektion in ausführbarer Datei mit Bibliotheksbindung.
82 ELIBMAX Versuch, zu viele gemeinsam genutzte Bibliotheken einzubinden – Erlaubte Anzahl wurde überschritten.
83 ELIBEXEC Eine gemeinsam genutzte Bibliothek kann nicht direkt ausgeführt werden – Bibliothek wurde fälschlicherweise gestartet.
84 EILSEQ Unzulässige Bytefolge – Fehler bei der Zeichenkonvertierung (z. B. UTF-8).
85 ERESTART Unterbrochener Systemaufruf sollte neu gestartet werden – Wird intern verwendet, selten direkt sichtbar.
86 ESTRPIPE Streams-Pipe-Fehler – Nicht näher spezifizierter Fehler bei Stream Pipes.
87 EUSERS Zu viele Benutzer – Das System hat das Benutzerlimit erreicht.
88 ENOTSOCK Socket-Operation auf Nicht-Socket – Die angeforderte Operation erfordert einen Socket.
89 EDESTADDRREQ Zieladresse erforderlich – Eine Zieladresse wurde für den Socket-Versand nicht angegeben.
90 EMSGSIZE Nachricht zu lang – Die Nachricht ist zu groß für das Ziel oder den Puffer.
91 EPROTOTYPE Falscher Protokolltyp für Socket – Der Socket unterstützt das angegebene Protokoll nicht.
92 ENOPROTOOPT Protokoll nicht verfügbar – Die angegebene Option ist für das Protokoll nicht gültig.
93 EPROTONOSUPPORT Protokoll wird nicht unterstützt – Das Protokoll wird vom Socket oder System nicht erkannt.
94 ESOCKTNOSUPPORT Socket-Typ wird nicht unterstützt – Der angegebene Socket-Typ ist nicht zulässig.
95 EOPNOTSUPP Vorgang wird am Transportendpunkt nicht unterstützt – z. B. `listen()` auf einem UDP-Socket.
96 EPFNOSUPPORT Protokollfamilie wird nicht unterstützt – Netzwerkprotokollfamilie nicht verfügbar.
97 EAFNOSUPPORT Adressfamilie wird vom Protokoll nicht unterstützt – z. B. IPv6 nicht von Sockettyp unterstützt.
98 EADDRINUSE Adresse wird bereits verwendet – Eine Adresse oder Port ist bereits in Benutzung.
99 EADDRNOTAVAIL Die angeforderte Adresse kann nicht zugewiesen werden – IP-Adresse ungültig oder nicht verfügbar.
100 ENETDOWN Netzwerk ist ausgefallen – Kein Zugriff auf das Netzwerkgerät möglich.
101 ENETUNREACH Netzwerk ist nicht erreichbar – Es besteht keine Route zu dem Zielnetzwerk.
102 ENETRESET Netzwerkverbindung wegen Reset unterbrochen – Verbindung wurde durch Netzwerk-Reset verloren.
103 ECONNABORTED Software verursachte Verbindungsabbruch – Die Verbindung wurde vom System abgebrochen.
104 ECONNRESET Verbindung vom Peer zurückgesetzt – Die Gegenstelle hat die Verbindung unerwartet beendet.
105 ENOBUFS Kein Pufferspeicher verfügbar – Das System konnte keinen Speicher für Netzwerkpuffer bereitstellen.
106 EISCONN Transportendpunkt ist bereits verbunden – Die Verbindung besteht bereits, keine weitere Verbindung möglich.
107 ENOTCONN Transportendpunkt ist nicht verbunden – Operation setzt bestehende Verbindung voraus, aber es gibt keine.
108 ESHUTDOWN Senden nach Herunterfahren des Transportendpunkts nicht möglich – Verbindung wurde beendet, Senden nicht mehr erlaubt.
109 ETOOMANYREFS Zu viele Referenzen: kann nicht zusammengefügt werden – Systemgrenze für Referenzen auf Netzwerkobjekt erreicht.
110 ETIMEDOUT Verbindungs-Timeout – Zeitüberschreitung beim Versuch einer Netzwerkverbindung.
111 ECONNREFUSED Verbindung abgelehnt – Zielhost hat die Verbindung aktiv verweigert.
112 EHOSTDOWN Host ist down – Der Zielhost ist nicht erreichbar oder ausgeschaltet.
113 EHOSTUNREACH Keine Route zum Host – Es gibt keine bekannte Route zu diesem Host.
114 EALREADY Vorgang wird bereits ausgeführt – Eine nicht-blockierende Operation läuft bereits.
115 EINPROGRESS Vorgang läuft jetzt – Die nicht-blockierende Verbindung ist im Aufbau.
116 ESTALE Veralteter Datei-Handle – Datei wurde zwischenzeitlich entfernt oder verändert (z. B. bei NFS).
117 EUCLEAN Struktur muss gereinigt werden – Dateisystem meldet inkonsistente Zustände.
118 ENOTNAM Keine benannte XENIX-Typdatei – Veraltet; Dateityp wird nicht unterstützt.
119 ENAVAIL Keine XENIX-Semaphoren verfügbar – Veraltet; Systemressourcen veraltet oder erschöpft.
120 EISNAM Ist eine benannte Typdatei – Der Pfad verweist auf einen XENIX-Typ.
121 EREMOTEIO Remote-E/A-Fehler – Fehler beim Zugriff auf eine entfernte Datei oder Ressource.
122 EDQUOT Kontingent überschritten – Benutzer hat sein Speicherplatzlimit erreicht (Disk Quota).
123 ENOMEDIUM Kein Medium gefunden – Kein Datenträger im Laufwerk (z. B. leeres CD/DVD-Laufwerk).
124 EMEDIUMTYPE Falscher Medientyp – Medium wird nicht unterstützt oder ist inkompatibel.
125 ECANCELED Vorgang abgebrochen – Ein geplanter Vorgang wurde vom Benutzer oder System abgebrochen.
126 ENOKEY Erforderlicher Schlüssel nicht verfügbar – Kryptografischer Schlüssel fehlt.
127 EKEYEXPIRED Schlüssel ist abgelaufen – Kryptografischer Schlüssel ist nicht mehr gültig.
128 EKEYREVOKED Schlüssel wurde widerrufen – Der Schlüssel wurde deaktiviert oder zurückgezogen.
129 EKEYREJECTED Schlüssel wurde vom Dienst abgelehnt – Nicht autorisierter oder ungültiger Schlüssel.
130 EOWNERDEAD Besitzer gestorben – Zuvor gesperrte Ressource hat keinen gültigen Besitzer mehr (z. B. nach Thread-Absturz).
131 ENOTRECOVERABLE Zustand nicht wiederherstellbar – Kritischer Fehler, der nicht automatisch behoben werden kann.
132 ERFKILL Operation wegen RF-Kill nicht möglich – Die Funkverbindung (WLAN, Bluetooth) wurde per Software/Hardware deaktiviert.
133 EHWPOISON Speicherseite weist Hardwarefehler auf – Schwerwiegender RAM-Fehler (Hardwaredefekt erkannt).

Quelle:

https://github.com/torvalds/linux/blob/master/include/uapi/asm-generic/errno.h

https://github.com/torvalds/linux/blob/master/include/uapi/asm-generic/errno-base.h