File: /usr/src/linux/arch/sparc/kernel/errtbls.c

1     /* $Id: errtbls.c,v 1.2 1995/11/25 00:57:55 davem Exp $
2      * errtbls.c: Error number conversion tables between various syscall
3      *            OS semantics.
4      *
5      * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
6      *
7      * Based upon preliminary work which is:
8      *
9      * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
10      */
11     
12     #include <asm/bsderrno.h>        /* NetBSD (bsd4.4) errnos */
13     #include <asm/solerrno.h>        /* Solaris errnos */
14     
15     /* Here are tables which convert between Linux/SunOS error number
16      * values to the equivalent in other OSs.  Note that since the Linux
17      * ones have been set up to match exactly those of SunOS, no
18      * translation table is needed for that OS.
19      */
20     
21     int solaris_errno[] = {
22     	0,
23     	SOL_EPERM,
24     	SOL_ENOENT,
25     	SOL_ESRCH,
26     	SOL_EINTR,
27     	SOL_EIO,
28     	SOL_ENXIO,
29     	SOL_E2BIG,
30     	SOL_ENOEXEC,
31     	SOL_EBADF,
32     	SOL_ECHILD,
33     	SOL_EAGAIN,
34     	SOL_ENOMEM,
35     	SOL_EACCES,
36     	SOL_EFAULT,
37     	SOL_NOTBLK,
38     	SOL_EBUSY,
39     	SOL_EEXIST,
40     	SOL_EXDEV,
41     	SOL_ENODEV,
42     	SOL_ENOTDIR,
43     	SOL_EISDIR,
44     	SOL_EINVAL,
45     	SOL_ENFILE,
46     	SOL_EMFILE,
47     	SOL_ENOTTY,
48     	SOL_ETXTBSY,
49     	SOL_EFBIG,
50     	SOL_ENOSPC,
51     	SOL_ESPIPE,
52     	SOL_EROFS,
53     	SOL_EMLINK,
54     	SOL_EPIPE,
55     	SOL_EDOM,
56     	SOL_ERANGE,
57     	SOL_EWOULDBLOCK,
58     	SOL_EINPROGRESS,
59     	SOL_EALREADY,
60     	SOL_ENOTSOCK,
61     	SOL_EDESTADDRREQ,
62     	SOL_EMSGSIZE,
63     	SOL_EPROTOTYPE,
64     	SOL_ENOPROTOOPT,
65     	SOL_EPROTONOSUPPORT,
66     	SOL_ESOCKTNOSUPPORT,
67     	SOL_EOPNOTSUPP,
68     	SOL_EPFNOSUPPORT,
69     	SOL_EAFNOSUPPORT,
70     	SOL_EADDRINUSE,
71     	SOL_EADDRNOTAVAIL,
72     	SOL_ENETDOWN,
73     	SOL_ENETUNREACH,
74     	SOL_ENETRESET,
75     	SOL_ECONNABORTED,
76     	SOL_ECONNRESET,
77     	SOL_ENOBUFS,
78     	SOL_EISCONN,
79     	SOL_ENOTONN,
80     	SOL_ESHUTDOWN,
81     	SOL_ETOOMANYREFS,
82     	SOL_ETIMEDOUT,
83     	SOL_ECONNREFUSED,
84     	SOL_ELOOP,
85     	SOL_ENAMETOOLONG,
86     	SOL_EHOSTDOWN,
87     	SOL_EHOSTUNREACH,
88     	SOL_ENOTEMPTY,
89     	SOL_EPROCLIM,
90     	SOL_EUSERS,
91     	SOL_EDQUOT,
92     	SOL_ESTALE,
93     	SOL_EREMOTE,
94     	SOL_ENOSTR,
95     	SOL_ETIME,
96     	SOL_ENOSR,
97     	SOL_ENOMSG,
98     	SOL_EBADMSG,
99     	SOL_IDRM,
100     	SOL_EDEADLK,
101     	SOL_ENOLCK,
102     	SOL_ENONET,
103     	SOL_ERREMOTE,
104     	SOL_ENOLINK,
105     	SOL_EADV,
106     	SOL_ESRMNT,
107     	SOL_ECOMM,
108     	SOL_EPROTO,
109     	SOL_EMULTIHOP,
110     	SOL_EINVAL,    /* EDOTDOT XXX??? */
111     	SOL_REMCHG,
112     	SOL_NOSYS,
113     	SOL_STRPIPE,
114     	SOL_EOVERFLOW,
115     	SOL_EBADFD,
116     	SOL_ECHRNG,
117     	SOL_EL2NSYNC,
118     	SOL_EL3HLT,
119     	SOL_EL3RST,
120     	SOL_NRNG,
121     	SOL_EUNATCH,
122     	SOL_ENOCSI,
123     	SOL_EL2HLT,
124     	SOL_EBADE,
125     	SOL_EBADR,
126     	SOL_EXFULL,
127     	SOL_ENOANO,
128     	SOL_EBADRQC,
129     	SOL_EBADSLT,
130     	SOL_EDEADLOCK,
131     	SOL_EBFONT,
132     	SOL_ELIBEXEC,
133     	SOL_ENODATA,
134     	SOL_ELIBBAD,
135     	SOL_ENOPKG,
136     	SOL_ELIBACC,
137     	SOL_ENOTUNIQ,
138     	SOL_ERESTART,
139     	SOL_EUCLEAN,
140     	SOL_ENOTNAM,
141     	SOL_ENAVAIL,
142     	SOL_EISNAM,
143     	SOL_EREMOTEIO,
144     	SOL_EILSEQ,
145     	SOL_ELIBMAX,
146     	SOL_ELIBSCN,
147     };
148     
149     int netbsd_errno[] = {
150     	0,
151     	BSD_EPERM,
152     	BSD_ENOENT,
153     	BSD_ESRCH,
154     	BSD_EINTR,
155     	BSD_EIO,
156     	BSD_ENXIO,
157     	BSD_E2BIG,
158     	BSD_ENOEXEC,
159     	BSD_EBADF,
160     	BSD_ECHILD,
161     	BSD_EAGAIN,
162     	BSD_ENOMEM,
163     	BSD_EACCES,
164     	BSD_EFAULT,
165     	BSD_NOTBLK,
166     	BSD_EBUSY,
167     	BSD_EEXIST,
168     	BSD_EXDEV,
169     	BSD_ENODEV,
170     	BSD_ENOTDIR,
171     	BSD_EISDIR,
172     	BSD_EINVAL,
173     	BSD_ENFILE,
174     	BSD_EMFILE,
175     	BSD_ENOTTY,
176     	BSD_ETXTBSY,
177     	BSD_EFBIG,
178     	BSD_ENOSPC,
179     	BSD_ESPIPE,
180     	BSD_EROFS,
181     	BSD_EMLINK,
182     	BSD_EPIPE,
183     	BSD_EDOM,
184     	BSD_ERANGE,
185     	BSD_EWOULDBLOCK,
186     	BSD_EINPROGRESS,
187     	BSD_EALREADY,
188     	BSD_ENOTSOCK,
189     	BSD_EDESTADDRREQ,
190     	BSD_EMSGSIZE,
191     	BSD_EPROTOTYPE,
192     	BSD_ENOPROTOOPT,
193     	BSD_EPROTONOSUPPORT,
194     	BSD_ESOCKTNOSUPPORT,
195     	BSD_EOPNOTSUPP,
196     	BSD_EPFNOSUPPORT,
197     	BSD_EAFNOSUPPORT,
198     	BSD_EADDRINUSE,
199     	BSD_EADDRNOTAVAIL,
200     	BSD_ENETDOWN,
201     	BSD_ENETUNREACH,
202     	BSD_ENETRESET,
203     	BSD_ECONNABORTED,
204     	BSD_ECONNRESET,
205     	BSD_ENOBUFS,
206     	BSD_EISCONN,
207     	BSD_ENOTONN,
208     	BSD_ESHUTDOWN,
209     	BSD_ETOOMANYREFS,
210     	BSD_ETIMEDOUT,
211     	BSD_ECONNREFUSED,
212     	BSD_ELOOP,
213     	BSD_ENAMETOOLONG,
214     	BSD_EHOSTDOWN,
215     	BSD_EHOSTUNREACH,
216     	BSD_ENOTEMPTY,
217     	BSD_EPROCLIM,
218     	BSD_EUSERS,
219     	BSD_EDQUOT,
220     	BSD_ESTALE,
221     	BSD_EREMOTE,
222     	BSD_ENOSTR,
223     	BSD_ETIME,
224     	BSD_ENOSR,
225     	BSD_ENOMSG,
226     	BSD_EBADMSG,
227     	BSD_IDRM,
228     	BSD_EDEADLK,
229     	BSD_ENOLCK,
230     	BSD_ENONET,
231     	BSD_ERREMOTE,
232     	BSD_ENOLINK,
233     	BSD_EADV,
234     	BSD_ESRMNT,
235     	BSD_ECOMM,
236     	BSD_EPROTO,
237     	BSD_EMULTIHOP,
238     	BSD_EINVAL,    /* EDOTDOT XXX??? */
239     	BSD_REMCHG,
240     	BSD_NOSYS,
241     	BSD_STRPIPE,
242     	BSD_EOVERFLOW,
243     	BSD_EBADFD,
244     	BSD_ECHRNG,
245     	BSD_EL2NSYNC,
246     	BSD_EL3HLT,
247     	BSD_EL3RST,
248     	BSD_NRNG,
249     	BSD_EUNATCH,
250     	BSD_ENOCSI,
251     	BSD_EL2HLT,
252     	BSD_EBADE,
253     	BSD_EBADR,
254     	BSD_EXFULL,
255     	BSD_ENOANO,
256     	BSD_EBADRQC,
257     	BSD_EBADSLT,
258     	BSD_EDEADLOCK,
259     	BSD_EBFONT,
260     	BSD_ELIBEXEC,
261     	BSD_ENODATA,
262     	BSD_ELIBBAD,
263     	BSD_ENOPKG,
264     	BSD_ELIBACC,
265     	BSD_ENOTUNIQ,
266     	BSD_ERESTART,
267     	BSD_EUCLEAN,
268     	BSD_ENOTNAM,
269     	BSD_ENAVAIL,
270     	BSD_EISNAM,
271     	BSD_EREMOTEIO,
272     	BSD_EILSEQ,
273     	BSD_ELIBMAX,
274     	BSD_ELIBSCN,
275     };
276     
277