libdl: first execute all destructors, then munmap library
[uclibc-ng.git] / libc / string / sys_errlist.c
blob682ff0e7ebb891aec7132b73798caac6b3d071b0
1 /*
2 * Copyright (C) 2002 Manuel Novoa III
3 * Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
5 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
6 */
8 #include <features.h>
9 #include <errno.h>
11 extern const char _string_syserrmsgs[] attribute_hidden;
13 #ifdef __UCLIBC_HAS_SYS_ERRLIST__
15 const char *const sys_errlist[] = {
16 [0] = _string_syserrmsgs + 0,
17 [EPERM] = _string_syserrmsgs + 8,
18 [ENOENT] = _string_syserrmsgs + 32,
19 [ESRCH] = _string_syserrmsgs + 58,
20 [EINTR] = _string_syserrmsgs + 74,
21 [EIO] = _string_syserrmsgs + 98,
22 [ENXIO] = _string_syserrmsgs + 117,
23 [E2BIG] = _string_syserrmsgs + 143,
24 [ENOEXEC] = _string_syserrmsgs + 166,
25 [EBADF] = _string_syserrmsgs + 184,
26 [ECHILD] = _string_syserrmsgs + 204,
27 [EAGAIN] = _string_syserrmsgs + 223,
28 [ENOMEM] = _string_syserrmsgs + 256,
29 [EACCES] = _string_syserrmsgs + 279,
30 [EFAULT] = _string_syserrmsgs + 297,
31 [ENOTBLK] = _string_syserrmsgs + 309,
32 [EBUSY] = _string_syserrmsgs + 331,
33 [EEXIST] = _string_syserrmsgs + 355,
34 [EXDEV] = _string_syserrmsgs + 367,
35 [ENODEV] = _string_syserrmsgs + 393,
36 [ENOTDIR] = _string_syserrmsgs + 408,
37 [EISDIR] = _string_syserrmsgs + 424,
38 [EINVAL] = _string_syserrmsgs + 439,
39 [ENFILE] = _string_syserrmsgs + 456,
40 [EMFILE] = _string_syserrmsgs + 486,
41 [ENOTTY] = _string_syserrmsgs + 506,
42 [ETXTBSY] = _string_syserrmsgs + 537,
43 [EFBIG] = _string_syserrmsgs + 552,
44 [ENOSPC] = _string_syserrmsgs + 567,
45 [ESPIPE] = _string_syserrmsgs + 591,
46 [EROFS] = _string_syserrmsgs + 604,
47 [EMLINK] = _string_syserrmsgs + 626,
48 [EPIPE] = _string_syserrmsgs + 641,
49 [EDOM] = _string_syserrmsgs + 653,
50 [ERANGE] = _string_syserrmsgs + 686,
51 [EDEADLK] = _string_syserrmsgs + 716,
52 [ENAMETOOLONG] = _string_syserrmsgs + 742,
53 [ENOLCK] = _string_syserrmsgs + 761,
54 [ENOSYS] = _string_syserrmsgs + 780,
55 [ENOTEMPTY] = _string_syserrmsgs + 805,
56 [ELOOP] = _string_syserrmsgs + 825,
57 /* _string_syserrmsgs + 859, */
58 [ENOMSG] = _string_syserrmsgs + 860,
59 [EIDRM] = _string_syserrmsgs + 887,
60 [ECHRNG] = _string_syserrmsgs + 906,
61 [EL2NSYNC] = _string_syserrmsgs + 934,
62 [EL3HLT] = _string_syserrmsgs + 959,
63 [EL3RST] = _string_syserrmsgs + 974,
64 [ELNRNG] = _string_syserrmsgs + 988,
65 [EUNATCH] = _string_syserrmsgs + 1013,
66 [ENOCSI] = _string_syserrmsgs + 1042,
67 [EL2HLT] = _string_syserrmsgs + 1069,
68 [EBADE] = _string_syserrmsgs + 1084,
69 [EBADR] = _string_syserrmsgs + 1101,
70 [EXFULL] = _string_syserrmsgs + 1128,
71 [ENOANO] = _string_syserrmsgs + 1142,
72 [EBADRQC] = _string_syserrmsgs + 1151,
73 [EBADSLT] = _string_syserrmsgs + 1172,
74 /* _string_syserrmsgs + 1185, */
75 [EBFONT] = _string_syserrmsgs + 1186,
76 [ENOSTR] = _string_syserrmsgs + 1207,
77 [ENODATA] = _string_syserrmsgs + 1227,
78 [ETIME] = _string_syserrmsgs + 1245,
79 [ENOSR] = _string_syserrmsgs + 1259,
80 [ENONET] = _string_syserrmsgs + 1284,
81 [ENOPKG] = _string_syserrmsgs + 1314,
82 [EREMOTE] = _string_syserrmsgs + 1336,
83 [ENOLINK] = _string_syserrmsgs + 1353,
84 [EADV] = _string_syserrmsgs + 1375,
85 [ESRMNT] = _string_syserrmsgs + 1391,
86 [ECOMM] = _string_syserrmsgs + 1405,
87 [EPROTO] = _string_syserrmsgs + 1433,
88 [EMULTIHOP] = _string_syserrmsgs + 1448,
89 [EDOTDOT] = _string_syserrmsgs + 1467,
90 [EBADMSG] = _string_syserrmsgs + 1486,
91 [EOVERFLOW] = _string_syserrmsgs + 1498,
92 [ENOTUNIQ] = _string_syserrmsgs + 1536,
93 [EBADFD] = _string_syserrmsgs + 1563,
94 [EREMCHG] = _string_syserrmsgs + 1592,
95 [ELIBACC] = _string_syserrmsgs + 1615,
96 [ELIBBAD] = _string_syserrmsgs + 1654,
97 [ELIBSCN] = _string_syserrmsgs + 1691,
98 [ELIBMAX] = _string_syserrmsgs + 1723,
99 [ELIBEXEC] = _string_syserrmsgs + 1771,
100 [EILSEQ] = _string_syserrmsgs + 1809,
101 [ERESTART] = _string_syserrmsgs + 1859,
102 [ESTRPIPE] = _string_syserrmsgs + 1903,
103 [EUSERS] = _string_syserrmsgs + 1922,
104 [ENOTSOCK] = _string_syserrmsgs + 1937,
105 [EDESTADDRREQ] = _string_syserrmsgs + 1968,
106 [EMSGSIZE] = _string_syserrmsgs + 1997,
107 [EPROTOTYPE] = _string_syserrmsgs + 2014,
108 [ENOPROTOOPT] = _string_syserrmsgs + 2045,
109 [EPROTONOSUPPORT] = _string_syserrmsgs + 2068,
110 [ESOCKTNOSUPPORT] = _string_syserrmsgs + 2091,
111 [EOPNOTSUPP] = _string_syserrmsgs + 2117,
112 [EPFNOSUPPORT] = _string_syserrmsgs + 2141,
113 [EAFNOSUPPORT] = _string_syserrmsgs + 2171,
114 [EADDRINUSE] = _string_syserrmsgs + 2212,
115 [EADDRNOTAVAIL] = _string_syserrmsgs + 2235,
116 [ENETDOWN] = _string_syserrmsgs + 2267,
117 [ENETUNREACH] = _string_syserrmsgs + 2283,
118 [ENETRESET] = _string_syserrmsgs + 2306,
119 [ECONNABORTED] = _string_syserrmsgs + 2342,
120 [ECONNRESET] = _string_syserrmsgs + 2375,
121 [ENOBUFS] = _string_syserrmsgs + 2400,
122 [EISCONN] = _string_syserrmsgs + 2426,
123 [ENOTCONN] = _string_syserrmsgs + 2466,
124 [ESHUTDOWN] = _string_syserrmsgs + 2502,
125 [ETOOMANYREFS] = _string_syserrmsgs + 2548,
126 [ETIMEDOUT] = _string_syserrmsgs + 2583,
127 [ECONNREFUSED] = _string_syserrmsgs + 2604,
128 [EHOSTDOWN] = _string_syserrmsgs + 2623,
129 [EHOSTUNREACH] = _string_syserrmsgs + 2636,
130 [EALREADY] = _string_syserrmsgs + 2653,
131 [EINPROGRESS] = _string_syserrmsgs + 2683,
132 [ESTALE] = _string_syserrmsgs + 2709,
133 [EUCLEAN] = _string_syserrmsgs + 2731,
134 [ENOTNAM] = _string_syserrmsgs + 2756,
135 [ENAVAIL] = _string_syserrmsgs + 2784,
136 [EISNAM] = _string_syserrmsgs + 2814,
137 [EREMOTEIO] = _string_syserrmsgs + 2835,
138 [EDQUOT] = _string_syserrmsgs + 2852,
139 [ENOMEDIUM] = _string_syserrmsgs + 2872,
140 [EMEDIUMTYPE] = _string_syserrmsgs + 2888,
142 #if EDEADLOCK != EDEADLK
143 [EDEADLOCK] = _string_syserrmsgs + 2906,
144 #endif
146 #if EWOULDBLOCK != EAGAIN
147 #error EWOULDBLOCK does not equal EAGAIN
148 #endif
150 /* For now, ignore the other arch-specific errors. glibc only maps EPROCLIM. */
152 /* some other mips errors */
153 #ifdef ECANCELED
154 #endif
155 #ifdef EINIT
156 #endif
157 #ifdef EREMDEV
158 #endif
160 /* some other sparc errors */
161 #ifdef EPROCLIM
162 #endif
163 #ifdef ERREMOTE
164 #endif
167 int sys_nerr = sizeof(sys_errlist)/sizeof(sys_errlist[0]);
169 #endif