home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1994-04-16 | 6.8 KB | 188 lines |
- DEFINITION MODULE e;
- __DEF_SWITCHES__
- #ifdef HM2
- #ifdef __LONG_WHOLE__
- (*$!i+: Modul muss mit $i- uebersetzt werden! *)
- (*$!w+: Modul muss mit $w- uebersetzt werden! *)
- #else
- (*$!i-: Modul muss mit $i+ uebersetzt werden! *)
- (*$!w-: Modul muss mit $w+ uebersetzt werden! *)
- #endif
- #endif
- (*****************************************************************************)
- (* 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. *)
- (*---------------------------------------------------------------------------*)
- (* 16-Apr-94, Holger Kleinschmidt *)
- (*****************************************************************************)
-
- VAR
- errno : INTEGER;
-
- #ifdef __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 *)
-
- CONST
- MAXeBIOS = 0;
- MINeBIOS = -19;
-
- CONST (* "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 *)
-
- CONST
- MAXeGEMDOS = -32;
- MINeGEMDOS = -67;
-
- CONST (* "MiNT" *)
- eLOOP = -80; (* zu viele symbolische Links *)
- ePIPE = -81; (* Schreibzugriff auf Pipe, die von keinem Prozess zum Lesen
- geoeffnet ist *)
-
- CONST
- MAXeMiNT = -80;
- MINeMiNT = -81;
-
- CONST (* Socket-Bibliothek von Kai Roemer, uebernommen aus 'sockerr.h' *)
- ENOTSOCK = -300; (* Socket operation on non-socket *)
- EDESTADDRREQ = -301; (* Destination address required *)
- EMSGSIZE = -302; (* Message too long *)
- EPROTOTYPE = -303; (* Protocol wrong type for socket *)
- ENOPROTOOPT = -304; (* Protocol not available *)
- EPROTONOSUPPORT = -305; (* Protocol not supported *)
- ESOCKTNOSUPPORT = -306; (* Socket type not supported *)
- EOPNOTSUPP = -307; (* Operation not supported *)
- EPFNOSUPPORT = -308; (* Protocol family not supported *)
- EAFNOSUPPORT = -309; (* Address family not supported by protocol *)
- EADDRINUSE = -310; (* Address already in use *)
- EADDRNOTAVAIL = -311; (* Cannot assign requested address *)
- ENETDOWN = -312; (* Network is down *)
- ENETUNREACH = -313; (* Network is unreachable *)
- ENETRESET = -314; (* Network dropped conn. because of reset *)
- ECONNABORTED = -315; (* Software caused connection abort *)
- ECONNRESET = -316; (* Connection reset by peer *)
- EISCONN = -317; (* Socket is already connected *)
- ENOTCONN = -318; (* Socket is not connected *)
- ESHUTDOWN = -319; (* Cannot send after shutdown *)
- ETIMEDOUT = -320; (* Connection timed out *)
- ECONNREFUSED = -321; (* Connection refused *)
- EHOSTDOWN = -322; (* Host is down *)
- EHOSTUNREACH = -323; (* No route to host *)
- EALREADY = -324; (* Operation already in progress *)
- EINPROGRESS = -325; (* Operation now in progress *)
- EWOULDBLOCK = -326; (* Operation would block *)
-
- CONST
- MAXeSOCKET = -300;
- MINeSOCKET = -326;
-
- #elif (defined __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
- #if (defined __GEMDOS__)
- EACCES = eACCDN;
- EINTR = -128;
- EAGAIN = EWOULDBLOCK;
- EBADF = eIHNDL;
- EBUSY = -129;
- ECHILD = eFILNF;
- EDEADLK = -130;
- EDOM = -131;
- EEXIST = -132;
- EFAULT = eIMBA;
- EFBIG = -133;
- E2BIG = -134;
- EINVAL = EDOM;
- EIO = eRROR;
- EISDIR = -135;
- EMFILE = eNHNDL;
- EMLINK = -136;
- ENAMETOOLONG = -137;
- ENFILE = eNHNDL;
- ENODEV = eUNDEV;
- ENOENT = eFILNF;
- ENOEXEC = ePLFMT;
- ENOLCK = -138;
- ENOMEM = eNSMEM;
- ENOSPC = -139;
- ENOSYS = eINVFN;
- ENOTDIR = ePTHNF;
- ENOTEMPTY = -140;
- ENOTTY = -141;
- ENXIO = eDRIVE;
- EPERM = eACCDN;
- EPIPE = ePIPE;
- ERANGE = -142;
- EROFS = eWRPRO;
- ESPIPE = -143;
- ESRCH = eFILNF;
- EXDEV = eNSAME;
- ELOOP = eLOOP; (* Noch nicht POSIX *)
-
- CONST (* Nicht POSIX: *)
- MAXePOSIX = -128;
- MINePOSIX = -143;
-
- #elif (defined __PCDOS__)
- #else
- #endif
- END e.
-
-