From ec5b83ff010dcaf7029981bb57402274aef8ef62 Mon Sep 17 00:00:00 2001 From: apio Date: Fri, 28 Jul 2023 17:30:35 +0200 Subject: [PATCH] libluna: Add a few more network-related errno codes --- libluna/include/luna/SystemError.h | 117 +++++++++++++++-------------- libluna/src/SystemError.cpp | 10 +++ 2 files changed, 70 insertions(+), 57 deletions(-) diff --git a/libluna/include/luna/SystemError.h b/libluna/include/luna/SystemError.h index 43b2579c..1571a839 100644 --- a/libluna/include/luna/SystemError.h +++ b/libluna/include/luna/SystemError.h @@ -1,59 +1,62 @@ #pragma once -#define EPERM 1 // Operation not permitted -#define ENOENT 2 // No such file or directory -#define ESRCH 3 // No such process -#define EINTR 4 // Interrupted system call -#define EIO 5 // Input/output error -#define ENXIO 6 // No such device or address -#define E2BIG 7 // Argument list too long -#define ENOEXEC 8 // Exec format error -#define EBADF 9 // Bad file descriptor -#define ECHILD 10 // No child processes -#define EAGAIN 11 // Resource temporarily unavailable -#define EWOULDBLOCK 11 // Resource temporarily unavailable -#define ENOMEM 12 // Cannot allocate memory -#define EACCES 13 // Permission denied -#define EFAULT 14 // Bad address -#define ENOTBLK 15 // Block device required -#define EBUSY 16 // Device or resource busy -#define EEXIST 17 // File exists -#define EXDEV 18 // Invalid cross-device link -#define ENODEV 19 // No such device -#define ENOTDIR 20 // Not a directory -#define EISDIR 21 // Is a directory -#define EINVAL 22 // Invalid argument -#define ENFILE 23 // Too many open files in system -#define EMFILE 24 // Too many open files -#define ENOTTY 25 // Inappropriate ioctl for device -#define ETXTBSY 26 // Text file busy -#define EFBIG 27 // File too large -#define ENOSPC 28 // No space left on device -#define ESPIPE 29 // Illegal seek -#define EROFS 30 // Read-only file system -#define EMLINK 31 // Too many links -#define EPIPE 32 // Broken pipe -#define EDOM 33 // Numerical argument out of domain -#define ERANGE 34 // Numerical result out of range -#define EDEADLK 35 // Resource deadlock avoided -#define ENAMETOOLONG 36 // File name too long -#define ENOLCK 37 // No locks available -#define ENOSYS 38 // Function not implemented -#define ENOTEMPTY 39 // Directory not empty -#define ELOOP 40 // Too many levels of symbolic links -#define ENOMSG 42 // No message of desired type -#define EOVERFLOW 75 // Value too large for defined data type -#define EILSEQ 84 // Invalid or incomplete multibyte or wide character -#define ENOTSOCK 88 // Socket operation on non-socket -#define EDESTADDRREQ 89 // Destination address required -#define EPROTOTYPE 91 // Protocol wrong type for socket -#define ENOTSUP 95 // Operation not supported -#define EOPNOTSUPP 95 // Operation not supported -#define EAFNOSUPPORT 97 // Address family not supported by protocol -#define EADDRINUSE 98 // Address already in use -#define ENETRESET 102 // Network dropped connection on reset -#define ECONNRESET 104 // Connection reset by peer -#define EISCONN 106 // Transport endpoint is already connected -#define ENOTCONN 107 // Transport endpoint is not connected -#define ETIMEDOUT 110 // Connection timed out -#define EALREADY 114 // Operation already in progress +#define EPERM 1 // Operation not permitted +#define ENOENT 2 // No such file or directory +#define ESRCH 3 // No such process +#define EINTR 4 // Interrupted system call +#define EIO 5 // Input/output error +#define ENXIO 6 // No such device or address +#define E2BIG 7 // Argument list too long +#define ENOEXEC 8 // Exec format error +#define EBADF 9 // Bad file descriptor +#define ECHILD 10 // No child processes +#define EAGAIN 11 // Resource temporarily unavailable +#define EWOULDBLOCK 11 // Resource temporarily unavailable +#define ENOMEM 12 // Cannot allocate memory +#define EACCES 13 // Permission denied +#define EFAULT 14 // Bad address +#define ENOTBLK 15 // Block device required +#define EBUSY 16 // Device or resource busy +#define EEXIST 17 // File exists +#define EXDEV 18 // Invalid cross-device link +#define ENODEV 19 // No such device +#define ENOTDIR 20 // Not a directory +#define EISDIR 21 // Is a directory +#define EINVAL 22 // Invalid argument +#define ENFILE 23 // Too many open files in system +#define EMFILE 24 // Too many open files +#define ENOTTY 25 // Inappropriate ioctl for device +#define ETXTBSY 26 // Text file busy +#define EFBIG 27 // File too large +#define ENOSPC 28 // No space left on device +#define ESPIPE 29 // Illegal seek +#define EROFS 30 // Read-only file system +#define EMLINK 31 // Too many links +#define EPIPE 32 // Broken pipe +#define EDOM 33 // Numerical argument out of domain +#define ERANGE 34 // Numerical result out of range +#define EDEADLK 35 // Resource deadlock avoided +#define ENAMETOOLONG 36 // File name too long +#define ENOLCK 37 // No locks available +#define ENOSYS 38 // Function not implemented +#define ENOTEMPTY 39 // Directory not empty +#define ELOOP 40 // Too many levels of symbolic links +#define ENOMSG 42 // No message of desired type +#define EOVERFLOW 75 // Value too large for defined data type +#define EILSEQ 84 // Invalid or incomplete multibyte or wide character +#define ENOTSOCK 88 // Socket operation on non-socket +#define EDESTADDRREQ 89 // Destination address required +#define EPROTOTYPE 91 // Protocol wrong type for socket +#define ENOTSUP 95 // Operation not supported +#define EOPNOTSUPP 95 // Operation not supported +#define EAFNOSUPPORT 97 // Address family not supported by protocol +#define EADDRINUSE 98 // Address already in use +#define EADDRNOTAVAIL 99 // Cannot assign requested address +#define ENETRESET 102 // Network dropped connection on reset +#define ECONNRESET 104 // Connection reset by peer +#define EISCONN 106 // Transport endpoint is already connected +#define ENOTCONN 107 // Transport endpoint is not connected +#define ETIMEDOUT 110 // Connection timed out +#define ECONNREFUSED 111 // Connection refused +#define EALREADY 114 // Operation already in progress +#define EINPROGRESS 115 // Operation now in progress diff --git a/libluna/src/SystemError.cpp b/libluna/src/SystemError.cpp index 744ae86d..3e669f54 100644 --- a/libluna/src/SystemError.cpp +++ b/libluna/src/SystemError.cpp @@ -60,6 +60,9 @@ const char* error_string(int error) case EPROTOTYPE: return "Protocol wrong type for socket"; case EAFNOSUPPORT: return "Address family not supported by protocol"; case ENOTCONN: return "Transport endpoint is not connected"; + case EADDRNOTAVAIL: return "Cannot assign requested address"; + case ECONNREFUSED: return "Connection refused"; + case EINPROGRESS: return "Operation now in progress"; default: return "Unknown error"; } } @@ -122,6 +125,13 @@ const char* error_name(int error) ERROR(EISCONN); ERROR(ETIMEDOUT); ERROR(EALREADY); + ERROR(EDESTADDRREQ); + ERROR(EPROTOTYPE); + ERROR(EAFNOSUPPORT); + ERROR(ENOTCONN); + ERROR(EADDRNOTAVAIL); + ERROR(ECONNREFUSED); + ERROR(EINPROGRESS); default: return nullptr; }