1 | //===-- Map of POSIX error numbers to strings -------------------*- C++ -*-===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #ifndef LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_POSIX_ERRORS_H |
10 | #define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_POSIX_ERRORS_H |
11 | |
12 | #include "hdr/errno_macros.h" |
13 | #include "src/__support/StringUtil/message_mapper.h" |
14 | #include "src/__support/macros/config.h" |
15 | |
16 | namespace LIBC_NAMESPACE_DECL { |
17 | |
18 | LIBC_INLINE_VAR constexpr MsgTable<76> POSIX_ERRORS = { |
19 | MsgMapping(EPERM, "Operation not permitted" ), |
20 | MsgMapping(ENOENT, "No such file or directory" ), |
21 | MsgMapping(ESRCH, "No such process" ), |
22 | MsgMapping(EINTR, "Interrupted system call" ), |
23 | MsgMapping(EIO, "Input/output error" ), |
24 | MsgMapping(ENXIO, "No such device or address" ), |
25 | MsgMapping(E2BIG, "Argument list too long" ), |
26 | MsgMapping(ENOEXEC, "Exec format error" ), |
27 | MsgMapping(EBADF, "Bad file descriptor" ), |
28 | MsgMapping(ECHILD, "No child processes" ), |
29 | MsgMapping(EAGAIN, "Resource temporarily unavailable" ), |
30 | MsgMapping(ENOMEM, "Cannot allocate memory" ), |
31 | MsgMapping(EACCES, "Permission denied" ), |
32 | MsgMapping(EFAULT, "Bad address" ), |
33 | MsgMapping(EBUSY, "Device or resource busy" ), |
34 | MsgMapping(EEXIST, "File exists" ), |
35 | MsgMapping(EXDEV, "Invalid cross-device link" ), |
36 | MsgMapping(ENODEV, "No such device" ), |
37 | MsgMapping(ENOTDIR, "Not a directory" ), |
38 | MsgMapping(EISDIR, "Is a directory" ), |
39 | MsgMapping(EINVAL, "Invalid argument" ), |
40 | MsgMapping(ENFILE, "Too many open files in system" ), |
41 | MsgMapping(EMFILE, "Too many open files" ), |
42 | MsgMapping(ENOTTY, "Inappropriate ioctl for device" ), |
43 | MsgMapping(ETXTBSY, "Text file busy" ), |
44 | MsgMapping(EFBIG, "File too large" ), |
45 | MsgMapping(ENOSPC, "No space left on device" ), |
46 | MsgMapping(ESPIPE, "Illegal seek" ), |
47 | MsgMapping(EROFS, "Read-only file system" ), |
48 | MsgMapping(EMLINK, "Too many links" ), |
49 | MsgMapping(EPIPE, "Broken pipe" ), |
50 | MsgMapping(EDEADLK, "Resource deadlock avoided" ), |
51 | MsgMapping(ENAMETOOLONG, "File name too long" ), |
52 | MsgMapping(ENOLCK, "No locks available" ), |
53 | MsgMapping(ENOSYS, "Function not implemented" ), |
54 | MsgMapping(ENOTEMPTY, "Directory not empty" ), |
55 | MsgMapping(ELOOP, "Too many levels of symbolic links" ), |
56 | MsgMapping(ENOMSG, "No message of desired type" ), |
57 | MsgMapping(EIDRM, "Identifier removed" ), |
58 | MsgMapping(ENOSTR, "Device not a stream" ), |
59 | MsgMapping(ENODATA, "No data available" ), |
60 | MsgMapping(ETIME, "Timer expired" ), |
61 | MsgMapping(ENOSR, "Out of streams resources" ), |
62 | MsgMapping(ENOLINK, "Link has been severed" ), |
63 | MsgMapping(EPROTO, "Protocol error" ), |
64 | MsgMapping(EMULTIHOP, "Multihop attempted" ), |
65 | MsgMapping(EBADMSG, "Bad message" ), |
66 | MsgMapping(EOVERFLOW, "Value too large for defined data type" ), |
67 | MsgMapping(ENOTSOCK, "Socket operation on non-socket" ), |
68 | MsgMapping(EDESTADDRREQ, "Destination address required" ), |
69 | MsgMapping(EMSGSIZE, "Message too long" ), |
70 | MsgMapping(EPROTOTYPE, "Protocol wrong type for socket" ), |
71 | MsgMapping(ENOPROTOOPT, "Protocol not available" ), |
72 | MsgMapping(EPROTONOSUPPORT, "Protocol not supported" ), |
73 | MsgMapping(ENOTSUP, "Operation not supported" ), |
74 | MsgMapping(EAFNOSUPPORT, "Address family not supported by protocol" ), |
75 | MsgMapping(EADDRINUSE, "Address already in use" ), |
76 | MsgMapping(EADDRNOTAVAIL, "Cannot assign requested address" ), |
77 | MsgMapping(ENETDOWN, "Network is down" ), |
78 | MsgMapping(ENETUNREACH, "Network is unreachable" ), |
79 | MsgMapping(ENETRESET, "Network dropped connection on reset" ), |
80 | MsgMapping(ECONNABORTED, "Software caused connection abort" ), |
81 | MsgMapping(ECONNRESET, "Connection reset by peer" ), |
82 | MsgMapping(ENOBUFS, "No buffer space available" ), |
83 | MsgMapping(EISCONN, "Transport endpoint is already connected" ), |
84 | MsgMapping(ENOTCONN, "Transport endpoint is not connected" ), |
85 | MsgMapping(ETIMEDOUT, "Connection timed out" ), |
86 | MsgMapping(ECONNREFUSED, "Connection refused" ), |
87 | MsgMapping(EHOSTUNREACH, "No route to host" ), |
88 | MsgMapping(EALREADY, "Operation already in progress" ), |
89 | MsgMapping(EINPROGRESS, "Operation now in progress" ), |
90 | MsgMapping(ESTALE, "Stale file handle" ), |
91 | MsgMapping(EDQUOT, "Disk quota exceeded" ), |
92 | MsgMapping(ECANCELED, "Operation canceled" ), |
93 | MsgMapping(EOWNERDEAD, "Owner died" ), |
94 | MsgMapping(ENOTRECOVERABLE, "State not recoverable" ), |
95 | }; |
96 | |
97 | LIBC_INLINE_VAR constexpr MsgTable<76> POSIX_ERRNO_NAMES = { |
98 | MsgMapping(EPERM, "EPERM" ), |
99 | MsgMapping(ENOENT, "ENOENT" ), |
100 | MsgMapping(ESRCH, "ESRCH" ), |
101 | MsgMapping(EINTR, "EINTR" ), |
102 | MsgMapping(EIO, "EIO" ), |
103 | MsgMapping(ENXIO, "ENXIO" ), |
104 | MsgMapping(E2BIG, "E2BIG" ), |
105 | MsgMapping(ENOEXEC, "ENOEXEC" ), |
106 | MsgMapping(EBADF, "EBADF" ), |
107 | MsgMapping(ECHILD, "ECHILD" ), |
108 | MsgMapping(EAGAIN, "EAGAIN" ), |
109 | MsgMapping(ENOMEM, "ENOMEM" ), |
110 | MsgMapping(EACCES, "EACCES" ), |
111 | MsgMapping(EFAULT, "EFAULT" ), |
112 | MsgMapping(EBUSY, "EBUSY" ), |
113 | MsgMapping(EEXIST, "EEXIST" ), |
114 | MsgMapping(EXDEV, "EXDEV" ), |
115 | MsgMapping(ENODEV, "ENODEV" ), |
116 | MsgMapping(ENOTDIR, "ENOTDIR" ), |
117 | MsgMapping(EISDIR, "EISDIR" ), |
118 | MsgMapping(EINVAL, "EINVAL" ), |
119 | MsgMapping(ENFILE, "ENFILE" ), |
120 | MsgMapping(EMFILE, "EMFILE" ), |
121 | MsgMapping(ENOTTY, "ENOTTY" ), |
122 | MsgMapping(ETXTBSY, "ETXTBSY" ), |
123 | MsgMapping(EFBIG, "EFBIG" ), |
124 | MsgMapping(ENOSPC, "ENOSPC" ), |
125 | MsgMapping(ESPIPE, "ESPIPE" ), |
126 | MsgMapping(EROFS, "EROFS" ), |
127 | MsgMapping(EMLINK, "EMLINK" ), |
128 | MsgMapping(EPIPE, "EPIPE" ), |
129 | MsgMapping(EDEADLK, "EDEADLK" ), |
130 | MsgMapping(ENAMETOOLONG, "ENAMETOOLONG" ), |
131 | MsgMapping(ENOLCK, "ENOLCK" ), |
132 | MsgMapping(ENOSYS, "ENOSYS" ), |
133 | MsgMapping(ENOTEMPTY, "ENOTEMPTY" ), |
134 | MsgMapping(ELOOP, "ELOOP" ), |
135 | MsgMapping(ENOMSG, "ENOMSG" ), |
136 | MsgMapping(EIDRM, "EIDRM" ), |
137 | MsgMapping(ENOSTR, "ENOSTR" ), |
138 | MsgMapping(ENODATA, "ENODATA" ), |
139 | MsgMapping(ETIME, "ETIME" ), |
140 | MsgMapping(ENOSR, "ENOSR" ), |
141 | MsgMapping(ENOLINK, "ENOLINK" ), |
142 | MsgMapping(EPROTO, "EPROTO" ), |
143 | MsgMapping(EMULTIHOP, "EMULTIHOP" ), |
144 | MsgMapping(EBADMSG, "EBADMSG" ), |
145 | MsgMapping(EOVERFLOW, "EOVERFLOW" ), |
146 | MsgMapping(ENOTSOCK, "ENOTSOCK" ), |
147 | MsgMapping(EDESTADDRREQ, "EDESTADDRREQ" ), |
148 | MsgMapping(EMSGSIZE, "EMSGSIZE" ), |
149 | MsgMapping(EPROTOTYPE, "EPROTOTYPE" ), |
150 | MsgMapping(ENOPROTOOPT, "ENOPROTOOPT" ), |
151 | MsgMapping(EPROTONOSUPPORT, "EPROTONOSUPPORT" ), |
152 | MsgMapping(ENOTSUP, "ENOTSUP" ), |
153 | MsgMapping(EAFNOSUPPORT, "EAFNOSUPPORT" ), |
154 | MsgMapping(EADDRINUSE, "EADDRINUSE" ), |
155 | MsgMapping(EADDRNOTAVAIL, "EADDRNOTAVAIL" ), |
156 | MsgMapping(ENETDOWN, "ENETDOWN" ), |
157 | MsgMapping(ENETUNREACH, "ENETUNREACH" ), |
158 | MsgMapping(ENETRESET, "ENETRESET" ), |
159 | MsgMapping(ECONNABORTED, "ECONNABORTED" ), |
160 | MsgMapping(ECONNRESET, "ECONNRESET" ), |
161 | MsgMapping(ENOBUFS, "ENOBUFS" ), |
162 | MsgMapping(EISCONN, "EISCONN" ), |
163 | MsgMapping(ENOTCONN, "ENOTCONN" ), |
164 | MsgMapping(ETIMEDOUT, "ETIMEDOUT" ), |
165 | MsgMapping(ECONNREFUSED, "ECONNREFUSED" ), |
166 | MsgMapping(EHOSTUNREACH, "EHOSTUNREACH" ), |
167 | MsgMapping(EALREADY, "EALREADY" ), |
168 | MsgMapping(EINPROGRESS, "EINPROGRESS" ), |
169 | MsgMapping(ESTALE, "ESTALE" ), |
170 | MsgMapping(EDQUOT, "EDQUOT" ), |
171 | MsgMapping(ECANCELED, "ECANCELED" ), |
172 | MsgMapping(EOWNERDEAD, "EOWNERDEAD" ), |
173 | MsgMapping(ENOTRECOVERABLE, "ENOTRECOVERABLE" ), |
174 | }; |
175 | |
176 | } // namespace LIBC_NAMESPACE_DECL |
177 | |
178 | #endif // LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_TABLES_POSIX_ERRORS_H |
179 | |