home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / m2posx02 / err.dpp < prev    next >
Encoding:
Modula Definition  |  1993-10-23  |  4.4 KB  |  125 lines

  1. DEFINITION MODULE err;
  2.  
  3. (*****************************************************************************)
  4. (* Fehlercodes.                                                              *)
  5. (*                                                                           *)
  6. (* 'errno' Wird nur bei Fehlern geaendert. Die Werte sind OS-spezifisch, und *)
  7. (* koennen sowohl negativ ("GEMDOS") als auch positiv ("*IX","PC/MSDOS") sein*)
  8. (* Unabhaengig von 'errno' wird von den Funktionen bei Fehlern immer ein     *)
  9. (* negativer Wert geliefert (-1, wenn moeglich), oder ein NULL-Zeiger.       *)
  10. (* Die Vorgehensweise ist also folgende: Liefert eine Funktion einen nega-   *)
  11. (* tiven Wert (oder einen NULL-Zeiger), muss ueber 'errno' die genaue Fehler-*)
  12. (* meldung erfragt werden, falls benoetigt; dazu duerfen nur die symbolischen*)
  13. (* Konstanten benutzt werden.                                                *)
  14. (*---------------------------------------------------------------------------*)
  15. (* 29-Nov-92, Holger Kleinschmidt                                            *)
  16. (*****************************************************************************)
  17.  
  18. VAR
  19.   errno : INTEGER;
  20.  
  21. #if GEMDOS
  22. CONST
  23.   (* "BIOS" *)
  24.  
  25.   eOK     =   0; (* Alles klar *)
  26.   eRROR   =  -1; (* allgemeiner Fehler *)
  27.   eDRVNR  =  -2; (* Geraet nicht bereit *)
  28.   eUNCMD  =  -3; (* unbekanntes Kommando *)
  29.   eCRC    =  -4; (* CRC-Fehler *)
  30.   eBADRQ  =  -5; (* Kommando nicht ausfuehrbar *)
  31.   eSEEK   =  -6; (* SEEK-Fehler *)
  32.   eMEDIA  =  -7; (* ungültiger Bootsektor *)
  33.   eSECNF  =  -8; (* Sektor nicht gefunden *)
  34.   ePAPER  =  -9; (* Druckerfehler, Papier alle *)
  35.   eWRITF  = -10; (* Schreibfehler *)
  36.   eREADF  = -11; (* Lesefehler *)
  37.   eGENRL  = -12; (* allgemeiner Fehler, reserviert *)
  38.   eWRPRO  = -13; (* Schreibschutz *)
  39.   eCHNG   = -14; (* Diskette gewechselt *)
  40.   eUNDEV  = -15; (* unbekanntes Geraet *)
  41.   eBADSF  = -16; (* Formatierfehler *)
  42.   eOTHER  = -17; (* Diskette einlegen *)
  43.  
  44.   eINSERT = -18; (* Meta-DOS: Medium einlegen *)
  45.   eDVNRSP = -19; (* Meta-DOS: Geraet antwortet nicht *)
  46.  
  47.  
  48.   (* "GEMDOS" *)
  49.  
  50.   eINVFN  = -32; (* ungueltige Funktionsnummer *)
  51.   eFILNF  = -33; (* Datei nicht gefunden *)
  52.   ePTHNF  = -34; (* Pfad nicht gefunden *)
  53.   eNHNDL  = -35; (* keine Dateikennung mehr frei *)
  54.   eACCDN  = -36; (* Zugriff verwehrt, Schreibschutz *)
  55.   eIHNDL  = -37; (* ungueltige Dateikennung *)
  56.   eNSMEM  = -39; (* kein Speicher frei *)
  57.   eIMBA   = -40; (* ungueltige Speicherblockadr. *)
  58.   eDRIVE  = -46; (* ungueltiges Laufwerk *)
  59.   eNSAME  = -48; (* unterschiedliche Laufwerke, Frename *)
  60.   eNMFIL  = -49; (* keine weitere Datei gefunden, Fsnext *)
  61.  
  62.   eLOCKED = -58; (* nur bei Netzwerk-"GEMDOS": Dateibereich geschuetzt *)
  63.   eNSLOCK = -59; (* nur bei Netzwerk-"GEMDOS": Lock existiert nicht *)
  64.  
  65.   eRANGE  = -64; (* ungueltiger Dateizeiger bei Seek *)
  66.   eINTRN  = -65; (* interner Fehler *)
  67.   ePLFMT  = -66; (* Programmdatei hat ungueltiges Format *)
  68.   eGSBF   = -67; (* Fehler bei Speicherfreigabe, -verkleinerung, Mshrink *)
  69.  
  70. #elif PCDOS
  71. #else
  72. #endif
  73.  
  74. (* POSIX-Fehlercodes
  75.  *
  76.  * "GEMDOS": Die Zuordnung zu den vorhandenen Fehlercodes wurde nur dort
  77.  * vorgenommen, wo sich die Fehler einigermassen entsprechen, sonst
  78.  * werden neue Codes verwendet, die nicht von "GEMDOS" als Fehlermeldung
  79.  * geliefert werden ([0..-127]). Allerdings sind die "GEMDOS"-Fehlermeldungen
  80.  * sowieso nicht besonders zuverlaessig...
  81.  *)
  82.  
  83. CONST
  84.   E2BIG        = -128;
  85.   EACCES       = eACCDN;
  86.   EAGAIN       = -129;
  87.   EBADF        = eIHNDL;
  88.   EBUSY        = -130;
  89.   ECHILD       = eFILNF;
  90.   EDEADLK      = -131;
  91.   EDOM         = -132;
  92.   EEXIST       = -133;
  93.   EFAULT       = eIMBA;
  94.   EFBIG        = -134;
  95.   EINTR        = -135;
  96.   EINVAL       = -136;
  97.   EIO          = eRROR;
  98.   EISDIR       = -137;
  99.   EMFILE       = eNHNDL;
  100.   EMLINK       = -138;
  101.   ENAMETOOLONG = -139;
  102.   ENFILE       = eNHNDL;
  103.   ENODEV       = eUNDEV;
  104.   ENOENT       = eFILNF;
  105.   ENOEXEC      = ePLFMT;
  106.   ENOLCK       = -140;
  107.   ENOMEM       = eNSMEM;
  108.   ENOSPC       = -141;
  109.   ENOSYS       = eINVFN;
  110.   ENOTDIR      = ePTHNF;
  111.   ENOTEMPTY    = -142;
  112.   ENOTTY       = -143;
  113.   ENXIO        = eDRIVE;
  114.   EPERM        = eACCDN;
  115.   EPIPE        = -144;
  116.   ERANGE       = -145;
  117.   EROFS        = eWRPRO;
  118.   ESPIPE       = -146;
  119.   ESRCH        = eFILNF;
  120.   EXDEV        = eNSAME;
  121.   ELOOP        = -147;   (* noch nicht POSIX *)
  122.  
  123. END err.
  124.  
  125.