Better Unix errors
parent
70e89b5166
commit
bf01d85e12
|
@ -48,10 +48,6 @@ C-STRUCT: sockaddr-un
|
|||
|
||||
: max-un-path 104 ; inline
|
||||
|
||||
: EINTR HEX: 4 ; inline
|
||||
: EAGAIN HEX: 23 ; inline
|
||||
: EINPROGRESS HEX: 24 ; inline
|
||||
|
||||
: SOCK_STREAM 1 ; inline
|
||||
: SOCK_DGRAM 2 ; inline
|
||||
|
||||
|
|
|
@ -12,3 +12,98 @@ C-STRUCT: addrinfo
|
|||
{ "char*" "canonname" }
|
||||
{ "void*" "addr" }
|
||||
{ "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" }
|
||||
{ "time_t" "pw_expire" }
|
||||
{ "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" }
|
||||
{ "void*" "addr" }
|
||||
{ "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" }
|
||||
{ "char*" "canonname" }
|
||||
{ "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" }
|
||||
{ { "char" max-un-path } "path" } ;
|
||||
|
||||
: EINTR HEX: 4 ; inline
|
||||
: EAGAIN HEX: b ; inline
|
||||
: EINPROGRESS HEX: 73 ; inline
|
||||
|
||||
: SOCK_STREAM 1 ; inline
|
||||
: SOCK_DGRAM 2 ; inline
|
||||
|
||||
|
@ -93,3 +89,101 @@ C-STRUCT: passwd
|
|||
{ "char*" "pw_gecos" }
|
||||
{ "char*" "pw_dir" }
|
||||
{ "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
|
||||
math namespaces system combinators vocabs.loader qualified
|
||||
accessors inference macros locals shuffle arrays.lib
|
||||
unix.types ;
|
||||
unix.types debugger io prettyprint ;
|
||||
|
||||
IN: unix
|
||||
|
||||
|
@ -23,9 +23,6 @@ TYPEDEF: uint socklen_t
|
|||
|
||||
: MAP_FAILED -1 <alien> ; inline
|
||||
|
||||
: ESRCH 3 ; inline
|
||||
: EEXIST 17 ; inline
|
||||
|
||||
: NGROUPS_MAX 16 ; inline
|
||||
|
||||
C-STRUCT: group
|
||||
|
@ -41,10 +38,30 @@ FUNCTION: int err_no ( ) ;
|
|||
|
||||
LIBRARY: libc
|
||||
|
||||
ERROR: unix-system-call-error args message word ;
|
||||
|
||||
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 -- )
|
||||
[let | n [ quot infer in>> ]
|
||||
word [ quot first ] |
|
||||
|
@ -52,7 +69,7 @@ MACRO:: unix-system-call ( quot -- )
|
|||
n ndup quot call dup 0 < [
|
||||
drop
|
||||
n narray
|
||||
err_no strerror
|
||||
err_no dup strerror
|
||||
word unix-system-call-error
|
||||
] [
|
||||
n nnip
|
||||
|
|
Loading…
Reference in New Issue