home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / m2posx14 / src / e.dpp < prev    next >
Encoding:
Modula Definition  |  1994-04-16  |  6.8 KB  |  188 lines

  1. DEFINITION MODULE e;
  2. __DEF_SWITCHES__
  3. #ifdef HM2
  4. #ifdef __LONG_WHOLE__
  5. (*$!i+: Modul muss mit $i- uebersetzt werden! *)
  6. (*$!w+: Modul muss mit $w- uebersetzt werden! *)
  7. #else
  8. (*$!i-: Modul muss mit $i+ uebersetzt werden! *)
  9. (*$!w-: Modul muss mit $w+ uebersetzt werden! *)
  10. #endif
  11. #endif
  12. (*****************************************************************************)
  13. (* Fehlercodes.                                                              *)
  14. (*                                                                           *)
  15. (* 'errno' Wird nur bei Fehlern geaendert. Die Werte sind OS-spezifisch, und *)
  16. (* koennen sowohl negativ ("GEMDOS") als auch positiv ("*IX","PC/MSDOS") sein*)
  17. (* Unabhaengig von 'errno' wird von den Funktionen bei Fehlern immer ein     *)
  18. (* negativer Wert geliefert (-1, wenn moeglich), oder ein NULL-Zeiger.       *)
  19. (* Die Vorgehensweise ist also folgende: Liefert eine Funktion einen nega-   *)
  20. (* tiven Wert (oder einen NULL-Zeiger), muss ueber 'errno' die genaue Fehler-*)
  21. (* meldung erfragt werden, falls benoetigt; dazu duerfen nur die symbolischen*)
  22. (* Konstanten benutzt werden.                                                *)
  23. (*---------------------------------------------------------------------------*)
  24. (* 16-Apr-94, Holger Kleinschmidt                                            *)
  25. (*****************************************************************************)
  26.  
  27. VAR
  28.   errno : INTEGER;
  29.  
  30. #ifdef __GEMDOS__
  31. CONST (* "BIOS" *)
  32.   eOK     =   0; (* Alles klar *)
  33.   eRROR   =  -1; (* allgemeiner Fehler *)
  34.   eDRVNR  =  -2; (* Geraet nicht bereit *)
  35.   eUNCMD  =  -3; (* unbekanntes Kommando *)
  36.   eCRC    =  -4; (* CRC-Fehler *)
  37.   eBADRQ  =  -5; (* Kommando nicht ausfuehrbar *)
  38.   eSEEK   =  -6; (* SEEK-Fehler *)
  39.   eMEDIA  =  -7; (* ungültiger Bootsektor *)
  40.   eSECNF  =  -8; (* Sektor nicht gefunden *)
  41.   ePAPER  =  -9; (* Druckerfehler, Papier alle *)
  42.   eWRITF  = -10; (* Schreibfehler *)
  43.   eREADF  = -11; (* Lesefehler *)
  44.   eGENRL  = -12; (* allgemeiner Fehler, reserviert *)
  45.   eWRPRO  = -13; (* Schreibschutz *)
  46.   eCHNG   = -14; (* Diskette gewechselt *)
  47.   eUNDEV  = -15; (* unbekanntes Geraet *)
  48.   eBADSF  = -16; (* Formatierfehler *)
  49.   eOTHER  = -17; (* Diskette einlegen *)
  50.  
  51.   eINSERT = -18; (* Meta-DOS: Medium einlegen *)
  52.   eDVNRSP = -19; (* Meta-DOS: Geraet antwortet nicht *)
  53.  
  54. CONST
  55.   MAXeBIOS = 0;
  56.   MINeBIOS = -19;
  57.  
  58. CONST (* "GEMDOS" *)
  59.   eINVFN  = -32; (* ungueltige Funktionsnummer *)
  60.   eFILNF  = -33; (* Datei nicht gefunden *)
  61.   ePTHNF  = -34; (* Pfad nicht gefunden *)
  62.   eNHNDL  = -35; (* keine Dateikennung mehr frei *)
  63.   eACCDN  = -36; (* Zugriff verwehrt, Schreibschutz *)
  64.   eIHNDL  = -37; (* ungueltige Dateikennung *)
  65.   eNSMEM  = -39; (* kein Speicher frei *)
  66.   eIMBA   = -40; (* ungueltige Speicherblockadr. *)
  67.   eDRIVE  = -46; (* ungueltiges Laufwerk *)
  68.   eNSAME  = -48; (* unterschiedliche Laufwerke, Frename *)
  69.   eNMFIL  = -49; (* keine weitere Datei gefunden, Fsnext *)
  70.  
  71.   eLOCKED = -58; (* nur bei Netzwerk-"GEMDOS": Dateibereich geschuetzt *)
  72.   eNSLOCK = -59; (* nur bei Netzwerk-"GEMDOS": Lock existiert nicht *)
  73.  
  74.   eRANGE  = -64; (* ungueltiger Dateizeiger bei Seek *)
  75.   eINTRN  = -65; (* interner Fehler *)
  76.   ePLFMT  = -66; (* Programmdatei hat ungueltiges Format *)
  77.   eGSBF   = -67; (* Fehler bei Speicherfreigabe, -verkleinerung, Mshrink *)
  78.  
  79. CONST
  80.   MAXeGEMDOS = -32;
  81.   MINeGEMDOS = -67;
  82.  
  83. CONST (* "MiNT" *)
  84.   eLOOP   = -80; (* zu viele symbolische Links *)
  85.   ePIPE   = -81; (* Schreibzugriff auf Pipe, die von keinem Prozess zum Lesen
  86.                     geoeffnet ist *)
  87.  
  88. CONST
  89.   MAXeMiNT = -80;
  90.   MINeMiNT = -81;
  91.  
  92. CONST (* Socket-Bibliothek von Kai Roemer, uebernommen aus 'sockerr.h' *)
  93.   ENOTSOCK        = -300; (* Socket operation on non-socket *)
  94.   EDESTADDRREQ    = -301; (* Destination address required *)
  95.   EMSGSIZE        = -302; (* Message too long *)
  96.   EPROTOTYPE      = -303; (* Protocol wrong type for socket *)
  97.   ENOPROTOOPT     = -304; (* Protocol not available *)
  98.   EPROTONOSUPPORT = -305; (* Protocol not supported *)
  99.   ESOCKTNOSUPPORT = -306; (* Socket type not supported *)
  100.   EOPNOTSUPP      = -307; (* Operation not supported *)
  101.   EPFNOSUPPORT    = -308; (* Protocol family not supported *)
  102.   EAFNOSUPPORT    = -309; (* Address family not supported by protocol *)
  103.   EADDRINUSE      = -310; (* Address already in use *)
  104.   EADDRNOTAVAIL   = -311; (* Cannot assign requested address *)
  105.   ENETDOWN        = -312; (* Network is down *)
  106.   ENETUNREACH     = -313; (* Network is unreachable *)
  107.   ENETRESET       = -314; (* Network dropped conn. because of reset *)
  108.   ECONNABORTED    = -315; (* Software caused connection abort *)
  109.   ECONNRESET      = -316; (* Connection reset by peer *)
  110.   EISCONN         = -317; (* Socket is already connected *)
  111.   ENOTCONN        = -318; (* Socket is not connected *)
  112.   ESHUTDOWN       = -319; (* Cannot send after shutdown *)
  113.   ETIMEDOUT       = -320; (* Connection timed out *)
  114.   ECONNREFUSED    = -321; (* Connection refused *)
  115.   EHOSTDOWN       = -322; (* Host is down *)
  116.   EHOSTUNREACH    = -323; (* No route to host *)
  117.   EALREADY        = -324; (* Operation already in progress *)
  118.   EINPROGRESS     = -325; (* Operation now in progress *)
  119.   EWOULDBLOCK     = -326; (* Operation would block *)
  120.  
  121. CONST
  122.   MAXeSOCKET = -300;
  123.   MINeSOCKET = -326;
  124.  
  125. #elif (defined __PCDOS__)
  126. #else
  127. #endif
  128.  
  129. (* POSIX-Fehlercodes
  130.  *
  131.  * "GEMDOS": Die Zuordnung zu den vorhandenen Fehlercodes wurde nur dort
  132.  * vorgenommen, wo sich die Fehler einigermassen entsprechen, sonst
  133.  * werden neue Codes verwendet, die nicht von "GEMDOS" als Fehlermeldung
  134.  * geliefert werden ([0..= -127]). Allerdings sind die "GEMDOS"-Fehlermeldungen
  135.  * sowieso nicht besonders zuverlaessig...
  136.  *)
  137.  
  138. CONST
  139. #if (defined __GEMDOS__)
  140.   EACCES       = eACCDN;
  141.   EINTR        = -128;
  142.   EAGAIN       = EWOULDBLOCK;
  143.   EBADF        = eIHNDL;
  144.   EBUSY        = -129;
  145.   ECHILD       = eFILNF;
  146.   EDEADLK      = -130;
  147.   EDOM         = -131;
  148.   EEXIST       = -132;
  149.   EFAULT       = eIMBA;
  150.   EFBIG        = -133;
  151.   E2BIG        = -134;
  152.   EINVAL       = EDOM;
  153.   EIO          = eRROR;
  154.   EISDIR       = -135;
  155.   EMFILE       = eNHNDL;
  156.   EMLINK       = -136;
  157.   ENAMETOOLONG = -137;
  158.   ENFILE       = eNHNDL;
  159.   ENODEV       = eUNDEV;
  160.   ENOENT       = eFILNF;
  161.   ENOEXEC      = ePLFMT;
  162.   ENOLCK       = -138;
  163.   ENOMEM       = eNSMEM;
  164.   ENOSPC       = -139;
  165.   ENOSYS       = eINVFN;
  166.   ENOTDIR      = ePTHNF;
  167.   ENOTEMPTY    = -140;
  168.   ENOTTY       = -141;
  169.   ENXIO        = eDRIVE;
  170.   EPERM        = eACCDN;
  171.   EPIPE        = ePIPE;
  172.   ERANGE       = -142;
  173.   EROFS        = eWRPRO;
  174.   ESPIPE       = -143;
  175.   ESRCH        = eFILNF;
  176.   EXDEV        = eNSAME;
  177.   ELOOP        = eLOOP;   (* Noch nicht POSIX *)
  178.  
  179. CONST (* Nicht POSIX: *)
  180.   MAXePOSIX = -128;
  181.   MINePOSIX = -143;
  182.  
  183. #elif (defined __PCDOS__)
  184. #else
  185. #endif
  186. END e.
  187.  
  188.