home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1993-10-23 | 4.4 KB | 125 lines |
- DEFINITION MODULE err;
-
- (*****************************************************************************)
- (* Fehlercodes. *)
- (* *)
- (* 'errno' Wird nur bei Fehlern geaendert. Die Werte sind OS-spezifisch, und *)
- (* koennen sowohl negativ ("GEMDOS") als auch positiv ("*IX","PC/MSDOS") sein*)
- (* Unabhaengig von 'errno' wird von den Funktionen bei Fehlern immer ein *)
- (* negativer Wert geliefert (-1, wenn moeglich), oder ein NULL-Zeiger. *)
- (* Die Vorgehensweise ist also folgende: Liefert eine Funktion einen nega- *)
- (* tiven Wert (oder einen NULL-Zeiger), muss ueber 'errno' die genaue Fehler-*)
- (* meldung erfragt werden, falls benoetigt; dazu duerfen nur die symbolischen*)
- (* Konstanten benutzt werden. *)
- (*---------------------------------------------------------------------------*)
- (* 29-Nov-92, Holger Kleinschmidt *)
- (*****************************************************************************)
-
- VAR
- errno : INTEGER;
-
- #if GEMDOS
- CONST
- (* "BIOS" *)
-
- eOK = 0; (* Alles klar *)
- eRROR = -1; (* allgemeiner Fehler *)
- eDRVNR = -2; (* Geraet nicht bereit *)
- eUNCMD = -3; (* unbekanntes Kommando *)
- eCRC = -4; (* CRC-Fehler *)
- eBADRQ = -5; (* Kommando nicht ausfuehrbar *)
- eSEEK = -6; (* SEEK-Fehler *)
- eMEDIA = -7; (* ungültiger Bootsektor *)
- eSECNF = -8; (* Sektor nicht gefunden *)
- ePAPER = -9; (* Druckerfehler, Papier alle *)
- eWRITF = -10; (* Schreibfehler *)
- eREADF = -11; (* Lesefehler *)
- eGENRL = -12; (* allgemeiner Fehler, reserviert *)
- eWRPRO = -13; (* Schreibschutz *)
- eCHNG = -14; (* Diskette gewechselt *)
- eUNDEV = -15; (* unbekanntes Geraet *)
- eBADSF = -16; (* Formatierfehler *)
- eOTHER = -17; (* Diskette einlegen *)
-
- eINSERT = -18; (* Meta-DOS: Medium einlegen *)
- eDVNRSP = -19; (* Meta-DOS: Geraet antwortet nicht *)
-
-
- (* "GEMDOS" *)
-
- eINVFN = -32; (* ungueltige Funktionsnummer *)
- eFILNF = -33; (* Datei nicht gefunden *)
- ePTHNF = -34; (* Pfad nicht gefunden *)
- eNHNDL = -35; (* keine Dateikennung mehr frei *)
- eACCDN = -36; (* Zugriff verwehrt, Schreibschutz *)
- eIHNDL = -37; (* ungueltige Dateikennung *)
- eNSMEM = -39; (* kein Speicher frei *)
- eIMBA = -40; (* ungueltige Speicherblockadr. *)
- eDRIVE = -46; (* ungueltiges Laufwerk *)
- eNSAME = -48; (* unterschiedliche Laufwerke, Frename *)
- eNMFIL = -49; (* keine weitere Datei gefunden, Fsnext *)
-
- eLOCKED = -58; (* nur bei Netzwerk-"GEMDOS": Dateibereich geschuetzt *)
- eNSLOCK = -59; (* nur bei Netzwerk-"GEMDOS": Lock existiert nicht *)
-
- eRANGE = -64; (* ungueltiger Dateizeiger bei Seek *)
- eINTRN = -65; (* interner Fehler *)
- ePLFMT = -66; (* Programmdatei hat ungueltiges Format *)
- eGSBF = -67; (* Fehler bei Speicherfreigabe, -verkleinerung, Mshrink *)
-
- #elif PCDOS
- #else
- #endif
-
- (* POSIX-Fehlercodes
- *
- * "GEMDOS": Die Zuordnung zu den vorhandenen Fehlercodes wurde nur dort
- * vorgenommen, wo sich die Fehler einigermassen entsprechen, sonst
- * werden neue Codes verwendet, die nicht von "GEMDOS" als Fehlermeldung
- * geliefert werden ([0..-127]). Allerdings sind die "GEMDOS"-Fehlermeldungen
- * sowieso nicht besonders zuverlaessig...
- *)
-
- CONST
- E2BIG = -128;
- EACCES = eACCDN;
- EAGAIN = -129;
- EBADF = eIHNDL;
- EBUSY = -130;
- ECHILD = eFILNF;
- EDEADLK = -131;
- EDOM = -132;
- EEXIST = -133;
- EFAULT = eIMBA;
- EFBIG = -134;
- EINTR = -135;
- EINVAL = -136;
- EIO = eRROR;
- EISDIR = -137;
- EMFILE = eNHNDL;
- EMLINK = -138;
- ENAMETOOLONG = -139;
- ENFILE = eNHNDL;
- ENODEV = eUNDEV;
- ENOENT = eFILNF;
- ENOEXEC = ePLFMT;
- ENOLCK = -140;
- ENOMEM = eNSMEM;
- ENOSPC = -141;
- ENOSYS = eINVFN;
- ENOTDIR = ePTHNF;
- ENOTEMPTY = -142;
- ENOTTY = -143;
- ENXIO = eDRIVE;
- EPERM = eACCDN;
- EPIPE = -144;
- ERANGE = -145;
- EROFS = eWRPRO;
- ESPIPE = -146;
- ESRCH = eFILNF;
- EXDEV = eNSAME;
- ELOOP = -147; (* noch nicht POSIX *)
-
- END err.
-
-