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