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
commit0a3abc7cf4aa2a07b67930f9e6cc2afcc0aa24c8 (patch)
treeaccc571b50a6b5e8f93abb3bf64460afb65335ba
parent00bca0604d5c817dda2b7862556e317bbfe6526e (diff)
downloadtxr-0a3abc7cf4aa2a07b67930f9e6cc2afcc0aa24c8.tar.gz
txr-0a3abc7cf4aa2a07b67930f9e6cc2afcc0aa24c8.tar.bz2
txr-0a3abc7cf4aa2a07b67930f9e6cc2afcc0aa24c8.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)