Upstream qmail 1.01
[qmail] / error_str.c
CommitLineData
2117e02e
MW
1#include <errno.h>
2#include "error.h"
3
4#define X(e,s) if (i == e) return s;
5
6char *error_str(i)
7int 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}