mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Errno module for mruby.
This commit is contained in:
@@ -1,4 +1,27 @@
|
||||
mruby-errno
|
||||
===========
|
||||
|
||||
Errno module for mruby
|
||||
Errno module for mruby
|
||||
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2013 Internet Initiative Japan Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
MRuby::Gem::Specification.new('mruby-errno') do |spec|
|
||||
spec.license = 'MIT'
|
||||
spec.authors = 'Internet Initiative Japan Inc.'
|
||||
|
||||
spec.cc.include_paths << "#{build.root}/src"
|
||||
end
|
||||
+163
@@ -0,0 +1,163 @@
|
||||
#include "mruby.h"
|
||||
#include "mruby/array.h"
|
||||
#include "mruby/class.h"
|
||||
#include "mruby/hash.h"
|
||||
#include "mruby/numeric.h"
|
||||
#include "mruby/string.h"
|
||||
#include "mruby/variable.h"
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
static mrb_value
|
||||
mrb_sce_init(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
mrb_value c, e2c, m, str;
|
||||
mrb_int n;
|
||||
int argc, no_errno = 0;
|
||||
char buf[20];
|
||||
|
||||
argc = mrb_get_args(mrb, "o|i", &m, &n);
|
||||
if (argc == 1) {
|
||||
if (mrb_type(m) == MRB_TT_FIXNUM) {
|
||||
n = mrb_fixnum(m);
|
||||
m = mrb_nil_value();
|
||||
} else {
|
||||
no_errno = 1;
|
||||
}
|
||||
}
|
||||
if (!no_errno) {
|
||||
e2c = mrb_const_get(mrb, mrb_obj_value(mrb_class_get(mrb, "Errno")), mrb_intern(mrb, "Errno2class"));
|
||||
c = mrb_hash_fetch(mrb, e2c, mrb_fixnum_value(n), mrb_nil_value());
|
||||
if (!mrb_nil_p(c)) {
|
||||
mrb_basic(self)->c = mrb_class_ptr(c);
|
||||
str = mrb_str_new2(mrb, strerror(n));
|
||||
} else {
|
||||
mrb_iv_set(mrb, self, mrb_intern(mrb, "errno"), mrb_fixnum_value(n));
|
||||
str = mrb_str_new2(mrb, "Unknown error: ");
|
||||
snprintf(buf, sizeof(buf), "%d", n);
|
||||
mrb_str_cat2(mrb, str, buf);
|
||||
}
|
||||
} else {
|
||||
str = mrb_str_new2(mrb, "unknown error");
|
||||
}
|
||||
if (!mrb_nil_p(m)) {
|
||||
mrb_str_cat2(mrb, str, " - ");
|
||||
mrb_str_append(mrb, str, m);
|
||||
}
|
||||
mrb_iv_set(mrb, self, mrb_intern(mrb, "mesg"), str);
|
||||
return self;
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
mrb_sce_errno(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
mrb_sym sym;
|
||||
mrb_value klass;
|
||||
|
||||
klass = mrb_obj_value(mrb_class(mrb, self));
|
||||
sym = mrb_intern(mrb, "Errno");
|
||||
if (mrb_const_defined(mrb, klass, sym))
|
||||
return mrb_const_get(mrb, klass, sym);
|
||||
else {
|
||||
sym = mrb_intern(mrb, "errno");
|
||||
return mrb_attr_get(mrb, self, sym);
|
||||
}
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
mrb_sce_to_s(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
return mrb_attr_get(mrb, self, mrb_intern(mrb, "mesg"));
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
mrb_sce_sys_fail(mrb_state *mrb, mrb_value cls)
|
||||
{
|
||||
struct RClass *cl, *sce;
|
||||
mrb_value e, msg;
|
||||
mrb_int no;
|
||||
int argc;
|
||||
char name[8];
|
||||
|
||||
sce = mrb_class_obj_get(mrb, "SystemCallError");
|
||||
argc = mrb_get_args(mrb, "i|S", &no, &msg);
|
||||
if (argc == 1) {
|
||||
e = mrb_funcall(mrb, mrb_obj_value(sce), "new", 1, mrb_fixnum_value(no));
|
||||
} else {
|
||||
e = mrb_funcall(mrb, mrb_obj_value(sce), "new", 2, msg, mrb_fixnum_value(no));
|
||||
}
|
||||
if (mrb_obj_class(mrb, e) == sce) {
|
||||
snprintf(name, sizeof(name), "E%03ld", (long)no);
|
||||
cl = mrb_define_class_under(mrb, mrb_class_get(mrb, "Errno"), name, sce);
|
||||
mrb_define_const(mrb, cl, "Errno", mrb_fixnum_value(no));
|
||||
mrb_basic(e)->c = cl;
|
||||
}
|
||||
mrb_exc_raise(mrb, e);
|
||||
return mrb_nil_value(); /* NOTREACHED */
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
mrb_exxx_init(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
mrb_value m, no, str;
|
||||
|
||||
no = mrb_const_get(mrb, mrb_obj_value(mrb_class(mrb, self)), mrb_intern(mrb, "Errno"));
|
||||
str = mrb_str_new2(mrb, strerror(mrb_fixnum(no)));
|
||||
|
||||
m = mrb_nil_value();
|
||||
mrb_get_args(mrb, "|S", &m);
|
||||
if (!mrb_nil_p(m)) {
|
||||
mrb_str_cat2(mrb, str, " - ");
|
||||
mrb_str_append(mrb, str, m);
|
||||
}
|
||||
mrb_iv_set(mrb, self, mrb_intern(mrb, "mesg"), str);
|
||||
return self;
|
||||
}
|
||||
|
||||
void
|
||||
mrb_mruby_errno_gem_init(mrb_state *mrb)
|
||||
{
|
||||
struct RClass *e, *eno, *sce, *ste;
|
||||
mrb_value h, noerror;
|
||||
|
||||
ste = mrb_class_obj_get(mrb, "StandardError");
|
||||
|
||||
sce = mrb_define_class(mrb, "SystemCallError", ste);
|
||||
mrb_define_class_method(mrb, sce, "_sys_fail", mrb_sce_sys_fail, ARGS_REQ(1));
|
||||
mrb_define_method(mrb, sce, "errno", mrb_sce_errno, ARGS_NONE());
|
||||
mrb_define_method(mrb, sce, "to_s", mrb_sce_to_s, ARGS_NONE());
|
||||
mrb_define_method(mrb, sce, "initialize", mrb_sce_init, ARGS_REQ(1)|ARGS_OPT(1));
|
||||
|
||||
eno = mrb_define_module(mrb, "Errno");
|
||||
h = mrb_hash_new(mrb);
|
||||
mrb_define_const(mrb, eno, "Errno2class", h);
|
||||
|
||||
e = mrb_define_class_under(mrb, eno, "NOERROR", sce);
|
||||
mrb_define_const(mrb, e, "Errno", mrb_fixnum_value(0));
|
||||
mrb_define_method(mrb, e, "initialize", mrb_exxx_init, ARGS_OPT(1));
|
||||
//mrb_define_method(mrb, e, "===", mrb_exxx_cmp, ARGS_REQ(1));
|
||||
noerror = mrb_obj_value(e);
|
||||
|
||||
#define itsdefined(SYM) \
|
||||
do { \
|
||||
int ai = mrb_gc_arena_save(mrb); \
|
||||
e = mrb_define_class_under(mrb, eno, #SYM, sce); \
|
||||
mrb_define_const(mrb, e, "Errno", mrb_fixnum_value(SYM)); \
|
||||
mrb_define_method(mrb, e, "initialize", mrb_exxx_init, ARGS_OPT(1)); \
|
||||
mrb_hash_set(mrb, h, mrb_fixnum_value(SYM), mrb_obj_value(e)); \
|
||||
mrb_gc_arena_restore(mrb, ai); \
|
||||
} while (0)
|
||||
|
||||
#define itsnotdefined(SYM) \
|
||||
do { \
|
||||
mrb_define_const(mrb, eno, #SYM, noerror); \
|
||||
} while (0)
|
||||
|
||||
#include "known_errors_def.cstub"
|
||||
}
|
||||
|
||||
void
|
||||
mrb_mruby_errno_gem_final(mrb_state *mrb)
|
||||
{
|
||||
}
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
Dir.chdir(File.dirname($0))
|
||||
|
||||
e = File.open("known_errors_e2c.cstub", "w")
|
||||
d = File.open("known_errors_def.cstub", "w")
|
||||
|
||||
IO.readlines("known_errors.def").each { |name|
|
||||
next if name =~ /^#/
|
||||
name.strip!
|
||||
|
||||
e.write <<CODE
|
||||
#ifdef #{name}
|
||||
{ #{name}, NULL, },
|
||||
#endif
|
||||
CODE
|
||||
|
||||
d.write <<CODE
|
||||
#ifdef #{name}
|
||||
itsdefined(#{name});
|
||||
#else
|
||||
itsnotdefined(#{name});
|
||||
#endif
|
||||
CODE
|
||||
}
|
||||
@@ -0,0 +1,145 @@
|
||||
EPERM
|
||||
ENOENT
|
||||
ESRCH
|
||||
EINTR
|
||||
EIO
|
||||
ENXIO
|
||||
E2BIG
|
||||
ENOEXEC
|
||||
EBADF
|
||||
ECHILD
|
||||
EAGAIN
|
||||
ENOMEM
|
||||
EACCES
|
||||
EFAULT
|
||||
ENOTBLK
|
||||
EBUSY
|
||||
EEXIST
|
||||
EXDEV
|
||||
ENODEV
|
||||
ENOTDIR
|
||||
EISDIR
|
||||
EINVAL
|
||||
ENFILE
|
||||
EMFILE
|
||||
ENOTTY
|
||||
ETXTBSY
|
||||
EFBIG
|
||||
ENOSPC
|
||||
ESPIPE
|
||||
EROFS
|
||||
EMLINK
|
||||
EPIPE
|
||||
EDOM
|
||||
ERANGE
|
||||
EDEADLK
|
||||
ENAMETOOLONG
|
||||
ENOLCK
|
||||
ENOSYS
|
||||
ENOTEMPTY
|
||||
ELOOP
|
||||
EWOULDBLOCK
|
||||
ENOMSG
|
||||
EIDRM
|
||||
ECHRNG
|
||||
EL2NSYNC
|
||||
EL3HLT
|
||||
EL3RST
|
||||
ELNRNG
|
||||
EUNATCH
|
||||
ENOCSI
|
||||
EL2HLT
|
||||
EBADE
|
||||
EBADR
|
||||
EXFULL
|
||||
ENOANO
|
||||
EBADRQC
|
||||
EBADSLT
|
||||
EDEADLOCK
|
||||
EBFONT
|
||||
ENOSTR
|
||||
ENODATA
|
||||
ETIME
|
||||
ENOSR
|
||||
ENONET
|
||||
ENOPKG
|
||||
EREMOTE
|
||||
ENOLINK
|
||||
EADV
|
||||
ESRMNT
|
||||
ECOMM
|
||||
EPROTO
|
||||
EMULTIHOP
|
||||
EDOTDOT
|
||||
EBADMSG
|
||||
EOVERFLOW
|
||||
ENOTUNIQ
|
||||
EBADFD
|
||||
EREMCHG
|
||||
ELIBACC
|
||||
ELIBBAD
|
||||
ELIBSCN
|
||||
ELIBMAX
|
||||
ELIBEXEC
|
||||
EILSEQ
|
||||
ERESTART
|
||||
ESTRPIPE
|
||||
EUSERS
|
||||
ENOTSOCK
|
||||
EDESTADDRREQ
|
||||
EMSGSIZE
|
||||
EPROTOTYPE
|
||||
ENOPROTOOPT
|
||||
EPROTONOSUPPORT
|
||||
ESOCKTNOSUPPORT
|
||||
EOPNOTSUPP
|
||||
EPFNOSUPPORT
|
||||
EAFNOSUPPORT
|
||||
EADDRINUSE
|
||||
EADDRNOTAVAIL
|
||||
ENETDOWN
|
||||
ENETUNREACH
|
||||
ENETRESET
|
||||
ECONNABORTED
|
||||
ECONNRESET
|
||||
ENOBUFS
|
||||
EISCONN
|
||||
ENOTCONN
|
||||
ESHUTDOWN
|
||||
ETOOMANYREFS
|
||||
ETIMEDOUT
|
||||
ECONNREFUSED
|
||||
EHOSTDOWN
|
||||
EHOSTUNREACH
|
||||
EALREADY
|
||||
EINPROGRESS
|
||||
ESTALE
|
||||
EUCLEAN
|
||||
ENOTNAM
|
||||
ENAVAIL
|
||||
EISNAM
|
||||
EREMOTEIO
|
||||
EDQUOT
|
||||
ECANCELED
|
||||
EKEYEXPIRED
|
||||
EKEYREJECTED
|
||||
EKEYREVOKED
|
||||
EMEDIUMTYPE
|
||||
ENOKEY
|
||||
ENOMEDIUM
|
||||
ENOTRECOVERABLE
|
||||
EOWNERDEAD
|
||||
ERFKILL
|
||||
EAUTH
|
||||
EBADRPC
|
||||
EDOOFUS
|
||||
EFTYPE
|
||||
ENEEDAUTH
|
||||
ENOATTR
|
||||
ENOTSUP
|
||||
EPROCLIM
|
||||
EPROCUNAVAIL
|
||||
EPROGMISMATCH
|
||||
EPROGUNAVAIL
|
||||
ERPCMISMATCH
|
||||
EIPSEC
|
||||
@@ -0,0 +1,725 @@
|
||||
#ifdef EPERM
|
||||
itsdefined(EPERM);
|
||||
#else
|
||||
itsnotdefined(EPERM);
|
||||
#endif
|
||||
#ifdef ENOENT
|
||||
itsdefined(ENOENT);
|
||||
#else
|
||||
itsnotdefined(ENOENT);
|
||||
#endif
|
||||
#ifdef ESRCH
|
||||
itsdefined(ESRCH);
|
||||
#else
|
||||
itsnotdefined(ESRCH);
|
||||
#endif
|
||||
#ifdef EINTR
|
||||
itsdefined(EINTR);
|
||||
#else
|
||||
itsnotdefined(EINTR);
|
||||
#endif
|
||||
#ifdef EIO
|
||||
itsdefined(EIO);
|
||||
#else
|
||||
itsnotdefined(EIO);
|
||||
#endif
|
||||
#ifdef ENXIO
|
||||
itsdefined(ENXIO);
|
||||
#else
|
||||
itsnotdefined(ENXIO);
|
||||
#endif
|
||||
#ifdef E2BIG
|
||||
itsdefined(E2BIG);
|
||||
#else
|
||||
itsnotdefined(E2BIG);
|
||||
#endif
|
||||
#ifdef ENOEXEC
|
||||
itsdefined(ENOEXEC);
|
||||
#else
|
||||
itsnotdefined(ENOEXEC);
|
||||
#endif
|
||||
#ifdef EBADF
|
||||
itsdefined(EBADF);
|
||||
#else
|
||||
itsnotdefined(EBADF);
|
||||
#endif
|
||||
#ifdef ECHILD
|
||||
itsdefined(ECHILD);
|
||||
#else
|
||||
itsnotdefined(ECHILD);
|
||||
#endif
|
||||
#ifdef EAGAIN
|
||||
itsdefined(EAGAIN);
|
||||
#else
|
||||
itsnotdefined(EAGAIN);
|
||||
#endif
|
||||
#ifdef ENOMEM
|
||||
itsdefined(ENOMEM);
|
||||
#else
|
||||
itsnotdefined(ENOMEM);
|
||||
#endif
|
||||
#ifdef EACCES
|
||||
itsdefined(EACCES);
|
||||
#else
|
||||
itsnotdefined(EACCES);
|
||||
#endif
|
||||
#ifdef EFAULT
|
||||
itsdefined(EFAULT);
|
||||
#else
|
||||
itsnotdefined(EFAULT);
|
||||
#endif
|
||||
#ifdef ENOTBLK
|
||||
itsdefined(ENOTBLK);
|
||||
#else
|
||||
itsnotdefined(ENOTBLK);
|
||||
#endif
|
||||
#ifdef EBUSY
|
||||
itsdefined(EBUSY);
|
||||
#else
|
||||
itsnotdefined(EBUSY);
|
||||
#endif
|
||||
#ifdef EEXIST
|
||||
itsdefined(EEXIST);
|
||||
#else
|
||||
itsnotdefined(EEXIST);
|
||||
#endif
|
||||
#ifdef EXDEV
|
||||
itsdefined(EXDEV);
|
||||
#else
|
||||
itsnotdefined(EXDEV);
|
||||
#endif
|
||||
#ifdef ENODEV
|
||||
itsdefined(ENODEV);
|
||||
#else
|
||||
itsnotdefined(ENODEV);
|
||||
#endif
|
||||
#ifdef ENOTDIR
|
||||
itsdefined(ENOTDIR);
|
||||
#else
|
||||
itsnotdefined(ENOTDIR);
|
||||
#endif
|
||||
#ifdef EISDIR
|
||||
itsdefined(EISDIR);
|
||||
#else
|
||||
itsnotdefined(EISDIR);
|
||||
#endif
|
||||
#ifdef EINVAL
|
||||
itsdefined(EINVAL);
|
||||
#else
|
||||
itsnotdefined(EINVAL);
|
||||
#endif
|
||||
#ifdef ENFILE
|
||||
itsdefined(ENFILE);
|
||||
#else
|
||||
itsnotdefined(ENFILE);
|
||||
#endif
|
||||
#ifdef EMFILE
|
||||
itsdefined(EMFILE);
|
||||
#else
|
||||
itsnotdefined(EMFILE);
|
||||
#endif
|
||||
#ifdef ENOTTY
|
||||
itsdefined(ENOTTY);
|
||||
#else
|
||||
itsnotdefined(ENOTTY);
|
||||
#endif
|
||||
#ifdef ETXTBSY
|
||||
itsdefined(ETXTBSY);
|
||||
#else
|
||||
itsnotdefined(ETXTBSY);
|
||||
#endif
|
||||
#ifdef EFBIG
|
||||
itsdefined(EFBIG);
|
||||
#else
|
||||
itsnotdefined(EFBIG);
|
||||
#endif
|
||||
#ifdef ENOSPC
|
||||
itsdefined(ENOSPC);
|
||||
#else
|
||||
itsnotdefined(ENOSPC);
|
||||
#endif
|
||||
#ifdef ESPIPE
|
||||
itsdefined(ESPIPE);
|
||||
#else
|
||||
itsnotdefined(ESPIPE);
|
||||
#endif
|
||||
#ifdef EROFS
|
||||
itsdefined(EROFS);
|
||||
#else
|
||||
itsnotdefined(EROFS);
|
||||
#endif
|
||||
#ifdef EMLINK
|
||||
itsdefined(EMLINK);
|
||||
#else
|
||||
itsnotdefined(EMLINK);
|
||||
#endif
|
||||
#ifdef EPIPE
|
||||
itsdefined(EPIPE);
|
||||
#else
|
||||
itsnotdefined(EPIPE);
|
||||
#endif
|
||||
#ifdef EDOM
|
||||
itsdefined(EDOM);
|
||||
#else
|
||||
itsnotdefined(EDOM);
|
||||
#endif
|
||||
#ifdef ERANGE
|
||||
itsdefined(ERANGE);
|
||||
#else
|
||||
itsnotdefined(ERANGE);
|
||||
#endif
|
||||
#ifdef EDEADLK
|
||||
itsdefined(EDEADLK);
|
||||
#else
|
||||
itsnotdefined(EDEADLK);
|
||||
#endif
|
||||
#ifdef ENAMETOOLONG
|
||||
itsdefined(ENAMETOOLONG);
|
||||
#else
|
||||
itsnotdefined(ENAMETOOLONG);
|
||||
#endif
|
||||
#ifdef ENOLCK
|
||||
itsdefined(ENOLCK);
|
||||
#else
|
||||
itsnotdefined(ENOLCK);
|
||||
#endif
|
||||
#ifdef ENOSYS
|
||||
itsdefined(ENOSYS);
|
||||
#else
|
||||
itsnotdefined(ENOSYS);
|
||||
#endif
|
||||
#ifdef ENOTEMPTY
|
||||
itsdefined(ENOTEMPTY);
|
||||
#else
|
||||
itsnotdefined(ENOTEMPTY);
|
||||
#endif
|
||||
#ifdef ELOOP
|
||||
itsdefined(ELOOP);
|
||||
#else
|
||||
itsnotdefined(ELOOP);
|
||||
#endif
|
||||
#ifdef EWOULDBLOCK
|
||||
itsdefined(EWOULDBLOCK);
|
||||
#else
|
||||
itsnotdefined(EWOULDBLOCK);
|
||||
#endif
|
||||
#ifdef ENOMSG
|
||||
itsdefined(ENOMSG);
|
||||
#else
|
||||
itsnotdefined(ENOMSG);
|
||||
#endif
|
||||
#ifdef EIDRM
|
||||
itsdefined(EIDRM);
|
||||
#else
|
||||
itsnotdefined(EIDRM);
|
||||
#endif
|
||||
#ifdef ECHRNG
|
||||
itsdefined(ECHRNG);
|
||||
#else
|
||||
itsnotdefined(ECHRNG);
|
||||
#endif
|
||||
#ifdef EL2NSYNC
|
||||
itsdefined(EL2NSYNC);
|
||||
#else
|
||||
itsnotdefined(EL2NSYNC);
|
||||
#endif
|
||||
#ifdef EL3HLT
|
||||
itsdefined(EL3HLT);
|
||||
#else
|
||||
itsnotdefined(EL3HLT);
|
||||
#endif
|
||||
#ifdef EL3RST
|
||||
itsdefined(EL3RST);
|
||||
#else
|
||||
itsnotdefined(EL3RST);
|
||||
#endif
|
||||
#ifdef ELNRNG
|
||||
itsdefined(ELNRNG);
|
||||
#else
|
||||
itsnotdefined(ELNRNG);
|
||||
#endif
|
||||
#ifdef EUNATCH
|
||||
itsdefined(EUNATCH);
|
||||
#else
|
||||
itsnotdefined(EUNATCH);
|
||||
#endif
|
||||
#ifdef ENOCSI
|
||||
itsdefined(ENOCSI);
|
||||
#else
|
||||
itsnotdefined(ENOCSI);
|
||||
#endif
|
||||
#ifdef EL2HLT
|
||||
itsdefined(EL2HLT);
|
||||
#else
|
||||
itsnotdefined(EL2HLT);
|
||||
#endif
|
||||
#ifdef EBADE
|
||||
itsdefined(EBADE);
|
||||
#else
|
||||
itsnotdefined(EBADE);
|
||||
#endif
|
||||
#ifdef EBADR
|
||||
itsdefined(EBADR);
|
||||
#else
|
||||
itsnotdefined(EBADR);
|
||||
#endif
|
||||
#ifdef EXFULL
|
||||
itsdefined(EXFULL);
|
||||
#else
|
||||
itsnotdefined(EXFULL);
|
||||
#endif
|
||||
#ifdef ENOANO
|
||||
itsdefined(ENOANO);
|
||||
#else
|
||||
itsnotdefined(ENOANO);
|
||||
#endif
|
||||
#ifdef EBADRQC
|
||||
itsdefined(EBADRQC);
|
||||
#else
|
||||
itsnotdefined(EBADRQC);
|
||||
#endif
|
||||
#ifdef EBADSLT
|
||||
itsdefined(EBADSLT);
|
||||
#else
|
||||
itsnotdefined(EBADSLT);
|
||||
#endif
|
||||
#ifdef EDEADLOCK
|
||||
itsdefined(EDEADLOCK);
|
||||
#else
|
||||
itsnotdefined(EDEADLOCK);
|
||||
#endif
|
||||
#ifdef EBFONT
|
||||
itsdefined(EBFONT);
|
||||
#else
|
||||
itsnotdefined(EBFONT);
|
||||
#endif
|
||||
#ifdef ENOSTR
|
||||
itsdefined(ENOSTR);
|
||||
#else
|
||||
itsnotdefined(ENOSTR);
|
||||
#endif
|
||||
#ifdef ENODATA
|
||||
itsdefined(ENODATA);
|
||||
#else
|
||||
itsnotdefined(ENODATA);
|
||||
#endif
|
||||
#ifdef ETIME
|
||||
itsdefined(ETIME);
|
||||
#else
|
||||
itsnotdefined(ETIME);
|
||||
#endif
|
||||
#ifdef ENOSR
|
||||
itsdefined(ENOSR);
|
||||
#else
|
||||
itsnotdefined(ENOSR);
|
||||
#endif
|
||||
#ifdef ENONET
|
||||
itsdefined(ENONET);
|
||||
#else
|
||||
itsnotdefined(ENONET);
|
||||
#endif
|
||||
#ifdef ENOPKG
|
||||
itsdefined(ENOPKG);
|
||||
#else
|
||||
itsnotdefined(ENOPKG);
|
||||
#endif
|
||||
#ifdef EREMOTE
|
||||
itsdefined(EREMOTE);
|
||||
#else
|
||||
itsnotdefined(EREMOTE);
|
||||
#endif
|
||||
#ifdef ENOLINK
|
||||
itsdefined(ENOLINK);
|
||||
#else
|
||||
itsnotdefined(ENOLINK);
|
||||
#endif
|
||||
#ifdef EADV
|
||||
itsdefined(EADV);
|
||||
#else
|
||||
itsnotdefined(EADV);
|
||||
#endif
|
||||
#ifdef ESRMNT
|
||||
itsdefined(ESRMNT);
|
||||
#else
|
||||
itsnotdefined(ESRMNT);
|
||||
#endif
|
||||
#ifdef ECOMM
|
||||
itsdefined(ECOMM);
|
||||
#else
|
||||
itsnotdefined(ECOMM);
|
||||
#endif
|
||||
#ifdef EPROTO
|
||||
itsdefined(EPROTO);
|
||||
#else
|
||||
itsnotdefined(EPROTO);
|
||||
#endif
|
||||
#ifdef EMULTIHOP
|
||||
itsdefined(EMULTIHOP);
|
||||
#else
|
||||
itsnotdefined(EMULTIHOP);
|
||||
#endif
|
||||
#ifdef EDOTDOT
|
||||
itsdefined(EDOTDOT);
|
||||
#else
|
||||
itsnotdefined(EDOTDOT);
|
||||
#endif
|
||||
#ifdef EBADMSG
|
||||
itsdefined(EBADMSG);
|
||||
#else
|
||||
itsnotdefined(EBADMSG);
|
||||
#endif
|
||||
#ifdef EOVERFLOW
|
||||
itsdefined(EOVERFLOW);
|
||||
#else
|
||||
itsnotdefined(EOVERFLOW);
|
||||
#endif
|
||||
#ifdef ENOTUNIQ
|
||||
itsdefined(ENOTUNIQ);
|
||||
#else
|
||||
itsnotdefined(ENOTUNIQ);
|
||||
#endif
|
||||
#ifdef EBADFD
|
||||
itsdefined(EBADFD);
|
||||
#else
|
||||
itsnotdefined(EBADFD);
|
||||
#endif
|
||||
#ifdef EREMCHG
|
||||
itsdefined(EREMCHG);
|
||||
#else
|
||||
itsnotdefined(EREMCHG);
|
||||
#endif
|
||||
#ifdef ELIBACC
|
||||
itsdefined(ELIBACC);
|
||||
#else
|
||||
itsnotdefined(ELIBACC);
|
||||
#endif
|
||||
#ifdef ELIBBAD
|
||||
itsdefined(ELIBBAD);
|
||||
#else
|
||||
itsnotdefined(ELIBBAD);
|
||||
#endif
|
||||
#ifdef ELIBSCN
|
||||
itsdefined(ELIBSCN);
|
||||
#else
|
||||
itsnotdefined(ELIBSCN);
|
||||
#endif
|
||||
#ifdef ELIBMAX
|
||||
itsdefined(ELIBMAX);
|
||||
#else
|
||||
itsnotdefined(ELIBMAX);
|
||||
#endif
|
||||
#ifdef ELIBEXEC
|
||||
itsdefined(ELIBEXEC);
|
||||
#else
|
||||
itsnotdefined(ELIBEXEC);
|
||||
#endif
|
||||
#ifdef EILSEQ
|
||||
itsdefined(EILSEQ);
|
||||
#else
|
||||
itsnotdefined(EILSEQ);
|
||||
#endif
|
||||
#ifdef ERESTART
|
||||
itsdefined(ERESTART);
|
||||
#else
|
||||
itsnotdefined(ERESTART);
|
||||
#endif
|
||||
#ifdef ESTRPIPE
|
||||
itsdefined(ESTRPIPE);
|
||||
#else
|
||||
itsnotdefined(ESTRPIPE);
|
||||
#endif
|
||||
#ifdef EUSERS
|
||||
itsdefined(EUSERS);
|
||||
#else
|
||||
itsnotdefined(EUSERS);
|
||||
#endif
|
||||
#ifdef ENOTSOCK
|
||||
itsdefined(ENOTSOCK);
|
||||
#else
|
||||
itsnotdefined(ENOTSOCK);
|
||||
#endif
|
||||
#ifdef EDESTADDRREQ
|
||||
itsdefined(EDESTADDRREQ);
|
||||
#else
|
||||
itsnotdefined(EDESTADDRREQ);
|
||||
#endif
|
||||
#ifdef EMSGSIZE
|
||||
itsdefined(EMSGSIZE);
|
||||
#else
|
||||
itsnotdefined(EMSGSIZE);
|
||||
#endif
|
||||
#ifdef EPROTOTYPE
|
||||
itsdefined(EPROTOTYPE);
|
||||
#else
|
||||
itsnotdefined(EPROTOTYPE);
|
||||
#endif
|
||||
#ifdef ENOPROTOOPT
|
||||
itsdefined(ENOPROTOOPT);
|
||||
#else
|
||||
itsnotdefined(ENOPROTOOPT);
|
||||
#endif
|
||||
#ifdef EPROTONOSUPPORT
|
||||
itsdefined(EPROTONOSUPPORT);
|
||||
#else
|
||||
itsnotdefined(EPROTONOSUPPORT);
|
||||
#endif
|
||||
#ifdef ESOCKTNOSUPPORT
|
||||
itsdefined(ESOCKTNOSUPPORT);
|
||||
#else
|
||||
itsnotdefined(ESOCKTNOSUPPORT);
|
||||
#endif
|
||||
#ifdef EOPNOTSUPP
|
||||
itsdefined(EOPNOTSUPP);
|
||||
#else
|
||||
itsnotdefined(EOPNOTSUPP);
|
||||
#endif
|
||||
#ifdef EPFNOSUPPORT
|
||||
itsdefined(EPFNOSUPPORT);
|
||||
#else
|
||||
itsnotdefined(EPFNOSUPPORT);
|
||||
#endif
|
||||
#ifdef EAFNOSUPPORT
|
||||
itsdefined(EAFNOSUPPORT);
|
||||
#else
|
||||
itsnotdefined(EAFNOSUPPORT);
|
||||
#endif
|
||||
#ifdef EADDRINUSE
|
||||
itsdefined(EADDRINUSE);
|
||||
#else
|
||||
itsnotdefined(EADDRINUSE);
|
||||
#endif
|
||||
#ifdef EADDRNOTAVAIL
|
||||
itsdefined(EADDRNOTAVAIL);
|
||||
#else
|
||||
itsnotdefined(EADDRNOTAVAIL);
|
||||
#endif
|
||||
#ifdef ENETDOWN
|
||||
itsdefined(ENETDOWN);
|
||||
#else
|
||||
itsnotdefined(ENETDOWN);
|
||||
#endif
|
||||
#ifdef ENETUNREACH
|
||||
itsdefined(ENETUNREACH);
|
||||
#else
|
||||
itsnotdefined(ENETUNREACH);
|
||||
#endif
|
||||
#ifdef ENETRESET
|
||||
itsdefined(ENETRESET);
|
||||
#else
|
||||
itsnotdefined(ENETRESET);
|
||||
#endif
|
||||
#ifdef ECONNABORTED
|
||||
itsdefined(ECONNABORTED);
|
||||
#else
|
||||
itsnotdefined(ECONNABORTED);
|
||||
#endif
|
||||
#ifdef ECONNRESET
|
||||
itsdefined(ECONNRESET);
|
||||
#else
|
||||
itsnotdefined(ECONNRESET);
|
||||
#endif
|
||||
#ifdef ENOBUFS
|
||||
itsdefined(ENOBUFS);
|
||||
#else
|
||||
itsnotdefined(ENOBUFS);
|
||||
#endif
|
||||
#ifdef EISCONN
|
||||
itsdefined(EISCONN);
|
||||
#else
|
||||
itsnotdefined(EISCONN);
|
||||
#endif
|
||||
#ifdef ENOTCONN
|
||||
itsdefined(ENOTCONN);
|
||||
#else
|
||||
itsnotdefined(ENOTCONN);
|
||||
#endif
|
||||
#ifdef ESHUTDOWN
|
||||
itsdefined(ESHUTDOWN);
|
||||
#else
|
||||
itsnotdefined(ESHUTDOWN);
|
||||
#endif
|
||||
#ifdef ETOOMANYREFS
|
||||
itsdefined(ETOOMANYREFS);
|
||||
#else
|
||||
itsnotdefined(ETOOMANYREFS);
|
||||
#endif
|
||||
#ifdef ETIMEDOUT
|
||||
itsdefined(ETIMEDOUT);
|
||||
#else
|
||||
itsnotdefined(ETIMEDOUT);
|
||||
#endif
|
||||
#ifdef ECONNREFUSED
|
||||
itsdefined(ECONNREFUSED);
|
||||
#else
|
||||
itsnotdefined(ECONNREFUSED);
|
||||
#endif
|
||||
#ifdef EHOSTDOWN
|
||||
itsdefined(EHOSTDOWN);
|
||||
#else
|
||||
itsnotdefined(EHOSTDOWN);
|
||||
#endif
|
||||
#ifdef EHOSTUNREACH
|
||||
itsdefined(EHOSTUNREACH);
|
||||
#else
|
||||
itsnotdefined(EHOSTUNREACH);
|
||||
#endif
|
||||
#ifdef EALREADY
|
||||
itsdefined(EALREADY);
|
||||
#else
|
||||
itsnotdefined(EALREADY);
|
||||
#endif
|
||||
#ifdef EINPROGRESS
|
||||
itsdefined(EINPROGRESS);
|
||||
#else
|
||||
itsnotdefined(EINPROGRESS);
|
||||
#endif
|
||||
#ifdef ESTALE
|
||||
itsdefined(ESTALE);
|
||||
#else
|
||||
itsnotdefined(ESTALE);
|
||||
#endif
|
||||
#ifdef EUCLEAN
|
||||
itsdefined(EUCLEAN);
|
||||
#else
|
||||
itsnotdefined(EUCLEAN);
|
||||
#endif
|
||||
#ifdef ENOTNAM
|
||||
itsdefined(ENOTNAM);
|
||||
#else
|
||||
itsnotdefined(ENOTNAM);
|
||||
#endif
|
||||
#ifdef ENAVAIL
|
||||
itsdefined(ENAVAIL);
|
||||
#else
|
||||
itsnotdefined(ENAVAIL);
|
||||
#endif
|
||||
#ifdef EISNAM
|
||||
itsdefined(EISNAM);
|
||||
#else
|
||||
itsnotdefined(EISNAM);
|
||||
#endif
|
||||
#ifdef EREMOTEIO
|
||||
itsdefined(EREMOTEIO);
|
||||
#else
|
||||
itsnotdefined(EREMOTEIO);
|
||||
#endif
|
||||
#ifdef EDQUOT
|
||||
itsdefined(EDQUOT);
|
||||
#else
|
||||
itsnotdefined(EDQUOT);
|
||||
#endif
|
||||
#ifdef ECANCELED
|
||||
itsdefined(ECANCELED);
|
||||
#else
|
||||
itsnotdefined(ECANCELED);
|
||||
#endif
|
||||
#ifdef EKEYEXPIRED
|
||||
itsdefined(EKEYEXPIRED);
|
||||
#else
|
||||
itsnotdefined(EKEYEXPIRED);
|
||||
#endif
|
||||
#ifdef EKEYREJECTED
|
||||
itsdefined(EKEYREJECTED);
|
||||
#else
|
||||
itsnotdefined(EKEYREJECTED);
|
||||
#endif
|
||||
#ifdef EKEYREVOKED
|
||||
itsdefined(EKEYREVOKED);
|
||||
#else
|
||||
itsnotdefined(EKEYREVOKED);
|
||||
#endif
|
||||
#ifdef EMEDIUMTYPE
|
||||
itsdefined(EMEDIUMTYPE);
|
||||
#else
|
||||
itsnotdefined(EMEDIUMTYPE);
|
||||
#endif
|
||||
#ifdef ENOKEY
|
||||
itsdefined(ENOKEY);
|
||||
#else
|
||||
itsnotdefined(ENOKEY);
|
||||
#endif
|
||||
#ifdef ENOMEDIUM
|
||||
itsdefined(ENOMEDIUM);
|
||||
#else
|
||||
itsnotdefined(ENOMEDIUM);
|
||||
#endif
|
||||
#ifdef ENOTRECOVERABLE
|
||||
itsdefined(ENOTRECOVERABLE);
|
||||
#else
|
||||
itsnotdefined(ENOTRECOVERABLE);
|
||||
#endif
|
||||
#ifdef EOWNERDEAD
|
||||
itsdefined(EOWNERDEAD);
|
||||
#else
|
||||
itsnotdefined(EOWNERDEAD);
|
||||
#endif
|
||||
#ifdef ERFKILL
|
||||
itsdefined(ERFKILL);
|
||||
#else
|
||||
itsnotdefined(ERFKILL);
|
||||
#endif
|
||||
#ifdef EAUTH
|
||||
itsdefined(EAUTH);
|
||||
#else
|
||||
itsnotdefined(EAUTH);
|
||||
#endif
|
||||
#ifdef EBADRPC
|
||||
itsdefined(EBADRPC);
|
||||
#else
|
||||
itsnotdefined(EBADRPC);
|
||||
#endif
|
||||
#ifdef EDOOFUS
|
||||
itsdefined(EDOOFUS);
|
||||
#else
|
||||
itsnotdefined(EDOOFUS);
|
||||
#endif
|
||||
#ifdef EFTYPE
|
||||
itsdefined(EFTYPE);
|
||||
#else
|
||||
itsnotdefined(EFTYPE);
|
||||
#endif
|
||||
#ifdef ENEEDAUTH
|
||||
itsdefined(ENEEDAUTH);
|
||||
#else
|
||||
itsnotdefined(ENEEDAUTH);
|
||||
#endif
|
||||
#ifdef ENOATTR
|
||||
itsdefined(ENOATTR);
|
||||
#else
|
||||
itsnotdefined(ENOATTR);
|
||||
#endif
|
||||
#ifdef ENOTSUP
|
||||
itsdefined(ENOTSUP);
|
||||
#else
|
||||
itsnotdefined(ENOTSUP);
|
||||
#endif
|
||||
#ifdef EPROCLIM
|
||||
itsdefined(EPROCLIM);
|
||||
#else
|
||||
itsnotdefined(EPROCLIM);
|
||||
#endif
|
||||
#ifdef EPROCUNAVAIL
|
||||
itsdefined(EPROCUNAVAIL);
|
||||
#else
|
||||
itsnotdefined(EPROCUNAVAIL);
|
||||
#endif
|
||||
#ifdef EPROGMISMATCH
|
||||
itsdefined(EPROGMISMATCH);
|
||||
#else
|
||||
itsnotdefined(EPROGMISMATCH);
|
||||
#endif
|
||||
#ifdef EPROGUNAVAIL
|
||||
itsdefined(EPROGUNAVAIL);
|
||||
#else
|
||||
itsnotdefined(EPROGUNAVAIL);
|
||||
#endif
|
||||
#ifdef ERPCMISMATCH
|
||||
itsdefined(ERPCMISMATCH);
|
||||
#else
|
||||
itsnotdefined(ERPCMISMATCH);
|
||||
#endif
|
||||
#ifdef EIPSEC
|
||||
itsdefined(EIPSEC);
|
||||
#else
|
||||
itsnotdefined(EIPSEC);
|
||||
#endif
|
||||
@@ -0,0 +1,435 @@
|
||||
#ifdef EPERM
|
||||
{ EPERM, NULL, },
|
||||
#endif
|
||||
#ifdef ENOENT
|
||||
{ ENOENT, NULL, },
|
||||
#endif
|
||||
#ifdef ESRCH
|
||||
{ ESRCH, NULL, },
|
||||
#endif
|
||||
#ifdef EINTR
|
||||
{ EINTR, NULL, },
|
||||
#endif
|
||||
#ifdef EIO
|
||||
{ EIO, NULL, },
|
||||
#endif
|
||||
#ifdef ENXIO
|
||||
{ ENXIO, NULL, },
|
||||
#endif
|
||||
#ifdef E2BIG
|
||||
{ E2BIG, NULL, },
|
||||
#endif
|
||||
#ifdef ENOEXEC
|
||||
{ ENOEXEC, NULL, },
|
||||
#endif
|
||||
#ifdef EBADF
|
||||
{ EBADF, NULL, },
|
||||
#endif
|
||||
#ifdef ECHILD
|
||||
{ ECHILD, NULL, },
|
||||
#endif
|
||||
#ifdef EAGAIN
|
||||
{ EAGAIN, NULL, },
|
||||
#endif
|
||||
#ifdef ENOMEM
|
||||
{ ENOMEM, NULL, },
|
||||
#endif
|
||||
#ifdef EACCES
|
||||
{ EACCES, NULL, },
|
||||
#endif
|
||||
#ifdef EFAULT
|
||||
{ EFAULT, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTBLK
|
||||
{ ENOTBLK, NULL, },
|
||||
#endif
|
||||
#ifdef EBUSY
|
||||
{ EBUSY, NULL, },
|
||||
#endif
|
||||
#ifdef EEXIST
|
||||
{ EEXIST, NULL, },
|
||||
#endif
|
||||
#ifdef EXDEV
|
||||
{ EXDEV, NULL, },
|
||||
#endif
|
||||
#ifdef ENODEV
|
||||
{ ENODEV, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTDIR
|
||||
{ ENOTDIR, NULL, },
|
||||
#endif
|
||||
#ifdef EISDIR
|
||||
{ EISDIR, NULL, },
|
||||
#endif
|
||||
#ifdef EINVAL
|
||||
{ EINVAL, NULL, },
|
||||
#endif
|
||||
#ifdef ENFILE
|
||||
{ ENFILE, NULL, },
|
||||
#endif
|
||||
#ifdef EMFILE
|
||||
{ EMFILE, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTTY
|
||||
{ ENOTTY, NULL, },
|
||||
#endif
|
||||
#ifdef ETXTBSY
|
||||
{ ETXTBSY, NULL, },
|
||||
#endif
|
||||
#ifdef EFBIG
|
||||
{ EFBIG, NULL, },
|
||||
#endif
|
||||
#ifdef ENOSPC
|
||||
{ ENOSPC, NULL, },
|
||||
#endif
|
||||
#ifdef ESPIPE
|
||||
{ ESPIPE, NULL, },
|
||||
#endif
|
||||
#ifdef EROFS
|
||||
{ EROFS, NULL, },
|
||||
#endif
|
||||
#ifdef EMLINK
|
||||
{ EMLINK, NULL, },
|
||||
#endif
|
||||
#ifdef EPIPE
|
||||
{ EPIPE, NULL, },
|
||||
#endif
|
||||
#ifdef EDOM
|
||||
{ EDOM, NULL, },
|
||||
#endif
|
||||
#ifdef ERANGE
|
||||
{ ERANGE, NULL, },
|
||||
#endif
|
||||
#ifdef EDEADLK
|
||||
{ EDEADLK, NULL, },
|
||||
#endif
|
||||
#ifdef ENAMETOOLONG
|
||||
{ ENAMETOOLONG, NULL, },
|
||||
#endif
|
||||
#ifdef ENOLCK
|
||||
{ ENOLCK, NULL, },
|
||||
#endif
|
||||
#ifdef ENOSYS
|
||||
{ ENOSYS, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTEMPTY
|
||||
{ ENOTEMPTY, NULL, },
|
||||
#endif
|
||||
#ifdef ELOOP
|
||||
{ ELOOP, NULL, },
|
||||
#endif
|
||||
#ifdef EWOULDBLOCK
|
||||
{ EWOULDBLOCK, NULL, },
|
||||
#endif
|
||||
#ifdef ENOMSG
|
||||
{ ENOMSG, NULL, },
|
||||
#endif
|
||||
#ifdef EIDRM
|
||||
{ EIDRM, NULL, },
|
||||
#endif
|
||||
#ifdef ECHRNG
|
||||
{ ECHRNG, NULL, },
|
||||
#endif
|
||||
#ifdef EL2NSYNC
|
||||
{ EL2NSYNC, NULL, },
|
||||
#endif
|
||||
#ifdef EL3HLT
|
||||
{ EL3HLT, NULL, },
|
||||
#endif
|
||||
#ifdef EL3RST
|
||||
{ EL3RST, NULL, },
|
||||
#endif
|
||||
#ifdef ELNRNG
|
||||
{ ELNRNG, NULL, },
|
||||
#endif
|
||||
#ifdef EUNATCH
|
||||
{ EUNATCH, NULL, },
|
||||
#endif
|
||||
#ifdef ENOCSI
|
||||
{ ENOCSI, NULL, },
|
||||
#endif
|
||||
#ifdef EL2HLT
|
||||
{ EL2HLT, NULL, },
|
||||
#endif
|
||||
#ifdef EBADE
|
||||
{ EBADE, NULL, },
|
||||
#endif
|
||||
#ifdef EBADR
|
||||
{ EBADR, NULL, },
|
||||
#endif
|
||||
#ifdef EXFULL
|
||||
{ EXFULL, NULL, },
|
||||
#endif
|
||||
#ifdef ENOANO
|
||||
{ ENOANO, NULL, },
|
||||
#endif
|
||||
#ifdef EBADRQC
|
||||
{ EBADRQC, NULL, },
|
||||
#endif
|
||||
#ifdef EBADSLT
|
||||
{ EBADSLT, NULL, },
|
||||
#endif
|
||||
#ifdef EDEADLOCK
|
||||
{ EDEADLOCK, NULL, },
|
||||
#endif
|
||||
#ifdef EBFONT
|
||||
{ EBFONT, NULL, },
|
||||
#endif
|
||||
#ifdef ENOSTR
|
||||
{ ENOSTR, NULL, },
|
||||
#endif
|
||||
#ifdef ENODATA
|
||||
{ ENODATA, NULL, },
|
||||
#endif
|
||||
#ifdef ETIME
|
||||
{ ETIME, NULL, },
|
||||
#endif
|
||||
#ifdef ENOSR
|
||||
{ ENOSR, NULL, },
|
||||
#endif
|
||||
#ifdef ENONET
|
||||
{ ENONET, NULL, },
|
||||
#endif
|
||||
#ifdef ENOPKG
|
||||
{ ENOPKG, NULL, },
|
||||
#endif
|
||||
#ifdef EREMOTE
|
||||
{ EREMOTE, NULL, },
|
||||
#endif
|
||||
#ifdef ENOLINK
|
||||
{ ENOLINK, NULL, },
|
||||
#endif
|
||||
#ifdef EADV
|
||||
{ EADV, NULL, },
|
||||
#endif
|
||||
#ifdef ESRMNT
|
||||
{ ESRMNT, NULL, },
|
||||
#endif
|
||||
#ifdef ECOMM
|
||||
{ ECOMM, NULL, },
|
||||
#endif
|
||||
#ifdef EPROTO
|
||||
{ EPROTO, NULL, },
|
||||
#endif
|
||||
#ifdef EMULTIHOP
|
||||
{ EMULTIHOP, NULL, },
|
||||
#endif
|
||||
#ifdef EDOTDOT
|
||||
{ EDOTDOT, NULL, },
|
||||
#endif
|
||||
#ifdef EBADMSG
|
||||
{ EBADMSG, NULL, },
|
||||
#endif
|
||||
#ifdef EOVERFLOW
|
||||
{ EOVERFLOW, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTUNIQ
|
||||
{ ENOTUNIQ, NULL, },
|
||||
#endif
|
||||
#ifdef EBADFD
|
||||
{ EBADFD, NULL, },
|
||||
#endif
|
||||
#ifdef EREMCHG
|
||||
{ EREMCHG, NULL, },
|
||||
#endif
|
||||
#ifdef ELIBACC
|
||||
{ ELIBACC, NULL, },
|
||||
#endif
|
||||
#ifdef ELIBBAD
|
||||
{ ELIBBAD, NULL, },
|
||||
#endif
|
||||
#ifdef ELIBSCN
|
||||
{ ELIBSCN, NULL, },
|
||||
#endif
|
||||
#ifdef ELIBMAX
|
||||
{ ELIBMAX, NULL, },
|
||||
#endif
|
||||
#ifdef ELIBEXEC
|
||||
{ ELIBEXEC, NULL, },
|
||||
#endif
|
||||
#ifdef EILSEQ
|
||||
{ EILSEQ, NULL, },
|
||||
#endif
|
||||
#ifdef ERESTART
|
||||
{ ERESTART, NULL, },
|
||||
#endif
|
||||
#ifdef ESTRPIPE
|
||||
{ ESTRPIPE, NULL, },
|
||||
#endif
|
||||
#ifdef EUSERS
|
||||
{ EUSERS, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTSOCK
|
||||
{ ENOTSOCK, NULL, },
|
||||
#endif
|
||||
#ifdef EDESTADDRREQ
|
||||
{ EDESTADDRREQ, NULL, },
|
||||
#endif
|
||||
#ifdef EMSGSIZE
|
||||
{ EMSGSIZE, NULL, },
|
||||
#endif
|
||||
#ifdef EPROTOTYPE
|
||||
{ EPROTOTYPE, NULL, },
|
||||
#endif
|
||||
#ifdef ENOPROTOOPT
|
||||
{ ENOPROTOOPT, NULL, },
|
||||
#endif
|
||||
#ifdef EPROTONOSUPPORT
|
||||
{ EPROTONOSUPPORT, NULL, },
|
||||
#endif
|
||||
#ifdef ESOCKTNOSUPPORT
|
||||
{ ESOCKTNOSUPPORT, NULL, },
|
||||
#endif
|
||||
#ifdef EOPNOTSUPP
|
||||
{ EOPNOTSUPP, NULL, },
|
||||
#endif
|
||||
#ifdef EPFNOSUPPORT
|
||||
{ EPFNOSUPPORT, NULL, },
|
||||
#endif
|
||||
#ifdef EAFNOSUPPORT
|
||||
{ EAFNOSUPPORT, NULL, },
|
||||
#endif
|
||||
#ifdef EADDRINUSE
|
||||
{ EADDRINUSE, NULL, },
|
||||
#endif
|
||||
#ifdef EADDRNOTAVAIL
|
||||
{ EADDRNOTAVAIL, NULL, },
|
||||
#endif
|
||||
#ifdef ENETDOWN
|
||||
{ ENETDOWN, NULL, },
|
||||
#endif
|
||||
#ifdef ENETUNREACH
|
||||
{ ENETUNREACH, NULL, },
|
||||
#endif
|
||||
#ifdef ENETRESET
|
||||
{ ENETRESET, NULL, },
|
||||
#endif
|
||||
#ifdef ECONNABORTED
|
||||
{ ECONNABORTED, NULL, },
|
||||
#endif
|
||||
#ifdef ECONNRESET
|
||||
{ ECONNRESET, NULL, },
|
||||
#endif
|
||||
#ifdef ENOBUFS
|
||||
{ ENOBUFS, NULL, },
|
||||
#endif
|
||||
#ifdef EISCONN
|
||||
{ EISCONN, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTCONN
|
||||
{ ENOTCONN, NULL, },
|
||||
#endif
|
||||
#ifdef ESHUTDOWN
|
||||
{ ESHUTDOWN, NULL, },
|
||||
#endif
|
||||
#ifdef ETOOMANYREFS
|
||||
{ ETOOMANYREFS, NULL, },
|
||||
#endif
|
||||
#ifdef ETIMEDOUT
|
||||
{ ETIMEDOUT, NULL, },
|
||||
#endif
|
||||
#ifdef ECONNREFUSED
|
||||
{ ECONNREFUSED, NULL, },
|
||||
#endif
|
||||
#ifdef EHOSTDOWN
|
||||
{ EHOSTDOWN, NULL, },
|
||||
#endif
|
||||
#ifdef EHOSTUNREACH
|
||||
{ EHOSTUNREACH, NULL, },
|
||||
#endif
|
||||
#ifdef EALREADY
|
||||
{ EALREADY, NULL, },
|
||||
#endif
|
||||
#ifdef EINPROGRESS
|
||||
{ EINPROGRESS, NULL, },
|
||||
#endif
|
||||
#ifdef ESTALE
|
||||
{ ESTALE, NULL, },
|
||||
#endif
|
||||
#ifdef EUCLEAN
|
||||
{ EUCLEAN, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTNAM
|
||||
{ ENOTNAM, NULL, },
|
||||
#endif
|
||||
#ifdef ENAVAIL
|
||||
{ ENAVAIL, NULL, },
|
||||
#endif
|
||||
#ifdef EISNAM
|
||||
{ EISNAM, NULL, },
|
||||
#endif
|
||||
#ifdef EREMOTEIO
|
||||
{ EREMOTEIO, NULL, },
|
||||
#endif
|
||||
#ifdef EDQUOT
|
||||
{ EDQUOT, NULL, },
|
||||
#endif
|
||||
#ifdef ECANCELED
|
||||
{ ECANCELED, NULL, },
|
||||
#endif
|
||||
#ifdef EKEYEXPIRED
|
||||
{ EKEYEXPIRED, NULL, },
|
||||
#endif
|
||||
#ifdef EKEYREJECTED
|
||||
{ EKEYREJECTED, NULL, },
|
||||
#endif
|
||||
#ifdef EKEYREVOKED
|
||||
{ EKEYREVOKED, NULL, },
|
||||
#endif
|
||||
#ifdef EMEDIUMTYPE
|
||||
{ EMEDIUMTYPE, NULL, },
|
||||
#endif
|
||||
#ifdef ENOKEY
|
||||
{ ENOKEY, NULL, },
|
||||
#endif
|
||||
#ifdef ENOMEDIUM
|
||||
{ ENOMEDIUM, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTRECOVERABLE
|
||||
{ ENOTRECOVERABLE, NULL, },
|
||||
#endif
|
||||
#ifdef EOWNERDEAD
|
||||
{ EOWNERDEAD, NULL, },
|
||||
#endif
|
||||
#ifdef ERFKILL
|
||||
{ ERFKILL, NULL, },
|
||||
#endif
|
||||
#ifdef EAUTH
|
||||
{ EAUTH, NULL, },
|
||||
#endif
|
||||
#ifdef EBADRPC
|
||||
{ EBADRPC, NULL, },
|
||||
#endif
|
||||
#ifdef EDOOFUS
|
||||
{ EDOOFUS, NULL, },
|
||||
#endif
|
||||
#ifdef EFTYPE
|
||||
{ EFTYPE, NULL, },
|
||||
#endif
|
||||
#ifdef ENEEDAUTH
|
||||
{ ENEEDAUTH, NULL, },
|
||||
#endif
|
||||
#ifdef ENOATTR
|
||||
{ ENOATTR, NULL, },
|
||||
#endif
|
||||
#ifdef ENOTSUP
|
||||
{ ENOTSUP, NULL, },
|
||||
#endif
|
||||
#ifdef EPROCLIM
|
||||
{ EPROCLIM, NULL, },
|
||||
#endif
|
||||
#ifdef EPROCUNAVAIL
|
||||
{ EPROCUNAVAIL, NULL, },
|
||||
#endif
|
||||
#ifdef EPROGMISMATCH
|
||||
{ EPROGMISMATCH, NULL, },
|
||||
#endif
|
||||
#ifdef EPROGUNAVAIL
|
||||
{ EPROGUNAVAIL, NULL, },
|
||||
#endif
|
||||
#ifdef ERPCMISMATCH
|
||||
{ ERPCMISMATCH, NULL, },
|
||||
#endif
|
||||
#ifdef EIPSEC
|
||||
{ EIPSEC, NULL, },
|
||||
#endif
|
||||
@@ -0,0 +1,60 @@
|
||||
assert('Errno') do
|
||||
Errno.class == Module
|
||||
end
|
||||
|
||||
assert('SystemCallError') do
|
||||
SystemCallError.class == Class
|
||||
end
|
||||
|
||||
assert('SystemCallError superclass') do
|
||||
SystemCallError.superclass == StandardError
|
||||
end
|
||||
|
||||
assert('SystemCallError#initialize') do
|
||||
SystemCallError.new("a").message == "unknown error - a" and
|
||||
SystemCallError.new("a", 12345).message == "Unknown error: 12345 - a" and
|
||||
SystemCallError.new(12345).message == "Unknown error: 12345"
|
||||
end
|
||||
|
||||
assert('SystemCallError#errno') do
|
||||
SystemCallError.new("a", 1).errno == 1 and
|
||||
SystemCallError.new(1).errno == 1 and
|
||||
SystemCallError.new("a", 12345).errno == 12345 and
|
||||
SystemCallError.new(23456).errno == 23456
|
||||
end
|
||||
|
||||
assert('SystemCallError#inspect') do
|
||||
SystemCallError.new("a").inspect == "SystemCallError: unknown error - a"
|
||||
end
|
||||
|
||||
assert('Errno::NOERROR') do
|
||||
Errno::NOERROR.class == Class
|
||||
end
|
||||
|
||||
# Is there any platform does not have EPERM?
|
||||
assert('Errno::EPERM') do
|
||||
Errno::EPERM.class == Class
|
||||
end
|
||||
|
||||
assert('Errno::EPERM superclass') do
|
||||
Errno::EPERM.superclass == SystemCallError
|
||||
end
|
||||
|
||||
assert('Errno::EPERM::Errno') do
|
||||
Errno::EPERM::Errno.is_a? Fixnum
|
||||
end
|
||||
|
||||
assert('Errno::EPERM#message') do
|
||||
msg = Errno::EPERM.new.message
|
||||
Errno::EPERM.new("a").message == "#{msg} - a"
|
||||
end
|
||||
|
||||
assert('Errno::EPERM#inspect 1') do
|
||||
msg = Errno::EPERM.new.message
|
||||
Errno::EPERM.new.inspect == "Errno::EPERM: #{msg}"
|
||||
end
|
||||
|
||||
assert('Errno::EPERM#inspect 2') do
|
||||
msg = Errno::EPERM.new.message
|
||||
Errno::EPERM.new("a").inspect == "Errno::EPERM: #{msg} - a"
|
||||
end
|
||||
Reference in New Issue
Block a user