chiark / gitweb /
Merge branches 'idx/verh' and 'idx/qmqpc'
[qmail] / error_str.c
1 #include <errno.h>
2 #include "error.h"
3
4 #define X(e,s) if (i == e) return s;
5
6 char *error_str(i)
7 int i;
8 {
9   X(0,"no error")
10   X(error_intr,"interrupted system call")
11   X(error_nomem,"out of memory")
12   X(error_noent,"file does not exist")
13   X(error_txtbsy,"text busy")
14   X(error_io,"input/output error")
15   X(error_exist,"file already exists")
16   X(error_timeout,"timed out")
17   X(error_inprogress,"operation in progress")
18   X(error_again,"temporary failure")
19   X(error_wouldblock,"input/output would block")
20   X(error_pipe,"broken pipe")
21   X(error_perm,"permission denied")
22   X(error_acces,"access denied")
23 #ifdef ESRCH
24   X(ESRCH,"no such process")
25 #endif
26 #ifdef ENXIO
27   X(ENXIO,"device not configured")
28 #endif
29 #ifdef E2BIG
30   X(E2BIG,"argument list too long")
31 #endif
32 #ifdef ENOEXEC
33   X(ENOEXEC,"exec format error")
34 #endif
35 #ifdef EBADF
36   X(EBADF,"file descriptor not open")
37 #endif
38 #ifdef ECHILD
39   X(ECHILD,"no child processes")
40 #endif
41 #ifdef EDEADLK
42   X(EDEADLK,"operation would cause deadlock")
43 #endif
44 #ifdef EFAULT
45   X(EFAULT,"bad address")
46 #endif
47 #ifdef ENOTBLK
48   X(ENOTBLK,"not a block device")
49 #endif
50 #ifdef EBUSY
51   X(EBUSY,"device busy")
52 #endif
53 #ifdef EXDEV
54   X(EXDEV,"cross-device link")
55 #endif
56 #ifdef ENODEV
57   X(ENODEV,"device does not support operation")
58 #endif
59 #ifdef ENOTDIR
60   X(ENOTDIR,"not a directory")
61 #endif
62 #ifdef EISDIR
63   X(EISDIR,"is a directory")
64 #endif
65 #ifdef EINVAL
66   X(EINVAL,"invalid argument")
67 #endif
68 #ifdef ENFILE
69   X(ENFILE,"system cannot open more files")
70 #endif
71 #ifdef EMFILE
72   X(EMFILE,"process cannot open more files")
73 #endif
74 #ifdef ENOTTY
75   X(ENOTTY,"not a tty")
76 #endif
77 #ifdef EFBIG
78   X(EFBIG,"file too big")
79 #endif
80 #ifdef ENOSPC
81   X(ENOSPC,"out of disk space")
82 #endif
83 #ifdef ESPIPE
84   X(ESPIPE,"unseekable descriptor")
85 #endif
86 #ifdef EROFS
87   X(EROFS,"read-only file system")
88 #endif
89 #ifdef EMLINK
90   X(EMLINK,"too many links")
91 #endif
92 #ifdef EDOM
93   X(EDOM,"input out of range")
94 #endif
95 #ifdef ERANGE
96   X(ERANGE,"output out of range")
97 #endif
98 #ifdef EALREADY
99   X(EALREADY,"operation already in progress")
100 #endif
101 #ifdef ENOTSOCK
102   X(ENOTSOCK,"not a socket")
103 #endif
104 #ifdef EDESTADDRREQ
105   X(EDESTADDRREQ,"destination address required")
106 #endif
107 #ifdef EMSGSIZE
108   X(EMSGSIZE,"message too long")
109 #endif
110 #ifdef EPROTOTYPE
111   X(EPROTOTYPE,"incorrect protocol type")
112 #endif
113 #ifdef ENOPROTOOPT
114   X(ENOPROTOOPT,"protocol not available")
115 #endif
116 #ifdef EPROTONOSUPPORT
117   X(EPROTONOSUPPORT,"protocol not supported")
118 #endif
119 #ifdef ESOCKTNOSUPPORT
120   X(ESOCKTNOSUPPORT,"socket type not supported")
121 #endif
122 #ifdef EOPNOTSUPP
123   X(EOPNOTSUPP,"operation not supported")
124 #endif
125 #ifdef EPFNOSUPPORT
126   X(EPFNOSUPPORT,"protocol family not supported")
127 #endif
128 #ifdef EAFNOSUPPORT
129   X(EAFNOSUPPORT,"address family not supported")
130 #endif
131 #ifdef EADDRINUSE
132   X(EADDRINUSE,"address already used")
133 #endif
134 #ifdef EADDRNOTAVAIL
135   X(EADDRNOTAVAIL,"address not available")
136 #endif
137 #ifdef ENETDOWN
138   X(ENETDOWN,"network down")
139 #endif
140 #ifdef ENETUNREACH
141   X(ENETUNREACH,"network unreachable")
142 #endif
143 #ifdef ENETRESET
144   X(ENETRESET,"network reset")
145 #endif
146 #ifdef ECONNABORTED
147   X(ECONNABORTED,"connection aborted")
148 #endif
149 #ifdef ECONNRESET
150   X(ECONNRESET,"connection reset")
151 #endif
152 #ifdef ENOBUFS
153   X(ENOBUFS,"out of buffer space")
154 #endif
155 #ifdef EISCONN
156   X(EISCONN,"already connected")
157 #endif
158 #ifdef ENOTCONN
159   X(ENOTCONN,"not connected")
160 #endif
161 #ifdef ESHUTDOWN
162   X(ESHUTDOWN,"socket shut down")
163 #endif
164 #ifdef ETOOMANYREFS
165   X(ETOOMANYREFS,"too many references")
166 #endif
167 #ifdef ECONNREFUSED
168   X(ECONNREFUSED,"connection refused")
169 #endif
170 #ifdef ELOOP
171   X(ELOOP,"symbolic link loop")
172 #endif
173 #ifdef ENAMETOOLONG
174   X(ENAMETOOLONG,"file name too long")
175 #endif
176 #ifdef EHOSTDOWN
177   X(EHOSTDOWN,"host down")
178 #endif
179 #ifdef EHOSTUNREACH
180   X(EHOSTUNREACH,"host unreachable")
181 #endif
182 #ifdef ENOTEMPTY
183   X(ENOTEMPTY,"directory not empty")
184 #endif
185 #ifdef EPROCLIM
186   X(EPROCLIM,"too many processes")
187 #endif
188 #ifdef EUSERS
189   X(EUSERS,"too many users")
190 #endif
191 #ifdef EDQUOT
192   X(EDQUOT,"disk quota exceeded")
193 #endif
194 #ifdef ESTALE
195   X(ESTALE,"stale NFS file handle")
196 #endif
197 #ifdef EREMOTE
198   X(EREMOTE,"too many levels of remote in path")
199 #endif
200 #ifdef EBADRPC
201   X(EBADRPC,"RPC structure is bad")
202 #endif
203 #ifdef ERPCMISMATCH
204   X(ERPCMISMATCH,"RPC version mismatch")
205 #endif
206 #ifdef EPROGUNAVAIL
207   X(EPROGUNAVAIL,"RPC program unavailable")
208 #endif
209 #ifdef EPROGMISMATCH
210   X(EPROGMISMATCH,"program version mismatch")
211 #endif
212 #ifdef EPROCUNAVAIL
213   X(EPROCUNAVAIL,"bad procedure for program")
214 #endif
215 #ifdef ENOLCK
216   X(ENOLCK,"no locks available")
217 #endif
218 #ifdef ENOSYS
219   X(ENOSYS,"system call not available")
220 #endif
221 #ifdef EFTYPE
222   X(EFTYPE,"bad file type")
223 #endif
224 #ifdef EAUTH
225   X(EAUTH,"authentication error")
226 #endif
227 #ifdef ENEEDAUTH
228   X(ENEEDAUTH,"not authenticated")
229 #endif
230 #ifdef ENOSTR
231   X(ENOSTR,"not a stream device")
232 #endif
233 #ifdef ETIME
234   X(ETIME,"timer expired")
235 #endif
236 #ifdef ENOSR
237   X(ENOSR,"out of stream resources")
238 #endif
239 #ifdef ENOMSG
240   X(ENOMSG,"no message of desired type")
241 #endif
242 #ifdef EBADMSG
243   X(EBADMSG,"bad message type")
244 #endif
245 #ifdef EIDRM
246   X(EIDRM,"identifier removed")
247 #endif
248 #ifdef ENONET
249   X(ENONET,"machine not on network")
250 #endif
251 #ifdef ERREMOTE
252   X(ERREMOTE,"object not local")
253 #endif
254 #ifdef ENOLINK
255   X(ENOLINK,"link severed")
256 #endif
257 #ifdef EADV
258   X(EADV,"advertise error")
259 #endif
260 #ifdef ESRMNT
261   X(ESRMNT,"srmount error")
262 #endif
263 #ifdef ECOMM
264   X(ECOMM,"communication error")
265 #endif
266 #ifdef EPROTO
267   X(EPROTO,"protocol error")
268 #endif
269 #ifdef EMULTIHOP
270   X(EMULTIHOP,"multihop attempted")
271 #endif
272 #ifdef EREMCHG
273   X(EREMCHG,"remote address changed")
274 #endif
275   return "unknown error";
276 }