Better Unix errors
parent
70e89b5166
commit
bf01d85e12
|
@ -48,10 +48,6 @@ C-STRUCT: sockaddr-un
|
||||||
|
|
||||||
: max-un-path 104 ; inline
|
: max-un-path 104 ; inline
|
||||||
|
|
||||||
: EINTR HEX: 4 ; inline
|
|
||||||
: EAGAIN HEX: 23 ; inline
|
|
||||||
: EINPROGRESS HEX: 24 ; inline
|
|
||||||
|
|
||||||
: SOCK_STREAM 1 ; inline
|
: SOCK_STREAM 1 ; inline
|
||||||
: SOCK_DGRAM 2 ; inline
|
: SOCK_DGRAM 2 ; inline
|
||||||
|
|
||||||
|
|
|
@ -12,3 +12,98 @@ C-STRUCT: addrinfo
|
||||||
{ "char*" "canonname" }
|
{ "char*" "canonname" }
|
||||||
{ "void*" "addr" }
|
{ "void*" "addr" }
|
||||||
{ "addrinfo*" "next" } ;
|
{ "addrinfo*" "next" } ;
|
||||||
|
|
||||||
|
: EPERM 1 ; inline
|
||||||
|
: ENOENT 2 ; inline
|
||||||
|
: ESRCH 3 ; inline
|
||||||
|
: EINTR 4 ; inline
|
||||||
|
: EIO 5 ; inline
|
||||||
|
: ENXIO 6 ; inline
|
||||||
|
: E2BIG 7 ; inline
|
||||||
|
: ENOEXEC 8 ; inline
|
||||||
|
: EBADF 9 ; inline
|
||||||
|
: ECHILD 10 ; inline
|
||||||
|
: EDEADLK 11 ; inline
|
||||||
|
: ENOMEM 12 ; inline
|
||||||
|
: EACCES 13 ; inline
|
||||||
|
: EFAULT 14 ; inline
|
||||||
|
: ENOTBLK 15 ; inline
|
||||||
|
: EBUSY 16 ; inline
|
||||||
|
: EEXIST 17 ; inline
|
||||||
|
: EXDEV 18 ; inline
|
||||||
|
: ENODEV 19 ; inline
|
||||||
|
: ENOTDIR 20 ; inline
|
||||||
|
: EISDIR 21 ; inline
|
||||||
|
: EINVAL 22 ; inline
|
||||||
|
: ENFILE 23 ; inline
|
||||||
|
: EMFILE 24 ; inline
|
||||||
|
: ENOTTY 25 ; inline
|
||||||
|
: ETXTBSY 26 ; inline
|
||||||
|
: EFBIG 27 ; inline
|
||||||
|
: ENOSPC 28 ; inline
|
||||||
|
: ESPIPE 29 ; inline
|
||||||
|
: EROFS 30 ; inline
|
||||||
|
: EMLINK 31 ; inline
|
||||||
|
: EPIPE 32 ; inline
|
||||||
|
: EDOM 33 ; inline
|
||||||
|
: ERANGE 34 ; inline
|
||||||
|
: EAGAIN 35 ; inline
|
||||||
|
: EWOULDBLOCK EAGAIN ; inline
|
||||||
|
: EINPROGRESS 36 ; inline
|
||||||
|
: EALREADY 37 ; inline
|
||||||
|
: ENOTSOCK 38 ; inline
|
||||||
|
: EDESTADDRREQ 39 ; inline
|
||||||
|
: EMSGSIZE 40 ; inline
|
||||||
|
: EPROTOTYPE 41 ; inline
|
||||||
|
: ENOPROTOOPT 42 ; inline
|
||||||
|
: EPROTONOSUPPORT 43 ; inline
|
||||||
|
: ESOCKTNOSUPPORT 44 ; inline
|
||||||
|
: EOPNOTSUPP 45 ; inline
|
||||||
|
: ENOTSUP EOPNOTSUPP ; inline
|
||||||
|
: EPFNOSUPPORT 46 ; inline
|
||||||
|
: EAFNOSUPPORT 47 ; inline
|
||||||
|
: EADDRINUSE 48 ; inline
|
||||||
|
: EADDRNOTAVAIL 49 ; inline
|
||||||
|
: ENETDOWN 50 ; inline
|
||||||
|
: ENETUNREACH 51 ; inline
|
||||||
|
: ENETRESET 52 ; inline
|
||||||
|
: ECONNABORTED 53 ; inline
|
||||||
|
: ECONNRESET 54 ; inline
|
||||||
|
: ENOBUFS 55 ; inline
|
||||||
|
: EISCONN 56 ; inline
|
||||||
|
: ENOTCONN 57 ; inline
|
||||||
|
: ESHUTDOWN 58 ; inline
|
||||||
|
: ETOOMANYREFS 59 ; inline
|
||||||
|
: ETIMEDOUT 60 ; inline
|
||||||
|
: ECONNREFUSED 61 ; inline
|
||||||
|
: ELOOP 62 ; inline
|
||||||
|
: ENAMETOOLONG 63 ; inline
|
||||||
|
: EHOSTDOWN 64 ; inline
|
||||||
|
: EHOSTUNREACH 65 ; inline
|
||||||
|
: ENOTEMPTY 66 ; inline
|
||||||
|
: EPROCLIM 67 ; inline
|
||||||
|
: EUSERS 68 ; inline
|
||||||
|
: EDQUOT 69 ; inline
|
||||||
|
: ESTALE 70 ; inline
|
||||||
|
: EREMOTE 71 ; inline
|
||||||
|
: EBADRPC 72 ; inline
|
||||||
|
: ERPCMISMATCH 73 ; inline
|
||||||
|
: EPROGUNAVAIL 74 ; inline
|
||||||
|
: EPROGMISMATCH 75 ; inline
|
||||||
|
: EPROCUNAVAIL 76 ; inline
|
||||||
|
: ENOLCK 77 ; inline
|
||||||
|
: ENOSYS 78 ; inline
|
||||||
|
: EFTYPE 79 ; inline
|
||||||
|
: EAUTH 80 ; inline
|
||||||
|
: ENEEDAUTH 81 ; inline
|
||||||
|
: EIDRM 82 ; inline
|
||||||
|
: ENOMSG 83 ; inline
|
||||||
|
: EOVERFLOW 84 ; inline
|
||||||
|
: ECANCELED 85 ; inline
|
||||||
|
: EILSEQ 86 ; inline
|
||||||
|
: ENOATTR 87 ; inline
|
||||||
|
: EDOOFUS 88 ; inline
|
||||||
|
: EBADMSG 89 ; inline
|
||||||
|
: EMULTIHOP 90 ; inline
|
||||||
|
: ENOLINK 91 ; inline
|
||||||
|
: EPROTO 92 ; inline
|
||||||
|
|
|
@ -25,3 +25,108 @@ C-STRUCT: passwd
|
||||||
{ "char*" "pw_shell" }
|
{ "char*" "pw_shell" }
|
||||||
{ "time_t" "pw_expire" }
|
{ "time_t" "pw_expire" }
|
||||||
{ "int" "pw_fields" } ;
|
{ "int" "pw_fields" } ;
|
||||||
|
|
||||||
|
: EPERM 1 ; inline
|
||||||
|
: ENOENT 2 ; inline
|
||||||
|
: ESRCH 3 ; inline
|
||||||
|
: EINTR 4 ; inline
|
||||||
|
: EIO 5 ; inline
|
||||||
|
: ENXIO 6 ; inline
|
||||||
|
: E2BIG 7 ; inline
|
||||||
|
: ENOEXEC 8 ; inline
|
||||||
|
: EBADF 9 ; inline
|
||||||
|
: ECHILD 10 ; inline
|
||||||
|
: EDEADLK 11 ; inline
|
||||||
|
: ENOMEM 12 ; inline
|
||||||
|
: EACCES 13 ; inline
|
||||||
|
: EFAULT 14 ; inline
|
||||||
|
: ENOTBLK 15 ; inline
|
||||||
|
: EBUSY 16 ; inline
|
||||||
|
: EEXIST 17 ; inline
|
||||||
|
: EXDEV 18 ; inline
|
||||||
|
: ENODEV 19 ; inline
|
||||||
|
: ENOTDIR 20 ; inline
|
||||||
|
: EISDIR 21 ; inline
|
||||||
|
: EINVAL 22 ; inline
|
||||||
|
: ENFILE 23 ; inline
|
||||||
|
: EMFILE 24 ; inline
|
||||||
|
: ENOTTY 25 ; inline
|
||||||
|
: ETXTBSY 26 ; inline
|
||||||
|
: EFBIG 27 ; inline
|
||||||
|
: ENOSPC 28 ; inline
|
||||||
|
: ESPIPE 29 ; inline
|
||||||
|
: EROFS 30 ; inline
|
||||||
|
: EMLINK 31 ; inline
|
||||||
|
: EPIPE 32 ; inline
|
||||||
|
: EDOM 33 ; inline
|
||||||
|
: ERANGE 34 ; inline
|
||||||
|
: EAGAIN 35 ; inline
|
||||||
|
: EWOULDBLOCK EAGAIN ; inline
|
||||||
|
: EINPROGRESS 36 ; inline
|
||||||
|
: EALREADY 37 ; inline
|
||||||
|
: ENOTSOCK 38 ; inline
|
||||||
|
: EDESTADDRREQ 39 ; inline
|
||||||
|
: EMSGSIZE 40 ; inline
|
||||||
|
: EPROTOTYPE 41 ; inline
|
||||||
|
: ENOPROTOOPT 42 ; inline
|
||||||
|
: EPROTONOSUPPORT 43 ; inline
|
||||||
|
: ESOCKTNOSUPPORT 44 ; inline
|
||||||
|
: ENOTSUP 45 ; inline
|
||||||
|
: EPFNOSUPPORT 46 ; inline
|
||||||
|
: EAFNOSUPPORT 47 ; inline
|
||||||
|
: EADDRINUSE 48 ; inline
|
||||||
|
: EADDRNOTAVAIL 49 ; inline
|
||||||
|
: ENETDOWN 50 ; inline
|
||||||
|
: ENETUNREACH 51 ; inline
|
||||||
|
: ENETRESET 52 ; inline
|
||||||
|
: ECONNABORTED 53 ; inline
|
||||||
|
: ECONNRESET 54 ; inline
|
||||||
|
: ENOBUFS 55 ; inline
|
||||||
|
: EISCONN 56 ; inline
|
||||||
|
: ENOTCONN 57 ; inline
|
||||||
|
: ESHUTDOWN 58 ; inline
|
||||||
|
: ETOOMANYREFS 59 ; inline
|
||||||
|
: ETIMEDOUT 60 ; inline
|
||||||
|
: ECONNREFUSED 61 ; inline
|
||||||
|
: ELOOP 62 ; inline
|
||||||
|
: ENAMETOOLONG 63 ; inline
|
||||||
|
: EHOSTDOWN 64 ; inline
|
||||||
|
: EHOSTUNREACH 65 ; inline
|
||||||
|
: ENOTEMPTY 66 ; inline
|
||||||
|
: EPROCLIM 67 ; inline
|
||||||
|
: EUSERS 68 ; inline
|
||||||
|
: EDQUOT 69 ; inline
|
||||||
|
: ESTALE 70 ; inline
|
||||||
|
: EREMOTE 71 ; inline
|
||||||
|
: EBADRPC 72 ; inline
|
||||||
|
: ERPCMISMATCH 73 ; inline
|
||||||
|
: EPROGUNAVAIL 74 ; inline
|
||||||
|
: EPROGMISMATCH 75 ; inline
|
||||||
|
: EPROCUNAVAIL 76 ; inline
|
||||||
|
: ENOLCK 77 ; inline
|
||||||
|
: ENOSYS 78 ; inline
|
||||||
|
: EFTYPE 79 ; inline
|
||||||
|
: EAUTH 80 ; inline
|
||||||
|
: ENEEDAUTH 81 ; inline
|
||||||
|
: EPWROFF 82 ; inline
|
||||||
|
: EDEVERR 83 ; inline
|
||||||
|
: EOVERFLOW 84 ; inline
|
||||||
|
: EBADEXEC 85 ; inline
|
||||||
|
: EBADARCH 86 ; inline
|
||||||
|
: ESHLIBVERS 87 ; inline
|
||||||
|
: EBADMACHO 88 ; inline
|
||||||
|
: ECANCELED 89 ; inline
|
||||||
|
: EIDRM 90 ; inline
|
||||||
|
: ENOMSG 91 ; inline
|
||||||
|
: EILSEQ 92 ; inline
|
||||||
|
: ENOATTR 93 ; inline
|
||||||
|
: EBADMSG 94 ; inline
|
||||||
|
: EMULTIHOP 95 ; inline
|
||||||
|
: ENODATA 96 ; inline
|
||||||
|
: ENOLINK 97 ; inline
|
||||||
|
: ENOSR 98 ; inline
|
||||||
|
: ENOSTR 99 ; inline
|
||||||
|
: EPROTO 100 ; inline
|
||||||
|
: ETIME 101 ; inline
|
||||||
|
: EOPNOTSUPP 102 ; inline
|
||||||
|
: ENOPOLICY 103 ; inline
|
||||||
|
|
|
@ -12,3 +12,102 @@ C-STRUCT: addrinfo
|
||||||
{ "char*" "canonname" }
|
{ "char*" "canonname" }
|
||||||
{ "void*" "addr" }
|
{ "void*" "addr" }
|
||||||
{ "addrinfo*" "next" } ;
|
{ "addrinfo*" "next" } ;
|
||||||
|
|
||||||
|
: EPERM 1 ; inline
|
||||||
|
: ENOENT 2 ; inline
|
||||||
|
: ESRCH 3 ; inline
|
||||||
|
: EINTR 4 ; inline
|
||||||
|
: EIO 5 ; inline
|
||||||
|
: ENXIO 6 ; inline
|
||||||
|
: E2BIG 7 ; inline
|
||||||
|
: ENOEXEC 8 ; inline
|
||||||
|
: EBADF 9 ; inline
|
||||||
|
: ECHILD 10 ; inline
|
||||||
|
: EDEADLK 11 ; inline
|
||||||
|
: ENOMEM 12 ; inline
|
||||||
|
: EACCES 13 ; inline
|
||||||
|
: EFAULT 14 ; inline
|
||||||
|
: ENOTBLK 15 ; inline
|
||||||
|
: EBUSY 16 ; inline
|
||||||
|
: EEXIST 17 ; inline
|
||||||
|
: EXDEV 18 ; inline
|
||||||
|
: ENODEV 19 ; inline
|
||||||
|
: ENOTDIR 20 ; inline
|
||||||
|
: EISDIR 21 ; inline
|
||||||
|
: EINVAL 22 ; inline
|
||||||
|
: ENFILE 23 ; inline
|
||||||
|
: EMFILE 24 ; inline
|
||||||
|
: ENOTTY 25 ; inline
|
||||||
|
: ETXTBSY 26 ; inline
|
||||||
|
: EFBIG 27 ; inline
|
||||||
|
: ENOSPC 28 ; inline
|
||||||
|
: ESPIPE 29 ; inline
|
||||||
|
: EROFS 30 ; inline
|
||||||
|
: EMLINK 31 ; inline
|
||||||
|
: EPIPE 32 ; inline
|
||||||
|
: EDOM 33 ; inline
|
||||||
|
: ERANGE 34 ; inline
|
||||||
|
: EAGAIN 35 ; inline
|
||||||
|
: EWOULDBLOCK EAGAIN ; inline
|
||||||
|
: EINPROGRESS 36 ; inline
|
||||||
|
: EALREADY 37 ; inline
|
||||||
|
: ENOTSOCK 38 ; inline
|
||||||
|
: EDESTADDRREQ 39 ; inline
|
||||||
|
: EMSGSIZE 40 ; inline
|
||||||
|
: EPROTOTYPE 41 ; inline
|
||||||
|
: ENOPROTOOPT 42 ; inline
|
||||||
|
: EPROTONOSUPPORT 43 ; inline
|
||||||
|
: ESOCKTNOSUPPORT 44 ; inline
|
||||||
|
: EOPNOTSUPP 45 ; inline
|
||||||
|
: EPFNOSUPPORT 46 ; inline
|
||||||
|
: EAFNOSUPPORT 47 ; inline
|
||||||
|
: EADDRINUSE 48 ; inline
|
||||||
|
: EADDRNOTAVAIL 49 ; inline
|
||||||
|
: ENETDOWN 50 ; inline
|
||||||
|
: ENETUNREACH 51 ; inline
|
||||||
|
: ENETRESET 52 ; inline
|
||||||
|
: ECONNABORTED 53 ; inline
|
||||||
|
: ECONNRESET 54 ; inline
|
||||||
|
: ENOBUFS 55 ; inline
|
||||||
|
: EISCONN 56 ; inline
|
||||||
|
: ENOTCONN 57 ; inline
|
||||||
|
: ESHUTDOWN 58 ; inline
|
||||||
|
: ETOOMANYREFS 59 ; inline
|
||||||
|
: ETIMEDOUT 60 ; inline
|
||||||
|
: ECONNREFUSED 61 ; inline
|
||||||
|
: ELOOP 62 ; inline
|
||||||
|
: ENAMETOOLONG 63 ; inline
|
||||||
|
: EHOSTDOWN 64 ; inline
|
||||||
|
: EHOSTUNREACH 65 ; inline
|
||||||
|
: ENOTEMPTY 66 ; inline
|
||||||
|
: EPROCLIM 67 ; inline
|
||||||
|
: EUSERS 68 ; inline
|
||||||
|
: EDQUOT 69 ; inline
|
||||||
|
: ESTALE 70 ; inline
|
||||||
|
: EREMOTE 71 ; inline
|
||||||
|
: EBADRPC 72 ; inline
|
||||||
|
: ERPCMISMATCH 73 ; inline
|
||||||
|
: EPROGUNAVAIL 74 ; inline
|
||||||
|
: EPROGMISMATCH 75 ; inline
|
||||||
|
: EPROCUNAVAIL 76 ; inline
|
||||||
|
: ENOLCK 77 ; inline
|
||||||
|
: ENOSYS 78 ; inline
|
||||||
|
: EFTYPE 79 ; inline
|
||||||
|
: EAUTH 80 ; inline
|
||||||
|
: ENEEDAUTH 81 ; inline
|
||||||
|
: EIDRM 82 ; inline
|
||||||
|
: ENOMSG 83 ; inline
|
||||||
|
: EOVERFLOW 84 ; inline
|
||||||
|
: EILSEQ 85 ; inline
|
||||||
|
: ENOTSUP 86 ; inline
|
||||||
|
: ECANCELED 87 ; inline
|
||||||
|
: EBADMSG 88 ; inline
|
||||||
|
: ENODATA 89 ; inline
|
||||||
|
: ENOSR 90 ; inline
|
||||||
|
: ENOSTR 91 ; inline
|
||||||
|
: ETIME 92 ; inline
|
||||||
|
: ENOATTR 93 ; inline
|
||||||
|
: EMULTIHOP 94 ; inline
|
||||||
|
: ENOLINK 95 ; inline
|
||||||
|
: EPROTO 96 ; inline
|
||||||
|
: ELAST 96 ; inline
|
||||||
|
|
|
@ -12,3 +12,93 @@ C-STRUCT: addrinfo
|
||||||
{ "void*" "addr" }
|
{ "void*" "addr" }
|
||||||
{ "char*" "canonname" }
|
{ "char*" "canonname" }
|
||||||
{ "addrinfo*" "next" } ;
|
{ "addrinfo*" "next" } ;
|
||||||
|
|
||||||
|
: EPERM 1 ; inline
|
||||||
|
: ENOENT 2 ; inline
|
||||||
|
: ESRCH 3 ; inline
|
||||||
|
: EINTR 4 ; inline
|
||||||
|
: EIO 5 ; inline
|
||||||
|
: ENXIO 6 ; inline
|
||||||
|
: E2BIG 7 ; inline
|
||||||
|
: ENOEXEC 8 ; inline
|
||||||
|
: EBADF 9 ; inline
|
||||||
|
: ECHILD 10 ; inline
|
||||||
|
: EDEADLK 11 ; inline
|
||||||
|
: ENOMEM 12 ; inline
|
||||||
|
: EACCES 13 ; inline
|
||||||
|
: EFAULT 14 ; inline
|
||||||
|
: ENOTBLK 15 ; inline
|
||||||
|
: EBUSY 16 ; inline
|
||||||
|
: EEXIST 17 ; inline
|
||||||
|
: EXDEV 18 ; inline
|
||||||
|
: ENODEV 19 ; inline
|
||||||
|
: ENOTDIR 20 ; inline
|
||||||
|
: EISDIR 21 ; inline
|
||||||
|
: EINVAL 22 ; inline
|
||||||
|
: ENFILE 23 ; inline
|
||||||
|
: EMFILE 24 ; inline
|
||||||
|
: ENOTTY 25 ; inline
|
||||||
|
: ETXTBSY 26 ; inline
|
||||||
|
: EFBIG 27 ; inline
|
||||||
|
: ENOSPC 28 ; inline
|
||||||
|
: ESPIPE 29 ; inline
|
||||||
|
: EROFS 30 ; inline
|
||||||
|
: EMLINK 31 ; inline
|
||||||
|
: EPIPE 32 ; inline
|
||||||
|
: EDOM 33 ; inline
|
||||||
|
: ERANGE 34 ; inline
|
||||||
|
: EAGAIN 35 ; inline
|
||||||
|
: EWOULDBLOCK EAGAIN ; inline
|
||||||
|
: EINPROGRESS 36 ; inline
|
||||||
|
: EALREADY 37 ; inline
|
||||||
|
: ENOTSOCK 38 ; inline
|
||||||
|
: EDESTADDRREQ 39 ; inline
|
||||||
|
: EMSGSIZE 40 ; inline
|
||||||
|
: EPROTOTYPE 41 ; inline
|
||||||
|
: ENOPROTOOPT 42 ; inline
|
||||||
|
: EPROTONOSUPPORT 43 ; inline
|
||||||
|
: ESOCKTNOSUPPORT 44 ; inline
|
||||||
|
: EOPNOTSUPP 45 ; inline
|
||||||
|
: EPFNOSUPPORT 46 ; inline
|
||||||
|
: EAFNOSUPPORT 47 ; inline
|
||||||
|
: EADDRINUSE 48 ; inline
|
||||||
|
: EADDRNOTAVAIL 49 ; inline
|
||||||
|
: ENETDOWN 50 ; inline
|
||||||
|
: ENETUNREACH 51 ; inline
|
||||||
|
: ENETRESET 52 ; inline
|
||||||
|
: ECONNABORTED 53 ; inline
|
||||||
|
: ECONNRESET 54 ; inline
|
||||||
|
: ENOBUFS 55 ; inline
|
||||||
|
: EISCONN 56 ; inline
|
||||||
|
: ENOTCONN 57 ; inline
|
||||||
|
: ESHUTDOWN 58 ; inline
|
||||||
|
: ETOOMANYREFS 59 ; inline
|
||||||
|
: ETIMEDOUT 60 ; inline
|
||||||
|
: ECONNREFUSED 61 ; inline
|
||||||
|
: ELOOP 62 ; inline
|
||||||
|
: ENAMETOOLONG 63 ; inline
|
||||||
|
: EHOSTDOWN 64 ; inline
|
||||||
|
: EHOSTUNREACH 65 ; inline
|
||||||
|
: ENOTEMPTY 66 ; inline
|
||||||
|
: EPROCLIM 67 ; inline
|
||||||
|
: EUSERS 68 ; inline
|
||||||
|
: EDQUOT 69 ; inline
|
||||||
|
: ESTALE 70 ; inline
|
||||||
|
: EREMOTE 71 ; inline
|
||||||
|
: EBADRPC 72 ; inline
|
||||||
|
: ERPCMISMATCH 73 ; inline
|
||||||
|
: EPROGUNAVAIL 74 ; inline
|
||||||
|
: EPROGMISMATCH 75 ; inline
|
||||||
|
: EPROCUNAVAIL 76 ; inline
|
||||||
|
: ENOLCK 77 ; inline
|
||||||
|
: ENOSYS 78 ; inline
|
||||||
|
: EFTYPE 79 ; inline
|
||||||
|
: EAUTH 80 ; inline
|
||||||
|
: ENEEDAUTH 81 ; inline
|
||||||
|
: EIPSEC 82 ; inline
|
||||||
|
: ENOATTR 83 ; inline
|
||||||
|
: EILSEQ 84 ; inline
|
||||||
|
: ENOMEDIUM 85 ; inline
|
||||||
|
: EMEDIUMTYPE 86 ; inline
|
||||||
|
: EOVERFLOW 87 ; inline
|
||||||
|
: ECANCELED 88 ; inline
|
||||||
|
|
|
@ -59,10 +59,6 @@ C-STRUCT: sockaddr-un
|
||||||
{ "ushort" "family" }
|
{ "ushort" "family" }
|
||||||
{ { "char" max-un-path } "path" } ;
|
{ { "char" max-un-path } "path" } ;
|
||||||
|
|
||||||
: EINTR HEX: 4 ; inline
|
|
||||||
: EAGAIN HEX: b ; inline
|
|
||||||
: EINPROGRESS HEX: 73 ; inline
|
|
||||||
|
|
||||||
: SOCK_STREAM 1 ; inline
|
: SOCK_STREAM 1 ; inline
|
||||||
: SOCK_DGRAM 2 ; inline
|
: SOCK_DGRAM 2 ; inline
|
||||||
|
|
||||||
|
@ -93,3 +89,101 @@ C-STRUCT: passwd
|
||||||
{ "char*" "pw_gecos" }
|
{ "char*" "pw_gecos" }
|
||||||
{ "char*" "pw_dir" }
|
{ "char*" "pw_dir" }
|
||||||
{ "char*" "pw_shell" } ;
|
{ "char*" "pw_shell" } ;
|
||||||
|
|
||||||
|
: EDEADLK 35 ; inline
|
||||||
|
: ENAMETOOLONG 36 ; inline
|
||||||
|
: ENOLCK 37 ; inline
|
||||||
|
: ENOSYS 38 ; inline
|
||||||
|
: ENOTEMPTY 39 ; inline
|
||||||
|
: ELOOP 40 ; inline
|
||||||
|
: EWOULDBLOCK EAGAIN ; inline
|
||||||
|
: ENOMSG 42 ; inline
|
||||||
|
: EIDRM 43 ; inline
|
||||||
|
: ECHRNG 44 ; inline
|
||||||
|
: EL2NSYNC 45 ; inline
|
||||||
|
: EL3HLT 46 ; inline
|
||||||
|
: EL3RST 47 ; inline
|
||||||
|
: ELNRNG 48 ; inline
|
||||||
|
: EUNATCH 49 ; inline
|
||||||
|
: ENOCSI 50 ; inline
|
||||||
|
: EL2HLT 51 ; inline
|
||||||
|
: EBADE 52 ; inline
|
||||||
|
: EBADR 53 ; inline
|
||||||
|
: EXFULL 54 ; inline
|
||||||
|
: ENOANO 55 ; inline
|
||||||
|
: EBADRQC 56 ; inline
|
||||||
|
: EBADSLT 57 ; inline
|
||||||
|
: EDEADLOCK EDEADLK ; inline
|
||||||
|
: EBFONT 59 ; inline
|
||||||
|
: ENOSTR 60 ; inline
|
||||||
|
: ENODATA 61 ; inline
|
||||||
|
: ETIME 62 ; inline
|
||||||
|
: ENOSR 63 ; inline
|
||||||
|
: ENONET 64 ; inline
|
||||||
|
: ENOPKG 65 ; inline
|
||||||
|
: EREMOTE 66 ; inline
|
||||||
|
: ENOLINK 67 ; inline
|
||||||
|
: EADV 68 ; inline
|
||||||
|
: ESRMNT 69 ; inline
|
||||||
|
: ECOMM 70 ; inline
|
||||||
|
: EPROTO 71 ; inline
|
||||||
|
: EMULTIHOP 72 ; inline
|
||||||
|
: EDOTDOT 73 ; inline
|
||||||
|
: EBADMSG 74 ; inline
|
||||||
|
: EOVERFLOW 75 ; inline
|
||||||
|
: ENOTUNIQ 76 ; inline
|
||||||
|
: EBADFD 77 ; inline
|
||||||
|
: EREMCHG 78 ; inline
|
||||||
|
: ELIBACC 79 ; inline
|
||||||
|
: ELIBBAD 80 ; inline
|
||||||
|
: ELIBSCN 81 ; inline
|
||||||
|
: ELIBMAX 82 ; inline
|
||||||
|
: ELIBEXEC 83 ; inline
|
||||||
|
: EILSEQ 84 ; inline
|
||||||
|
: ERESTART 85 ; inline
|
||||||
|
: ESTRPIPE 86 ; inline
|
||||||
|
: EUSERS 87 ; inline
|
||||||
|
: ENOTSOCK 88 ; inline
|
||||||
|
: EDESTADDRREQ 89 ; inline
|
||||||
|
: EMSGSIZE 90 ; inline
|
||||||
|
: EPROTOTYPE 91 ; inline
|
||||||
|
: ENOPROTOOPT 92 ; inline
|
||||||
|
: EPROTONOSUPPORT 93 ; inline
|
||||||
|
: ESOCKTNOSUPPORT 94 ; inline
|
||||||
|
: EOPNOTSUPP 95 ; inline
|
||||||
|
: EPFNOSUPPORT 96 ; inline
|
||||||
|
: EAFNOSUPPORT 97 ; inline
|
||||||
|
: EADDRINUSE 98 ; inline
|
||||||
|
: EADDRNOTAVAIL 99 ; inline
|
||||||
|
: ENETDOWN 100 ; inline
|
||||||
|
: ENETUNREACH 101 ; inline
|
||||||
|
: ENETRESET 102 ; inline
|
||||||
|
: ECONNABORTED 103 ; inline
|
||||||
|
: ECONNRESET 104 ; inline
|
||||||
|
: ENOBUFS 105 ; inline
|
||||||
|
: EISCONN 106 ; inline
|
||||||
|
: ENOTCONN 107 ; inline
|
||||||
|
: ESHUTDOWN 108 ; inline
|
||||||
|
: ETOOMANYREFS 109 ; inline
|
||||||
|
: ETIMEDOUT 110 ; inline
|
||||||
|
: ECONNREFUSED 111 ; inline
|
||||||
|
: EHOSTDOWN 112 ; inline
|
||||||
|
: EHOSTUNREACH 113 ; inline
|
||||||
|
: EALREADY 114 ; inline
|
||||||
|
: EINPROGRESS 115 ; inline
|
||||||
|
: ESTALE 116 ; inline
|
||||||
|
: EUCLEAN 117 ; inline
|
||||||
|
: ENOTNAM 118 ; inline
|
||||||
|
: ENAVAIL 119 ; inline
|
||||||
|
: EISNAM 120 ; inline
|
||||||
|
: EREMOTEIO 121 ; inline
|
||||||
|
: EDQUOT 122 ; inline
|
||||||
|
: ENOMEDIUM 123 ; inline
|
||||||
|
: EMEDIUMTYPE 124 ; inline
|
||||||
|
: ECANCELED 125 ; inline
|
||||||
|
: ENOKEY 126 ; inline
|
||||||
|
: EKEYEXPIRED 127 ; inline
|
||||||
|
: EKEYREVOKED 128 ; inline
|
||||||
|
: EKEYREJECTED 129 ; inline
|
||||||
|
: EOWNERDEAD 130 ; inline
|
||||||
|
: ENOTRECOVERABLE 131 ; inline
|
||||||
|
|
|
@ -5,7 +5,7 @@ USING: alien alien.c-types alien.syntax kernel libc structs sequences
|
||||||
continuations byte-arrays strings
|
continuations byte-arrays strings
|
||||||
math namespaces system combinators vocabs.loader qualified
|
math namespaces system combinators vocabs.loader qualified
|
||||||
accessors inference macros locals shuffle arrays.lib
|
accessors inference macros locals shuffle arrays.lib
|
||||||
unix.types ;
|
unix.types debugger io prettyprint ;
|
||||||
|
|
||||||
IN: unix
|
IN: unix
|
||||||
|
|
||||||
|
@ -23,9 +23,6 @@ TYPEDEF: uint socklen_t
|
||||||
|
|
||||||
: MAP_FAILED -1 <alien> ; inline
|
: MAP_FAILED -1 <alien> ; inline
|
||||||
|
|
||||||
: ESRCH 3 ; inline
|
|
||||||
: EEXIST 17 ; inline
|
|
||||||
|
|
||||||
: NGROUPS_MAX 16 ; inline
|
: NGROUPS_MAX 16 ; inline
|
||||||
|
|
||||||
C-STRUCT: group
|
C-STRUCT: group
|
||||||
|
@ -41,10 +38,30 @@ FUNCTION: int err_no ( ) ;
|
||||||
|
|
||||||
LIBRARY: libc
|
LIBRARY: libc
|
||||||
|
|
||||||
ERROR: unix-system-call-error args message word ;
|
|
||||||
|
|
||||||
FUNCTION: char* strerror ( int errno ) ;
|
FUNCTION: char* strerror ( int errno ) ;
|
||||||
|
|
||||||
|
ERROR: unix-error errno message ;
|
||||||
|
|
||||||
|
M: unix-error error.
|
||||||
|
"Unix system call failed:" print
|
||||||
|
nl
|
||||||
|
dup message>> write " (" write errno>> pprint ")" print ;
|
||||||
|
|
||||||
|
: (io-error) ( -- * ) err_no dup strerror unix-error ;
|
||||||
|
|
||||||
|
: io-error ( n -- ) 0 < [ (io-error) ] when ;
|
||||||
|
|
||||||
|
ERROR: unix-system-call-error args errno message word ;
|
||||||
|
|
||||||
|
M: unix-system-call-error error.
|
||||||
|
"Unix system call ``" write dup word>> pprint "'' failed:" print
|
||||||
|
nl
|
||||||
|
dup message>> write " (" write dup errno>> pprint ")" print
|
||||||
|
nl
|
||||||
|
"It was called with the following arguments:" print
|
||||||
|
nl
|
||||||
|
args>> stack. ;
|
||||||
|
|
||||||
MACRO:: unix-system-call ( quot -- )
|
MACRO:: unix-system-call ( quot -- )
|
||||||
[let | n [ quot infer in>> ]
|
[let | n [ quot infer in>> ]
|
||||||
word [ quot first ] |
|
word [ quot first ] |
|
||||||
|
@ -52,7 +69,7 @@ MACRO:: unix-system-call ( quot -- )
|
||||||
n ndup quot call dup 0 < [
|
n ndup quot call dup 0 < [
|
||||||
drop
|
drop
|
||||||
n narray
|
n narray
|
||||||
err_no strerror
|
err_no dup strerror
|
||||||
word unix-system-call-error
|
word unix-system-call-error
|
||||||
] [
|
] [
|
||||||
n nnip
|
n nnip
|
||||||
|
|
Loading…
Reference in New Issue