]> granicus.if.org Git - strace/blob - tests/errno2name.c
tests: change the license to GPL-2.0-or-later
[strace] / tests / errno2name.c
1 /*
2  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
3  * Copyright (c) 2016-2017 The strace developers.
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: GPL-2.0-or-later
7  */
8
9 #include "tests.h"
10 #include <errno.h>
11
12 #define CASE(x) case x: return #x
13
14 const char *
15 errno2name(void)
16 {
17         switch (errno) {
18         /* names taken from linux/errnoent.h */
19 #ifdef E2BIG
20         CASE(E2BIG);
21 #endif
22 #ifdef EACCES
23         CASE(EACCES);
24 #endif
25 #ifdef EADDRINUSE
26         CASE(EADDRINUSE);
27 #endif
28 #ifdef EADDRNOTAVAIL
29         CASE(EADDRNOTAVAIL);
30 #endif
31 #ifdef EADV
32         CASE(EADV);
33 #endif
34 #ifdef EAFNOSUPPORT
35         CASE(EAFNOSUPPORT);
36 #endif
37 #ifdef EAGAIN
38         CASE(EAGAIN);
39 #endif
40 #ifdef EALREADY
41         CASE(EALREADY);
42 #endif
43 #ifdef EBADCOOKIE
44         CASE(EBADCOOKIE);
45 #endif
46 #ifdef EBADE
47         CASE(EBADE);
48 #endif
49 #ifdef EBADF
50         CASE(EBADF);
51 #endif
52 #ifdef EBADFD
53         CASE(EBADFD);
54 #endif
55 #ifdef EBADHANDLE
56         CASE(EBADHANDLE);
57 #endif
58 #ifdef EBADMSG
59         CASE(EBADMSG);
60 #endif
61 #ifdef EBADR
62         CASE(EBADR);
63 #endif
64 #ifdef EBADRQC
65         CASE(EBADRQC);
66 #endif
67 #ifdef EBADSLT
68         CASE(EBADSLT);
69 #endif
70 #ifdef EBADTYPE
71         CASE(EBADTYPE);
72 #endif
73 #ifdef EBFONT
74         CASE(EBFONT);
75 #endif
76 #ifdef EBUSY
77         CASE(EBUSY);
78 #endif
79 #ifdef ECANCELED
80         CASE(ECANCELED);
81 #endif
82 #ifdef ECHILD
83         CASE(ECHILD);
84 #endif
85 #ifdef ECHRNG
86         CASE(ECHRNG);
87 #endif
88 #ifdef ECOMM
89         CASE(ECOMM);
90 #endif
91 #ifdef ECONNABORTED
92         CASE(ECONNABORTED);
93 #endif
94 #ifdef ECONNREFUSED
95         CASE(ECONNREFUSED);
96 #endif
97 #ifdef ECONNRESET
98         CASE(ECONNRESET);
99 #endif
100 #ifdef EDEADLK
101         CASE(EDEADLK);
102 #endif
103 #ifdef EDESTADDRREQ
104         CASE(EDESTADDRREQ);
105 #endif
106 #ifdef EDOM
107         CASE(EDOM);
108 #endif
109 #ifdef EDOTDOT
110         CASE(EDOTDOT);
111 #endif
112 #ifdef EDQUOT
113         CASE(EDQUOT);
114 #endif
115 #ifdef EEXIST
116         CASE(EEXIST);
117 #endif
118 #ifdef EFAULT
119         CASE(EFAULT);
120 #endif
121 #ifdef EFBIG
122         CASE(EFBIG);
123 #endif
124 #ifdef EHOSTDOWN
125         CASE(EHOSTDOWN);
126 #endif
127 #ifdef EHOSTUNREACH
128         CASE(EHOSTUNREACH);
129 #endif
130 #ifdef EHWPOISON
131         CASE(EHWPOISON);
132 #endif
133 #ifdef EIDRM
134         CASE(EIDRM);
135 #endif
136 #ifdef EILSEQ
137         CASE(EILSEQ);
138 #endif
139 #ifdef EINPROGRESS
140         CASE(EINPROGRESS);
141 #endif
142 #ifdef EINTR
143         CASE(EINTR);
144 #endif
145 #ifdef EINVAL
146         CASE(EINVAL);
147 #endif
148 #ifdef EIO
149         CASE(EIO);
150 #endif
151 #ifdef EIOCBQUEUED
152         CASE(EIOCBQUEUED);
153 #endif
154 #ifdef EISCONN
155         CASE(EISCONN);
156 #endif
157 #ifdef EISDIR
158         CASE(EISDIR);
159 #endif
160 #ifdef EISNAM
161         CASE(EISNAM);
162 #endif
163 #ifdef EJUKEBOX
164         CASE(EJUKEBOX);
165 #endif
166 #ifdef EKEYEXPIRED
167         CASE(EKEYEXPIRED);
168 #endif
169 #ifdef EKEYREJECTED
170         CASE(EKEYREJECTED);
171 #endif
172 #ifdef EKEYREVOKED
173         CASE(EKEYREVOKED);
174 #endif
175 #ifdef EL2HLT
176         CASE(EL2HLT);
177 #endif
178 #ifdef EL2NSYNC
179         CASE(EL2NSYNC);
180 #endif
181 #ifdef EL3HLT
182         CASE(EL3HLT);
183 #endif
184 #ifdef EL3RST
185         CASE(EL3RST);
186 #endif
187 #ifdef ELIBACC
188         CASE(ELIBACC);
189 #endif
190 #ifdef ELIBBAD
191         CASE(ELIBBAD);
192 #endif
193 #ifdef ELIBEXEC
194         CASE(ELIBEXEC);
195 #endif
196 #ifdef ELIBMAX
197         CASE(ELIBMAX);
198 #endif
199 #ifdef ELIBSCN
200         CASE(ELIBSCN);
201 #endif
202 #ifdef ELNRNG
203         CASE(ELNRNG);
204 #endif
205 #ifdef ELOOP
206         CASE(ELOOP);
207 #endif
208 #ifdef EMEDIUMTYPE
209         CASE(EMEDIUMTYPE);
210 #endif
211 #ifdef EMFILE
212         CASE(EMFILE);
213 #endif
214 #ifdef EMLINK
215         CASE(EMLINK);
216 #endif
217 #ifdef EMSGSIZE
218         CASE(EMSGSIZE);
219 #endif
220 #ifdef EMULTIHOP
221         CASE(EMULTIHOP);
222 #endif
223 #ifdef ENAMETOOLONG
224         CASE(ENAMETOOLONG);
225 #endif
226 #ifdef ENAVAIL
227         CASE(ENAVAIL);
228 #endif
229 #ifdef ENETDOWN
230         CASE(ENETDOWN);
231 #endif
232 #ifdef ENETRESET
233         CASE(ENETRESET);
234 #endif
235 #ifdef ENETUNREACH
236         CASE(ENETUNREACH);
237 #endif
238 #ifdef ENFILE
239         CASE(ENFILE);
240 #endif
241 #ifdef ENOANO
242         CASE(ENOANO);
243 #endif
244 #ifdef ENOBUFS
245         CASE(ENOBUFS);
246 #endif
247 #ifdef ENOCSI
248         CASE(ENOCSI);
249 #endif
250 #ifdef ENODATA
251         CASE(ENODATA);
252 #endif
253 #ifdef ENODEV
254         CASE(ENODEV);
255 #endif
256 #ifdef ENOENT
257         CASE(ENOENT);
258 #endif
259 #ifdef ENOEXEC
260         CASE(ENOEXEC);
261 #endif
262 #ifdef ENOIOCTLCMD
263         CASE(ENOIOCTLCMD);
264 #endif
265 #ifdef ENOKEY
266         CASE(ENOKEY);
267 #endif
268 #ifdef ENOLCK
269         CASE(ENOLCK);
270 #endif
271 #ifdef ENOLINK
272         CASE(ENOLINK);
273 #endif
274 #ifdef ENOMEDIUM
275         CASE(ENOMEDIUM);
276 #endif
277 #ifdef ENOMEM
278         CASE(ENOMEM);
279 #endif
280 #ifdef ENOMSG
281         CASE(ENOMSG);
282 #endif
283 #ifdef ENONET
284         CASE(ENONET);
285 #endif
286 #ifdef ENOPKG
287         CASE(ENOPKG);
288 #endif
289 #ifdef ENOPROTOOPT
290         CASE(ENOPROTOOPT);
291 #endif
292 #ifdef ENOSPC
293         CASE(ENOSPC);
294 #endif
295 #ifdef ENOSR
296         CASE(ENOSR);
297 #endif
298 #ifdef ENOSTR
299         CASE(ENOSTR);
300 #endif
301 #ifdef ENOSYS
302         CASE(ENOSYS);
303 #endif
304 #ifdef ENOTBLK
305         CASE(ENOTBLK);
306 #endif
307 #ifdef ENOTCONN
308         CASE(ENOTCONN);
309 #endif
310 #ifdef ENOTDIR
311         CASE(ENOTDIR);
312 #endif
313 #ifdef ENOTEMPTY
314         CASE(ENOTEMPTY);
315 #endif
316 #ifdef ENOTNAM
317         CASE(ENOTNAM);
318 #endif
319 #ifdef ENOTRECOVERABLE
320         CASE(ENOTRECOVERABLE);
321 #endif
322 #ifdef ENOTSOCK
323         CASE(ENOTSOCK);
324 #endif
325 #ifdef ENOTSUPP
326         CASE(ENOTSUPP);
327 #endif
328 #ifdef ENOTSYNC
329         CASE(ENOTSYNC);
330 #endif
331 #ifdef ENOTTY
332         CASE(ENOTTY);
333 #endif
334 #ifdef ENOTUNIQ
335         CASE(ENOTUNIQ);
336 #endif
337 #ifdef ENXIO
338         CASE(ENXIO);
339 #endif
340 #ifdef EOPENSTALE
341         CASE(EOPENSTALE);
342 #endif
343 #ifdef EOPNOTSUPP
344         CASE(EOPNOTSUPP);
345 #endif
346 #ifdef EOVERFLOW
347         CASE(EOVERFLOW);
348 #endif
349 #ifdef EOWNERDEAD
350         CASE(EOWNERDEAD);
351 #endif
352 #ifdef EPERM
353         CASE(EPERM);
354 #endif
355 #ifdef EPFNOSUPPORT
356         CASE(EPFNOSUPPORT);
357 #endif
358 #ifdef EPIPE
359         CASE(EPIPE);
360 #endif
361 #ifdef EPROBE_DEFER
362         CASE(EPROBE_DEFER);
363 #endif
364 #ifdef EPROTO
365         CASE(EPROTO);
366 #endif
367 #ifdef EPROTONOSUPPORT
368         CASE(EPROTONOSUPPORT);
369 #endif
370 #ifdef EPROTOTYPE
371         CASE(EPROTOTYPE);
372 #endif
373 #ifdef ERANGE
374         CASE(ERANGE);
375 #endif
376 #ifdef EREMCHG
377         CASE(EREMCHG);
378 #endif
379 #ifdef EREMOTE
380         CASE(EREMOTE);
381 #endif
382 #ifdef EREMOTEIO
383         CASE(EREMOTEIO);
384 #endif
385 #ifdef ERESTART
386         CASE(ERESTART);
387 #endif
388 #ifdef ERESTARTNOHAND
389         CASE(ERESTARTNOHAND);
390 #endif
391 #ifdef ERESTARTNOINTR
392         CASE(ERESTARTNOINTR);
393 #endif
394 #ifdef ERESTARTSYS
395         CASE(ERESTARTSYS);
396 #endif
397 #ifdef ERESTART_RESTARTBLOCK
398         CASE(ERESTART_RESTARTBLOCK);
399 #endif
400 #ifdef ERFKILL
401         CASE(ERFKILL);
402 #endif
403 #ifdef EROFS
404         CASE(EROFS);
405 #endif
406 #ifdef ESERVERFAULT
407         CASE(ESERVERFAULT);
408 #endif
409 #ifdef ESHUTDOWN
410         CASE(ESHUTDOWN);
411 #endif
412 #ifdef ESOCKTNOSUPPORT
413         CASE(ESOCKTNOSUPPORT);
414 #endif
415 #ifdef ESPIPE
416         CASE(ESPIPE);
417 #endif
418 #ifdef ESRCH
419         CASE(ESRCH);
420 #endif
421 #ifdef ESRMNT
422         CASE(ESRMNT);
423 #endif
424 #ifdef ESTALE
425         CASE(ESTALE);
426 #endif
427 #ifdef ESTRPIPE
428         CASE(ESTRPIPE);
429 #endif
430 #ifdef ETIME
431         CASE(ETIME);
432 #endif
433 #ifdef ETIMEDOUT
434         CASE(ETIMEDOUT);
435 #endif
436 #ifdef ETOOMANYREFS
437         CASE(ETOOMANYREFS);
438 #endif
439 #ifdef ETOOSMALL
440         CASE(ETOOSMALL);
441 #endif
442 #ifdef ETXTBSY
443         CASE(ETXTBSY);
444 #endif
445 #ifdef EUCLEAN
446         CASE(EUCLEAN);
447 #endif
448 #ifdef EUNATCH
449         CASE(EUNATCH);
450 #endif
451 #ifdef EUSERS
452         CASE(EUSERS);
453 #endif
454 #ifdef EXDEV
455         CASE(EXDEV);
456 #endif
457 #ifdef EXFULL
458         CASE(EXFULL);
459 #endif
460         default:
461                 perror_msg_and_fail("unknown errno %d", errno);
462         }
463 }