summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-06-09 22:27:01 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-06-09 22:27:01 -0700
commit3bfc05ec87457b322918986bfc83385839026e49 (patch)
treeaccc571b50a6b5e8f93abb3bf64460afb65335ba
parent4f33b169dc547b7f9af6f2f1c173d36fc4d62fe8 (diff)
downloadtxr-3bfc05ec87457b322918986bfc83385839026e49.tar.gz
txr-3bfc05ec87457b322918986bfc83385839026e49.tar.bz2
txr-3bfc05ec87457b322918986bfc83385839026e49.zip
Adding errno constants.
* sysif.c (sysif_init): registering variables e2big, eacces, eaddrinuse, eaddrnotavail, eafnosupport, eagain, ealready, ebadf, ebadmsg, ebusy, ecanceled, echild, econnaborted, econnrefused, econnreset, edeadlk, edestaddrreq, edom, edquot, eexist, efault, efbig, ehostunreach, eidrm, eilseq, einprogress, eintr, einval, eio, eisconn, eisdir, eloop, emfile, emlink, emsgsize, emultihop, enametoolong, enetdown, enetreset, enetunreach, enfile, enobufs, enodata, enodev, enoent, enoexec, enolck, enolink, enomem, enomsg, enoprotoopt, enospc, enosr, enostr, enosys, enotconn, enotdir, enotempty, enotrecoverable, enotsock, enotsup, enotty, enxio, eopnotsupp, eoverflow, eownerdead, eperm, epipe, eproto, eprotonosupport, eprototype, erange, erofs, espipe, esrch, estale, etime, etimedout, etxtbsy ewouldblock and exdev. * txr.1: Documented.
-rw-r--r--sysif.c86
-rw-r--r--txr.119
2 files changed, 105 insertions, 0 deletions
diff --git a/sysif.c b/sysif.c
index 07ca13e9..632805fd 100644
--- a/sysif.c
+++ b/sysif.c
@@ -1766,6 +1766,92 @@ void sysif_init(void)
nil, nil, nil, nil);
#endif
+ reg_varl(intern(lit("e2big"), user_package), num_fast(E2BIG));
+ reg_varl(intern(lit("eacces"), user_package), num_fast(EACCES));
+ reg_varl(intern(lit("eaddrinuse"), user_package), num_fast(EADDRINUSE));
+ reg_varl(intern(lit("eaddrnotavail"), user_package), num_fast(EADDRNOTAVAIL));
+ reg_varl(intern(lit("eafnosupport"), user_package), num_fast(EAFNOSUPPORT));
+ reg_varl(intern(lit("eagain"), user_package), num_fast(EAGAIN));
+ reg_varl(intern(lit("ealready"), user_package), num_fast(EALREADY));
+ reg_varl(intern(lit("ebadf"), user_package), num_fast(EBADF));
+ reg_varl(intern(lit("ebadmsg"), user_package), num_fast(EBADMSG));
+ reg_varl(intern(lit("ebusy"), user_package), num_fast(EBUSY));
+ reg_varl(intern(lit("ecanceled"), user_package), num_fast(ECANCELED));
+ reg_varl(intern(lit("echild"), user_package), num_fast(ECHILD));
+ reg_varl(intern(lit("econnaborted"), user_package), num_fast(ECONNABORTED));
+ reg_varl(intern(lit("econnrefused"), user_package), num_fast(ECONNREFUSED));
+ reg_varl(intern(lit("econnreset"), user_package), num_fast(ECONNRESET));
+ reg_varl(intern(lit("edeadlk"), user_package), num_fast(EDEADLK));
+ reg_varl(intern(lit("edestaddrreq"), user_package), num_fast(EDESTADDRREQ));
+ reg_varl(intern(lit("edom"), user_package), num_fast(EDOM));
+ reg_varl(intern(lit("edquot"), user_package), num_fast(EDQUOT));
+ reg_varl(intern(lit("eexist"), user_package), num_fast(EEXIST));
+ reg_varl(intern(lit("efault"), user_package), num_fast(EFAULT));
+ reg_varl(intern(lit("efbig"), user_package), num_fast(EFBIG));
+ reg_varl(intern(lit("ehostunreach"), user_package), num_fast(EHOSTUNREACH));
+ reg_varl(intern(lit("eidrm"), user_package), num_fast(EIDRM));
+ reg_varl(intern(lit("eilseq"), user_package), num_fast(EILSEQ));
+ reg_varl(intern(lit("einprogress"), user_package), num_fast(EINPROGRESS));
+ reg_varl(intern(lit("eintr"), user_package), num_fast(EINTR));
+ reg_varl(intern(lit("einval"), user_package), num_fast(EINVAL));
+ reg_varl(intern(lit("eio"), user_package), num_fast(EIO));
+ reg_varl(intern(lit("eisconn"), user_package), num_fast(EISCONN));
+ reg_varl(intern(lit("eisdir"), user_package), num_fast(EISDIR));
+ reg_varl(intern(lit("eloop"), user_package), num_fast(ELOOP));
+ reg_varl(intern(lit("emfile"), user_package), num_fast(EMFILE));
+ reg_varl(intern(lit("emlink"), user_package), num_fast(EMLINK));
+ reg_varl(intern(lit("emsgsize"), user_package), num_fast(EMSGSIZE));
+ reg_varl(intern(lit("emultihop"), user_package), num_fast(EMULTIHOP));
+ reg_varl(intern(lit("enametoolong"), user_package), num_fast(ENAMETOOLONG));
+ reg_varl(intern(lit("enetdown"), user_package), num_fast(ENETDOWN));
+ reg_varl(intern(lit("enetreset"), user_package), num_fast(ENETRESET));
+ reg_varl(intern(lit("enetunreach"), user_package), num_fast(ENETUNREACH));
+ reg_varl(intern(lit("enfile"), user_package), num_fast(ENFILE));
+ reg_varl(intern(lit("enobufs"), user_package), num_fast(ENOBUFS));
+ reg_varl(intern(lit("enodata"), user_package), num_fast(ENODATA));
+ reg_varl(intern(lit("enodev"), user_package), num_fast(ENODEV));
+ reg_varl(intern(lit("enoent"), user_package), num_fast(ENOENT));
+ reg_varl(intern(lit("enoexec"), user_package), num_fast(ENOEXEC));
+ reg_varl(intern(lit("enolck"), user_package), num_fast(ENOLCK));
+ reg_varl(intern(lit("enolink"), user_package), num_fast(ENOLINK));
+ reg_varl(intern(lit("enomem"), user_package), num_fast(ENOMEM));
+ reg_varl(intern(lit("enomsg"), user_package), num_fast(ENOMSG));
+ reg_varl(intern(lit("enoprotoopt"), user_package), num_fast(ENOPROTOOPT));
+ reg_varl(intern(lit("enospc"), user_package), num_fast(ENOSPC));
+ reg_varl(intern(lit("enosr"), user_package), num_fast(ENOSR));
+ reg_varl(intern(lit("enostr"), user_package), num_fast(ENOSTR));
+ reg_varl(intern(lit("enosys"), user_package), num_fast(ENOSYS));
+ reg_varl(intern(lit("enotconn"), user_package), num_fast(ENOTCONN));
+ reg_varl(intern(lit("enotdir"), user_package), num_fast(ENOTDIR));
+ reg_varl(intern(lit("enotempty"), user_package), num_fast(ENOTEMPTY));
+#ifdef ENOTRECOVERABLE
+ reg_varl(intern(lit("enotrecoverable"), user_package), num_fast(ENOTRECOVERABLE));
+#endif
+ reg_varl(intern(lit("enotsock"), user_package), num_fast(ENOTSOCK));
+ reg_varl(intern(lit("enotsup"), user_package), num_fast(ENOTSUP));
+ reg_varl(intern(lit("enotty"), user_package), num_fast(ENOTTY));
+ reg_varl(intern(lit("enxio"), user_package), num_fast(ENXIO));
+ reg_varl(intern(lit("eopnotsupp"), user_package), num_fast(EOPNOTSUPP));
+ reg_varl(intern(lit("eoverflow"), user_package), num_fast(EOVERFLOW));
+#ifdef EOWNERDEAD
+ reg_varl(intern(lit("eownerdead"), user_package), num_fast(EOWNERDEAD));
+#endif
+ reg_varl(intern(lit("eperm"), user_package), num_fast(EPERM));
+ reg_varl(intern(lit("epipe"), user_package), num_fast(EPIPE));
+ reg_varl(intern(lit("eproto"), user_package), num_fast(EPROTO));
+ reg_varl(intern(lit("eprotonosupport"), user_package), num_fast(EPROTONOSUPPORT));
+ reg_varl(intern(lit("eprototype"), user_package), num_fast(EPROTOTYPE));
+ reg_varl(intern(lit("erange"), user_package), num_fast(ERANGE));
+ reg_varl(intern(lit("erofs"), user_package), num_fast(EROFS));
+ reg_varl(intern(lit("espipe"), user_package), num_fast(ESPIPE));
+ reg_varl(intern(lit("esrch"), user_package), num_fast(ESRCH));
+ reg_varl(intern(lit("estale"), user_package), num_fast(ESTALE));
+ reg_varl(intern(lit("etime"), user_package), num_fast(ETIME));
+ reg_varl(intern(lit("etimedout"), user_package), num_fast(ETIMEDOUT));
+ reg_varl(intern(lit("etxtbsy"), user_package), num_fast(ETXTBSY));
+ reg_varl(intern(lit("ewouldblock"), user_package), num_fast(EWOULDBLOCK));
+ reg_varl(intern(lit("exdev"), user_package), num_fast(EXDEV));
+
reg_fun(intern(lit("errno"), user_package), func_n1o(errno_wrap, 0));
reg_fun(intern(lit("exit"), user_package), func_n1(exit_wrap));
reg_fun(intern(lit("at-exit-call"), user_package), func_n1(at_exit_call));
diff --git a/txr.1 b/txr.1
index 7408f181..f1467f60 100644
--- a/txr.1
+++ b/txr.1
@@ -52988,6 +52988,25 @@ These are platform-independent
indicators of failed or successful termination. The numeric value 0 also
indicates success.
+.coNP Variables @, e2big @, eacces @, eaddrinuse @, eaddrnotavail @, eafnosupport @, eagain @, ealready @, ebadf @, ebadmsg @, ebusy @, ecanceled @, echild @, econnaborted @, econnrefused @, econnreset @, edeadlk @, edestaddrreq @, edom @, edquot @, eexist @, efault @, efbig @, ehostunreach @, eidrm @, eilseq @, einprogress @, eintr @, einval @, eio @, eisconn @, eisdir @, eloop @, emfile @, emlink @, emsgsize @, emultihop @, enametoolong @, enetdown @, enetreset @, enetunreach @, enfile @, enobufs @, enodata @, enodev @, enoent @, enoexec @, enolck @, enolink @, enomem @, enomsg @, enoprotoopt @, enospc @, enosr @, enostr @, enosys @, enotconn @, enotdir @, enotempty @, enotrecoverable @, enotsock @, enotsup @, enotty @, enxio @, eopnotsupp @, eoverflow @, eownerdead @, eperm @, epipe @, eproto @, eprotonosupport @, eprototype @, erange @, erofs @, espipe @, esrch @, estale @, etime @, etimedout @, etxtbsy @ ewouldblock and @ exdev
+.desc
+These variables correspond to the POSIX
+.cod2 \(dq errno
+constants\(dq, namely
+.codn E2BIG ,
+.codn EACCES ,
+.code EADDRINUSE
+and so forth.
+Variables corresponding to all of the
+.code "<errno.h>"
+constants from the Issue 6 2004 edition of POSIX are included.
+The variables
+.code eownerdead
+and
+.code enotrecoverable
+from Issue 7 2018 are subject to the availability of the corresponding constants
+in the host platform.
+
.coNP Function @ abort
.synb
.mets (abort)