Mercurial
view third_party/libuv/docs/src/errors.rst @ 279:b3b547563ec7
Add Google connector service and agent wiki
Implement the C/Seobeo Google Drive and Gmail connector with encrypted OAuth storage, Zenbu authentication, browser testing, AI tool discovery, chunked HTTP decoding, and Bazel coverage. Consolidate repository guidance into progressive wiki documentation and enforce arena-first allocation for new first-party C code.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: 84c338fd-0939-4bb3-b7f3-1062eb213e5d
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 17 Aug 2026 22:22:36 -0700 |
| parents | 948de3f54cea |
| children |
line wrap: on
line source
.. _errors: Error handling ============== In libuv errors are negative numbered constants. As a rule of thumb, whenever there is a status parameter, or an API functions returns an integer, a negative number will imply an error. When a function which takes a callback returns an error, the callback will never be called. .. note:: Implementation detail: on Unix error codes are the negated `errno` (or `-errno`), while on Windows they are defined by libuv to arbitrary negative numbers. Error constants --------------- .. c:macro:: UV_E2BIG argument list too long .. c:macro:: UV_EACCES permission denied .. c:macro:: UV_EADDRINUSE address already in use .. c:macro:: UV_EADDRNOTAVAIL address not available .. c:macro:: UV_EAFNOSUPPORT address family not supported .. c:macro:: UV_EAGAIN resource temporarily unavailable .. c:macro:: UV_EAI_ADDRFAMILY address family not supported .. c:macro:: UV_EAI_AGAIN temporary failure .. c:macro:: UV_EAI_BADFLAGS bad ai_flags value .. c:macro:: UV_EAI_BADHINTS invalid value for hints .. c:macro:: UV_EAI_CANCELED request canceled .. c:macro:: UV_EAI_FAIL permanent failure .. c:macro:: UV_EAI_FAMILY ai_family not supported .. c:macro:: UV_EAI_MEMORY out of memory .. c:macro:: UV_EAI_NODATA no address .. c:macro:: UV_EAI_NONAME unknown node or service .. c:macro:: UV_EAI_OVERFLOW argument buffer overflow .. c:macro:: UV_EAI_PROTOCOL resolved protocol is unknown .. c:macro:: UV_EAI_SERVICE service not available for socket type .. c:macro:: UV_EAI_SOCKTYPE socket type not supported .. c:macro:: UV_EALREADY connection already in progress .. c:macro:: UV_EBADF bad file descriptor .. c:macro:: UV_EBUSY resource busy or locked .. c:macro:: UV_ECANCELED operation canceled .. c:macro:: UV_ECHARSET invalid Unicode character .. c:macro:: UV_ECONNABORTED software caused connection abort .. c:macro:: UV_ECONNREFUSED connection refused .. c:macro:: UV_ECONNRESET connection reset by peer .. c:macro:: UV_EDESTADDRREQ destination address required .. c:macro:: UV_EEXIST file already exists .. c:macro:: UV_EFAULT bad address in system call argument .. c:macro:: UV_EFBIG file too large .. c:macro:: UV_EHOSTUNREACH host is unreachable .. c:macro:: UV_EINTR interrupted system call .. c:macro:: UV_EINVAL invalid argument .. c:macro:: UV_EIO i/o error .. c:macro:: UV_EISCONN socket is already connected .. c:macro:: UV_EISDIR illegal operation on a directory .. c:macro:: UV_ELOOP too many symbolic links encountered .. c:macro:: UV_EMFILE too many open files .. c:macro:: UV_EMSGSIZE message too long .. c:macro:: UV_ENAMETOOLONG name too long .. c:macro:: UV_ENETDOWN network is down .. c:macro:: UV_ENETUNREACH network is unreachable .. c:macro:: UV_ENFILE file table overflow .. c:macro:: UV_ENOBUFS no buffer space available .. c:macro:: UV_ENODEV no such device .. c:macro:: UV_ENOENT no such file or directory .. c:macro:: UV_ENOMEM not enough memory .. c:macro:: UV_ENONET machine is not on the network .. c:macro:: UV_ENOPROTOOPT protocol not available .. c:macro:: UV_ENOSPC no space left on device .. c:macro:: UV_ENOSYS function not implemented .. c:macro:: UV_ENOTCONN socket is not connected .. c:macro:: UV_ENOTDIR not a directory .. c:macro:: UV_ENOTEMPTY directory not empty .. c:macro:: UV_ENOTSOCK socket operation on non-socket .. c:macro:: UV_ENOTSUP operation not supported on socket .. c:macro:: UV_EOVERFLOW value too large for defined data type .. c:macro:: UV_EPERM operation not permitted .. c:macro:: UV_EPIPE broken pipe .. c:macro:: UV_EPROTO protocol error .. c:macro:: UV_EPROTONOSUPPORT protocol not supported .. c:macro:: UV_EPROTOTYPE protocol wrong type for socket .. c:macro:: UV_ERANGE result too large .. c:macro:: UV_EROFS read-only file system .. c:macro:: UV_ESHUTDOWN cannot send after transport endpoint shutdown .. c:macro:: UV_ESPIPE invalid seek .. c:macro:: UV_ESRCH no such process .. c:macro:: UV_ETIMEDOUT connection timed out .. c:macro:: UV_ETXTBSY text file is busy .. c:macro:: UV_EXDEV cross-device link not permitted .. c:macro:: UV_UNKNOWN unknown error .. c:macro:: UV_EOF end of file .. c:macro:: UV_ENXIO no such device or address .. c:macro:: UV_EMLINK too many links .. c:macro:: UV_ENOTTY inappropriate ioctl for device .. c:macro:: UV_EFTYPE inappropriate file type or format .. c:macro:: UV_EILSEQ illegal byte sequence .. c:macro:: UV_ESOCKTNOSUPPORT socket type not supported .. c:macro:: UV_EUNATCH protocol driver not attached API --- .. c:macro:: UV_ERRNO_MAP(iter_macro) Macro that expands to a series of invocations of `iter_macro` for each of the error constants above. `iter_macro` is invoked with two arguments: the name of the error constant without the `UV_` prefix, and the error message string literal. .. c:function:: const char* uv_strerror(int err) Returns the error message for the given error code. Leaks a few bytes of memory when you call it with an unknown error code. .. c:function:: char* uv_strerror_r(int err, char* buf, size_t buflen) Returns the error message for the given error code. The zero-terminated message is stored in the user-supplied buffer `buf` of at most `buflen` bytes. .. versionadded:: 1.22.0 .. c:function:: const char* uv_err_name(int err) Returns the error name for the given error code. Leaks a few bytes of memory when you call it with an unknown error code. .. c:function:: char* uv_err_name_r(int err, char* buf, size_t buflen) Returns the error name for the given error code. The zero-terminated name is stored in the user-supplied buffer `buf` of at most `buflen` bytes. .. versionadded:: 1.22.0 .. c:function:: int uv_translate_sys_error(int sys_errno) Returns the libuv error code equivalent to the given platform dependent error code: POSIX error codes on Unix (the ones stored in `errno`), and Win32 error codes on Windows (those returned by `GetLastError()` or `WSAGetLastError()`). If `sys_errno` is already a libuv error, it is simply returned. .. versionchanged:: 1.10.0 function declared public.