39 FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
40 FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, errorno,
41 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&
buf, 0,
NULL);
46 errmsg =
"Unknown error";
52 fprintf(stderr,
"%s: (%d) %s",
syscall, errorno, errmsg);
54 fprintf(stderr,
"(%d) %s", errorno, errmsg);
72 case ERROR_NOACCESS:
return UV_EACCES;
73 case WSAEACCES:
return UV_EACCES;
75 case ERROR_CANT_ACCESS_FILE:
return UV_EACCES;
76 case ERROR_ADDRESS_ALREADY_ASSOCIATED:
return UV_EADDRINUSE;
77 case WSAEADDRINUSE:
return UV_EADDRINUSE;
78 case WSAEADDRNOTAVAIL:
return UV_EADDRNOTAVAIL;
79 case WSAEAFNOSUPPORT:
return UV_EAFNOSUPPORT;
80 case WSAEWOULDBLOCK:
return UV_EAGAIN;
81 case WSAEALREADY:
return UV_EALREADY;
82 case ERROR_INVALID_FLAGS:
return UV_EBADF;
83 case ERROR_INVALID_HANDLE:
return UV_EBADF;
84 case ERROR_LOCK_VIOLATION:
return UV_EBUSY;
85 case ERROR_PIPE_BUSY:
return UV_EBUSY;
86 case ERROR_SHARING_VIOLATION:
return UV_EBUSY;
87 case ERROR_OPERATION_ABORTED:
return UV_ECANCELED;
88 case WSAEINTR:
return UV_ECANCELED;
89 case ERROR_NO_UNICODE_TRANSLATION:
return UV_ECHARSET;
90 case ERROR_CONNECTION_ABORTED:
return UV_ECONNABORTED;
91 case WSAECONNABORTED:
return UV_ECONNABORTED;
92 case ERROR_CONNECTION_REFUSED:
return UV_ECONNREFUSED;
93 case WSAECONNREFUSED:
return UV_ECONNREFUSED;
94 case ERROR_NETNAME_DELETED:
return UV_ECONNRESET;
95 case WSAECONNRESET:
return UV_ECONNRESET;
96 case ERROR_ALREADY_EXISTS:
return UV_EEXIST;
97 case ERROR_FILE_EXISTS:
return UV_EEXIST;
98 case ERROR_BUFFER_OVERFLOW:
return UV_EFAULT;
99 case WSAEFAULT:
return UV_EFAULT;
100 case ERROR_HOST_UNREACHABLE:
return UV_EHOSTUNREACH;
101 case WSAEHOSTUNREACH:
return UV_EHOSTUNREACH;
102 case ERROR_INSUFFICIENT_BUFFER:
return UV_EINVAL;
103 case ERROR_INVALID_DATA:
return UV_EINVAL;
104 case ERROR_INVALID_PARAMETER:
return UV_EINVAL;
106 case WSAEINVAL:
return UV_EINVAL;
107 case WSAEPFNOSUPPORT:
return UV_EINVAL;
108 case WSAESOCKTNOSUPPORT:
return UV_EINVAL;
109 case ERROR_BEGINNING_OF_MEDIA:
return UV_EIO;
110 case ERROR_BUS_RESET:
return UV_EIO;
111 case ERROR_CRC:
return UV_EIO;
112 case ERROR_DEVICE_DOOR_OPEN:
return UV_EIO;
113 case ERROR_DEVICE_REQUIRES_CLEANING:
return UV_EIO;
114 case ERROR_DISK_CORRUPT:
return UV_EIO;
115 case ERROR_EOM_OVERFLOW:
return UV_EIO;
116 case ERROR_FILEMARK_DETECTED:
return UV_EIO;
117 case ERROR_GEN_FAILURE:
return UV_EIO;
118 case ERROR_INVALID_BLOCK_LENGTH:
return UV_EIO;
119 case ERROR_IO_DEVICE:
return UV_EIO;
120 case ERROR_NO_DATA_DETECTED:
return UV_EIO;
121 case ERROR_NO_SIGNAL_SENT:
return UV_EIO;
122 case ERROR_OPEN_FAILED:
return UV_EIO;
123 case ERROR_SETMARK_DETECTED:
return UV_EIO;
124 case ERROR_SIGNAL_REFUSED:
return UV_EIO;
125 case WSAEISCONN:
return UV_EISCONN;
126 case ERROR_CANT_RESOLVE_FILENAME:
return UV_ELOOP;
127 case ERROR_TOO_MANY_OPEN_FILES:
return UV_EMFILE;
128 case WSAEMFILE:
return UV_EMFILE;
129 case WSAEMSGSIZE:
return UV_EMSGSIZE;
130 case ERROR_FILENAME_EXCED_RANGE:
return UV_ENAMETOOLONG;
131 case ERROR_NETWORK_UNREACHABLE:
return UV_ENETUNREACH;
132 case WSAENETUNREACH:
return UV_ENETUNREACH;
133 case WSAENOBUFS:
return UV_ENOBUFS;
134 case ERROR_BAD_PATHNAME:
return UV_ENOENT;
135 case ERROR_DIRECTORY:
return UV_ENOENT;
136 case ERROR_ENVVAR_NOT_FOUND:
return UV_ENOENT;
137 case ERROR_FILE_NOT_FOUND:
return UV_ENOENT;
138 case ERROR_INVALID_NAME:
return UV_ENOENT;
139 case ERROR_INVALID_DRIVE:
return UV_ENOENT;
140 case ERROR_INVALID_REPARSE_DATA:
return UV_ENOENT;
141 case ERROR_MOD_NOT_FOUND:
return UV_ENOENT;
142 case ERROR_PATH_NOT_FOUND:
return UV_ENOENT;
143 case WSAHOST_NOT_FOUND:
return UV_ENOENT;
144 case WSANO_DATA:
return UV_ENOENT;
145 case ERROR_NOT_ENOUGH_MEMORY:
return UV_ENOMEM;
146 case ERROR_OUTOFMEMORY:
return UV_ENOMEM;
147 case ERROR_CANNOT_MAKE:
return UV_ENOSPC;
148 case ERROR_DISK_FULL:
return UV_ENOSPC;
149 case ERROR_EA_TABLE_FULL:
return UV_ENOSPC;
150 case ERROR_END_OF_MEDIA:
return UV_ENOSPC;
151 case ERROR_HANDLE_DISK_FULL:
return UV_ENOSPC;
152 case ERROR_NOT_CONNECTED:
return UV_ENOTCONN;
153 case WSAENOTCONN:
return UV_ENOTCONN;
154 case ERROR_DIR_NOT_EMPTY:
return UV_ENOTEMPTY;
155 case WSAENOTSOCK:
return UV_ENOTSOCK;
156 case ERROR_NOT_SUPPORTED:
return UV_ENOTSUP;
157 case ERROR_BROKEN_PIPE:
return UV_EOF;
158 case ERROR_ACCESS_DENIED:
return UV_EPERM;
159 case ERROR_PRIVILEGE_NOT_HELD:
return UV_EPERM;
160 case ERROR_BAD_PIPE:
return UV_EPIPE;
161 case ERROR_NO_DATA:
return UV_EPIPE;
162 case ERROR_PIPE_NOT_CONNECTED:
return UV_EPIPE;
163 case WSAESHUTDOWN:
return UV_EPIPE;
164 case WSAEPROTONOSUPPORT:
return UV_EPROTONOSUPPORT;
165 case ERROR_WRITE_PROTECT:
return UV_EROFS;
166 case ERROR_SEM_TIMEOUT:
return UV_ETIMEDOUT;
167 case WSAETIMEDOUT:
return UV_ETIMEDOUT;
168 case ERROR_NOT_SAME_DEVICE:
return UV_EXDEV;
169 case ERROR_INVALID_FUNCTION:
return UV_EISDIR;
170 case ERROR_META_EXPANSION_TOO_LONG:
return UV_E2BIG;
171 default:
return UV_UNKNOWN;
void uv_fatal_error(const int errorno, const char *syscall)
int uv_translate_sys_error(int sys_errno)
#define ERROR_SYMLINK_NOT_SUPPORTED
#define ERROR_ELEVATION_REQUIRED