UnixErrno.mesa
Copyright Ó 1988, 1991 by Xerox Corporation. All rights reserved.
CHauser, November 9, 1988 12:36:16 pm PST
Demers, November 9, 1988 4:03:27 pm PST
Carl Hauser, November 10, 1988 11:53:49 am PST
UnixErrno: CEDAR DEFINITIONS
~ BEGIN
Errno: TYPE = MACHINE DEPENDENT {
ok (0),
EPERM (1), -- Not owner
ENOENT (2), -- No such file or directory
ESRCH (3), -- No such process
EINTR (4), -- Interrupted system call
EIO (5), -- I/O error
ENXIO (6), -- No such device or address
E2BIG (7), -- Arg list too long
ENOEXEC (8), -- Exec format error
EBADF (9), -- Bad file number
ECHILD (10), -- No children
EAGAIN (11), -- No more processes
ENOMEM (12), -- Not enough core
EACCES (13), -- Permission denied
EFAULT (14), -- Bad address
ENOTBLK (15), -- Block device required
EBUSY (16), -- Mount device busy
EEXIST (17), -- File exists
EXDEV (18), -- Cross-device link
ENODEV (19), -- No such device
ENOTDIR (20), -- Not a directory*/
EISDIR (21), -- Is a directory
EINVAL (22), -- Invalid argument
ENFILE (23), -- File table overflow
EMFILE (24), -- Too many open files
ENOTTY (25), -- Not a typewriter
ETXTBSY (26), -- Text file busy
EFBIG (27), -- File too large
ENOSPC (28), -- No space left on device
ESPIPE (29), -- Illegal seek
EROFS (30), -- Read-only file system
EMLINK (31), -- Too many links
EPIPE (32), -- Broken pipe

--
math software
EDOM  (33), -- Argument too large
ERANGE  (34), -- Result too large

--
non-blocking and interrupt i/o
EWOULDBLOCK (35), -- Operation would block
EINPROGRESS (36), -- Operation now in progress
EALREADY  (37), -- Operation already in progress

--
ipc/network software

-- argument errors
ENOTSOCK  (38), -- Socket operation on non-socket
EDESTADDRREQ (39), -- Destination address required
EMSGSIZE  (40), -- Message too long
EPROTOTYPE (41), -- Protocol wrong type for socket
ENOPROTOOPT (42), -- Protocol not available
EPROTONOSUPPORT (43), -- Protocol not supported
ESOCKTNOSUPPORT (44), -- Socket type not supported
EOPNOTSUPP (45), -- Operation not supported on socket
EPFNOSUPPORT (46), -- Protocol family not supported
EAFNOSUPPORT (47), -- Address family not supported by protocol family
EADDRINUSE (48), -- Address already in use
EADDRNOTAVAIL (49), -- Can't assign requested address

--
operational errors
ENETDOWN  (50), -- Network is down
ENETUNREACH (51), -- Network is unreachable
ENETRESET  (52), -- Network dropped connection on reset
ECONNABORTED (53), -- Software caused connection abort
ECONNRESET (54), -- Connection reset by peer
ENOBUFS  (55), -- No buffer space available
EISCONN  (56), -- Socket is already connected
ENOTCONN  (57), -- Socket is not connected
ESHUTDOWN (58), -- Can't send after socket shutdown
ETOOMANYREFS (59), -- Too many references: can't splice
ETIMEDOUT  (60), -- Connection timed out
ECONNREFUSED (61), -- Connection refused

--
ELOOP  (62), -- Too many levels of symbolic links
ENAMETOOLONG (63), -- File name too long

--
should be rearranged
EHOSTDOWN (64), -- Host is down
EHOSTUNREACH (65), -- No route to host
ENOTEMPTY  (66), -- Directory not empty

--
quotas & mush
EPROCLIM  (67), -- Too many processes
EUSERS  (68), -- Too many users
EDQUOT  (69), -- Disc quota exceeded

--
Network File System
ESTALE  (70), -- Stale NFS file handle
EREMOTE  (71), -- Too many levels of remote in path

--
streams
ENOSTR  (72), -- Device is not a stream
ETIME  (73), -- Timer expired
ENOSR  (74), -- Out of streams resources
ENOMSG  (75), -- No message of desired type
EBADMSG  (76), -- Trying to read unreadable message

--
SystemV IPC
EIDRM  (77), -- Identifier removed

--
SystemV Record Locking
EDEADLK  (78), -- Deadlock condition.
ENOLCK  (79), -- No record locks available.

--
RFS
ENONET  (80), -- Machine is not on the network
ERREMOTE  (81), -- Object is remote
ENOLINK  (82), -- the link has been severed
EADV  (83), -- advertise error
ESRMNT  (84), -- srmount error
ECOMM  (85), -- Communication error on send
EPROTO  (86), -- Protocol error
EMULTIHOP  (87), -- multihop attempted
EDOTDOT  (88), -- Cross mount point (not an error)
EREMCHG  (89), -- Remote address changed

-- XR extensions
EABORTED  (1024), -- Condition wait ABORTed
(CARD.LAST)
};
GetErrno: PROC [] RETURNS [Errno] ~ TRUSTED MACHINE CODE {
"XR←GetErrno"
};
SetErrno: PROC [Errno] ~ TRUSTED MACHINE CODE {
"XR←SetErrno"
};
END.