mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 05:12:26 +00:00
ulmSysErrors ported.
This commit is contained in:
parent
9f8fefcd1b
commit
278abe4110
1 changed files with 496 additions and 0 deletions
496
src/lib/ulm/ulmSysErrors.Mod
Normal file
496
src/lib/ulm/ulmSysErrors.Mod
Normal file
|
|
@ -0,0 +1,496 @@
|
||||||
|
MODULE ulmSysErrors;
|
||||||
|
|
||||||
|
IMPORT Errors := ulmErrors, Events := ulmEvents, Priorities := ulmPriorities, RelatedEvents := ulmRelatedEvents, Streams := ulmStreams, Strings := ulmStrings, Sys := ulmSys;
|
||||||
|
|
||||||
|
CONST
|
||||||
|
perm* = 1;
|
||||||
|
noent* = 2;
|
||||||
|
srch* = 3;
|
||||||
|
intr* = 4;
|
||||||
|
io* = 5;
|
||||||
|
nxio* = 6;
|
||||||
|
toobig* = 7;
|
||||||
|
noexec* = 8;
|
||||||
|
badf* = 9;
|
||||||
|
child* = 10;
|
||||||
|
again* = 11;
|
||||||
|
nomem* = 12;
|
||||||
|
acces* = 13;
|
||||||
|
fault* = 14;
|
||||||
|
notblk* = 15;
|
||||||
|
busy* = 16;
|
||||||
|
exist* = 17;
|
||||||
|
xdev* = 18;
|
||||||
|
nodev* = 19;
|
||||||
|
notdir* = 20;
|
||||||
|
isdir* = 21;
|
||||||
|
inval* = 22;
|
||||||
|
nfile* = 23;
|
||||||
|
mfile* = 24;
|
||||||
|
notty* = 25;
|
||||||
|
txtbsy* = 26;
|
||||||
|
fbig* = 27;
|
||||||
|
nospc* = 28;
|
||||||
|
spipe* = 29;
|
||||||
|
rofs* = 30;
|
||||||
|
mlink* = 31;
|
||||||
|
pipe* = 32;
|
||||||
|
dom* = 33;
|
||||||
|
range* = 34;
|
||||||
|
deadlk* = 35;
|
||||||
|
nametoolong* = 36;
|
||||||
|
nolck* = 37;
|
||||||
|
nosys* = 38;
|
||||||
|
notempty* = 39;
|
||||||
|
loop* = 40;
|
||||||
|
wouldblock* = again;
|
||||||
|
nomsg* = 42;
|
||||||
|
idrm* = 43;
|
||||||
|
chrng* = 44;
|
||||||
|
l2nsync* = 45;
|
||||||
|
l3hlt* = 46;
|
||||||
|
l3rst* = 47;
|
||||||
|
lnrng* = 48;
|
||||||
|
unatch* = 49;
|
||||||
|
nocsi* = 50;
|
||||||
|
l2hlt* = 51;
|
||||||
|
bade* = 52;
|
||||||
|
badr* = 53;
|
||||||
|
xfull* = 54;
|
||||||
|
noano* = 55;
|
||||||
|
badrqc* = 56;
|
||||||
|
badslt* = 57;
|
||||||
|
deadlock* = deadlk;
|
||||||
|
bfont* = 59;
|
||||||
|
nostr* = 60;
|
||||||
|
nodata* = 61;
|
||||||
|
time* = 62;
|
||||||
|
nosr* = 63;
|
||||||
|
nonet* = 64;
|
||||||
|
nopkg* = 65;
|
||||||
|
remote* = 66;
|
||||||
|
nolink* = 67;
|
||||||
|
adv* = 68;
|
||||||
|
srmnt* = 69;
|
||||||
|
comm* = 70;
|
||||||
|
proto* = 71;
|
||||||
|
multihop* = 72;
|
||||||
|
dotdot* = 73;
|
||||||
|
badmsg* = 74;
|
||||||
|
overflow* = 75;
|
||||||
|
notuniq* = 76;
|
||||||
|
badfd* = 77;
|
||||||
|
remchg* = 78;
|
||||||
|
libacc* = 79;
|
||||||
|
libbad* = 80;
|
||||||
|
libscn* = 81;
|
||||||
|
libmax* = 82;
|
||||||
|
libexec* = 83;
|
||||||
|
ilseq* = 84;
|
||||||
|
restart* = 85;
|
||||||
|
strpipe* = 86;
|
||||||
|
users* = 87;
|
||||||
|
notsock* = 88;
|
||||||
|
destaddrreq* = 89;
|
||||||
|
msgsize* = 90;
|
||||||
|
prototype* = 91;
|
||||||
|
noprotoopt* = 92;
|
||||||
|
protonosupport* = 93;
|
||||||
|
socktnosupport* = 94;
|
||||||
|
opnotsupp* = 95;
|
||||||
|
pfnosupport* = 96;
|
||||||
|
afnosupport* = 97;
|
||||||
|
addrinuse* = 98;
|
||||||
|
addrnotavail* = 99;
|
||||||
|
netdown* = 100;
|
||||||
|
netunreach* = 101;
|
||||||
|
netreset* = 102;
|
||||||
|
connaborted* = 103;
|
||||||
|
connreset* = 104;
|
||||||
|
nobufs* = 105;
|
||||||
|
isconn* = 106;
|
||||||
|
notconn* = 107;
|
||||||
|
shutdown* = 108;
|
||||||
|
toomanyrefs* = 109;
|
||||||
|
timedout* = 110;
|
||||||
|
connrefused* = 111;
|
||||||
|
hostdown* = 112;
|
||||||
|
hostunreach* = 113;
|
||||||
|
already* = 114;
|
||||||
|
inprogress* = 115;
|
||||||
|
stale* = 116;
|
||||||
|
uclean* = 117;
|
||||||
|
notnam* = 118;
|
||||||
|
navail* = 119;
|
||||||
|
isnam* = 120;
|
||||||
|
remoteio* = 121;
|
||||||
|
dquot* = 122;
|
||||||
|
nomedium* = 123;
|
||||||
|
mediumtype* = 124;
|
||||||
|
|
||||||
|
ncodes* = 126; (* number of error codes *)
|
||||||
|
|
||||||
|
textlen* = 512;
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
Name* = ARRAY 20 OF CHAR;
|
||||||
|
Event* = POINTER TO EventRec;
|
||||||
|
EventRec* =
|
||||||
|
RECORD
|
||||||
|
(Events.EventRec)
|
||||||
|
errno*: INTEGER;
|
||||||
|
syscall*: INTEGER; (* number of system call *)
|
||||||
|
text*: ARRAY textlen OF CHAR;
|
||||||
|
END;
|
||||||
|
|
||||||
|
VAR
|
||||||
|
message*: ARRAY ncodes OF Events.Message;
|
||||||
|
name*: ARRAY ncodes OF Name;
|
||||||
|
syserrors*: Events.EventType;
|
||||||
|
syserror*: ARRAY ncodes OF Events.EventType;
|
||||||
|
|
||||||
|
PROCEDURE Raise*(errors: RelatedEvents.Object;
|
||||||
|
errno, syscall: INTEGER; text: ARRAY OF CHAR);
|
||||||
|
(* raises the events syserrors and syserrors[syscall];
|
||||||
|
`text' contains additional information (e.g. filenames);
|
||||||
|
further, the syserrors[syscall] event is passed to
|
||||||
|
RelatedEvents if object # NIL
|
||||||
|
*)
|
||||||
|
VAR
|
||||||
|
event: Event;
|
||||||
|
|
||||||
|
PROCEDURE InitEvent(VAR event: Event; type: Events.EventType);
|
||||||
|
BEGIN
|
||||||
|
NEW(event);
|
||||||
|
event.type := type;
|
||||||
|
event.message := message[errno];
|
||||||
|
event.errno := errno;
|
||||||
|
event.syscall := syscall;
|
||||||
|
COPY(text, event.text);
|
||||||
|
END InitEvent;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
IF (errno > 0) & (errno < ncodes) THEN
|
||||||
|
InitEvent(event, syserrors); Events.Raise(event);
|
||||||
|
InitEvent(event, syserror[errno]); Events.Raise(event);
|
||||||
|
IF errors # NIL THEN
|
||||||
|
InitEvent(event, syserrors);
|
||||||
|
RelatedEvents.Raise(errors, event);
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
END Raise;
|
||||||
|
|
||||||
|
PROCEDURE Write(s: Streams.Stream; event: Events.Event);
|
||||||
|
|
||||||
|
PROCEDURE WriteString(txt: ARRAY OF CHAR);
|
||||||
|
BEGIN
|
||||||
|
IF ~Streams.WritePart(s, txt, 0, Strings.Len(txt)) THEN END;
|
||||||
|
END WriteString;
|
||||||
|
|
||||||
|
PROCEDURE Write(ch: CHAR);
|
||||||
|
BEGIN
|
||||||
|
IF ~Streams.WriteByte(s, ch) THEN END;
|
||||||
|
END Write;
|
||||||
|
|
||||||
|
PROCEDURE WriteInt(intval: INTEGER);
|
||||||
|
VAR
|
||||||
|
rest: INTEGER;
|
||||||
|
BEGIN
|
||||||
|
rest := intval DIV 10;
|
||||||
|
IF rest > 0 THEN
|
||||||
|
WriteInt(rest);
|
||||||
|
END;
|
||||||
|
Write(CHR(ORD("0") + intval MOD 10));
|
||||||
|
END WriteInt;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
IF event IS Event THEN
|
||||||
|
WITH event: Event DO
|
||||||
|
IF event.text[0] # 0X THEN
|
||||||
|
WriteString(event.text);
|
||||||
|
WriteString(": ");
|
||||||
|
END;
|
||||||
|
IF event.errno = 0 THEN
|
||||||
|
WriteString("no error (");
|
||||||
|
WriteString(Sys.name[event.syscall]); Write(")");
|
||||||
|
ELSIF (event.errno >= ncodes) OR (message[event.errno][0] = 0X) THEN
|
||||||
|
WriteString("unknown error (");
|
||||||
|
WriteString(Sys.name[event.syscall]);
|
||||||
|
WriteString(": "); WriteInt(event.errno); Write(")");
|
||||||
|
ELSE
|
||||||
|
WriteString(message[event.errno]);
|
||||||
|
WriteString(" (");
|
||||||
|
WriteString(Sys.name[event.syscall]); WriteString(": ");
|
||||||
|
WriteString(name[event.errno]); Write(")");
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
ELSE
|
||||||
|
WriteString(event.message);
|
||||||
|
END;
|
||||||
|
END Write;
|
||||||
|
|
||||||
|
PROCEDURE InitEvents;
|
||||||
|
VAR
|
||||||
|
errno: INTEGER;
|
||||||
|
BEGIN
|
||||||
|
syserror[0] := NIL;
|
||||||
|
errno := 1;
|
||||||
|
WHILE errno < ncodes DO
|
||||||
|
Events.Define(syserror[errno]);
|
||||||
|
Events.Ignore(syserror[errno]);
|
||||||
|
Events.SetPriority(syserror[errno], Priorities.syserrors);
|
||||||
|
INC(errno);
|
||||||
|
END;
|
||||||
|
Events.Define(syserrors);
|
||||||
|
Events.Ignore(syserrors);
|
||||||
|
Events.SetPriority(syserrors, Priorities.syserrors);
|
||||||
|
Errors.AssignWriteProcedure(syserrors, Write);
|
||||||
|
END InitEvents;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
InitEvents;
|
||||||
|
name[perm] := "EPERM";
|
||||||
|
message[perm] := "Operation not permitted";
|
||||||
|
name[noent] := "ENOENT";
|
||||||
|
message[noent] := "No such file or directory";
|
||||||
|
name[srch] := "ESRCH";
|
||||||
|
message[srch] := "No such process";
|
||||||
|
name[intr] := "EINTR";
|
||||||
|
message[intr] := "Interrupted system call";
|
||||||
|
name[io] := "EIO";
|
||||||
|
message[io] := "I/O error";
|
||||||
|
name[nxio] := "ENXIO";
|
||||||
|
message[nxio] := "No such device or address";
|
||||||
|
name[toobig] := "E2BIG";
|
||||||
|
message[toobig] := "Arg list too long";
|
||||||
|
name[noexec] := "ENOEXEC";
|
||||||
|
message[noexec] := "Exec format error";
|
||||||
|
name[badf] := "EBADF";
|
||||||
|
message[badf] := "Bad file number";
|
||||||
|
name[child] := "ECHILD";
|
||||||
|
message[child] := "No child processes";
|
||||||
|
name[again] := "EAGAIN";
|
||||||
|
message[again] := "Try again";
|
||||||
|
name[nomem] := "ENOMEM";
|
||||||
|
message[nomem] := "Out of memory";
|
||||||
|
name[acces] := "EACCES";
|
||||||
|
message[acces] := "Permission denied";
|
||||||
|
name[fault] := "EFAULT";
|
||||||
|
message[fault] := "Bad address";
|
||||||
|
name[notblk] := "ENOTBLK";
|
||||||
|
message[notblk] := "Block device required";
|
||||||
|
name[busy] := "EBUSY";
|
||||||
|
message[busy] := "Device or resource busy";
|
||||||
|
name[exist] := "EEXIST";
|
||||||
|
message[exist] := "File exists";
|
||||||
|
name[xdev] := "EXDEV";
|
||||||
|
message[xdev] := "Cross-device link";
|
||||||
|
name[nodev] := "ENODEV";
|
||||||
|
message[nodev] := "No such device";
|
||||||
|
name[notdir] := "ENOTDIR";
|
||||||
|
message[notdir] := "Not a directory";
|
||||||
|
name[isdir] := "EISDIR";
|
||||||
|
message[isdir] := "Is a directory";
|
||||||
|
name[inval] := "EINVAL";
|
||||||
|
message[inval] := "Invalid argument";
|
||||||
|
name[nfile] := "ENFILE";
|
||||||
|
message[nfile] := "File table overflow";
|
||||||
|
name[mfile] := "EMFILE";
|
||||||
|
message[mfile] := "Too many open files";
|
||||||
|
name[notty] := "ENOTTY";
|
||||||
|
message[notty] := "Not a typewriter";
|
||||||
|
name[txtbsy] := "ETXTBSY";
|
||||||
|
message[txtbsy] := "Text file busy";
|
||||||
|
name[fbig] := "EFBIG";
|
||||||
|
message[fbig] := "File too large";
|
||||||
|
name[nospc] := "ENOSPC";
|
||||||
|
message[nospc] := "No space left on device";
|
||||||
|
name[spipe] := "ESPIPE";
|
||||||
|
message[spipe] := "Illegal seek";
|
||||||
|
name[rofs] := "EROFS";
|
||||||
|
message[rofs] := "Read-only file system";
|
||||||
|
name[mlink] := "EMLINK";
|
||||||
|
message[mlink] := "Too many links";
|
||||||
|
name[pipe] := "EPIPE";
|
||||||
|
message[pipe] := "Broken pipe";
|
||||||
|
name[dom] := "EDOM";
|
||||||
|
message[dom] := "Math argument out of domain of func";
|
||||||
|
name[range] := "ERANGE";
|
||||||
|
message[range] := "Math result not representable";
|
||||||
|
name[deadlk] := "EDEADLK";
|
||||||
|
message[deadlk] := "Resource deadlock would occur";
|
||||||
|
name[nametoolong] := "ENAMETOOLONG";
|
||||||
|
message[nametoolong] := "File name too long";
|
||||||
|
name[nolck] := "ENOLCK";
|
||||||
|
message[nolck] := "No record locks available";
|
||||||
|
name[nosys] := "ENOSYS";
|
||||||
|
message[nosys] := "Function not implemented";
|
||||||
|
name[notempty] := "ENOTEMPTY";
|
||||||
|
message[notempty] := "Directory not empty";
|
||||||
|
name[loop] := "ELOOP";
|
||||||
|
message[loop] := "Too many symbolic links encountered";
|
||||||
|
name[nomsg] := "ENOMSG";
|
||||||
|
message[nomsg] := "No message of desired type";
|
||||||
|
name[idrm] := "EIDRM";
|
||||||
|
message[idrm] := "Identifier removed";
|
||||||
|
name[chrng] := "ECHRNG";
|
||||||
|
message[chrng] := "Channel number out of range";
|
||||||
|
name[l2nsync] := "EL2NSYNC";
|
||||||
|
message[l2nsync] := "Level 2 not synchronized";
|
||||||
|
name[l3hlt] := "EL3HLT";
|
||||||
|
message[l3hlt] := "Level 3 halted";
|
||||||
|
name[l3rst] := "EL3RST";
|
||||||
|
message[l3rst] := "Level 3 reset";
|
||||||
|
name[lnrng] := "ELNRNG";
|
||||||
|
message[lnrng] := "Link number out of range";
|
||||||
|
name[unatch] := "EUNATCH";
|
||||||
|
message[unatch] := "Protocol driver not attached";
|
||||||
|
name[nocsi] := "ENOCSI";
|
||||||
|
message[nocsi] := "No CSI structure available";
|
||||||
|
name[l2hlt] := "EL2HLT";
|
||||||
|
message[l2hlt] := "Level 2 halted";
|
||||||
|
name[bade] := "EBADE";
|
||||||
|
message[bade] := "Invalid exchange";
|
||||||
|
name[badr] := "EBADR";
|
||||||
|
message[badr] := "Invalid request descriptor";
|
||||||
|
name[xfull] := "EXFULL";
|
||||||
|
message[xfull] := "Exchange full";
|
||||||
|
name[noano] := "ENOANO";
|
||||||
|
message[noano] := "No anode";
|
||||||
|
name[badrqc] := "EBADRQC";
|
||||||
|
message[badrqc] := "Invalid request code";
|
||||||
|
name[badslt] := "EBADSLT";
|
||||||
|
message[badslt] := "Invalid slot";
|
||||||
|
name[bfont] := "EBFONT";
|
||||||
|
message[bfont] := "Bad font file format";
|
||||||
|
name[nostr] := "ENOSTR";
|
||||||
|
message[nostr] := "Device not a stream";
|
||||||
|
name[nodata] := "ENODATA";
|
||||||
|
message[nodata] := "No data available";
|
||||||
|
name[time] := "ETIME";
|
||||||
|
message[time] := "Timer expired";
|
||||||
|
name[nosr] := "ENOSR";
|
||||||
|
message[nosr] := "Out of streams resources";
|
||||||
|
name[nonet] := "ENONET";
|
||||||
|
message[nonet] := "Machine is not on the network";
|
||||||
|
name[nopkg] := "ENOPKG";
|
||||||
|
message[nopkg] := "Package not installed";
|
||||||
|
name[remote] := "EREMOTE";
|
||||||
|
message[remote] := "Object is remote";
|
||||||
|
name[nolink] := "ENOLINK";
|
||||||
|
message[nolink] := "Link has been severed";
|
||||||
|
name[adv] := "EADV";
|
||||||
|
message[adv] := "Advertise error";
|
||||||
|
name[srmnt] := "ESRMNT";
|
||||||
|
message[srmnt] := "Srmount error";
|
||||||
|
name[comm] := "ECOMM";
|
||||||
|
message[comm] := "Communication error on send";
|
||||||
|
name[proto] := "EPROTO";
|
||||||
|
message[proto] := "Protocol error";
|
||||||
|
name[multihop] := "EMULTIHOP";
|
||||||
|
message[multihop] := "Multihop attempted";
|
||||||
|
name[dotdot] := "EDOTDOT";
|
||||||
|
message[dotdot] := "RFS specific error";
|
||||||
|
name[badmsg] := "EBADMSG";
|
||||||
|
message[badmsg] := "Not a data message";
|
||||||
|
name[overflow] := "EOVERFLOW";
|
||||||
|
message[overflow] := "Value too large for defined data type";
|
||||||
|
name[notuniq] := "ENOTUNIQ";
|
||||||
|
message[notuniq] := "Name not unique on network";
|
||||||
|
name[badfd] := "EBADFD";
|
||||||
|
message[badfd] := "File descriptor in bad state";
|
||||||
|
name[remchg] := "EREMCHG";
|
||||||
|
message[remchg] := "Remote address changed";
|
||||||
|
name[libacc] := "ELIBACC";
|
||||||
|
message[libacc] := "Can not access a needed shared library";
|
||||||
|
name[libbad] := "ELIBBAD";
|
||||||
|
message[libbad] := "Accessing a corrupted shared library";
|
||||||
|
name[libscn] := "ELIBSCN";
|
||||||
|
message[libscn] := ".lib section in a.out corrupted";
|
||||||
|
name[libmax] := "ELIBMAX";
|
||||||
|
message[libmax] := "Attempting to link in too many shared libraries";
|
||||||
|
name[libexec] := "ELIBEXEC";
|
||||||
|
message[libexec] := "Cannot exec a shared library directly";
|
||||||
|
name[ilseq] := "EILSEQ";
|
||||||
|
message[ilseq] := "Illegal byte sequence";
|
||||||
|
name[restart] := "ERESTART";
|
||||||
|
message[restart] := "Interrupted system call should be restarted";
|
||||||
|
name[strpipe] := "ESTRPIPE";
|
||||||
|
message[strpipe] := "Streams pipe error";
|
||||||
|
name[users] := "EUSERS";
|
||||||
|
message[users] := "Too many users";
|
||||||
|
name[notsock] := "ENOTSOCK";
|
||||||
|
message[notsock] := "Socket operation on non-socket";
|
||||||
|
name[destaddrreq] := "EDESTADDRREQ";
|
||||||
|
message[destaddrreq] := "Destination address required";
|
||||||
|
name[msgsize] := "EMSGSIZE";
|
||||||
|
message[msgsize] := "Message too long";
|
||||||
|
name[prototype] := "EPROTOTYPE";
|
||||||
|
message[prototype] := "Protocol wrong type for socket";
|
||||||
|
name[noprotoopt] := "ENOPROTOOPT";
|
||||||
|
message[noprotoopt] := "Protocol not available";
|
||||||
|
name[protonosupport] := "EPROTONOSUPPORT";
|
||||||
|
message[protonosupport] := "Protocol not supported";
|
||||||
|
name[socktnosupport] := "ESOCKTNOSUPPORT";
|
||||||
|
message[socktnosupport] := "Socket type not supported";
|
||||||
|
name[opnotsupp] := "EOPNOTSUPP";
|
||||||
|
message[opnotsupp] := "Operation not supported on transport endpoint";
|
||||||
|
name[pfnosupport] := "EPFNOSUPPORT";
|
||||||
|
message[pfnosupport] := "Protocol family not supported";
|
||||||
|
name[afnosupport] := "EAFNOSUPPORT";
|
||||||
|
message[afnosupport] := "Address family not supported by protocol";
|
||||||
|
name[addrinuse] := "EADDRINUSE";
|
||||||
|
message[addrinuse] := "Address already in use";
|
||||||
|
name[addrnotavail] := "EADDRNOTAVAIL";
|
||||||
|
message[addrnotavail] := "Cannot assign requested address";
|
||||||
|
name[netdown] := "ENETDOWN";
|
||||||
|
message[netdown] := "Network is down";
|
||||||
|
name[netunreach] := "ENETUNREACH";
|
||||||
|
message[netunreach] := "Network is unreachable";
|
||||||
|
name[netreset] := "ENETRESET";
|
||||||
|
message[netreset] := "Network dropped connection because of reset";
|
||||||
|
name[connaborted] := "ECONNABORTED";
|
||||||
|
message[connaborted] := "Software caused connection abort";
|
||||||
|
name[connreset] := "ECONNRESET";
|
||||||
|
message[connreset] := "Connection reset by peer";
|
||||||
|
name[nobufs] := "ENOBUFS";
|
||||||
|
message[nobufs] := "No buffer space available";
|
||||||
|
name[isconn] := "EISCONN";
|
||||||
|
message[isconn] := "Transport endpoint is already connected";
|
||||||
|
name[notconn] := "ENOTCONN";
|
||||||
|
message[notconn] := "Transport endpoint is not connected";
|
||||||
|
name[shutdown] := "ESHUTDOWN";
|
||||||
|
message[shutdown] := "Cannot send after transport endpoint shutdown";
|
||||||
|
name[toomanyrefs] := "ETOOMANYREFS";
|
||||||
|
message[toomanyrefs] := "Too many references: cannot splice";
|
||||||
|
name[timedout] := "ETIMEDOUT";
|
||||||
|
message[timedout] := "Connection timed out";
|
||||||
|
name[connrefused] := "ECONNREFUSED";
|
||||||
|
message[connrefused] := "Connection refused";
|
||||||
|
name[hostdown] := "EHOSTDOWN";
|
||||||
|
message[hostdown] := "Host is down";
|
||||||
|
name[hostunreach] := "EHOSTUNREACH";
|
||||||
|
message[hostunreach] := "No route to host";
|
||||||
|
name[already] := "EALREADY";
|
||||||
|
message[already] := "Operation already in progress";
|
||||||
|
name[inprogress] := "EINPROGRESS";
|
||||||
|
message[inprogress] := "Operation now in progress";
|
||||||
|
name[stale] := "ESTALE";
|
||||||
|
message[stale] := "Stale NFS file handle";
|
||||||
|
name[uclean] := "EUCLEAN";
|
||||||
|
message[uclean] := "Structure needs cleaning";
|
||||||
|
name[notnam] := "ENOTNAM";
|
||||||
|
message[notnam] := "Not a XENIX named type file";
|
||||||
|
name[navail] := "ENAVAIL";
|
||||||
|
message[navail] := "No XENIX semaphores available";
|
||||||
|
name[isnam] := "EISNAM";
|
||||||
|
message[isnam] := "Is a named type file";
|
||||||
|
name[remoteio] := "EREMOTEIO";
|
||||||
|
message[remoteio] := "Remote I/O error";
|
||||||
|
name[dquot] := "EDQUOT";
|
||||||
|
message[dquot] := "Quota exceeded";
|
||||||
|
name[nomedium] := "ENOMEDIUM";
|
||||||
|
message[nomedium] := "No medium found";
|
||||||
|
name[mediumtype] := "EMEDIUMTYPE";
|
||||||
|
message[mediumtype] := "Wrong medium type";
|
||||||
|
END ulmSysErrors.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue