merge -r 58784:58785
[mono.git] / support / map.c
1 /*
2  * This file was automatically generated by make-map from ../../mcs/class/lib/default/Mono.Posix.dll.
3  *
4  * DO NOT MODIFY.
5  */
6 #include <config.h>
7
8 #include "map.h"
9
10 #ifndef _GNU_SOURCE
11 #define _GNU_SOURCE
12 #endif /* ndef _GNU_SOURCE */
13 #ifndef _XOPEN_SOURCE
14 #define _XOPEN_SOURCE
15 #endif /* ndef _XOPEN_SOURCE */
16 #include <sys/types.h>
17 #include <sys/stat.h>
18 #ifdef HAVE_SYS_POLL_H
19 #include <sys/poll.h>
20 #endif
21 #ifdef HAVE_SYS_WAIT_H
22 #include <sys/wait.h>
23 #endif
24 #ifdef HAVE_SYS_STATVFS_H
25 #include <sys/statvfs.h>
26 #endif
27 #ifdef HAVE_SYS_XATTR_H
28 #include <sys/xattr.h>
29 #endif
30 #include <unistd.h>
31 #include <fcntl.h>
32 #include <signal.h>
33 #ifdef HAVE_POLL_H
34 #include <poll.h>
35 #endif
36 #ifdef HAVE_GRP_H
37 #include <grp.h>
38 #endif
39 #include <errno.h>
40 #ifdef HAVE_SYSLOG_H
41 #include <syslog.h>
42 #endif
43
44 int Mono_Posix_FromAccessMode (int x, int *r)
45 {
46         *r = 0;
47         if (x == 0)
48                 return 0;
49         if ((x & Mono_Posix_AccessMode_F_OK) == Mono_Posix_AccessMode_F_OK)
50 #ifdef F_OK
51                 *r |= F_OK;
52 #else /* def F_OK */
53                 {errno = EINVAL; return -1;}
54 #endif /* ndef F_OK */
55         if ((x & Mono_Posix_AccessMode_R_OK) == Mono_Posix_AccessMode_R_OK)
56 #ifdef R_OK
57                 *r |= R_OK;
58 #else /* def R_OK */
59                 {errno = EINVAL; return -1;}
60 #endif /* ndef R_OK */
61         if ((x & Mono_Posix_AccessMode_W_OK) == Mono_Posix_AccessMode_W_OK)
62 #ifdef W_OK
63                 *r |= W_OK;
64 #else /* def W_OK */
65                 {errno = EINVAL; return -1;}
66 #endif /* ndef W_OK */
67         if ((x & Mono_Posix_AccessMode_X_OK) == Mono_Posix_AccessMode_X_OK)
68 #ifdef X_OK
69                 *r |= X_OK;
70 #else /* def X_OK */
71                 {errno = EINVAL; return -1;}
72 #endif /* ndef X_OK */
73         return 0;
74 }
75
76 int Mono_Posix_ToAccessMode (int x, int *r)
77 {
78         *r = 0;
79         if (x == 0)
80                 return 0;
81 #ifdef F_OK
82         if ((x & F_OK) == F_OK)
83                 *r |= Mono_Posix_AccessMode_F_OK;
84 #endif /* ndef F_OK */
85 #ifdef R_OK
86         if ((x & R_OK) == R_OK)
87                 *r |= Mono_Posix_AccessMode_R_OK;
88 #endif /* ndef R_OK */
89 #ifdef W_OK
90         if ((x & W_OK) == W_OK)
91                 *r |= Mono_Posix_AccessMode_W_OK;
92 #endif /* ndef W_OK */
93 #ifdef X_OK
94         if ((x & X_OK) == X_OK)
95                 *r |= Mono_Posix_AccessMode_X_OK;
96 #endif /* ndef X_OK */
97         return 0;
98 }
99
100 int Mono_Posix_FromConfStr (int x, int *r)
101 {
102         *r = 0;
103         if (x == 0)
104                 return 0;
105         if (x == Mono_Posix_ConfStr__CS_GNU_LIBC_VERSION)
106 #ifdef _CS_GNU_LIBC_VERSION
107                 {*r = _CS_GNU_LIBC_VERSION; return 0;}
108 #else /* def _CS_GNU_LIBC_VERSION */
109                 {errno = EINVAL; return -1;}
110 #endif /* ndef _CS_GNU_LIBC_VERSION */
111         if (x == Mono_Posix_ConfStr__CS_GNU_LIBPTHREAD_VERSION)
112 #ifdef _CS_GNU_LIBPTHREAD_VERSION
113                 {*r = _CS_GNU_LIBPTHREAD_VERSION; return 0;}
114 #else /* def _CS_GNU_LIBPTHREAD_VERSION */
115                 {errno = EINVAL; return -1;}
116 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
117         if (x == Mono_Posix_ConfStr__CS_LFS64_CFLAGS)
118 #ifdef _CS_LFS64_CFLAGS
119                 {*r = _CS_LFS64_CFLAGS; return 0;}
120 #else /* def _CS_LFS64_CFLAGS */
121                 {errno = EINVAL; return -1;}
122 #endif /* ndef _CS_LFS64_CFLAGS */
123         if (x == Mono_Posix_ConfStr__CS_LFS64_LDFLAGS)
124 #ifdef _CS_LFS64_LDFLAGS
125                 {*r = _CS_LFS64_LDFLAGS; return 0;}
126 #else /* def _CS_LFS64_LDFLAGS */
127                 {errno = EINVAL; return -1;}
128 #endif /* ndef _CS_LFS64_LDFLAGS */
129         if (x == Mono_Posix_ConfStr__CS_LFS64_LIBS)
130 #ifdef _CS_LFS64_LIBS
131                 {*r = _CS_LFS64_LIBS; return 0;}
132 #else /* def _CS_LFS64_LIBS */
133                 {errno = EINVAL; return -1;}
134 #endif /* ndef _CS_LFS64_LIBS */
135         if (x == Mono_Posix_ConfStr__CS_LFS64_LINTFLAGS)
136 #ifdef _CS_LFS64_LINTFLAGS
137                 {*r = _CS_LFS64_LINTFLAGS; return 0;}
138 #else /* def _CS_LFS64_LINTFLAGS */
139                 {errno = EINVAL; return -1;}
140 #endif /* ndef _CS_LFS64_LINTFLAGS */
141         if (x == Mono_Posix_ConfStr__CS_LFS_CFLAGS)
142 #ifdef _CS_LFS_CFLAGS
143                 {*r = _CS_LFS_CFLAGS; return 0;}
144 #else /* def _CS_LFS_CFLAGS */
145                 {errno = EINVAL; return -1;}
146 #endif /* ndef _CS_LFS_CFLAGS */
147         if (x == Mono_Posix_ConfStr__CS_LFS_LDFLAGS)
148 #ifdef _CS_LFS_LDFLAGS
149                 {*r = _CS_LFS_LDFLAGS; return 0;}
150 #else /* def _CS_LFS_LDFLAGS */
151                 {errno = EINVAL; return -1;}
152 #endif /* ndef _CS_LFS_LDFLAGS */
153         if (x == Mono_Posix_ConfStr__CS_LFS_LIBS)
154 #ifdef _CS_LFS_LIBS
155                 {*r = _CS_LFS_LIBS; return 0;}
156 #else /* def _CS_LFS_LIBS */
157                 {errno = EINVAL; return -1;}
158 #endif /* ndef _CS_LFS_LIBS */
159         if (x == Mono_Posix_ConfStr__CS_LFS_LINTFLAGS)
160 #ifdef _CS_LFS_LINTFLAGS
161                 {*r = _CS_LFS_LINTFLAGS; return 0;}
162 #else /* def _CS_LFS_LINTFLAGS */
163                 {errno = EINVAL; return -1;}
164 #endif /* ndef _CS_LFS_LINTFLAGS */
165         if (x == Mono_Posix_ConfStr__CS_PATH)
166 #ifdef _CS_PATH
167                 {*r = _CS_PATH; return 0;}
168 #else /* def _CS_PATH */
169                 {errno = EINVAL; return -1;}
170 #endif /* ndef _CS_PATH */
171         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_CFLAGS)
172 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
173                 {*r = _CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
174 #else /* def _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
175                 {errno = EINVAL; return -1;}
176 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
177         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
178 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
179                 {*r = _CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
180 #else /* def _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
181                 {errno = EINVAL; return -1;}
182 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
183         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LIBS)
184 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
185                 {*r = _CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
186 #else /* def _CS_POSIX_V6_ILP32_OFF32_LIBS */
187                 {errno = EINVAL; return -1;}
188 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
189         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
190 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
191                 {*r = _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
192 #else /* def _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
193                 {errno = EINVAL; return -1;}
194 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
195         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
196 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
197                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
198 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
199                 {errno = EINVAL; return -1;}
200 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
201         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
202 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
203                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
204 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
205                 {errno = EINVAL; return -1;}
206 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
207         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LIBS)
208 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
209                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
210 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
211                 {errno = EINVAL; return -1;}
212 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
213         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
214 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
215                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
216 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
217                 {errno = EINVAL; return -1;}
218 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
219         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_CFLAGS)
220 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
221                 {*r = _CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
222 #else /* def _CS_POSIX_V6_LP64_OFF64_CFLAGS */
223                 {errno = EINVAL; return -1;}
224 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
225         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LDFLAGS)
226 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
227                 {*r = _CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
228 #else /* def _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
229                 {errno = EINVAL; return -1;}
230 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
231         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LIBS)
232 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
233                 {*r = _CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
234 #else /* def _CS_POSIX_V6_LP64_OFF64_LIBS */
235                 {errno = EINVAL; return -1;}
236 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
237         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
238 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
239                 {*r = _CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
240 #else /* def _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
241                 {errno = EINVAL; return -1;}
242 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
243         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
244 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
245                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
246 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
247                 {errno = EINVAL; return -1;}
248 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
249         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
250 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
251                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
252 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
253                 {errno = EINVAL; return -1;}
254 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
255         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
256 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
257                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
258 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
259                 {errno = EINVAL; return -1;}
260 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
261         if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
262 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
263                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
264 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
265                 {errno = EINVAL; return -1;}
266 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
267         if (x == Mono_Posix_ConfStr__CS_V6_WIDTH_RESTRICTED_ENVS)
268 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
269                 {*r = _CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
270 #else /* def _CS_V6_WIDTH_RESTRICTED_ENVS */
271                 {errno = EINVAL; return -1;}
272 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
273         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_CFLAGS)
274 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
275                 {*r = _CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
276 #else /* def _CS_XBS5_ILP32_OFF32_CFLAGS */
277                 {errno = EINVAL; return -1;}
278 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
279         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LDFLAGS)
280 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
281                 {*r = _CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
282 #else /* def _CS_XBS5_ILP32_OFF32_LDFLAGS */
283                 {errno = EINVAL; return -1;}
284 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
285         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LIBS)
286 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
287                 {*r = _CS_XBS5_ILP32_OFF32_LIBS; return 0;}
288 #else /* def _CS_XBS5_ILP32_OFF32_LIBS */
289                 {errno = EINVAL; return -1;}
290 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
291         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LINTFLAGS)
292 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
293                 {*r = _CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
294 #else /* def _CS_XBS5_ILP32_OFF32_LINTFLAGS */
295                 {errno = EINVAL; return -1;}
296 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
297         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_CFLAGS)
298 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
299                 {*r = _CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
300 #else /* def _CS_XBS5_ILP32_OFFBIG_CFLAGS */
301                 {errno = EINVAL; return -1;}
302 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
303         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LDFLAGS)
304 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
305                 {*r = _CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
306 #else /* def _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
307                 {errno = EINVAL; return -1;}
308 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
309         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LIBS)
310 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
311                 {*r = _CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
312 #else /* def _CS_XBS5_ILP32_OFFBIG_LIBS */
313                 {errno = EINVAL; return -1;}
314 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
315         if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
316 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
317                 {*r = _CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
318 #else /* def _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
319                 {errno = EINVAL; return -1;}
320 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
321         if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_CFLAGS)
322 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
323                 {*r = _CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
324 #else /* def _CS_XBS5_LP64_OFF64_CFLAGS */
325                 {errno = EINVAL; return -1;}
326 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
327         if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LDFLAGS)
328 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
329                 {*r = _CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
330 #else /* def _CS_XBS5_LP64_OFF64_LDFLAGS */
331                 {errno = EINVAL; return -1;}
332 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
333         if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LIBS)
334 #ifdef _CS_XBS5_LP64_OFF64_LIBS
335                 {*r = _CS_XBS5_LP64_OFF64_LIBS; return 0;}
336 #else /* def _CS_XBS5_LP64_OFF64_LIBS */
337                 {errno = EINVAL; return -1;}
338 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
339         if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LINTFLAGS)
340 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
341                 {*r = _CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
342 #else /* def _CS_XBS5_LP64_OFF64_LINTFLAGS */
343                 {errno = EINVAL; return -1;}
344 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
345         if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_CFLAGS)
346 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
347                 {*r = _CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
348 #else /* def _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
349                 {errno = EINVAL; return -1;}
350 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
351         if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
352 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
353                 {*r = _CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
354 #else /* def _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
355                 {errno = EINVAL; return -1;}
356 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
357         if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LIBS)
358 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
359                 {*r = _CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
360 #else /* def _CS_XBS5_LPBIG_OFFBIG_LIBS */
361                 {errno = EINVAL; return -1;}
362 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
363         if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
364 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
365                 {*r = _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
366 #else /* def _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
367                 {errno = EINVAL; return -1;}
368 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
369         errno = EINVAL; return -1;
370 }
371
372 int Mono_Posix_ToConfStr (int x, int *r)
373 {
374         *r = 0;
375         if (x == 0)
376                 return 0;
377 #ifdef _CS_GNU_LIBC_VERSION
378         if (x == _CS_GNU_LIBC_VERSION)
379                 {*r = Mono_Posix_ConfStr__CS_GNU_LIBC_VERSION; return 0;}
380 #endif /* ndef _CS_GNU_LIBC_VERSION */
381 #ifdef _CS_GNU_LIBPTHREAD_VERSION
382         if (x == _CS_GNU_LIBPTHREAD_VERSION)
383                 {*r = Mono_Posix_ConfStr__CS_GNU_LIBPTHREAD_VERSION; return 0;}
384 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
385 #ifdef _CS_LFS64_CFLAGS
386         if (x == _CS_LFS64_CFLAGS)
387                 {*r = Mono_Posix_ConfStr__CS_LFS64_CFLAGS; return 0;}
388 #endif /* ndef _CS_LFS64_CFLAGS */
389 #ifdef _CS_LFS64_LDFLAGS
390         if (x == _CS_LFS64_LDFLAGS)
391                 {*r = Mono_Posix_ConfStr__CS_LFS64_LDFLAGS; return 0;}
392 #endif /* ndef _CS_LFS64_LDFLAGS */
393 #ifdef _CS_LFS64_LIBS
394         if (x == _CS_LFS64_LIBS)
395                 {*r = Mono_Posix_ConfStr__CS_LFS64_LIBS; return 0;}
396 #endif /* ndef _CS_LFS64_LIBS */
397 #ifdef _CS_LFS64_LINTFLAGS
398         if (x == _CS_LFS64_LINTFLAGS)
399                 {*r = Mono_Posix_ConfStr__CS_LFS64_LINTFLAGS; return 0;}
400 #endif /* ndef _CS_LFS64_LINTFLAGS */
401 #ifdef _CS_LFS_CFLAGS
402         if (x == _CS_LFS_CFLAGS)
403                 {*r = Mono_Posix_ConfStr__CS_LFS_CFLAGS; return 0;}
404 #endif /* ndef _CS_LFS_CFLAGS */
405 #ifdef _CS_LFS_LDFLAGS
406         if (x == _CS_LFS_LDFLAGS)
407                 {*r = Mono_Posix_ConfStr__CS_LFS_LDFLAGS; return 0;}
408 #endif /* ndef _CS_LFS_LDFLAGS */
409 #ifdef _CS_LFS_LIBS
410         if (x == _CS_LFS_LIBS)
411                 {*r = Mono_Posix_ConfStr__CS_LFS_LIBS; return 0;}
412 #endif /* ndef _CS_LFS_LIBS */
413 #ifdef _CS_LFS_LINTFLAGS
414         if (x == _CS_LFS_LINTFLAGS)
415                 {*r = Mono_Posix_ConfStr__CS_LFS_LINTFLAGS; return 0;}
416 #endif /* ndef _CS_LFS_LINTFLAGS */
417 #ifdef _CS_PATH
418         if (x == _CS_PATH)
419                 {*r = Mono_Posix_ConfStr__CS_PATH; return 0;}
420 #endif /* ndef _CS_PATH */
421 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
422         if (x == _CS_POSIX_V6_ILP32_OFF32_CFLAGS)
423                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
424 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
425 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
426         if (x == _CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
427                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
428 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
429 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
430         if (x == _CS_POSIX_V6_ILP32_OFF32_LIBS)
431                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
432 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
433 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
434         if (x == _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
435                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
436 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
437 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
438         if (x == _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
439                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
440 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
441 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
442         if (x == _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
443                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
444 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
445 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
446         if (x == _CS_POSIX_V6_ILP32_OFFBIG_LIBS)
447                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
448 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
449 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
450         if (x == _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
451                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
452 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
453 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
454         if (x == _CS_POSIX_V6_LP64_OFF64_CFLAGS)
455                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
456 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
457 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
458         if (x == _CS_POSIX_V6_LP64_OFF64_LDFLAGS)
459                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
460 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
461 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
462         if (x == _CS_POSIX_V6_LP64_OFF64_LIBS)
463                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
464 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
465 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
466         if (x == _CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
467                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
468 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
469 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
470         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
471                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
472 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
473 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
474         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
475                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
476 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
477 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
478         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
479                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
480 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
481 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
482         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
483                 {*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
484 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
485 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
486         if (x == _CS_V6_WIDTH_RESTRICTED_ENVS)
487                 {*r = Mono_Posix_ConfStr__CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
488 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
489 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
490         if (x == _CS_XBS5_ILP32_OFF32_CFLAGS)
491                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
492 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
493 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
494         if (x == _CS_XBS5_ILP32_OFF32_LDFLAGS)
495                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
496 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
497 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
498         if (x == _CS_XBS5_ILP32_OFF32_LIBS)
499                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LIBS; return 0;}
500 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
501 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
502         if (x == _CS_XBS5_ILP32_OFF32_LINTFLAGS)
503                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
504 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
505 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
506         if (x == _CS_XBS5_ILP32_OFFBIG_CFLAGS)
507                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
508 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
509 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
510         if (x == _CS_XBS5_ILP32_OFFBIG_LDFLAGS)
511                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
512 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
513 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
514         if (x == _CS_XBS5_ILP32_OFFBIG_LIBS)
515                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
516 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
517 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
518         if (x == _CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
519                 {*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
520 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
521 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
522         if (x == _CS_XBS5_LP64_OFF64_CFLAGS)
523                 {*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
524 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
525 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
526         if (x == _CS_XBS5_LP64_OFF64_LDFLAGS)
527                 {*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
528 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
529 #ifdef _CS_XBS5_LP64_OFF64_LIBS
530         if (x == _CS_XBS5_LP64_OFF64_LIBS)
531                 {*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LIBS; return 0;}
532 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
533 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
534         if (x == _CS_XBS5_LP64_OFF64_LINTFLAGS)
535                 {*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
536 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
537 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
538         if (x == _CS_XBS5_LPBIG_OFFBIG_CFLAGS)
539                 {*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
540 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
541 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
542         if (x == _CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
543                 {*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
544 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
545 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
546         if (x == _CS_XBS5_LPBIG_OFFBIG_LIBS)
547                 {*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
548 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
549 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
550         if (x == _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
551                 {*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
552 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
553         errno = EINVAL; return -1;
554 }
555
556 int Mono_Posix_FromError (int x, int *r)
557 {
558         *r = 0;
559         if (x == 0)
560                 return 0;
561         if (x == Mono_Posix_Error_E2BIG)
562 #ifdef E2BIG
563                 {*r = E2BIG; return 0;}
564 #else /* def E2BIG */
565                 {errno = EINVAL; return -1;}
566 #endif /* ndef E2BIG */
567         if (x == Mono_Posix_Error_EACCES)
568 #ifdef EACCES
569                 {*r = EACCES; return 0;}
570 #else /* def EACCES */
571                 {errno = EINVAL; return -1;}
572 #endif /* ndef EACCES */
573         if (x == Mono_Posix_Error_EADDRINUSE)
574 #ifdef EADDRINUSE
575                 {*r = EADDRINUSE; return 0;}
576 #else /* def EADDRINUSE */
577                 {errno = EINVAL; return -1;}
578 #endif /* ndef EADDRINUSE */
579         if (x == Mono_Posix_Error_EADDRNOTAVAIL)
580 #ifdef EADDRNOTAVAIL
581                 {*r = EADDRNOTAVAIL; return 0;}
582 #else /* def EADDRNOTAVAIL */
583                 {errno = EINVAL; return -1;}
584 #endif /* ndef EADDRNOTAVAIL */
585         if (x == Mono_Posix_Error_EADV)
586 #ifdef EADV
587                 {*r = EADV; return 0;}
588 #else /* def EADV */
589                 {errno = EINVAL; return -1;}
590 #endif /* ndef EADV */
591         if (x == Mono_Posix_Error_EAFNOSUPPORT)
592 #ifdef EAFNOSUPPORT
593                 {*r = EAFNOSUPPORT; return 0;}
594 #else /* def EAFNOSUPPORT */
595                 {errno = EINVAL; return -1;}
596 #endif /* ndef EAFNOSUPPORT */
597         if (x == Mono_Posix_Error_EAGAIN)
598 #ifdef EAGAIN
599                 {*r = EAGAIN; return 0;}
600 #else /* def EAGAIN */
601                 {errno = EINVAL; return -1;}
602 #endif /* ndef EAGAIN */
603         if (x == Mono_Posix_Error_EALREADY)
604 #ifdef EALREADY
605                 {*r = EALREADY; return 0;}
606 #else /* def EALREADY */
607                 {errno = EINVAL; return -1;}
608 #endif /* ndef EALREADY */
609         if (x == Mono_Posix_Error_EBADE)
610 #ifdef EBADE
611                 {*r = EBADE; return 0;}
612 #else /* def EBADE */
613                 {errno = EINVAL; return -1;}
614 #endif /* ndef EBADE */
615         if (x == Mono_Posix_Error_EBADF)
616 #ifdef EBADF
617                 {*r = EBADF; return 0;}
618 #else /* def EBADF */
619                 {errno = EINVAL; return -1;}
620 #endif /* ndef EBADF */
621         if (x == Mono_Posix_Error_EBADFD)
622 #ifdef EBADFD
623                 {*r = EBADFD; return 0;}
624 #else /* def EBADFD */
625                 {errno = EINVAL; return -1;}
626 #endif /* ndef EBADFD */
627         if (x == Mono_Posix_Error_EBADMSG)
628 #ifdef EBADMSG
629                 {*r = EBADMSG; return 0;}
630 #else /* def EBADMSG */
631                 {errno = EINVAL; return -1;}
632 #endif /* ndef EBADMSG */
633         if (x == Mono_Posix_Error_EBADR)
634 #ifdef EBADR
635                 {*r = EBADR; return 0;}
636 #else /* def EBADR */
637                 {errno = EINVAL; return -1;}
638 #endif /* ndef EBADR */
639         if (x == Mono_Posix_Error_EBADRQC)
640 #ifdef EBADRQC
641                 {*r = EBADRQC; return 0;}
642 #else /* def EBADRQC */
643                 {errno = EINVAL; return -1;}
644 #endif /* ndef EBADRQC */
645         if (x == Mono_Posix_Error_EBADSLT)
646 #ifdef EBADSLT
647                 {*r = EBADSLT; return 0;}
648 #else /* def EBADSLT */
649                 {errno = EINVAL; return -1;}
650 #endif /* ndef EBADSLT */
651         if (x == Mono_Posix_Error_EBFONT)
652 #ifdef EBFONT
653                 {*r = EBFONT; return 0;}
654 #else /* def EBFONT */
655                 {errno = EINVAL; return -1;}
656 #endif /* ndef EBFONT */
657         if (x == Mono_Posix_Error_EBUSY)
658 #ifdef EBUSY
659                 {*r = EBUSY; return 0;}
660 #else /* def EBUSY */
661                 {errno = EINVAL; return -1;}
662 #endif /* ndef EBUSY */
663         if (x == Mono_Posix_Error_ECHILD)
664 #ifdef ECHILD
665                 {*r = ECHILD; return 0;}
666 #else /* def ECHILD */
667                 {errno = EINVAL; return -1;}
668 #endif /* ndef ECHILD */
669         if (x == Mono_Posix_Error_ECHRNG)
670 #ifdef ECHRNG
671                 {*r = ECHRNG; return 0;}
672 #else /* def ECHRNG */
673                 {errno = EINVAL; return -1;}
674 #endif /* ndef ECHRNG */
675         if (x == Mono_Posix_Error_ECOMM)
676 #ifdef ECOMM
677                 {*r = ECOMM; return 0;}
678 #else /* def ECOMM */
679                 {errno = EINVAL; return -1;}
680 #endif /* ndef ECOMM */
681         if (x == Mono_Posix_Error_ECONNABORTED)
682 #ifdef ECONNABORTED
683                 {*r = ECONNABORTED; return 0;}
684 #else /* def ECONNABORTED */
685                 {errno = EINVAL; return -1;}
686 #endif /* ndef ECONNABORTED */
687         if (x == Mono_Posix_Error_ECONNREFUSED)
688 #ifdef ECONNREFUSED
689                 {*r = ECONNREFUSED; return 0;}
690 #else /* def ECONNREFUSED */
691                 {errno = EINVAL; return -1;}
692 #endif /* ndef ECONNREFUSED */
693         if (x == Mono_Posix_Error_ECONNRESET)
694 #ifdef ECONNRESET
695                 {*r = ECONNRESET; return 0;}
696 #else /* def ECONNRESET */
697                 {errno = EINVAL; return -1;}
698 #endif /* ndef ECONNRESET */
699         if (x == Mono_Posix_Error_EDEADLK)
700 #ifdef EDEADLK
701                 {*r = EDEADLK; return 0;}
702 #else /* def EDEADLK */
703                 {errno = EINVAL; return -1;}
704 #endif /* ndef EDEADLK */
705         if (x == Mono_Posix_Error_EDEADLOCK)
706 #ifdef EDEADLOCK
707                 {*r = EDEADLOCK; return 0;}
708 #else /* def EDEADLOCK */
709                 {errno = EINVAL; return -1;}
710 #endif /* ndef EDEADLOCK */
711         if (x == Mono_Posix_Error_EDESTADDRREQ)
712 #ifdef EDESTADDRREQ
713                 {*r = EDESTADDRREQ; return 0;}
714 #else /* def EDESTADDRREQ */
715                 {errno = EINVAL; return -1;}
716 #endif /* ndef EDESTADDRREQ */
717         if (x == Mono_Posix_Error_EDOM)
718 #ifdef EDOM
719                 {*r = EDOM; return 0;}
720 #else /* def EDOM */
721                 {errno = EINVAL; return -1;}
722 #endif /* ndef EDOM */
723         if (x == Mono_Posix_Error_EDOTDOT)
724 #ifdef EDOTDOT
725                 {*r = EDOTDOT; return 0;}
726 #else /* def EDOTDOT */
727                 {errno = EINVAL; return -1;}
728 #endif /* ndef EDOTDOT */
729         if (x == Mono_Posix_Error_EDQUOT)
730 #ifdef EDQUOT
731                 {*r = EDQUOT; return 0;}
732 #else /* def EDQUOT */
733                 {errno = EINVAL; return -1;}
734 #endif /* ndef EDQUOT */
735         if (x == Mono_Posix_Error_EEXIST)
736 #ifdef EEXIST
737                 {*r = EEXIST; return 0;}
738 #else /* def EEXIST */
739                 {errno = EINVAL; return -1;}
740 #endif /* ndef EEXIST */
741         if (x == Mono_Posix_Error_EFAULT)
742 #ifdef EFAULT
743                 {*r = EFAULT; return 0;}
744 #else /* def EFAULT */
745                 {errno = EINVAL; return -1;}
746 #endif /* ndef EFAULT */
747         if (x == Mono_Posix_Error_EFBIG)
748 #ifdef EFBIG
749                 {*r = EFBIG; return 0;}
750 #else /* def EFBIG */
751                 {errno = EINVAL; return -1;}
752 #endif /* ndef EFBIG */
753         if (x == Mono_Posix_Error_EHOSTDOWN)
754 #ifdef EHOSTDOWN
755                 {*r = EHOSTDOWN; return 0;}
756 #else /* def EHOSTDOWN */
757                 {errno = EINVAL; return -1;}
758 #endif /* ndef EHOSTDOWN */
759         if (x == Mono_Posix_Error_EHOSTUNREACH)
760 #ifdef EHOSTUNREACH
761                 {*r = EHOSTUNREACH; return 0;}
762 #else /* def EHOSTUNREACH */
763                 {errno = EINVAL; return -1;}
764 #endif /* ndef EHOSTUNREACH */
765         if (x == Mono_Posix_Error_EIDRM)
766 #ifdef EIDRM
767                 {*r = EIDRM; return 0;}
768 #else /* def EIDRM */
769                 {errno = EINVAL; return -1;}
770 #endif /* ndef EIDRM */
771         if (x == Mono_Posix_Error_EILSEQ)
772 #ifdef EILSEQ
773                 {*r = EILSEQ; return 0;}
774 #else /* def EILSEQ */
775                 {errno = EINVAL; return -1;}
776 #endif /* ndef EILSEQ */
777         if (x == Mono_Posix_Error_EINPROGRESS)
778 #ifdef EINPROGRESS
779                 {*r = EINPROGRESS; return 0;}
780 #else /* def EINPROGRESS */
781                 {errno = EINVAL; return -1;}
782 #endif /* ndef EINPROGRESS */
783         if (x == Mono_Posix_Error_EINTR)
784 #ifdef EINTR
785                 {*r = EINTR; return 0;}
786 #else /* def EINTR */
787                 {errno = EINVAL; return -1;}
788 #endif /* ndef EINTR */
789         if (x == Mono_Posix_Error_EINVAL)
790 #ifdef EINVAL
791                 {*r = EINVAL; return 0;}
792 #else /* def EINVAL */
793                 {errno = EINVAL; return -1;}
794 #endif /* ndef EINVAL */
795         if (x == Mono_Posix_Error_EIO)
796 #ifdef EIO
797                 {*r = EIO; return 0;}
798 #else /* def EIO */
799                 {errno = EINVAL; return -1;}
800 #endif /* ndef EIO */
801         if (x == Mono_Posix_Error_EISCONN)
802 #ifdef EISCONN
803                 {*r = EISCONN; return 0;}
804 #else /* def EISCONN */
805                 {errno = EINVAL; return -1;}
806 #endif /* ndef EISCONN */
807         if (x == Mono_Posix_Error_EISDIR)
808 #ifdef EISDIR
809                 {*r = EISDIR; return 0;}
810 #else /* def EISDIR */
811                 {errno = EINVAL; return -1;}
812 #endif /* ndef EISDIR */
813         if (x == Mono_Posix_Error_EISNAM)
814 #ifdef EISNAM
815                 {*r = EISNAM; return 0;}
816 #else /* def EISNAM */
817                 {errno = EINVAL; return -1;}
818 #endif /* ndef EISNAM */
819         if (x == Mono_Posix_Error_EL2HLT)
820 #ifdef EL2HLT
821                 {*r = EL2HLT; return 0;}
822 #else /* def EL2HLT */
823                 {errno = EINVAL; return -1;}
824 #endif /* ndef EL2HLT */
825         if (x == Mono_Posix_Error_EL2NSYNC)
826 #ifdef EL2NSYNC
827                 {*r = EL2NSYNC; return 0;}
828 #else /* def EL2NSYNC */
829                 {errno = EINVAL; return -1;}
830 #endif /* ndef EL2NSYNC */
831         if (x == Mono_Posix_Error_EL3HLT)
832 #ifdef EL3HLT
833                 {*r = EL3HLT; return 0;}
834 #else /* def EL3HLT */
835                 {errno = EINVAL; return -1;}
836 #endif /* ndef EL3HLT */
837         if (x == Mono_Posix_Error_EL3RST)
838 #ifdef EL3RST
839                 {*r = EL3RST; return 0;}
840 #else /* def EL3RST */
841                 {errno = EINVAL; return -1;}
842 #endif /* ndef EL3RST */
843         if (x == Mono_Posix_Error_ELIBACC)
844 #ifdef ELIBACC
845                 {*r = ELIBACC; return 0;}
846 #else /* def ELIBACC */
847                 {errno = EINVAL; return -1;}
848 #endif /* ndef ELIBACC */
849         if (x == Mono_Posix_Error_ELIBBAD)
850 #ifdef ELIBBAD
851                 {*r = ELIBBAD; return 0;}
852 #else /* def ELIBBAD */
853                 {errno = EINVAL; return -1;}
854 #endif /* ndef ELIBBAD */
855         if (x == Mono_Posix_Error_ELIBEXEC)
856 #ifdef ELIBEXEC
857                 {*r = ELIBEXEC; return 0;}
858 #else /* def ELIBEXEC */
859                 {errno = EINVAL; return -1;}
860 #endif /* ndef ELIBEXEC */
861         if (x == Mono_Posix_Error_ELIBMAX)
862 #ifdef ELIBMAX
863                 {*r = ELIBMAX; return 0;}
864 #else /* def ELIBMAX */
865                 {errno = EINVAL; return -1;}
866 #endif /* ndef ELIBMAX */
867         if (x == Mono_Posix_Error_ELIBSCN)
868 #ifdef ELIBSCN
869                 {*r = ELIBSCN; return 0;}
870 #else /* def ELIBSCN */
871                 {errno = EINVAL; return -1;}
872 #endif /* ndef ELIBSCN */
873         if (x == Mono_Posix_Error_ELNRNG)
874 #ifdef ELNRNG
875                 {*r = ELNRNG; return 0;}
876 #else /* def ELNRNG */
877                 {errno = EINVAL; return -1;}
878 #endif /* ndef ELNRNG */
879         if (x == Mono_Posix_Error_ELOOP)
880 #ifdef ELOOP
881                 {*r = ELOOP; return 0;}
882 #else /* def ELOOP */
883                 {errno = EINVAL; return -1;}
884 #endif /* ndef ELOOP */
885         if (x == Mono_Posix_Error_EMEDIUMTYPE)
886 #ifdef EMEDIUMTYPE
887                 {*r = EMEDIUMTYPE; return 0;}
888 #else /* def EMEDIUMTYPE */
889                 {errno = EINVAL; return -1;}
890 #endif /* ndef EMEDIUMTYPE */
891         if (x == Mono_Posix_Error_EMFILE)
892 #ifdef EMFILE
893                 {*r = EMFILE; return 0;}
894 #else /* def EMFILE */
895                 {errno = EINVAL; return -1;}
896 #endif /* ndef EMFILE */
897         if (x == Mono_Posix_Error_EMLINK)
898 #ifdef EMLINK
899                 {*r = EMLINK; return 0;}
900 #else /* def EMLINK */
901                 {errno = EINVAL; return -1;}
902 #endif /* ndef EMLINK */
903         if (x == Mono_Posix_Error_EMSGSIZE)
904 #ifdef EMSGSIZE
905                 {*r = EMSGSIZE; return 0;}
906 #else /* def EMSGSIZE */
907                 {errno = EINVAL; return -1;}
908 #endif /* ndef EMSGSIZE */
909         if (x == Mono_Posix_Error_EMULTIHOP)
910 #ifdef EMULTIHOP
911                 {*r = EMULTIHOP; return 0;}
912 #else /* def EMULTIHOP */
913                 {errno = EINVAL; return -1;}
914 #endif /* ndef EMULTIHOP */
915         if (x == Mono_Posix_Error_ENAMETOOLONG)
916 #ifdef ENAMETOOLONG
917                 {*r = ENAMETOOLONG; return 0;}
918 #else /* def ENAMETOOLONG */
919                 {errno = EINVAL; return -1;}
920 #endif /* ndef ENAMETOOLONG */
921         if (x == Mono_Posix_Error_ENAVAIL)
922 #ifdef ENAVAIL
923                 {*r = ENAVAIL; return 0;}
924 #else /* def ENAVAIL */
925                 {errno = EINVAL; return -1;}
926 #endif /* ndef ENAVAIL */
927         if (x == Mono_Posix_Error_ENETDOWN)
928 #ifdef ENETDOWN
929                 {*r = ENETDOWN; return 0;}
930 #else /* def ENETDOWN */
931                 {errno = EINVAL; return -1;}
932 #endif /* ndef ENETDOWN */
933         if (x == Mono_Posix_Error_ENETRESET)
934 #ifdef ENETRESET
935                 {*r = ENETRESET; return 0;}
936 #else /* def ENETRESET */
937                 {errno = EINVAL; return -1;}
938 #endif /* ndef ENETRESET */
939         if (x == Mono_Posix_Error_ENETUNREACH)
940 #ifdef ENETUNREACH
941                 {*r = ENETUNREACH; return 0;}
942 #else /* def ENETUNREACH */
943                 {errno = EINVAL; return -1;}
944 #endif /* ndef ENETUNREACH */
945         if (x == Mono_Posix_Error_ENFILE)
946 #ifdef ENFILE
947                 {*r = ENFILE; return 0;}
948 #else /* def ENFILE */
949                 {errno = EINVAL; return -1;}
950 #endif /* ndef ENFILE */
951         if (x == Mono_Posix_Error_ENOANO)
952 #ifdef ENOANO
953                 {*r = ENOANO; return 0;}
954 #else /* def ENOANO */
955                 {errno = EINVAL; return -1;}
956 #endif /* ndef ENOANO */
957         if (x == Mono_Posix_Error_ENOBUFS)
958 #ifdef ENOBUFS
959                 {*r = ENOBUFS; return 0;}
960 #else /* def ENOBUFS */
961                 {errno = EINVAL; return -1;}
962 #endif /* ndef ENOBUFS */
963         if (x == Mono_Posix_Error_ENOCSI)
964 #ifdef ENOCSI
965                 {*r = ENOCSI; return 0;}
966 #else /* def ENOCSI */
967                 {errno = EINVAL; return -1;}
968 #endif /* ndef ENOCSI */
969         if (x == Mono_Posix_Error_ENODATA)
970 #ifdef ENODATA
971                 {*r = ENODATA; return 0;}
972 #else /* def ENODATA */
973                 {errno = EINVAL; return -1;}
974 #endif /* ndef ENODATA */
975         if (x == Mono_Posix_Error_ENODEV)
976 #ifdef ENODEV
977                 {*r = ENODEV; return 0;}
978 #else /* def ENODEV */
979                 {errno = EINVAL; return -1;}
980 #endif /* ndef ENODEV */
981         if (x == Mono_Posix_Error_ENOENT)
982 #ifdef ENOENT
983                 {*r = ENOENT; return 0;}
984 #else /* def ENOENT */
985                 {errno = EINVAL; return -1;}
986 #endif /* ndef ENOENT */
987         if (x == Mono_Posix_Error_ENOEXEC)
988 #ifdef ENOEXEC
989                 {*r = ENOEXEC; return 0;}
990 #else /* def ENOEXEC */
991                 {errno = EINVAL; return -1;}
992 #endif /* ndef ENOEXEC */
993         if (x == Mono_Posix_Error_ENOLCK)
994 #ifdef ENOLCK
995                 {*r = ENOLCK; return 0;}
996 #else /* def ENOLCK */
997                 {errno = EINVAL; return -1;}
998 #endif /* ndef ENOLCK */
999         if (x == Mono_Posix_Error_ENOLINK)
1000 #ifdef ENOLINK
1001                 {*r = ENOLINK; return 0;}
1002 #else /* def ENOLINK */
1003                 {errno = EINVAL; return -1;}
1004 #endif /* ndef ENOLINK */
1005         if (x == Mono_Posix_Error_ENOMEDIUM)
1006 #ifdef ENOMEDIUM
1007                 {*r = ENOMEDIUM; return 0;}
1008 #else /* def ENOMEDIUM */
1009                 {errno = EINVAL; return -1;}
1010 #endif /* ndef ENOMEDIUM */
1011         if (x == Mono_Posix_Error_ENOMEM)
1012 #ifdef ENOMEM
1013                 {*r = ENOMEM; return 0;}
1014 #else /* def ENOMEM */
1015                 {errno = EINVAL; return -1;}
1016 #endif /* ndef ENOMEM */
1017         if (x == Mono_Posix_Error_ENOMSG)
1018 #ifdef ENOMSG
1019                 {*r = ENOMSG; return 0;}
1020 #else /* def ENOMSG */
1021                 {errno = EINVAL; return -1;}
1022 #endif /* ndef ENOMSG */
1023         if (x == Mono_Posix_Error_ENONET)
1024 #ifdef ENONET
1025                 {*r = ENONET; return 0;}
1026 #else /* def ENONET */
1027                 {errno = EINVAL; return -1;}
1028 #endif /* ndef ENONET */
1029         if (x == Mono_Posix_Error_ENOPKG)
1030 #ifdef ENOPKG
1031                 {*r = ENOPKG; return 0;}
1032 #else /* def ENOPKG */
1033                 {errno = EINVAL; return -1;}
1034 #endif /* ndef ENOPKG */
1035         if (x == Mono_Posix_Error_ENOPROTOOPT)
1036 #ifdef ENOPROTOOPT
1037                 {*r = ENOPROTOOPT; return 0;}
1038 #else /* def ENOPROTOOPT */
1039                 {errno = EINVAL; return -1;}
1040 #endif /* ndef ENOPROTOOPT */
1041         if (x == Mono_Posix_Error_ENOSPC)
1042 #ifdef ENOSPC
1043                 {*r = ENOSPC; return 0;}
1044 #else /* def ENOSPC */
1045                 {errno = EINVAL; return -1;}
1046 #endif /* ndef ENOSPC */
1047         if (x == Mono_Posix_Error_ENOSR)
1048 #ifdef ENOSR
1049                 {*r = ENOSR; return 0;}
1050 #else /* def ENOSR */
1051                 {errno = EINVAL; return -1;}
1052 #endif /* ndef ENOSR */
1053         if (x == Mono_Posix_Error_ENOSTR)
1054 #ifdef ENOSTR
1055                 {*r = ENOSTR; return 0;}
1056 #else /* def ENOSTR */
1057                 {errno = EINVAL; return -1;}
1058 #endif /* ndef ENOSTR */
1059         if (x == Mono_Posix_Error_ENOSYS)
1060 #ifdef ENOSYS
1061                 {*r = ENOSYS; return 0;}
1062 #else /* def ENOSYS */
1063                 {errno = EINVAL; return -1;}
1064 #endif /* ndef ENOSYS */
1065         if (x == Mono_Posix_Error_ENOTBLK)
1066 #ifdef ENOTBLK
1067                 {*r = ENOTBLK; return 0;}
1068 #else /* def ENOTBLK */
1069                 {errno = EINVAL; return -1;}
1070 #endif /* ndef ENOTBLK */
1071         if (x == Mono_Posix_Error_ENOTCONN)
1072 #ifdef ENOTCONN
1073                 {*r = ENOTCONN; return 0;}
1074 #else /* def ENOTCONN */
1075                 {errno = EINVAL; return -1;}
1076 #endif /* ndef ENOTCONN */
1077         if (x == Mono_Posix_Error_ENOTDIR)
1078 #ifdef ENOTDIR
1079                 {*r = ENOTDIR; return 0;}
1080 #else /* def ENOTDIR */
1081                 {errno = EINVAL; return -1;}
1082 #endif /* ndef ENOTDIR */
1083         if (x == Mono_Posix_Error_ENOTEMPTY)
1084 #ifdef ENOTEMPTY
1085                 {*r = ENOTEMPTY; return 0;}
1086 #else /* def ENOTEMPTY */
1087                 {errno = EINVAL; return -1;}
1088 #endif /* ndef ENOTEMPTY */
1089         if (x == Mono_Posix_Error_ENOTNAM)
1090 #ifdef ENOTNAM
1091                 {*r = ENOTNAM; return 0;}
1092 #else /* def ENOTNAM */
1093                 {errno = EINVAL; return -1;}
1094 #endif /* ndef ENOTNAM */
1095         if (x == Mono_Posix_Error_ENOTSOCK)
1096 #ifdef ENOTSOCK
1097                 {*r = ENOTSOCK; return 0;}
1098 #else /* def ENOTSOCK */
1099                 {errno = EINVAL; return -1;}
1100 #endif /* ndef ENOTSOCK */
1101         if (x == Mono_Posix_Error_ENOTTY)
1102 #ifdef ENOTTY
1103                 {*r = ENOTTY; return 0;}
1104 #else /* def ENOTTY */
1105                 {errno = EINVAL; return -1;}
1106 #endif /* ndef ENOTTY */
1107         if (x == Mono_Posix_Error_ENOTUNIQ)
1108 #ifdef ENOTUNIQ
1109                 {*r = ENOTUNIQ; return 0;}
1110 #else /* def ENOTUNIQ */
1111                 {errno = EINVAL; return -1;}
1112 #endif /* ndef ENOTUNIQ */
1113         if (x == Mono_Posix_Error_ENXIO)
1114 #ifdef ENXIO
1115                 {*r = ENXIO; return 0;}
1116 #else /* def ENXIO */
1117                 {errno = EINVAL; return -1;}
1118 #endif /* ndef ENXIO */
1119         if (x == Mono_Posix_Error_EOPNOTSUPP)
1120 #ifdef EOPNOTSUPP
1121                 {*r = EOPNOTSUPP; return 0;}
1122 #else /* def EOPNOTSUPP */
1123                 {errno = EINVAL; return -1;}
1124 #endif /* ndef EOPNOTSUPP */
1125         if (x == Mono_Posix_Error_EOVERFLOW)
1126 #ifdef EOVERFLOW
1127                 {*r = EOVERFLOW; return 0;}
1128 #else /* def EOVERFLOW */
1129                 {errno = EINVAL; return -1;}
1130 #endif /* ndef EOVERFLOW */
1131         if (x == Mono_Posix_Error_EPERM)
1132 #ifdef EPERM
1133                 {*r = EPERM; return 0;}
1134 #else /* def EPERM */
1135                 {errno = EINVAL; return -1;}
1136 #endif /* ndef EPERM */
1137         if (x == Mono_Posix_Error_EPFNOSUPPORT)
1138 #ifdef EPFNOSUPPORT
1139                 {*r = EPFNOSUPPORT; return 0;}
1140 #else /* def EPFNOSUPPORT */
1141                 {errno = EINVAL; return -1;}
1142 #endif /* ndef EPFNOSUPPORT */
1143         if (x == Mono_Posix_Error_EPIPE)
1144 #ifdef EPIPE
1145                 {*r = EPIPE; return 0;}
1146 #else /* def EPIPE */
1147                 {errno = EINVAL; return -1;}
1148 #endif /* ndef EPIPE */
1149         if (x == Mono_Posix_Error_EPROTO)
1150 #ifdef EPROTO
1151                 {*r = EPROTO; return 0;}
1152 #else /* def EPROTO */
1153                 {errno = EINVAL; return -1;}
1154 #endif /* ndef EPROTO */
1155         if (x == Mono_Posix_Error_EPROTONOSUPPORT)
1156 #ifdef EPROTONOSUPPORT
1157                 {*r = EPROTONOSUPPORT; return 0;}
1158 #else /* def EPROTONOSUPPORT */
1159                 {errno = EINVAL; return -1;}
1160 #endif /* ndef EPROTONOSUPPORT */
1161         if (x == Mono_Posix_Error_EPROTOTYPE)
1162 #ifdef EPROTOTYPE
1163                 {*r = EPROTOTYPE; return 0;}
1164 #else /* def EPROTOTYPE */
1165                 {errno = EINVAL; return -1;}
1166 #endif /* ndef EPROTOTYPE */
1167         if (x == Mono_Posix_Error_ERANGE)
1168 #ifdef ERANGE
1169                 {*r = ERANGE; return 0;}
1170 #else /* def ERANGE */
1171                 {errno = EINVAL; return -1;}
1172 #endif /* ndef ERANGE */
1173         if (x == Mono_Posix_Error_EREMCHG)
1174 #ifdef EREMCHG
1175                 {*r = EREMCHG; return 0;}
1176 #else /* def EREMCHG */
1177                 {errno = EINVAL; return -1;}
1178 #endif /* ndef EREMCHG */
1179         if (x == Mono_Posix_Error_EREMOTE)
1180 #ifdef EREMOTE
1181                 {*r = EREMOTE; return 0;}
1182 #else /* def EREMOTE */
1183                 {errno = EINVAL; return -1;}
1184 #endif /* ndef EREMOTE */
1185         if (x == Mono_Posix_Error_EREMOTEIO)
1186 #ifdef EREMOTEIO
1187                 {*r = EREMOTEIO; return 0;}
1188 #else /* def EREMOTEIO */
1189                 {errno = EINVAL; return -1;}
1190 #endif /* ndef EREMOTEIO */
1191         if (x == Mono_Posix_Error_ERESTART)
1192 #ifdef ERESTART
1193                 {*r = ERESTART; return 0;}
1194 #else /* def ERESTART */
1195                 {errno = EINVAL; return -1;}
1196 #endif /* ndef ERESTART */
1197         if (x == Mono_Posix_Error_EROFS)
1198 #ifdef EROFS
1199                 {*r = EROFS; return 0;}
1200 #else /* def EROFS */
1201                 {errno = EINVAL; return -1;}
1202 #endif /* ndef EROFS */
1203         if (x == Mono_Posix_Error_ESHUTDOWN)
1204 #ifdef ESHUTDOWN
1205                 {*r = ESHUTDOWN; return 0;}
1206 #else /* def ESHUTDOWN */
1207                 {errno = EINVAL; return -1;}
1208 #endif /* ndef ESHUTDOWN */
1209         if (x == Mono_Posix_Error_ESOCKTNOSUPPORT)
1210 #ifdef ESOCKTNOSUPPORT
1211                 {*r = ESOCKTNOSUPPORT; return 0;}
1212 #else /* def ESOCKTNOSUPPORT */
1213                 {errno = EINVAL; return -1;}
1214 #endif /* ndef ESOCKTNOSUPPORT */
1215         if (x == Mono_Posix_Error_ESPIPE)
1216 #ifdef ESPIPE
1217                 {*r = ESPIPE; return 0;}
1218 #else /* def ESPIPE */
1219                 {errno = EINVAL; return -1;}
1220 #endif /* ndef ESPIPE */
1221         if (x == Mono_Posix_Error_ESRCH)
1222 #ifdef ESRCH
1223                 {*r = ESRCH; return 0;}
1224 #else /* def ESRCH */
1225                 {errno = EINVAL; return -1;}
1226 #endif /* ndef ESRCH */
1227         if (x == Mono_Posix_Error_ESRMNT)
1228 #ifdef ESRMNT
1229                 {*r = ESRMNT; return 0;}
1230 #else /* def ESRMNT */
1231                 {errno = EINVAL; return -1;}
1232 #endif /* ndef ESRMNT */
1233         if (x == Mono_Posix_Error_ESTALE)
1234 #ifdef ESTALE
1235                 {*r = ESTALE; return 0;}
1236 #else /* def ESTALE */
1237                 {errno = EINVAL; return -1;}
1238 #endif /* ndef ESTALE */
1239         if (x == Mono_Posix_Error_ESTRPIPE)
1240 #ifdef ESTRPIPE
1241                 {*r = ESTRPIPE; return 0;}
1242 #else /* def ESTRPIPE */
1243                 {errno = EINVAL; return -1;}
1244 #endif /* ndef ESTRPIPE */
1245         if (x == Mono_Posix_Error_ETIME)
1246 #ifdef ETIME
1247                 {*r = ETIME; return 0;}
1248 #else /* def ETIME */
1249                 {errno = EINVAL; return -1;}
1250 #endif /* ndef ETIME */
1251         if (x == Mono_Posix_Error_ETIMEDOUT)
1252 #ifdef ETIMEDOUT
1253                 {*r = ETIMEDOUT; return 0;}
1254 #else /* def ETIMEDOUT */
1255                 {errno = EINVAL; return -1;}
1256 #endif /* ndef ETIMEDOUT */
1257         if (x == Mono_Posix_Error_ETOOMANYREFS)
1258 #ifdef ETOOMANYREFS
1259                 {*r = ETOOMANYREFS; return 0;}
1260 #else /* def ETOOMANYREFS */
1261                 {errno = EINVAL; return -1;}
1262 #endif /* ndef ETOOMANYREFS */
1263         if (x == Mono_Posix_Error_ETXTBSY)
1264 #ifdef ETXTBSY
1265                 {*r = ETXTBSY; return 0;}
1266 #else /* def ETXTBSY */
1267                 {errno = EINVAL; return -1;}
1268 #endif /* ndef ETXTBSY */
1269         if (x == Mono_Posix_Error_EUCLEAN)
1270 #ifdef EUCLEAN
1271                 {*r = EUCLEAN; return 0;}
1272 #else /* def EUCLEAN */
1273                 {errno = EINVAL; return -1;}
1274 #endif /* ndef EUCLEAN */
1275         if (x == Mono_Posix_Error_EUNATCH)
1276 #ifdef EUNATCH
1277                 {*r = EUNATCH; return 0;}
1278 #else /* def EUNATCH */
1279                 {errno = EINVAL; return -1;}
1280 #endif /* ndef EUNATCH */
1281         if (x == Mono_Posix_Error_EUSERS)
1282 #ifdef EUSERS
1283                 {*r = EUSERS; return 0;}
1284 #else /* def EUSERS */
1285                 {errno = EINVAL; return -1;}
1286 #endif /* ndef EUSERS */
1287         if (x == Mono_Posix_Error_EWOULDBLOCK)
1288 #ifdef EWOULDBLOCK
1289                 {*r = EWOULDBLOCK; return 0;}
1290 #else /* def EWOULDBLOCK */
1291                 {errno = EINVAL; return -1;}
1292 #endif /* ndef EWOULDBLOCK */
1293         if (x == Mono_Posix_Error_EXDEV)
1294 #ifdef EXDEV
1295                 {*r = EXDEV; return 0;}
1296 #else /* def EXDEV */
1297                 {errno = EINVAL; return -1;}
1298 #endif /* ndef EXDEV */
1299         if (x == Mono_Posix_Error_EXFULL)
1300 #ifdef EXFULL
1301                 {*r = EXFULL; return 0;}
1302 #else /* def EXFULL */
1303                 {errno = EINVAL; return -1;}
1304 #endif /* ndef EXFULL */
1305         errno = EINVAL; return -1;
1306 }
1307
1308 int Mono_Posix_ToError (int x, int *r)
1309 {
1310         *r = 0;
1311         if (x == 0)
1312                 return 0;
1313 #ifdef E2BIG
1314         if (x == E2BIG)
1315                 {*r = Mono_Posix_Error_E2BIG; return 0;}
1316 #endif /* ndef E2BIG */
1317 #ifdef EACCES
1318         if (x == EACCES)
1319                 {*r = Mono_Posix_Error_EACCES; return 0;}
1320 #endif /* ndef EACCES */
1321 #ifdef EADDRINUSE
1322         if (x == EADDRINUSE)
1323                 {*r = Mono_Posix_Error_EADDRINUSE; return 0;}
1324 #endif /* ndef EADDRINUSE */
1325 #ifdef EADDRNOTAVAIL
1326         if (x == EADDRNOTAVAIL)
1327                 {*r = Mono_Posix_Error_EADDRNOTAVAIL; return 0;}
1328 #endif /* ndef EADDRNOTAVAIL */
1329 #ifdef EADV
1330         if (x == EADV)
1331                 {*r = Mono_Posix_Error_EADV; return 0;}
1332 #endif /* ndef EADV */
1333 #ifdef EAFNOSUPPORT
1334         if (x == EAFNOSUPPORT)
1335                 {*r = Mono_Posix_Error_EAFNOSUPPORT; return 0;}
1336 #endif /* ndef EAFNOSUPPORT */
1337 #ifdef EAGAIN
1338         if (x == EAGAIN)
1339                 {*r = Mono_Posix_Error_EAGAIN; return 0;}
1340 #endif /* ndef EAGAIN */
1341 #ifdef EALREADY
1342         if (x == EALREADY)
1343                 {*r = Mono_Posix_Error_EALREADY; return 0;}
1344 #endif /* ndef EALREADY */
1345 #ifdef EBADE
1346         if (x == EBADE)
1347                 {*r = Mono_Posix_Error_EBADE; return 0;}
1348 #endif /* ndef EBADE */
1349 #ifdef EBADF
1350         if (x == EBADF)
1351                 {*r = Mono_Posix_Error_EBADF; return 0;}
1352 #endif /* ndef EBADF */
1353 #ifdef EBADFD
1354         if (x == EBADFD)
1355                 {*r = Mono_Posix_Error_EBADFD; return 0;}
1356 #endif /* ndef EBADFD */
1357 #ifdef EBADMSG
1358         if (x == EBADMSG)
1359                 {*r = Mono_Posix_Error_EBADMSG; return 0;}
1360 #endif /* ndef EBADMSG */
1361 #ifdef EBADR
1362         if (x == EBADR)
1363                 {*r = Mono_Posix_Error_EBADR; return 0;}
1364 #endif /* ndef EBADR */
1365 #ifdef EBADRQC
1366         if (x == EBADRQC)
1367                 {*r = Mono_Posix_Error_EBADRQC; return 0;}
1368 #endif /* ndef EBADRQC */
1369 #ifdef EBADSLT
1370         if (x == EBADSLT)
1371                 {*r = Mono_Posix_Error_EBADSLT; return 0;}
1372 #endif /* ndef EBADSLT */
1373 #ifdef EBFONT
1374         if (x == EBFONT)
1375                 {*r = Mono_Posix_Error_EBFONT; return 0;}
1376 #endif /* ndef EBFONT */
1377 #ifdef EBUSY
1378         if (x == EBUSY)
1379                 {*r = Mono_Posix_Error_EBUSY; return 0;}
1380 #endif /* ndef EBUSY */
1381 #ifdef ECHILD
1382         if (x == ECHILD)
1383                 {*r = Mono_Posix_Error_ECHILD; return 0;}
1384 #endif /* ndef ECHILD */
1385 #ifdef ECHRNG
1386         if (x == ECHRNG)
1387                 {*r = Mono_Posix_Error_ECHRNG; return 0;}
1388 #endif /* ndef ECHRNG */
1389 #ifdef ECOMM
1390         if (x == ECOMM)
1391                 {*r = Mono_Posix_Error_ECOMM; return 0;}
1392 #endif /* ndef ECOMM */
1393 #ifdef ECONNABORTED
1394         if (x == ECONNABORTED)
1395                 {*r = Mono_Posix_Error_ECONNABORTED; return 0;}
1396 #endif /* ndef ECONNABORTED */
1397 #ifdef ECONNREFUSED
1398         if (x == ECONNREFUSED)
1399                 {*r = Mono_Posix_Error_ECONNREFUSED; return 0;}
1400 #endif /* ndef ECONNREFUSED */
1401 #ifdef ECONNRESET
1402         if (x == ECONNRESET)
1403                 {*r = Mono_Posix_Error_ECONNRESET; return 0;}
1404 #endif /* ndef ECONNRESET */
1405 #ifdef EDEADLK
1406         if (x == EDEADLK)
1407                 {*r = Mono_Posix_Error_EDEADLK; return 0;}
1408 #endif /* ndef EDEADLK */
1409 #ifdef EDEADLOCK
1410         if (x == EDEADLOCK)
1411                 {*r = Mono_Posix_Error_EDEADLOCK; return 0;}
1412 #endif /* ndef EDEADLOCK */
1413 #ifdef EDESTADDRREQ
1414         if (x == EDESTADDRREQ)
1415                 {*r = Mono_Posix_Error_EDESTADDRREQ; return 0;}
1416 #endif /* ndef EDESTADDRREQ */
1417 #ifdef EDOM
1418         if (x == EDOM)
1419                 {*r = Mono_Posix_Error_EDOM; return 0;}
1420 #endif /* ndef EDOM */
1421 #ifdef EDOTDOT
1422         if (x == EDOTDOT)
1423                 {*r = Mono_Posix_Error_EDOTDOT; return 0;}
1424 #endif /* ndef EDOTDOT */
1425 #ifdef EDQUOT
1426         if (x == EDQUOT)
1427                 {*r = Mono_Posix_Error_EDQUOT; return 0;}
1428 #endif /* ndef EDQUOT */
1429 #ifdef EEXIST
1430         if (x == EEXIST)
1431                 {*r = Mono_Posix_Error_EEXIST; return 0;}
1432 #endif /* ndef EEXIST */
1433 #ifdef EFAULT
1434         if (x == EFAULT)
1435                 {*r = Mono_Posix_Error_EFAULT; return 0;}
1436 #endif /* ndef EFAULT */
1437 #ifdef EFBIG
1438         if (x == EFBIG)
1439                 {*r = Mono_Posix_Error_EFBIG; return 0;}
1440 #endif /* ndef EFBIG */
1441 #ifdef EHOSTDOWN
1442         if (x == EHOSTDOWN)
1443                 {*r = Mono_Posix_Error_EHOSTDOWN; return 0;}
1444 #endif /* ndef EHOSTDOWN */
1445 #ifdef EHOSTUNREACH
1446         if (x == EHOSTUNREACH)
1447                 {*r = Mono_Posix_Error_EHOSTUNREACH; return 0;}
1448 #endif /* ndef EHOSTUNREACH */
1449 #ifdef EIDRM
1450         if (x == EIDRM)
1451                 {*r = Mono_Posix_Error_EIDRM; return 0;}
1452 #endif /* ndef EIDRM */
1453 #ifdef EILSEQ
1454         if (x == EILSEQ)
1455                 {*r = Mono_Posix_Error_EILSEQ; return 0;}
1456 #endif /* ndef EILSEQ */
1457 #ifdef EINPROGRESS
1458         if (x == EINPROGRESS)
1459                 {*r = Mono_Posix_Error_EINPROGRESS; return 0;}
1460 #endif /* ndef EINPROGRESS */
1461 #ifdef EINTR
1462         if (x == EINTR)
1463                 {*r = Mono_Posix_Error_EINTR; return 0;}
1464 #endif /* ndef EINTR */
1465 #ifdef EINVAL
1466         if (x == EINVAL)
1467                 {*r = Mono_Posix_Error_EINVAL; return 0;}
1468 #endif /* ndef EINVAL */
1469 #ifdef EIO
1470         if (x == EIO)
1471                 {*r = Mono_Posix_Error_EIO; return 0;}
1472 #endif /* ndef EIO */
1473 #ifdef EISCONN
1474         if (x == EISCONN)
1475                 {*r = Mono_Posix_Error_EISCONN; return 0;}
1476 #endif /* ndef EISCONN */
1477 #ifdef EISDIR
1478         if (x == EISDIR)
1479                 {*r = Mono_Posix_Error_EISDIR; return 0;}
1480 #endif /* ndef EISDIR */
1481 #ifdef EISNAM
1482         if (x == EISNAM)
1483                 {*r = Mono_Posix_Error_EISNAM; return 0;}
1484 #endif /* ndef EISNAM */
1485 #ifdef EL2HLT
1486         if (x == EL2HLT)
1487                 {*r = Mono_Posix_Error_EL2HLT; return 0;}
1488 #endif /* ndef EL2HLT */
1489 #ifdef EL2NSYNC
1490         if (x == EL2NSYNC)
1491                 {*r = Mono_Posix_Error_EL2NSYNC; return 0;}
1492 #endif /* ndef EL2NSYNC */
1493 #ifdef EL3HLT
1494         if (x == EL3HLT)
1495                 {*r = Mono_Posix_Error_EL3HLT; return 0;}
1496 #endif /* ndef EL3HLT */
1497 #ifdef EL3RST
1498         if (x == EL3RST)
1499                 {*r = Mono_Posix_Error_EL3RST; return 0;}
1500 #endif /* ndef EL3RST */
1501 #ifdef ELIBACC
1502         if (x == ELIBACC)
1503                 {*r = Mono_Posix_Error_ELIBACC; return 0;}
1504 #endif /* ndef ELIBACC */
1505 #ifdef ELIBBAD
1506         if (x == ELIBBAD)
1507                 {*r = Mono_Posix_Error_ELIBBAD; return 0;}
1508 #endif /* ndef ELIBBAD */
1509 #ifdef ELIBEXEC
1510         if (x == ELIBEXEC)
1511                 {*r = Mono_Posix_Error_ELIBEXEC; return 0;}
1512 #endif /* ndef ELIBEXEC */
1513 #ifdef ELIBMAX
1514         if (x == ELIBMAX)
1515                 {*r = Mono_Posix_Error_ELIBMAX; return 0;}
1516 #endif /* ndef ELIBMAX */
1517 #ifdef ELIBSCN
1518         if (x == ELIBSCN)
1519                 {*r = Mono_Posix_Error_ELIBSCN; return 0;}
1520 #endif /* ndef ELIBSCN */
1521 #ifdef ELNRNG
1522         if (x == ELNRNG)
1523                 {*r = Mono_Posix_Error_ELNRNG; return 0;}
1524 #endif /* ndef ELNRNG */
1525 #ifdef ELOOP
1526         if (x == ELOOP)
1527                 {*r = Mono_Posix_Error_ELOOP; return 0;}
1528 #endif /* ndef ELOOP */
1529 #ifdef EMEDIUMTYPE
1530         if (x == EMEDIUMTYPE)
1531                 {*r = Mono_Posix_Error_EMEDIUMTYPE; return 0;}
1532 #endif /* ndef EMEDIUMTYPE */
1533 #ifdef EMFILE
1534         if (x == EMFILE)
1535                 {*r = Mono_Posix_Error_EMFILE; return 0;}
1536 #endif /* ndef EMFILE */
1537 #ifdef EMLINK
1538         if (x == EMLINK)
1539                 {*r = Mono_Posix_Error_EMLINK; return 0;}
1540 #endif /* ndef EMLINK */
1541 #ifdef EMSGSIZE
1542         if (x == EMSGSIZE)
1543                 {*r = Mono_Posix_Error_EMSGSIZE; return 0;}
1544 #endif /* ndef EMSGSIZE */
1545 #ifdef EMULTIHOP
1546         if (x == EMULTIHOP)
1547                 {*r = Mono_Posix_Error_EMULTIHOP; return 0;}
1548 #endif /* ndef EMULTIHOP */
1549 #ifdef ENAMETOOLONG
1550         if (x == ENAMETOOLONG)
1551                 {*r = Mono_Posix_Error_ENAMETOOLONG; return 0;}
1552 #endif /* ndef ENAMETOOLONG */
1553 #ifdef ENAVAIL
1554         if (x == ENAVAIL)
1555                 {*r = Mono_Posix_Error_ENAVAIL; return 0;}
1556 #endif /* ndef ENAVAIL */
1557 #ifdef ENETDOWN
1558         if (x == ENETDOWN)
1559                 {*r = Mono_Posix_Error_ENETDOWN; return 0;}
1560 #endif /* ndef ENETDOWN */
1561 #ifdef ENETRESET
1562         if (x == ENETRESET)
1563                 {*r = Mono_Posix_Error_ENETRESET; return 0;}
1564 #endif /* ndef ENETRESET */
1565 #ifdef ENETUNREACH
1566         if (x == ENETUNREACH)
1567                 {*r = Mono_Posix_Error_ENETUNREACH; return 0;}
1568 #endif /* ndef ENETUNREACH */
1569 #ifdef ENFILE
1570         if (x == ENFILE)
1571                 {*r = Mono_Posix_Error_ENFILE; return 0;}
1572 #endif /* ndef ENFILE */
1573 #ifdef ENOANO
1574         if (x == ENOANO)
1575                 {*r = Mono_Posix_Error_ENOANO; return 0;}
1576 #endif /* ndef ENOANO */
1577 #ifdef ENOBUFS
1578         if (x == ENOBUFS)
1579                 {*r = Mono_Posix_Error_ENOBUFS; return 0;}
1580 #endif /* ndef ENOBUFS */
1581 #ifdef ENOCSI
1582         if (x == ENOCSI)
1583                 {*r = Mono_Posix_Error_ENOCSI; return 0;}
1584 #endif /* ndef ENOCSI */
1585 #ifdef ENODATA
1586         if (x == ENODATA)
1587                 {*r = Mono_Posix_Error_ENODATA; return 0;}
1588 #endif /* ndef ENODATA */
1589 #ifdef ENODEV
1590         if (x == ENODEV)
1591                 {*r = Mono_Posix_Error_ENODEV; return 0;}
1592 #endif /* ndef ENODEV */
1593 #ifdef ENOENT
1594         if (x == ENOENT)
1595                 {*r = Mono_Posix_Error_ENOENT; return 0;}
1596 #endif /* ndef ENOENT */
1597 #ifdef ENOEXEC
1598         if (x == ENOEXEC)
1599                 {*r = Mono_Posix_Error_ENOEXEC; return 0;}
1600 #endif /* ndef ENOEXEC */
1601 #ifdef ENOLCK
1602         if (x == ENOLCK)
1603                 {*r = Mono_Posix_Error_ENOLCK; return 0;}
1604 #endif /* ndef ENOLCK */
1605 #ifdef ENOLINK
1606         if (x == ENOLINK)
1607                 {*r = Mono_Posix_Error_ENOLINK; return 0;}
1608 #endif /* ndef ENOLINK */
1609 #ifdef ENOMEDIUM
1610         if (x == ENOMEDIUM)
1611                 {*r = Mono_Posix_Error_ENOMEDIUM; return 0;}
1612 #endif /* ndef ENOMEDIUM */
1613 #ifdef ENOMEM
1614         if (x == ENOMEM)
1615                 {*r = Mono_Posix_Error_ENOMEM; return 0;}
1616 #endif /* ndef ENOMEM */
1617 #ifdef ENOMSG
1618         if (x == ENOMSG)
1619                 {*r = Mono_Posix_Error_ENOMSG; return 0;}
1620 #endif /* ndef ENOMSG */
1621 #ifdef ENONET
1622         if (x == ENONET)
1623                 {*r = Mono_Posix_Error_ENONET; return 0;}
1624 #endif /* ndef ENONET */
1625 #ifdef ENOPKG
1626         if (x == ENOPKG)
1627                 {*r = Mono_Posix_Error_ENOPKG; return 0;}
1628 #endif /* ndef ENOPKG */
1629 #ifdef ENOPROTOOPT
1630         if (x == ENOPROTOOPT)
1631                 {*r = Mono_Posix_Error_ENOPROTOOPT; return 0;}
1632 #endif /* ndef ENOPROTOOPT */
1633 #ifdef ENOSPC
1634         if (x == ENOSPC)
1635                 {*r = Mono_Posix_Error_ENOSPC; return 0;}
1636 #endif /* ndef ENOSPC */
1637 #ifdef ENOSR
1638         if (x == ENOSR)
1639                 {*r = Mono_Posix_Error_ENOSR; return 0;}
1640 #endif /* ndef ENOSR */
1641 #ifdef ENOSTR
1642         if (x == ENOSTR)
1643                 {*r = Mono_Posix_Error_ENOSTR; return 0;}
1644 #endif /* ndef ENOSTR */
1645 #ifdef ENOSYS
1646         if (x == ENOSYS)
1647                 {*r = Mono_Posix_Error_ENOSYS; return 0;}
1648 #endif /* ndef ENOSYS */
1649 #ifdef ENOTBLK
1650         if (x == ENOTBLK)
1651                 {*r = Mono_Posix_Error_ENOTBLK; return 0;}
1652 #endif /* ndef ENOTBLK */
1653 #ifdef ENOTCONN
1654         if (x == ENOTCONN)
1655                 {*r = Mono_Posix_Error_ENOTCONN; return 0;}
1656 #endif /* ndef ENOTCONN */
1657 #ifdef ENOTDIR
1658         if (x == ENOTDIR)
1659                 {*r = Mono_Posix_Error_ENOTDIR; return 0;}
1660 #endif /* ndef ENOTDIR */
1661 #ifdef ENOTEMPTY
1662         if (x == ENOTEMPTY)
1663                 {*r = Mono_Posix_Error_ENOTEMPTY; return 0;}
1664 #endif /* ndef ENOTEMPTY */
1665 #ifdef ENOTNAM
1666         if (x == ENOTNAM)
1667                 {*r = Mono_Posix_Error_ENOTNAM; return 0;}
1668 #endif /* ndef ENOTNAM */
1669 #ifdef ENOTSOCK
1670         if (x == ENOTSOCK)
1671                 {*r = Mono_Posix_Error_ENOTSOCK; return 0;}
1672 #endif /* ndef ENOTSOCK */
1673 #ifdef ENOTTY
1674         if (x == ENOTTY)
1675                 {*r = Mono_Posix_Error_ENOTTY; return 0;}
1676 #endif /* ndef ENOTTY */
1677 #ifdef ENOTUNIQ
1678         if (x == ENOTUNIQ)
1679                 {*r = Mono_Posix_Error_ENOTUNIQ; return 0;}
1680 #endif /* ndef ENOTUNIQ */
1681 #ifdef ENXIO
1682         if (x == ENXIO)
1683                 {*r = Mono_Posix_Error_ENXIO; return 0;}
1684 #endif /* ndef ENXIO */
1685 #ifdef EOPNOTSUPP
1686         if (x == EOPNOTSUPP)
1687                 {*r = Mono_Posix_Error_EOPNOTSUPP; return 0;}
1688 #endif /* ndef EOPNOTSUPP */
1689 #ifdef EOVERFLOW
1690         if (x == EOVERFLOW)
1691                 {*r = Mono_Posix_Error_EOVERFLOW; return 0;}
1692 #endif /* ndef EOVERFLOW */
1693 #ifdef EPERM
1694         if (x == EPERM)
1695                 {*r = Mono_Posix_Error_EPERM; return 0;}
1696 #endif /* ndef EPERM */
1697 #ifdef EPFNOSUPPORT
1698         if (x == EPFNOSUPPORT)
1699                 {*r = Mono_Posix_Error_EPFNOSUPPORT; return 0;}
1700 #endif /* ndef EPFNOSUPPORT */
1701 #ifdef EPIPE
1702         if (x == EPIPE)
1703                 {*r = Mono_Posix_Error_EPIPE; return 0;}
1704 #endif /* ndef EPIPE */
1705 #ifdef EPROTO
1706         if (x == EPROTO)
1707                 {*r = Mono_Posix_Error_EPROTO; return 0;}
1708 #endif /* ndef EPROTO */
1709 #ifdef EPROTONOSUPPORT
1710         if (x == EPROTONOSUPPORT)
1711                 {*r = Mono_Posix_Error_EPROTONOSUPPORT; return 0;}
1712 #endif /* ndef EPROTONOSUPPORT */
1713 #ifdef EPROTOTYPE
1714         if (x == EPROTOTYPE)
1715                 {*r = Mono_Posix_Error_EPROTOTYPE; return 0;}
1716 #endif /* ndef EPROTOTYPE */
1717 #ifdef ERANGE
1718         if (x == ERANGE)
1719                 {*r = Mono_Posix_Error_ERANGE; return 0;}
1720 #endif /* ndef ERANGE */
1721 #ifdef EREMCHG
1722         if (x == EREMCHG)
1723                 {*r = Mono_Posix_Error_EREMCHG; return 0;}
1724 #endif /* ndef EREMCHG */
1725 #ifdef EREMOTE
1726         if (x == EREMOTE)
1727                 {*r = Mono_Posix_Error_EREMOTE; return 0;}
1728 #endif /* ndef EREMOTE */
1729 #ifdef EREMOTEIO
1730         if (x == EREMOTEIO)
1731                 {*r = Mono_Posix_Error_EREMOTEIO; return 0;}
1732 #endif /* ndef EREMOTEIO */
1733 #ifdef ERESTART
1734         if (x == ERESTART)
1735                 {*r = Mono_Posix_Error_ERESTART; return 0;}
1736 #endif /* ndef ERESTART */
1737 #ifdef EROFS
1738         if (x == EROFS)
1739                 {*r = Mono_Posix_Error_EROFS; return 0;}
1740 #endif /* ndef EROFS */
1741 #ifdef ESHUTDOWN
1742         if (x == ESHUTDOWN)
1743                 {*r = Mono_Posix_Error_ESHUTDOWN; return 0;}
1744 #endif /* ndef ESHUTDOWN */
1745 #ifdef ESOCKTNOSUPPORT
1746         if (x == ESOCKTNOSUPPORT)
1747                 {*r = Mono_Posix_Error_ESOCKTNOSUPPORT; return 0;}
1748 #endif /* ndef ESOCKTNOSUPPORT */
1749 #ifdef ESPIPE
1750         if (x == ESPIPE)
1751                 {*r = Mono_Posix_Error_ESPIPE; return 0;}
1752 #endif /* ndef ESPIPE */
1753 #ifdef ESRCH
1754         if (x == ESRCH)
1755                 {*r = Mono_Posix_Error_ESRCH; return 0;}
1756 #endif /* ndef ESRCH */
1757 #ifdef ESRMNT
1758         if (x == ESRMNT)
1759                 {*r = Mono_Posix_Error_ESRMNT; return 0;}
1760 #endif /* ndef ESRMNT */
1761 #ifdef ESTALE
1762         if (x == ESTALE)
1763                 {*r = Mono_Posix_Error_ESTALE; return 0;}
1764 #endif /* ndef ESTALE */
1765 #ifdef ESTRPIPE
1766         if (x == ESTRPIPE)
1767                 {*r = Mono_Posix_Error_ESTRPIPE; return 0;}
1768 #endif /* ndef ESTRPIPE */
1769 #ifdef ETIME
1770         if (x == ETIME)
1771                 {*r = Mono_Posix_Error_ETIME; return 0;}
1772 #endif /* ndef ETIME */
1773 #ifdef ETIMEDOUT
1774         if (x == ETIMEDOUT)
1775                 {*r = Mono_Posix_Error_ETIMEDOUT; return 0;}
1776 #endif /* ndef ETIMEDOUT */
1777 #ifdef ETOOMANYREFS
1778         if (x == ETOOMANYREFS)
1779                 {*r = Mono_Posix_Error_ETOOMANYREFS; return 0;}
1780 #endif /* ndef ETOOMANYREFS */
1781 #ifdef ETXTBSY
1782         if (x == ETXTBSY)
1783                 {*r = Mono_Posix_Error_ETXTBSY; return 0;}
1784 #endif /* ndef ETXTBSY */
1785 #ifdef EUCLEAN
1786         if (x == EUCLEAN)
1787                 {*r = Mono_Posix_Error_EUCLEAN; return 0;}
1788 #endif /* ndef EUCLEAN */
1789 #ifdef EUNATCH
1790         if (x == EUNATCH)
1791                 {*r = Mono_Posix_Error_EUNATCH; return 0;}
1792 #endif /* ndef EUNATCH */
1793 #ifdef EUSERS
1794         if (x == EUSERS)
1795                 {*r = Mono_Posix_Error_EUSERS; return 0;}
1796 #endif /* ndef EUSERS */
1797 #ifdef EWOULDBLOCK
1798         if (x == EWOULDBLOCK)
1799                 {*r = Mono_Posix_Error_EWOULDBLOCK; return 0;}
1800 #endif /* ndef EWOULDBLOCK */
1801 #ifdef EXDEV
1802         if (x == EXDEV)
1803                 {*r = Mono_Posix_Error_EXDEV; return 0;}
1804 #endif /* ndef EXDEV */
1805 #ifdef EXFULL
1806         if (x == EXFULL)
1807                 {*r = Mono_Posix_Error_EXFULL; return 0;}
1808 #endif /* ndef EXFULL */
1809         errno = EINVAL; return -1;
1810 }
1811
1812 int Mono_Posix_FromMmapProt (int x, int *r)
1813 {
1814         *r = 0;
1815         if (x == 0)
1816                 return 0;
1817         if ((x & Mono_Posix_MmapProt_PROT_EXEC) == Mono_Posix_MmapProt_PROT_EXEC)
1818 #ifdef PROT_EXEC
1819                 *r |= PROT_EXEC;
1820 #else /* def PROT_EXEC */
1821                 {errno = EINVAL; return -1;}
1822 #endif /* ndef PROT_EXEC */
1823         if ((x & Mono_Posix_MmapProt_PROT_GROWSDOWN) == Mono_Posix_MmapProt_PROT_GROWSDOWN)
1824 #ifdef PROT_GROWSDOWN
1825                 *r |= PROT_GROWSDOWN;
1826 #else /* def PROT_GROWSDOWN */
1827                 {errno = EINVAL; return -1;}
1828 #endif /* ndef PROT_GROWSDOWN */
1829         if ((x & Mono_Posix_MmapProt_PROT_GROWSUP) == Mono_Posix_MmapProt_PROT_GROWSUP)
1830 #ifdef PROT_GROWSUP
1831                 *r |= PROT_GROWSUP;
1832 #else /* def PROT_GROWSUP */
1833                 {errno = EINVAL; return -1;}
1834 #endif /* ndef PROT_GROWSUP */
1835         if ((x & Mono_Posix_MmapProt_PROT_NONE) == Mono_Posix_MmapProt_PROT_NONE)
1836 #ifdef PROT_NONE
1837                 *r |= PROT_NONE;
1838 #else /* def PROT_NONE */
1839                 {errno = EINVAL; return -1;}
1840 #endif /* ndef PROT_NONE */
1841         if ((x & Mono_Posix_MmapProt_PROT_READ) == Mono_Posix_MmapProt_PROT_READ)
1842 #ifdef PROT_READ
1843                 *r |= PROT_READ;
1844 #else /* def PROT_READ */
1845                 {errno = EINVAL; return -1;}
1846 #endif /* ndef PROT_READ */
1847         if ((x & Mono_Posix_MmapProt_PROT_WRITE) == Mono_Posix_MmapProt_PROT_WRITE)
1848 #ifdef PROT_WRITE
1849                 *r |= PROT_WRITE;
1850 #else /* def PROT_WRITE */
1851                 {errno = EINVAL; return -1;}
1852 #endif /* ndef PROT_WRITE */
1853         return 0;
1854 }
1855
1856 int Mono_Posix_ToMmapProt (int x, int *r)
1857 {
1858         *r = 0;
1859         if (x == 0)
1860                 return 0;
1861 #ifdef PROT_EXEC
1862         if ((x & PROT_EXEC) == PROT_EXEC)
1863                 *r |= Mono_Posix_MmapProt_PROT_EXEC;
1864 #endif /* ndef PROT_EXEC */
1865 #ifdef PROT_GROWSDOWN
1866         if ((x & PROT_GROWSDOWN) == PROT_GROWSDOWN)
1867                 *r |= Mono_Posix_MmapProt_PROT_GROWSDOWN;
1868 #endif /* ndef PROT_GROWSDOWN */
1869 #ifdef PROT_GROWSUP
1870         if ((x & PROT_GROWSUP) == PROT_GROWSUP)
1871                 *r |= Mono_Posix_MmapProt_PROT_GROWSUP;
1872 #endif /* ndef PROT_GROWSUP */
1873 #ifdef PROT_NONE
1874         if ((x & PROT_NONE) == PROT_NONE)
1875                 *r |= Mono_Posix_MmapProt_PROT_NONE;
1876 #endif /* ndef PROT_NONE */
1877 #ifdef PROT_READ
1878         if ((x & PROT_READ) == PROT_READ)
1879                 *r |= Mono_Posix_MmapProt_PROT_READ;
1880 #endif /* ndef PROT_READ */
1881 #ifdef PROT_WRITE
1882         if ((x & PROT_WRITE) == PROT_WRITE)
1883                 *r |= Mono_Posix_MmapProt_PROT_WRITE;
1884 #endif /* ndef PROT_WRITE */
1885         return 0;
1886 }
1887
1888 int Mono_Posix_FromAccessModes (int x, int *r)
1889 {
1890         *r = 0;
1891         if (x == 0)
1892                 return 0;
1893         if ((x & Mono_Posix_AccessModes_F_OK) == Mono_Posix_AccessModes_F_OK)
1894 #ifdef F_OK
1895                 *r |= F_OK;
1896 #else /* def F_OK */
1897                 {errno = EINVAL; return -1;}
1898 #endif /* ndef F_OK */
1899         if ((x & Mono_Posix_AccessModes_R_OK) == Mono_Posix_AccessModes_R_OK)
1900 #ifdef R_OK
1901                 *r |= R_OK;
1902 #else /* def R_OK */
1903                 {errno = EINVAL; return -1;}
1904 #endif /* ndef R_OK */
1905         if ((x & Mono_Posix_AccessModes_W_OK) == Mono_Posix_AccessModes_W_OK)
1906 #ifdef W_OK
1907                 *r |= W_OK;
1908 #else /* def W_OK */
1909                 {errno = EINVAL; return -1;}
1910 #endif /* ndef W_OK */
1911         if ((x & Mono_Posix_AccessModes_X_OK) == Mono_Posix_AccessModes_X_OK)
1912 #ifdef X_OK
1913                 *r |= X_OK;
1914 #else /* def X_OK */
1915                 {errno = EINVAL; return -1;}
1916 #endif /* ndef X_OK */
1917         return 0;
1918 }
1919
1920 int Mono_Posix_ToAccessModes (int x, int *r)
1921 {
1922         *r = 0;
1923         if (x == 0)
1924                 return 0;
1925 #ifdef F_OK
1926         if ((x & F_OK) == F_OK)
1927                 *r |= Mono_Posix_AccessModes_F_OK;
1928 #endif /* ndef F_OK */
1929 #ifdef R_OK
1930         if ((x & R_OK) == R_OK)
1931                 *r |= Mono_Posix_AccessModes_R_OK;
1932 #endif /* ndef R_OK */
1933 #ifdef W_OK
1934         if ((x & W_OK) == W_OK)
1935                 *r |= Mono_Posix_AccessModes_W_OK;
1936 #endif /* ndef W_OK */
1937 #ifdef X_OK
1938         if ((x & X_OK) == X_OK)
1939                 *r |= Mono_Posix_AccessModes_X_OK;
1940 #endif /* ndef X_OK */
1941         return 0;
1942 }
1943
1944 int Mono_Posix_FromConfstrName (int x, int *r)
1945 {
1946         *r = 0;
1947         if (x == 0)
1948                 return 0;
1949         if (x == Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION)
1950 #ifdef _CS_GNU_LIBC_VERSION
1951                 {*r = _CS_GNU_LIBC_VERSION; return 0;}
1952 #else /* def _CS_GNU_LIBC_VERSION */
1953                 {errno = EINVAL; return -1;}
1954 #endif /* ndef _CS_GNU_LIBC_VERSION */
1955         if (x == Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION)
1956 #ifdef _CS_GNU_LIBPTHREAD_VERSION
1957                 {*r = _CS_GNU_LIBPTHREAD_VERSION; return 0;}
1958 #else /* def _CS_GNU_LIBPTHREAD_VERSION */
1959                 {errno = EINVAL; return -1;}
1960 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
1961         if (x == Mono_Posix_ConfstrName__CS_LFS64_CFLAGS)
1962 #ifdef _CS_LFS64_CFLAGS
1963                 {*r = _CS_LFS64_CFLAGS; return 0;}
1964 #else /* def _CS_LFS64_CFLAGS */
1965                 {errno = EINVAL; return -1;}
1966 #endif /* ndef _CS_LFS64_CFLAGS */
1967         if (x == Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS)
1968 #ifdef _CS_LFS64_LDFLAGS
1969                 {*r = _CS_LFS64_LDFLAGS; return 0;}
1970 #else /* def _CS_LFS64_LDFLAGS */
1971                 {errno = EINVAL; return -1;}
1972 #endif /* ndef _CS_LFS64_LDFLAGS */
1973         if (x == Mono_Posix_ConfstrName__CS_LFS64_LIBS)
1974 #ifdef _CS_LFS64_LIBS
1975                 {*r = _CS_LFS64_LIBS; return 0;}
1976 #else /* def _CS_LFS64_LIBS */
1977                 {errno = EINVAL; return -1;}
1978 #endif /* ndef _CS_LFS64_LIBS */
1979         if (x == Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS)
1980 #ifdef _CS_LFS64_LINTFLAGS
1981                 {*r = _CS_LFS64_LINTFLAGS; return 0;}
1982 #else /* def _CS_LFS64_LINTFLAGS */
1983                 {errno = EINVAL; return -1;}
1984 #endif /* ndef _CS_LFS64_LINTFLAGS */
1985         if (x == Mono_Posix_ConfstrName__CS_LFS_CFLAGS)
1986 #ifdef _CS_LFS_CFLAGS
1987                 {*r = _CS_LFS_CFLAGS; return 0;}
1988 #else /* def _CS_LFS_CFLAGS */
1989                 {errno = EINVAL; return -1;}
1990 #endif /* ndef _CS_LFS_CFLAGS */
1991         if (x == Mono_Posix_ConfstrName__CS_LFS_LDFLAGS)
1992 #ifdef _CS_LFS_LDFLAGS
1993                 {*r = _CS_LFS_LDFLAGS; return 0;}
1994 #else /* def _CS_LFS_LDFLAGS */
1995                 {errno = EINVAL; return -1;}
1996 #endif /* ndef _CS_LFS_LDFLAGS */
1997         if (x == Mono_Posix_ConfstrName__CS_LFS_LIBS)
1998 #ifdef _CS_LFS_LIBS
1999                 {*r = _CS_LFS_LIBS; return 0;}
2000 #else /* def _CS_LFS_LIBS */
2001                 {errno = EINVAL; return -1;}
2002 #endif /* ndef _CS_LFS_LIBS */
2003         if (x == Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS)
2004 #ifdef _CS_LFS_LINTFLAGS
2005                 {*r = _CS_LFS_LINTFLAGS; return 0;}
2006 #else /* def _CS_LFS_LINTFLAGS */
2007                 {errno = EINVAL; return -1;}
2008 #endif /* ndef _CS_LFS_LINTFLAGS */
2009         if (x == Mono_Posix_ConfstrName__CS_PATH)
2010 #ifdef _CS_PATH
2011                 {*r = _CS_PATH; return 0;}
2012 #else /* def _CS_PATH */
2013                 {errno = EINVAL; return -1;}
2014 #endif /* ndef _CS_PATH */
2015         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS)
2016 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
2017                 {*r = _CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
2018 #else /* def _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
2019                 {errno = EINVAL; return -1;}
2020 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
2021         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
2022 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
2023                 {*r = _CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
2024 #else /* def _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
2025                 {errno = EINVAL; return -1;}
2026 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
2027         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS)
2028 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
2029                 {*r = _CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
2030 #else /* def _CS_POSIX_V6_ILP32_OFF32_LIBS */
2031                 {errno = EINVAL; return -1;}
2032 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
2033         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
2034 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
2035                 {*r = _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
2036 #else /* def _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
2037                 {errno = EINVAL; return -1;}
2038 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
2039         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
2040 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
2041                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
2042 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
2043                 {errno = EINVAL; return -1;}
2044 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
2045         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
2046 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
2047                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
2048 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
2049                 {errno = EINVAL; return -1;}
2050 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
2051         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS)
2052 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
2053                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
2054 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
2055                 {errno = EINVAL; return -1;}
2056 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
2057         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
2058 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
2059                 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
2060 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
2061                 {errno = EINVAL; return -1;}
2062 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
2063         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS)
2064 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
2065                 {*r = _CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
2066 #else /* def _CS_POSIX_V6_LP64_OFF64_CFLAGS */
2067                 {errno = EINVAL; return -1;}
2068 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
2069         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS)
2070 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
2071                 {*r = _CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
2072 #else /* def _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
2073                 {errno = EINVAL; return -1;}
2074 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
2075         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS)
2076 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
2077                 {*r = _CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
2078 #else /* def _CS_POSIX_V6_LP64_OFF64_LIBS */
2079                 {errno = EINVAL; return -1;}
2080 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
2081         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
2082 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
2083                 {*r = _CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
2084 #else /* def _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
2085                 {errno = EINVAL; return -1;}
2086 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
2087         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
2088 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
2089                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
2090 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
2091                 {errno = EINVAL; return -1;}
2092 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
2093         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
2094 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
2095                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
2096 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
2097                 {errno = EINVAL; return -1;}
2098 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
2099         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
2100 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
2101                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
2102 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
2103                 {errno = EINVAL; return -1;}
2104 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
2105         if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
2106 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
2107                 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
2108 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
2109                 {errno = EINVAL; return -1;}
2110 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
2111         if (x == Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS)
2112 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
2113                 {*r = _CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
2114 #else /* def _CS_V6_WIDTH_RESTRICTED_ENVS */
2115                 {errno = EINVAL; return -1;}
2116 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
2117         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS)
2118 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
2119                 {*r = _CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
2120 #else /* def _CS_XBS5_ILP32_OFF32_CFLAGS */
2121                 {errno = EINVAL; return -1;}
2122 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
2123         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS)
2124 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
2125                 {*r = _CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
2126 #else /* def _CS_XBS5_ILP32_OFF32_LDFLAGS */
2127                 {errno = EINVAL; return -1;}
2128 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
2129         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS)
2130 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
2131                 {*r = _CS_XBS5_ILP32_OFF32_LIBS; return 0;}
2132 #else /* def _CS_XBS5_ILP32_OFF32_LIBS */
2133                 {errno = EINVAL; return -1;}
2134 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
2135         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS)
2136 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
2137                 {*r = _CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
2138 #else /* def _CS_XBS5_ILP32_OFF32_LINTFLAGS */
2139                 {errno = EINVAL; return -1;}
2140 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
2141         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS)
2142 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
2143                 {*r = _CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
2144 #else /* def _CS_XBS5_ILP32_OFFBIG_CFLAGS */
2145                 {errno = EINVAL; return -1;}
2146 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
2147         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS)
2148 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
2149                 {*r = _CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
2150 #else /* def _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
2151                 {errno = EINVAL; return -1;}
2152 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
2153         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS)
2154 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
2155                 {*r = _CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
2156 #else /* def _CS_XBS5_ILP32_OFFBIG_LIBS */
2157                 {errno = EINVAL; return -1;}
2158 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
2159         if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
2160 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
2161                 {*r = _CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
2162 #else /* def _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
2163                 {errno = EINVAL; return -1;}
2164 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
2165         if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS)
2166 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
2167                 {*r = _CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
2168 #else /* def _CS_XBS5_LP64_OFF64_CFLAGS */
2169                 {errno = EINVAL; return -1;}
2170 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
2171         if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS)
2172 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
2173                 {*r = _CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
2174 #else /* def _CS_XBS5_LP64_OFF64_LDFLAGS */
2175                 {errno = EINVAL; return -1;}
2176 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
2177         if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS)
2178 #ifdef _CS_XBS5_LP64_OFF64_LIBS
2179                 {*r = _CS_XBS5_LP64_OFF64_LIBS; return 0;}
2180 #else /* def _CS_XBS5_LP64_OFF64_LIBS */
2181                 {errno = EINVAL; return -1;}
2182 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
2183         if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS)
2184 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
2185                 {*r = _CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
2186 #else /* def _CS_XBS5_LP64_OFF64_LINTFLAGS */
2187                 {errno = EINVAL; return -1;}
2188 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
2189         if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS)
2190 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
2191                 {*r = _CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
2192 #else /* def _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
2193                 {errno = EINVAL; return -1;}
2194 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
2195         if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
2196 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
2197                 {*r = _CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
2198 #else /* def _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
2199                 {errno = EINVAL; return -1;}
2200 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
2201         if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS)
2202 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
2203                 {*r = _CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
2204 #else /* def _CS_XBS5_LPBIG_OFFBIG_LIBS */
2205                 {errno = EINVAL; return -1;}
2206 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
2207         if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
2208 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
2209                 {*r = _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
2210 #else /* def _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
2211                 {errno = EINVAL; return -1;}
2212 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
2213         errno = EINVAL; return -1;
2214 }
2215
2216 int Mono_Posix_ToConfstrName (int x, int *r)
2217 {
2218         *r = 0;
2219         if (x == 0)
2220                 return 0;
2221 #ifdef _CS_GNU_LIBC_VERSION
2222         if (x == _CS_GNU_LIBC_VERSION)
2223                 {*r = Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION; return 0;}
2224 #endif /* ndef _CS_GNU_LIBC_VERSION */
2225 #ifdef _CS_GNU_LIBPTHREAD_VERSION
2226         if (x == _CS_GNU_LIBPTHREAD_VERSION)
2227                 {*r = Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION; return 0;}
2228 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
2229 #ifdef _CS_LFS64_CFLAGS
2230         if (x == _CS_LFS64_CFLAGS)
2231                 {*r = Mono_Posix_ConfstrName__CS_LFS64_CFLAGS; return 0;}
2232 #endif /* ndef _CS_LFS64_CFLAGS */
2233 #ifdef _CS_LFS64_LDFLAGS
2234         if (x == _CS_LFS64_LDFLAGS)
2235                 {*r = Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS; return 0;}
2236 #endif /* ndef _CS_LFS64_LDFLAGS */
2237 #ifdef _CS_LFS64_LIBS
2238         if (x == _CS_LFS64_LIBS)
2239                 {*r = Mono_Posix_ConfstrName__CS_LFS64_LIBS; return 0;}
2240 #endif /* ndef _CS_LFS64_LIBS */
2241 #ifdef _CS_LFS64_LINTFLAGS
2242         if (x == _CS_LFS64_LINTFLAGS)
2243                 {*r = Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS; return 0;}
2244 #endif /* ndef _CS_LFS64_LINTFLAGS */
2245 #ifdef _CS_LFS_CFLAGS
2246         if (x == _CS_LFS_CFLAGS)
2247                 {*r = Mono_Posix_ConfstrName__CS_LFS_CFLAGS; return 0;}
2248 #endif /* ndef _CS_LFS_CFLAGS */
2249 #ifdef _CS_LFS_LDFLAGS
2250         if (x == _CS_LFS_LDFLAGS)
2251                 {*r = Mono_Posix_ConfstrName__CS_LFS_LDFLAGS; return 0;}
2252 #endif /* ndef _CS_LFS_LDFLAGS */
2253 #ifdef _CS_LFS_LIBS
2254         if (x == _CS_LFS_LIBS)
2255                 {*r = Mono_Posix_ConfstrName__CS_LFS_LIBS; return 0;}
2256 #endif /* ndef _CS_LFS_LIBS */
2257 #ifdef _CS_LFS_LINTFLAGS
2258         if (x == _CS_LFS_LINTFLAGS)
2259                 {*r = Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS; return 0;}
2260 #endif /* ndef _CS_LFS_LINTFLAGS */
2261 #ifdef _CS_PATH
2262         if (x == _CS_PATH)
2263                 {*r = Mono_Posix_ConfstrName__CS_PATH; return 0;}
2264 #endif /* ndef _CS_PATH */
2265 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
2266         if (x == _CS_POSIX_V6_ILP32_OFF32_CFLAGS)
2267                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
2268 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
2269 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
2270         if (x == _CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
2271                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
2272 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
2273 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
2274         if (x == _CS_POSIX_V6_ILP32_OFF32_LIBS)
2275                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
2276 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
2277 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
2278         if (x == _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
2279                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
2280 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
2281 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
2282         if (x == _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
2283                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
2284 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
2285 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
2286         if (x == _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
2287                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
2288 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
2289 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
2290         if (x == _CS_POSIX_V6_ILP32_OFFBIG_LIBS)
2291                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
2292 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
2293 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
2294         if (x == _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
2295                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
2296 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
2297 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
2298         if (x == _CS_POSIX_V6_LP64_OFF64_CFLAGS)
2299                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
2300 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
2301 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
2302         if (x == _CS_POSIX_V6_LP64_OFF64_LDFLAGS)
2303                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
2304 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
2305 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
2306         if (x == _CS_POSIX_V6_LP64_OFF64_LIBS)
2307                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
2308 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
2309 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
2310         if (x == _CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
2311                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
2312 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
2313 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
2314         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
2315                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
2316 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
2317 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
2318         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
2319                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
2320 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
2321 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
2322         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
2323                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
2324 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
2325 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
2326         if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
2327                 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
2328 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
2329 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
2330         if (x == _CS_V6_WIDTH_RESTRICTED_ENVS)
2331                 {*r = Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
2332 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
2333 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
2334         if (x == _CS_XBS5_ILP32_OFF32_CFLAGS)
2335                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
2336 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
2337 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
2338         if (x == _CS_XBS5_ILP32_OFF32_LDFLAGS)
2339                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
2340 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
2341 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
2342         if (x == _CS_XBS5_ILP32_OFF32_LIBS)
2343                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS; return 0;}
2344 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
2345 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
2346         if (x == _CS_XBS5_ILP32_OFF32_LINTFLAGS)
2347                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
2348 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
2349 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
2350         if (x == _CS_XBS5_ILP32_OFFBIG_CFLAGS)
2351                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
2352 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
2353 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
2354         if (x == _CS_XBS5_ILP32_OFFBIG_LDFLAGS)
2355                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
2356 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
2357 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
2358         if (x == _CS_XBS5_ILP32_OFFBIG_LIBS)
2359                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
2360 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
2361 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
2362         if (x == _CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
2363                 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
2364 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
2365 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
2366         if (x == _CS_XBS5_LP64_OFF64_CFLAGS)
2367                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
2368 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
2369 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
2370         if (x == _CS_XBS5_LP64_OFF64_LDFLAGS)
2371                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
2372 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
2373 #ifdef _CS_XBS5_LP64_OFF64_LIBS
2374         if (x == _CS_XBS5_LP64_OFF64_LIBS)
2375                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS; return 0;}
2376 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
2377 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
2378         if (x == _CS_XBS5_LP64_OFF64_LINTFLAGS)
2379                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
2380 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
2381 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
2382         if (x == _CS_XBS5_LPBIG_OFFBIG_CFLAGS)
2383                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
2384 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
2385 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
2386         if (x == _CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
2387                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
2388 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
2389 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
2390         if (x == _CS_XBS5_LPBIG_OFFBIG_LIBS)
2391                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
2392 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
2393 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
2394         if (x == _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
2395                 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
2396 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
2397         errno = EINVAL; return -1;
2398 }
2399
2400 int Mono_Posix_FromDirectoryNotifyFlags (int x, int *r)
2401 {
2402         *r = 0;
2403         if (x == 0)
2404                 return 0;
2405         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ACCESS) == Mono_Posix_DirectoryNotifyFlags_DN_ACCESS)
2406 #ifdef DN_ACCESS
2407                 *r |= DN_ACCESS;
2408 #else /* def DN_ACCESS */
2409                 {errno = EINVAL; return -1;}
2410 #endif /* ndef DN_ACCESS */
2411         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB) == Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB)
2412 #ifdef DN_ATTRIB
2413                 *r |= DN_ATTRIB;
2414 #else /* def DN_ATTRIB */
2415                 {errno = EINVAL; return -1;}
2416 #endif /* ndef DN_ATTRIB */
2417         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_CREATE) == Mono_Posix_DirectoryNotifyFlags_DN_CREATE)
2418 #ifdef DN_CREATE
2419                 *r |= DN_CREATE;
2420 #else /* def DN_CREATE */
2421                 {errno = EINVAL; return -1;}
2422 #endif /* ndef DN_CREATE */
2423         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_DELETE) == Mono_Posix_DirectoryNotifyFlags_DN_DELETE)
2424 #ifdef DN_DELETE
2425                 *r |= DN_DELETE;
2426 #else /* def DN_DELETE */
2427                 {errno = EINVAL; return -1;}
2428 #endif /* ndef DN_DELETE */
2429         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MODIFY) == Mono_Posix_DirectoryNotifyFlags_DN_MODIFY)
2430 #ifdef DN_MODIFY
2431                 *r |= DN_MODIFY;
2432 #else /* def DN_MODIFY */
2433                 {errno = EINVAL; return -1;}
2434 #endif /* ndef DN_MODIFY */
2435         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT) == Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT)
2436 #ifdef DN_MULTISHOT
2437                 *r |= DN_MULTISHOT;
2438 #else /* def DN_MULTISHOT */
2439                 {errno = EINVAL; return -1;}
2440 #endif /* ndef DN_MULTISHOT */
2441         if ((x & Mono_Posix_DirectoryNotifyFlags_DN_RENAME) == Mono_Posix_DirectoryNotifyFlags_DN_RENAME)
2442 #ifdef DN_RENAME
2443                 *r |= DN_RENAME;
2444 #else /* def DN_RENAME */
2445                 {errno = EINVAL; return -1;}
2446 #endif /* ndef DN_RENAME */
2447         return 0;
2448 }
2449
2450 int Mono_Posix_ToDirectoryNotifyFlags (int x, int *r)
2451 {
2452         *r = 0;
2453         if (x == 0)
2454                 return 0;
2455 #ifdef DN_ACCESS
2456         if ((x & DN_ACCESS) == DN_ACCESS)
2457                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_ACCESS;
2458 #endif /* ndef DN_ACCESS */
2459 #ifdef DN_ATTRIB
2460         if ((x & DN_ATTRIB) == DN_ATTRIB)
2461                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB;
2462 #endif /* ndef DN_ATTRIB */
2463 #ifdef DN_CREATE
2464         if ((x & DN_CREATE) == DN_CREATE)
2465                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_CREATE;
2466 #endif /* ndef DN_CREATE */
2467 #ifdef DN_DELETE
2468         if ((x & DN_DELETE) == DN_DELETE)
2469                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_DELETE;
2470 #endif /* ndef DN_DELETE */
2471 #ifdef DN_MODIFY
2472         if ((x & DN_MODIFY) == DN_MODIFY)
2473                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_MODIFY;
2474 #endif /* ndef DN_MODIFY */
2475 #ifdef DN_MULTISHOT
2476         if ((x & DN_MULTISHOT) == DN_MULTISHOT)
2477                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT;
2478 #endif /* ndef DN_MULTISHOT */
2479 #ifdef DN_RENAME
2480         if ((x & DN_RENAME) == DN_RENAME)
2481                 *r |= Mono_Posix_DirectoryNotifyFlags_DN_RENAME;
2482 #endif /* ndef DN_RENAME */
2483         return 0;
2484 }
2485
2486 int Mono_Posix_FromErrno (int x, int *r)
2487 {
2488         *r = 0;
2489         if (x == 0)
2490                 return 0;
2491         if (x == Mono_Posix_Errno_E2BIG)
2492 #ifdef E2BIG
2493                 {*r = E2BIG; return 0;}
2494 #else /* def E2BIG */
2495                 {errno = EINVAL; return -1;}
2496 #endif /* ndef E2BIG */
2497         if (x == Mono_Posix_Errno_EACCES)
2498 #ifdef EACCES
2499                 {*r = EACCES; return 0;}
2500 #else /* def EACCES */
2501                 {errno = EINVAL; return -1;}
2502 #endif /* ndef EACCES */
2503         if (x == Mono_Posix_Errno_EADDRINUSE)
2504 #ifdef EADDRINUSE
2505                 {*r = EADDRINUSE; return 0;}
2506 #else /* def EADDRINUSE */
2507                 {errno = EINVAL; return -1;}
2508 #endif /* ndef EADDRINUSE */
2509         if (x == Mono_Posix_Errno_EADDRNOTAVAIL)
2510 #ifdef EADDRNOTAVAIL
2511                 {*r = EADDRNOTAVAIL; return 0;}
2512 #else /* def EADDRNOTAVAIL */
2513                 {errno = EINVAL; return -1;}
2514 #endif /* ndef EADDRNOTAVAIL */
2515         if (x == Mono_Posix_Errno_EADV)
2516 #ifdef EADV
2517                 {*r = EADV; return 0;}
2518 #else /* def EADV */
2519                 {errno = EINVAL; return -1;}
2520 #endif /* ndef EADV */
2521         if (x == Mono_Posix_Errno_EAFNOSUPPORT)
2522 #ifdef EAFNOSUPPORT
2523                 {*r = EAFNOSUPPORT; return 0;}
2524 #else /* def EAFNOSUPPORT */
2525                 {errno = EINVAL; return -1;}
2526 #endif /* ndef EAFNOSUPPORT */
2527         if (x == Mono_Posix_Errno_EAGAIN)
2528 #ifdef EAGAIN
2529                 {*r = EAGAIN; return 0;}
2530 #else /* def EAGAIN */
2531                 {errno = EINVAL; return -1;}
2532 #endif /* ndef EAGAIN */
2533         if (x == Mono_Posix_Errno_EALREADY)
2534 #ifdef EALREADY
2535                 {*r = EALREADY; return 0;}
2536 #else /* def EALREADY */
2537                 {errno = EINVAL; return -1;}
2538 #endif /* ndef EALREADY */
2539         if (x == Mono_Posix_Errno_EBADE)
2540 #ifdef EBADE
2541                 {*r = EBADE; return 0;}
2542 #else /* def EBADE */
2543                 {errno = EINVAL; return -1;}
2544 #endif /* ndef EBADE */
2545         if (x == Mono_Posix_Errno_EBADF)
2546 #ifdef EBADF
2547                 {*r = EBADF; return 0;}
2548 #else /* def EBADF */
2549                 {errno = EINVAL; return -1;}
2550 #endif /* ndef EBADF */
2551         if (x == Mono_Posix_Errno_EBADFD)
2552 #ifdef EBADFD
2553                 {*r = EBADFD; return 0;}
2554 #else /* def EBADFD */
2555                 {errno = EINVAL; return -1;}
2556 #endif /* ndef EBADFD */
2557         if (x == Mono_Posix_Errno_EBADMSG)
2558 #ifdef EBADMSG
2559                 {*r = EBADMSG; return 0;}
2560 #else /* def EBADMSG */
2561                 {errno = EINVAL; return -1;}
2562 #endif /* ndef EBADMSG */
2563         if (x == Mono_Posix_Errno_EBADR)
2564 #ifdef EBADR
2565                 {*r = EBADR; return 0;}
2566 #else /* def EBADR */
2567                 {errno = EINVAL; return -1;}
2568 #endif /* ndef EBADR */
2569         if (x == Mono_Posix_Errno_EBADRQC)
2570 #ifdef EBADRQC
2571                 {*r = EBADRQC; return 0;}
2572 #else /* def EBADRQC */
2573                 {errno = EINVAL; return -1;}
2574 #endif /* ndef EBADRQC */
2575         if (x == Mono_Posix_Errno_EBADSLT)
2576 #ifdef EBADSLT
2577                 {*r = EBADSLT; return 0;}
2578 #else /* def EBADSLT */
2579                 {errno = EINVAL; return -1;}
2580 #endif /* ndef EBADSLT */
2581         if (x == Mono_Posix_Errno_EBFONT)
2582 #ifdef EBFONT
2583                 {*r = EBFONT; return 0;}
2584 #else /* def EBFONT */
2585                 {errno = EINVAL; return -1;}
2586 #endif /* ndef EBFONT */
2587         if (x == Mono_Posix_Errno_EBUSY)
2588 #ifdef EBUSY
2589                 {*r = EBUSY; return 0;}
2590 #else /* def EBUSY */
2591                 {errno = EINVAL; return -1;}
2592 #endif /* ndef EBUSY */
2593         if (x == Mono_Posix_Errno_ECHILD)
2594 #ifdef ECHILD
2595                 {*r = ECHILD; return 0;}
2596 #else /* def ECHILD */
2597                 {errno = EINVAL; return -1;}
2598 #endif /* ndef ECHILD */
2599         if (x == Mono_Posix_Errno_ECHRNG)
2600 #ifdef ECHRNG
2601                 {*r = ECHRNG; return 0;}
2602 #else /* def ECHRNG */
2603                 {errno = EINVAL; return -1;}
2604 #endif /* ndef ECHRNG */
2605         if (x == Mono_Posix_Errno_ECOMM)
2606 #ifdef ECOMM
2607                 {*r = ECOMM; return 0;}
2608 #else /* def ECOMM */
2609                 {errno = EINVAL; return -1;}
2610 #endif /* ndef ECOMM */
2611         if (x == Mono_Posix_Errno_ECONNABORTED)
2612 #ifdef ECONNABORTED
2613                 {*r = ECONNABORTED; return 0;}
2614 #else /* def ECONNABORTED */
2615                 {errno = EINVAL; return -1;}
2616 #endif /* ndef ECONNABORTED */
2617         if (x == Mono_Posix_Errno_ECONNREFUSED)
2618 #ifdef ECONNREFUSED
2619                 {*r = ECONNREFUSED; return 0;}
2620 #else /* def ECONNREFUSED */
2621                 {errno = EINVAL; return -1;}
2622 #endif /* ndef ECONNREFUSED */
2623         if (x == Mono_Posix_Errno_ECONNRESET)
2624 #ifdef ECONNRESET
2625                 {*r = ECONNRESET; return 0;}
2626 #else /* def ECONNRESET */
2627                 {errno = EINVAL; return -1;}
2628 #endif /* ndef ECONNRESET */
2629         if (x == Mono_Posix_Errno_EDEADLK)
2630 #ifdef EDEADLK
2631                 {*r = EDEADLK; return 0;}
2632 #else /* def EDEADLK */
2633                 {errno = EINVAL; return -1;}
2634 #endif /* ndef EDEADLK */
2635         if (x == Mono_Posix_Errno_EDEADLOCK)
2636 #ifdef EDEADLOCK
2637                 {*r = EDEADLOCK; return 0;}
2638 #else /* def EDEADLOCK */
2639                 {errno = EINVAL; return -1;}
2640 #endif /* ndef EDEADLOCK */
2641         if (x == Mono_Posix_Errno_EDESTADDRREQ)
2642 #ifdef EDESTADDRREQ
2643                 {*r = EDESTADDRREQ; return 0;}
2644 #else /* def EDESTADDRREQ */
2645                 {errno = EINVAL; return -1;}
2646 #endif /* ndef EDESTADDRREQ */
2647         if (x == Mono_Posix_Errno_EDOM)
2648 #ifdef EDOM
2649                 {*r = EDOM; return 0;}
2650 #else /* def EDOM */
2651                 {errno = EINVAL; return -1;}
2652 #endif /* ndef EDOM */
2653         if (x == Mono_Posix_Errno_EDOTDOT)
2654 #ifdef EDOTDOT
2655                 {*r = EDOTDOT; return 0;}
2656 #else /* def EDOTDOT */
2657                 {errno = EINVAL; return -1;}
2658 #endif /* ndef EDOTDOT */
2659         if (x == Mono_Posix_Errno_EDQUOT)
2660 #ifdef EDQUOT
2661                 {*r = EDQUOT; return 0;}
2662 #else /* def EDQUOT */
2663                 {errno = EINVAL; return -1;}
2664 #endif /* ndef EDQUOT */
2665         if (x == Mono_Posix_Errno_EEXIST)
2666 #ifdef EEXIST
2667                 {*r = EEXIST; return 0;}
2668 #else /* def EEXIST */
2669                 {errno = EINVAL; return -1;}
2670 #endif /* ndef EEXIST */
2671         if (x == Mono_Posix_Errno_EFAULT)
2672 #ifdef EFAULT
2673                 {*r = EFAULT; return 0;}
2674 #else /* def EFAULT */
2675                 {errno = EINVAL; return -1;}
2676 #endif /* ndef EFAULT */
2677         if (x == Mono_Posix_Errno_EFBIG)
2678 #ifdef EFBIG
2679                 {*r = EFBIG; return 0;}
2680 #else /* def EFBIG */
2681                 {errno = EINVAL; return -1;}
2682 #endif /* ndef EFBIG */
2683         if (x == Mono_Posix_Errno_EHOSTDOWN)
2684 #ifdef EHOSTDOWN
2685                 {*r = EHOSTDOWN; return 0;}
2686 #else /* def EHOSTDOWN */
2687                 {errno = EINVAL; return -1;}
2688 #endif /* ndef EHOSTDOWN */
2689         if (x == Mono_Posix_Errno_EHOSTUNREACH)
2690 #ifdef EHOSTUNREACH
2691                 {*r = EHOSTUNREACH; return 0;}
2692 #else /* def EHOSTUNREACH */
2693                 {errno = EINVAL; return -1;}
2694 #endif /* ndef EHOSTUNREACH */
2695         if (x == Mono_Posix_Errno_EIDRM)
2696 #ifdef EIDRM
2697                 {*r = EIDRM; return 0;}
2698 #else /* def EIDRM */
2699                 {errno = EINVAL; return -1;}
2700 #endif /* ndef EIDRM */
2701         if (x == Mono_Posix_Errno_EILSEQ)
2702 #ifdef EILSEQ
2703                 {*r = EILSEQ; return 0;}
2704 #else /* def EILSEQ */
2705                 {errno = EINVAL; return -1;}
2706 #endif /* ndef EILSEQ */
2707         if (x == Mono_Posix_Errno_EINPROGRESS)
2708 #ifdef EINPROGRESS
2709                 {*r = EINPROGRESS; return 0;}
2710 #else /* def EINPROGRESS */
2711                 {errno = EINVAL; return -1;}
2712 #endif /* ndef EINPROGRESS */
2713         if (x == Mono_Posix_Errno_EINTR)
2714 #ifdef EINTR
2715                 {*r = EINTR; return 0;}
2716 #else /* def EINTR */
2717                 {errno = EINVAL; return -1;}
2718 #endif /* ndef EINTR */
2719         if (x == Mono_Posix_Errno_EINVAL)
2720 #ifdef EINVAL
2721                 {*r = EINVAL; return 0;}
2722 #else /* def EINVAL */
2723                 {errno = EINVAL; return -1;}
2724 #endif /* ndef EINVAL */
2725         if (x == Mono_Posix_Errno_EIO)
2726 #ifdef EIO
2727                 {*r = EIO; return 0;}
2728 #else /* def EIO */
2729                 {errno = EINVAL; return -1;}
2730 #endif /* ndef EIO */
2731         if (x == Mono_Posix_Errno_EISCONN)
2732 #ifdef EISCONN
2733                 {*r = EISCONN; return 0;}
2734 #else /* def EISCONN */
2735                 {errno = EINVAL; return -1;}
2736 #endif /* ndef EISCONN */
2737         if (x == Mono_Posix_Errno_EISDIR)
2738 #ifdef EISDIR
2739                 {*r = EISDIR; return 0;}
2740 #else /* def EISDIR */
2741                 {errno = EINVAL; return -1;}
2742 #endif /* ndef EISDIR */
2743         if (x == Mono_Posix_Errno_EISNAM)
2744 #ifdef EISNAM
2745                 {*r = EISNAM; return 0;}
2746 #else /* def EISNAM */
2747                 {errno = EINVAL; return -1;}
2748 #endif /* ndef EISNAM */
2749         if (x == Mono_Posix_Errno_EL2HLT)
2750 #ifdef EL2HLT
2751                 {*r = EL2HLT; return 0;}
2752 #else /* def EL2HLT */
2753                 {errno = EINVAL; return -1;}
2754 #endif /* ndef EL2HLT */
2755         if (x == Mono_Posix_Errno_EL2NSYNC)
2756 #ifdef EL2NSYNC
2757                 {*r = EL2NSYNC; return 0;}
2758 #else /* def EL2NSYNC */
2759                 {errno = EINVAL; return -1;}
2760 #endif /* ndef EL2NSYNC */
2761         if (x == Mono_Posix_Errno_EL3HLT)
2762 #ifdef EL3HLT
2763                 {*r = EL3HLT; return 0;}
2764 #else /* def EL3HLT */
2765                 {errno = EINVAL; return -1;}
2766 #endif /* ndef EL3HLT */
2767         if (x == Mono_Posix_Errno_EL3RST)
2768 #ifdef EL3RST
2769                 {*r = EL3RST; return 0;}
2770 #else /* def EL3RST */
2771                 {errno = EINVAL; return -1;}
2772 #endif /* ndef EL3RST */
2773         if (x == Mono_Posix_Errno_ELIBACC)
2774 #ifdef ELIBACC
2775                 {*r = ELIBACC; return 0;}
2776 #else /* def ELIBACC */
2777                 {errno = EINVAL; return -1;}
2778 #endif /* ndef ELIBACC */
2779         if (x == Mono_Posix_Errno_ELIBBAD)
2780 #ifdef ELIBBAD
2781                 {*r = ELIBBAD; return 0;}
2782 #else /* def ELIBBAD */
2783                 {errno = EINVAL; return -1;}
2784 #endif /* ndef ELIBBAD */
2785         if (x == Mono_Posix_Errno_ELIBEXEC)
2786 #ifdef ELIBEXEC
2787                 {*r = ELIBEXEC; return 0;}
2788 #else /* def ELIBEXEC */
2789                 {errno = EINVAL; return -1;}
2790 #endif /* ndef ELIBEXEC */
2791         if (x == Mono_Posix_Errno_ELIBMAX)
2792 #ifdef ELIBMAX
2793                 {*r = ELIBMAX; return 0;}
2794 #else /* def ELIBMAX */
2795                 {errno = EINVAL; return -1;}
2796 #endif /* ndef ELIBMAX */
2797         if (x == Mono_Posix_Errno_ELIBSCN)
2798 #ifdef ELIBSCN
2799                 {*r = ELIBSCN; return 0;}
2800 #else /* def ELIBSCN */
2801                 {errno = EINVAL; return -1;}
2802 #endif /* ndef ELIBSCN */
2803         if (x == Mono_Posix_Errno_ELNRNG)
2804 #ifdef ELNRNG
2805                 {*r = ELNRNG; return 0;}
2806 #else /* def ELNRNG */
2807                 {errno = EINVAL; return -1;}
2808 #endif /* ndef ELNRNG */
2809         if (x == Mono_Posix_Errno_ELOOP)
2810 #ifdef ELOOP
2811                 {*r = ELOOP; return 0;}
2812 #else /* def ELOOP */
2813                 {errno = EINVAL; return -1;}
2814 #endif /* ndef ELOOP */
2815         if (x == Mono_Posix_Errno_EMEDIUMTYPE)
2816 #ifdef EMEDIUMTYPE
2817                 {*r = EMEDIUMTYPE; return 0;}
2818 #else /* def EMEDIUMTYPE */
2819                 {errno = EINVAL; return -1;}
2820 #endif /* ndef EMEDIUMTYPE */
2821         if (x == Mono_Posix_Errno_EMFILE)
2822 #ifdef EMFILE
2823                 {*r = EMFILE; return 0;}
2824 #else /* def EMFILE */
2825                 {errno = EINVAL; return -1;}
2826 #endif /* ndef EMFILE */
2827         if (x == Mono_Posix_Errno_EMLINK)
2828 #ifdef EMLINK
2829                 {*r = EMLINK; return 0;}
2830 #else /* def EMLINK */
2831                 {errno = EINVAL; return -1;}
2832 #endif /* ndef EMLINK */
2833         if (x == Mono_Posix_Errno_EMSGSIZE)
2834 #ifdef EMSGSIZE
2835                 {*r = EMSGSIZE; return 0;}
2836 #else /* def EMSGSIZE */
2837                 {errno = EINVAL; return -1;}
2838 #endif /* ndef EMSGSIZE */
2839         if (x == Mono_Posix_Errno_EMULTIHOP)
2840 #ifdef EMULTIHOP
2841                 {*r = EMULTIHOP; return 0;}
2842 #else /* def EMULTIHOP */
2843                 {errno = EINVAL; return -1;}
2844 #endif /* ndef EMULTIHOP */
2845         if (x == Mono_Posix_Errno_ENAMETOOLONG)
2846 #ifdef ENAMETOOLONG
2847                 {*r = ENAMETOOLONG; return 0;}
2848 #else /* def ENAMETOOLONG */
2849                 {errno = EINVAL; return -1;}
2850 #endif /* ndef ENAMETOOLONG */
2851         if (x == Mono_Posix_Errno_ENAVAIL)
2852 #ifdef ENAVAIL
2853                 {*r = ENAVAIL; return 0;}
2854 #else /* def ENAVAIL */
2855                 {errno = EINVAL; return -1;}
2856 #endif /* ndef ENAVAIL */
2857         if (x == Mono_Posix_Errno_ENETDOWN)
2858 #ifdef ENETDOWN
2859                 {*r = ENETDOWN; return 0;}
2860 #else /* def ENETDOWN */
2861                 {errno = EINVAL; return -1;}
2862 #endif /* ndef ENETDOWN */
2863         if (x == Mono_Posix_Errno_ENETRESET)
2864 #ifdef ENETRESET
2865                 {*r = ENETRESET; return 0;}
2866 #else /* def ENETRESET */
2867                 {errno = EINVAL; return -1;}
2868 #endif /* ndef ENETRESET */
2869         if (x == Mono_Posix_Errno_ENETUNREACH)
2870 #ifdef ENETUNREACH
2871                 {*r = ENETUNREACH; return 0;}
2872 #else /* def ENETUNREACH */
2873                 {errno = EINVAL; return -1;}
2874 #endif /* ndef ENETUNREACH */
2875         if (x == Mono_Posix_Errno_ENFILE)
2876 #ifdef ENFILE
2877                 {*r = ENFILE; return 0;}
2878 #else /* def ENFILE */
2879                 {errno = EINVAL; return -1;}
2880 #endif /* ndef ENFILE */
2881         if (x == Mono_Posix_Errno_ENOANO)
2882 #ifdef ENOANO
2883                 {*r = ENOANO; return 0;}
2884 #else /* def ENOANO */
2885                 {errno = EINVAL; return -1;}
2886 #endif /* ndef ENOANO */
2887         if (x == Mono_Posix_Errno_ENOBUFS)
2888 #ifdef ENOBUFS
2889                 {*r = ENOBUFS; return 0;}
2890 #else /* def ENOBUFS */
2891                 {errno = EINVAL; return -1;}
2892 #endif /* ndef ENOBUFS */
2893         if (x == Mono_Posix_Errno_ENOCSI)
2894 #ifdef ENOCSI
2895                 {*r = ENOCSI; return 0;}
2896 #else /* def ENOCSI */
2897                 {errno = EINVAL; return -1;}
2898 #endif /* ndef ENOCSI */
2899         if (x == Mono_Posix_Errno_ENODATA)
2900 #ifdef ENODATA
2901                 {*r = ENODATA; return 0;}
2902 #else /* def ENODATA */
2903                 {errno = EINVAL; return -1;}
2904 #endif /* ndef ENODATA */
2905         if (x == Mono_Posix_Errno_ENODEV)
2906 #ifdef ENODEV
2907                 {*r = ENODEV; return 0;}
2908 #else /* def ENODEV */
2909                 {errno = EINVAL; return -1;}
2910 #endif /* ndef ENODEV */
2911         if (x == Mono_Posix_Errno_ENOENT)
2912 #ifdef ENOENT
2913                 {*r = ENOENT; return 0;}
2914 #else /* def ENOENT */
2915                 {errno = EINVAL; return -1;}
2916 #endif /* ndef ENOENT */
2917         if (x == Mono_Posix_Errno_ENOEXEC)
2918 #ifdef ENOEXEC
2919                 {*r = ENOEXEC; return 0;}
2920 #else /* def ENOEXEC */
2921                 {errno = EINVAL; return -1;}
2922 #endif /* ndef ENOEXEC */
2923         if (x == Mono_Posix_Errno_ENOLCK)
2924 #ifdef ENOLCK
2925                 {*r = ENOLCK; return 0;}
2926 #else /* def ENOLCK */
2927                 {errno = EINVAL; return -1;}
2928 #endif /* ndef ENOLCK */
2929         if (x == Mono_Posix_Errno_ENOLINK)
2930 #ifdef ENOLINK
2931                 {*r = ENOLINK; return 0;}
2932 #else /* def ENOLINK */
2933                 {errno = EINVAL; return -1;}
2934 #endif /* ndef ENOLINK */
2935         if (x == Mono_Posix_Errno_ENOMEDIUM)
2936 #ifdef ENOMEDIUM
2937                 {*r = ENOMEDIUM; return 0;}
2938 #else /* def ENOMEDIUM */
2939                 {errno = EINVAL; return -1;}
2940 #endif /* ndef ENOMEDIUM */
2941         if (x == Mono_Posix_Errno_ENOMEM)
2942 #ifdef ENOMEM
2943                 {*r = ENOMEM; return 0;}
2944 #else /* def ENOMEM */
2945                 {errno = EINVAL; return -1;}
2946 #endif /* ndef ENOMEM */
2947         if (x == Mono_Posix_Errno_ENOMSG)
2948 #ifdef ENOMSG
2949                 {*r = ENOMSG; return 0;}
2950 #else /* def ENOMSG */
2951                 {errno = EINVAL; return -1;}
2952 #endif /* ndef ENOMSG */
2953         if (x == Mono_Posix_Errno_ENONET)
2954 #ifdef ENONET
2955                 {*r = ENONET; return 0;}
2956 #else /* def ENONET */
2957                 {errno = EINVAL; return -1;}
2958 #endif /* ndef ENONET */
2959         if (x == Mono_Posix_Errno_ENOPKG)
2960 #ifdef ENOPKG
2961                 {*r = ENOPKG; return 0;}
2962 #else /* def ENOPKG */
2963                 {errno = EINVAL; return -1;}
2964 #endif /* ndef ENOPKG */
2965         if (x == Mono_Posix_Errno_ENOPROTOOPT)
2966 #ifdef ENOPROTOOPT
2967                 {*r = ENOPROTOOPT; return 0;}
2968 #else /* def ENOPROTOOPT */
2969                 {errno = EINVAL; return -1;}
2970 #endif /* ndef ENOPROTOOPT */
2971         if (x == Mono_Posix_Errno_ENOSPC)
2972 #ifdef ENOSPC
2973                 {*r = ENOSPC; return 0;}
2974 #else /* def ENOSPC */
2975                 {errno = EINVAL; return -1;}
2976 #endif /* ndef ENOSPC */
2977         if (x == Mono_Posix_Errno_ENOSR)
2978 #ifdef ENOSR
2979                 {*r = ENOSR; return 0;}
2980 #else /* def ENOSR */
2981                 {errno = EINVAL; return -1;}
2982 #endif /* ndef ENOSR */
2983         if (x == Mono_Posix_Errno_ENOSTR)
2984 #ifdef ENOSTR
2985                 {*r = ENOSTR; return 0;}
2986 #else /* def ENOSTR */
2987                 {errno = EINVAL; return -1;}
2988 #endif /* ndef ENOSTR */
2989         if (x == Mono_Posix_Errno_ENOSYS)
2990 #ifdef ENOSYS
2991                 {*r = ENOSYS; return 0;}
2992 #else /* def ENOSYS */
2993                 {errno = EINVAL; return -1;}
2994 #endif /* ndef ENOSYS */
2995         if (x == Mono_Posix_Errno_ENOTBLK)
2996 #ifdef ENOTBLK
2997                 {*r = ENOTBLK; return 0;}
2998 #else /* def ENOTBLK */
2999                 {errno = EINVAL; return -1;}
3000 #endif /* ndef ENOTBLK */
3001         if (x == Mono_Posix_Errno_ENOTCONN)
3002 #ifdef ENOTCONN
3003                 {*r = ENOTCONN; return 0;}
3004 #else /* def ENOTCONN */
3005                 {errno = EINVAL; return -1;}
3006 #endif /* ndef ENOTCONN */
3007         if (x == Mono_Posix_Errno_ENOTDIR)
3008 #ifdef ENOTDIR
3009                 {*r = ENOTDIR; return 0;}
3010 #else /* def ENOTDIR */
3011                 {errno = EINVAL; return -1;}
3012 #endif /* ndef ENOTDIR */
3013         if (x == Mono_Posix_Errno_ENOTEMPTY)
3014 #ifdef ENOTEMPTY
3015                 {*r = ENOTEMPTY; return 0;}
3016 #else /* def ENOTEMPTY */
3017                 {errno = EINVAL; return -1;}
3018 #endif /* ndef ENOTEMPTY */
3019         if (x == Mono_Posix_Errno_ENOTNAM)
3020 #ifdef ENOTNAM
3021                 {*r = ENOTNAM; return 0;}
3022 #else /* def ENOTNAM */
3023                 {errno = EINVAL; return -1;}
3024 #endif /* ndef ENOTNAM */
3025         if (x == Mono_Posix_Errno_ENOTSOCK)
3026 #ifdef ENOTSOCK
3027                 {*r = ENOTSOCK; return 0;}
3028 #else /* def ENOTSOCK */
3029                 {errno = EINVAL; return -1;}
3030 #endif /* ndef ENOTSOCK */
3031         if (x == Mono_Posix_Errno_ENOTTY)
3032 #ifdef ENOTTY
3033                 {*r = ENOTTY; return 0;}
3034 #else /* def ENOTTY */
3035                 {errno = EINVAL; return -1;}
3036 #endif /* ndef ENOTTY */
3037         if (x == Mono_Posix_Errno_ENOTUNIQ)
3038 #ifdef ENOTUNIQ
3039                 {*r = ENOTUNIQ; return 0;}
3040 #else /* def ENOTUNIQ */
3041                 {errno = EINVAL; return -1;}
3042 #endif /* ndef ENOTUNIQ */
3043         if (x == Mono_Posix_Errno_ENXIO)
3044 #ifdef ENXIO
3045                 {*r = ENXIO; return 0;}
3046 #else /* def ENXIO */
3047                 {errno = EINVAL; return -1;}
3048 #endif /* ndef ENXIO */
3049         if (x == Mono_Posix_Errno_EOPNOTSUPP)
3050 #ifdef EOPNOTSUPP
3051                 {*r = EOPNOTSUPP; return 0;}
3052 #else /* def EOPNOTSUPP */
3053                 {errno = EINVAL; return -1;}
3054 #endif /* ndef EOPNOTSUPP */
3055         if (x == Mono_Posix_Errno_EOVERFLOW)
3056 #ifdef EOVERFLOW
3057                 {*r = EOVERFLOW; return 0;}
3058 #else /* def EOVERFLOW */
3059                 {errno = EINVAL; return -1;}
3060 #endif /* ndef EOVERFLOW */
3061         if (x == Mono_Posix_Errno_EPERM)
3062 #ifdef EPERM
3063                 {*r = EPERM; return 0;}
3064 #else /* def EPERM */
3065                 {errno = EINVAL; return -1;}
3066 #endif /* ndef EPERM */
3067         if (x == Mono_Posix_Errno_EPFNOSUPPORT)
3068 #ifdef EPFNOSUPPORT
3069                 {*r = EPFNOSUPPORT; return 0;}
3070 #else /* def EPFNOSUPPORT */
3071                 {errno = EINVAL; return -1;}
3072 #endif /* ndef EPFNOSUPPORT */
3073         if (x == Mono_Posix_Errno_EPIPE)
3074 #ifdef EPIPE
3075                 {*r = EPIPE; return 0;}
3076 #else /* def EPIPE */
3077                 {errno = EINVAL; return -1;}
3078 #endif /* ndef EPIPE */
3079         if (x == Mono_Posix_Errno_EPROTO)
3080 #ifdef EPROTO
3081                 {*r = EPROTO; return 0;}
3082 #else /* def EPROTO */
3083                 {errno = EINVAL; return -1;}
3084 #endif /* ndef EPROTO */
3085         if (x == Mono_Posix_Errno_EPROTONOSUPPORT)
3086 #ifdef EPROTONOSUPPORT
3087                 {*r = EPROTONOSUPPORT; return 0;}
3088 #else /* def EPROTONOSUPPORT */
3089                 {errno = EINVAL; return -1;}
3090 #endif /* ndef EPROTONOSUPPORT */
3091         if (x == Mono_Posix_Errno_EPROTOTYPE)
3092 #ifdef EPROTOTYPE
3093                 {*r = EPROTOTYPE; return 0;}
3094 #else /* def EPROTOTYPE */
3095                 {errno = EINVAL; return -1;}
3096 #endif /* ndef EPROTOTYPE */
3097         if (x == Mono_Posix_Errno_ERANGE)
3098 #ifdef ERANGE
3099                 {*r = ERANGE; return 0;}
3100 #else /* def ERANGE */
3101                 {errno = EINVAL; return -1;}
3102 #endif /* ndef ERANGE */
3103         if (x == Mono_Posix_Errno_EREMCHG)
3104 #ifdef EREMCHG
3105                 {*r = EREMCHG; return 0;}
3106 #else /* def EREMCHG */
3107                 {errno = EINVAL; return -1;}
3108 #endif /* ndef EREMCHG */
3109         if (x == Mono_Posix_Errno_EREMOTE)
3110 #ifdef EREMOTE
3111                 {*r = EREMOTE; return 0;}
3112 #else /* def EREMOTE */
3113                 {errno = EINVAL; return -1;}
3114 #endif /* ndef EREMOTE */
3115         if (x == Mono_Posix_Errno_EREMOTEIO)
3116 #ifdef EREMOTEIO
3117                 {*r = EREMOTEIO; return 0;}
3118 #else /* def EREMOTEIO */
3119                 {errno = EINVAL; return -1;}
3120 #endif /* ndef EREMOTEIO */
3121         if (x == Mono_Posix_Errno_ERESTART)
3122 #ifdef ERESTART
3123                 {*r = ERESTART; return 0;}
3124 #else /* def ERESTART */
3125                 {errno = EINVAL; return -1;}
3126 #endif /* ndef ERESTART */
3127         if (x == Mono_Posix_Errno_EROFS)
3128 #ifdef EROFS
3129                 {*r = EROFS; return 0;}
3130 #else /* def EROFS */
3131                 {errno = EINVAL; return -1;}
3132 #endif /* ndef EROFS */
3133         if (x == Mono_Posix_Errno_ESHUTDOWN)
3134 #ifdef ESHUTDOWN
3135                 {*r = ESHUTDOWN; return 0;}
3136 #else /* def ESHUTDOWN */
3137                 {errno = EINVAL; return -1;}
3138 #endif /* ndef ESHUTDOWN */
3139         if (x == Mono_Posix_Errno_ESOCKTNOSUPPORT)
3140 #ifdef ESOCKTNOSUPPORT
3141                 {*r = ESOCKTNOSUPPORT; return 0;}
3142 #else /* def ESOCKTNOSUPPORT */
3143                 {errno = EINVAL; return -1;}
3144 #endif /* ndef ESOCKTNOSUPPORT */
3145         if (x == Mono_Posix_Errno_ESPIPE)
3146 #ifdef ESPIPE
3147                 {*r = ESPIPE; return 0;}
3148 #else /* def ESPIPE */
3149                 {errno = EINVAL; return -1;}
3150 #endif /* ndef ESPIPE */
3151         if (x == Mono_Posix_Errno_ESRCH)
3152 #ifdef ESRCH
3153                 {*r = ESRCH; return 0;}
3154 #else /* def ESRCH */
3155                 {errno = EINVAL; return -1;}
3156 #endif /* ndef ESRCH */
3157         if (x == Mono_Posix_Errno_ESRMNT)
3158 #ifdef ESRMNT
3159                 {*r = ESRMNT; return 0;}
3160 #else /* def ESRMNT */
3161                 {errno = EINVAL; return -1;}
3162 #endif /* ndef ESRMNT */
3163         if (x == Mono_Posix_Errno_ESTALE)
3164 #ifdef ESTALE
3165                 {*r = ESTALE; return 0;}
3166 #else /* def ESTALE */
3167                 {errno = EINVAL; return -1;}
3168 #endif /* ndef ESTALE */
3169         if (x == Mono_Posix_Errno_ESTRPIPE)
3170 #ifdef ESTRPIPE
3171                 {*r = ESTRPIPE; return 0;}
3172 #else /* def ESTRPIPE */
3173                 {errno = EINVAL; return -1;}
3174 #endif /* ndef ESTRPIPE */
3175         if (x == Mono_Posix_Errno_ETIME)
3176 #ifdef ETIME
3177                 {*r = ETIME; return 0;}
3178 #else /* def ETIME */
3179                 {errno = EINVAL; return -1;}
3180 #endif /* ndef ETIME */
3181         if (x == Mono_Posix_Errno_ETIMEDOUT)
3182 #ifdef ETIMEDOUT
3183                 {*r = ETIMEDOUT; return 0;}
3184 #else /* def ETIMEDOUT */
3185                 {errno = EINVAL; return -1;}
3186 #endif /* ndef ETIMEDOUT */
3187         if (x == Mono_Posix_Errno_ETOOMANYREFS)
3188 #ifdef ETOOMANYREFS
3189                 {*r = ETOOMANYREFS; return 0;}
3190 #else /* def ETOOMANYREFS */
3191                 {errno = EINVAL; return -1;}
3192 #endif /* ndef ETOOMANYREFS */
3193         if (x == Mono_Posix_Errno_ETXTBSY)
3194 #ifdef ETXTBSY
3195                 {*r = ETXTBSY; return 0;}
3196 #else /* def ETXTBSY */
3197                 {errno = EINVAL; return -1;}
3198 #endif /* ndef ETXTBSY */
3199         if (x == Mono_Posix_Errno_EUCLEAN)
3200 #ifdef EUCLEAN
3201                 {*r = EUCLEAN; return 0;}
3202 #else /* def EUCLEAN */
3203                 {errno = EINVAL; return -1;}
3204 #endif /* ndef EUCLEAN */
3205         if (x == Mono_Posix_Errno_EUNATCH)
3206 #ifdef EUNATCH
3207                 {*r = EUNATCH; return 0;}
3208 #else /* def EUNATCH */
3209                 {errno = EINVAL; return -1;}
3210 #endif /* ndef EUNATCH */
3211         if (x == Mono_Posix_Errno_EUSERS)
3212 #ifdef EUSERS
3213                 {*r = EUSERS; return 0;}
3214 #else /* def EUSERS */
3215                 {errno = EINVAL; return -1;}
3216 #endif /* ndef EUSERS */
3217         if (x == Mono_Posix_Errno_EWOULDBLOCK)
3218 #ifdef EWOULDBLOCK
3219                 {*r = EWOULDBLOCK; return 0;}
3220 #else /* def EWOULDBLOCK */
3221                 {errno = EINVAL; return -1;}
3222 #endif /* ndef EWOULDBLOCK */
3223         if (x == Mono_Posix_Errno_EXDEV)
3224 #ifdef EXDEV
3225                 {*r = EXDEV; return 0;}
3226 #else /* def EXDEV */
3227                 {errno = EINVAL; return -1;}
3228 #endif /* ndef EXDEV */
3229         if (x == Mono_Posix_Errno_EXFULL)
3230 #ifdef EXFULL
3231                 {*r = EXFULL; return 0;}
3232 #else /* def EXFULL */
3233                 {errno = EINVAL; return -1;}
3234 #endif /* ndef EXFULL */
3235         errno = EINVAL; return -1;
3236 }
3237
3238 int Mono_Posix_ToErrno (int x, int *r)
3239 {
3240         *r = 0;
3241         if (x == 0)
3242                 return 0;
3243 #ifdef E2BIG
3244         if (x == E2BIG)
3245                 {*r = Mono_Posix_Errno_E2BIG; return 0;}
3246 #endif /* ndef E2BIG */
3247 #ifdef EACCES
3248         if (x == EACCES)
3249                 {*r = Mono_Posix_Errno_EACCES; return 0;}
3250 #endif /* ndef EACCES */
3251 #ifdef EADDRINUSE
3252         if (x == EADDRINUSE)
3253                 {*r = Mono_Posix_Errno_EADDRINUSE; return 0;}
3254 #endif /* ndef EADDRINUSE */
3255 #ifdef EADDRNOTAVAIL
3256         if (x == EADDRNOTAVAIL)
3257                 {*r = Mono_Posix_Errno_EADDRNOTAVAIL; return 0;}
3258 #endif /* ndef EADDRNOTAVAIL */
3259 #ifdef EADV
3260         if (x == EADV)
3261                 {*r = Mono_Posix_Errno_EADV; return 0;}
3262 #endif /* ndef EADV */
3263 #ifdef EAFNOSUPPORT
3264         if (x == EAFNOSUPPORT)
3265                 {*r = Mono_Posix_Errno_EAFNOSUPPORT; return 0;}
3266 #endif /* ndef EAFNOSUPPORT */
3267 #ifdef EAGAIN
3268         if (x == EAGAIN)
3269                 {*r = Mono_Posix_Errno_EAGAIN; return 0;}
3270 #endif /* ndef EAGAIN */
3271 #ifdef EALREADY
3272         if (x == EALREADY)
3273                 {*r = Mono_Posix_Errno_EALREADY; return 0;}
3274 #endif /* ndef EALREADY */
3275 #ifdef EBADE
3276         if (x == EBADE)
3277                 {*r = Mono_Posix_Errno_EBADE; return 0;}
3278 #endif /* ndef EBADE */
3279 #ifdef EBADF
3280         if (x == EBADF)
3281                 {*r = Mono_Posix_Errno_EBADF; return 0;}
3282 #endif /* ndef EBADF */
3283 #ifdef EBADFD
3284         if (x == EBADFD)
3285                 {*r = Mono_Posix_Errno_EBADFD; return 0;}
3286 #endif /* ndef EBADFD */
3287 #ifdef EBADMSG
3288         if (x == EBADMSG)
3289                 {*r = Mono_Posix_Errno_EBADMSG; return 0;}
3290 #endif /* ndef EBADMSG */
3291 #ifdef EBADR
3292         if (x == EBADR)
3293                 {*r = Mono_Posix_Errno_EBADR; return 0;}
3294 #endif /* ndef EBADR */
3295 #ifdef EBADRQC
3296         if (x == EBADRQC)
3297                 {*r = Mono_Posix_Errno_EBADRQC; return 0;}
3298 #endif /* ndef EBADRQC */
3299 #ifdef EBADSLT
3300         if (x == EBADSLT)
3301                 {*r = Mono_Posix_Errno_EBADSLT; return 0;}
3302 #endif /* ndef EBADSLT */
3303 #ifdef EBFONT
3304         if (x == EBFONT)
3305                 {*r = Mono_Posix_Errno_EBFONT; return 0;}
3306 #endif /* ndef EBFONT */
3307 #ifdef EBUSY
3308         if (x == EBUSY)
3309                 {*r = Mono_Posix_Errno_EBUSY; return 0;}
3310 #endif /* ndef EBUSY */
3311 #ifdef ECHILD
3312         if (x == ECHILD)
3313                 {*r = Mono_Posix_Errno_ECHILD; return 0;}
3314 #endif /* ndef ECHILD */
3315 #ifdef ECHRNG
3316         if (x == ECHRNG)
3317                 {*r = Mono_Posix_Errno_ECHRNG; return 0;}
3318 #endif /* ndef ECHRNG */
3319 #ifdef ECOMM
3320         if (x == ECOMM)
3321                 {*r = Mono_Posix_Errno_ECOMM; return 0;}
3322 #endif /* ndef ECOMM */
3323 #ifdef ECONNABORTED
3324         if (x == ECONNABORTED)
3325                 {*r = Mono_Posix_Errno_ECONNABORTED; return 0;}
3326 #endif /* ndef ECONNABORTED */
3327 #ifdef ECONNREFUSED
3328         if (x == ECONNREFUSED)
3329                 {*r = Mono_Posix_Errno_ECONNREFUSED; return 0;}
3330 #endif /* ndef ECONNREFUSED */
3331 #ifdef ECONNRESET
3332         if (x == ECONNRESET)
3333                 {*r = Mono_Posix_Errno_ECONNRESET; return 0;}
3334 #endif /* ndef ECONNRESET */
3335 #ifdef EDEADLK
3336         if (x == EDEADLK)
3337                 {*r = Mono_Posix_Errno_EDEADLK; return 0;}
3338 #endif /* ndef EDEADLK */
3339 #ifdef EDEADLOCK
3340         if (x == EDEADLOCK)
3341                 {*r = Mono_Posix_Errno_EDEADLOCK; return 0;}
3342 #endif /* ndef EDEADLOCK */
3343 #ifdef EDESTADDRREQ
3344         if (x == EDESTADDRREQ)
3345                 {*r = Mono_Posix_Errno_EDESTADDRREQ; return 0;}
3346 #endif /* ndef EDESTADDRREQ */
3347 #ifdef EDOM
3348         if (x == EDOM)
3349                 {*r = Mono_Posix_Errno_EDOM; return 0;}
3350 #endif /* ndef EDOM */
3351 #ifdef EDOTDOT
3352         if (x == EDOTDOT)
3353                 {*r = Mono_Posix_Errno_EDOTDOT; return 0;}
3354 #endif /* ndef EDOTDOT */
3355 #ifdef EDQUOT
3356         if (x == EDQUOT)
3357                 {*r = Mono_Posix_Errno_EDQUOT; return 0;}
3358 #endif /* ndef EDQUOT */
3359 #ifdef EEXIST
3360         if (x == EEXIST)
3361                 {*r = Mono_Posix_Errno_EEXIST; return 0;}
3362 #endif /* ndef EEXIST */
3363 #ifdef EFAULT
3364         if (x == EFAULT)
3365                 {*r = Mono_Posix_Errno_EFAULT; return 0;}
3366 #endif /* ndef EFAULT */
3367 #ifdef EFBIG
3368         if (x == EFBIG)
3369                 {*r = Mono_Posix_Errno_EFBIG; return 0;}
3370 #endif /* ndef EFBIG */
3371 #ifdef EHOSTDOWN
3372         if (x == EHOSTDOWN)
3373                 {*r = Mono_Posix_Errno_EHOSTDOWN; return 0;}
3374 #endif /* ndef EHOSTDOWN */
3375 #ifdef EHOSTUNREACH
3376         if (x == EHOSTUNREACH)
3377                 {*r = Mono_Posix_Errno_EHOSTUNREACH; return 0;}
3378 #endif /* ndef EHOSTUNREACH */
3379 #ifdef EIDRM
3380         if (x == EIDRM)
3381                 {*r = Mono_Posix_Errno_EIDRM; return 0;}
3382 #endif /* ndef EIDRM */
3383 #ifdef EILSEQ
3384         if (x == EILSEQ)
3385                 {*r = Mono_Posix_Errno_EILSEQ; return 0;}
3386 #endif /* ndef EILSEQ */
3387 #ifdef EINPROGRESS
3388         if (x == EINPROGRESS)
3389                 {*r = Mono_Posix_Errno_EINPROGRESS; return 0;}
3390 #endif /* ndef EINPROGRESS */
3391 #ifdef EINTR
3392         if (x == EINTR)
3393                 {*r = Mono_Posix_Errno_EINTR; return 0;}
3394 #endif /* ndef EINTR */
3395 #ifdef EINVAL
3396         if (x == EINVAL)
3397                 {*r = Mono_Posix_Errno_EINVAL; return 0;}
3398 #endif /* ndef EINVAL */
3399 #ifdef EIO
3400         if (x == EIO)
3401                 {*r = Mono_Posix_Errno_EIO; return 0;}
3402 #endif /* ndef EIO */
3403 #ifdef EISCONN
3404         if (x == EISCONN)
3405                 {*r = Mono_Posix_Errno_EISCONN; return 0;}
3406 #endif /* ndef EISCONN */
3407 #ifdef EISDIR
3408         if (x == EISDIR)
3409                 {*r = Mono_Posix_Errno_EISDIR; return 0;}
3410 #endif /* ndef EISDIR */
3411 #ifdef EISNAM
3412         if (x == EISNAM)
3413                 {*r = Mono_Posix_Errno_EISNAM; return 0;}
3414 #endif /* ndef EISNAM */
3415 #ifdef EL2HLT
3416         if (x == EL2HLT)
3417                 {*r = Mono_Posix_Errno_EL2HLT; return 0;}
3418 #endif /* ndef EL2HLT */
3419 #ifdef EL2NSYNC
3420         if (x == EL2NSYNC)
3421                 {*r = Mono_Posix_Errno_EL2NSYNC; return 0;}
3422 #endif /* ndef EL2NSYNC */
3423 #ifdef EL3HLT
3424         if (x == EL3HLT)
3425                 {*r = Mono_Posix_Errno_EL3HLT; return 0;}
3426 #endif /* ndef EL3HLT */
3427 #ifdef EL3RST
3428         if (x == EL3RST)
3429                 {*r = Mono_Posix_Errno_EL3RST; return 0;}
3430 #endif /* ndef EL3RST */
3431 #ifdef ELIBACC
3432         if (x == ELIBACC)
3433                 {*r = Mono_Posix_Errno_ELIBACC; return 0;}
3434 #endif /* ndef ELIBACC */
3435 #ifdef ELIBBAD
3436         if (x == ELIBBAD)
3437                 {*r = Mono_Posix_Errno_ELIBBAD; return 0;}
3438 #endif /* ndef ELIBBAD */
3439 #ifdef ELIBEXEC
3440         if (x == ELIBEXEC)
3441                 {*r = Mono_Posix_Errno_ELIBEXEC; return 0;}
3442 #endif /* ndef ELIBEXEC */
3443 #ifdef ELIBMAX
3444         if (x == ELIBMAX)
3445                 {*r = Mono_Posix_Errno_ELIBMAX; return 0;}
3446 #endif /* ndef ELIBMAX */
3447 #ifdef ELIBSCN
3448         if (x == ELIBSCN)
3449                 {*r = Mono_Posix_Errno_ELIBSCN; return 0;}
3450 #endif /* ndef ELIBSCN */
3451 #ifdef ELNRNG
3452         if (x == ELNRNG)
3453                 {*r = Mono_Posix_Errno_ELNRNG; return 0;}
3454 #endif /* ndef ELNRNG */
3455 #ifdef ELOOP
3456         if (x == ELOOP)
3457                 {*r = Mono_Posix_Errno_ELOOP; return 0;}
3458 #endif /* ndef ELOOP */
3459 #ifdef EMEDIUMTYPE
3460         if (x == EMEDIUMTYPE)
3461                 {*r = Mono_Posix_Errno_EMEDIUMTYPE; return 0;}
3462 #endif /* ndef EMEDIUMTYPE */
3463 #ifdef EMFILE
3464         if (x == EMFILE)
3465                 {*r = Mono_Posix_Errno_EMFILE; return 0;}
3466 #endif /* ndef EMFILE */
3467 #ifdef EMLINK
3468         if (x == EMLINK)
3469                 {*r = Mono_Posix_Errno_EMLINK; return 0;}
3470 #endif /* ndef EMLINK */
3471 #ifdef EMSGSIZE
3472         if (x == EMSGSIZE)
3473                 {*r = Mono_Posix_Errno_EMSGSIZE; return 0;}
3474 #endif /* ndef EMSGSIZE */
3475 #ifdef EMULTIHOP
3476         if (x == EMULTIHOP)
3477                 {*r = Mono_Posix_Errno_EMULTIHOP; return 0;}
3478 #endif /* ndef EMULTIHOP */
3479 #ifdef ENAMETOOLONG
3480         if (x == ENAMETOOLONG)
3481                 {*r = Mono_Posix_Errno_ENAMETOOLONG; return 0;}
3482 #endif /* ndef ENAMETOOLONG */
3483 #ifdef ENAVAIL
3484         if (x == ENAVAIL)
3485                 {*r = Mono_Posix_Errno_ENAVAIL; return 0;}
3486 #endif /* ndef ENAVAIL */
3487 #ifdef ENETDOWN
3488         if (x == ENETDOWN)
3489                 {*r = Mono_Posix_Errno_ENETDOWN; return 0;}
3490 #endif /* ndef ENETDOWN */
3491 #ifdef ENETRESET
3492         if (x == ENETRESET)
3493                 {*r = Mono_Posix_Errno_ENETRESET; return 0;}
3494 #endif /* ndef ENETRESET */
3495 #ifdef ENETUNREACH
3496         if (x == ENETUNREACH)
3497                 {*r = Mono_Posix_Errno_ENETUNREACH; return 0;}
3498 #endif /* ndef ENETUNREACH */
3499 #ifdef ENFILE
3500         if (x == ENFILE)
3501                 {*r = Mono_Posix_Errno_ENFILE; return 0;}
3502 #endif /* ndef ENFILE */
3503 #ifdef ENOANO
3504         if (x == ENOANO)
3505                 {*r = Mono_Posix_Errno_ENOANO; return 0;}
3506 #endif /* ndef ENOANO */
3507 #ifdef ENOBUFS
3508         if (x == ENOBUFS)
3509                 {*r = Mono_Posix_Errno_ENOBUFS; return 0;}
3510 #endif /* ndef ENOBUFS */
3511 #ifdef ENOCSI
3512         if (x == ENOCSI)
3513                 {*r = Mono_Posix_Errno_ENOCSI; return 0;}
3514 #endif /* ndef ENOCSI */
3515 #ifdef ENODATA
3516         if (x == ENODATA)
3517                 {*r = Mono_Posix_Errno_ENODATA; return 0;}
3518 #endif /* ndef ENODATA */
3519 #ifdef ENODEV
3520         if (x == ENODEV)
3521                 {*r = Mono_Posix_Errno_ENODEV; return 0;}
3522 #endif /* ndef ENODEV */
3523 #ifdef ENOENT
3524         if (x == ENOENT)
3525                 {*r = Mono_Posix_Errno_ENOENT; return 0;}
3526 #endif /* ndef ENOENT */
3527 #ifdef ENOEXEC
3528         if (x == ENOEXEC)
3529                 {*r = Mono_Posix_Errno_ENOEXEC; return 0;}
3530 #endif /* ndef ENOEXEC */
3531 #ifdef ENOLCK
3532         if (x == ENOLCK)
3533                 {*r = Mono_Posix_Errno_ENOLCK; return 0;}
3534 #endif /* ndef ENOLCK */
3535 #ifdef ENOLINK
3536         if (x == ENOLINK)
3537                 {*r = Mono_Posix_Errno_ENOLINK; return 0;}
3538 #endif /* ndef ENOLINK */
3539 #ifdef ENOMEDIUM
3540         if (x == ENOMEDIUM)
3541                 {*r = Mono_Posix_Errno_ENOMEDIUM; return 0;}
3542 #endif /* ndef ENOMEDIUM */
3543 #ifdef ENOMEM
3544         if (x == ENOMEM)
3545                 {*r = Mono_Posix_Errno_ENOMEM; return 0;}
3546 #endif /* ndef ENOMEM */
3547 #ifdef ENOMSG
3548         if (x == ENOMSG)
3549                 {*r = Mono_Posix_Errno_ENOMSG; return 0;}
3550 #endif /* ndef ENOMSG */
3551 #ifdef ENONET
3552         if (x == ENONET)
3553                 {*r = Mono_Posix_Errno_ENONET; return 0;}
3554 #endif /* ndef ENONET */
3555 #ifdef ENOPKG
3556         if (x == ENOPKG)
3557                 {*r = Mono_Posix_Errno_ENOPKG; return 0;}
3558 #endif /* ndef ENOPKG */
3559 #ifdef ENOPROTOOPT
3560         if (x == ENOPROTOOPT)
3561                 {*r = Mono_Posix_Errno_ENOPROTOOPT; return 0;}
3562 #endif /* ndef ENOPROTOOPT */
3563 #ifdef ENOSPC
3564         if (x == ENOSPC)
3565                 {*r = Mono_Posix_Errno_ENOSPC; return 0;}
3566 #endif /* ndef ENOSPC */
3567 #ifdef ENOSR
3568         if (x == ENOSR)
3569                 {*r = Mono_Posix_Errno_ENOSR; return 0;}
3570 #endif /* ndef ENOSR */
3571 #ifdef ENOSTR
3572         if (x == ENOSTR)
3573                 {*r = Mono_Posix_Errno_ENOSTR; return 0;}
3574 #endif /* ndef ENOSTR */
3575 #ifdef ENOSYS
3576         if (x == ENOSYS)
3577                 {*r = Mono_Posix_Errno_ENOSYS; return 0;}
3578 #endif /* ndef ENOSYS */
3579 #ifdef ENOTBLK
3580         if (x == ENOTBLK)
3581                 {*r = Mono_Posix_Errno_ENOTBLK; return 0;}
3582 #endif /* ndef ENOTBLK */
3583 #ifdef ENOTCONN
3584         if (x == ENOTCONN)
3585                 {*r = Mono_Posix_Errno_ENOTCONN; return 0;}
3586 #endif /* ndef ENOTCONN */
3587 #ifdef ENOTDIR
3588         if (x == ENOTDIR)
3589                 {*r = Mono_Posix_Errno_ENOTDIR; return 0;}
3590 #endif /* ndef ENOTDIR */
3591 #ifdef ENOTEMPTY
3592         if (x == ENOTEMPTY)
3593                 {*r = Mono_Posix_Errno_ENOTEMPTY; return 0;}
3594 #endif /* ndef ENOTEMPTY */
3595 #ifdef ENOTNAM
3596         if (x == ENOTNAM)
3597                 {*r = Mono_Posix_Errno_ENOTNAM; return 0;}
3598 #endif /* ndef ENOTNAM */
3599 #ifdef ENOTSOCK
3600         if (x == ENOTSOCK)
3601                 {*r = Mono_Posix_Errno_ENOTSOCK; return 0;}
3602 #endif /* ndef ENOTSOCK */
3603 #ifdef ENOTTY
3604         if (x == ENOTTY)
3605                 {*r = Mono_Posix_Errno_ENOTTY; return 0;}
3606 #endif /* ndef ENOTTY */
3607 #ifdef ENOTUNIQ
3608         if (x == ENOTUNIQ)
3609                 {*r = Mono_Posix_Errno_ENOTUNIQ; return 0;}
3610 #endif /* ndef ENOTUNIQ */
3611 #ifdef ENXIO
3612         if (x == ENXIO)
3613                 {*r = Mono_Posix_Errno_ENXIO; return 0;}
3614 #endif /* ndef ENXIO */
3615 #ifdef EOPNOTSUPP
3616         if (x == EOPNOTSUPP)
3617                 {*r = Mono_Posix_Errno_EOPNOTSUPP; return 0;}
3618 #endif /* ndef EOPNOTSUPP */
3619 #ifdef EOVERFLOW
3620         if (x == EOVERFLOW)
3621                 {*r = Mono_Posix_Errno_EOVERFLOW; return 0;}
3622 #endif /* ndef EOVERFLOW */
3623 #ifdef EPERM
3624         if (x == EPERM)
3625                 {*r = Mono_Posix_Errno_EPERM; return 0;}
3626 #endif /* ndef EPERM */
3627 #ifdef EPFNOSUPPORT
3628         if (x == EPFNOSUPPORT)
3629                 {*r = Mono_Posix_Errno_EPFNOSUPPORT; return 0;}
3630 #endif /* ndef EPFNOSUPPORT */
3631 #ifdef EPIPE
3632         if (x == EPIPE)
3633                 {*r = Mono_Posix_Errno_EPIPE; return 0;}
3634 #endif /* ndef EPIPE */
3635 #ifdef EPROTO
3636         if (x == EPROTO)
3637                 {*r = Mono_Posix_Errno_EPROTO; return 0;}
3638 #endif /* ndef EPROTO */
3639 #ifdef EPROTONOSUPPORT
3640         if (x == EPROTONOSUPPORT)
3641                 {*r = Mono_Posix_Errno_EPROTONOSUPPORT; return 0;}
3642 #endif /* ndef EPROTONOSUPPORT */
3643 #ifdef EPROTOTYPE
3644         if (x == EPROTOTYPE)
3645                 {*r = Mono_Posix_Errno_EPROTOTYPE; return 0;}
3646 #endif /* ndef EPROTOTYPE */
3647 #ifdef ERANGE
3648         if (x == ERANGE)
3649                 {*r = Mono_Posix_Errno_ERANGE; return 0;}
3650 #endif /* ndef ERANGE */
3651 #ifdef EREMCHG
3652         if (x == EREMCHG)
3653                 {*r = Mono_Posix_Errno_EREMCHG; return 0;}
3654 #endif /* ndef EREMCHG */
3655 #ifdef EREMOTE
3656         if (x == EREMOTE)
3657                 {*r = Mono_Posix_Errno_EREMOTE; return 0;}
3658 #endif /* ndef EREMOTE */
3659 #ifdef EREMOTEIO
3660         if (x == EREMOTEIO)
3661                 {*r = Mono_Posix_Errno_EREMOTEIO; return 0;}
3662 #endif /* ndef EREMOTEIO */
3663 #ifdef ERESTART
3664         if (x == ERESTART)
3665                 {*r = Mono_Posix_Errno_ERESTART; return 0;}
3666 #endif /* ndef ERESTART */
3667 #ifdef EROFS
3668         if (x == EROFS)
3669                 {*r = Mono_Posix_Errno_EROFS; return 0;}
3670 #endif /* ndef EROFS */
3671 #ifdef ESHUTDOWN
3672         if (x == ESHUTDOWN)
3673                 {*r = Mono_Posix_Errno_ESHUTDOWN; return 0;}
3674 #endif /* ndef ESHUTDOWN */
3675 #ifdef ESOCKTNOSUPPORT
3676         if (x == ESOCKTNOSUPPORT)
3677                 {*r = Mono_Posix_Errno_ESOCKTNOSUPPORT; return 0;}
3678 #endif /* ndef ESOCKTNOSUPPORT */
3679 #ifdef ESPIPE
3680         if (x == ESPIPE)
3681                 {*r = Mono_Posix_Errno_ESPIPE; return 0;}
3682 #endif /* ndef ESPIPE */
3683 #ifdef ESRCH
3684         if (x == ESRCH)
3685                 {*r = Mono_Posix_Errno_ESRCH; return 0;}
3686 #endif /* ndef ESRCH */
3687 #ifdef ESRMNT
3688         if (x == ESRMNT)
3689                 {*r = Mono_Posix_Errno_ESRMNT; return 0;}
3690 #endif /* ndef ESRMNT */
3691 #ifdef ESTALE
3692         if (x == ESTALE)
3693                 {*r = Mono_Posix_Errno_ESTALE; return 0;}
3694 #endif /* ndef ESTALE */
3695 #ifdef ESTRPIPE
3696         if (x == ESTRPIPE)
3697                 {*r = Mono_Posix_Errno_ESTRPIPE; return 0;}
3698 #endif /* ndef ESTRPIPE */
3699 #ifdef ETIME
3700         if (x == ETIME)
3701                 {*r = Mono_Posix_Errno_ETIME; return 0;}
3702 #endif /* ndef ETIME */
3703 #ifdef ETIMEDOUT
3704         if (x == ETIMEDOUT)
3705                 {*r = Mono_Posix_Errno_ETIMEDOUT; return 0;}
3706 #endif /* ndef ETIMEDOUT */
3707 #ifdef ETOOMANYREFS
3708         if (x == ETOOMANYREFS)
3709                 {*r = Mono_Posix_Errno_ETOOMANYREFS; return 0;}
3710 #endif /* ndef ETOOMANYREFS */
3711 #ifdef ETXTBSY
3712         if (x == ETXTBSY)
3713                 {*r = Mono_Posix_Errno_ETXTBSY; return 0;}
3714 #endif /* ndef ETXTBSY */
3715 #ifdef EUCLEAN
3716         if (x == EUCLEAN)
3717                 {*r = Mono_Posix_Errno_EUCLEAN; return 0;}
3718 #endif /* ndef EUCLEAN */
3719 #ifdef EUNATCH
3720         if (x == EUNATCH)
3721                 {*r = Mono_Posix_Errno_EUNATCH; return 0;}
3722 #endif /* ndef EUNATCH */
3723 #ifdef EUSERS
3724         if (x == EUSERS)
3725                 {*r = Mono_Posix_Errno_EUSERS; return 0;}
3726 #endif /* ndef EUSERS */
3727 #ifdef EWOULDBLOCK
3728         if (x == EWOULDBLOCK)
3729                 {*r = Mono_Posix_Errno_EWOULDBLOCK; return 0;}
3730 #endif /* ndef EWOULDBLOCK */
3731 #ifdef EXDEV
3732         if (x == EXDEV)
3733                 {*r = Mono_Posix_Errno_EXDEV; return 0;}
3734 #endif /* ndef EXDEV */
3735 #ifdef EXFULL
3736         if (x == EXFULL)
3737                 {*r = Mono_Posix_Errno_EXFULL; return 0;}
3738 #endif /* ndef EXFULL */
3739         errno = EINVAL; return -1;
3740 }
3741
3742 int Mono_Posix_FromFcntlCommand (int x, int *r)
3743 {
3744         *r = 0;
3745         if (x == 0)
3746                 return 0;
3747         if (x == Mono_Posix_FcntlCommand_F_DUPFD)
3748 #ifdef F_DUPFD
3749                 {*r = F_DUPFD; return 0;}
3750 #else /* def F_DUPFD */
3751                 {errno = EINVAL; return -1;}
3752 #endif /* ndef F_DUPFD */
3753         if (x == Mono_Posix_FcntlCommand_F_GETFD)
3754 #ifdef F_GETFD
3755                 {*r = F_GETFD; return 0;}
3756 #else /* def F_GETFD */
3757                 {errno = EINVAL; return -1;}
3758 #endif /* ndef F_GETFD */
3759         if (x == Mono_Posix_FcntlCommand_F_GETFL)
3760 #ifdef F_GETFL
3761                 {*r = F_GETFL; return 0;}
3762 #else /* def F_GETFL */
3763                 {errno = EINVAL; return -1;}
3764 #endif /* ndef F_GETFL */
3765         if (x == Mono_Posix_FcntlCommand_F_GETLEASE)
3766 #ifdef F_GETLEASE
3767                 {*r = F_GETLEASE; return 0;}
3768 #else /* def F_GETLEASE */
3769                 {errno = EINVAL; return -1;}
3770 #endif /* ndef F_GETLEASE */
3771         if (x == Mono_Posix_FcntlCommand_F_GETLK)
3772 #ifdef F_GETLK
3773                 {*r = F_GETLK; return 0;}
3774 #else /* def F_GETLK */
3775                 {errno = EINVAL; return -1;}
3776 #endif /* ndef F_GETLK */
3777         if (x == Mono_Posix_FcntlCommand_F_GETOWN)
3778 #ifdef F_GETOWN
3779                 {*r = F_GETOWN; return 0;}
3780 #else /* def F_GETOWN */
3781                 {errno = EINVAL; return -1;}
3782 #endif /* ndef F_GETOWN */
3783         if (x == Mono_Posix_FcntlCommand_F_GETSIG)
3784 #ifdef F_GETSIG
3785                 {*r = F_GETSIG; return 0;}
3786 #else /* def F_GETSIG */
3787                 {errno = EINVAL; return -1;}
3788 #endif /* ndef F_GETSIG */
3789         if (x == Mono_Posix_FcntlCommand_F_NOTIFY)
3790 #ifdef F_NOTIFY
3791                 {*r = F_NOTIFY; return 0;}
3792 #else /* def F_NOTIFY */
3793                 {errno = EINVAL; return -1;}
3794 #endif /* ndef F_NOTIFY */
3795         if (x == Mono_Posix_FcntlCommand_F_SETFD)
3796 #ifdef F_SETFD
3797                 {*r = F_SETFD; return 0;}
3798 #else /* def F_SETFD */
3799                 {errno = EINVAL; return -1;}
3800 #endif /* ndef F_SETFD */
3801         if (x == Mono_Posix_FcntlCommand_F_SETFL)
3802 #ifdef F_SETFL
3803                 {*r = F_SETFL; return 0;}
3804 #else /* def F_SETFL */
3805                 {errno = EINVAL; return -1;}
3806 #endif /* ndef F_SETFL */
3807         if (x == Mono_Posix_FcntlCommand_F_SETLEASE)
3808 #ifdef F_SETLEASE
3809                 {*r = F_SETLEASE; return 0;}
3810 #else /* def F_SETLEASE */
3811                 {errno = EINVAL; return -1;}
3812 #endif /* ndef F_SETLEASE */
3813         if (x == Mono_Posix_FcntlCommand_F_SETLK)
3814 #ifdef F_SETLK
3815                 {*r = F_SETLK; return 0;}
3816 #else /* def F_SETLK */
3817                 {errno = EINVAL; return -1;}
3818 #endif /* ndef F_SETLK */
3819         if (x == Mono_Posix_FcntlCommand_F_SETLKW)
3820 #ifdef F_SETLKW
3821                 {*r = F_SETLKW; return 0;}
3822 #else /* def F_SETLKW */
3823                 {errno = EINVAL; return -1;}
3824 #endif /* ndef F_SETLKW */
3825         if (x == Mono_Posix_FcntlCommand_F_SETOWN)
3826 #ifdef F_SETOWN
3827                 {*r = F_SETOWN; return 0;}
3828 #else /* def F_SETOWN */
3829                 {errno = EINVAL; return -1;}
3830 #endif /* ndef F_SETOWN */
3831         if (x == Mono_Posix_FcntlCommand_F_SETSIG)
3832 #ifdef F_SETSIG
3833                 {*r = F_SETSIG; return 0;}
3834 #else /* def F_SETSIG */
3835                 {errno = EINVAL; return -1;}
3836 #endif /* ndef F_SETSIG */
3837         errno = EINVAL; return -1;
3838 }
3839
3840 int Mono_Posix_ToFcntlCommand (int x, int *r)
3841 {
3842         *r = 0;
3843         if (x == 0)
3844                 return 0;
3845 #ifdef F_DUPFD
3846         if (x == F_DUPFD)
3847                 {*r = Mono_Posix_FcntlCommand_F_DUPFD; return 0;}
3848 #endif /* ndef F_DUPFD */
3849 #ifdef F_GETFD
3850         if (x == F_GETFD)
3851                 {*r = Mono_Posix_FcntlCommand_F_GETFD; return 0;}
3852 #endif /* ndef F_GETFD */
3853 #ifdef F_GETFL
3854         if (x == F_GETFL)
3855                 {*r = Mono_Posix_FcntlCommand_F_GETFL; return 0;}
3856 #endif /* ndef F_GETFL */
3857 #ifdef F_GETLEASE
3858         if (x == F_GETLEASE)
3859                 {*r = Mono_Posix_FcntlCommand_F_GETLEASE; return 0;}
3860 #endif /* ndef F_GETLEASE */
3861 #ifdef F_GETLK
3862         if (x == F_GETLK)
3863                 {*r = Mono_Posix_FcntlCommand_F_GETLK; return 0;}
3864 #endif /* ndef F_GETLK */
3865 #ifdef F_GETOWN
3866         if (x == F_GETOWN)
3867                 {*r = Mono_Posix_FcntlCommand_F_GETOWN; return 0;}
3868 #endif /* ndef F_GETOWN */
3869 #ifdef F_GETSIG
3870         if (x == F_GETSIG)
3871                 {*r = Mono_Posix_FcntlCommand_F_GETSIG; return 0;}
3872 #endif /* ndef F_GETSIG */
3873 #ifdef F_NOTIFY
3874         if (x == F_NOTIFY)
3875                 {*r = Mono_Posix_FcntlCommand_F_NOTIFY; return 0;}
3876 #endif /* ndef F_NOTIFY */
3877 #ifdef F_SETFD
3878         if (x == F_SETFD)
3879                 {*r = Mono_Posix_FcntlCommand_F_SETFD; return 0;}
3880 #endif /* ndef F_SETFD */
3881 #ifdef F_SETFL
3882         if (x == F_SETFL)
3883                 {*r = Mono_Posix_FcntlCommand_F_SETFL; return 0;}
3884 #endif /* ndef F_SETFL */
3885 #ifdef F_SETLEASE
3886         if (x == F_SETLEASE)
3887                 {*r = Mono_Posix_FcntlCommand_F_SETLEASE; return 0;}
3888 #endif /* ndef F_SETLEASE */
3889 #ifdef F_SETLK
3890         if (x == F_SETLK)
3891                 {*r = Mono_Posix_FcntlCommand_F_SETLK; return 0;}
3892 #endif /* ndef F_SETLK */
3893 #ifdef F_SETLKW
3894         if (x == F_SETLKW)
3895                 {*r = Mono_Posix_FcntlCommand_F_SETLKW; return 0;}
3896 #endif /* ndef F_SETLKW */
3897 #ifdef F_SETOWN
3898         if (x == F_SETOWN)
3899                 {*r = Mono_Posix_FcntlCommand_F_SETOWN; return 0;}
3900 #endif /* ndef F_SETOWN */
3901 #ifdef F_SETSIG
3902         if (x == F_SETSIG)
3903                 {*r = Mono_Posix_FcntlCommand_F_SETSIG; return 0;}
3904 #endif /* ndef F_SETSIG */
3905         errno = EINVAL; return -1;
3906 }
3907
3908 int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r)
3909 {
3910         *r = 0;
3911         if (x == 0)
3912                 return 0;
3913         if ((x & Mono_Posix_FilePermissions_ACCESSPERMS) == Mono_Posix_FilePermissions_ACCESSPERMS)
3914 #ifdef ACCESSPERMS
3915                 *r |= ACCESSPERMS;
3916 #else /* def ACCESSPERMS */
3917                 {errno = EINVAL; return -1;}
3918 #endif /* ndef ACCESSPERMS */
3919         if ((x & Mono_Posix_FilePermissions_ALLPERMS) == Mono_Posix_FilePermissions_ALLPERMS)
3920 #ifdef ALLPERMS
3921                 *r |= ALLPERMS;
3922 #else /* def ALLPERMS */
3923                 {errno = EINVAL; return -1;}
3924 #endif /* ndef ALLPERMS */
3925         if ((x & Mono_Posix_FilePermissions_DEFFILEMODE) == Mono_Posix_FilePermissions_DEFFILEMODE)
3926 #ifdef DEFFILEMODE
3927                 *r |= DEFFILEMODE;
3928 #else /* def DEFFILEMODE */
3929                 {errno = EINVAL; return -1;}
3930 #endif /* ndef DEFFILEMODE */
3931         if ((x & Mono_Posix_FilePermissions_S_IFBLK) == Mono_Posix_FilePermissions_S_IFBLK)
3932 #ifdef S_IFBLK
3933                 *r |= S_IFBLK;
3934 #else /* def S_IFBLK */
3935                 {errno = EINVAL; return -1;}
3936 #endif /* ndef S_IFBLK */
3937         if ((x & Mono_Posix_FilePermissions_S_IFCHR) == Mono_Posix_FilePermissions_S_IFCHR)
3938 #ifdef S_IFCHR
3939                 *r |= S_IFCHR;
3940 #else /* def S_IFCHR */
3941                 {errno = EINVAL; return -1;}
3942 #endif /* ndef S_IFCHR */
3943         if ((x & Mono_Posix_FilePermissions_S_IFDIR) == Mono_Posix_FilePermissions_S_IFDIR)
3944 #ifdef S_IFDIR
3945                 *r |= S_IFDIR;
3946 #else /* def S_IFDIR */
3947                 {errno = EINVAL; return -1;}
3948 #endif /* ndef S_IFDIR */
3949         if ((x & Mono_Posix_FilePermissions_S_IFIFO) == Mono_Posix_FilePermissions_S_IFIFO)
3950 #ifdef S_IFIFO
3951                 *r |= S_IFIFO;
3952 #else /* def S_IFIFO */
3953                 {errno = EINVAL; return -1;}
3954 #endif /* ndef S_IFIFO */
3955         if ((x & Mono_Posix_FilePermissions_S_IFLNK) == Mono_Posix_FilePermissions_S_IFLNK)
3956 #ifdef S_IFLNK
3957                 *r |= S_IFLNK;
3958 #else /* def S_IFLNK */
3959                 {errno = EINVAL; return -1;}
3960 #endif /* ndef S_IFLNK */
3961         if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFMT)
3962 #ifdef S_IFMT
3963                 *r |= S_IFMT;
3964 #else /* def S_IFMT */
3965                 {errno = EINVAL; return -1;}
3966 #endif /* ndef S_IFMT */
3967         if ((x & Mono_Posix_FilePermissions_S_IFREG) == Mono_Posix_FilePermissions_S_IFREG)
3968 #ifdef S_IFREG
3969                 *r |= S_IFREG;
3970 #else /* def S_IFREG */
3971                 {errno = EINVAL; return -1;}
3972 #endif /* ndef S_IFREG */
3973         if ((x & Mono_Posix_FilePermissions_S_IFSOCK) == Mono_Posix_FilePermissions_S_IFSOCK)
3974 #ifdef S_IFSOCK
3975                 *r |= S_IFSOCK;
3976 #else /* def S_IFSOCK */
3977                 {errno = EINVAL; return -1;}
3978 #endif /* ndef S_IFSOCK */
3979         if ((x & Mono_Posix_FilePermissions_S_IRGRP) == Mono_Posix_FilePermissions_S_IRGRP)
3980 #ifdef S_IRGRP
3981                 *r |= S_IRGRP;
3982 #else /* def S_IRGRP */
3983                 {errno = EINVAL; return -1;}
3984 #endif /* ndef S_IRGRP */
3985         if ((x & Mono_Posix_FilePermissions_S_IROTH) == Mono_Posix_FilePermissions_S_IROTH)
3986 #ifdef S_IROTH
3987                 *r |= S_IROTH;
3988 #else /* def S_IROTH */
3989                 {errno = EINVAL; return -1;}
3990 #endif /* ndef S_IROTH */
3991         if ((x & Mono_Posix_FilePermissions_S_IRUSR) == Mono_Posix_FilePermissions_S_IRUSR)
3992 #ifdef S_IRUSR
3993                 *r |= S_IRUSR;
3994 #else /* def S_IRUSR */
3995                 {errno = EINVAL; return -1;}
3996 #endif /* ndef S_IRUSR */
3997         if ((x & Mono_Posix_FilePermissions_S_IRWXG) == Mono_Posix_FilePermissions_S_IRWXG)
3998 #ifdef S_IRWXG
3999                 *r |= S_IRWXG;
4000 #else /* def S_IRWXG */
4001                 {errno = EINVAL; return -1;}
4002 #endif /* ndef S_IRWXG */
4003         if ((x & Mono_Posix_FilePermissions_S_IRWXO) == Mono_Posix_FilePermissions_S_IRWXO)
4004 #ifdef S_IRWXO
4005                 *r |= S_IRWXO;
4006 #else /* def S_IRWXO */
4007                 {errno = EINVAL; return -1;}
4008 #endif /* ndef S_IRWXO */
4009         if ((x & Mono_Posix_FilePermissions_S_IRWXU) == Mono_Posix_FilePermissions_S_IRWXU)
4010 #ifdef S_IRWXU
4011                 *r |= S_IRWXU;
4012 #else /* def S_IRWXU */
4013                 {errno = EINVAL; return -1;}
4014 #endif /* ndef S_IRWXU */
4015         if ((x & Mono_Posix_FilePermissions_S_ISGID) == Mono_Posix_FilePermissions_S_ISGID)
4016 #ifdef S_ISGID
4017                 *r |= S_ISGID;
4018 #else /* def S_ISGID */
4019                 {errno = EINVAL; return -1;}
4020 #endif /* ndef S_ISGID */
4021         if ((x & Mono_Posix_FilePermissions_S_ISUID) == Mono_Posix_FilePermissions_S_ISUID)
4022 #ifdef S_ISUID
4023                 *r |= S_ISUID;
4024 #else /* def S_ISUID */
4025                 {errno = EINVAL; return -1;}
4026 #endif /* ndef S_ISUID */
4027         if ((x & Mono_Posix_FilePermissions_S_ISVTX) == Mono_Posix_FilePermissions_S_ISVTX)
4028 #ifdef S_ISVTX
4029                 *r |= S_ISVTX;
4030 #else /* def S_ISVTX */
4031                 {errno = EINVAL; return -1;}
4032 #endif /* ndef S_ISVTX */
4033         if ((x & Mono_Posix_FilePermissions_S_IWGRP) == Mono_Posix_FilePermissions_S_IWGRP)
4034 #ifdef S_IWGRP
4035                 *r |= S_IWGRP;
4036 #else /* def S_IWGRP */
4037                 {errno = EINVAL; return -1;}
4038 #endif /* ndef S_IWGRP */
4039         if ((x & Mono_Posix_FilePermissions_S_IWOTH) == Mono_Posix_FilePermissions_S_IWOTH)
4040 #ifdef S_IWOTH
4041                 *r |= S_IWOTH;
4042 #else /* def S_IWOTH */
4043                 {errno = EINVAL; return -1;}
4044 #endif /* ndef S_IWOTH */
4045         if ((x & Mono_Posix_FilePermissions_S_IWUSR) == Mono_Posix_FilePermissions_S_IWUSR)
4046 #ifdef S_IWUSR
4047                 *r |= S_IWUSR;
4048 #else /* def S_IWUSR */
4049                 {errno = EINVAL; return -1;}
4050 #endif /* ndef S_IWUSR */
4051         if ((x & Mono_Posix_FilePermissions_S_IXGRP) == Mono_Posix_FilePermissions_S_IXGRP)
4052 #ifdef S_IXGRP
4053                 *r |= S_IXGRP;
4054 #else /* def S_IXGRP */
4055                 {errno = EINVAL; return -1;}
4056 #endif /* ndef S_IXGRP */
4057         if ((x & Mono_Posix_FilePermissions_S_IXOTH) == Mono_Posix_FilePermissions_S_IXOTH)
4058 #ifdef S_IXOTH
4059                 *r |= S_IXOTH;
4060 #else /* def S_IXOTH */
4061                 {errno = EINVAL; return -1;}
4062 #endif /* ndef S_IXOTH */
4063         if ((x & Mono_Posix_FilePermissions_S_IXUSR) == Mono_Posix_FilePermissions_S_IXUSR)
4064 #ifdef S_IXUSR
4065                 *r |= S_IXUSR;
4066 #else /* def S_IXUSR */
4067                 {errno = EINVAL; return -1;}
4068 #endif /* ndef S_IXUSR */
4069         return 0;
4070 }
4071
4072 int Mono_Posix_ToFilePermissions (unsigned int x, unsigned int *r)
4073 {
4074         *r = 0;
4075         if (x == 0)
4076                 return 0;
4077 #ifdef ACCESSPERMS
4078         if ((x & ACCESSPERMS) == ACCESSPERMS)
4079                 *r |= Mono_Posix_FilePermissions_ACCESSPERMS;
4080 #endif /* ndef ACCESSPERMS */
4081 #ifdef ALLPERMS
4082         if ((x & ALLPERMS) == ALLPERMS)
4083                 *r |= Mono_Posix_FilePermissions_ALLPERMS;
4084 #endif /* ndef ALLPERMS */
4085 #ifdef DEFFILEMODE
4086         if ((x & DEFFILEMODE) == DEFFILEMODE)
4087                 *r |= Mono_Posix_FilePermissions_DEFFILEMODE;
4088 #endif /* ndef DEFFILEMODE */
4089 #ifdef S_IFBLK
4090         if ((x & S_IFBLK) == S_IFBLK)
4091                 *r |= Mono_Posix_FilePermissions_S_IFBLK;
4092 #endif /* ndef S_IFBLK */
4093 #ifdef S_IFCHR
4094         if ((x & S_IFCHR) == S_IFCHR)
4095                 *r |= Mono_Posix_FilePermissions_S_IFCHR;
4096 #endif /* ndef S_IFCHR */
4097 #ifdef S_IFDIR
4098         if ((x & S_IFDIR) == S_IFDIR)
4099                 *r |= Mono_Posix_FilePermissions_S_IFDIR;
4100 #endif /* ndef S_IFDIR */
4101 #ifdef S_IFIFO
4102         if ((x & S_IFIFO) == S_IFIFO)
4103                 *r |= Mono_Posix_FilePermissions_S_IFIFO;
4104 #endif /* ndef S_IFIFO */
4105 #ifdef S_IFLNK
4106         if ((x & S_IFLNK) == S_IFLNK)
4107                 *r |= Mono_Posix_FilePermissions_S_IFLNK;
4108 #endif /* ndef S_IFLNK */
4109 #ifdef S_IFMT
4110         if ((x & S_IFMT) == S_IFMT)
4111                 *r |= Mono_Posix_FilePermissions_S_IFMT;
4112 #endif /* ndef S_IFMT */
4113 #ifdef S_IFREG
4114         if ((x & S_IFREG) == S_IFREG)
4115                 *r |= Mono_Posix_FilePermissions_S_IFREG;
4116 #endif /* ndef S_IFREG */
4117 #ifdef S_IFSOCK
4118         if ((x & S_IFSOCK) == S_IFSOCK)
4119                 *r |= Mono_Posix_FilePermissions_S_IFSOCK;
4120 #endif /* ndef S_IFSOCK */
4121 #ifdef S_IRGRP
4122         if ((x & S_IRGRP) == S_IRGRP)
4123                 *r |= Mono_Posix_FilePermissions_S_IRGRP;
4124 #endif /* ndef S_IRGRP */
4125 #ifdef S_IROTH
4126         if ((x & S_IROTH) == S_IROTH)
4127                 *r |= Mono_Posix_FilePermissions_S_IROTH;
4128 #endif /* ndef S_IROTH */
4129 #ifdef S_IRUSR
4130         if ((x & S_IRUSR) == S_IRUSR)
4131                 *r |= Mono_Posix_FilePermissions_S_IRUSR;
4132 #endif /* ndef S_IRUSR */
4133 #ifdef S_IRWXG
4134         if ((x & S_IRWXG) == S_IRWXG)
4135                 *r |= Mono_Posix_FilePermissions_S_IRWXG;
4136 #endif /* ndef S_IRWXG */
4137 #ifdef S_IRWXO
4138         if ((x & S_IRWXO) == S_IRWXO)
4139                 *r |= Mono_Posix_FilePermissions_S_IRWXO;
4140 #endif /* ndef S_IRWXO */
4141 #ifdef S_IRWXU
4142         if ((x & S_IRWXU) == S_IRWXU)
4143                 *r |= Mono_Posix_FilePermissions_S_IRWXU;
4144 #endif /* ndef S_IRWXU */
4145 #ifdef S_ISGID
4146         if ((x & S_ISGID) == S_ISGID)
4147                 *r |= Mono_Posix_FilePermissions_S_ISGID;
4148 #endif /* ndef S_ISGID */
4149 #ifdef S_ISUID
4150         if ((x & S_ISUID) == S_ISUID)
4151                 *r |= Mono_Posix_FilePermissions_S_ISUID;
4152 #endif /* ndef S_ISUID */
4153 #ifdef S_ISVTX
4154         if ((x & S_ISVTX) == S_ISVTX)
4155                 *r |= Mono_Posix_FilePermissions_S_ISVTX;
4156 #endif /* ndef S_ISVTX */
4157 #ifdef S_IWGRP
4158         if ((x & S_IWGRP) == S_IWGRP)
4159                 *r |= Mono_Posix_FilePermissions_S_IWGRP;
4160 #endif /* ndef S_IWGRP */
4161 #ifdef S_IWOTH
4162         if ((x & S_IWOTH) == S_IWOTH)
4163                 *r |= Mono_Posix_FilePermissions_S_IWOTH;
4164 #endif /* ndef S_IWOTH */
4165 #ifdef S_IWUSR
4166         if ((x & S_IWUSR) == S_IWUSR)
4167                 *r |= Mono_Posix_FilePermissions_S_IWUSR;
4168 #endif /* ndef S_IWUSR */
4169 #ifdef S_IXGRP
4170         if ((x & S_IXGRP) == S_IXGRP)
4171                 *r |= Mono_Posix_FilePermissions_S_IXGRP;
4172 #endif /* ndef S_IXGRP */
4173 #ifdef S_IXOTH
4174         if ((x & S_IXOTH) == S_IXOTH)
4175                 *r |= Mono_Posix_FilePermissions_S_IXOTH;
4176 #endif /* ndef S_IXOTH */
4177 #ifdef S_IXUSR
4178         if ((x & S_IXUSR) == S_IXUSR)
4179                 *r |= Mono_Posix_FilePermissions_S_IXUSR;
4180 #endif /* ndef S_IXUSR */
4181         return 0;
4182 }
4183
4184 int Mono_Posix_FromLockType (short x, short *r)
4185 {
4186         *r = 0;
4187         if (x == 0)
4188                 return 0;
4189         if (x == Mono_Posix_LockType_F_RDLCK)
4190 #ifdef F_RDLCK
4191                 {*r = F_RDLCK; return 0;}
4192 #else /* def F_RDLCK */
4193                 {errno = EINVAL; return -1;}
4194 #endif /* ndef F_RDLCK */
4195         if (x == Mono_Posix_LockType_F_UNLCK)
4196 #ifdef F_UNLCK
4197                 {*r = F_UNLCK; return 0;}
4198 #else /* def F_UNLCK */
4199                 {errno = EINVAL; return -1;}
4200 #endif /* ndef F_UNLCK */
4201         if (x == Mono_Posix_LockType_F_WRLCK)
4202 #ifdef F_WRLCK
4203                 {*r = F_WRLCK; return 0;}
4204 #else /* def F_WRLCK */
4205                 {errno = EINVAL; return -1;}
4206 #endif /* ndef F_WRLCK */
4207         errno = EINVAL; return -1;
4208 }
4209
4210 int Mono_Posix_ToLockType (short x, short *r)
4211 {
4212         *r = 0;
4213         if (x == 0)
4214                 return 0;
4215 #ifdef F_RDLCK
4216         if (x == F_RDLCK)
4217                 {*r = Mono_Posix_LockType_F_RDLCK; return 0;}
4218 #endif /* ndef F_RDLCK */
4219 #ifdef F_UNLCK
4220         if (x == F_UNLCK)
4221                 {*r = Mono_Posix_LockType_F_UNLCK; return 0;}
4222 #endif /* ndef F_UNLCK */
4223 #ifdef F_WRLCK
4224         if (x == F_WRLCK)
4225                 {*r = Mono_Posix_LockType_F_WRLCK; return 0;}
4226 #endif /* ndef F_WRLCK */
4227         errno = EINVAL; return -1;
4228 }
4229
4230 int Mono_Posix_FromLockfCommand (int x, int *r)
4231 {
4232         *r = 0;
4233         if (x == 0)
4234                 return 0;
4235         if (x == Mono_Posix_LockfCommand_F_LOCK)
4236 #ifdef F_LOCK
4237                 {*r = F_LOCK; return 0;}
4238 #else /* def F_LOCK */
4239                 {errno = EINVAL; return -1;}
4240 #endif /* ndef F_LOCK */
4241         if (x == Mono_Posix_LockfCommand_F_TEST)
4242 #ifdef F_TEST
4243                 {*r = F_TEST; return 0;}
4244 #else /* def F_TEST */
4245                 {errno = EINVAL; return -1;}
4246 #endif /* ndef F_TEST */
4247         if (x == Mono_Posix_LockfCommand_F_TLOCK)
4248 #ifdef F_TLOCK
4249                 {*r = F_TLOCK; return 0;}
4250 #else /* def F_TLOCK */
4251                 {errno = EINVAL; return -1;}
4252 #endif /* ndef F_TLOCK */
4253         if (x == Mono_Posix_LockfCommand_F_ULOCK)
4254 #ifdef F_ULOCK
4255                 {*r = F_ULOCK; return 0;}
4256 #else /* def F_ULOCK */
4257                 {errno = EINVAL; return -1;}
4258 #endif /* ndef F_ULOCK */
4259         errno = EINVAL; return -1;
4260 }
4261
4262 int Mono_Posix_ToLockfCommand (int x, int *r)
4263 {
4264         *r = 0;
4265         if (x == 0)
4266                 return 0;
4267 #ifdef F_LOCK
4268         if (x == F_LOCK)
4269                 {*r = Mono_Posix_LockfCommand_F_LOCK; return 0;}
4270 #endif /* ndef F_LOCK */
4271 #ifdef F_TEST
4272         if (x == F_TEST)
4273                 {*r = Mono_Posix_LockfCommand_F_TEST; return 0;}
4274 #endif /* ndef F_TEST */
4275 #ifdef F_TLOCK
4276         if (x == F_TLOCK)
4277                 {*r = Mono_Posix_LockfCommand_F_TLOCK; return 0;}
4278 #endif /* ndef F_TLOCK */
4279 #ifdef F_ULOCK
4280         if (x == F_ULOCK)
4281                 {*r = Mono_Posix_LockfCommand_F_ULOCK; return 0;}
4282 #endif /* ndef F_ULOCK */
4283         errno = EINVAL; return -1;
4284 }
4285
4286 int Mono_Posix_FromMlockallFlags (int x, int *r)
4287 {
4288         *r = 0;
4289         if (x == 0)
4290                 return 0;
4291         if ((x & Mono_Posix_MlockallFlags_MCL_CURRENT) == Mono_Posix_MlockallFlags_MCL_CURRENT)
4292 #ifdef MCL_CURRENT
4293                 *r |= MCL_CURRENT;
4294 #else /* def MCL_CURRENT */
4295                 {errno = EINVAL; return -1;}
4296 #endif /* ndef MCL_CURRENT */
4297         if ((x & Mono_Posix_MlockallFlags_MCL_FUTURE) == Mono_Posix_MlockallFlags_MCL_FUTURE)
4298 #ifdef MCL_FUTURE
4299                 *r |= MCL_FUTURE;
4300 #else /* def MCL_FUTURE */
4301                 {errno = EINVAL; return -1;}
4302 #endif /* ndef MCL_FUTURE */
4303         return 0;
4304 }
4305
4306 int Mono_Posix_ToMlockallFlags (int x, int *r)
4307 {
4308         *r = 0;
4309         if (x == 0)
4310                 return 0;
4311 #ifdef MCL_CURRENT
4312         if ((x & MCL_CURRENT) == MCL_CURRENT)
4313                 *r |= Mono_Posix_MlockallFlags_MCL_CURRENT;
4314 #endif /* ndef MCL_CURRENT */
4315 #ifdef MCL_FUTURE
4316         if ((x & MCL_FUTURE) == MCL_FUTURE)
4317                 *r |= Mono_Posix_MlockallFlags_MCL_FUTURE;
4318 #endif /* ndef MCL_FUTURE */
4319         return 0;
4320 }
4321
4322 int Mono_Posix_FromMmapFlags (int x, int *r)
4323 {
4324         *r = 0;
4325         if (x == 0)
4326                 return 0;
4327         if ((x & Mono_Posix_MmapFlags_MAP_ANON) == Mono_Posix_MmapFlags_MAP_ANON)
4328 #ifdef MAP_ANON
4329                 *r |= MAP_ANON;
4330 #else /* def MAP_ANON */
4331                 {errno = EINVAL; return -1;}
4332 #endif /* ndef MAP_ANON */
4333         if ((x & Mono_Posix_MmapFlags_MAP_ANONYMOUS) == Mono_Posix_MmapFlags_MAP_ANONYMOUS)
4334 #ifdef MAP_ANONYMOUS
4335                 *r |= MAP_ANONYMOUS;
4336 #else /* def MAP_ANONYMOUS */
4337                 {errno = EINVAL; return -1;}
4338 #endif /* ndef MAP_ANONYMOUS */
4339         if ((x & Mono_Posix_MmapFlags_MAP_DENYWRITE) == Mono_Posix_MmapFlags_MAP_DENYWRITE)
4340 #ifdef MAP_DENYWRITE
4341                 *r |= MAP_DENYWRITE;
4342 #else /* def MAP_DENYWRITE */
4343                 {errno = EINVAL; return -1;}
4344 #endif /* ndef MAP_DENYWRITE */
4345         if ((x & Mono_Posix_MmapFlags_MAP_EXECUTABLE) == Mono_Posix_MmapFlags_MAP_EXECUTABLE)
4346 #ifdef MAP_EXECUTABLE
4347                 *r |= MAP_EXECUTABLE;
4348 #else /* def MAP_EXECUTABLE */
4349                 {errno = EINVAL; return -1;}
4350 #endif /* ndef MAP_EXECUTABLE */
4351         if ((x & Mono_Posix_MmapFlags_MAP_FILE) == Mono_Posix_MmapFlags_MAP_FILE)
4352 #ifdef MAP_FILE
4353                 *r |= MAP_FILE;
4354 #else /* def MAP_FILE */
4355                 {errno = EINVAL; return -1;}
4356 #endif /* ndef MAP_FILE */
4357         if ((x & Mono_Posix_MmapFlags_MAP_FIXED) == Mono_Posix_MmapFlags_MAP_FIXED)
4358 #ifdef MAP_FIXED
4359                 *r |= MAP_FIXED;
4360 #else /* def MAP_FIXED */
4361                 {errno = EINVAL; return -1;}
4362 #endif /* ndef MAP_FIXED */
4363         if ((x & Mono_Posix_MmapFlags_MAP_GROWSDOWN) == Mono_Posix_MmapFlags_MAP_GROWSDOWN)
4364 #ifdef MAP_GROWSDOWN
4365                 *r |= MAP_GROWSDOWN;
4366 #else /* def MAP_GROWSDOWN */
4367                 {errno = EINVAL; return -1;}
4368 #endif /* ndef MAP_GROWSDOWN */
4369         if ((x & Mono_Posix_MmapFlags_MAP_LOCKED) == Mono_Posix_MmapFlags_MAP_LOCKED)
4370 #ifdef MAP_LOCKED
4371                 *r |= MAP_LOCKED;
4372 #else /* def MAP_LOCKED */
4373                 {errno = EINVAL; return -1;}
4374 #endif /* ndef MAP_LOCKED */
4375         if ((x & Mono_Posix_MmapFlags_MAP_NONBLOCK) == Mono_Posix_MmapFlags_MAP_NONBLOCK)
4376 #ifdef MAP_NONBLOCK
4377                 *r |= MAP_NONBLOCK;
4378 #else /* def MAP_NONBLOCK */
4379                 {errno = EINVAL; return -1;}
4380 #endif /* ndef MAP_NONBLOCK */
4381         if ((x & Mono_Posix_MmapFlags_MAP_NORESERVE) == Mono_Posix_MmapFlags_MAP_NORESERVE)
4382 #ifdef MAP_NORESERVE
4383                 *r |= MAP_NORESERVE;
4384 #else /* def MAP_NORESERVE */
4385                 {errno = EINVAL; return -1;}
4386 #endif /* ndef MAP_NORESERVE */
4387         if ((x & Mono_Posix_MmapFlags_MAP_POPULATE) == Mono_Posix_MmapFlags_MAP_POPULATE)
4388 #ifdef MAP_POPULATE
4389                 *r |= MAP_POPULATE;
4390 #else /* def MAP_POPULATE */
4391                 {errno = EINVAL; return -1;}
4392 #endif /* ndef MAP_POPULATE */
4393         if ((x & Mono_Posix_MmapFlags_MAP_PRIVATE) == Mono_Posix_MmapFlags_MAP_PRIVATE)
4394 #ifdef MAP_PRIVATE
4395                 *r |= MAP_PRIVATE;
4396 #else /* def MAP_PRIVATE */
4397                 {errno = EINVAL; return -1;}
4398 #endif /* ndef MAP_PRIVATE */
4399         if ((x & Mono_Posix_MmapFlags_MAP_SHARED) == Mono_Posix_MmapFlags_MAP_SHARED)
4400 #ifdef MAP_SHARED
4401                 *r |= MAP_SHARED;
4402 #else /* def MAP_SHARED */
4403                 {errno = EINVAL; return -1;}
4404 #endif /* ndef MAP_SHARED */
4405         if ((x & Mono_Posix_MmapFlags_MAP_TYPE) == Mono_Posix_MmapFlags_MAP_TYPE)
4406 #ifdef MAP_TYPE
4407                 *r |= MAP_TYPE;
4408 #else /* def MAP_TYPE */
4409                 {errno = EINVAL; return -1;}
4410 #endif /* ndef MAP_TYPE */
4411         return 0;
4412 }
4413
4414 int Mono_Posix_ToMmapFlags (int x, int *r)
4415 {
4416         *r = 0;
4417         if (x == 0)
4418                 return 0;
4419 #ifdef MAP_ANON
4420         if ((x & MAP_ANON) == MAP_ANON)
4421                 *r |= Mono_Posix_MmapFlags_MAP_ANON;
4422 #endif /* ndef MAP_ANON */
4423 #ifdef MAP_ANONYMOUS
4424         if ((x & MAP_ANONYMOUS) == MAP_ANONYMOUS)
4425                 *r |= Mono_Posix_MmapFlags_MAP_ANONYMOUS;
4426 #endif /* ndef MAP_ANONYMOUS */
4427 #ifdef MAP_DENYWRITE
4428         if ((x & MAP_DENYWRITE) == MAP_DENYWRITE)
4429                 *r |= Mono_Posix_MmapFlags_MAP_DENYWRITE;
4430 #endif /* ndef MAP_DENYWRITE */
4431 #ifdef MAP_EXECUTABLE
4432         if ((x & MAP_EXECUTABLE) == MAP_EXECUTABLE)
4433                 *r |= Mono_Posix_MmapFlags_MAP_EXECUTABLE;
4434 #endif /* ndef MAP_EXECUTABLE */
4435 #ifdef MAP_FILE
4436         if ((x & MAP_FILE) == MAP_FILE)
4437                 *r |= Mono_Posix_MmapFlags_MAP_FILE;
4438 #endif /* ndef MAP_FILE */
4439 #ifdef MAP_FIXED
4440         if ((x & MAP_FIXED) == MAP_FIXED)
4441                 *r |= Mono_Posix_MmapFlags_MAP_FIXED;
4442 #endif /* ndef MAP_FIXED */
4443 #ifdef MAP_GROWSDOWN
4444         if ((x & MAP_GROWSDOWN) == MAP_GROWSDOWN)
4445                 *r |= Mono_Posix_MmapFlags_MAP_GROWSDOWN;
4446 #endif /* ndef MAP_GROWSDOWN */
4447 #ifdef MAP_LOCKED
4448         if ((x & MAP_LOCKED) == MAP_LOCKED)
4449                 *r |= Mono_Posix_MmapFlags_MAP_LOCKED;
4450 #endif /* ndef MAP_LOCKED */
4451 #ifdef MAP_NONBLOCK
4452         if ((x & MAP_NONBLOCK) == MAP_NONBLOCK)
4453                 *r |= Mono_Posix_MmapFlags_MAP_NONBLOCK;
4454 #endif /* ndef MAP_NONBLOCK */
4455 #ifdef MAP_NORESERVE
4456         if ((x & MAP_NORESERVE) == MAP_NORESERVE)
4457                 *r |= Mono_Posix_MmapFlags_MAP_NORESERVE;
4458 #endif /* ndef MAP_NORESERVE */
4459 #ifdef MAP_POPULATE
4460         if ((x & MAP_POPULATE) == MAP_POPULATE)
4461                 *r |= Mono_Posix_MmapFlags_MAP_POPULATE;
4462 #endif /* ndef MAP_POPULATE */
4463 #ifdef MAP_PRIVATE
4464         if ((x & MAP_PRIVATE) == MAP_PRIVATE)
4465                 *r |= Mono_Posix_MmapFlags_MAP_PRIVATE;
4466 #endif /* ndef MAP_PRIVATE */
4467 #ifdef MAP_SHARED
4468         if ((x & MAP_SHARED) == MAP_SHARED)
4469                 *r |= Mono_Posix_MmapFlags_MAP_SHARED;
4470 #endif /* ndef MAP_SHARED */
4471 #ifdef MAP_TYPE
4472         if ((x & MAP_TYPE) == MAP_TYPE)
4473                 *r |= Mono_Posix_MmapFlags_MAP_TYPE;
4474 #endif /* ndef MAP_TYPE */
4475         return 0;
4476 }
4477
4478 int Mono_Posix_FromMmapProts (int x, int *r)
4479 {
4480         *r = 0;
4481         if (x == 0)
4482                 return 0;
4483         if ((x & Mono_Posix_MmapProts_PROT_EXEC) == Mono_Posix_MmapProts_PROT_EXEC)
4484 #ifdef PROT_EXEC
4485                 *r |= PROT_EXEC;
4486 #else /* def PROT_EXEC */
4487                 {errno = EINVAL; return -1;}
4488 #endif /* ndef PROT_EXEC */
4489         if ((x & Mono_Posix_MmapProts_PROT_GROWSDOWN) == Mono_Posix_MmapProts_PROT_GROWSDOWN)
4490 #ifdef PROT_GROWSDOWN
4491                 *r |= PROT_GROWSDOWN;
4492 #else /* def PROT_GROWSDOWN */
4493                 {errno = EINVAL; return -1;}
4494 #endif /* ndef PROT_GROWSDOWN */
4495         if ((x & Mono_Posix_MmapProts_PROT_GROWSUP) == Mono_Posix_MmapProts_PROT_GROWSUP)
4496 #ifdef PROT_GROWSUP
4497                 *r |= PROT_GROWSUP;
4498 #else /* def PROT_GROWSUP */
4499                 {errno = EINVAL; return -1;}
4500 #endif /* ndef PROT_GROWSUP */
4501         if ((x & Mono_Posix_MmapProts_PROT_NONE) == Mono_Posix_MmapProts_PROT_NONE)
4502 #ifdef PROT_NONE
4503                 *r |= PROT_NONE;
4504 #else /* def PROT_NONE */
4505                 {errno = EINVAL; return -1;}
4506 #endif /* ndef PROT_NONE */
4507         if ((x & Mono_Posix_MmapProts_PROT_READ) == Mono_Posix_MmapProts_PROT_READ)
4508 #ifdef PROT_READ
4509                 *r |= PROT_READ;
4510 #else /* def PROT_READ */
4511                 {errno = EINVAL; return -1;}
4512 #endif /* ndef PROT_READ */
4513         if ((x & Mono_Posix_MmapProts_PROT_WRITE) == Mono_Posix_MmapProts_PROT_WRITE)
4514 #ifdef PROT_WRITE
4515                 *r |= PROT_WRITE;
4516 #else /* def PROT_WRITE */
4517                 {errno = EINVAL; return -1;}
4518 #endif /* ndef PROT_WRITE */
4519         return 0;
4520 }
4521
4522 int Mono_Posix_ToMmapProts (int x, int *r)
4523 {
4524         *r = 0;
4525         if (x == 0)
4526                 return 0;
4527 #ifdef PROT_EXEC
4528         if ((x & PROT_EXEC) == PROT_EXEC)
4529                 *r |= Mono_Posix_MmapProts_PROT_EXEC;
4530 #endif /* ndef PROT_EXEC */
4531 #ifdef PROT_GROWSDOWN
4532         if ((x & PROT_GROWSDOWN) == PROT_GROWSDOWN)
4533                 *r |= Mono_Posix_MmapProts_PROT_GROWSDOWN;
4534 #endif /* ndef PROT_GROWSDOWN */
4535 #ifdef PROT_GROWSUP
4536         if ((x & PROT_GROWSUP) == PROT_GROWSUP)
4537                 *r |= Mono_Posix_MmapProts_PROT_GROWSUP;
4538 #endif /* ndef PROT_GROWSUP */
4539 #ifdef PROT_NONE
4540         if ((x & PROT_NONE) == PROT_NONE)
4541                 *r |= Mono_Posix_MmapProts_PROT_NONE;
4542 #endif /* ndef PROT_NONE */
4543 #ifdef PROT_READ
4544         if ((x & PROT_READ) == PROT_READ)
4545                 *r |= Mono_Posix_MmapProts_PROT_READ;
4546 #endif /* ndef PROT_READ */
4547 #ifdef PROT_WRITE
4548         if ((x & PROT_WRITE) == PROT_WRITE)
4549                 *r |= Mono_Posix_MmapProts_PROT_WRITE;
4550 #endif /* ndef PROT_WRITE */
4551         return 0;
4552 }
4553
4554 int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
4555 {
4556         *r = 0;
4557         if (x == 0)
4558                 return 0;
4559         if ((x & Mono_Posix_MountFlags_ST_APPEND) == Mono_Posix_MountFlags_ST_APPEND)
4560 #ifdef ST_APPEND
4561                 *r |= ST_APPEND;
4562 #else /* def ST_APPEND */
4563                 {errno = EINVAL; return -1;}
4564 #endif /* ndef ST_APPEND */
4565         if ((x & Mono_Posix_MountFlags_ST_IMMUTABLE) == Mono_Posix_MountFlags_ST_IMMUTABLE)
4566 #ifdef ST_IMMUTABLE
4567                 *r |= ST_IMMUTABLE;
4568 #else /* def ST_IMMUTABLE */
4569                 {errno = EINVAL; return -1;}
4570 #endif /* ndef ST_IMMUTABLE */
4571         if ((x & Mono_Posix_MountFlags_ST_MANDLOCK) == Mono_Posix_MountFlags_ST_MANDLOCK)
4572 #ifdef ST_MANDLOCK
4573                 *r |= ST_MANDLOCK;
4574 #else /* def ST_MANDLOCK */
4575                 {errno = EINVAL; return -1;}
4576 #endif /* ndef ST_MANDLOCK */
4577         if ((x & Mono_Posix_MountFlags_ST_NOATIME) == Mono_Posix_MountFlags_ST_NOATIME)
4578 #ifdef ST_NOATIME
4579                 *r |= ST_NOATIME;
4580 #else /* def ST_NOATIME */
4581                 {errno = EINVAL; return -1;}
4582 #endif /* ndef ST_NOATIME */
4583         if ((x & Mono_Posix_MountFlags_ST_NODEV) == Mono_Posix_MountFlags_ST_NODEV)
4584 #ifdef ST_NODEV
4585                 *r |= ST_NODEV;
4586 #else /* def ST_NODEV */
4587                 {errno = EINVAL; return -1;}
4588 #endif /* ndef ST_NODEV */
4589         if ((x & Mono_Posix_MountFlags_ST_NODIRATIME) == Mono_Posix_MountFlags_ST_NODIRATIME)
4590 #ifdef ST_NODIRATIME
4591                 *r |= ST_NODIRATIME;
4592 #else /* def ST_NODIRATIME */
4593                 {errno = EINVAL; return -1;}
4594 #endif /* ndef ST_NODIRATIME */
4595         if ((x & Mono_Posix_MountFlags_ST_NOSUID) == Mono_Posix_MountFlags_ST_NOSUID)
4596 #ifdef ST_NOSUID
4597                 *r |= ST_NOSUID;
4598 #else /* def ST_NOSUID */
4599                 {errno = EINVAL; return -1;}
4600 #endif /* ndef ST_NOSUID */
4601         if ((x & Mono_Posix_MountFlags_ST_RDONLY) == Mono_Posix_MountFlags_ST_RDONLY)
4602 #ifdef ST_RDONLY
4603                 *r |= ST_RDONLY;
4604 #else /* def ST_RDONLY */
4605                 {errno = EINVAL; return -1;}
4606 #endif /* ndef ST_RDONLY */
4607         if ((x & Mono_Posix_MountFlags_ST_SYNCHRONOUS) == Mono_Posix_MountFlags_ST_SYNCHRONOUS)
4608 #ifdef ST_SYNCHRONOUS
4609                 *r |= ST_SYNCHRONOUS;
4610 #else /* def ST_SYNCHRONOUS */
4611                 {errno = EINVAL; return -1;}
4612 #endif /* ndef ST_SYNCHRONOUS */
4613         if ((x & Mono_Posix_MountFlags_ST_WRITE) == Mono_Posix_MountFlags_ST_WRITE)
4614 #ifdef ST_WRITE
4615                 *r |= ST_WRITE;
4616 #else /* def ST_WRITE */
4617                 {errno = EINVAL; return -1;}
4618 #endif /* ndef ST_WRITE */
4619         return 0;
4620 }
4621
4622 int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
4623 {
4624         *r = 0;
4625         if (x == 0)
4626                 return 0;
4627 #ifdef ST_APPEND
4628         if ((x & ST_APPEND) == ST_APPEND)
4629                 *r |= Mono_Posix_MountFlags_ST_APPEND;
4630 #endif /* ndef ST_APPEND */
4631 #ifdef ST_IMMUTABLE
4632         if ((x & ST_IMMUTABLE) == ST_IMMUTABLE)
4633                 *r |= Mono_Posix_MountFlags_ST_IMMUTABLE;
4634 #endif /* ndef ST_IMMUTABLE */
4635 #ifdef ST_MANDLOCK
4636         if ((x & ST_MANDLOCK) == ST_MANDLOCK)
4637                 *r |= Mono_Posix_MountFlags_ST_MANDLOCK;
4638 #endif /* ndef ST_MANDLOCK */
4639 #ifdef ST_NOATIME
4640         if ((x & ST_NOATIME) == ST_NOATIME)
4641                 *r |= Mono_Posix_MountFlags_ST_NOATIME;
4642 #endif /* ndef ST_NOATIME */
4643 #ifdef ST_NODEV
4644         if ((x & ST_NODEV) == ST_NODEV)
4645                 *r |= Mono_Posix_MountFlags_ST_NODEV;
4646 #endif /* ndef ST_NODEV */
4647 #ifdef ST_NODIRATIME
4648         if ((x & ST_NODIRATIME) == ST_NODIRATIME)
4649                 *r |= Mono_Posix_MountFlags_ST_NODIRATIME;
4650 #endif /* ndef ST_NODIRATIME */
4651 #ifdef ST_NOSUID
4652         if ((x & ST_NOSUID) == ST_NOSUID)
4653                 *r |= Mono_Posix_MountFlags_ST_NOSUID;
4654 #endif /* ndef ST_NOSUID */
4655 #ifdef ST_RDONLY
4656         if ((x & ST_RDONLY) == ST_RDONLY)
4657                 *r |= Mono_Posix_MountFlags_ST_RDONLY;
4658 #endif /* ndef ST_RDONLY */
4659 #ifdef ST_SYNCHRONOUS
4660         if ((x & ST_SYNCHRONOUS) == ST_SYNCHRONOUS)
4661                 *r |= Mono_Posix_MountFlags_ST_SYNCHRONOUS;
4662 #endif /* ndef ST_SYNCHRONOUS */
4663 #ifdef ST_WRITE
4664         if ((x & ST_WRITE) == ST_WRITE)
4665                 *r |= Mono_Posix_MountFlags_ST_WRITE;
4666 #endif /* ndef ST_WRITE */
4667         return 0;
4668 }
4669
4670 int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r)
4671 {
4672         *r = 0;
4673         if (x == 0)
4674                 return 0;
4675         if ((x & Mono_Posix_MremapFlags_MREMAP_MAYMOVE) == Mono_Posix_MremapFlags_MREMAP_MAYMOVE)
4676 #ifdef MREMAP_MAYMOVE
4677                 *r |= MREMAP_MAYMOVE;
4678 #else /* def MREMAP_MAYMOVE */
4679                 {errno = EINVAL; return -1;}
4680 #endif /* ndef MREMAP_MAYMOVE */
4681         return 0;
4682 }
4683
4684 int Mono_Posix_ToMremapFlags (guint64 x, guint64 *r)
4685 {
4686         *r = 0;
4687         if (x == 0)
4688                 return 0;
4689 #ifdef MREMAP_MAYMOVE
4690         if ((x & MREMAP_MAYMOVE) == MREMAP_MAYMOVE)
4691                 *r |= Mono_Posix_MremapFlags_MREMAP_MAYMOVE;
4692 #endif /* ndef MREMAP_MAYMOVE */
4693         return 0;
4694 }
4695
4696 int Mono_Posix_FromMsyncFlags (int x, int *r)
4697 {
4698         *r = 0;
4699         if (x == 0)
4700                 return 0;
4701         if ((x & Mono_Posix_MsyncFlags_MS_ASYNC) == Mono_Posix_MsyncFlags_MS_ASYNC)
4702 #ifdef MS_ASYNC
4703                 *r |= MS_ASYNC;
4704 #else /* def MS_ASYNC */
4705                 {errno = EINVAL; return -1;}
4706 #endif /* ndef MS_ASYNC */
4707         if ((x & Mono_Posix_MsyncFlags_MS_INVALIDATE) == Mono_Posix_MsyncFlags_MS_INVALIDATE)
4708 #ifdef MS_INVALIDATE
4709                 *r |= MS_INVALIDATE;
4710 #else /* def MS_INVALIDATE */
4711                 {errno = EINVAL; return -1;}
4712 #endif /* ndef MS_INVALIDATE */
4713         if ((x & Mono_Posix_MsyncFlags_MS_SYNC) == Mono_Posix_MsyncFlags_MS_SYNC)
4714 #ifdef MS_SYNC
4715                 *r |= MS_SYNC;
4716 #else /* def MS_SYNC */
4717                 {errno = EINVAL; return -1;}
4718 #endif /* ndef MS_SYNC */
4719         return 0;
4720 }
4721
4722 int Mono_Posix_ToMsyncFlags (int x, int *r)
4723 {
4724         *r = 0;
4725         if (x == 0)
4726                 return 0;
4727 #ifdef MS_ASYNC
4728         if ((x & MS_ASYNC) == MS_ASYNC)
4729                 *r |= Mono_Posix_MsyncFlags_MS_ASYNC;
4730 #endif /* ndef MS_ASYNC */
4731 #ifdef MS_INVALIDATE
4732         if ((x & MS_INVALIDATE) == MS_INVALIDATE)
4733                 *r |= Mono_Posix_MsyncFlags_MS_INVALIDATE;
4734 #endif /* ndef MS_INVALIDATE */
4735 #ifdef MS_SYNC
4736         if ((x & MS_SYNC) == MS_SYNC)
4737                 *r |= Mono_Posix_MsyncFlags_MS_SYNC;
4738 #endif /* ndef MS_SYNC */
4739         return 0;
4740 }
4741
4742 int Mono_Posix_FromOpenFlags (int x, int *r)
4743 {
4744         *r = 0;
4745         if (x == 0)
4746                 return 0;
4747         if ((x & Mono_Posix_OpenFlags_O_APPEND) == Mono_Posix_OpenFlags_O_APPEND)
4748 #ifdef O_APPEND
4749                 *r |= O_APPEND;
4750 #else /* def O_APPEND */
4751                 {errno = EINVAL; return -1;}
4752 #endif /* ndef O_APPEND */
4753         if ((x & Mono_Posix_OpenFlags_O_ASYNC) == Mono_Posix_OpenFlags_O_ASYNC)
4754 #ifdef O_ASYNC
4755                 *r |= O_ASYNC;
4756 #else /* def O_ASYNC */
4757                 {errno = EINVAL; return -1;}
4758 #endif /* ndef O_ASYNC */
4759         if ((x & Mono_Posix_OpenFlags_O_CREAT) == Mono_Posix_OpenFlags_O_CREAT)
4760 #ifdef O_CREAT
4761                 *r |= O_CREAT;
4762 #else /* def O_CREAT */
4763                 {errno = EINVAL; return -1;}
4764 #endif /* ndef O_CREAT */
4765         if ((x & Mono_Posix_OpenFlags_O_DIRECT) == Mono_Posix_OpenFlags_O_DIRECT)
4766 #ifdef O_DIRECT
4767                 *r |= O_DIRECT;
4768 #else /* def O_DIRECT */
4769                 {errno = EINVAL; return -1;}
4770 #endif /* ndef O_DIRECT */
4771         if ((x & Mono_Posix_OpenFlags_O_DIRECTORY) == Mono_Posix_OpenFlags_O_DIRECTORY)
4772 #ifdef O_DIRECTORY
4773                 *r |= O_DIRECTORY;
4774 #else /* def O_DIRECTORY */
4775                 {errno = EINVAL; return -1;}
4776 #endif /* ndef O_DIRECTORY */
4777         if ((x & Mono_Posix_OpenFlags_O_EXCL) == Mono_Posix_OpenFlags_O_EXCL)
4778 #ifdef O_EXCL
4779                 *r |= O_EXCL;
4780 #else /* def O_EXCL */
4781                 {errno = EINVAL; return -1;}
4782 #endif /* ndef O_EXCL */
4783         if ((x & Mono_Posix_OpenFlags_O_LARGEFILE) == Mono_Posix_OpenFlags_O_LARGEFILE)
4784 #ifdef O_LARGEFILE
4785                 *r |= O_LARGEFILE;
4786 #else /* def O_LARGEFILE */
4787                 {errno = EINVAL; return -1;}
4788 #endif /* ndef O_LARGEFILE */
4789         if ((x & Mono_Posix_OpenFlags_O_NOCTTY) == Mono_Posix_OpenFlags_O_NOCTTY)
4790 #ifdef O_NOCTTY
4791                 *r |= O_NOCTTY;
4792 #else /* def O_NOCTTY */
4793                 {errno = EINVAL; return -1;}
4794 #endif /* ndef O_NOCTTY */
4795         if ((x & Mono_Posix_OpenFlags_O_NOFOLLOW) == Mono_Posix_OpenFlags_O_NOFOLLOW)
4796 #ifdef O_NOFOLLOW
4797                 *r |= O_NOFOLLOW;
4798 #else /* def O_NOFOLLOW */
4799                 {errno = EINVAL; return -1;}
4800 #endif /* ndef O_NOFOLLOW */
4801         if ((x & Mono_Posix_OpenFlags_O_NONBLOCK) == Mono_Posix_OpenFlags_O_NONBLOCK)
4802 #ifdef O_NONBLOCK
4803                 *r |= O_NONBLOCK;
4804 #else /* def O_NONBLOCK */
4805                 {errno = EINVAL; return -1;}
4806 #endif /* ndef O_NONBLOCK */
4807         if ((x & Mono_Posix_OpenFlags_O_RDONLY) == Mono_Posix_OpenFlags_O_RDONLY)
4808 #ifdef O_RDONLY
4809                 *r |= O_RDONLY;
4810 #else /* def O_RDONLY */
4811                 {errno = EINVAL; return -1;}
4812 #endif /* ndef O_RDONLY */
4813         if ((x & Mono_Posix_OpenFlags_O_RDWR) == Mono_Posix_OpenFlags_O_RDWR)
4814 #ifdef O_RDWR
4815                 *r |= O_RDWR;
4816 #else /* def O_RDWR */
4817                 {errno = EINVAL; return -1;}
4818 #endif /* ndef O_RDWR */
4819         if ((x & Mono_Posix_OpenFlags_O_SYNC) == Mono_Posix_OpenFlags_O_SYNC)
4820 #ifdef O_SYNC
4821                 *r |= O_SYNC;
4822 #else /* def O_SYNC */
4823                 {errno = EINVAL; return -1;}
4824 #endif /* ndef O_SYNC */
4825         if ((x & Mono_Posix_OpenFlags_O_TRUNC) == Mono_Posix_OpenFlags_O_TRUNC)
4826 #ifdef O_TRUNC
4827                 *r |= O_TRUNC;
4828 #else /* def O_TRUNC */
4829                 {errno = EINVAL; return -1;}
4830 #endif /* ndef O_TRUNC */
4831         if ((x & Mono_Posix_OpenFlags_O_WRONLY) == Mono_Posix_OpenFlags_O_WRONLY)
4832 #ifdef O_WRONLY
4833                 *r |= O_WRONLY;
4834 #else /* def O_WRONLY */
4835                 {errno = EINVAL; return -1;}
4836 #endif /* ndef O_WRONLY */
4837         return 0;
4838 }
4839
4840 int Mono_Posix_ToOpenFlags (int x, int *r)
4841 {
4842         *r = 0;
4843         if (x == 0)
4844                 return 0;
4845 #ifdef O_APPEND
4846         if ((x & O_APPEND) == O_APPEND)
4847                 *r |= Mono_Posix_OpenFlags_O_APPEND;
4848 #endif /* ndef O_APPEND */
4849 #ifdef O_ASYNC
4850         if ((x & O_ASYNC) == O_ASYNC)
4851                 *r |= Mono_Posix_OpenFlags_O_ASYNC;
4852 #endif /* ndef O_ASYNC */
4853 #ifdef O_CREAT
4854         if ((x & O_CREAT) == O_CREAT)
4855                 *r |= Mono_Posix_OpenFlags_O_CREAT;
4856 #endif /* ndef O_CREAT */
4857 #ifdef O_DIRECT
4858         if ((x & O_DIRECT) == O_DIRECT)
4859                 *r |= Mono_Posix_OpenFlags_O_DIRECT;
4860 #endif /* ndef O_DIRECT */
4861 #ifdef O_DIRECTORY
4862         if ((x & O_DIRECTORY) == O_DIRECTORY)
4863                 *r |= Mono_Posix_OpenFlags_O_DIRECTORY;
4864 #endif /* ndef O_DIRECTORY */
4865 #ifdef O_EXCL
4866         if ((x & O_EXCL) == O_EXCL)
4867                 *r |= Mono_Posix_OpenFlags_O_EXCL;
4868 #endif /* ndef O_EXCL */
4869 #ifdef O_LARGEFILE
4870         if ((x & O_LARGEFILE) == O_LARGEFILE)
4871                 *r |= Mono_Posix_OpenFlags_O_LARGEFILE;
4872 #endif /* ndef O_LARGEFILE */
4873 #ifdef O_NOCTTY
4874         if ((x & O_NOCTTY) == O_NOCTTY)
4875                 *r |= Mono_Posix_OpenFlags_O_NOCTTY;
4876 #endif /* ndef O_NOCTTY */
4877 #ifdef O_NOFOLLOW
4878         if ((x & O_NOFOLLOW) == O_NOFOLLOW)
4879                 *r |= Mono_Posix_OpenFlags_O_NOFOLLOW;
4880 #endif /* ndef O_NOFOLLOW */
4881 #ifdef O_NONBLOCK
4882         if ((x & O_NONBLOCK) == O_NONBLOCK)
4883                 *r |= Mono_Posix_OpenFlags_O_NONBLOCK;
4884 #endif /* ndef O_NONBLOCK */
4885 #ifdef O_RDONLY
4886         if ((x & O_RDONLY) == O_RDONLY)
4887                 *r |= Mono_Posix_OpenFlags_O_RDONLY;
4888 #endif /* ndef O_RDONLY */
4889 #ifdef O_RDWR
4890         if ((x & O_RDWR) == O_RDWR)
4891                 *r |= Mono_Posix_OpenFlags_O_RDWR;
4892 #endif /* ndef O_RDWR */
4893 #ifdef O_SYNC
4894         if ((x & O_SYNC) == O_SYNC)
4895                 *r |= Mono_Posix_OpenFlags_O_SYNC;
4896 #endif /* ndef O_SYNC */
4897 #ifdef O_TRUNC
4898         if ((x & O_TRUNC) == O_TRUNC)
4899                 *r |= Mono_Posix_OpenFlags_O_TRUNC;
4900 #endif /* ndef O_TRUNC */
4901 #ifdef O_WRONLY
4902         if ((x & O_WRONLY) == O_WRONLY)
4903                 *r |= Mono_Posix_OpenFlags_O_WRONLY;
4904 #endif /* ndef O_WRONLY */
4905         return 0;
4906 }
4907
4908 int Mono_Posix_FromPathconfName (int x, int *r)
4909 {
4910         *r = 0;
4911         if (x == 0)
4912                 return 0;
4913         if (x == Mono_Posix_PathconfName__PC_2_SYMLINKS)
4914 #ifdef _PC_2_SYMLINKS
4915                 {*r = _PC_2_SYMLINKS; return 0;}
4916 #else /* def _PC_2_SYMLINKS */
4917                 {errno = EINVAL; return -1;}
4918 #endif /* ndef _PC_2_SYMLINKS */
4919         if (x == Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN)
4920 #ifdef _PC_ALLOC_SIZE_MIN
4921                 {*r = _PC_ALLOC_SIZE_MIN; return 0;}
4922 #else /* def _PC_ALLOC_SIZE_MIN */
4923                 {errno = EINVAL; return -1;}
4924 #endif /* ndef _PC_ALLOC_SIZE_MIN */
4925         if (x == Mono_Posix_PathconfName__PC_ASYNC_IO)
4926 #ifdef _PC_ASYNC_IO
4927                 {*r = _PC_ASYNC_IO; return 0;}
4928 #else /* def _PC_ASYNC_IO */
4929                 {errno = EINVAL; return -1;}
4930 #endif /* ndef _PC_ASYNC_IO */
4931         if (x == Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED)
4932 #ifdef _PC_CHOWN_RESTRICTED
4933                 {*r = _PC_CHOWN_RESTRICTED; return 0;}
4934 #else /* def _PC_CHOWN_RESTRICTED */
4935                 {errno = EINVAL; return -1;}
4936 #endif /* ndef _PC_CHOWN_RESTRICTED */
4937         if (x == Mono_Posix_PathconfName__PC_FILESIZEBITS)
4938 #ifdef _PC_FILESIZEBITS
4939                 {*r = _PC_FILESIZEBITS; return 0;}
4940 #else /* def _PC_FILESIZEBITS */
4941                 {errno = EINVAL; return -1;}
4942 #endif /* ndef _PC_FILESIZEBITS */
4943         if (x == Mono_Posix_PathconfName__PC_LINK_MAX)
4944 #ifdef _PC_LINK_MAX
4945                 {*r = _PC_LINK_MAX; return 0;}
4946 #else /* def _PC_LINK_MAX */
4947                 {errno = EINVAL; return -1;}
4948 #endif /* ndef _PC_LINK_MAX */
4949         if (x == Mono_Posix_PathconfName__PC_MAX_CANON)
4950 #ifdef _PC_MAX_CANON
4951                 {*r = _PC_MAX_CANON; return 0;}
4952 #else /* def _PC_MAX_CANON */
4953                 {errno = EINVAL; return -1;}
4954 #endif /* ndef _PC_MAX_CANON */
4955         if (x == Mono_Posix_PathconfName__PC_MAX_INPUT)
4956 #ifdef _PC_MAX_INPUT
4957                 {*r = _PC_MAX_INPUT; return 0;}
4958 #else /* def _PC_MAX_INPUT */
4959                 {errno = EINVAL; return -1;}
4960 #endif /* ndef _PC_MAX_INPUT */
4961         if (x == Mono_Posix_PathconfName__PC_NAME_MAX)
4962 #ifdef _PC_NAME_MAX
4963                 {*r = _PC_NAME_MAX; return 0;}
4964 #else /* def _PC_NAME_MAX */
4965                 {errno = EINVAL; return -1;}
4966 #endif /* ndef _PC_NAME_MAX */
4967         if (x == Mono_Posix_PathconfName__PC_NO_TRUNC)
4968 #ifdef _PC_NO_TRUNC
4969                 {*r = _PC_NO_TRUNC; return 0;}
4970 #else /* def _PC_NO_TRUNC */
4971                 {errno = EINVAL; return -1;}
4972 #endif /* ndef _PC_NO_TRUNC */
4973         if (x == Mono_Posix_PathconfName__PC_PATH_MAX)
4974 #ifdef _PC_PATH_MAX
4975                 {*r = _PC_PATH_MAX; return 0;}
4976 #else /* def _PC_PATH_MAX */
4977                 {errno = EINVAL; return -1;}
4978 #endif /* ndef _PC_PATH_MAX */
4979         if (x == Mono_Posix_PathconfName__PC_PIPE_BUF)
4980 #ifdef _PC_PIPE_BUF
4981                 {*r = _PC_PIPE_BUF; return 0;}
4982 #else /* def _PC_PIPE_BUF */
4983                 {errno = EINVAL; return -1;}
4984 #endif /* ndef _PC_PIPE_BUF */
4985         if (x == Mono_Posix_PathconfName__PC_PRIO_IO)
4986 #ifdef _PC_PRIO_IO
4987                 {*r = _PC_PRIO_IO; return 0;}
4988 #else /* def _PC_PRIO_IO */
4989                 {errno = EINVAL; return -1;}
4990 #endif /* ndef _PC_PRIO_IO */
4991         if (x == Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE)
4992 #ifdef _PC_REC_INCR_XFER_SIZE
4993                 {*r = _PC_REC_INCR_XFER_SIZE; return 0;}
4994 #else /* def _PC_REC_INCR_XFER_SIZE */
4995                 {errno = EINVAL; return -1;}
4996 #endif /* ndef _PC_REC_INCR_XFER_SIZE */
4997         if (x == Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE)
4998 #ifdef _PC_REC_MAX_XFER_SIZE
4999                 {*r = _PC_REC_MAX_XFER_SIZE; return 0;}
5000 #else /* def _PC_REC_MAX_XFER_SIZE */
5001                 {errno = EINVAL; return -1;}
5002 #endif /* ndef _PC_REC_MAX_XFER_SIZE */
5003         if (x == Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE)
5004 #ifdef _PC_REC_MIN_XFER_SIZE
5005                 {*r = _PC_REC_MIN_XFER_SIZE; return 0;}
5006 #else /* def _PC_REC_MIN_XFER_SIZE */
5007                 {errno = EINVAL; return -1;}
5008 #endif /* ndef _PC_REC_MIN_XFER_SIZE */
5009         if (x == Mono_Posix_PathconfName__PC_REC_XFER_ALIGN)
5010 #ifdef _PC_REC_XFER_ALIGN
5011                 {*r = _PC_REC_XFER_ALIGN; return 0;}
5012 #else /* def _PC_REC_XFER_ALIGN */
5013                 {errno = EINVAL; return -1;}
5014 #endif /* ndef _PC_REC_XFER_ALIGN */
5015         if (x == Mono_Posix_PathconfName__PC_SOCK_MAXBUF)
5016 #ifdef _PC_SOCK_MAXBUF
5017                 {*r = _PC_SOCK_MAXBUF; return 0;}
5018 #else /* def _PC_SOCK_MAXBUF */
5019                 {errno = EINVAL; return -1;}
5020 #endif /* ndef _PC_SOCK_MAXBUF */
5021         if (x == Mono_Posix_PathconfName__PC_SYMLINK_MAX)
5022 #ifdef _PC_SYMLINK_MAX
5023                 {*r = _PC_SYMLINK_MAX; return 0;}
5024 #else /* def _PC_SYMLINK_MAX */
5025                 {errno = EINVAL; return -1;}
5026 #endif /* ndef _PC_SYMLINK_MAX */
5027         if (x == Mono_Posix_PathconfName__PC_SYNC_IO)
5028 #ifdef _PC_SYNC_IO
5029                 {*r = _PC_SYNC_IO; return 0;}
5030 #else /* def _PC_SYNC_IO */
5031                 {errno = EINVAL; return -1;}
5032 #endif /* ndef _PC_SYNC_IO */
5033         if (x == Mono_Posix_PathconfName__PC_VDISABLE)
5034 #ifdef _PC_VDISABLE
5035                 {*r = _PC_VDISABLE; return 0;}
5036 #else /* def _PC_VDISABLE */
5037                 {errno = EINVAL; return -1;}
5038 #endif /* ndef _PC_VDISABLE */
5039         errno = EINVAL; return -1;
5040 }
5041
5042 int Mono_Posix_ToPathconfName (int x, int *r)
5043 {
5044         *r = 0;
5045         if (x == 0)
5046                 return 0;
5047 #ifdef _PC_2_SYMLINKS
5048         if (x == _PC_2_SYMLINKS)
5049                 {*r = Mono_Posix_PathconfName__PC_2_SYMLINKS; return 0;}
5050 #endif /* ndef _PC_2_SYMLINKS */
5051 #ifdef _PC_ALLOC_SIZE_MIN
5052         if (x == _PC_ALLOC_SIZE_MIN)
5053                 {*r = Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN; return 0;}
5054 #endif /* ndef _PC_ALLOC_SIZE_MIN */
5055 #ifdef _PC_ASYNC_IO
5056         if (x == _PC_ASYNC_IO)
5057                 {*r = Mono_Posix_PathconfName__PC_ASYNC_IO; return 0;}
5058 #endif /* ndef _PC_ASYNC_IO */
5059 #ifdef _PC_CHOWN_RESTRICTED
5060         if (x == _PC_CHOWN_RESTRICTED)
5061                 {*r = Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED; return 0;}
5062 #endif /* ndef _PC_CHOWN_RESTRICTED */
5063 #ifdef _PC_FILESIZEBITS
5064         if (x == _PC_FILESIZEBITS)
5065                 {*r = Mono_Posix_PathconfName__PC_FILESIZEBITS; return 0;}
5066 #endif /* ndef _PC_FILESIZEBITS */
5067 #ifdef _PC_LINK_MAX
5068         if (x == _PC_LINK_MAX)
5069                 {*r = Mono_Posix_PathconfName__PC_LINK_MAX; return 0;}
5070 #endif /* ndef _PC_LINK_MAX */
5071 #ifdef _PC_MAX_CANON
5072         if (x == _PC_MAX_CANON)
5073                 {*r = Mono_Posix_PathconfName__PC_MAX_CANON; return 0;}
5074 #endif /* ndef _PC_MAX_CANON */
5075 #ifdef _PC_MAX_INPUT
5076         if (x == _PC_MAX_INPUT)
5077                 {*r = Mono_Posix_PathconfName__PC_MAX_INPUT; return 0;}
5078 #endif /* ndef _PC_MAX_INPUT */
5079 #ifdef _PC_NAME_MAX
5080         if (x == _PC_NAME_MAX)
5081                 {*r = Mono_Posix_PathconfName__PC_NAME_MAX; return 0;}
5082 #endif /* ndef _PC_NAME_MAX */
5083 #ifdef _PC_NO_TRUNC
5084         if (x == _PC_NO_TRUNC)
5085                 {*r = Mono_Posix_PathconfName__PC_NO_TRUNC; return 0;}
5086 #endif /* ndef _PC_NO_TRUNC */
5087 #ifdef _PC_PATH_MAX
5088         if (x == _PC_PATH_MAX)
5089                 {*r = Mono_Posix_PathconfName__PC_PATH_MAX; return 0;}
5090 #endif /* ndef _PC_PATH_MAX */
5091 #ifdef _PC_PIPE_BUF
5092         if (x == _PC_PIPE_BUF)
5093                 {*r = Mono_Posix_PathconfName__PC_PIPE_BUF; return 0;}
5094 #endif /* ndef _PC_PIPE_BUF */
5095 #ifdef _PC_PRIO_IO
5096         if (x == _PC_PRIO_IO)
5097                 {*r = Mono_Posix_PathconfName__PC_PRIO_IO; return 0;}
5098 #endif /* ndef _PC_PRIO_IO */
5099 #ifdef _PC_REC_INCR_XFER_SIZE
5100         if (x == _PC_REC_INCR_XFER_SIZE)
5101                 {*r = Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE; return 0;}
5102 #endif /* ndef _PC_REC_INCR_XFER_SIZE */
5103 #ifdef _PC_REC_MAX_XFER_SIZE
5104         if (x == _PC_REC_MAX_XFER_SIZE)
5105                 {*r = Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE; return 0;}
5106 #endif /* ndef _PC_REC_MAX_XFER_SIZE */
5107 #ifdef _PC_REC_MIN_XFER_SIZE
5108         if (x == _PC_REC_MIN_XFER_SIZE)
5109                 {*r = Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE; return 0;}
5110 #endif /* ndef _PC_REC_MIN_XFER_SIZE */
5111 #ifdef _PC_REC_XFER_ALIGN
5112         if (x == _PC_REC_XFER_ALIGN)
5113                 {*r = Mono_Posix_PathconfName__PC_REC_XFER_ALIGN; return 0;}
5114 #endif /* ndef _PC_REC_XFER_ALIGN */
5115 #ifdef _PC_SOCK_MAXBUF
5116         if (x == _PC_SOCK_MAXBUF)
5117                 {*r = Mono_Posix_PathconfName__PC_SOCK_MAXBUF; return 0;}
5118 #endif /* ndef _PC_SOCK_MAXBUF */
5119 #ifdef _PC_SYMLINK_MAX
5120         if (x == _PC_SYMLINK_MAX)
5121                 {*r = Mono_Posix_PathconfName__PC_SYMLINK_MAX; return 0;}
5122 #endif /* ndef _PC_SYMLINK_MAX */
5123 #ifdef _PC_SYNC_IO
5124         if (x == _PC_SYNC_IO)
5125                 {*r = Mono_Posix_PathconfName__PC_SYNC_IO; return 0;}
5126 #endif /* ndef _PC_SYNC_IO */
5127 #ifdef _PC_VDISABLE
5128         if (x == _PC_VDISABLE)
5129                 {*r = Mono_Posix_PathconfName__PC_VDISABLE; return 0;}
5130 #endif /* ndef _PC_VDISABLE */
5131         errno = EINVAL; return -1;
5132 }
5133
5134 int Mono_Posix_FromPollEvents (short x, short *r)
5135 {
5136         *r = 0;
5137         if (x == 0)
5138                 return 0;
5139         if ((x & Mono_Posix_PollEvents_POLLERR) == Mono_Posix_PollEvents_POLLERR)
5140 #ifdef POLLERR
5141                 *r |= POLLERR;
5142 #else /* def POLLERR */
5143                 {errno = EINVAL; return -1;}
5144 #endif /* ndef POLLERR */
5145         if ((x & Mono_Posix_PollEvents_POLLHUP) == Mono_Posix_PollEvents_POLLHUP)
5146 #ifdef POLLHUP
5147                 *r |= POLLHUP;
5148 #else /* def POLLHUP */
5149                 {errno = EINVAL; return -1;}
5150 #endif /* ndef POLLHUP */
5151         if ((x & Mono_Posix_PollEvents_POLLIN) == Mono_Posix_PollEvents_POLLIN)
5152 #ifdef POLLIN
5153                 *r |= POLLIN;
5154 #else /* def POLLIN */
5155                 {errno = EINVAL; return -1;}
5156 #endif /* ndef POLLIN */
5157         if ((x & Mono_Posix_PollEvents_POLLNVAL) == Mono_Posix_PollEvents_POLLNVAL)
5158 #ifdef POLLNVAL
5159                 *r |= POLLNVAL;
5160 #else /* def POLLNVAL */
5161                 {errno = EINVAL; return -1;}
5162 #endif /* ndef POLLNVAL */
5163         if ((x & Mono_Posix_PollEvents_POLLOUT) == Mono_Posix_PollEvents_POLLOUT)
5164 #ifdef POLLOUT
5165                 *r |= POLLOUT;
5166 #else /* def POLLOUT */
5167                 {errno = EINVAL; return -1;}
5168 #endif /* ndef POLLOUT */
5169         if ((x & Mono_Posix_PollEvents_POLLPRI) == Mono_Posix_PollEvents_POLLPRI)
5170 #ifdef POLLPRI
5171                 *r |= POLLPRI;
5172 #else /* def POLLPRI */
5173                 {errno = EINVAL; return -1;}
5174 #endif /* ndef POLLPRI */
5175         if ((x & Mono_Posix_PollEvents_POLLRDBAND) == Mono_Posix_PollEvents_POLLRDBAND)
5176 #ifdef POLLRDBAND
5177                 *r |= POLLRDBAND;
5178 #else /* def POLLRDBAND */
5179                 {errno = EINVAL; return -1;}
5180 #endif /* ndef POLLRDBAND */
5181         if ((x & Mono_Posix_PollEvents_POLLRDNORM) == Mono_Posix_PollEvents_POLLRDNORM)
5182 #ifdef POLLRDNORM
5183                 *r |= POLLRDNORM;
5184 #else /* def POLLRDNORM */
5185                 {errno = EINVAL; return -1;}
5186 #endif /* ndef POLLRDNORM */
5187         if ((x & Mono_Posix_PollEvents_POLLWRBAND) == Mono_Posix_PollEvents_POLLWRBAND)
5188 #ifdef POLLWRBAND
5189                 *r |= POLLWRBAND;
5190 #else /* def POLLWRBAND */
5191                 {errno = EINVAL; return -1;}
5192 #endif /* ndef POLLWRBAND */
5193         if ((x & Mono_Posix_PollEvents_POLLWRNORM) == Mono_Posix_PollEvents_POLLWRNORM)
5194 #ifdef POLLWRNORM
5195                 *r |= POLLWRNORM;
5196 #else /* def POLLWRNORM */
5197                 {errno = EINVAL; return -1;}
5198 #endif /* ndef POLLWRNORM */
5199         return 0;
5200 }
5201
5202 int Mono_Posix_ToPollEvents (short x, short *r)
5203 {
5204         *r = 0;
5205         if (x == 0)
5206                 return 0;
5207 #ifdef POLLERR
5208         if ((x & POLLERR) == POLLERR)
5209                 *r |= Mono_Posix_PollEvents_POLLERR;
5210 #endif /* ndef POLLERR */
5211 #ifdef POLLHUP
5212         if ((x & POLLHUP) == POLLHUP)
5213                 *r |= Mono_Posix_PollEvents_POLLHUP;
5214 #endif /* ndef POLLHUP */
5215 #ifdef POLLIN
5216         if ((x & POLLIN) == POLLIN)
5217                 *r |= Mono_Posix_PollEvents_POLLIN;
5218 #endif /* ndef POLLIN */
5219 #ifdef POLLNVAL
5220         if ((x & POLLNVAL) == POLLNVAL)
5221                 *r |= Mono_Posix_PollEvents_POLLNVAL;
5222 #endif /* ndef POLLNVAL */
5223 #ifdef POLLOUT
5224         if ((x & POLLOUT) == POLLOUT)
5225                 *r |= Mono_Posix_PollEvents_POLLOUT;
5226 #endif /* ndef POLLOUT */
5227 #ifdef POLLPRI
5228         if ((x & POLLPRI) == POLLPRI)
5229                 *r |= Mono_Posix_PollEvents_POLLPRI;
5230 #endif /* ndef POLLPRI */
5231 #ifdef POLLRDBAND
5232         if ((x & POLLRDBAND) == POLLRDBAND)
5233                 *r |= Mono_Posix_PollEvents_POLLRDBAND;
5234 #endif /* ndef POLLRDBAND */
5235 #ifdef POLLRDNORM
5236         if ((x & POLLRDNORM) == POLLRDNORM)
5237                 *r |= Mono_Posix_PollEvents_POLLRDNORM;
5238 #endif /* ndef POLLRDNORM */
5239 #ifdef POLLWRBAND
5240         if ((x & POLLWRBAND) == POLLWRBAND)
5241                 *r |= Mono_Posix_PollEvents_POLLWRBAND;
5242 #endif /* ndef POLLWRBAND */
5243 #ifdef POLLWRNORM
5244         if ((x & POLLWRNORM) == POLLWRNORM)
5245                 *r |= Mono_Posix_PollEvents_POLLWRNORM;
5246 #endif /* ndef POLLWRNORM */
5247         return 0;
5248 }
5249
5250 int Mono_Posix_FromPosixFadviseAdvice (int x, int *r)
5251 {
5252         *r = 0;
5253         if (x == 0)
5254                 return 0;
5255         if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED)
5256 #ifdef POSIX_FADV_DONTNEED
5257                 {*r = POSIX_FADV_DONTNEED; return 0;}
5258 #else /* def POSIX_FADV_DONTNEED */
5259                 {errno = EINVAL; return -1;}
5260 #endif /* ndef POSIX_FADV_DONTNEED */
5261         if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE)
5262 #ifdef POSIX_FADV_NOREUSE
5263                 {*r = POSIX_FADV_NOREUSE; return 0;}
5264 #else /* def POSIX_FADV_NOREUSE */
5265                 {errno = EINVAL; return -1;}
5266 #endif /* ndef POSIX_FADV_NOREUSE */
5267         if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL)
5268 #ifdef POSIX_FADV_NORMAL
5269                 {*r = POSIX_FADV_NORMAL; return 0;}
5270 #else /* def POSIX_FADV_NORMAL */
5271                 {errno = EINVAL; return -1;}
5272 #endif /* ndef POSIX_FADV_NORMAL */
5273         if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM)
5274 #ifdef POSIX_FADV_RANDOM
5275                 {*r = POSIX_FADV_RANDOM; return 0;}
5276 #else /* def POSIX_FADV_RANDOM */
5277                 {errno = EINVAL; return -1;}
5278 #endif /* ndef POSIX_FADV_RANDOM */
5279         if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL)
5280 #ifdef POSIX_FADV_SEQUENTIAL
5281                 {*r = POSIX_FADV_SEQUENTIAL; return 0;}
5282 #else /* def POSIX_FADV_SEQUENTIAL */
5283                 {errno = EINVAL; return -1;}
5284 #endif /* ndef POSIX_FADV_SEQUENTIAL */
5285         if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED)
5286 #ifdef POSIX_FADV_WILLNEED
5287                 {*r = POSIX_FADV_WILLNEED; return 0;}
5288 #else /* def POSIX_FADV_WILLNEED */
5289                 {errno = EINVAL; return -1;}
5290 #endif /* ndef POSIX_FADV_WILLNEED */
5291         errno = EINVAL; return -1;
5292 }
5293
5294 int Mono_Posix_ToPosixFadviseAdvice (int x, int *r)
5295 {
5296         *r = 0;
5297         if (x == 0)
5298                 return 0;
5299 #ifdef POSIX_FADV_DONTNEED
5300         if (x == POSIX_FADV_DONTNEED)
5301                 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED; return 0;}
5302 #endif /* ndef POSIX_FADV_DONTNEED */
5303 #ifdef POSIX_FADV_NOREUSE
5304         if (x == POSIX_FADV_NOREUSE)
5305                 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE; return 0;}
5306 #endif /* ndef POSIX_FADV_NOREUSE */
5307 #ifdef POSIX_FADV_NORMAL
5308         if (x == POSIX_FADV_NORMAL)
5309                 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL; return 0;}
5310 #endif /* ndef POSIX_FADV_NORMAL */
5311 #ifdef POSIX_FADV_RANDOM
5312         if (x == POSIX_FADV_RANDOM)
5313                 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM; return 0;}
5314 #endif /* ndef POSIX_FADV_RANDOM */
5315 #ifdef POSIX_FADV_SEQUENTIAL
5316         if (x == POSIX_FADV_SEQUENTIAL)
5317                 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL; return 0;}
5318 #endif /* ndef POSIX_FADV_SEQUENTIAL */
5319 #ifdef POSIX_FADV_WILLNEED
5320         if (x == POSIX_FADV_WILLNEED)
5321                 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED; return 0;}
5322 #endif /* ndef POSIX_FADV_WILLNEED */
5323         errno = EINVAL; return -1;
5324 }
5325
5326 int Mono_Posix_FromPosixMadviseAdvice (int x, int *r)
5327 {
5328         *r = 0;
5329         if (x == 0)
5330                 return 0;
5331         if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED)
5332 #ifdef POSIX_MADV_DONTNEED
5333                 {*r = POSIX_MADV_DONTNEED; return 0;}
5334 #else /* def POSIX_MADV_DONTNEED */
5335                 {errno = EINVAL; return -1;}
5336 #endif /* ndef POSIX_MADV_DONTNEED */
5337         if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL)
5338 #ifdef POSIX_MADV_NORMAL
5339                 {*r = POSIX_MADV_NORMAL; return 0;}
5340 #else /* def POSIX_MADV_NORMAL */
5341                 {errno = EINVAL; return -1;}
5342 #endif /* ndef POSIX_MADV_NORMAL */
5343         if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM)
5344 #ifdef POSIX_MADV_RANDOM
5345                 {*r = POSIX_MADV_RANDOM; return 0;}
5346 #else /* def POSIX_MADV_RANDOM */
5347                 {errno = EINVAL; return -1;}
5348 #endif /* ndef POSIX_MADV_RANDOM */
5349         if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL)
5350 #ifdef POSIX_MADV_SEQUENTIAL
5351                 {*r = POSIX_MADV_SEQUENTIAL; return 0;}
5352 #else /* def POSIX_MADV_SEQUENTIAL */
5353                 {errno = EINVAL; return -1;}
5354 #endif /* ndef POSIX_MADV_SEQUENTIAL */
5355         if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED)
5356 #ifdef POSIX_MADV_WILLNEED
5357                 {*r = POSIX_MADV_WILLNEED; return 0;}
5358 #else /* def POSIX_MADV_WILLNEED */
5359                 {errno = EINVAL; return -1;}
5360 #endif /* ndef POSIX_MADV_WILLNEED */
5361         errno = EINVAL; return -1;
5362 }
5363
5364 int Mono_Posix_ToPosixMadviseAdvice (int x, int *r)
5365 {
5366         *r = 0;
5367         if (x == 0)
5368                 return 0;
5369 #ifdef POSIX_MADV_DONTNEED
5370         if (x == POSIX_MADV_DONTNEED)
5371                 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED; return 0;}
5372 #endif /* ndef POSIX_MADV_DONTNEED */
5373 #ifdef POSIX_MADV_NORMAL
5374         if (x == POSIX_MADV_NORMAL)
5375                 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL; return 0;}
5376 #endif /* ndef POSIX_MADV_NORMAL */
5377 #ifdef POSIX_MADV_RANDOM
5378         if (x == POSIX_MADV_RANDOM)
5379                 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM; return 0;}
5380 #endif /* ndef POSIX_MADV_RANDOM */
5381 #ifdef POSIX_MADV_SEQUENTIAL
5382         if (x == POSIX_MADV_SEQUENTIAL)
5383                 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL; return 0;}
5384 #endif /* ndef POSIX_MADV_SEQUENTIAL */
5385 #ifdef POSIX_MADV_WILLNEED
5386         if (x == POSIX_MADV_WILLNEED)
5387                 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED; return 0;}
5388 #endif /* ndef POSIX_MADV_WILLNEED */
5389         errno = EINVAL; return -1;
5390 }
5391
5392 int Mono_Posix_FromSeekFlags (short x, short *r)
5393 {
5394         *r = 0;
5395         if (x == 0)
5396                 return 0;
5397         if (x == Mono_Posix_SeekFlags_L_INCR)
5398 #ifdef L_INCR
5399                 {*r = L_INCR; return 0;}
5400 #else /* def L_INCR */
5401                 {errno = EINVAL; return -1;}
5402 #endif /* ndef L_INCR */
5403         if (x == Mono_Posix_SeekFlags_L_SET)
5404 #ifdef L_SET
5405                 {*r = L_SET; return 0;}
5406 #else /* def L_SET */
5407                 {errno = EINVAL; return -1;}
5408 #endif /* ndef L_SET */
5409         if (x == Mono_Posix_SeekFlags_L_XTND)
5410 #ifdef L_XTND
5411                 {*r = L_XTND; return 0;}
5412 #else /* def L_XTND */
5413                 {errno = EINVAL; return -1;}
5414 #endif /* ndef L_XTND */
5415         if (x == Mono_Posix_SeekFlags_SEEK_CUR)
5416 #ifdef SEEK_CUR
5417                 {*r = SEEK_CUR; return 0;}
5418 #else /* def SEEK_CUR */
5419                 {errno = EINVAL; return -1;}
5420 #endif /* ndef SEEK_CUR */
5421         if (x == Mono_Posix_SeekFlags_SEEK_END)
5422 #ifdef SEEK_END
5423                 {*r = SEEK_END; return 0;}
5424 #else /* def SEEK_END */
5425                 {errno = EINVAL; return -1;}
5426 #endif /* ndef SEEK_END */
5427         if (x == Mono_Posix_SeekFlags_SEEK_SET)
5428 #ifdef SEEK_SET
5429                 {*r = SEEK_SET; return 0;}
5430 #else /* def SEEK_SET */
5431                 {errno = EINVAL; return -1;}
5432 #endif /* ndef SEEK_SET */
5433         errno = EINVAL; return -1;
5434 }
5435
5436 int Mono_Posix_ToSeekFlags (short x, short *r)
5437 {
5438         *r = 0;
5439         if (x == 0)
5440                 return 0;
5441 #ifdef L_INCR
5442         if (x == L_INCR)
5443                 {*r = Mono_Posix_SeekFlags_L_INCR; return 0;}
5444 #endif /* ndef L_INCR */
5445 #ifdef L_SET
5446         if (x == L_SET)
5447                 {*r = Mono_Posix_SeekFlags_L_SET; return 0;}
5448 #endif /* ndef L_SET */
5449 #ifdef L_XTND
5450         if (x == L_XTND)
5451                 {*r = Mono_Posix_SeekFlags_L_XTND; return 0;}
5452 #endif /* ndef L_XTND */
5453 #ifdef SEEK_CUR
5454         if (x == SEEK_CUR)
5455                 {*r = Mono_Posix_SeekFlags_SEEK_CUR; return 0;}
5456 #endif /* ndef SEEK_CUR */
5457 #ifdef SEEK_END
5458         if (x == SEEK_END)
5459                 {*r = Mono_Posix_SeekFlags_SEEK_END; return 0;}
5460 #endif /* ndef SEEK_END */
5461 #ifdef SEEK_SET
5462         if (x == SEEK_SET)
5463                 {*r = Mono_Posix_SeekFlags_SEEK_SET; return 0;}
5464 #endif /* ndef SEEK_SET */
5465         errno = EINVAL; return -1;
5466 }
5467
5468 int Mono_Posix_FromSignum (int x, int *r)
5469 {
5470         *r = 0;
5471         if (x == 0)
5472                 return 0;
5473         if (x == Mono_Posix_Signum_SIGABRT)
5474 #ifdef SIGABRT
5475                 {*r = SIGABRT; return 0;}
5476 #else /* def SIGABRT */
5477                 {errno = EINVAL; return -1;}
5478 #endif /* ndef SIGABRT */
5479         if (x == Mono_Posix_Signum_SIGALRM)
5480 #ifdef SIGALRM
5481                 {*r = SIGALRM; return 0;}
5482 #else /* def SIGALRM */
5483                 {errno = EINVAL; return -1;}
5484 #endif /* ndef SIGALRM */
5485         if (x == Mono_Posix_Signum_SIGBUS)
5486 #ifdef SIGBUS
5487                 {*r = SIGBUS; return 0;}
5488 #else /* def SIGBUS */
5489                 {errno = EINVAL; return -1;}
5490 #endif /* ndef SIGBUS */
5491         if (x == Mono_Posix_Signum_SIGCHLD)
5492 #ifdef SIGCHLD
5493                 {*r = SIGCHLD; return 0;}
5494 #else /* def SIGCHLD */
5495                 {errno = EINVAL; return -1;}
5496 #endif /* ndef SIGCHLD */
5497         if (x == Mono_Posix_Signum_SIGCLD)
5498 #ifdef SIGCLD
5499                 {*r = SIGCLD; return 0;}
5500 #else /* def SIGCLD */
5501                 {errno = EINVAL; return -1;}
5502 #endif /* ndef SIGCLD */
5503         if (x == Mono_Posix_Signum_SIGCONT)
5504 #ifdef SIGCONT
5505                 {*r = SIGCONT; return 0;}
5506 #else /* def SIGCONT */
5507                 {errno = EINVAL; return -1;}
5508 #endif /* ndef SIGCONT */
5509         if (x == Mono_Posix_Signum_SIGFPE)
5510 #ifdef SIGFPE
5511                 {*r = SIGFPE; return 0;}
5512 #else /* def SIGFPE */
5513                 {errno = EINVAL; return -1;}
5514 #endif /* ndef SIGFPE */
5515         if (x == Mono_Posix_Signum_SIGHUP)
5516 #ifdef SIGHUP
5517                 {*r = SIGHUP; return 0;}
5518 #else /* def SIGHUP */
5519                 {errno = EINVAL; return -1;}
5520 #endif /* ndef SIGHUP */
5521         if (x == Mono_Posix_Signum_SIGILL)
5522 #ifdef SIGILL
5523                 {*r = SIGILL; return 0;}
5524 #else /* def SIGILL */
5525                 {errno = EINVAL; return -1;}
5526 #endif /* ndef SIGILL */
5527         if (x == Mono_Posix_Signum_SIGINT)
5528 #ifdef SIGINT
5529                 {*r = SIGINT; return 0;}
5530 #else /* def SIGINT */
5531                 {errno = EINVAL; return -1;}
5532 #endif /* ndef SIGINT */
5533         if (x == Mono_Posix_Signum_SIGIO)
5534 #ifdef SIGIO
5535                 {*r = SIGIO; return 0;}
5536 #else /* def SIGIO */
5537                 {errno = EINVAL; return -1;}
5538 #endif /* ndef SIGIO */
5539         if (x == Mono_Posix_Signum_SIGIOT)
5540 #ifdef SIGIOT
5541                 {*r = SIGIOT; return 0;}
5542 #else /* def SIGIOT */
5543                 {errno = EINVAL; return -1;}
5544 #endif /* ndef SIGIOT */
5545         if (x == Mono_Posix_Signum_SIGKILL)
5546 #ifdef SIGKILL
5547                 {*r = SIGKILL; return 0;}
5548 #else /* def SIGKILL */
5549                 {errno = EINVAL; return -1;}
5550 #endif /* ndef SIGKILL */
5551         if (x == Mono_Posix_Signum_SIGPIPE)
5552 #ifdef SIGPIPE
5553                 {*r = SIGPIPE; return 0;}
5554 #else /* def SIGPIPE */
5555                 {errno = EINVAL; return -1;}
5556 #endif /* ndef SIGPIPE */
5557         if (x == Mono_Posix_Signum_SIGPOLL)
5558 #ifdef SIGPOLL
5559                 {*r = SIGPOLL; return 0;}
5560 #else /* def SIGPOLL */
5561                 {errno = EINVAL; return -1;}
5562 #endif /* ndef SIGPOLL */
5563         if (x == Mono_Posix_Signum_SIGPROF)
5564 #ifdef SIGPROF
5565                 {*r = SIGPROF; return 0;}
5566 #else /* def SIGPROF */
5567                 {errno = EINVAL; return -1;}
5568 #endif /* ndef SIGPROF */
5569         if (x == Mono_Posix_Signum_SIGPWR)
5570 #ifdef SIGPWR
5571                 {*r = SIGPWR; return 0;}
5572 #else /* def SIGPWR */
5573                 {errno = EINVAL; return -1;}
5574 #endif /* ndef SIGPWR */
5575         if (x == Mono_Posix_Signum_SIGQUIT)
5576 #ifdef SIGQUIT
5577                 {*r = SIGQUIT; return 0;}
5578 #else /* def SIGQUIT */
5579                 {errno = EINVAL; return -1;}
5580 #endif /* ndef SIGQUIT */
5581         if (x == Mono_Posix_Signum_SIGSEGV)
5582 #ifdef SIGSEGV
5583                 {*r = SIGSEGV; return 0;}
5584 #else /* def SIGSEGV */
5585                 {errno = EINVAL; return -1;}
5586 #endif /* ndef SIGSEGV */
5587         if (x == Mono_Posix_Signum_SIGSTKFLT)
5588 #ifdef SIGSTKFLT
5589                 {*r = SIGSTKFLT; return 0;}
5590 #else /* def SIGSTKFLT */
5591                 {errno = EINVAL; return -1;}
5592 #endif /* ndef SIGSTKFLT */
5593         if (x == Mono_Posix_Signum_SIGSTOP)
5594 #ifdef SIGSTOP
5595                 {*r = SIGSTOP; return 0;}
5596 #else /* def SIGSTOP */
5597                 {errno = EINVAL; return -1;}
5598 #endif /* ndef SIGSTOP */
5599         if (x == Mono_Posix_Signum_SIGSYS)
5600 #ifdef SIGSYS
5601                 {*r = SIGSYS; return 0;}
5602 #else /* def SIGSYS */
5603                 {errno = EINVAL; return -1;}
5604 #endif /* ndef SIGSYS */
5605         if (x == Mono_Posix_Signum_SIGTERM)
5606 #ifdef SIGTERM
5607                 {*r = SIGTERM; return 0;}
5608 #else /* def SIGTERM */
5609                 {errno = EINVAL; return -1;}
5610 #endif /* ndef SIGTERM */
5611         if (x == Mono_Posix_Signum_SIGTRAP)
5612 #ifdef SIGTRAP
5613                 {*r = SIGTRAP; return 0;}
5614 #else /* def SIGTRAP */
5615                 {errno = EINVAL; return -1;}
5616 #endif /* ndef SIGTRAP */
5617         if (x == Mono_Posix_Signum_SIGTSTP)
5618 #ifdef SIGTSTP
5619                 {*r = SIGTSTP; return 0;}
5620 #else /* def SIGTSTP */
5621                 {errno = EINVAL; return -1;}
5622 #endif /* ndef SIGTSTP */
5623         if (x == Mono_Posix_Signum_SIGTTIN)
5624 #ifdef SIGTTIN
5625                 {*r = SIGTTIN; return 0;}
5626 #else /* def SIGTTIN */
5627                 {errno = EINVAL; return -1;}
5628 #endif /* ndef SIGTTIN */
5629         if (x == Mono_Posix_Signum_SIGTTOU)
5630 #ifdef SIGTTOU
5631                 {*r = SIGTTOU; return 0;}
5632 #else /* def SIGTTOU */
5633                 {errno = EINVAL; return -1;}
5634 #endif /* ndef SIGTTOU */
5635         if (x == Mono_Posix_Signum_SIGUNUSED)
5636 #ifdef SIGUNUSED
5637                 {*r = SIGUNUSED; return 0;}
5638 #else /* def SIGUNUSED */
5639                 {errno = EINVAL; return -1;}
5640 #endif /* ndef SIGUNUSED */
5641         if (x == Mono_Posix_Signum_SIGURG)
5642 #ifdef SIGURG
5643                 {*r = SIGURG; return 0;}
5644 #else /* def SIGURG */
5645                 {errno = EINVAL; return -1;}
5646 #endif /* ndef SIGURG */
5647         if (x == Mono_Posix_Signum_SIGUSR1)
5648 #ifdef SIGUSR1
5649                 {*r = SIGUSR1; return 0;}
5650 #else /* def SIGUSR1 */
5651                 {errno = EINVAL; return -1;}
5652 #endif /* ndef SIGUSR1 */
5653         if (x == Mono_Posix_Signum_SIGUSR2)
5654 #ifdef SIGUSR2
5655                 {*r = SIGUSR2; return 0;}
5656 #else /* def SIGUSR2 */
5657                 {errno = EINVAL; return -1;}
5658 #endif /* ndef SIGUSR2 */
5659         if (x == Mono_Posix_Signum_SIGVTALRM)
5660 #ifdef SIGVTALRM
5661                 {*r = SIGVTALRM; return 0;}
5662 #else /* def SIGVTALRM */
5663                 {errno = EINVAL; return -1;}
5664 #endif /* ndef SIGVTALRM */
5665         if (x == Mono_Posix_Signum_SIGWINCH)
5666 #ifdef SIGWINCH
5667                 {*r = SIGWINCH; return 0;}
5668 #else /* def SIGWINCH */
5669                 {errno = EINVAL; return -1;}
5670 #endif /* ndef SIGWINCH */
5671         if (x == Mono_Posix_Signum_SIGXCPU)
5672 #ifdef SIGXCPU
5673                 {*r = SIGXCPU; return 0;}
5674 #else /* def SIGXCPU */
5675                 {errno = EINVAL; return -1;}
5676 #endif /* ndef SIGXCPU */
5677         if (x == Mono_Posix_Signum_SIGXFSZ)
5678 #ifdef SIGXFSZ
5679                 {*r = SIGXFSZ; return 0;}
5680 #else /* def SIGXFSZ */
5681                 {errno = EINVAL; return -1;}
5682 #endif /* ndef SIGXFSZ */
5683         errno = EINVAL; return -1;
5684 }
5685
5686 int Mono_Posix_ToSignum (int x, int *r)
5687 {
5688         *r = 0;
5689         if (x == 0)
5690                 return 0;
5691 #ifdef SIGABRT
5692         if (x == SIGABRT)
5693                 {*r = Mono_Posix_Signum_SIGABRT; return 0;}
5694 #endif /* ndef SIGABRT */
5695 #ifdef SIGALRM
5696         if (x == SIGALRM)
5697                 {*r = Mono_Posix_Signum_SIGALRM; return 0;}
5698 #endif /* ndef SIGALRM */
5699 #ifdef SIGBUS
5700         if (x == SIGBUS)
5701                 {*r = Mono_Posix_Signum_SIGBUS; return 0;}
5702 #endif /* ndef SIGBUS */
5703 #ifdef SIGCHLD
5704         if (x == SIGCHLD)
5705                 {*r = Mono_Posix_Signum_SIGCHLD; return 0;}
5706 #endif /* ndef SIGCHLD */
5707 #ifdef SIGCLD
5708         if (x == SIGCLD)
5709                 {*r = Mono_Posix_Signum_SIGCLD; return 0;}
5710 #endif /* ndef SIGCLD */
5711 #ifdef SIGCONT
5712         if (x == SIGCONT)
5713                 {*r = Mono_Posix_Signum_SIGCONT; return 0;}
5714 #endif /* ndef SIGCONT */
5715 #ifdef SIGFPE
5716         if (x == SIGFPE)
5717                 {*r = Mono_Posix_Signum_SIGFPE; return 0;}
5718 #endif /* ndef SIGFPE */
5719 #ifdef SIGHUP
5720         if (x == SIGHUP)
5721                 {*r = Mono_Posix_Signum_SIGHUP; return 0;}
5722 #endif /* ndef SIGHUP */
5723 #ifdef SIGILL
5724         if (x == SIGILL)
5725                 {*r = Mono_Posix_Signum_SIGILL; return 0;}
5726 #endif /* ndef SIGILL */
5727 #ifdef SIGINT
5728         if (x == SIGINT)
5729                 {*r = Mono_Posix_Signum_SIGINT; return 0;}
5730 #endif /* ndef SIGINT */
5731 #ifdef SIGIO
5732         if (x == SIGIO)
5733                 {*r = Mono_Posix_Signum_SIGIO; return 0;}
5734 #endif /* ndef SIGIO */
5735 #ifdef SIGIOT
5736         if (x == SIGIOT)
5737                 {*r = Mono_Posix_Signum_SIGIOT; return 0;}
5738 #endif /* ndef SIGIOT */
5739 #ifdef SIGKILL
5740         if (x == SIGKILL)
5741                 {*r = Mono_Posix_Signum_SIGKILL; return 0;}
5742 #endif /* ndef SIGKILL */
5743 #ifdef SIGPIPE
5744         if (x == SIGPIPE)
5745                 {*r = Mono_Posix_Signum_SIGPIPE; return 0;}
5746 #endif /* ndef SIGPIPE */
5747 #ifdef SIGPOLL
5748         if (x == SIGPOLL)
5749                 {*r = Mono_Posix_Signum_SIGPOLL; return 0;}
5750 #endif /* ndef SIGPOLL */
5751 #ifdef SIGPROF
5752         if (x == SIGPROF)
5753                 {*r = Mono_Posix_Signum_SIGPROF; return 0;}
5754 #endif /* ndef SIGPROF */
5755 #ifdef SIGPWR
5756         if (x == SIGPWR)
5757                 {*r = Mono_Posix_Signum_SIGPWR; return 0;}
5758 #endif /* ndef SIGPWR */
5759 #ifdef SIGQUIT
5760         if (x == SIGQUIT)
5761                 {*r = Mono_Posix_Signum_SIGQUIT; return 0;}
5762 #endif /* ndef SIGQUIT */
5763 #ifdef SIGSEGV
5764         if (x == SIGSEGV)
5765                 {*r = Mono_Posix_Signum_SIGSEGV; return 0;}
5766 #endif /* ndef SIGSEGV */
5767 #ifdef SIGSTKFLT
5768         if (x == SIGSTKFLT)
5769                 {*r = Mono_Posix_Signum_SIGSTKFLT; return 0;}
5770 #endif /* ndef SIGSTKFLT */
5771 #ifdef SIGSTOP
5772         if (x == SIGSTOP)
5773                 {*r = Mono_Posix_Signum_SIGSTOP; return 0;}
5774 #endif /* ndef SIGSTOP */
5775 #ifdef SIGSYS
5776         if (x == SIGSYS)
5777                 {*r = Mono_Posix_Signum_SIGSYS; return 0;}
5778 #endif /* ndef SIGSYS */
5779 #ifdef SIGTERM
5780         if (x == SIGTERM)
5781                 {*r = Mono_Posix_Signum_SIGTERM; return 0;}
5782 #endif /* ndef SIGTERM */
5783 #ifdef SIGTRAP
5784         if (x == SIGTRAP)
5785                 {*r = Mono_Posix_Signum_SIGTRAP; return 0;}
5786 #endif /* ndef SIGTRAP */
5787 #ifdef SIGTSTP
5788         if (x == SIGTSTP)
5789                 {*r = Mono_Posix_Signum_SIGTSTP; return 0;}
5790 #endif /* ndef SIGTSTP */
5791 #ifdef SIGTTIN
5792         if (x == SIGTTIN)
5793                 {*r = Mono_Posix_Signum_SIGTTIN; return 0;}
5794 #endif /* ndef SIGTTIN */
5795 #ifdef SIGTTOU
5796         if (x == SIGTTOU)
5797                 {*r = Mono_Posix_Signum_SIGTTOU; return 0;}
5798 #endif /* ndef SIGTTOU */
5799 #ifdef SIGUNUSED
5800         if (x == SIGUNUSED)
5801                 {*r = Mono_Posix_Signum_SIGUNUSED; return 0;}
5802 #endif /* ndef SIGUNUSED */
5803 #ifdef SIGURG
5804         if (x == SIGURG)
5805                 {*r = Mono_Posix_Signum_SIGURG; return 0;}
5806 #endif /* ndef SIGURG */
5807 #ifdef SIGUSR1
5808         if (x == SIGUSR1)
5809                 {*r = Mono_Posix_Signum_SIGUSR1; return 0;}
5810 #endif /* ndef SIGUSR1 */
5811 #ifdef SIGUSR2
5812         if (x == SIGUSR2)
5813                 {*r = Mono_Posix_Signum_SIGUSR2; return 0;}
5814 #endif /* ndef SIGUSR2 */
5815 #ifdef SIGVTALRM
5816         if (x == SIGVTALRM)
5817                 {*r = Mono_Posix_Signum_SIGVTALRM; return 0;}
5818 #endif /* ndef SIGVTALRM */
5819 #ifdef SIGWINCH
5820         if (x == SIGWINCH)
5821                 {*r = Mono_Posix_Signum_SIGWINCH; return 0;}
5822 #endif /* ndef SIGWINCH */
5823 #ifdef SIGXCPU
5824         if (x == SIGXCPU)
5825                 {*r = Mono_Posix_Signum_SIGXCPU; return 0;}
5826 #endif /* ndef SIGXCPU */
5827 #ifdef SIGXFSZ
5828         if (x == SIGXFSZ)
5829                 {*r = Mono_Posix_Signum_SIGXFSZ; return 0;}
5830 #endif /* ndef SIGXFSZ */
5831         errno = EINVAL; return -1;
5832 }
5833
5834 int Mono_Posix_FromSysconfName (int x, int *r)
5835 {
5836         *r = 0;
5837         if (x == 0)
5838                 return 0;
5839         if (x == Mono_Posix_SysconfName__SC_2_CHAR_TERM)
5840 #ifdef _SC_2_CHAR_TERM
5841                 {*r = _SC_2_CHAR_TERM; return 0;}
5842 #else /* def _SC_2_CHAR_TERM */
5843                 {errno = EINVAL; return -1;}
5844 #endif /* ndef _SC_2_CHAR_TERM */
5845         if (x == Mono_Posix_SysconfName__SC_2_C_BIND)
5846 #ifdef _SC_2_C_BIND
5847                 {*r = _SC_2_C_BIND; return 0;}
5848 #else /* def _SC_2_C_BIND */
5849                 {errno = EINVAL; return -1;}
5850 #endif /* ndef _SC_2_C_BIND */
5851         if (x == Mono_Posix_SysconfName__SC_2_C_DEV)
5852 #ifdef _SC_2_C_DEV
5853                 {*r = _SC_2_C_DEV; return 0;}
5854 #else /* def _SC_2_C_DEV */
5855                 {errno = EINVAL; return -1;}
5856 #endif /* ndef _SC_2_C_DEV */
5857         if (x == Mono_Posix_SysconfName__SC_2_C_VERSION)
5858 #ifdef _SC_2_C_VERSION
5859                 {*r = _SC_2_C_VERSION; return 0;}
5860 #else /* def _SC_2_C_VERSION */
5861                 {errno = EINVAL; return -1;}
5862 #endif /* ndef _SC_2_C_VERSION */
5863         if (x == Mono_Posix_SysconfName__SC_2_FORT_DEV)
5864 #ifdef _SC_2_FORT_DEV
5865                 {*r = _SC_2_FORT_DEV; return 0;}
5866 #else /* def _SC_2_FORT_DEV */
5867                 {errno = EINVAL; return -1;}
5868 #endif /* ndef _SC_2_FORT_DEV */
5869         if (x == Mono_Posix_SysconfName__SC_2_FORT_RUN)
5870 #ifdef _SC_2_FORT_RUN
5871                 {*r = _SC_2_FORT_RUN; return 0;}
5872 #else /* def _SC_2_FORT_RUN */
5873                 {errno = EINVAL; return -1;}
5874 #endif /* ndef _SC_2_FORT_RUN */
5875         if (x == Mono_Posix_SysconfName__SC_2_LOCALEDEF)
5876 #ifdef _SC_2_LOCALEDEF
5877                 {*r = _SC_2_LOCALEDEF; return 0;}
5878 #else /* def _SC_2_LOCALEDEF */
5879                 {errno = EINVAL; return -1;}
5880 #endif /* ndef _SC_2_LOCALEDEF */
5881         if (x == Mono_Posix_SysconfName__SC_2_PBS)
5882 #ifdef _SC_2_PBS
5883                 {*r = _SC_2_PBS; return 0;}
5884 #else /* def _SC_2_PBS */
5885                 {errno = EINVAL; return -1;}
5886 #endif /* ndef _SC_2_PBS */
5887         if (x == Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING)
5888 #ifdef _SC_2_PBS_ACCOUNTING
5889                 {*r = _SC_2_PBS_ACCOUNTING; return 0;}
5890 #else /* def _SC_2_PBS_ACCOUNTING */
5891                 {errno = EINVAL; return -1;}
5892 #endif /* ndef _SC_2_PBS_ACCOUNTING */
5893         if (x == Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT)
5894 #ifdef _SC_2_PBS_CHECKPOINT
5895                 {*r = _SC_2_PBS_CHECKPOINT; return 0;}
5896 #else /* def _SC_2_PBS_CHECKPOINT */
5897                 {errno = EINVAL; return -1;}
5898 #endif /* ndef _SC_2_PBS_CHECKPOINT */
5899         if (x == Mono_Posix_SysconfName__SC_2_PBS_LOCATE)
5900 #ifdef _SC_2_PBS_LOCATE
5901                 {*r = _SC_2_PBS_LOCATE; return 0;}
5902 #else /* def _SC_2_PBS_LOCATE */
5903                 {errno = EINVAL; return -1;}
5904 #endif /* ndef _SC_2_PBS_LOCATE */
5905         if (x == Mono_Posix_SysconfName__SC_2_PBS_MESSAGE)
5906 #ifdef _SC_2_PBS_MESSAGE
5907                 {*r = _SC_2_PBS_MESSAGE; return 0;}
5908 #else /* def _SC_2_PBS_MESSAGE */
5909                 {errno = EINVAL; return -1;}
5910 #endif /* ndef _SC_2_PBS_MESSAGE */
5911         if (x == Mono_Posix_SysconfName__SC_2_PBS_TRACK)
5912 #ifdef _SC_2_PBS_TRACK
5913                 {*r = _SC_2_PBS_TRACK; return 0;}
5914 #else /* def _SC_2_PBS_TRACK */
5915                 {errno = EINVAL; return -1;}
5916 #endif /* ndef _SC_2_PBS_TRACK */
5917         if (x == Mono_Posix_SysconfName__SC_2_SW_DEV)
5918 #ifdef _SC_2_SW_DEV
5919                 {*r = _SC_2_SW_DEV; return 0;}
5920 #else /* def _SC_2_SW_DEV */
5921                 {errno = EINVAL; return -1;}
5922 #endif /* ndef _SC_2_SW_DEV */
5923         if (x == Mono_Posix_SysconfName__SC_2_UPE)
5924 #ifdef _SC_2_UPE
5925                 {*r = _SC_2_UPE; return 0;}
5926 #else /* def _SC_2_UPE */
5927                 {errno = EINVAL; return -1;}
5928 #endif /* ndef _SC_2_UPE */
5929         if (x == Mono_Posix_SysconfName__SC_2_VERSION)
5930 #ifdef _SC_2_VERSION
5931                 {*r = _SC_2_VERSION; return 0;}
5932 #else /* def _SC_2_VERSION */
5933                 {errno = EINVAL; return -1;}
5934 #endif /* ndef _SC_2_VERSION */
5935         if (x == Mono_Posix_SysconfName__SC_ADVISORY_INFO)
5936 #ifdef _SC_ADVISORY_INFO
5937                 {*r = _SC_ADVISORY_INFO; return 0;}
5938 #else /* def _SC_ADVISORY_INFO */
5939                 {errno = EINVAL; return -1;}
5940 #endif /* ndef _SC_ADVISORY_INFO */
5941         if (x == Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX)
5942 #ifdef _SC_AIO_LISTIO_MAX
5943                 {*r = _SC_AIO_LISTIO_MAX; return 0;}
5944 #else /* def _SC_AIO_LISTIO_MAX */
5945                 {errno = EINVAL; return -1;}
5946 #endif /* ndef _SC_AIO_LISTIO_MAX */
5947         if (x == Mono_Posix_SysconfName__SC_AIO_MAX)
5948 #ifdef _SC_AIO_MAX
5949                 {*r = _SC_AIO_MAX; return 0;}
5950 #else /* def _SC_AIO_MAX */
5951                 {errno = EINVAL; return -1;}
5952 #endif /* ndef _SC_AIO_MAX */
5953         if (x == Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX)
5954 #ifdef _SC_AIO_PRIO_DELTA_MAX
5955                 {*r = _SC_AIO_PRIO_DELTA_MAX; return 0;}
5956 #else /* def _SC_AIO_PRIO_DELTA_MAX */
5957                 {errno = EINVAL; return -1;}
5958 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
5959         if (x == Mono_Posix_SysconfName__SC_ARG_MAX)
5960 #ifdef _SC_ARG_MAX
5961                 {*r = _SC_ARG_MAX; return 0;}
5962 #else /* def _SC_ARG_MAX */
5963                 {errno = EINVAL; return -1;}
5964 #endif /* ndef _SC_ARG_MAX */
5965         if (x == Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO)
5966 #ifdef _SC_ASYNCHRONOUS_IO
5967                 {*r = _SC_ASYNCHRONOUS_IO; return 0;}
5968 #else /* def _SC_ASYNCHRONOUS_IO */
5969                 {errno = EINVAL; return -1;}
5970 #endif /* ndef _SC_ASYNCHRONOUS_IO */
5971         if (x == Mono_Posix_SysconfName__SC_ATEXIT_MAX)
5972 #ifdef _SC_ATEXIT_MAX
5973                 {*r = _SC_ATEXIT_MAX; return 0;}
5974 #else /* def _SC_ATEXIT_MAX */
5975                 {errno = EINVAL; return -1;}
5976 #endif /* ndef _SC_ATEXIT_MAX */
5977         if (x == Mono_Posix_SysconfName__SC_AVPHYS_PAGES)
5978 #ifdef _SC_AVPHYS_PAGES
5979                 {*r = _SC_AVPHYS_PAGES; return 0;}
5980 #else /* def _SC_AVPHYS_PAGES */
5981                 {errno = EINVAL; return -1;}
5982 #endif /* ndef _SC_AVPHYS_PAGES */
5983         if (x == Mono_Posix_SysconfName__SC_BARRIERS)
5984 #ifdef _SC_BARRIERS
5985                 {*r = _SC_BARRIERS; return 0;}
5986 #else /* def _SC_BARRIERS */
5987                 {errno = EINVAL; return -1;}
5988 #endif /* ndef _SC_BARRIERS */
5989         if (x == Mono_Posix_SysconfName__SC_BASE)
5990 #ifdef _SC_BASE
5991                 {*r = _SC_BASE; return 0;}
5992 #else /* def _SC_BASE */
5993                 {errno = EINVAL; return -1;}
5994 #endif /* ndef _SC_BASE */
5995         if (x == Mono_Posix_SysconfName__SC_BC_BASE_MAX)
5996 #ifdef _SC_BC_BASE_MAX
5997                 {*r = _SC_BC_BASE_MAX; return 0;}
5998 #else /* def _SC_BC_BASE_MAX */
5999                 {errno = EINVAL; return -1;}
6000 #endif /* ndef _SC_BC_BASE_MAX */
6001         if (x == Mono_Posix_SysconfName__SC_BC_DIM_MAX)
6002 #ifdef _SC_BC_DIM_MAX
6003                 {*r = _SC_BC_DIM_MAX; return 0;}
6004 #else /* def _SC_BC_DIM_MAX */
6005                 {errno = EINVAL; return -1;}
6006 #endif /* ndef _SC_BC_DIM_MAX */
6007         if (x == Mono_Posix_SysconfName__SC_BC_SCALE_MAX)
6008 #ifdef _SC_BC_SCALE_MAX
6009                 {*r = _SC_BC_SCALE_MAX; return 0;}
6010 #else /* def _SC_BC_SCALE_MAX */
6011                 {errno = EINVAL; return -1;}
6012 #endif /* ndef _SC_BC_SCALE_MAX */
6013         if (x == Mono_Posix_SysconfName__SC_BC_STRING_MAX)
6014 #ifdef _SC_BC_STRING_MAX
6015                 {*r = _SC_BC_STRING_MAX; return 0;}
6016 #else /* def _SC_BC_STRING_MAX */
6017                 {errno = EINVAL; return -1;}
6018 #endif /* ndef _SC_BC_STRING_MAX */
6019         if (x == Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX)
6020 #ifdef _SC_CHARCLASS_NAME_MAX
6021                 {*r = _SC_CHARCLASS_NAME_MAX; return 0;}
6022 #else /* def _SC_CHARCLASS_NAME_MAX */
6023                 {errno = EINVAL; return -1;}
6024 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
6025         if (x == Mono_Posix_SysconfName__SC_CHAR_BIT)
6026 #ifdef _SC_CHAR_BIT
6027                 {*r = _SC_CHAR_BIT; return 0;}
6028 #else /* def _SC_CHAR_BIT */
6029                 {errno = EINVAL; return -1;}
6030 #endif /* ndef _SC_CHAR_BIT */
6031         if (x == Mono_Posix_SysconfName__SC_CHAR_MAX)
6032 #ifdef _SC_CHAR_MAX
6033                 {*r = _SC_CHAR_MAX; return 0;}
6034 #else /* def _SC_CHAR_MAX */
6035                 {errno = EINVAL; return -1;}
6036 #endif /* ndef _SC_CHAR_MAX */
6037         if (x == Mono_Posix_SysconfName__SC_CHAR_MIN)
6038 #ifdef _SC_CHAR_MIN
6039                 {*r = _SC_CHAR_MIN; return 0;}
6040 #else /* def _SC_CHAR_MIN */
6041                 {errno = EINVAL; return -1;}
6042 #endif /* ndef _SC_CHAR_MIN */
6043         if (x == Mono_Posix_SysconfName__SC_CHILD_MAX)
6044 #ifdef _SC_CHILD_MAX
6045                 {*r = _SC_CHILD_MAX; return 0;}
6046 #else /* def _SC_CHILD_MAX */
6047                 {errno = EINVAL; return -1;}
6048 #endif /* ndef _SC_CHILD_MAX */
6049         if (x == Mono_Posix_SysconfName__SC_CLK_TCK)
6050 #ifdef _SC_CLK_TCK
6051                 {*r = _SC_CLK_TCK; return 0;}
6052 #else /* def _SC_CLK_TCK */
6053                 {errno = EINVAL; return -1;}
6054 #endif /* ndef _SC_CLK_TCK */
6055         if (x == Mono_Posix_SysconfName__SC_CLOCK_SELECTION)
6056 #ifdef _SC_CLOCK_SELECTION
6057                 {*r = _SC_CLOCK_SELECTION; return 0;}
6058 #else /* def _SC_CLOCK_SELECTION */
6059                 {errno = EINVAL; return -1;}
6060 #endif /* ndef _SC_CLOCK_SELECTION */
6061         if (x == Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX)
6062 #ifdef _SC_COLL_WEIGHTS_MAX
6063                 {*r = _SC_COLL_WEIGHTS_MAX; return 0;}
6064 #else /* def _SC_COLL_WEIGHTS_MAX */
6065                 {errno = EINVAL; return -1;}
6066 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
6067         if (x == Mono_Posix_SysconfName__SC_CPUTIME)
6068 #ifdef _SC_CPUTIME
6069                 {*r = _SC_CPUTIME; return 0;}
6070 #else /* def _SC_CPUTIME */
6071                 {errno = EINVAL; return -1;}
6072 #endif /* ndef _SC_CPUTIME */
6073         if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT)
6074 #ifdef _SC_C_LANG_SUPPORT
6075                 {*r = _SC_C_LANG_SUPPORT; return 0;}
6076 #else /* def _SC_C_LANG_SUPPORT */
6077                 {errno = EINVAL; return -1;}
6078 #endif /* ndef _SC_C_LANG_SUPPORT */
6079         if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R)
6080 #ifdef _SC_C_LANG_SUPPORT_R
6081                 {*r = _SC_C_LANG_SUPPORT_R; return 0;}
6082 #else /* def _SC_C_LANG_SUPPORT_R */
6083                 {errno = EINVAL; return -1;}
6084 #endif /* ndef _SC_C_LANG_SUPPORT_R */
6085         if (x == Mono_Posix_SysconfName__SC_DELAYTIMER_MAX)
6086 #ifdef _SC_DELAYTIMER_MAX
6087                 {*r = _SC_DELAYTIMER_MAX; return 0;}
6088 #else /* def _SC_DELAYTIMER_MAX */
6089                 {errno = EINVAL; return -1;}
6090 #endif /* ndef _SC_DELAYTIMER_MAX */
6091         if (x == Mono_Posix_SysconfName__SC_DEVICE_IO)
6092 #ifdef _SC_DEVICE_IO
6093                 {*r = _SC_DEVICE_IO; return 0;}
6094 #else /* def _SC_DEVICE_IO */
6095                 {errno = EINVAL; return -1;}
6096 #endif /* ndef _SC_DEVICE_IO */
6097         if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC)
6098 #ifdef _SC_DEVICE_SPECIFIC
6099                 {*r = _SC_DEVICE_SPECIFIC; return 0;}
6100 #else /* def _SC_DEVICE_SPECIFIC */
6101                 {errno = EINVAL; return -1;}
6102 #endif /* ndef _SC_DEVICE_SPECIFIC */
6103         if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R)
6104 #ifdef _SC_DEVICE_SPECIFIC_R
6105                 {*r = _SC_DEVICE_SPECIFIC_R; return 0;}
6106 #else /* def _SC_DEVICE_SPECIFIC_R */
6107                 {errno = EINVAL; return -1;}
6108 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
6109         if (x == Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX)
6110 #ifdef _SC_EQUIV_CLASS_MAX
6111                 {*r = _SC_EQUIV_CLASS_MAX; return 0;}
6112 #else /* def _SC_EQUIV_CLASS_MAX */
6113                 {errno = EINVAL; return -1;}
6114 #endif /* ndef _SC_EQUIV_CLASS_MAX */
6115         if (x == Mono_Posix_SysconfName__SC_EXPR_NEST_MAX)
6116 #ifdef _SC_EXPR_NEST_MAX
6117                 {*r = _SC_EXPR_NEST_MAX; return 0;}
6118 #else /* def _SC_EXPR_NEST_MAX */
6119                 {errno = EINVAL; return -1;}
6120 #endif /* ndef _SC_EXPR_NEST_MAX */
6121         if (x == Mono_Posix_SysconfName__SC_FD_MGMT)
6122 #ifdef _SC_FD_MGMT
6123                 {*r = _SC_FD_MGMT; return 0;}
6124 #else /* def _SC_FD_MGMT */
6125                 {errno = EINVAL; return -1;}
6126 #endif /* ndef _SC_FD_MGMT */
6127         if (x == Mono_Posix_SysconfName__SC_FIFO)
6128 #ifdef _SC_FIFO
6129                 {*r = _SC_FIFO; return 0;}
6130 #else /* def _SC_FIFO */
6131                 {errno = EINVAL; return -1;}
6132 #endif /* ndef _SC_FIFO */
6133         if (x == Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES)
6134 #ifdef _SC_FILE_ATTRIBUTES
6135                 {*r = _SC_FILE_ATTRIBUTES; return 0;}
6136 #else /* def _SC_FILE_ATTRIBUTES */
6137                 {errno = EINVAL; return -1;}
6138 #endif /* ndef _SC_FILE_ATTRIBUTES */
6139         if (x == Mono_Posix_SysconfName__SC_FILE_LOCKING)
6140 #ifdef _SC_FILE_LOCKING
6141                 {*r = _SC_FILE_LOCKING; return 0;}
6142 #else /* def _SC_FILE_LOCKING */
6143                 {errno = EINVAL; return -1;}
6144 #endif /* ndef _SC_FILE_LOCKING */
6145         if (x == Mono_Posix_SysconfName__SC_FILE_SYSTEM)
6146 #ifdef _SC_FILE_SYSTEM
6147                 {*r = _SC_FILE_SYSTEM; return 0;}
6148 #else /* def _SC_FILE_SYSTEM */
6149                 {errno = EINVAL; return -1;}
6150 #endif /* ndef _SC_FILE_SYSTEM */
6151         if (x == Mono_Posix_SysconfName__SC_FSYNC)
6152 #ifdef _SC_FSYNC
6153                 {*r = _SC_FSYNC; return 0;}
6154 #else /* def _SC_FSYNC */
6155                 {errno = EINVAL; return -1;}
6156 #endif /* ndef _SC_FSYNC */
6157         if (x == Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX)
6158 #ifdef _SC_GETGR_R_SIZE_MAX
6159                 {*r = _SC_GETGR_R_SIZE_MAX; return 0;}
6160 #else /* def _SC_GETGR_R_SIZE_MAX */
6161                 {errno = EINVAL; return -1;}
6162 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
6163         if (x == Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX)
6164 #ifdef _SC_GETPW_R_SIZE_MAX
6165                 {*r = _SC_GETPW_R_SIZE_MAX; return 0;}
6166 #else /* def _SC_GETPW_R_SIZE_MAX */
6167                 {errno = EINVAL; return -1;}
6168 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
6169         if (x == Mono_Posix_SysconfName__SC_HOST_NAME_MAX)
6170 #ifdef _SC_HOST_NAME_MAX
6171                 {*r = _SC_HOST_NAME_MAX; return 0;}
6172 #else /* def _SC_HOST_NAME_MAX */
6173                 {errno = EINVAL; return -1;}
6174 #endif /* ndef _SC_HOST_NAME_MAX */
6175         if (x == Mono_Posix_SysconfName__SC_INT_MAX)
6176 #ifdef _SC_INT_MAX
6177                 {*r = _SC_INT_MAX; return 0;}
6178 #else /* def _SC_INT_MAX */
6179                 {errno = EINVAL; return -1;}
6180 #endif /* ndef _SC_INT_MAX */
6181         if (x == Mono_Posix_SysconfName__SC_INT_MIN)
6182 #ifdef _SC_INT_MIN
6183                 {*r = _SC_INT_MIN; return 0;}
6184 #else /* def _SC_INT_MIN */
6185                 {errno = EINVAL; return -1;}
6186 #endif /* ndef _SC_INT_MIN */
6187         if (x == Mono_Posix_SysconfName__SC_IOV_MAX)
6188 #ifdef _SC_IOV_MAX
6189                 {*r = _SC_IOV_MAX; return 0;}
6190 #else /* def _SC_IOV_MAX */
6191                 {errno = EINVAL; return -1;}
6192 #endif /* ndef _SC_IOV_MAX */
6193         if (x == Mono_Posix_SysconfName__SC_JOB_CONTROL)
6194 #ifdef _SC_JOB_CONTROL
6195                 {*r = _SC_JOB_CONTROL; return 0;}
6196 #else /* def _SC_JOB_CONTROL */
6197                 {errno = EINVAL; return -1;}
6198 #endif /* ndef _SC_JOB_CONTROL */
6199         if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC)
6200 #ifdef _SC_LEVEL1_DCACHE_ASSOC
6201                 {*r = _SC_LEVEL1_DCACHE_ASSOC; return 0;}
6202 #else /* def _SC_LEVEL1_DCACHE_ASSOC */
6203                 {errno = EINVAL; return -1;}
6204 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
6205         if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE)
6206 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
6207                 {*r = _SC_LEVEL1_DCACHE_LINESIZE; return 0;}
6208 #else /* def _SC_LEVEL1_DCACHE_LINESIZE */
6209                 {errno = EINVAL; return -1;}
6210 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
6211         if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE)
6212 #ifdef _SC_LEVEL1_DCACHE_SIZE
6213                 {*r = _SC_LEVEL1_DCACHE_SIZE; return 0;}
6214 #else /* def _SC_LEVEL1_DCACHE_SIZE */
6215                 {errno = EINVAL; return -1;}
6216 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
6217         if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC)
6218 #ifdef _SC_LEVEL1_ICACHE_ASSOC
6219                 {*r = _SC_LEVEL1_ICACHE_ASSOC; return 0;}
6220 #else /* def _SC_LEVEL1_ICACHE_ASSOC */
6221                 {errno = EINVAL; return -1;}
6222 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
6223         if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE)
6224 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
6225                 {*r = _SC_LEVEL1_ICACHE_LINESIZE; return 0;}
6226 #else /* def _SC_LEVEL1_ICACHE_LINESIZE */
6227                 {errno = EINVAL; return -1;}
6228 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
6229         if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE)
6230 #ifdef _SC_LEVEL1_ICACHE_SIZE
6231                 {*r = _SC_LEVEL1_ICACHE_SIZE; return 0;}
6232 #else /* def _SC_LEVEL1_ICACHE_SIZE */
6233                 {errno = EINVAL; return -1;}
6234 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
6235         if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC)
6236 #ifdef _SC_LEVEL2_CACHE_ASSOC
6237                 {*r = _SC_LEVEL2_CACHE_ASSOC; return 0;}
6238 #else /* def _SC_LEVEL2_CACHE_ASSOC */
6239                 {errno = EINVAL; return -1;}
6240 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
6241         if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE)
6242 #ifdef _SC_LEVEL2_CACHE_LINESIZE
6243                 {*r = _SC_LEVEL2_CACHE_LINESIZE; return 0;}
6244 #else /* def _SC_LEVEL2_CACHE_LINESIZE */
6245                 {errno = EINVAL; return -1;}
6246 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
6247         if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE)
6248 #ifdef _SC_LEVEL2_CACHE_SIZE
6249                 {*r = _SC_LEVEL2_CACHE_SIZE; return 0;}
6250 #else /* def _SC_LEVEL2_CACHE_SIZE */
6251                 {errno = EINVAL; return -1;}
6252 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
6253         if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC)
6254 #ifdef _SC_LEVEL3_CACHE_ASSOC
6255                 {*r = _SC_LEVEL3_CACHE_ASSOC; return 0;}
6256 #else /* def _SC_LEVEL3_CACHE_ASSOC */
6257                 {errno = EINVAL; return -1;}
6258 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
6259         if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE)
6260 #ifdef _SC_LEVEL3_CACHE_LINESIZE
6261                 {*r = _SC_LEVEL3_CACHE_LINESIZE; return 0;}
6262 #else /* def _SC_LEVEL3_CACHE_LINESIZE */
6263                 {errno = EINVAL; return -1;}
6264 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
6265         if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE)
6266 #ifdef _SC_LEVEL3_CACHE_SIZE
6267                 {*r = _SC_LEVEL3_CACHE_SIZE; return 0;}
6268 #else /* def _SC_LEVEL3_CACHE_SIZE */
6269                 {errno = EINVAL; return -1;}
6270 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
6271         if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC)
6272 #ifdef _SC_LEVEL4_CACHE_ASSOC
6273                 {*r = _SC_LEVEL4_CACHE_ASSOC; return 0;}
6274 #else /* def _SC_LEVEL4_CACHE_ASSOC */
6275                 {errno = EINVAL; return -1;}
6276 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
6277         if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE)
6278 #ifdef _SC_LEVEL4_CACHE_LINESIZE
6279                 {*r = _SC_LEVEL4_CACHE_LINESIZE; return 0;}
6280 #else /* def _SC_LEVEL4_CACHE_LINESIZE */
6281                 {errno = EINVAL; return -1;}
6282 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
6283         if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE)
6284 #ifdef _SC_LEVEL4_CACHE_SIZE
6285                 {*r = _SC_LEVEL4_CACHE_SIZE; return 0;}
6286 #else /* def _SC_LEVEL4_CACHE_SIZE */
6287                 {errno = EINVAL; return -1;}
6288 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
6289         if (x == Mono_Posix_SysconfName__SC_LINE_MAX)
6290 #ifdef _SC_LINE_MAX
6291                 {*r = _SC_LINE_MAX; return 0;}
6292 #else /* def _SC_LINE_MAX */
6293                 {errno = EINVAL; return -1;}
6294 #endif /* ndef _SC_LINE_MAX */
6295         if (x == Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX)
6296 #ifdef _SC_LOGIN_NAME_MAX
6297                 {*r = _SC_LOGIN_NAME_MAX; return 0;}
6298 #else /* def _SC_LOGIN_NAME_MAX */
6299                 {errno = EINVAL; return -1;}
6300 #endif /* ndef _SC_LOGIN_NAME_MAX */
6301         if (x == Mono_Posix_SysconfName__SC_LONG_BIT)
6302 #ifdef _SC_LONG_BIT
6303                 {*r = _SC_LONG_BIT; return 0;}
6304 #else /* def _SC_LONG_BIT */
6305                 {errno = EINVAL; return -1;}
6306 #endif /* ndef _SC_LONG_BIT */
6307         if (x == Mono_Posix_SysconfName__SC_MAPPED_FILES)
6308 #ifdef _SC_MAPPED_FILES
6309                 {*r = _SC_MAPPED_FILES; return 0;}
6310 #else /* def _SC_MAPPED_FILES */
6311                 {errno = EINVAL; return -1;}
6312 #endif /* ndef _SC_MAPPED_FILES */
6313         if (x == Mono_Posix_SysconfName__SC_MB_LEN_MAX)
6314 #ifdef _SC_MB_LEN_MAX
6315                 {*r = _SC_MB_LEN_MAX; return 0;}
6316 #else /* def _SC_MB_LEN_MAX */
6317                 {errno = EINVAL; return -1;}
6318 #endif /* ndef _SC_MB_LEN_MAX */
6319         if (x == Mono_Posix_SysconfName__SC_MEMLOCK)
6320 #ifdef _SC_MEMLOCK
6321                 {*r = _SC_MEMLOCK; return 0;}
6322 #else /* def _SC_MEMLOCK */
6323                 {errno = EINVAL; return -1;}
6324 #endif /* ndef _SC_MEMLOCK */
6325         if (x == Mono_Posix_SysconfName__SC_MEMLOCK_RANGE)
6326 #ifdef _SC_MEMLOCK_RANGE
6327                 {*r = _SC_MEMLOCK_RANGE; return 0;}
6328 #else /* def _SC_MEMLOCK_RANGE */
6329                 {errno = EINVAL; return -1;}
6330 #endif /* ndef _SC_MEMLOCK_RANGE */
6331         if (x == Mono_Posix_SysconfName__SC_MEMORY_PROTECTION)
6332 #ifdef _SC_MEMORY_PROTECTION
6333                 {*r = _SC_MEMORY_PROTECTION; return 0;}
6334 #else /* def _SC_MEMORY_PROTECTION */
6335                 {errno = EINVAL; return -1;}
6336 #endif /* ndef _SC_MEMORY_PROTECTION */
6337         if (x == Mono_Posix_SysconfName__SC_MESSAGE_PASSING)
6338 #ifdef _SC_MESSAGE_PASSING
6339                 {*r = _SC_MESSAGE_PASSING; return 0;}
6340 #else /* def _SC_MESSAGE_PASSING */
6341                 {errno = EINVAL; return -1;}
6342 #endif /* ndef _SC_MESSAGE_PASSING */
6343         if (x == Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK)
6344 #ifdef _SC_MONOTONIC_CLOCK
6345                 {*r = _SC_MONOTONIC_CLOCK; return 0;}
6346 #else /* def _SC_MONOTONIC_CLOCK */
6347                 {errno = EINVAL; return -1;}
6348 #endif /* ndef _SC_MONOTONIC_CLOCK */
6349         if (x == Mono_Posix_SysconfName__SC_MQ_OPEN_MAX)
6350 #ifdef _SC_MQ_OPEN_MAX
6351                 {*r = _SC_MQ_OPEN_MAX; return 0;}
6352 #else /* def _SC_MQ_OPEN_MAX */
6353                 {errno = EINVAL; return -1;}
6354 #endif /* ndef _SC_MQ_OPEN_MAX */
6355         if (x == Mono_Posix_SysconfName__SC_MQ_PRIO_MAX)
6356 #ifdef _SC_MQ_PRIO_MAX
6357                 {*r = _SC_MQ_PRIO_MAX; return 0;}
6358 #else /* def _SC_MQ_PRIO_MAX */
6359                 {errno = EINVAL; return -1;}
6360 #endif /* ndef _SC_MQ_PRIO_MAX */
6361         if (x == Mono_Posix_SysconfName__SC_MULTI_PROCESS)
6362 #ifdef _SC_MULTI_PROCESS
6363                 {*r = _SC_MULTI_PROCESS; return 0;}
6364 #else /* def _SC_MULTI_PROCESS */
6365                 {errno = EINVAL; return -1;}
6366 #endif /* ndef _SC_MULTI_PROCESS */
6367         if (x == Mono_Posix_SysconfName__SC_NETWORKING)
6368 #ifdef _SC_NETWORKING
6369                 {*r = _SC_NETWORKING; return 0;}
6370 #else /* def _SC_NETWORKING */
6371                 {errno = EINVAL; return -1;}
6372 #endif /* ndef _SC_NETWORKING */
6373         if (x == Mono_Posix_SysconfName__SC_NGROUPS_MAX)
6374 #ifdef _SC_NGROUPS_MAX
6375                 {*r = _SC_NGROUPS_MAX; return 0;}
6376 #else /* def _SC_NGROUPS_MAX */
6377                 {errno = EINVAL; return -1;}
6378 #endif /* ndef _SC_NGROUPS_MAX */
6379         if (x == Mono_Posix_SysconfName__SC_NL_ARGMAX)
6380 #ifdef _SC_NL_ARGMAX
6381                 {*r = _SC_NL_ARGMAX; return 0;}
6382 #else /* def _SC_NL_ARGMAX */
6383                 {errno = EINVAL; return -1;}
6384 #endif /* ndef _SC_NL_ARGMAX */
6385         if (x == Mono_Posix_SysconfName__SC_NL_LANGMAX)
6386 #ifdef _SC_NL_LANGMAX
6387                 {*r = _SC_NL_LANGMAX; return 0;}
6388 #else /* def _SC_NL_LANGMAX */
6389                 {errno = EINVAL; return -1;}
6390 #endif /* ndef _SC_NL_LANGMAX */
6391         if (x == Mono_Posix_SysconfName__SC_NL_MSGMAX)
6392 #ifdef _SC_NL_MSGMAX
6393                 {*r = _SC_NL_MSGMAX; return 0;}
6394 #else /* def _SC_NL_MSGMAX */
6395                 {errno = EINVAL; return -1;}
6396 #endif /* ndef _SC_NL_MSGMAX */
6397         if (x == Mono_Posix_SysconfName__SC_NL_NMAX)
6398 #ifdef _SC_NL_NMAX
6399                 {*r = _SC_NL_NMAX; return 0;}
6400 #else /* def _SC_NL_NMAX */
6401                 {errno = EINVAL; return -1;}
6402 #endif /* ndef _SC_NL_NMAX */
6403         if (x == Mono_Posix_SysconfName__SC_NL_SETMAX)
6404 #ifdef _SC_NL_SETMAX
6405                 {*r = _SC_NL_SETMAX; return 0;}
6406 #else /* def _SC_NL_SETMAX */
6407                 {errno = EINVAL; return -1;}
6408 #endif /* ndef _SC_NL_SETMAX */
6409         if (x == Mono_Posix_SysconfName__SC_NL_TEXTMAX)
6410 #ifdef _SC_NL_TEXTMAX
6411                 {*r = _SC_NL_TEXTMAX; return 0;}
6412 #else /* def _SC_NL_TEXTMAX */
6413                 {errno = EINVAL; return -1;}
6414 #endif /* ndef _SC_NL_TEXTMAX */
6415         if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_CONF)
6416 #ifdef _SC_NPROCESSORS_CONF
6417                 {*r = _SC_NPROCESSORS_CONF; return 0;}
6418 #else /* def _SC_NPROCESSORS_CONF */
6419                 {errno = EINVAL; return -1;}
6420 #endif /* ndef _SC_NPROCESSORS_CONF */
6421         if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN)
6422 #ifdef _SC_NPROCESSORS_ONLN
6423                 {*r = _SC_NPROCESSORS_ONLN; return 0;}
6424 #else /* def _SC_NPROCESSORS_ONLN */
6425                 {errno = EINVAL; return -1;}
6426 #endif /* ndef _SC_NPROCESSORS_ONLN */
6427         if (x == Mono_Posix_SysconfName__SC_NZERO)
6428 #ifdef _SC_NZERO
6429                 {*r = _SC_NZERO; return 0;}
6430 #else /* def _SC_NZERO */
6431                 {errno = EINVAL; return -1;}
6432 #endif /* ndef _SC_NZERO */
6433         if (x == Mono_Posix_SysconfName__SC_OPEN_MAX)
6434 #ifdef _SC_OPEN_MAX
6435                 {*r = _SC_OPEN_MAX; return 0;}
6436 #else /* def _SC_OPEN_MAX */
6437                 {errno = EINVAL; return -1;}
6438 #endif /* ndef _SC_OPEN_MAX */
6439         if (x == Mono_Posix_SysconfName__SC_PAGESIZE)
6440 #ifdef _SC_PAGESIZE
6441                 {*r = _SC_PAGESIZE; return 0;}
6442 #else /* def _SC_PAGESIZE */
6443                 {errno = EINVAL; return -1;}
6444 #endif /* ndef _SC_PAGESIZE */
6445         if (x == Mono_Posix_SysconfName__SC_PASS_MAX)
6446 #ifdef _SC_PASS_MAX
6447                 {*r = _SC_PASS_MAX; return 0;}
6448 #else /* def _SC_PASS_MAX */
6449                 {errno = EINVAL; return -1;}
6450 #endif /* ndef _SC_PASS_MAX */
6451         if (x == Mono_Posix_SysconfName__SC_PHYS_PAGES)
6452 #ifdef _SC_PHYS_PAGES
6453                 {*r = _SC_PHYS_PAGES; return 0;}
6454 #else /* def _SC_PHYS_PAGES */
6455                 {errno = EINVAL; return -1;}
6456 #endif /* ndef _SC_PHYS_PAGES */
6457         if (x == Mono_Posix_SysconfName__SC_PII)
6458 #ifdef _SC_PII
6459                 {*r = _SC_PII; return 0;}
6460 #else /* def _SC_PII */
6461                 {errno = EINVAL; return -1;}
6462 #endif /* ndef _SC_PII */
6463         if (x == Mono_Posix_SysconfName__SC_PII_INTERNET)
6464 #ifdef _SC_PII_INTERNET
6465                 {*r = _SC_PII_INTERNET; return 0;}
6466 #else /* def _SC_PII_INTERNET */
6467                 {errno = EINVAL; return -1;}
6468 #endif /* ndef _SC_PII_INTERNET */
6469         if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM)
6470 #ifdef _SC_PII_INTERNET_DGRAM
6471                 {*r = _SC_PII_INTERNET_DGRAM; return 0;}
6472 #else /* def _SC_PII_INTERNET_DGRAM */
6473                 {errno = EINVAL; return -1;}
6474 #endif /* ndef _SC_PII_INTERNET_DGRAM */
6475         if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM)
6476 #ifdef _SC_PII_INTERNET_STREAM
6477                 {*r = _SC_PII_INTERNET_STREAM; return 0;}
6478 #else /* def _SC_PII_INTERNET_STREAM */
6479                 {errno = EINVAL; return -1;}
6480 #endif /* ndef _SC_PII_INTERNET_STREAM */
6481         if (x == Mono_Posix_SysconfName__SC_PII_OSI)
6482 #ifdef _SC_PII_OSI
6483                 {*r = _SC_PII_OSI; return 0;}
6484 #else /* def _SC_PII_OSI */
6485                 {errno = EINVAL; return -1;}
6486 #endif /* ndef _SC_PII_OSI */
6487         if (x == Mono_Posix_SysconfName__SC_PII_OSI_CLTS)
6488 #ifdef _SC_PII_OSI_CLTS
6489                 {*r = _SC_PII_OSI_CLTS; return 0;}
6490 #else /* def _SC_PII_OSI_CLTS */
6491                 {errno = EINVAL; return -1;}
6492 #endif /* ndef _SC_PII_OSI_CLTS */
6493         if (x == Mono_Posix_SysconfName__SC_PII_OSI_COTS)
6494 #ifdef _SC_PII_OSI_COTS
6495                 {*r = _SC_PII_OSI_COTS; return 0;}
6496 #else /* def _SC_PII_OSI_COTS */
6497                 {errno = EINVAL; return -1;}
6498 #endif /* ndef _SC_PII_OSI_COTS */
6499         if (x == Mono_Posix_SysconfName__SC_PII_OSI_M)
6500 #ifdef _SC_PII_OSI_M
6501                 {*r = _SC_PII_OSI_M; return 0;}
6502 #else /* def _SC_PII_OSI_M */
6503                 {errno = EINVAL; return -1;}
6504 #endif /* ndef _SC_PII_OSI_M */
6505         if (x == Mono_Posix_SysconfName__SC_PII_SOCKET)
6506 #ifdef _SC_PII_SOCKET
6507                 {*r = _SC_PII_SOCKET; return 0;}
6508 #else /* def _SC_PII_SOCKET */
6509                 {errno = EINVAL; return -1;}
6510 #endif /* ndef _SC_PII_SOCKET */
6511         if (x == Mono_Posix_SysconfName__SC_PII_XTI)
6512 #ifdef _SC_PII_XTI
6513                 {*r = _SC_PII_XTI; return 0;}
6514 #else /* def _SC_PII_XTI */
6515                 {errno = EINVAL; return -1;}
6516 #endif /* ndef _SC_PII_XTI */
6517         if (x == Mono_Posix_SysconfName__SC_PIPE)
6518 #ifdef _SC_PIPE
6519                 {*r = _SC_PIPE; return 0;}
6520 #else /* def _SC_PIPE */
6521                 {errno = EINVAL; return -1;}
6522 #endif /* ndef _SC_PIPE */
6523         if (x == Mono_Posix_SysconfName__SC_POLL)
6524 #ifdef _SC_POLL
6525                 {*r = _SC_POLL; return 0;}
6526 #else /* def _SC_POLL */
6527                 {errno = EINVAL; return -1;}
6528 #endif /* ndef _SC_POLL */
6529         if (x == Mono_Posix_SysconfName__SC_PRIORITIZED_IO)
6530 #ifdef _SC_PRIORITIZED_IO
6531                 {*r = _SC_PRIORITIZED_IO; return 0;}
6532 #else /* def _SC_PRIORITIZED_IO */
6533                 {errno = EINVAL; return -1;}
6534 #endif /* ndef _SC_PRIORITIZED_IO */
6535         if (x == Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING)
6536 #ifdef _SC_PRIORITY_SCHEDULING
6537                 {*r = _SC_PRIORITY_SCHEDULING; return 0;}
6538 #else /* def _SC_PRIORITY_SCHEDULING */
6539                 {errno = EINVAL; return -1;}
6540 #endif /* ndef _SC_PRIORITY_SCHEDULING */
6541         if (x == Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS)
6542 #ifdef _SC_READER_WRITER_LOCKS
6543                 {*r = _SC_READER_WRITER_LOCKS; return 0;}
6544 #else /* def _SC_READER_WRITER_LOCKS */
6545                 {errno = EINVAL; return -1;}
6546 #endif /* ndef _SC_READER_WRITER_LOCKS */
6547         if (x == Mono_Posix_SysconfName__SC_REALTIME_SIGNALS)
6548 #ifdef _SC_REALTIME_SIGNALS
6549                 {*r = _SC_REALTIME_SIGNALS; return 0;}
6550 #else /* def _SC_REALTIME_SIGNALS */
6551                 {errno = EINVAL; return -1;}
6552 #endif /* ndef _SC_REALTIME_SIGNALS */
6553         if (x == Mono_Posix_SysconfName__SC_REGEXP)
6554 #ifdef _SC_REGEXP
6555                 {*r = _SC_REGEXP; return 0;}
6556 #else /* def _SC_REGEXP */
6557                 {errno = EINVAL; return -1;}
6558 #endif /* ndef _SC_REGEXP */
6559         if (x == Mono_Posix_SysconfName__SC_REGEX_VERSION)
6560 #ifdef _SC_REGEX_VERSION
6561                 {*r = _SC_REGEX_VERSION; return 0;}
6562 #else /* def _SC_REGEX_VERSION */
6563                 {errno = EINVAL; return -1;}
6564 #endif /* ndef _SC_REGEX_VERSION */
6565         if (x == Mono_Posix_SysconfName__SC_RE_DUP_MAX)
6566 #ifdef _SC_RE_DUP_MAX
6567                 {*r = _SC_RE_DUP_MAX; return 0;}
6568 #else /* def _SC_RE_DUP_MAX */
6569                 {errno = EINVAL; return -1;}
6570 #endif /* ndef _SC_RE_DUP_MAX */
6571         if (x == Mono_Posix_SysconfName__SC_RTSIG_MAX)
6572 #ifdef _SC_RTSIG_MAX
6573                 {*r = _SC_RTSIG_MAX; return 0;}
6574 #else /* def _SC_RTSIG_MAX */
6575                 {errno = EINVAL; return -1;}
6576 #endif /* ndef _SC_RTSIG_MAX */
6577         if (x == Mono_Posix_SysconfName__SC_SAVED_IDS)
6578 #ifdef _SC_SAVED_IDS
6579                 {*r = _SC_SAVED_IDS; return 0;}
6580 #else /* def _SC_SAVED_IDS */
6581                 {errno = EINVAL; return -1;}
6582 #endif /* ndef _SC_SAVED_IDS */
6583         if (x == Mono_Posix_SysconfName__SC_SCHAR_MAX)
6584 #ifdef _SC_SCHAR_MAX
6585                 {*r = _SC_SCHAR_MAX; return 0;}
6586 #else /* def _SC_SCHAR_MAX */
6587                 {errno = EINVAL; return -1;}
6588 #endif /* ndef _SC_SCHAR_MAX */
6589         if (x == Mono_Posix_SysconfName__SC_SCHAR_MIN)
6590 #ifdef _SC_SCHAR_MIN
6591                 {*r = _SC_SCHAR_MIN; return 0;}
6592 #else /* def _SC_SCHAR_MIN */
6593                 {errno = EINVAL; return -1;}
6594 #endif /* ndef _SC_SCHAR_MIN */
6595         if (x == Mono_Posix_SysconfName__SC_SELECT)
6596 #ifdef _SC_SELECT
6597                 {*r = _SC_SELECT; return 0;}
6598 #else /* def _SC_SELECT */
6599                 {errno = EINVAL; return -1;}
6600 #endif /* ndef _SC_SELECT */
6601         if (x == Mono_Posix_SysconfName__SC_SEMAPHORES)
6602 #ifdef _SC_SEMAPHORES
6603                 {*r = _SC_SEMAPHORES; return 0;}
6604 #else /* def _SC_SEMAPHORES */
6605                 {errno = EINVAL; return -1;}
6606 #endif /* ndef _SC_SEMAPHORES */
6607         if (x == Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX)
6608 #ifdef _SC_SEM_NSEMS_MAX
6609                 {*r = _SC_SEM_NSEMS_MAX; return 0;}
6610 #else /* def _SC_SEM_NSEMS_MAX */
6611                 {errno = EINVAL; return -1;}
6612 #endif /* ndef _SC_SEM_NSEMS_MAX */
6613         if (x == Mono_Posix_SysconfName__SC_SEM_VALUE_MAX)
6614 #ifdef _SC_SEM_VALUE_MAX
6615                 {*r = _SC_SEM_VALUE_MAX; return 0;}
6616 #else /* def _SC_SEM_VALUE_MAX */
6617                 {errno = EINVAL; return -1;}
6618 #endif /* ndef _SC_SEM_VALUE_MAX */
6619         if (x == Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS)
6620 #ifdef _SC_SHARED_MEMORY_OBJECTS
6621                 {*r = _SC_SHARED_MEMORY_OBJECTS; return 0;}
6622 #else /* def _SC_SHARED_MEMORY_OBJECTS */
6623                 {errno = EINVAL; return -1;}
6624 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
6625         if (x == Mono_Posix_SysconfName__SC_SHELL)
6626 #ifdef _SC_SHELL
6627                 {*r = _SC_SHELL; return 0;}
6628 #else /* def _SC_SHELL */
6629                 {errno = EINVAL; return -1;}
6630 #endif /* ndef _SC_SHELL */
6631         if (x == Mono_Posix_SysconfName__SC_SHRT_MAX)
6632 #ifdef _SC_SHRT_MAX
6633                 {*r = _SC_SHRT_MAX; return 0;}
6634 #else /* def _SC_SHRT_MAX */
6635                 {errno = EINVAL; return -1;}
6636 #endif /* ndef _SC_SHRT_MAX */
6637         if (x == Mono_Posix_SysconfName__SC_SHRT_MIN)
6638 #ifdef _SC_SHRT_MIN
6639                 {*r = _SC_SHRT_MIN; return 0;}
6640 #else /* def _SC_SHRT_MIN */
6641                 {errno = EINVAL; return -1;}
6642 #endif /* ndef _SC_SHRT_MIN */
6643         if (x == Mono_Posix_SysconfName__SC_SIGNALS)
6644 #ifdef _SC_SIGNALS
6645                 {*r = _SC_SIGNALS; return 0;}
6646 #else /* def _SC_SIGNALS */
6647                 {errno = EINVAL; return -1;}
6648 #endif /* ndef _SC_SIGNALS */
6649         if (x == Mono_Posix_SysconfName__SC_SIGQUEUE_MAX)
6650 #ifdef _SC_SIGQUEUE_MAX
6651                 {*r = _SC_SIGQUEUE_MAX; return 0;}
6652 #else /* def _SC_SIGQUEUE_MAX */
6653                 {errno = EINVAL; return -1;}
6654 #endif /* ndef _SC_SIGQUEUE_MAX */
6655         if (x == Mono_Posix_SysconfName__SC_SINGLE_PROCESS)
6656 #ifdef _SC_SINGLE_PROCESS
6657                 {*r = _SC_SINGLE_PROCESS; return 0;}
6658 #else /* def _SC_SINGLE_PROCESS */
6659                 {errno = EINVAL; return -1;}
6660 #endif /* ndef _SC_SINGLE_PROCESS */
6661         if (x == Mono_Posix_SysconfName__SC_SPAWN)
6662 #ifdef _SC_SPAWN
6663                 {*r = _SC_SPAWN; return 0;}
6664 #else /* def _SC_SPAWN */
6665                 {errno = EINVAL; return -1;}
6666 #endif /* ndef _SC_SPAWN */
6667         if (x == Mono_Posix_SysconfName__SC_SPIN_LOCKS)
6668 #ifdef _SC_SPIN_LOCKS
6669                 {*r = _SC_SPIN_LOCKS; return 0;}
6670 #else /* def _SC_SPIN_LOCKS */
6671                 {errno = EINVAL; return -1;}
6672 #endif /* ndef _SC_SPIN_LOCKS */
6673         if (x == Mono_Posix_SysconfName__SC_SPORADIC_SERVER)
6674 #ifdef _SC_SPORADIC_SERVER
6675                 {*r = _SC_SPORADIC_SERVER; return 0;}
6676 #else /* def _SC_SPORADIC_SERVER */
6677                 {errno = EINVAL; return -1;}
6678 #endif /* ndef _SC_SPORADIC_SERVER */
6679         if (x == Mono_Posix_SysconfName__SC_SSIZE_MAX)
6680 #ifdef _SC_SSIZE_MAX
6681                 {*r = _SC_SSIZE_MAX; return 0;}
6682 #else /* def _SC_SSIZE_MAX */
6683                 {errno = EINVAL; return -1;}
6684 #endif /* ndef _SC_SSIZE_MAX */
6685         if (x == Mono_Posix_SysconfName__SC_STREAMS)
6686 #ifdef _SC_STREAMS
6687                 {*r = _SC_STREAMS; return 0;}
6688 #else /* def _SC_STREAMS */
6689                 {errno = EINVAL; return -1;}
6690 #endif /* ndef _SC_STREAMS */
6691         if (x == Mono_Posix_SysconfName__SC_STREAM_MAX)
6692 #ifdef _SC_STREAM_MAX
6693                 {*r = _SC_STREAM_MAX; return 0;}
6694 #else /* def _SC_STREAM_MAX */
6695                 {errno = EINVAL; return -1;}
6696 #endif /* ndef _SC_STREAM_MAX */
6697         if (x == Mono_Posix_SysconfName__SC_SYMLOOP_MAX)
6698 #ifdef _SC_SYMLOOP_MAX
6699                 {*r = _SC_SYMLOOP_MAX; return 0;}
6700 #else /* def _SC_SYMLOOP_MAX */
6701                 {errno = EINVAL; return -1;}
6702 #endif /* ndef _SC_SYMLOOP_MAX */
6703         if (x == Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO)
6704 #ifdef _SC_SYNCHRONIZED_IO
6705                 {*r = _SC_SYNCHRONIZED_IO; return 0;}
6706 #else /* def _SC_SYNCHRONIZED_IO */
6707                 {errno = EINVAL; return -1;}
6708 #endif /* ndef _SC_SYNCHRONIZED_IO */
6709         if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE)
6710 #ifdef _SC_SYSTEM_DATABASE
6711                 {*r = _SC_SYSTEM_DATABASE; return 0;}
6712 #else /* def _SC_SYSTEM_DATABASE */
6713                 {errno = EINVAL; return -1;}
6714 #endif /* ndef _SC_SYSTEM_DATABASE */
6715         if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R)
6716 #ifdef _SC_SYSTEM_DATABASE_R
6717                 {*r = _SC_SYSTEM_DATABASE_R; return 0;}
6718 #else /* def _SC_SYSTEM_DATABASE_R */
6719                 {errno = EINVAL; return -1;}
6720 #endif /* ndef _SC_SYSTEM_DATABASE_R */
6721         if (x == Mono_Posix_SysconfName__SC_THREADS)
6722 #ifdef _SC_THREADS
6723                 {*r = _SC_THREADS; return 0;}
6724 #else /* def _SC_THREADS */
6725                 {errno = EINVAL; return -1;}
6726 #endif /* ndef _SC_THREADS */
6727         if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR)
6728 #ifdef _SC_THREAD_ATTR_STACKADDR
6729                 {*r = _SC_THREAD_ATTR_STACKADDR; return 0;}
6730 #else /* def _SC_THREAD_ATTR_STACKADDR */
6731                 {errno = EINVAL; return -1;}
6732 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
6733         if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE)
6734 #ifdef _SC_THREAD_ATTR_STACKSIZE
6735                 {*r = _SC_THREAD_ATTR_STACKSIZE; return 0;}
6736 #else /* def _SC_THREAD_ATTR_STACKSIZE */
6737                 {errno = EINVAL; return -1;}
6738 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
6739         if (x == Mono_Posix_SysconfName__SC_THREAD_CPUTIME)
6740 #ifdef _SC_THREAD_CPUTIME
6741                 {*r = _SC_THREAD_CPUTIME; return 0;}
6742 #else /* def _SC_THREAD_CPUTIME */
6743                 {errno = EINVAL; return -1;}
6744 #endif /* ndef _SC_THREAD_CPUTIME */
6745         if (x == Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS)
6746 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
6747                 {*r = _SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
6748 #else /* def _SC_THREAD_DESTRUCTOR_ITERATIONS */
6749                 {errno = EINVAL; return -1;}
6750 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
6751         if (x == Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX)
6752 #ifdef _SC_THREAD_KEYS_MAX
6753                 {*r = _SC_THREAD_KEYS_MAX; return 0;}
6754 #else /* def _SC_THREAD_KEYS_MAX */
6755                 {errno = EINVAL; return -1;}
6756 #endif /* ndef _SC_THREAD_KEYS_MAX */
6757         if (x == Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING)
6758 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
6759                 {*r = _SC_THREAD_PRIORITY_SCHEDULING; return 0;}
6760 #else /* def _SC_THREAD_PRIORITY_SCHEDULING */
6761                 {errno = EINVAL; return -1;}
6762 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
6763         if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT)
6764 #ifdef _SC_THREAD_PRIO_INHERIT
6765                 {*r = _SC_THREAD_PRIO_INHERIT; return 0;}
6766 #else /* def _SC_THREAD_PRIO_INHERIT */
6767                 {errno = EINVAL; return -1;}
6768 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
6769         if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT)
6770 #ifdef _SC_THREAD_PRIO_PROTECT
6771                 {*r = _SC_THREAD_PRIO_PROTECT; return 0;}
6772 #else /* def _SC_THREAD_PRIO_PROTECT */
6773                 {errno = EINVAL; return -1;}
6774 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
6775         if (x == Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED)
6776 #ifdef _SC_THREAD_PROCESS_SHARED
6777                 {*r = _SC_THREAD_PROCESS_SHARED; return 0;}
6778 #else /* def _SC_THREAD_PROCESS_SHARED */
6779                 {errno = EINVAL; return -1;}
6780 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
6781         if (x == Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS)
6782 #ifdef _SC_THREAD_SAFE_FUNCTIONS
6783                 {*r = _SC_THREAD_SAFE_FUNCTIONS; return 0;}
6784 #else /* def _SC_THREAD_SAFE_FUNCTIONS */
6785                 {errno = EINVAL; return -1;}
6786 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
6787         if (x == Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER)
6788 #ifdef _SC_THREAD_SPORADIC_SERVER
6789                 {*r = _SC_THREAD_SPORADIC_SERVER; return 0;}
6790 #else /* def _SC_THREAD_SPORADIC_SERVER */
6791                 {errno = EINVAL; return -1;}
6792 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
6793         if (x == Mono_Posix_SysconfName__SC_THREAD_STACK_MIN)
6794 #ifdef _SC_THREAD_STACK_MIN
6795                 {*r = _SC_THREAD_STACK_MIN; return 0;}
6796 #else /* def _SC_THREAD_STACK_MIN */
6797                 {errno = EINVAL; return -1;}
6798 #endif /* ndef _SC_THREAD_STACK_MIN */
6799         if (x == Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX)
6800 #ifdef _SC_THREAD_THREADS_MAX
6801                 {*r = _SC_THREAD_THREADS_MAX; return 0;}
6802 #else /* def _SC_THREAD_THREADS_MAX */
6803                 {errno = EINVAL; return -1;}
6804 #endif /* ndef _SC_THREAD_THREADS_MAX */
6805         if (x == Mono_Posix_SysconfName__SC_TIMEOUTS)
6806 #ifdef _SC_TIMEOUTS
6807                 {*r = _SC_TIMEOUTS; return 0;}
6808 #else /* def _SC_TIMEOUTS */
6809                 {errno = EINVAL; return -1;}
6810 #endif /* ndef _SC_TIMEOUTS */
6811         if (x == Mono_Posix_SysconfName__SC_TIMERS)
6812 #ifdef _SC_TIMERS
6813                 {*r = _SC_TIMERS; return 0;}
6814 #else /* def _SC_TIMERS */
6815                 {errno = EINVAL; return -1;}
6816 #endif /* ndef _SC_TIMERS */
6817         if (x == Mono_Posix_SysconfName__SC_TIMER_MAX)
6818 #ifdef _SC_TIMER_MAX
6819                 {*r = _SC_TIMER_MAX; return 0;}
6820 #else /* def _SC_TIMER_MAX */
6821                 {errno = EINVAL; return -1;}
6822 #endif /* ndef _SC_TIMER_MAX */
6823         if (x == Mono_Posix_SysconfName__SC_TRACE)
6824 #ifdef _SC_TRACE
6825                 {*r = _SC_TRACE; return 0;}
6826 #else /* def _SC_TRACE */
6827                 {errno = EINVAL; return -1;}
6828 #endif /* ndef _SC_TRACE */
6829         if (x == Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER)
6830 #ifdef _SC_TRACE_EVENT_FILTER
6831                 {*r = _SC_TRACE_EVENT_FILTER; return 0;}
6832 #else /* def _SC_TRACE_EVENT_FILTER */
6833                 {errno = EINVAL; return -1;}
6834 #endif /* ndef _SC_TRACE_EVENT_FILTER */
6835         if (x == Mono_Posix_SysconfName__SC_TRACE_INHERIT)
6836 #ifdef _SC_TRACE_INHERIT
6837                 {*r = _SC_TRACE_INHERIT; return 0;}
6838 #else /* def _SC_TRACE_INHERIT */
6839                 {errno = EINVAL; return -1;}
6840 #endif /* ndef _SC_TRACE_INHERIT */
6841         if (x == Mono_Posix_SysconfName__SC_TRACE_LOG)
6842 #ifdef _SC_TRACE_LOG
6843                 {*r = _SC_TRACE_LOG; return 0;}
6844 #else /* def _SC_TRACE_LOG */
6845                 {errno = EINVAL; return -1;}
6846 #endif /* ndef _SC_TRACE_LOG */
6847         if (x == Mono_Posix_SysconfName__SC_TTY_NAME_MAX)
6848 #ifdef _SC_TTY_NAME_MAX
6849                 {*r = _SC_TTY_NAME_MAX; return 0;}
6850 #else /* def _SC_TTY_NAME_MAX */
6851                 {errno = EINVAL; return -1;}
6852 #endif /* ndef _SC_TTY_NAME_MAX */
6853         if (x == Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS)
6854 #ifdef _SC_TYPED_MEMORY_OBJECTS
6855                 {*r = _SC_TYPED_MEMORY_OBJECTS; return 0;}
6856 #else /* def _SC_TYPED_MEMORY_OBJECTS */
6857                 {errno = EINVAL; return -1;}
6858 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
6859         if (x == Mono_Posix_SysconfName__SC_TZNAME_MAX)
6860 #ifdef _SC_TZNAME_MAX
6861                 {*r = _SC_TZNAME_MAX; return 0;}
6862 #else /* def _SC_TZNAME_MAX */
6863                 {errno = EINVAL; return -1;}
6864 #endif /* ndef _SC_TZNAME_MAX */
6865         if (x == Mono_Posix_SysconfName__SC_T_IOV_MAX)
6866 #ifdef _SC_T_IOV_MAX
6867                 {*r = _SC_T_IOV_MAX; return 0;}
6868 #else /* def _SC_T_IOV_MAX */
6869                 {errno = EINVAL; return -1;}
6870 #endif /* ndef _SC_T_IOV_MAX */
6871         if (x == Mono_Posix_SysconfName__SC_UCHAR_MAX)
6872 #ifdef _SC_UCHAR_MAX
6873                 {*r = _SC_UCHAR_MAX; return 0;}
6874 #else /* def _SC_UCHAR_MAX */
6875                 {errno = EINVAL; return -1;}
6876 #endif /* ndef _SC_UCHAR_MAX */
6877         if (x == Mono_Posix_SysconfName__SC_UINT_MAX)
6878 #ifdef _SC_UINT_MAX
6879                 {*r = _SC_UINT_MAX; return 0;}
6880 #else /* def _SC_UINT_MAX */
6881                 {errno = EINVAL; return -1;}
6882 #endif /* ndef _SC_UINT_MAX */
6883         if (x == Mono_Posix_SysconfName__SC_UIO_MAXIOV)
6884 #ifdef _SC_UIO_MAXIOV
6885                 {*r = _SC_UIO_MAXIOV; return 0;}
6886 #else /* def _SC_UIO_MAXIOV */
6887                 {errno = EINVAL; return -1;}
6888 #endif /* ndef _SC_UIO_MAXIOV */
6889         if (x == Mono_Posix_SysconfName__SC_ULONG_MAX)
6890 #ifdef _SC_ULONG_MAX
6891                 {*r = _SC_ULONG_MAX; return 0;}
6892 #else /* def _SC_ULONG_MAX */
6893                 {errno = EINVAL; return -1;}
6894 #endif /* ndef _SC_ULONG_MAX */
6895         if (x == Mono_Posix_SysconfName__SC_USER_GROUPS)
6896 #ifdef _SC_USER_GROUPS
6897                 {*r = _SC_USER_GROUPS; return 0;}
6898 #else /* def _SC_USER_GROUPS */
6899                 {errno = EINVAL; return -1;}
6900 #endif /* ndef _SC_USER_GROUPS */
6901         if (x == Mono_Posix_SysconfName__SC_USER_GROUPS_R)
6902 #ifdef _SC_USER_GROUPS_R
6903                 {*r = _SC_USER_GROUPS_R; return 0;}
6904 #else /* def _SC_USER_GROUPS_R */
6905                 {errno = EINVAL; return -1;}
6906 #endif /* ndef _SC_USER_GROUPS_R */
6907         if (x == Mono_Posix_SysconfName__SC_USHRT_MAX)
6908 #ifdef _SC_USHRT_MAX
6909                 {*r = _SC_USHRT_MAX; return 0;}
6910 #else /* def _SC_USHRT_MAX */
6911                 {errno = EINVAL; return -1;}
6912 #endif /* ndef _SC_USHRT_MAX */
6913         if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFF32)
6914 #ifdef _SC_V6_ILP32_OFF32
6915                 {*r = _SC_V6_ILP32_OFF32; return 0;}
6916 #else /* def _SC_V6_ILP32_OFF32 */
6917                 {errno = EINVAL; return -1;}
6918 #endif /* ndef _SC_V6_ILP32_OFF32 */
6919         if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG)
6920 #ifdef _SC_V6_ILP32_OFFBIG
6921                 {*r = _SC_V6_ILP32_OFFBIG; return 0;}
6922 #else /* def _SC_V6_ILP32_OFFBIG */
6923                 {errno = EINVAL; return -1;}
6924 #endif /* ndef _SC_V6_ILP32_OFFBIG */
6925         if (x == Mono_Posix_SysconfName__SC_V6_LP64_OFF64)
6926 #ifdef _SC_V6_LP64_OFF64
6927                 {*r = _SC_V6_LP64_OFF64; return 0;}
6928 #else /* def _SC_V6_LP64_OFF64 */
6929                 {errno = EINVAL; return -1;}
6930 #endif /* ndef _SC_V6_LP64_OFF64 */
6931         if (x == Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG)
6932 #ifdef _SC_V6_LPBIG_OFFBIG
6933                 {*r = _SC_V6_LPBIG_OFFBIG; return 0;}
6934 #else /* def _SC_V6_LPBIG_OFFBIG */
6935                 {errno = EINVAL; return -1;}
6936 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
6937         if (x == Mono_Posix_SysconfName__SC_VERSION)
6938 #ifdef _SC_VERSION
6939                 {*r = _SC_VERSION; return 0;}
6940 #else /* def _SC_VERSION */
6941                 {errno = EINVAL; return -1;}
6942 #endif /* ndef _SC_VERSION */
6943         if (x == Mono_Posix_SysconfName__SC_WORD_BIT)
6944 #ifdef _SC_WORD_BIT
6945                 {*r = _SC_WORD_BIT; return 0;}
6946 #else /* def _SC_WORD_BIT */
6947                 {errno = EINVAL; return -1;}
6948 #endif /* ndef _SC_WORD_BIT */
6949         if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32)
6950 #ifdef _SC_XBS5_ILP32_OFF32
6951                 {*r = _SC_XBS5_ILP32_OFF32; return 0;}
6952 #else /* def _SC_XBS5_ILP32_OFF32 */
6953                 {errno = EINVAL; return -1;}
6954 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
6955         if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG)
6956 #ifdef _SC_XBS5_ILP32_OFFBIG
6957                 {*r = _SC_XBS5_ILP32_OFFBIG; return 0;}
6958 #else /* def _SC_XBS5_ILP32_OFFBIG */
6959                 {errno = EINVAL; return -1;}
6960 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
6961         if (x == Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64)
6962 #ifdef _SC_XBS5_LP64_OFF64
6963                 {*r = _SC_XBS5_LP64_OFF64; return 0;}
6964 #else /* def _SC_XBS5_LP64_OFF64 */
6965                 {errno = EINVAL; return -1;}
6966 #endif /* ndef _SC_XBS5_LP64_OFF64 */
6967         if (x == Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG)
6968 #ifdef _SC_XBS5_LPBIG_OFFBIG
6969                 {*r = _SC_XBS5_LPBIG_OFFBIG; return 0;}
6970 #else /* def _SC_XBS5_LPBIG_OFFBIG */
6971                 {errno = EINVAL; return -1;}
6972 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
6973         if (x == Mono_Posix_SysconfName__SC_XOPEN_CRYPT)
6974 #ifdef _SC_XOPEN_CRYPT
6975                 {*r = _SC_XOPEN_CRYPT; return 0;}
6976 #else /* def _SC_XOPEN_CRYPT */
6977                 {errno = EINVAL; return -1;}
6978 #endif /* ndef _SC_XOPEN_CRYPT */
6979         if (x == Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N)
6980 #ifdef _SC_XOPEN_ENH_I18N
6981                 {*r = _SC_XOPEN_ENH_I18N; return 0;}
6982 #else /* def _SC_XOPEN_ENH_I18N */
6983                 {errno = EINVAL; return -1;}
6984 #endif /* ndef _SC_XOPEN_ENH_I18N */
6985         if (x == Mono_Posix_SysconfName__SC_XOPEN_LEGACY)
6986 #ifdef _SC_XOPEN_LEGACY
6987                 {*r = _SC_XOPEN_LEGACY; return 0;}
6988 #else /* def _SC_XOPEN_LEGACY */
6989                 {errno = EINVAL; return -1;}
6990 #endif /* ndef _SC_XOPEN_LEGACY */
6991         if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME)
6992 #ifdef _SC_XOPEN_REALTIME
6993                 {*r = _SC_XOPEN_REALTIME; return 0;}
6994 #else /* def _SC_XOPEN_REALTIME */
6995                 {errno = EINVAL; return -1;}
6996 #endif /* ndef _SC_XOPEN_REALTIME */
6997         if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS)
6998 #ifdef _SC_XOPEN_REALTIME_THREADS
6999                 {*r = _SC_XOPEN_REALTIME_THREADS; return 0;}
7000 #else /* def _SC_XOPEN_REALTIME_THREADS */
7001                 {errno = EINVAL; return -1;}
7002 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
7003         if (x == Mono_Posix_SysconfName__SC_XOPEN_SHM)
7004 #ifdef _SC_XOPEN_SHM
7005                 {*r = _SC_XOPEN_SHM; return 0;}
7006 #else /* def _SC_XOPEN_SHM */
7007                 {errno = EINVAL; return -1;}
7008 #endif /* ndef _SC_XOPEN_SHM */
7009         if (x == Mono_Posix_SysconfName__SC_XOPEN_UNIX)
7010 #ifdef _SC_XOPEN_UNIX
7011                 {*r = _SC_XOPEN_UNIX; return 0;}
7012 #else /* def _SC_XOPEN_UNIX */
7013                 {errno = EINVAL; return -1;}
7014 #endif /* ndef _SC_XOPEN_UNIX */
7015         if (x == Mono_Posix_SysconfName__SC_XOPEN_VERSION)
7016 #ifdef _SC_XOPEN_VERSION
7017                 {*r = _SC_XOPEN_VERSION; return 0;}
7018 #else /* def _SC_XOPEN_VERSION */
7019                 {errno = EINVAL; return -1;}
7020 #endif /* ndef _SC_XOPEN_VERSION */
7021         if (x == Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION)
7022 #ifdef _SC_XOPEN_XCU_VERSION
7023                 {*r = _SC_XOPEN_XCU_VERSION; return 0;}
7024 #else /* def _SC_XOPEN_XCU_VERSION */
7025                 {errno = EINVAL; return -1;}
7026 #endif /* ndef _SC_XOPEN_XCU_VERSION */
7027         if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG2)
7028 #ifdef _SC_XOPEN_XPG2
7029                 {*r = _SC_XOPEN_XPG2; return 0;}
7030 #else /* def _SC_XOPEN_XPG2 */
7031                 {errno = EINVAL; return -1;}
7032 #endif /* ndef _SC_XOPEN_XPG2 */
7033         if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG3)
7034 #ifdef _SC_XOPEN_XPG3
7035                 {*r = _SC_XOPEN_XPG3; return 0;}
7036 #else /* def _SC_XOPEN_XPG3 */
7037                 {errno = EINVAL; return -1;}
7038 #endif /* ndef _SC_XOPEN_XPG3 */
7039         if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG4)
7040 #ifdef _SC_XOPEN_XPG4
7041                 {*r = _SC_XOPEN_XPG4; return 0;}
7042 #else /* def _SC_XOPEN_XPG4 */
7043                 {errno = EINVAL; return -1;}
7044 #endif /* ndef _SC_XOPEN_XPG4 */
7045         errno = EINVAL; return -1;
7046 }
7047
7048 int Mono_Posix_ToSysconfName (int x, int *r)
7049 {
7050         *r = 0;
7051         if (x == 0)
7052                 return 0;
7053 #ifdef _SC_2_CHAR_TERM
7054         if (x == _SC_2_CHAR_TERM)
7055                 {*r = Mono_Posix_SysconfName__SC_2_CHAR_TERM; return 0;}
7056 #endif /* ndef _SC_2_CHAR_TERM */
7057 #ifdef _SC_2_C_BIND
7058         if (x == _SC_2_C_BIND)
7059                 {*r = Mono_Posix_SysconfName__SC_2_C_BIND; return 0;}
7060 #endif /* ndef _SC_2_C_BIND */
7061 #ifdef _SC_2_C_DEV
7062         if (x == _SC_2_C_DEV)
7063                 {*r = Mono_Posix_SysconfName__SC_2_C_DEV; return 0;}
7064 #endif /* ndef _SC_2_C_DEV */
7065 #ifdef _SC_2_C_VERSION
7066         if (x == _SC_2_C_VERSION)
7067                 {*r = Mono_Posix_SysconfName__SC_2_C_VERSION; return 0;}
7068 #endif /* ndef _SC_2_C_VERSION */
7069 #ifdef _SC_2_FORT_DEV
7070         if (x == _SC_2_FORT_DEV)
7071                 {*r = Mono_Posix_SysconfName__SC_2_FORT_DEV; return 0;}
7072 #endif /* ndef _SC_2_FORT_DEV */
7073 #ifdef _SC_2_FORT_RUN
7074         if (x == _SC_2_FORT_RUN)
7075                 {*r = Mono_Posix_SysconfName__SC_2_FORT_RUN; return 0;}
7076 #endif /* ndef _SC_2_FORT_RUN */
7077 #ifdef _SC_2_LOCALEDEF
7078         if (x == _SC_2_LOCALEDEF)
7079                 {*r = Mono_Posix_SysconfName__SC_2_LOCALEDEF; return 0;}
7080 #endif /* ndef _SC_2_LOCALEDEF */
7081 #ifdef _SC_2_PBS
7082         if (x == _SC_2_PBS)
7083                 {*r = Mono_Posix_SysconfName__SC_2_PBS; return 0;}
7084 #endif /* ndef _SC_2_PBS */
7085 #ifdef _SC_2_PBS_ACCOUNTING
7086         if (x == _SC_2_PBS_ACCOUNTING)
7087                 {*r = Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING; return 0;}
7088 #endif /* ndef _SC_2_PBS_ACCOUNTING */
7089 #ifdef _SC_2_PBS_CHECKPOINT
7090         if (x == _SC_2_PBS_CHECKPOINT)
7091                 {*r = Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT; return 0;}
7092 #endif /* ndef _SC_2_PBS_CHECKPOINT */
7093 #ifdef _SC_2_PBS_LOCATE
7094         if (x == _SC_2_PBS_LOCATE)
7095                 {*r = Mono_Posix_SysconfName__SC_2_PBS_LOCATE; return 0;}
7096 #endif /* ndef _SC_2_PBS_LOCATE */
7097 #ifdef _SC_2_PBS_MESSAGE
7098         if (x == _SC_2_PBS_MESSAGE)
7099                 {*r = Mono_Posix_SysconfName__SC_2_PBS_MESSAGE; return 0;}
7100 #endif /* ndef _SC_2_PBS_MESSAGE */
7101 #ifdef _SC_2_PBS_TRACK
7102         if (x == _SC_2_PBS_TRACK)
7103                 {*r = Mono_Posix_SysconfName__SC_2_PBS_TRACK; return 0;}
7104 #endif /* ndef _SC_2_PBS_TRACK */
7105 #ifdef _SC_2_SW_DEV
7106         if (x == _SC_2_SW_DEV)
7107                 {*r = Mono_Posix_SysconfName__SC_2_SW_DEV; return 0;}
7108 #endif /* ndef _SC_2_SW_DEV */
7109 #ifdef _SC_2_UPE
7110         if (x == _SC_2_UPE)
7111                 {*r = Mono_Posix_SysconfName__SC_2_UPE; return 0;}
7112 #endif /* ndef _SC_2_UPE */
7113 #ifdef _SC_2_VERSION
7114         if (x == _SC_2_VERSION)
7115                 {*r = Mono_Posix_SysconfName__SC_2_VERSION; return 0;}
7116 #endif /* ndef _SC_2_VERSION */
7117 #ifdef _SC_ADVISORY_INFO
7118         if (x == _SC_ADVISORY_INFO)
7119                 {*r = Mono_Posix_SysconfName__SC_ADVISORY_INFO; return 0;}
7120 #endif /* ndef _SC_ADVISORY_INFO */
7121 #ifdef _SC_AIO_LISTIO_MAX
7122         if (x == _SC_AIO_LISTIO_MAX)
7123                 {*r = Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX; return 0;}
7124 #endif /* ndef _SC_AIO_LISTIO_MAX */
7125 #ifdef _SC_AIO_MAX
7126         if (x == _SC_AIO_MAX)
7127                 {*r = Mono_Posix_SysconfName__SC_AIO_MAX; return 0;}
7128 #endif /* ndef _SC_AIO_MAX */
7129 #ifdef _SC_AIO_PRIO_DELTA_MAX
7130         if (x == _SC_AIO_PRIO_DELTA_MAX)
7131                 {*r = Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX; return 0;}
7132 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
7133 #ifdef _SC_ARG_MAX
7134         if (x == _SC_ARG_MAX)
7135                 {*r = Mono_Posix_SysconfName__SC_ARG_MAX; return 0;}
7136 #endif /* ndef _SC_ARG_MAX */
7137 #ifdef _SC_ASYNCHRONOUS_IO
7138         if (x == _SC_ASYNCHRONOUS_IO)
7139                 {*r = Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO; return 0;}
7140 #endif /* ndef _SC_ASYNCHRONOUS_IO */
7141 #ifdef _SC_ATEXIT_MAX
7142         if (x == _SC_ATEXIT_MAX)
7143                 {*r = Mono_Posix_SysconfName__SC_ATEXIT_MAX; return 0;}
7144 #endif /* ndef _SC_ATEXIT_MAX */
7145 #ifdef _SC_AVPHYS_PAGES
7146         if (x == _SC_AVPHYS_PAGES)
7147                 {*r = Mono_Posix_SysconfName__SC_AVPHYS_PAGES; return 0;}
7148 #endif /* ndef _SC_AVPHYS_PAGES */
7149 #ifdef _SC_BARRIERS
7150         if (x == _SC_BARRIERS)
7151                 {*r = Mono_Posix_SysconfName__SC_BARRIERS; return 0;}
7152 #endif /* ndef _SC_BARRIERS */
7153 #ifdef _SC_BASE
7154         if (x == _SC_BASE)
7155                 {*r = Mono_Posix_SysconfName__SC_BASE; return 0;}
7156 #endif /* ndef _SC_BASE */
7157 #ifdef _SC_BC_BASE_MAX
7158         if (x == _SC_BC_BASE_MAX)
7159                 {*r = Mono_Posix_SysconfName__SC_BC_BASE_MAX; return 0;}
7160 #endif /* ndef _SC_BC_BASE_MAX */
7161 #ifdef _SC_BC_DIM_MAX
7162         if (x == _SC_BC_DIM_MAX)
7163                 {*r = Mono_Posix_SysconfName__SC_BC_DIM_MAX; return 0;}
7164 #endif /* ndef _SC_BC_DIM_MAX */
7165 #ifdef _SC_BC_SCALE_MAX
7166         if (x == _SC_BC_SCALE_MAX)
7167                 {*r = Mono_Posix_SysconfName__SC_BC_SCALE_MAX; return 0;}
7168 #endif /* ndef _SC_BC_SCALE_MAX */
7169 #ifdef _SC_BC_STRING_MAX
7170         if (x == _SC_BC_STRING_MAX)
7171                 {*r = Mono_Posix_SysconfName__SC_BC_STRING_MAX; return 0;}
7172 #endif /* ndef _SC_BC_STRING_MAX */
7173 #ifdef _SC_CHARCLASS_NAME_MAX
7174         if (x == _SC_CHARCLASS_NAME_MAX)
7175                 {*r = Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX; return 0;}
7176 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
7177 #ifdef _SC_CHAR_BIT
7178         if (x == _SC_CHAR_BIT)
7179                 {*r = Mono_Posix_SysconfName__SC_CHAR_BIT; return 0;}
7180 #endif /* ndef _SC_CHAR_BIT */
7181 #ifdef _SC_CHAR_MAX
7182         if (x == _SC_CHAR_MAX)
7183                 {*r = Mono_Posix_SysconfName__SC_CHAR_MAX; return 0;}
7184 #endif /* ndef _SC_CHAR_MAX */
7185 #ifdef _SC_CHAR_MIN
7186         if (x == _SC_CHAR_MIN)
7187                 {*r = Mono_Posix_SysconfName__SC_CHAR_MIN; return 0;}
7188 #endif /* ndef _SC_CHAR_MIN */
7189 #ifdef _SC_CHILD_MAX
7190         if (x == _SC_CHILD_MAX)
7191                 {*r = Mono_Posix_SysconfName__SC_CHILD_MAX; return 0;}
7192 #endif /* ndef _SC_CHILD_MAX */
7193 #ifdef _SC_CLK_TCK
7194         if (x == _SC_CLK_TCK)
7195                 {*r = Mono_Posix_SysconfName__SC_CLK_TCK; return 0;}
7196 #endif /* ndef _SC_CLK_TCK */
7197 #ifdef _SC_CLOCK_SELECTION
7198         if (x == _SC_CLOCK_SELECTION)
7199                 {*r = Mono_Posix_SysconfName__SC_CLOCK_SELECTION; return 0;}
7200 #endif /* ndef _SC_CLOCK_SELECTION */
7201 #ifdef _SC_COLL_WEIGHTS_MAX
7202         if (x == _SC_COLL_WEIGHTS_MAX)
7203                 {*r = Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX; return 0;}
7204 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
7205 #ifdef _SC_CPUTIME
7206         if (x == _SC_CPUTIME)
7207                 {*r = Mono_Posix_SysconfName__SC_CPUTIME; return 0;}
7208 #endif /* ndef _SC_CPUTIME */
7209 #ifdef _SC_C_LANG_SUPPORT
7210         if (x == _SC_C_LANG_SUPPORT)
7211                 {*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT; return 0;}
7212 #endif /* ndef _SC_C_LANG_SUPPORT */
7213 #ifdef _SC_C_LANG_SUPPORT_R
7214         if (x == _SC_C_LANG_SUPPORT_R)
7215                 {*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R; return 0;}
7216 #endif /* ndef _SC_C_LANG_SUPPORT_R */
7217 #ifdef _SC_DELAYTIMER_MAX
7218         if (x == _SC_DELAYTIMER_MAX)
7219                 {*r = Mono_Posix_SysconfName__SC_DELAYTIMER_MAX; return 0;}
7220 #endif /* ndef _SC_DELAYTIMER_MAX */
7221 #ifdef _SC_DEVICE_IO
7222         if (x == _SC_DEVICE_IO)
7223                 {*r = Mono_Posix_SysconfName__SC_DEVICE_IO; return 0;}
7224 #endif /* ndef _SC_DEVICE_IO */
7225 #ifdef _SC_DEVICE_SPECIFIC
7226         if (x == _SC_DEVICE_SPECIFIC)
7227                 {*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC; return 0;}
7228 #endif /* ndef _SC_DEVICE_SPECIFIC */
7229 #ifdef _SC_DEVICE_SPECIFIC_R
7230         if (x == _SC_DEVICE_SPECIFIC_R)
7231                 {*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R; return 0;}
7232 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
7233 #ifdef _SC_EQUIV_CLASS_MAX
7234         if (x == _SC_EQUIV_CLASS_MAX)
7235                 {*r = Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX; return 0;}
7236 #endif /* ndef _SC_EQUIV_CLASS_MAX */
7237 #ifdef _SC_EXPR_NEST_MAX
7238         if (x == _SC_EXPR_NEST_MAX)
7239                 {*r = Mono_Posix_SysconfName__SC_EXPR_NEST_MAX; return 0;}
7240 #endif /* ndef _SC_EXPR_NEST_MAX */
7241 #ifdef _SC_FD_MGMT
7242         if (x == _SC_FD_MGMT)
7243                 {*r = Mono_Posix_SysconfName__SC_FD_MGMT; return 0;}
7244 #endif /* ndef _SC_FD_MGMT */
7245 #ifdef _SC_FIFO
7246         if (x == _SC_FIFO)
7247                 {*r = Mono_Posix_SysconfName__SC_FIFO; return 0;}
7248 #endif /* ndef _SC_FIFO */
7249 #ifdef _SC_FILE_ATTRIBUTES
7250         if (x == _SC_FILE_ATTRIBUTES)
7251                 {*r = Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES; return 0;}
7252 #endif /* ndef _SC_FILE_ATTRIBUTES */
7253 #ifdef _SC_FILE_LOCKING
7254         if (x == _SC_FILE_LOCKING)
7255                 {*r = Mono_Posix_SysconfName__SC_FILE_LOCKING; return 0;}
7256 #endif /* ndef _SC_FILE_LOCKING */
7257 #ifdef _SC_FILE_SYSTEM
7258         if (x == _SC_FILE_SYSTEM)
7259                 {*r = Mono_Posix_SysconfName__SC_FILE_SYSTEM; return 0;}
7260 #endif /* ndef _SC_FILE_SYSTEM */
7261 #ifdef _SC_FSYNC
7262         if (x == _SC_FSYNC)
7263                 {*r = Mono_Posix_SysconfName__SC_FSYNC; return 0;}
7264 #endif /* ndef _SC_FSYNC */
7265 #ifdef _SC_GETGR_R_SIZE_MAX
7266         if (x == _SC_GETGR_R_SIZE_MAX)
7267                 {*r = Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX; return 0;}
7268 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
7269 #ifdef _SC_GETPW_R_SIZE_MAX
7270         if (x == _SC_GETPW_R_SIZE_MAX)
7271                 {*r = Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX; return 0;}
7272 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
7273 #ifdef _SC_HOST_NAME_MAX
7274         if (x == _SC_HOST_NAME_MAX)
7275                 {*r = Mono_Posix_SysconfName__SC_HOST_NAME_MAX; return 0;}
7276 #endif /* ndef _SC_HOST_NAME_MAX */
7277 #ifdef _SC_INT_MAX
7278         if (x == _SC_INT_MAX)
7279                 {*r = Mono_Posix_SysconfName__SC_INT_MAX; return 0;}
7280 #endif /* ndef _SC_INT_MAX */
7281 #ifdef _SC_INT_MIN
7282         if (x == _SC_INT_MIN)
7283                 {*r = Mono_Posix_SysconfName__SC_INT_MIN; return 0;}
7284 #endif /* ndef _SC_INT_MIN */
7285 #ifdef _SC_IOV_MAX
7286         if (x == _SC_IOV_MAX)
7287                 {*r = Mono_Posix_SysconfName__SC_IOV_MAX; return 0;}
7288 #endif /* ndef _SC_IOV_MAX */
7289 #ifdef _SC_JOB_CONTROL
7290         if (x == _SC_JOB_CONTROL)
7291                 {*r = Mono_Posix_SysconfName__SC_JOB_CONTROL; return 0;}
7292 #endif /* ndef _SC_JOB_CONTROL */
7293 #ifdef _SC_LEVEL1_DCACHE_ASSOC
7294         if (x == _SC_LEVEL1_DCACHE_ASSOC)
7295                 {*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC; return 0;}
7296 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
7297 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
7298         if (x == _SC_LEVEL1_DCACHE_LINESIZE)
7299                 {*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE; return 0;}
7300 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
7301 #ifdef _SC_LEVEL1_DCACHE_SIZE
7302         if (x == _SC_LEVEL1_DCACHE_SIZE)
7303                 {*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE; return 0;}
7304 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
7305 #ifdef _SC_LEVEL1_ICACHE_ASSOC
7306         if (x == _SC_LEVEL1_ICACHE_ASSOC)
7307                 {*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC; return 0;}
7308 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
7309 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
7310         if (x == _SC_LEVEL1_ICACHE_LINESIZE)
7311                 {*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE; return 0;}
7312 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
7313 #ifdef _SC_LEVEL1_ICACHE_SIZE
7314         if (x == _SC_LEVEL1_ICACHE_SIZE)
7315                 {*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE; return 0;}
7316 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
7317 #ifdef _SC_LEVEL2_CACHE_ASSOC
7318         if (x == _SC_LEVEL2_CACHE_ASSOC)
7319                 {*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC; return 0;}
7320 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
7321 #ifdef _SC_LEVEL2_CACHE_LINESIZE
7322         if (x == _SC_LEVEL2_CACHE_LINESIZE)
7323                 {*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE; return 0;}
7324 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
7325 #ifdef _SC_LEVEL2_CACHE_SIZE
7326         if (x == _SC_LEVEL2_CACHE_SIZE)
7327                 {*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE; return 0;}
7328 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
7329 #ifdef _SC_LEVEL3_CACHE_ASSOC
7330         if (x == _SC_LEVEL3_CACHE_ASSOC)
7331                 {*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC; return 0;}
7332 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
7333 #ifdef _SC_LEVEL3_CACHE_LINESIZE
7334         if (x == _SC_LEVEL3_CACHE_LINESIZE)
7335                 {*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE; return 0;}
7336 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
7337 #ifdef _SC_LEVEL3_CACHE_SIZE
7338         if (x == _SC_LEVEL3_CACHE_SIZE)
7339                 {*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE; return 0;}
7340 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
7341 #ifdef _SC_LEVEL4_CACHE_ASSOC
7342         if (x == _SC_LEVEL4_CACHE_ASSOC)
7343                 {*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC; return 0;}
7344 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
7345 #ifdef _SC_LEVEL4_CACHE_LINESIZE
7346         if (x == _SC_LEVEL4_CACHE_LINESIZE)
7347                 {*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE; return 0;}
7348 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
7349 #ifdef _SC_LEVEL4_CACHE_SIZE
7350         if (x == _SC_LEVEL4_CACHE_SIZE)
7351                 {*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE; return 0;}
7352 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
7353 #ifdef _SC_LINE_MAX
7354         if (x == _SC_LINE_MAX)
7355                 {*r = Mono_Posix_SysconfName__SC_LINE_MAX; return 0;}
7356 #endif /* ndef _SC_LINE_MAX */
7357 #ifdef _SC_LOGIN_NAME_MAX
7358         if (x == _SC_LOGIN_NAME_MAX)
7359                 {*r = Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX; return 0;}
7360 #endif /* ndef _SC_LOGIN_NAME_MAX */
7361 #ifdef _SC_LONG_BIT
7362         if (x == _SC_LONG_BIT)
7363                 {*r = Mono_Posix_SysconfName__SC_LONG_BIT; return 0;}
7364 #endif /* ndef _SC_LONG_BIT */
7365 #ifdef _SC_MAPPED_FILES
7366         if (x == _SC_MAPPED_FILES)
7367                 {*r = Mono_Posix_SysconfName__SC_MAPPED_FILES; return 0;}
7368 #endif /* ndef _SC_MAPPED_FILES */
7369 #ifdef _SC_MB_LEN_MAX
7370         if (x == _SC_MB_LEN_MAX)
7371                 {*r = Mono_Posix_SysconfName__SC_MB_LEN_MAX; return 0;}
7372 #endif /* ndef _SC_MB_LEN_MAX */
7373 #ifdef _SC_MEMLOCK
7374         if (x == _SC_MEMLOCK)
7375                 {*r = Mono_Posix_SysconfName__SC_MEMLOCK; return 0;}
7376 #endif /* ndef _SC_MEMLOCK */
7377 #ifdef _SC_MEMLOCK_RANGE
7378         if (x == _SC_MEMLOCK_RANGE)
7379                 {*r = Mono_Posix_SysconfName__SC_MEMLOCK_RANGE; return 0;}
7380 #endif /* ndef _SC_MEMLOCK_RANGE */
7381 #ifdef _SC_MEMORY_PROTECTION
7382         if (x == _SC_MEMORY_PROTECTION)
7383                 {*r = Mono_Posix_SysconfName__SC_MEMORY_PROTECTION; return 0;}
7384 #endif /* ndef _SC_MEMORY_PROTECTION */
7385 #ifdef _SC_MESSAGE_PASSING
7386         if (x == _SC_MESSAGE_PASSING)
7387                 {*r = Mono_Posix_SysconfName__SC_MESSAGE_PASSING; return 0;}
7388 #endif /* ndef _SC_MESSAGE_PASSING */
7389 #ifdef _SC_MONOTONIC_CLOCK
7390         if (x == _SC_MONOTONIC_CLOCK)
7391                 {*r = Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK; return 0;}
7392 #endif /* ndef _SC_MONOTONIC_CLOCK */
7393 #ifdef _SC_MQ_OPEN_MAX
7394         if (x == _SC_MQ_OPEN_MAX)
7395                 {*r = Mono_Posix_SysconfName__SC_MQ_OPEN_MAX; return 0;}
7396 #endif /* ndef _SC_MQ_OPEN_MAX */
7397 #ifdef _SC_MQ_PRIO_MAX
7398         if (x == _SC_MQ_PRIO_MAX)
7399                 {*r = Mono_Posix_SysconfName__SC_MQ_PRIO_MAX; return 0;}
7400 #endif /* ndef _SC_MQ_PRIO_MAX */
7401 #ifdef _SC_MULTI_PROCESS
7402         if (x == _SC_MULTI_PROCESS)
7403                 {*r = Mono_Posix_SysconfName__SC_MULTI_PROCESS; return 0;}
7404 #endif /* ndef _SC_MULTI_PROCESS */
7405 #ifdef _SC_NETWORKING
7406         if (x == _SC_NETWORKING)
7407                 {*r = Mono_Posix_SysconfName__SC_NETWORKING; return 0;}
7408 #endif /* ndef _SC_NETWORKING */
7409 #ifdef _SC_NGROUPS_MAX
7410         if (x == _SC_NGROUPS_MAX)
7411                 {*r = Mono_Posix_SysconfName__SC_NGROUPS_MAX; return 0;}
7412 #endif /* ndef _SC_NGROUPS_MAX */
7413 #ifdef _SC_NL_ARGMAX
7414         if (x == _SC_NL_ARGMAX)
7415                 {*r = Mono_Posix_SysconfName__SC_NL_ARGMAX; return 0;}
7416 #endif /* ndef _SC_NL_ARGMAX */
7417 #ifdef _SC_NL_LANGMAX
7418         if (x == _SC_NL_LANGMAX)
7419                 {*r = Mono_Posix_SysconfName__SC_NL_LANGMAX; return 0;}
7420 #endif /* ndef _SC_NL_LANGMAX */
7421 #ifdef _SC_NL_MSGMAX
7422         if (x == _SC_NL_MSGMAX)
7423                 {*r = Mono_Posix_SysconfName__SC_NL_MSGMAX; return 0;}
7424 #endif /* ndef _SC_NL_MSGMAX */
7425 #ifdef _SC_NL_NMAX
7426         if (x == _SC_NL_NMAX)
7427                 {*r = Mono_Posix_SysconfName__SC_NL_NMAX; return 0;}
7428 #endif /* ndef _SC_NL_NMAX */
7429 #ifdef _SC_NL_SETMAX
7430         if (x == _SC_NL_SETMAX)
7431                 {*r = Mono_Posix_SysconfName__SC_NL_SETMAX; return 0;}
7432 #endif /* ndef _SC_NL_SETMAX */
7433 #ifdef _SC_NL_TEXTMAX
7434         if (x == _SC_NL_TEXTMAX)
7435                 {*r = Mono_Posix_SysconfName__SC_NL_TEXTMAX; return 0;}
7436 #endif /* ndef _SC_NL_TEXTMAX */
7437 #ifdef _SC_NPROCESSORS_CONF
7438         if (x == _SC_NPROCESSORS_CONF)
7439                 {*r = Mono_Posix_SysconfName__SC_NPROCESSORS_CONF; return 0;}
7440 #endif /* ndef _SC_NPROCESSORS_CONF */
7441 #ifdef _SC_NPROCESSORS_ONLN
7442         if (x == _SC_NPROCESSORS_ONLN)
7443                 {*r = Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN; return 0;}
7444 #endif /* ndef _SC_NPROCESSORS_ONLN */
7445 #ifdef _SC_NZERO
7446         if (x == _SC_NZERO)
7447                 {*r = Mono_Posix_SysconfName__SC_NZERO; return 0;}
7448 #endif /* ndef _SC_NZERO */
7449 #ifdef _SC_OPEN_MAX
7450         if (x == _SC_OPEN_MAX)
7451                 {*r = Mono_Posix_SysconfName__SC_OPEN_MAX; return 0;}
7452 #endif /* ndef _SC_OPEN_MAX */
7453 #ifdef _SC_PAGESIZE
7454         if (x == _SC_PAGESIZE)
7455                 {*r = Mono_Posix_SysconfName__SC_PAGESIZE; return 0;}
7456 #endif /* ndef _SC_PAGESIZE */
7457 #ifdef _SC_PASS_MAX
7458         if (x == _SC_PASS_MAX)
7459                 {*r = Mono_Posix_SysconfName__SC_PASS_MAX; return 0;}
7460 #endif /* ndef _SC_PASS_MAX */
7461 #ifdef _SC_PHYS_PAGES
7462         if (x == _SC_PHYS_PAGES)
7463                 {*r = Mono_Posix_SysconfName__SC_PHYS_PAGES; return 0;}
7464 #endif /* ndef _SC_PHYS_PAGES */
7465 #ifdef _SC_PII
7466         if (x == _SC_PII)
7467                 {*r = Mono_Posix_SysconfName__SC_PII; return 0;}
7468 #endif /* ndef _SC_PII */
7469 #ifdef _SC_PII_INTERNET
7470         if (x == _SC_PII_INTERNET)
7471                 {*r = Mono_Posix_SysconfName__SC_PII_INTERNET; return 0;}
7472 #endif /* ndef _SC_PII_INTERNET */
7473 #ifdef _SC_PII_INTERNET_DGRAM
7474         if (x == _SC_PII_INTERNET_DGRAM)
7475                 {*r = Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM; return 0;}
7476 #endif /* ndef _SC_PII_INTERNET_DGRAM */
7477 #ifdef _SC_PII_INTERNET_STREAM
7478         if (x == _SC_PII_INTERNET_STREAM)
7479                 {*r = Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM; return 0;}
7480 #endif /* ndef _SC_PII_INTERNET_STREAM */
7481 #ifdef _SC_PII_OSI
7482         if (x == _SC_PII_OSI)
7483                 {*r = Mono_Posix_SysconfName__SC_PII_OSI; return 0;}
7484 #endif /* ndef _SC_PII_OSI */
7485 #ifdef _SC_PII_OSI_CLTS
7486         if (x == _SC_PII_OSI_CLTS)
7487                 {*r = Mono_Posix_SysconfName__SC_PII_OSI_CLTS; return 0;}
7488 #endif /* ndef _SC_PII_OSI_CLTS */
7489 #ifdef _SC_PII_OSI_COTS
7490         if (x == _SC_PII_OSI_COTS)
7491                 {*r = Mono_Posix_SysconfName__SC_PII_OSI_COTS; return 0;}
7492 #endif /* ndef _SC_PII_OSI_COTS */
7493 #ifdef _SC_PII_OSI_M
7494         if (x == _SC_PII_OSI_M)
7495                 {*r = Mono_Posix_SysconfName__SC_PII_OSI_M; return 0;}
7496 #endif /* ndef _SC_PII_OSI_M */
7497 #ifdef _SC_PII_SOCKET
7498         if (x == _SC_PII_SOCKET)
7499                 {*r = Mono_Posix_SysconfName__SC_PII_SOCKET; return 0;}
7500 #endif /* ndef _SC_PII_SOCKET */
7501 #ifdef _SC_PII_XTI
7502         if (x == _SC_PII_XTI)
7503                 {*r = Mono_Posix_SysconfName__SC_PII_XTI; return 0;}
7504 #endif /* ndef _SC_PII_XTI */
7505 #ifdef _SC_PIPE
7506         if (x == _SC_PIPE)
7507                 {*r = Mono_Posix_SysconfName__SC_PIPE; return 0;}
7508 #endif /* ndef _SC_PIPE */
7509 #ifdef _SC_POLL
7510         if (x == _SC_POLL)
7511                 {*r = Mono_Posix_SysconfName__SC_POLL; return 0;}
7512 #endif /* ndef _SC_POLL */
7513 #ifdef _SC_PRIORITIZED_IO
7514         if (x == _SC_PRIORITIZED_IO)
7515                 {*r = Mono_Posix_SysconfName__SC_PRIORITIZED_IO; return 0;}
7516 #endif /* ndef _SC_PRIORITIZED_IO */
7517 #ifdef _SC_PRIORITY_SCHEDULING
7518         if (x == _SC_PRIORITY_SCHEDULING)
7519                 {*r = Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING; return 0;}
7520 #endif /* ndef _SC_PRIORITY_SCHEDULING */
7521 #ifdef _SC_READER_WRITER_LOCKS
7522         if (x == _SC_READER_WRITER_LOCKS)
7523                 {*r = Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS; return 0;}
7524 #endif /* ndef _SC_READER_WRITER_LOCKS */
7525 #ifdef _SC_REALTIME_SIGNALS
7526         if (x == _SC_REALTIME_SIGNALS)
7527                 {*r = Mono_Posix_SysconfName__SC_REALTIME_SIGNALS; return 0;}
7528 #endif /* ndef _SC_REALTIME_SIGNALS */
7529 #ifdef _SC_REGEXP
7530         if (x == _SC_REGEXP)
7531                 {*r = Mono_Posix_SysconfName__SC_REGEXP; return 0;}
7532 #endif /* ndef _SC_REGEXP */
7533 #ifdef _SC_REGEX_VERSION
7534         if (x == _SC_REGEX_VERSION)
7535                 {*r = Mono_Posix_SysconfName__SC_REGEX_VERSION; return 0;}
7536 #endif /* ndef _SC_REGEX_VERSION */
7537 #ifdef _SC_RE_DUP_MAX
7538         if (x == _SC_RE_DUP_MAX)
7539                 {*r = Mono_Posix_SysconfName__SC_RE_DUP_MAX; return 0;}
7540 #endif /* ndef _SC_RE_DUP_MAX */
7541 #ifdef _SC_RTSIG_MAX
7542         if (x == _SC_RTSIG_MAX)
7543                 {*r = Mono_Posix_SysconfName__SC_RTSIG_MAX; return 0;}
7544 #endif /* ndef _SC_RTSIG_MAX */
7545 #ifdef _SC_SAVED_IDS
7546         if (x == _SC_SAVED_IDS)
7547                 {*r = Mono_Posix_SysconfName__SC_SAVED_IDS; return 0;}
7548 #endif /* ndef _SC_SAVED_IDS */
7549 #ifdef _SC_SCHAR_MAX
7550         if (x == _SC_SCHAR_MAX)
7551                 {*r = Mono_Posix_SysconfName__SC_SCHAR_MAX; return 0;}
7552 #endif /* ndef _SC_SCHAR_MAX */
7553 #ifdef _SC_SCHAR_MIN
7554         if (x == _SC_SCHAR_MIN)
7555                 {*r = Mono_Posix_SysconfName__SC_SCHAR_MIN; return 0;}
7556 #endif /* ndef _SC_SCHAR_MIN */
7557 #ifdef _SC_SELECT
7558         if (x == _SC_SELECT)
7559                 {*r = Mono_Posix_SysconfName__SC_SELECT; return 0;}
7560 #endif /* ndef _SC_SELECT */
7561 #ifdef _SC_SEMAPHORES
7562         if (x == _SC_SEMAPHORES)
7563                 {*r = Mono_Posix_SysconfName__SC_SEMAPHORES; return 0;}
7564 #endif /* ndef _SC_SEMAPHORES */
7565 #ifdef _SC_SEM_NSEMS_MAX
7566         if (x == _SC_SEM_NSEMS_MAX)
7567                 {*r = Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX; return 0;}
7568 #endif /* ndef _SC_SEM_NSEMS_MAX */
7569 #ifdef _SC_SEM_VALUE_MAX
7570         if (x == _SC_SEM_VALUE_MAX)
7571                 {*r = Mono_Posix_SysconfName__SC_SEM_VALUE_MAX; return 0;}
7572 #endif /* ndef _SC_SEM_VALUE_MAX */
7573 #ifdef _SC_SHARED_MEMORY_OBJECTS
7574         if (x == _SC_SHARED_MEMORY_OBJECTS)
7575                 {*r = Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS; return 0;}
7576 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
7577 #ifdef _SC_SHELL
7578         if (x == _SC_SHELL)
7579                 {*r = Mono_Posix_SysconfName__SC_SHELL; return 0;}
7580 #endif /* ndef _SC_SHELL */
7581 #ifdef _SC_SHRT_MAX
7582         if (x == _SC_SHRT_MAX)
7583                 {*r = Mono_Posix_SysconfName__SC_SHRT_MAX; return 0;}
7584 #endif /* ndef _SC_SHRT_MAX */
7585 #ifdef _SC_SHRT_MIN
7586         if (x == _SC_SHRT_MIN)
7587                 {*r = Mono_Posix_SysconfName__SC_SHRT_MIN; return 0;}
7588 #endif /* ndef _SC_SHRT_MIN */
7589 #ifdef _SC_SIGNALS
7590         if (x == _SC_SIGNALS)
7591                 {*r = Mono_Posix_SysconfName__SC_SIGNALS; return 0;}
7592 #endif /* ndef _SC_SIGNALS */
7593 #ifdef _SC_SIGQUEUE_MAX
7594         if (x == _SC_SIGQUEUE_MAX)
7595                 {*r = Mono_Posix_SysconfName__SC_SIGQUEUE_MAX; return 0;}
7596 #endif /* ndef _SC_SIGQUEUE_MAX */
7597 #ifdef _SC_SINGLE_PROCESS
7598         if (x == _SC_SINGLE_PROCESS)
7599                 {*r = Mono_Posix_SysconfName__SC_SINGLE_PROCESS; return 0;}
7600 #endif /* ndef _SC_SINGLE_PROCESS */
7601 #ifdef _SC_SPAWN
7602         if (x == _SC_SPAWN)
7603                 {*r = Mono_Posix_SysconfName__SC_SPAWN; return 0;}
7604 #endif /* ndef _SC_SPAWN */
7605 #ifdef _SC_SPIN_LOCKS
7606         if (x == _SC_SPIN_LOCKS)
7607                 {*r = Mono_Posix_SysconfName__SC_SPIN_LOCKS; return 0;}
7608 #endif /* ndef _SC_SPIN_LOCKS */
7609 #ifdef _SC_SPORADIC_SERVER
7610         if (x == _SC_SPORADIC_SERVER)
7611                 {*r = Mono_Posix_SysconfName__SC_SPORADIC_SERVER; return 0;}
7612 #endif /* ndef _SC_SPORADIC_SERVER */
7613 #ifdef _SC_SSIZE_MAX
7614         if (x == _SC_SSIZE_MAX)
7615                 {*r = Mono_Posix_SysconfName__SC_SSIZE_MAX; return 0;}
7616 #endif /* ndef _SC_SSIZE_MAX */
7617 #ifdef _SC_STREAMS
7618         if (x == _SC_STREAMS)
7619                 {*r = Mono_Posix_SysconfName__SC_STREAMS; return 0;}
7620 #endif /* ndef _SC_STREAMS */
7621 #ifdef _SC_STREAM_MAX
7622         if (x == _SC_STREAM_MAX)
7623                 {*r = Mono_Posix_SysconfName__SC_STREAM_MAX; return 0;}
7624 #endif /* ndef _SC_STREAM_MAX */
7625 #ifdef _SC_SYMLOOP_MAX
7626         if (x == _SC_SYMLOOP_MAX)
7627                 {*r = Mono_Posix_SysconfName__SC_SYMLOOP_MAX; return 0;}
7628 #endif /* ndef _SC_SYMLOOP_MAX */
7629 #ifdef _SC_SYNCHRONIZED_IO
7630         if (x == _SC_SYNCHRONIZED_IO)
7631                 {*r = Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO; return 0;}
7632 #endif /* ndef _SC_SYNCHRONIZED_IO */
7633 #ifdef _SC_SYSTEM_DATABASE
7634         if (x == _SC_SYSTEM_DATABASE)
7635                 {*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE; return 0;}
7636 #endif /* ndef _SC_SYSTEM_DATABASE */
7637 #ifdef _SC_SYSTEM_DATABASE_R
7638         if (x == _SC_SYSTEM_DATABASE_R)
7639                 {*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R; return 0;}
7640 #endif /* ndef _SC_SYSTEM_DATABASE_R */
7641 #ifdef _SC_THREADS
7642         if (x == _SC_THREADS)
7643                 {*r = Mono_Posix_SysconfName__SC_THREADS; return 0;}
7644 #endif /* ndef _SC_THREADS */
7645 #ifdef _SC_THREAD_ATTR_STACKADDR
7646         if (x == _SC_THREAD_ATTR_STACKADDR)
7647                 {*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR; return 0;}
7648 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
7649 #ifdef _SC_THREAD_ATTR_STACKSIZE
7650         if (x == _SC_THREAD_ATTR_STACKSIZE)
7651                 {*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE; return 0;}
7652 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
7653 #ifdef _SC_THREAD_CPUTIME
7654         if (x == _SC_THREAD_CPUTIME)
7655                 {*r = Mono_Posix_SysconfName__SC_THREAD_CPUTIME; return 0;}
7656 #endif /* ndef _SC_THREAD_CPUTIME */
7657 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
7658         if (x == _SC_THREAD_DESTRUCTOR_ITERATIONS)
7659                 {*r = Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
7660 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
7661 #ifdef _SC_THREAD_KEYS_MAX
7662         if (x == _SC_THREAD_KEYS_MAX)
7663                 {*r = Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX; return 0;}
7664 #endif /* ndef _SC_THREAD_KEYS_MAX */
7665 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
7666         if (x == _SC_THREAD_PRIORITY_SCHEDULING)
7667                 {*r = Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING; return 0;}
7668 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
7669 #ifdef _SC_THREAD_PRIO_INHERIT
7670         if (x == _SC_THREAD_PRIO_INHERIT)
7671                 {*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT; return 0;}
7672 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
7673 #ifdef _SC_THREAD_PRIO_PROTECT
7674         if (x == _SC_THREAD_PRIO_PROTECT)
7675                 {*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT; return 0;}
7676 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
7677 #ifdef _SC_THREAD_PROCESS_SHARED
7678         if (x == _SC_THREAD_PROCESS_SHARED)
7679                 {*r = Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED; return 0;}
7680 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
7681 #ifdef _SC_THREAD_SAFE_FUNCTIONS
7682         if (x == _SC_THREAD_SAFE_FUNCTIONS)
7683                 {*r = Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS; return 0;}
7684 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
7685 #ifdef _SC_THREAD_SPORADIC_SERVER
7686         if (x == _SC_THREAD_SPORADIC_SERVER)
7687                 {*r = Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER; return 0;}
7688 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
7689 #ifdef _SC_THREAD_STACK_MIN
7690         if (x == _SC_THREAD_STACK_MIN)
7691                 {*r = Mono_Posix_SysconfName__SC_THREAD_STACK_MIN; return 0;}
7692 #endif /* ndef _SC_THREAD_STACK_MIN */
7693 #ifdef _SC_THREAD_THREADS_MAX
7694         if (x == _SC_THREAD_THREADS_MAX)
7695                 {*r = Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX; return 0;}
7696 #endif /* ndef _SC_THREAD_THREADS_MAX */
7697 #ifdef _SC_TIMEOUTS
7698         if (x == _SC_TIMEOUTS)
7699                 {*r = Mono_Posix_SysconfName__SC_TIMEOUTS; return 0;}
7700 #endif /* ndef _SC_TIMEOUTS */
7701 #ifdef _SC_TIMERS
7702         if (x == _SC_TIMERS)
7703                 {*r = Mono_Posix_SysconfName__SC_TIMERS; return 0;}
7704 #endif /* ndef _SC_TIMERS */
7705 #ifdef _SC_TIMER_MAX
7706         if (x == _SC_TIMER_MAX)
7707                 {*r = Mono_Posix_SysconfName__SC_TIMER_MAX; return 0;}
7708 #endif /* ndef _SC_TIMER_MAX */
7709 #ifdef _SC_TRACE
7710         if (x == _SC_TRACE)
7711                 {*r = Mono_Posix_SysconfName__SC_TRACE; return 0;}
7712 #endif /* ndef _SC_TRACE */
7713 #ifdef _SC_TRACE_EVENT_FILTER
7714         if (x == _SC_TRACE_EVENT_FILTER)
7715                 {*r = Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER; return 0;}
7716 #endif /* ndef _SC_TRACE_EVENT_FILTER */
7717 #ifdef _SC_TRACE_INHERIT
7718         if (x == _SC_TRACE_INHERIT)
7719                 {*r = Mono_Posix_SysconfName__SC_TRACE_INHERIT; return 0;}
7720 #endif /* ndef _SC_TRACE_INHERIT */
7721 #ifdef _SC_TRACE_LOG
7722         if (x == _SC_TRACE_LOG)
7723                 {*r = Mono_Posix_SysconfName__SC_TRACE_LOG; return 0;}
7724 #endif /* ndef _SC_TRACE_LOG */
7725 #ifdef _SC_TTY_NAME_MAX
7726         if (x == _SC_TTY_NAME_MAX)
7727                 {*r = Mono_Posix_SysconfName__SC_TTY_NAME_MAX; return 0;}
7728 #endif /* ndef _SC_TTY_NAME_MAX */
7729 #ifdef _SC_TYPED_MEMORY_OBJECTS
7730         if (x == _SC_TYPED_MEMORY_OBJECTS)
7731                 {*r = Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS; return 0;}
7732 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
7733 #ifdef _SC_TZNAME_MAX
7734         if (x == _SC_TZNAME_MAX)
7735                 {*r = Mono_Posix_SysconfName__SC_TZNAME_MAX; return 0;}
7736 #endif /* ndef _SC_TZNAME_MAX */
7737 #ifdef _SC_T_IOV_MAX
7738         if (x == _SC_T_IOV_MAX)
7739                 {*r = Mono_Posix_SysconfName__SC_T_IOV_MAX; return 0;}
7740 #endif /* ndef _SC_T_IOV_MAX */
7741 #ifdef _SC_UCHAR_MAX
7742         if (x == _SC_UCHAR_MAX)
7743                 {*r = Mono_Posix_SysconfName__SC_UCHAR_MAX; return 0;}
7744 #endif /* ndef _SC_UCHAR_MAX */
7745 #ifdef _SC_UINT_MAX
7746         if (x == _SC_UINT_MAX)
7747                 {*r = Mono_Posix_SysconfName__SC_UINT_MAX; return 0;}
7748 #endif /* ndef _SC_UINT_MAX */
7749 #ifdef _SC_UIO_MAXIOV
7750         if (x == _SC_UIO_MAXIOV)
7751                 {*r = Mono_Posix_SysconfName__SC_UIO_MAXIOV; return 0;}
7752 #endif /* ndef _SC_UIO_MAXIOV */
7753 #ifdef _SC_ULONG_MAX
7754         if (x == _SC_ULONG_MAX)
7755                 {*r = Mono_Posix_SysconfName__SC_ULONG_MAX; return 0;}
7756 #endif /* ndef _SC_ULONG_MAX */
7757 #ifdef _SC_USER_GROUPS
7758         if (x == _SC_USER_GROUPS)
7759                 {*r = Mono_Posix_SysconfName__SC_USER_GROUPS; return 0;}
7760 #endif /* ndef _SC_USER_GROUPS */
7761 #ifdef _SC_USER_GROUPS_R
7762         if (x == _SC_USER_GROUPS_R)
7763                 {*r = Mono_Posix_SysconfName__SC_USER_GROUPS_R; return 0;}
7764 #endif /* ndef _SC_USER_GROUPS_R */
7765 #ifdef _SC_USHRT_MAX
7766         if (x == _SC_USHRT_MAX)
7767                 {*r = Mono_Posix_SysconfName__SC_USHRT_MAX; return 0;}
7768 #endif /* ndef _SC_USHRT_MAX */
7769 #ifdef _SC_V6_ILP32_OFF32
7770         if (x == _SC_V6_ILP32_OFF32)
7771                 {*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFF32; return 0;}
7772 #endif /* ndef _SC_V6_ILP32_OFF32 */
7773 #ifdef _SC_V6_ILP32_OFFBIG
7774         if (x == _SC_V6_ILP32_OFFBIG)
7775                 {*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG; return 0;}
7776 #endif /* ndef _SC_V6_ILP32_OFFBIG */
7777 #ifdef _SC_V6_LP64_OFF64
7778         if (x == _SC_V6_LP64_OFF64)
7779                 {*r = Mono_Posix_SysconfName__SC_V6_LP64_OFF64; return 0;}
7780 #endif /* ndef _SC_V6_LP64_OFF64 */
7781 #ifdef _SC_V6_LPBIG_OFFBIG
7782         if (x == _SC_V6_LPBIG_OFFBIG)
7783                 {*r = Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG; return 0;}
7784 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
7785 #ifdef _SC_VERSION
7786         if (x == _SC_VERSION)
7787                 {*r = Mono_Posix_SysconfName__SC_VERSION; return 0;}
7788 #endif /* ndef _SC_VERSION */
7789 #ifdef _SC_WORD_BIT
7790         if (x == _SC_WORD_BIT)
7791                 {*r = Mono_Posix_SysconfName__SC_WORD_BIT; return 0;}
7792 #endif /* ndef _SC_WORD_BIT */
7793 #ifdef _SC_XBS5_ILP32_OFF32
7794         if (x == _SC_XBS5_ILP32_OFF32)
7795                 {*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32; return 0;}
7796 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
7797 #ifdef _SC_XBS5_ILP32_OFFBIG
7798         if (x == _SC_XBS5_ILP32_OFFBIG)
7799                 {*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG; return 0;}
7800 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
7801 #ifdef _SC_XBS5_LP64_OFF64
7802         if (x == _SC_XBS5_LP64_OFF64)
7803                 {*r = Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64; return 0;}
7804 #endif /* ndef _SC_XBS5_LP64_OFF64 */
7805 #ifdef _SC_XBS5_LPBIG_OFFBIG
7806         if (x == _SC_XBS5_LPBIG_OFFBIG)
7807                 {*r = Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG; return 0;}
7808 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
7809 #ifdef _SC_XOPEN_CRYPT
7810         if (x == _SC_XOPEN_CRYPT)
7811                 {*r = Mono_Posix_SysconfName__SC_XOPEN_CRYPT; return 0;}
7812 #endif /* ndef _SC_XOPEN_CRYPT */
7813 #ifdef _SC_XOPEN_ENH_I18N
7814         if (x == _SC_XOPEN_ENH_I18N)
7815                 {*r = Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N; return 0;}
7816 #endif /* ndef _SC_XOPEN_ENH_I18N */
7817 #ifdef _SC_XOPEN_LEGACY
7818         if (x == _SC_XOPEN_LEGACY)
7819                 {*r = Mono_Posix_SysconfName__SC_XOPEN_LEGACY; return 0;}
7820 #endif /* ndef _SC_XOPEN_LEGACY */
7821 #ifdef _SC_XOPEN_REALTIME
7822         if (x == _SC_XOPEN_REALTIME)
7823                 {*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME; return 0;}
7824 #endif /* ndef _SC_XOPEN_REALTIME */
7825 #ifdef _SC_XOPEN_REALTIME_THREADS
7826         if (x == _SC_XOPEN_REALTIME_THREADS)
7827                 {*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS; return 0;}
7828 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
7829 #ifdef _SC_XOPEN_SHM
7830         if (x == _SC_XOPEN_SHM)
7831                 {*r = Mono_Posix_SysconfName__SC_XOPEN_SHM; return 0;}
7832 #endif /* ndef _SC_XOPEN_SHM */
7833 #ifdef _SC_XOPEN_UNIX
7834         if (x == _SC_XOPEN_UNIX)
7835                 {*r = Mono_Posix_SysconfName__SC_XOPEN_UNIX; return 0;}
7836 #endif /* ndef _SC_XOPEN_UNIX */
7837 #ifdef _SC_XOPEN_VERSION
7838         if (x == _SC_XOPEN_VERSION)
7839                 {*r = Mono_Posix_SysconfName__SC_XOPEN_VERSION; return 0;}
7840 #endif /* ndef _SC_XOPEN_VERSION */
7841 #ifdef _SC_XOPEN_XCU_VERSION
7842         if (x == _SC_XOPEN_XCU_VERSION)
7843                 {*r = Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION; return 0;}
7844 #endif /* ndef _SC_XOPEN_XCU_VERSION */
7845 #ifdef _SC_XOPEN_XPG2
7846         if (x == _SC_XOPEN_XPG2)
7847                 {*r = Mono_Posix_SysconfName__SC_XOPEN_XPG2; return 0;}
7848 #endif /* ndef _SC_XOPEN_XPG2 */
7849 #ifdef _SC_XOPEN_XPG3
7850         if (x == _SC_XOPEN_XPG3)
7851                 {*r = Mono_Posix_SysconfName__SC_XOPEN_XPG3; return 0;}
7852 #endif /* ndef _SC_XOPEN_XPG3 */
7853 #ifdef _SC_XOPEN_XPG4
7854         if (x == _SC_XOPEN_XPG4)
7855                 {*r = Mono_Posix_SysconfName__SC_XOPEN_XPG4; return 0;}
7856 #endif /* ndef _SC_XOPEN_XPG4 */
7857         errno = EINVAL; return -1;
7858 }
7859
7860 int Mono_Posix_FromSyslogFacility (int x, int *r)
7861 {
7862         *r = 0;
7863         if (x == 0)
7864                 return 0;
7865         if (x == Mono_Posix_SyslogFacility_LOG_AUTH)
7866 #ifdef LOG_AUTH
7867                 {*r = LOG_AUTH; return 0;}
7868 #else /* def LOG_AUTH */
7869                 {errno = EINVAL; return -1;}
7870 #endif /* ndef LOG_AUTH */
7871         if (x == Mono_Posix_SyslogFacility_LOG_AUTHPRIV)
7872 #ifdef LOG_AUTHPRIV
7873                 {*r = LOG_AUTHPRIV; return 0;}
7874 #else /* def LOG_AUTHPRIV */
7875                 {errno = EINVAL; return -1;}
7876 #endif /* ndef LOG_AUTHPRIV */
7877         if (x == Mono_Posix_SyslogFacility_LOG_CRON)
7878 #ifdef LOG_CRON
7879                 {*r = LOG_CRON; return 0;}
7880 #else /* def LOG_CRON */
7881                 {errno = EINVAL; return -1;}
7882 #endif /* ndef LOG_CRON */
7883         if (x == Mono_Posix_SyslogFacility_LOG_DAEMON)
7884 #ifdef LOG_DAEMON
7885                 {*r = LOG_DAEMON; return 0;}
7886 #else /* def LOG_DAEMON */
7887                 {errno = EINVAL; return -1;}
7888 #endif /* ndef LOG_DAEMON */
7889         if (x == Mono_Posix_SyslogFacility_LOG_FTP)
7890 #ifdef LOG_FTP
7891                 {*r = LOG_FTP; return 0;}
7892 #else /* def LOG_FTP */
7893                 {errno = EINVAL; return -1;}
7894 #endif /* ndef LOG_FTP */
7895         if (x == Mono_Posix_SyslogFacility_LOG_KERN)
7896 #ifdef LOG_KERN
7897                 {*r = LOG_KERN; return 0;}
7898 #else /* def LOG_KERN */
7899                 {errno = EINVAL; return -1;}
7900 #endif /* ndef LOG_KERN */
7901         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL0)
7902 #ifdef LOG_LOCAL0
7903                 {*r = LOG_LOCAL0; return 0;}
7904 #else /* def LOG_LOCAL0 */
7905                 {errno = EINVAL; return -1;}
7906 #endif /* ndef LOG_LOCAL0 */
7907         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL1)
7908 #ifdef LOG_LOCAL1
7909                 {*r = LOG_LOCAL1; return 0;}
7910 #else /* def LOG_LOCAL1 */
7911                 {errno = EINVAL; return -1;}
7912 #endif /* ndef LOG_LOCAL1 */
7913         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL2)
7914 #ifdef LOG_LOCAL2
7915                 {*r = LOG_LOCAL2; return 0;}
7916 #else /* def LOG_LOCAL2 */
7917                 {errno = EINVAL; return -1;}
7918 #endif /* ndef LOG_LOCAL2 */
7919         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL3)
7920 #ifdef LOG_LOCAL3
7921                 {*r = LOG_LOCAL3; return 0;}
7922 #else /* def LOG_LOCAL3 */
7923                 {errno = EINVAL; return -1;}
7924 #endif /* ndef LOG_LOCAL3 */
7925         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL4)
7926 #ifdef LOG_LOCAL4
7927                 {*r = LOG_LOCAL4; return 0;}
7928 #else /* def LOG_LOCAL4 */
7929                 {errno = EINVAL; return -1;}
7930 #endif /* ndef LOG_LOCAL4 */
7931         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL5)
7932 #ifdef LOG_LOCAL5
7933                 {*r = LOG_LOCAL5; return 0;}
7934 #else /* def LOG_LOCAL5 */
7935                 {errno = EINVAL; return -1;}
7936 #endif /* ndef LOG_LOCAL5 */
7937         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL6)
7938 #ifdef LOG_LOCAL6
7939                 {*r = LOG_LOCAL6; return 0;}
7940 #else /* def LOG_LOCAL6 */
7941                 {errno = EINVAL; return -1;}
7942 #endif /* ndef LOG_LOCAL6 */
7943         if (x == Mono_Posix_SyslogFacility_LOG_LOCAL7)
7944 #ifdef LOG_LOCAL7
7945                 {*r = LOG_LOCAL7; return 0;}
7946 #else /* def LOG_LOCAL7 */
7947                 {errno = EINVAL; return -1;}
7948 #endif /* ndef LOG_LOCAL7 */
7949         if (x == Mono_Posix_SyslogFacility_LOG_LPR)
7950 #ifdef LOG_LPR
7951                 {*r = LOG_LPR; return 0;}
7952 #else /* def LOG_LPR */
7953                 {errno = EINVAL; return -1;}
7954 #endif /* ndef LOG_LPR */
7955         if (x == Mono_Posix_SyslogFacility_LOG_MAIL)
7956 #ifdef LOG_MAIL
7957                 {*r = LOG_MAIL; return 0;}
7958 #else /* def LOG_MAIL */
7959                 {errno = EINVAL; return -1;}
7960 #endif /* ndef LOG_MAIL */
7961         if (x == Mono_Posix_SyslogFacility_LOG_NEWS)
7962 #ifdef LOG_NEWS
7963                 {*r = LOG_NEWS; return 0;}
7964 #else /* def LOG_NEWS */
7965                 {errno = EINVAL; return -1;}
7966 #endif /* ndef LOG_NEWS */
7967         if (x == Mono_Posix_SyslogFacility_LOG_SYSLOG)
7968 #ifdef LOG_SYSLOG
7969                 {*r = LOG_SYSLOG; return 0;}
7970 #else /* def LOG_SYSLOG */
7971                 {errno = EINVAL; return -1;}
7972 #endif /* ndef LOG_SYSLOG */
7973         if (x == Mono_Posix_SyslogFacility_LOG_USER)
7974 #ifdef LOG_USER
7975                 {*r = LOG_USER; return 0;}
7976 #else /* def LOG_USER */
7977                 {errno = EINVAL; return -1;}
7978 #endif /* ndef LOG_USER */
7979         if (x == Mono_Posix_SyslogFacility_LOG_UUCP)
7980 #ifdef LOG_UUCP
7981                 {*r = LOG_UUCP; return 0;}
7982 #else /* def LOG_UUCP */
7983                 {errno = EINVAL; return -1;}
7984 #endif /* ndef LOG_UUCP */
7985         errno = EINVAL; return -1;
7986 }
7987
7988 int Mono_Posix_ToSyslogFacility (int x, int *r)
7989 {
7990         *r = 0;
7991         if (x == 0)
7992                 return 0;
7993 #ifdef LOG_AUTH
7994         if (x == LOG_AUTH)
7995                 {*r = Mono_Posix_SyslogFacility_LOG_AUTH; return 0;}
7996 #endif /* ndef LOG_AUTH */
7997 #ifdef LOG_AUTHPRIV
7998         if (x == LOG_AUTHPRIV)
7999                 {*r = Mono_Posix_SyslogFacility_LOG_AUTHPRIV; return 0;}
8000 #endif /* ndef LOG_AUTHPRIV */
8001 #ifdef LOG_CRON
8002         if (x == LOG_CRON)
8003                 {*r = Mono_Posix_SyslogFacility_LOG_CRON; return 0;}
8004 #endif /* ndef LOG_CRON */
8005 #ifdef LOG_DAEMON
8006         if (x == LOG_DAEMON)
8007                 {*r = Mono_Posix_SyslogFacility_LOG_DAEMON; return 0;}
8008 #endif /* ndef LOG_DAEMON */
8009 #ifdef LOG_FTP
8010         if (x == LOG_FTP)
8011                 {*r = Mono_Posix_SyslogFacility_LOG_FTP; return 0;}
8012 #endif /* ndef LOG_FTP */
8013 #ifdef LOG_KERN
8014         if (x == LOG_KERN)
8015                 {*r = Mono_Posix_SyslogFacility_LOG_KERN; return 0;}
8016 #endif /* ndef LOG_KERN */
8017 #ifdef LOG_LOCAL0
8018         if (x == LOG_LOCAL0)
8019                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL0; return 0;}
8020 #endif /* ndef LOG_LOCAL0 */
8021 #ifdef LOG_LOCAL1
8022         if (x == LOG_LOCAL1)
8023                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL1; return 0;}
8024 #endif /* ndef LOG_LOCAL1 */
8025 #ifdef LOG_LOCAL2
8026         if (x == LOG_LOCAL2)
8027                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL2; return 0;}
8028 #endif /* ndef LOG_LOCAL2 */
8029 #ifdef LOG_LOCAL3
8030         if (x == LOG_LOCAL3)
8031                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL3; return 0;}
8032 #endif /* ndef LOG_LOCAL3 */
8033 #ifdef LOG_LOCAL4
8034         if (x == LOG_LOCAL4)
8035                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL4; return 0;}
8036 #endif /* ndef LOG_LOCAL4 */
8037 #ifdef LOG_LOCAL5
8038         if (x == LOG_LOCAL5)
8039                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL5; return 0;}
8040 #endif /* ndef LOG_LOCAL5 */
8041 #ifdef LOG_LOCAL6
8042         if (x == LOG_LOCAL6)
8043                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL6; return 0;}
8044 #endif /* ndef LOG_LOCAL6 */
8045 #ifdef LOG_LOCAL7
8046         if (x == LOG_LOCAL7)
8047                 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL7; return 0;}
8048 #endif /* ndef LOG_LOCAL7 */
8049 #ifdef LOG_LPR
8050         if (x == LOG_LPR)
8051                 {*r = Mono_Posix_SyslogFacility_LOG_LPR; return 0;}
8052 #endif /* ndef LOG_LPR */
8053 #ifdef LOG_MAIL
8054         if (x == LOG_MAIL)
8055                 {*r = Mono_Posix_SyslogFacility_LOG_MAIL; return 0;}
8056 #endif /* ndef LOG_MAIL */
8057 #ifdef LOG_NEWS
8058         if (x == LOG_NEWS)
8059                 {*r = Mono_Posix_SyslogFacility_LOG_NEWS; return 0;}
8060 #endif /* ndef LOG_NEWS */
8061 #ifdef LOG_SYSLOG
8062         if (x == LOG_SYSLOG)
8063                 {*r = Mono_Posix_SyslogFacility_LOG_SYSLOG; return 0;}
8064 #endif /* ndef LOG_SYSLOG */
8065 #ifdef LOG_USER
8066         if (x == LOG_USER)
8067                 {*r = Mono_Posix_SyslogFacility_LOG_USER; return 0;}
8068 #endif /* ndef LOG_USER */
8069 #ifdef LOG_UUCP
8070         if (x == LOG_UUCP)
8071                 {*r = Mono_Posix_SyslogFacility_LOG_UUCP; return 0;}
8072 #endif /* ndef LOG_UUCP */
8073         errno = EINVAL; return -1;
8074 }
8075
8076 int Mono_Posix_FromSyslogLevel (int x, int *r)
8077 {
8078         *r = 0;
8079         if (x == 0)
8080                 return 0;
8081         if (x == Mono_Posix_SyslogLevel_LOG_ALERT)
8082 #ifdef LOG_ALERT
8083                 {*r = LOG_ALERT; return 0;}
8084 #else /* def LOG_ALERT */
8085                 {errno = EINVAL; return -1;}
8086 #endif /* ndef LOG_ALERT */
8087         if (x == Mono_Posix_SyslogLevel_LOG_CRIT)
8088 #ifdef LOG_CRIT
8089                 {*r = LOG_CRIT; return 0;}
8090 #else /* def LOG_CRIT */
8091                 {errno = EINVAL; return -1;}
8092 #endif /* ndef LOG_CRIT */
8093         if (x == Mono_Posix_SyslogLevel_LOG_DEBUG)
8094 #ifdef LOG_DEBUG
8095                 {*r = LOG_DEBUG; return 0;}
8096 #else /* def LOG_DEBUG */
8097                 {errno = EINVAL; return -1;}
8098 #endif /* ndef LOG_DEBUG */
8099         if (x == Mono_Posix_SyslogLevel_LOG_EMERG)
8100 #ifdef LOG_EMERG
8101                 {*r = LOG_EMERG; return 0;}
8102 #else /* def LOG_EMERG */
8103                 {errno = EINVAL; return -1;}
8104 #endif /* ndef LOG_EMERG */
8105         if (x == Mono_Posix_SyslogLevel_LOG_ERR)
8106 #ifdef LOG_ERR
8107                 {*r = LOG_ERR; return 0;}
8108 #else /* def LOG_ERR */
8109                 {errno = EINVAL; return -1;}
8110 #endif /* ndef LOG_ERR */
8111         if (x == Mono_Posix_SyslogLevel_LOG_INFO)
8112 #ifdef LOG_INFO
8113                 {*r = LOG_INFO; return 0;}
8114 #else /* def LOG_INFO */
8115                 {errno = EINVAL; return -1;}
8116 #endif /* ndef LOG_INFO */
8117         if (x == Mono_Posix_SyslogLevel_LOG_NOTICE)
8118 #ifdef LOG_NOTICE
8119                 {*r = LOG_NOTICE; return 0;}
8120 #else /* def LOG_NOTICE */
8121                 {errno = EINVAL; return -1;}
8122 #endif /* ndef LOG_NOTICE */
8123         if (x == Mono_Posix_SyslogLevel_LOG_WARNING)
8124 #ifdef LOG_WARNING
8125                 {*r = LOG_WARNING; return 0;}
8126 #else /* def LOG_WARNING */
8127                 {errno = EINVAL; return -1;}
8128 #endif /* ndef LOG_WARNING */
8129         errno = EINVAL; return -1;
8130 }
8131
8132 int Mono_Posix_ToSyslogLevel (int x, int *r)
8133 {
8134         *r = 0;
8135         if (x == 0)
8136                 return 0;
8137 #ifdef LOG_ALERT
8138         if (x == LOG_ALERT)
8139                 {*r = Mono_Posix_SyslogLevel_LOG_ALERT; return 0;}
8140 #endif /* ndef LOG_ALERT */
8141 #ifdef LOG_CRIT
8142         if (x == LOG_CRIT)
8143                 {*r = Mono_Posix_SyslogLevel_LOG_CRIT; return 0;}
8144 #endif /* ndef LOG_CRIT */
8145 #ifdef LOG_DEBUG
8146         if (x == LOG_DEBUG)
8147                 {*r = Mono_Posix_SyslogLevel_LOG_DEBUG; return 0;}
8148 #endif /* ndef LOG_DEBUG */
8149 #ifdef LOG_EMERG
8150         if (x == LOG_EMERG)
8151                 {*r = Mono_Posix_SyslogLevel_LOG_EMERG; return 0;}
8152 #endif /* ndef LOG_EMERG */
8153 #ifdef LOG_ERR
8154         if (x == LOG_ERR)
8155                 {*r = Mono_Posix_SyslogLevel_LOG_ERR; return 0;}
8156 #endif /* ndef LOG_ERR */
8157 #ifdef LOG_INFO
8158         if (x == LOG_INFO)
8159                 {*r = Mono_Posix_SyslogLevel_LOG_INFO; return 0;}
8160 #endif /* ndef LOG_INFO */
8161 #ifdef LOG_NOTICE
8162         if (x == LOG_NOTICE)
8163                 {*r = Mono_Posix_SyslogLevel_LOG_NOTICE; return 0;}
8164 #endif /* ndef LOG_NOTICE */
8165 #ifdef LOG_WARNING
8166         if (x == LOG_WARNING)
8167                 {*r = Mono_Posix_SyslogLevel_LOG_WARNING; return 0;}
8168 #endif /* ndef LOG_WARNING */
8169         errno = EINVAL; return -1;
8170 }
8171
8172 int Mono_Posix_FromSyslogOptions (int x, int *r)
8173 {
8174         *r = 0;
8175         if (x == 0)
8176                 return 0;
8177         if ((x & Mono_Posix_SyslogOptions_LOG_CONS) == Mono_Posix_SyslogOptions_LOG_CONS)
8178 #ifdef LOG_CONS
8179                 *r |= LOG_CONS;
8180 #else /* def LOG_CONS */
8181                 {errno = EINVAL; return -1;}
8182 #endif /* ndef LOG_CONS */
8183         if ((x & Mono_Posix_SyslogOptions_LOG_NDELAY) == Mono_Posix_SyslogOptions_LOG_NDELAY)
8184 #ifdef LOG_NDELAY
8185                 *r |= LOG_NDELAY;
8186 #else /* def LOG_NDELAY */
8187                 {errno = EINVAL; return -1;}
8188 #endif /* ndef LOG_NDELAY */
8189         if ((x & Mono_Posix_SyslogOptions_LOG_NOWAIT) == Mono_Posix_SyslogOptions_LOG_NOWAIT)
8190 #ifdef LOG_NOWAIT
8191                 *r |= LOG_NOWAIT;
8192 #else /* def LOG_NOWAIT */
8193                 {errno = EINVAL; return -1;}
8194 #endif /* ndef LOG_NOWAIT */
8195         if ((x & Mono_Posix_SyslogOptions_LOG_ODELAY) == Mono_Posix_SyslogOptions_LOG_ODELAY)
8196 #ifdef LOG_ODELAY
8197                 *r |= LOG_ODELAY;
8198 #else /* def LOG_ODELAY */
8199                 {errno = EINVAL; return -1;}
8200 #endif /* ndef LOG_ODELAY */
8201         if ((x & Mono_Posix_SyslogOptions_LOG_PERROR) == Mono_Posix_SyslogOptions_LOG_PERROR)
8202 #ifdef LOG_PERROR
8203                 *r |= LOG_PERROR;
8204 #else /* def LOG_PERROR */
8205                 {errno = EINVAL; return -1;}
8206 #endif /* ndef LOG_PERROR */
8207         if ((x & Mono_Posix_SyslogOptions_LOG_PID) == Mono_Posix_SyslogOptions_LOG_PID)
8208 #ifdef LOG_PID
8209                 *r |= LOG_PID;
8210 #else /* def LOG_PID */
8211                 {errno = EINVAL; return -1;}
8212 #endif /* ndef LOG_PID */
8213         return 0;
8214 }
8215
8216 int Mono_Posix_ToSyslogOptions (int x, int *r)
8217 {
8218         *r = 0;
8219         if (x == 0)
8220                 return 0;
8221 #ifdef LOG_CONS
8222         if ((x & LOG_CONS) == LOG_CONS)
8223                 *r |= Mono_Posix_SyslogOptions_LOG_CONS;
8224 #endif /* ndef LOG_CONS */
8225 #ifdef LOG_NDELAY
8226         if ((x & LOG_NDELAY) == LOG_NDELAY)
8227                 *r |= Mono_Posix_SyslogOptions_LOG_NDELAY;
8228 #endif /* ndef LOG_NDELAY */
8229 #ifdef LOG_NOWAIT
8230         if ((x & LOG_NOWAIT) == LOG_NOWAIT)
8231                 *r |= Mono_Posix_SyslogOptions_LOG_NOWAIT;
8232 #endif /* ndef LOG_NOWAIT */
8233 #ifdef LOG_ODELAY
8234         if ((x & LOG_ODELAY) == LOG_ODELAY)
8235                 *r |= Mono_Posix_SyslogOptions_LOG_ODELAY;
8236 #endif /* ndef LOG_ODELAY */
8237 #ifdef LOG_PERROR
8238         if ((x & LOG_PERROR) == LOG_PERROR)
8239                 *r |= Mono_Posix_SyslogOptions_LOG_PERROR;
8240 #endif /* ndef LOG_PERROR */
8241 #ifdef LOG_PID
8242         if ((x & LOG_PID) == LOG_PID)
8243                 *r |= Mono_Posix_SyslogOptions_LOG_PID;
8244 #endif /* ndef LOG_PID */
8245         return 0;
8246 }
8247
8248 int Mono_Posix_FromWaitOptions (int x, int *r)
8249 {
8250         *r = 0;
8251         if (x == 0)
8252                 return 0;
8253         if ((x & Mono_Posix_WaitOptions_WNOHANG) == Mono_Posix_WaitOptions_WNOHANG)
8254 #ifdef WNOHANG
8255                 *r |= WNOHANG;
8256 #else /* def WNOHANG */
8257                 {errno = EINVAL; return -1;}
8258 #endif /* ndef WNOHANG */
8259         if ((x & Mono_Posix_WaitOptions_WUNTRACED) == Mono_Posix_WaitOptions_WUNTRACED)
8260 #ifdef WUNTRACED
8261                 *r |= WUNTRACED;
8262 #else /* def WUNTRACED */
8263                 {errno = EINVAL; return -1;}
8264 #endif /* ndef WUNTRACED */
8265         return 0;
8266 }
8267
8268 int Mono_Posix_ToWaitOptions (int x, int *r)
8269 {
8270         *r = 0;
8271         if (x == 0)
8272                 return 0;
8273 #ifdef WNOHANG
8274         if ((x & WNOHANG) == WNOHANG)
8275                 *r |= Mono_Posix_WaitOptions_WNOHANG;
8276 #endif /* ndef WNOHANG */
8277 #ifdef WUNTRACED
8278         if ((x & WUNTRACED) == WUNTRACED)
8279                 *r |= Mono_Posix_WaitOptions_WUNTRACED;
8280 #endif /* ndef WUNTRACED */
8281         return 0;
8282 }
8283
8284 int Mono_Posix_FromXattrFlags (int x, int *r)
8285 {
8286         *r = 0;
8287         if (x == 0)
8288                 return 0;
8289         if ((x & Mono_Posix_XattrFlags_XATTR_AUTO) == Mono_Posix_XattrFlags_XATTR_AUTO)
8290 #ifdef XATTR_AUTO
8291                 *r |= XATTR_AUTO;
8292 #else /* def XATTR_AUTO */
8293                 {errno = EINVAL; return -1;}
8294 #endif /* ndef XATTR_AUTO */
8295         if ((x & Mono_Posix_XattrFlags_XATTR_CREATE) == Mono_Posix_XattrFlags_XATTR_CREATE)
8296 #ifdef XATTR_CREATE
8297                 *r |= XATTR_CREATE;
8298 #else /* def XATTR_CREATE */
8299                 {errno = EINVAL; return -1;}
8300 #endif /* ndef XATTR_CREATE */
8301         if ((x & Mono_Posix_XattrFlags_XATTR_REPLACE) == Mono_Posix_XattrFlags_XATTR_REPLACE)
8302 #ifdef XATTR_REPLACE
8303                 *r |= XATTR_REPLACE;
8304 #else /* def XATTR_REPLACE */
8305                 {errno = EINVAL; return -1;}
8306 #endif /* ndef XATTR_REPLACE */
8307         return 0;
8308 }
8309
8310 int Mono_Posix_ToXattrFlags (int x, int *r)
8311 {
8312         *r = 0;
8313         if (x == 0)
8314                 return 0;
8315 #ifdef XATTR_AUTO
8316         if ((x & XATTR_AUTO) == XATTR_AUTO)
8317                 *r |= Mono_Posix_XattrFlags_XATTR_AUTO;
8318 #endif /* ndef XATTR_AUTO */
8319 #ifdef XATTR_CREATE
8320         if ((x & XATTR_CREATE) == XATTR_CREATE)
8321                 *r |= Mono_Posix_XattrFlags_XATTR_CREATE;
8322 #endif /* ndef XATTR_CREATE */
8323 #ifdef XATTR_REPLACE
8324         if ((x & XATTR_REPLACE) == XATTR_REPLACE)
8325                 *r |= Mono_Posix_XattrFlags_XATTR_REPLACE;
8326 #endif /* ndef XATTR_REPLACE */
8327         return 0;
8328 }
8329
8330 int Mono_Posix_FromPathConf (int x, int *r)
8331 {
8332         *r = 0;
8333         if (x == 0)
8334                 return 0;
8335         if (x == Mono_Posix_PathConf__PC_2_SYMLINKS)
8336 #ifdef _PC_2_SYMLINKS
8337                 {*r = _PC_2_SYMLINKS; return 0;}
8338 #else /* def _PC_2_SYMLINKS */
8339                 {errno = EINVAL; return -1;}
8340 #endif /* ndef _PC_2_SYMLINKS */
8341         if (x == Mono_Posix_PathConf__PC_ALLOC_SIZE_MIN)
8342 #ifdef _PC_ALLOC_SIZE_MIN
8343                 {*r = _PC_ALLOC_SIZE_MIN; return 0;}
8344 #else /* def _PC_ALLOC_SIZE_MIN */
8345                 {errno = EINVAL; return -1;}
8346 #endif /* ndef _PC_ALLOC_SIZE_MIN */
8347         if (x == Mono_Posix_PathConf__PC_ASYNC_IO)
8348 #ifdef _PC_ASYNC_IO
8349                 {*r = _PC_ASYNC_IO; return 0;}
8350 #else /* def _PC_ASYNC_IO */
8351                 {errno = EINVAL; return -1;}
8352 #endif /* ndef _PC_ASYNC_IO */
8353         if (x == Mono_Posix_PathConf__PC_CHOWN_RESTRICTED)
8354 #ifdef _PC_CHOWN_RESTRICTED
8355                 {*r = _PC_CHOWN_RESTRICTED; return 0;}
8356 #else /* def _PC_CHOWN_RESTRICTED */
8357                 {errno = EINVAL; return -1;}
8358 #endif /* ndef _PC_CHOWN_RESTRICTED */
8359         if (x == Mono_Posix_PathConf__PC_FILESIZEBITS)
8360 #ifdef _PC_FILESIZEBITS
8361                 {*r = _PC_FILESIZEBITS; return 0;}
8362 #else /* def _PC_FILESIZEBITS */
8363                 {errno = EINVAL; return -1;}
8364 #endif /* ndef _PC_FILESIZEBITS */
8365         if (x == Mono_Posix_PathConf__PC_LINK_MAX)
8366 #ifdef _PC_LINK_MAX
8367                 {*r = _PC_LINK_MAX; return 0;}
8368 #else /* def _PC_LINK_MAX */
8369                 {errno = EINVAL; return -1;}
8370 #endif /* ndef _PC_LINK_MAX */
8371         if (x == Mono_Posix_PathConf__PC_MAX_CANON)
8372 #ifdef _PC_MAX_CANON
8373                 {*r = _PC_MAX_CANON; return 0;}
8374 #else /* def _PC_MAX_CANON */
8375                 {errno = EINVAL; return -1;}
8376 #endif /* ndef _PC_MAX_CANON */
8377         if (x == Mono_Posix_PathConf__PC_MAX_INPUT)
8378 #ifdef _PC_MAX_INPUT
8379                 {*r = _PC_MAX_INPUT; return 0;}
8380 #else /* def _PC_MAX_INPUT */
8381                 {errno = EINVAL; return -1;}
8382 #endif /* ndef _PC_MAX_INPUT */
8383         if (x == Mono_Posix_PathConf__PC_NAME_MAX)
8384 #ifdef _PC_NAME_MAX
8385                 {*r = _PC_NAME_MAX; return 0;}
8386 #else /* def _PC_NAME_MAX */
8387                 {errno = EINVAL; return -1;}
8388 #endif /* ndef _PC_NAME_MAX */
8389         if (x == Mono_Posix_PathConf__PC_NO_TRUNC)
8390 #ifdef _PC_NO_TRUNC
8391                 {*r = _PC_NO_TRUNC; return 0;}
8392 #else /* def _PC_NO_TRUNC */
8393                 {errno = EINVAL; return -1;}
8394 #endif /* ndef _PC_NO_TRUNC */
8395         if (x == Mono_Posix_PathConf__PC_PATH_MAX)
8396 #ifdef _PC_PATH_MAX
8397                 {*r = _PC_PATH_MAX; return 0;}
8398 #else /* def _PC_PATH_MAX */
8399                 {errno = EINVAL; return -1;}
8400 #endif /* ndef _PC_PATH_MAX */
8401         if (x == Mono_Posix_PathConf__PC_PIPE_BUF)
8402 #ifdef _PC_PIPE_BUF
8403                 {*r = _PC_PIPE_BUF; return 0;}
8404 #else /* def _PC_PIPE_BUF */
8405                 {errno = EINVAL; return -1;}
8406 #endif /* ndef _PC_PIPE_BUF */
8407         if (x == Mono_Posix_PathConf__PC_PRIO_IO)
8408 #ifdef _PC_PRIO_IO
8409                 {*r = _PC_PRIO_IO; return 0;}
8410 #else /* def _PC_PRIO_IO */
8411                 {errno = EINVAL; return -1;}
8412 #endif /* ndef _PC_PRIO_IO */
8413         if (x == Mono_Posix_PathConf__PC_REC_INCR_XFER_SIZE)
8414 #ifdef _PC_REC_INCR_XFER_SIZE
8415                 {*r = _PC_REC_INCR_XFER_SIZE; return 0;}
8416 #else /* def _PC_REC_INCR_XFER_SIZE */
8417                 {errno = EINVAL; return -1;}
8418 #endif /* ndef _PC_REC_INCR_XFER_SIZE */
8419         if (x == Mono_Posix_PathConf__PC_REC_MAX_XFER_SIZE)
8420 #ifdef _PC_REC_MAX_XFER_SIZE
8421                 {*r = _PC_REC_MAX_XFER_SIZE; return 0;}
8422 #else /* def _PC_REC_MAX_XFER_SIZE */
8423                 {errno = EINVAL; return -1;}
8424 #endif /* ndef _PC_REC_MAX_XFER_SIZE */
8425         if (x == Mono_Posix_PathConf__PC_REC_MIN_XFER_SIZE)
8426 #ifdef _PC_REC_MIN_XFER_SIZE
8427                 {*r = _PC_REC_MIN_XFER_SIZE; return 0;}
8428 #else /* def _PC_REC_MIN_XFER_SIZE */
8429                 {errno = EINVAL; return -1;}
8430 #endif /* ndef _PC_REC_MIN_XFER_SIZE */
8431         if (x == Mono_Posix_PathConf__PC_REC_XFER_ALIGN)
8432 #ifdef _PC_REC_XFER_ALIGN
8433                 {*r = _PC_REC_XFER_ALIGN; return 0;}
8434 #else /* def _PC_REC_XFER_ALIGN */
8435                 {errno = EINVAL; return -1;}
8436 #endif /* ndef _PC_REC_XFER_ALIGN */
8437         if (x == Mono_Posix_PathConf__PC_SOCK_MAXBUF)
8438 #ifdef _PC_SOCK_MAXBUF
8439                 {*r = _PC_SOCK_MAXBUF; return 0;}
8440 #else /* def _PC_SOCK_MAXBUF */
8441                 {errno = EINVAL; return -1;}
8442 #endif /* ndef _PC_SOCK_MAXBUF */
8443         if (x == Mono_Posix_PathConf__PC_SYMLINK_MAX)
8444 #ifdef _PC_SYMLINK_MAX
8445                 {*r = _PC_SYMLINK_MAX; return 0;}
8446 #else /* def _PC_SYMLINK_MAX */
8447                 {errno = EINVAL; return -1;}
8448 #endif /* ndef _PC_SYMLINK_MAX */
8449         if (x == Mono_Posix_PathConf__PC_SYNC_IO)
8450 #ifdef _PC_SYNC_IO
8451                 {*r = _PC_SYNC_IO; return 0;}
8452 #else /* def _PC_SYNC_IO */
8453                 {errno = EINVAL; return -1;}
8454 #endif /* ndef _PC_SYNC_IO */
8455         if (x == Mono_Posix_PathConf__PC_VDISABLE)
8456 #ifdef _PC_VDISABLE
8457                 {*r = _PC_VDISABLE; return 0;}
8458 #else /* def _PC_VDISABLE */
8459                 {errno = EINVAL; return -1;}
8460 #endif /* ndef _PC_VDISABLE */
8461         errno = EINVAL; return -1;
8462 }
8463
8464 int Mono_Posix_ToPathConf (int x, int *r)
8465 {
8466         *r = 0;
8467         if (x == 0)
8468                 return 0;
8469 #ifdef _PC_2_SYMLINKS
8470         if (x == _PC_2_SYMLINKS)
8471                 {*r = Mono_Posix_PathConf__PC_2_SYMLINKS; return 0;}
8472 #endif /* ndef _PC_2_SYMLINKS */
8473 #ifdef _PC_ALLOC_SIZE_MIN
8474         if (x == _PC_ALLOC_SIZE_MIN)
8475                 {*r = Mono_Posix_PathConf__PC_ALLOC_SIZE_MIN; return 0;}
8476 #endif /* ndef _PC_ALLOC_SIZE_MIN */
8477 #ifdef _PC_ASYNC_IO
8478         if (x == _PC_ASYNC_IO)
8479                 {*r = Mono_Posix_PathConf__PC_ASYNC_IO; return 0;}
8480 #endif /* ndef _PC_ASYNC_IO */
8481 #ifdef _PC_CHOWN_RESTRICTED
8482         if (x == _PC_CHOWN_RESTRICTED)
8483                 {*r = Mono_Posix_PathConf__PC_CHOWN_RESTRICTED; return 0;}
8484 #endif /* ndef _PC_CHOWN_RESTRICTED */
8485 #ifdef _PC_FILESIZEBITS
8486         if (x == _PC_FILESIZEBITS)
8487                 {*r = Mono_Posix_PathConf__PC_FILESIZEBITS; return 0;}
8488 #endif /* ndef _PC_FILESIZEBITS */
8489 #ifdef _PC_LINK_MAX
8490         if (x == _PC_LINK_MAX)
8491                 {*r = Mono_Posix_PathConf__PC_LINK_MAX; return 0;}
8492 #endif /* ndef _PC_LINK_MAX */
8493 #ifdef _PC_MAX_CANON
8494         if (x == _PC_MAX_CANON)
8495                 {*r = Mono_Posix_PathConf__PC_MAX_CANON; return 0;}
8496 #endif /* ndef _PC_MAX_CANON */
8497 #ifdef _PC_MAX_INPUT
8498         if (x == _PC_MAX_INPUT)
8499                 {*r = Mono_Posix_PathConf__PC_MAX_INPUT; return 0;}
8500 #endif /* ndef _PC_MAX_INPUT */
8501 #ifdef _PC_NAME_MAX
8502         if (x == _PC_NAME_MAX)
8503                 {*r = Mono_Posix_PathConf__PC_NAME_MAX; return 0;}
8504 #endif /* ndef _PC_NAME_MAX */
8505 #ifdef _PC_NO_TRUNC
8506         if (x == _PC_NO_TRUNC)
8507                 {*r = Mono_Posix_PathConf__PC_NO_TRUNC; return 0;}
8508 #endif /* ndef _PC_NO_TRUNC */
8509 #ifdef _PC_PATH_MAX
8510         if (x == _PC_PATH_MAX)
8511                 {*r = Mono_Posix_PathConf__PC_PATH_MAX; return 0;}
8512 #endif /* ndef _PC_PATH_MAX */
8513 #ifdef _PC_PIPE_BUF
8514         if (x == _PC_PIPE_BUF)
8515                 {*r = Mono_Posix_PathConf__PC_PIPE_BUF; return 0;}
8516 #endif /* ndef _PC_PIPE_BUF */
8517 #ifdef _PC_PRIO_IO
8518         if (x == _PC_PRIO_IO)
8519                 {*r = Mono_Posix_PathConf__PC_PRIO_IO; return 0;}
8520 #endif /* ndef _PC_PRIO_IO */
8521 #ifdef _PC_REC_INCR_XFER_SIZE
8522         if (x == _PC_REC_INCR_XFER_SIZE)
8523                 {*r = Mono_Posix_PathConf__PC_REC_INCR_XFER_SIZE; return 0;}
8524 #endif /* ndef _PC_REC_INCR_XFER_SIZE */
8525 #ifdef _PC_REC_MAX_XFER_SIZE
8526         if (x == _PC_REC_MAX_XFER_SIZE)
8527                 {*r = Mono_Posix_PathConf__PC_REC_MAX_XFER_SIZE; return 0;}
8528 #endif /* ndef _PC_REC_MAX_XFER_SIZE */
8529 #ifdef _PC_REC_MIN_XFER_SIZE
8530         if (x == _PC_REC_MIN_XFER_SIZE)
8531                 {*r = Mono_Posix_PathConf__PC_REC_MIN_XFER_SIZE; return 0;}
8532 #endif /* ndef _PC_REC_MIN_XFER_SIZE */
8533 #ifdef _PC_REC_XFER_ALIGN
8534         if (x == _PC_REC_XFER_ALIGN)
8535                 {*r = Mono_Posix_PathConf__PC_REC_XFER_ALIGN; return 0;}
8536 #endif /* ndef _PC_REC_XFER_ALIGN */
8537 #ifdef _PC_SOCK_MAXBUF
8538         if (x == _PC_SOCK_MAXBUF)
8539                 {*r = Mono_Posix_PathConf__PC_SOCK_MAXBUF; return 0;}
8540 #endif /* ndef _PC_SOCK_MAXBUF */
8541 #ifdef _PC_SYMLINK_MAX
8542         if (x == _PC_SYMLINK_MAX)
8543                 {*r = Mono_Posix_PathConf__PC_SYMLINK_MAX; return 0;}
8544 #endif /* ndef _PC_SYMLINK_MAX */
8545 #ifdef _PC_SYNC_IO
8546         if (x == _PC_SYNC_IO)
8547                 {*r = Mono_Posix_PathConf__PC_SYNC_IO; return 0;}
8548 #endif /* ndef _PC_SYNC_IO */
8549 #ifdef _PC_VDISABLE
8550         if (x == _PC_VDISABLE)
8551                 {*r = Mono_Posix_PathConf__PC_VDISABLE; return 0;}
8552 #endif /* ndef _PC_VDISABLE */
8553         errno = EINVAL; return -1;
8554 }
8555
8556 int Mono_Posix_FromSysConf (int x, int *r)
8557 {
8558         *r = 0;
8559         if (x == 0)
8560                 return 0;
8561         if (x == Mono_Posix_SysConf__SC_2_CHAR_TERM)
8562 #ifdef _SC_2_CHAR_TERM
8563                 {*r = _SC_2_CHAR_TERM; return 0;}
8564 #else /* def _SC_2_CHAR_TERM */
8565                 {errno = EINVAL; return -1;}
8566 #endif /* ndef _SC_2_CHAR_TERM */
8567         if (x == Mono_Posix_SysConf__SC_2_C_BIND)
8568 #ifdef _SC_2_C_BIND
8569                 {*r = _SC_2_C_BIND; return 0;}
8570 #else /* def _SC_2_C_BIND */
8571                 {errno = EINVAL; return -1;}
8572 #endif /* ndef _SC_2_C_BIND */
8573         if (x == Mono_Posix_SysConf__SC_2_C_DEV)
8574 #ifdef _SC_2_C_DEV
8575                 {*r = _SC_2_C_DEV; return 0;}
8576 #else /* def _SC_2_C_DEV */
8577                 {errno = EINVAL; return -1;}
8578 #endif /* ndef _SC_2_C_DEV */
8579         if (x == Mono_Posix_SysConf__SC_2_C_VERSION)
8580 #ifdef _SC_2_C_VERSION
8581                 {*r = _SC_2_C_VERSION; return 0;}
8582 #else /* def _SC_2_C_VERSION */
8583                 {errno = EINVAL; return -1;}
8584 #endif /* ndef _SC_2_C_VERSION */
8585         if (x == Mono_Posix_SysConf__SC_2_FORT_DEV)
8586 #ifdef _SC_2_FORT_DEV
8587                 {*r = _SC_2_FORT_DEV; return 0;}
8588 #else /* def _SC_2_FORT_DEV */
8589                 {errno = EINVAL; return -1;}
8590 #endif /* ndef _SC_2_FORT_DEV */
8591         if (x == Mono_Posix_SysConf__SC_2_FORT_RUN)
8592 #ifdef _SC_2_FORT_RUN
8593                 {*r = _SC_2_FORT_RUN; return 0;}
8594 #else /* def _SC_2_FORT_RUN */
8595                 {errno = EINVAL; return -1;}
8596 #endif /* ndef _SC_2_FORT_RUN */
8597         if (x == Mono_Posix_SysConf__SC_2_LOCALEDEF)
8598 #ifdef _SC_2_LOCALEDEF
8599                 {*r = _SC_2_LOCALEDEF; return 0;}
8600 #else /* def _SC_2_LOCALEDEF */
8601                 {errno = EINVAL; return -1;}
8602 #endif /* ndef _SC_2_LOCALEDEF */
8603         if (x == Mono_Posix_SysConf__SC_2_PBS)
8604 #ifdef _SC_2_PBS
8605                 {*r = _SC_2_PBS; return 0;}
8606 #else /* def _SC_2_PBS */
8607                 {errno = EINVAL; return -1;}
8608 #endif /* ndef _SC_2_PBS */
8609         if (x == Mono_Posix_SysConf__SC_2_PBS_ACCOUNTING)
8610 #ifdef _SC_2_PBS_ACCOUNTING
8611                 {*r = _SC_2_PBS_ACCOUNTING; return 0;}
8612 #else /* def _SC_2_PBS_ACCOUNTING */
8613                 {errno = EINVAL; return -1;}
8614 #endif /* ndef _SC_2_PBS_ACCOUNTING */
8615         if (x == Mono_Posix_SysConf__SC_2_PBS_CHECKPOINT)
8616 #ifdef _SC_2_PBS_CHECKPOINT
8617                 {*r = _SC_2_PBS_CHECKPOINT; return 0;}
8618 #else /* def _SC_2_PBS_CHECKPOINT */
8619                 {errno = EINVAL; return -1;}
8620 #endif /* ndef _SC_2_PBS_CHECKPOINT */
8621         if (x == Mono_Posix_SysConf__SC_2_PBS_LOCATE)
8622 #ifdef _SC_2_PBS_LOCATE
8623                 {*r = _SC_2_PBS_LOCATE; return 0;}
8624 #else /* def _SC_2_PBS_LOCATE */
8625                 {errno = EINVAL; return -1;}
8626 #endif /* ndef _SC_2_PBS_LOCATE */
8627         if (x == Mono_Posix_SysConf__SC_2_PBS_MESSAGE)
8628 #ifdef _SC_2_PBS_MESSAGE
8629                 {*r = _SC_2_PBS_MESSAGE; return 0;}
8630 #else /* def _SC_2_PBS_MESSAGE */
8631                 {errno = EINVAL; return -1;}
8632 #endif /* ndef _SC_2_PBS_MESSAGE */
8633         if (x == Mono_Posix_SysConf__SC_2_PBS_TRACK)
8634 #ifdef _SC_2_PBS_TRACK
8635                 {*r = _SC_2_PBS_TRACK; return 0;}
8636 #else /* def _SC_2_PBS_TRACK */
8637                 {errno = EINVAL; return -1;}
8638 #endif /* ndef _SC_2_PBS_TRACK */
8639         if (x == Mono_Posix_SysConf__SC_2_SW_DEV)
8640 #ifdef _SC_2_SW_DEV
8641                 {*r = _SC_2_SW_DEV; return 0;}
8642 #else /* def _SC_2_SW_DEV */
8643                 {errno = EINVAL; return -1;}
8644 #endif /* ndef _SC_2_SW_DEV */
8645         if (x == Mono_Posix_SysConf__SC_2_UPE)
8646 #ifdef _SC_2_UPE
8647                 {*r = _SC_2_UPE; return 0;}
8648 #else /* def _SC_2_UPE */
8649                 {errno = EINVAL; return -1;}
8650 #endif /* ndef _SC_2_UPE */
8651         if (x == Mono_Posix_SysConf__SC_2_VERSION)
8652 #ifdef _SC_2_VERSION
8653                 {*r = _SC_2_VERSION; return 0;}
8654 #else /* def _SC_2_VERSION */
8655                 {errno = EINVAL; return -1;}
8656 #endif /* ndef _SC_2_VERSION */
8657         if (x == Mono_Posix_SysConf__SC_ADVISORY_INFO)
8658 #ifdef _SC_ADVISORY_INFO
8659                 {*r = _SC_ADVISORY_INFO; return 0;}
8660 #else /* def _SC_ADVISORY_INFO */
8661                 {errno = EINVAL; return -1;}
8662 #endif /* ndef _SC_ADVISORY_INFO */
8663         if (x == Mono_Posix_SysConf__SC_AIO_LISTIO_MAX)
8664 #ifdef _SC_AIO_LISTIO_MAX
8665                 {*r = _SC_AIO_LISTIO_MAX; return 0;}
8666 #else /* def _SC_AIO_LISTIO_MAX */
8667                 {errno = EINVAL; return -1;}
8668 #endif /* ndef _SC_AIO_LISTIO_MAX */
8669         if (x == Mono_Posix_SysConf__SC_AIO_MAX)
8670 #ifdef _SC_AIO_MAX
8671                 {*r = _SC_AIO_MAX; return 0;}
8672 #else /* def _SC_AIO_MAX */
8673                 {errno = EINVAL; return -1;}
8674 #endif /* ndef _SC_AIO_MAX */
8675         if (x == Mono_Posix_SysConf__SC_AIO_PRIO_DELTA_MAX)
8676 #ifdef _SC_AIO_PRIO_DELTA_MAX
8677                 {*r = _SC_AIO_PRIO_DELTA_MAX; return 0;}
8678 #else /* def _SC_AIO_PRIO_DELTA_MAX */
8679                 {errno = EINVAL; return -1;}
8680 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
8681         if (x == Mono_Posix_SysConf__SC_ARG_MAX)
8682 #ifdef _SC_ARG_MAX
8683                 {*r = _SC_ARG_MAX; return 0;}
8684 #else /* def _SC_ARG_MAX */
8685                 {errno = EINVAL; return -1;}
8686 #endif /* ndef _SC_ARG_MAX */
8687         if (x == Mono_Posix_SysConf__SC_ASYNCHRONOUS_IO)
8688 #ifdef _SC_ASYNCHRONOUS_IO
8689                 {*r = _SC_ASYNCHRONOUS_IO; return 0;}
8690 #else /* def _SC_ASYNCHRONOUS_IO */
8691                 {errno = EINVAL; return -1;}
8692 #endif /* ndef _SC_ASYNCHRONOUS_IO */
8693         if (x == Mono_Posix_SysConf__SC_ATEXIT_MAX)
8694 #ifdef _SC_ATEXIT_MAX
8695                 {*r = _SC_ATEXIT_MAX; return 0;}
8696 #else /* def _SC_ATEXIT_MAX */
8697                 {errno = EINVAL; return -1;}
8698 #endif /* ndef _SC_ATEXIT_MAX */
8699         if (x == Mono_Posix_SysConf__SC_AVPHYS_PAGES)
8700 #ifdef _SC_AVPHYS_PAGES
8701                 {*r = _SC_AVPHYS_PAGES; return 0;}
8702 #else /* def _SC_AVPHYS_PAGES */
8703                 {errno = EINVAL; return -1;}
8704 #endif /* ndef _SC_AVPHYS_PAGES */
8705         if (x == Mono_Posix_SysConf__SC_BARRIERS)
8706 #ifdef _SC_BARRIERS
8707                 {*r = _SC_BARRIERS; return 0;}
8708 #else /* def _SC_BARRIERS */
8709                 {errno = EINVAL; return -1;}
8710 #endif /* ndef _SC_BARRIERS */
8711         if (x == Mono_Posix_SysConf__SC_BASE)
8712 #ifdef _SC_BASE
8713                 {*r = _SC_BASE; return 0;}
8714 #else /* def _SC_BASE */
8715                 {errno = EINVAL; return -1;}
8716 #endif /* ndef _SC_BASE */
8717         if (x == Mono_Posix_SysConf__SC_BC_BASE_MAX)
8718 #ifdef _SC_BC_BASE_MAX
8719                 {*r = _SC_BC_BASE_MAX; return 0;}
8720 #else /* def _SC_BC_BASE_MAX */
8721                 {errno = EINVAL; return -1;}
8722 #endif /* ndef _SC_BC_BASE_MAX */
8723         if (x == Mono_Posix_SysConf__SC_BC_DIM_MAX)
8724 #ifdef _SC_BC_DIM_MAX
8725                 {*r = _SC_BC_DIM_MAX; return 0;}
8726 #else /* def _SC_BC_DIM_MAX */
8727                 {errno = EINVAL; return -1;}
8728 #endif /* ndef _SC_BC_DIM_MAX */
8729         if (x == Mono_Posix_SysConf__SC_BC_SCALE_MAX)
8730 #ifdef _SC_BC_SCALE_MAX
8731                 {*r = _SC_BC_SCALE_MAX; return 0;}
8732 #else /* def _SC_BC_SCALE_MAX */
8733                 {errno = EINVAL; return -1;}
8734 #endif /* ndef _SC_BC_SCALE_MAX */
8735         if (x == Mono_Posix_SysConf__SC_BC_STRING_MAX)
8736 #ifdef _SC_BC_STRING_MAX
8737                 {*r = _SC_BC_STRING_MAX; return 0;}
8738 #else /* def _SC_BC_STRING_MAX */
8739                 {errno = EINVAL; return -1;}
8740 #endif /* ndef _SC_BC_STRING_MAX */
8741         if (x == Mono_Posix_SysConf__SC_CHARCLASS_NAME_MAX)
8742 #ifdef _SC_CHARCLASS_NAME_MAX
8743                 {*r = _SC_CHARCLASS_NAME_MAX; return 0;}
8744 #else /* def _SC_CHARCLASS_NAME_MAX */
8745                 {errno = EINVAL; return -1;}
8746 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
8747         if (x == Mono_Posix_SysConf__SC_CHAR_BIT)
8748 #ifdef _SC_CHAR_BIT
8749                 {*r = _SC_CHAR_BIT; return 0;}
8750 #else /* def _SC_CHAR_BIT */
8751                 {errno = EINVAL; return -1;}
8752 #endif /* ndef _SC_CHAR_BIT */
8753         if (x == Mono_Posix_SysConf__SC_CHAR_MAX)
8754 #ifdef _SC_CHAR_MAX
8755                 {*r = _SC_CHAR_MAX; return 0;}
8756 #else /* def _SC_CHAR_MAX */
8757                 {errno = EINVAL; return -1;}
8758 #endif /* ndef _SC_CHAR_MAX */
8759         if (x == Mono_Posix_SysConf__SC_CHAR_MIN)
8760 #ifdef _SC_CHAR_MIN
8761                 {*r = _SC_CHAR_MIN; return 0;}
8762 #else /* def _SC_CHAR_MIN */
8763                 {errno = EINVAL; return -1;}
8764 #endif /* ndef _SC_CHAR_MIN */
8765         if (x == Mono_Posix_SysConf__SC_CHILD_MAX)
8766 #ifdef _SC_CHILD_MAX
8767                 {*r = _SC_CHILD_MAX; return 0;}
8768 #else /* def _SC_CHILD_MAX */
8769                 {errno = EINVAL; return -1;}
8770 #endif /* ndef _SC_CHILD_MAX */
8771         if (x == Mono_Posix_SysConf__SC_CLK_TCK)
8772 #ifdef _SC_CLK_TCK
8773                 {*r = _SC_CLK_TCK; return 0;}
8774 #else /* def _SC_CLK_TCK */
8775                 {errno = EINVAL; return -1;}
8776 #endif /* ndef _SC_CLK_TCK */
8777         if (x == Mono_Posix_SysConf__SC_CLOCK_SELECTION)
8778 #ifdef _SC_CLOCK_SELECTION
8779                 {*r = _SC_CLOCK_SELECTION; return 0;}
8780 #else /* def _SC_CLOCK_SELECTION */
8781                 {errno = EINVAL; return -1;}
8782 #endif /* ndef _SC_CLOCK_SELECTION */
8783         if (x == Mono_Posix_SysConf__SC_COLL_WEIGHTS_MAX)
8784 #ifdef _SC_COLL_WEIGHTS_MAX
8785                 {*r = _SC_COLL_WEIGHTS_MAX; return 0;}
8786 #else /* def _SC_COLL_WEIGHTS_MAX */
8787                 {errno = EINVAL; return -1;}
8788 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
8789         if (x == Mono_Posix_SysConf__SC_CPUTIME)
8790 #ifdef _SC_CPUTIME
8791                 {*r = _SC_CPUTIME; return 0;}
8792 #else /* def _SC_CPUTIME */
8793                 {errno = EINVAL; return -1;}
8794 #endif /* ndef _SC_CPUTIME */
8795         if (x == Mono_Posix_SysConf__SC_C_LANG_SUPPORT)
8796 #ifdef _SC_C_LANG_SUPPORT
8797                 {*r = _SC_C_LANG_SUPPORT; return 0;}
8798 #else /* def _SC_C_LANG_SUPPORT */
8799                 {errno = EINVAL; return -1;}
8800 #endif /* ndef _SC_C_LANG_SUPPORT */
8801         if (x == Mono_Posix_SysConf__SC_C_LANG_SUPPORT_R)
8802 #ifdef _SC_C_LANG_SUPPORT_R
8803                 {*r = _SC_C_LANG_SUPPORT_R; return 0;}
8804 #else /* def _SC_C_LANG_SUPPORT_R */
8805                 {errno = EINVAL; return -1;}
8806 #endif /* ndef _SC_C_LANG_SUPPORT_R */
8807         if (x == Mono_Posix_SysConf__SC_DELAYTIMER_MAX)
8808 #ifdef _SC_DELAYTIMER_MAX
8809                 {*r = _SC_DELAYTIMER_MAX; return 0;}
8810 #else /* def _SC_DELAYTIMER_MAX */
8811                 {errno = EINVAL; return -1;}
8812 #endif /* ndef _SC_DELAYTIMER_MAX */
8813         if (x == Mono_Posix_SysConf__SC_DEVICE_IO)
8814 #ifdef _SC_DEVICE_IO
8815                 {*r = _SC_DEVICE_IO; return 0;}
8816 #else /* def _SC_DEVICE_IO */
8817                 {errno = EINVAL; return -1;}
8818 #endif /* ndef _SC_DEVICE_IO */
8819         if (x == Mono_Posix_SysConf__SC_DEVICE_SPECIFIC)
8820 #ifdef _SC_DEVICE_SPECIFIC
8821                 {*r = _SC_DEVICE_SPECIFIC; return 0;}
8822 #else /* def _SC_DEVICE_SPECIFIC */
8823                 {errno = EINVAL; return -1;}
8824 #endif /* ndef _SC_DEVICE_SPECIFIC */
8825         if (x == Mono_Posix_SysConf__SC_DEVICE_SPECIFIC_R)
8826 #ifdef _SC_DEVICE_SPECIFIC_R
8827                 {*r = _SC_DEVICE_SPECIFIC_R; return 0;}
8828 #else /* def _SC_DEVICE_SPECIFIC_R */
8829                 {errno = EINVAL; return -1;}
8830 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
8831         if (x == Mono_Posix_SysConf__SC_EQUIV_CLASS_MAX)
8832 #ifdef _SC_EQUIV_CLASS_MAX
8833                 {*r = _SC_EQUIV_CLASS_MAX; return 0;}
8834 #else /* def _SC_EQUIV_CLASS_MAX */
8835                 {errno = EINVAL; return -1;}
8836 #endif /* ndef _SC_EQUIV_CLASS_MAX */
8837         if (x == Mono_Posix_SysConf__SC_EXPR_NEST_MAX)
8838 #ifdef _SC_EXPR_NEST_MAX
8839                 {*r = _SC_EXPR_NEST_MAX; return 0;}
8840 #else /* def _SC_EXPR_NEST_MAX */
8841                 {errno = EINVAL; return -1;}
8842 #endif /* ndef _SC_EXPR_NEST_MAX */
8843         if (x == Mono_Posix_SysConf__SC_FD_MGMT)
8844 #ifdef _SC_FD_MGMT
8845                 {*r = _SC_FD_MGMT; return 0;}
8846 #else /* def _SC_FD_MGMT */
8847                 {errno = EINVAL; return -1;}
8848 #endif /* ndef _SC_FD_MGMT */
8849         if (x == Mono_Posix_SysConf__SC_FIFO)
8850 #ifdef _SC_FIFO
8851                 {*r = _SC_FIFO; return 0;}
8852 #else /* def _SC_FIFO */
8853                 {errno = EINVAL; return -1;}
8854 #endif /* ndef _SC_FIFO */
8855         if (x == Mono_Posix_SysConf__SC_FILE_ATTRIBUTES)
8856 #ifdef _SC_FILE_ATTRIBUTES
8857                 {*r = _SC_FILE_ATTRIBUTES; return 0;}
8858 #else /* def _SC_FILE_ATTRIBUTES */
8859                 {errno = EINVAL; return -1;}
8860 #endif /* ndef _SC_FILE_ATTRIBUTES */
8861         if (x == Mono_Posix_SysConf__SC_FILE_LOCKING)
8862 #ifdef _SC_FILE_LOCKING
8863                 {*r = _SC_FILE_LOCKING; return 0;}
8864 #else /* def _SC_FILE_LOCKING */
8865                 {errno = EINVAL; return -1;}
8866 #endif /* ndef _SC_FILE_LOCKING */
8867         if (x == Mono_Posix_SysConf__SC_FILE_SYSTEM)
8868 #ifdef _SC_FILE_SYSTEM
8869                 {*r = _SC_FILE_SYSTEM; return 0;}
8870 #else /* def _SC_FILE_SYSTEM */
8871                 {errno = EINVAL; return -1;}
8872 #endif /* ndef _SC_FILE_SYSTEM */
8873         if (x == Mono_Posix_SysConf__SC_FSYNC)
8874 #ifdef _SC_FSYNC
8875                 {*r = _SC_FSYNC; return 0;}
8876 #else /* def _SC_FSYNC */
8877                 {errno = EINVAL; return -1;}
8878 #endif /* ndef _SC_FSYNC */
8879         if (x == Mono_Posix_SysConf__SC_GETGR_R_SIZE_MAX)
8880 #ifdef _SC_GETGR_R_SIZE_MAX
8881                 {*r = _SC_GETGR_R_SIZE_MAX; return 0;}
8882 #else /* def _SC_GETGR_R_SIZE_MAX */
8883                 {errno = EINVAL; return -1;}
8884 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
8885         if (x == Mono_Posix_SysConf__SC_GETPW_R_SIZE_MAX)
8886 #ifdef _SC_GETPW_R_SIZE_MAX
8887                 {*r = _SC_GETPW_R_SIZE_MAX; return 0;}
8888 #else /* def _SC_GETPW_R_SIZE_MAX */
8889                 {errno = EINVAL; return -1;}
8890 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
8891         if (x == Mono_Posix_SysConf__SC_HOST_NAME_MAX)
8892 #ifdef _SC_HOST_NAME_MAX
8893                 {*r = _SC_HOST_NAME_MAX; return 0;}
8894 #else /* def _SC_HOST_NAME_MAX */
8895                 {errno = EINVAL; return -1;}
8896 #endif /* ndef _SC_HOST_NAME_MAX */
8897         if (x == Mono_Posix_SysConf__SC_INT_MAX)
8898 #ifdef _SC_INT_MAX
8899                 {*r = _SC_INT_MAX; return 0;}
8900 #else /* def _SC_INT_MAX */
8901                 {errno = EINVAL; return -1;}
8902 #endif /* ndef _SC_INT_MAX */
8903         if (x == Mono_Posix_SysConf__SC_INT_MIN)
8904 #ifdef _SC_INT_MIN
8905                 {*r = _SC_INT_MIN; return 0;}
8906 #else /* def _SC_INT_MIN */
8907                 {errno = EINVAL; return -1;}
8908 #endif /* ndef _SC_INT_MIN */
8909         if (x == Mono_Posix_SysConf__SC_IOV_MAX)
8910 #ifdef _SC_IOV_MAX
8911                 {*r = _SC_IOV_MAX; return 0;}
8912 #else /* def _SC_IOV_MAX */
8913                 {errno = EINVAL; return -1;}
8914 #endif /* ndef _SC_IOV_MAX */
8915         if (x == Mono_Posix_SysConf__SC_JOB_CONTROL)
8916 #ifdef _SC_JOB_CONTROL
8917                 {*r = _SC_JOB_CONTROL; return 0;}
8918 #else /* def _SC_JOB_CONTROL */
8919                 {errno = EINVAL; return -1;}
8920 #endif /* ndef _SC_JOB_CONTROL */
8921         if (x == Mono_Posix_SysConf__SC_LEVEL1_DCACHE_ASSOC)
8922 #ifdef _SC_LEVEL1_DCACHE_ASSOC
8923                 {*r = _SC_LEVEL1_DCACHE_ASSOC; return 0;}
8924 #else /* def _SC_LEVEL1_DCACHE_ASSOC */
8925                 {errno = EINVAL; return -1;}
8926 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
8927         if (x == Mono_Posix_SysConf__SC_LEVEL1_DCACHE_LINESIZE)
8928 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
8929                 {*r = _SC_LEVEL1_DCACHE_LINESIZE; return 0;}
8930 #else /* def _SC_LEVEL1_DCACHE_LINESIZE */
8931                 {errno = EINVAL; return -1;}
8932 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
8933         if (x == Mono_Posix_SysConf__SC_LEVEL1_DCACHE_SIZE)
8934 #ifdef _SC_LEVEL1_DCACHE_SIZE
8935                 {*r = _SC_LEVEL1_DCACHE_SIZE; return 0;}
8936 #else /* def _SC_LEVEL1_DCACHE_SIZE */
8937                 {errno = EINVAL; return -1;}
8938 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
8939         if (x == Mono_Posix_SysConf__SC_LEVEL1_ICACHE_ASSOC)
8940 #ifdef _SC_LEVEL1_ICACHE_ASSOC
8941                 {*r = _SC_LEVEL1_ICACHE_ASSOC; return 0;}
8942 #else /* def _SC_LEVEL1_ICACHE_ASSOC */
8943                 {errno = EINVAL; return -1;}
8944 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
8945         if (x == Mono_Posix_SysConf__SC_LEVEL1_ICACHE_LINESIZE)
8946 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
8947                 {*r = _SC_LEVEL1_ICACHE_LINESIZE; return 0;}
8948 #else /* def _SC_LEVEL1_ICACHE_LINESIZE */
8949                 {errno = EINVAL; return -1;}
8950 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
8951         if (x == Mono_Posix_SysConf__SC_LEVEL1_ICACHE_SIZE)
8952 #ifdef _SC_LEVEL1_ICACHE_SIZE
8953                 {*r = _SC_LEVEL1_ICACHE_SIZE; return 0;}
8954 #else /* def _SC_LEVEL1_ICACHE_SIZE */
8955                 {errno = EINVAL; return -1;}
8956 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
8957         if (x == Mono_Posix_SysConf__SC_LEVEL2_CACHE_ASSOC)
8958 #ifdef _SC_LEVEL2_CACHE_ASSOC
8959                 {*r = _SC_LEVEL2_CACHE_ASSOC; return 0;}
8960 #else /* def _SC_LEVEL2_CACHE_ASSOC */
8961                 {errno = EINVAL; return -1;}
8962 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
8963         if (x == Mono_Posix_SysConf__SC_LEVEL2_CACHE_LINESIZE)
8964 #ifdef _SC_LEVEL2_CACHE_LINESIZE
8965                 {*r = _SC_LEVEL2_CACHE_LINESIZE; return 0;}
8966 #else /* def _SC_LEVEL2_CACHE_LINESIZE */
8967                 {errno = EINVAL; return -1;}
8968 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
8969         if (x == Mono_Posix_SysConf__SC_LEVEL2_CACHE_SIZE)
8970 #ifdef _SC_LEVEL2_CACHE_SIZE
8971                 {*r = _SC_LEVEL2_CACHE_SIZE; return 0;}
8972 #else /* def _SC_LEVEL2_CACHE_SIZE */
8973                 {errno = EINVAL; return -1;}
8974 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
8975         if (x == Mono_Posix_SysConf__SC_LEVEL3_CACHE_ASSOC)
8976 #ifdef _SC_LEVEL3_CACHE_ASSOC
8977                 {*r = _SC_LEVEL3_CACHE_ASSOC; return 0;}
8978 #else /* def _SC_LEVEL3_CACHE_ASSOC */
8979                 {errno = EINVAL; return -1;}
8980 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
8981         if (x == Mono_Posix_SysConf__SC_LEVEL3_CACHE_LINESIZE)
8982 #ifdef _SC_LEVEL3_CACHE_LINESIZE
8983                 {*r = _SC_LEVEL3_CACHE_LINESIZE; return 0;}
8984 #else /* def _SC_LEVEL3_CACHE_LINESIZE */
8985                 {errno = EINVAL; return -1;}
8986 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
8987         if (x == Mono_Posix_SysConf__SC_LEVEL3_CACHE_SIZE)
8988 #ifdef _SC_LEVEL3_CACHE_SIZE
8989                 {*r = _SC_LEVEL3_CACHE_SIZE; return 0;}
8990 #else /* def _SC_LEVEL3_CACHE_SIZE */
8991                 {errno = EINVAL; return -1;}
8992 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
8993         if (x == Mono_Posix_SysConf__SC_LEVEL4_CACHE_ASSOC)
8994 #ifdef _SC_LEVEL4_CACHE_ASSOC
8995                 {*r = _SC_LEVEL4_CACHE_ASSOC; return 0;}
8996 #else /* def _SC_LEVEL4_CACHE_ASSOC */
8997                 {errno = EINVAL; return -1;}
8998 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
8999         if (x == Mono_Posix_SysConf__SC_LEVEL4_CACHE_LINESIZE)
9000 #ifdef _SC_LEVEL4_CACHE_LINESIZE
9001                 {*r = _SC_LEVEL4_CACHE_LINESIZE; return 0;}
9002 #else /* def _SC_LEVEL4_CACHE_LINESIZE */
9003                 {errno = EINVAL; return -1;}
9004 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
9005         if (x == Mono_Posix_SysConf__SC_LEVEL4_CACHE_SIZE)
9006 #ifdef _SC_LEVEL4_CACHE_SIZE
9007                 {*r = _SC_LEVEL4_CACHE_SIZE; return 0;}
9008 #else /* def _SC_LEVEL4_CACHE_SIZE */
9009                 {errno = EINVAL; return -1;}
9010 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
9011         if (x == Mono_Posix_SysConf__SC_LINE_MAX)
9012 #ifdef _SC_LINE_MAX
9013                 {*r = _SC_LINE_MAX; return 0;}
9014 #else /* def _SC_LINE_MAX */
9015                 {errno = EINVAL; return -1;}
9016 #endif /* ndef _SC_LINE_MAX */
9017         if (x == Mono_Posix_SysConf__SC_LOGIN_NAME_MAX)
9018 #ifdef _SC_LOGIN_NAME_MAX
9019                 {*r = _SC_LOGIN_NAME_MAX; return 0;}
9020 #else /* def _SC_LOGIN_NAME_MAX */
9021                 {errno = EINVAL; return -1;}
9022 #endif /* ndef _SC_LOGIN_NAME_MAX */
9023         if (x == Mono_Posix_SysConf__SC_LONG_BIT)
9024 #ifdef _SC_LONG_BIT
9025                 {*r = _SC_LONG_BIT; return 0;}
9026 #else /* def _SC_LONG_BIT */
9027                 {errno = EINVAL; return -1;}
9028 #endif /* ndef _SC_LONG_BIT */
9029         if (x == Mono_Posix_SysConf__SC_MAPPED_FILES)
9030 #ifdef _SC_MAPPED_FILES
9031                 {*r = _SC_MAPPED_FILES; return 0;}
9032 #else /* def _SC_MAPPED_FILES */
9033                 {errno = EINVAL; return -1;}
9034 #endif /* ndef _SC_MAPPED_FILES */
9035         if (x == Mono_Posix_SysConf__SC_MB_LEN_MAX)
9036 #ifdef _SC_MB_LEN_MAX
9037                 {*r = _SC_MB_LEN_MAX; return 0;}
9038 #else /* def _SC_MB_LEN_MAX */
9039                 {errno = EINVAL; return -1;}
9040 #endif /* ndef _SC_MB_LEN_MAX */
9041         if (x == Mono_Posix_SysConf__SC_MEMLOCK)
9042 #ifdef _SC_MEMLOCK
9043                 {*r = _SC_MEMLOCK; return 0;}
9044 #else /* def _SC_MEMLOCK */
9045                 {errno = EINVAL; return -1;}
9046 #endif /* ndef _SC_MEMLOCK */
9047         if (x == Mono_Posix_SysConf__SC_MEMLOCK_RANGE)
9048 #ifdef _SC_MEMLOCK_RANGE
9049                 {*r = _SC_MEMLOCK_RANGE; return 0;}
9050 #else /* def _SC_MEMLOCK_RANGE */
9051                 {errno = EINVAL; return -1;}
9052 #endif /* ndef _SC_MEMLOCK_RANGE */
9053         if (x == Mono_Posix_SysConf__SC_MEMORY_PROTECTION)
9054 #ifdef _SC_MEMORY_PROTECTION
9055                 {*r = _SC_MEMORY_PROTECTION; return 0;}
9056 #else /* def _SC_MEMORY_PROTECTION */
9057                 {errno = EINVAL; return -1;}
9058 #endif /* ndef _SC_MEMORY_PROTECTION */
9059         if (x == Mono_Posix_SysConf__SC_MESSAGE_PASSING)
9060 #ifdef _SC_MESSAGE_PASSING
9061                 {*r = _SC_MESSAGE_PASSING; return 0;}
9062 #else /* def _SC_MESSAGE_PASSING */
9063                 {errno = EINVAL; return -1;}
9064 #endif /* ndef _SC_MESSAGE_PASSING */
9065         if (x == Mono_Posix_SysConf__SC_MONOTONIC_CLOCK)
9066 #ifdef _SC_MONOTONIC_CLOCK
9067                 {*r = _SC_MONOTONIC_CLOCK; return 0;}
9068 #else /* def _SC_MONOTONIC_CLOCK */
9069                 {errno = EINVAL; return -1;}
9070 #endif /* ndef _SC_MONOTONIC_CLOCK */
9071         if (x == Mono_Posix_SysConf__SC_MQ_OPEN_MAX)
9072 #ifdef _SC_MQ_OPEN_MAX
9073                 {*r = _SC_MQ_OPEN_MAX; return 0;}
9074 #else /* def _SC_MQ_OPEN_MAX */
9075                 {errno = EINVAL; return -1;}
9076 #endif /* ndef _SC_MQ_OPEN_MAX */
9077         if (x == Mono_Posix_SysConf__SC_MQ_PRIO_MAX)
9078 #ifdef _SC_MQ_PRIO_MAX
9079                 {*r = _SC_MQ_PRIO_MAX; return 0;}
9080 #else /* def _SC_MQ_PRIO_MAX */
9081                 {errno = EINVAL; return -1;}
9082 #endif /* ndef _SC_MQ_PRIO_MAX */
9083         if (x == Mono_Posix_SysConf__SC_MULTI_PROCESS)
9084 #ifdef _SC_MULTI_PROCESS
9085                 {*r = _SC_MULTI_PROCESS; return 0;}
9086 #else /* def _SC_MULTI_PROCESS */
9087                 {errno = EINVAL; return -1;}
9088 #endif /* ndef _SC_MULTI_PROCESS */
9089         if (x == Mono_Posix_SysConf__SC_NETWORKING)
9090 #ifdef _SC_NETWORKING
9091                 {*r = _SC_NETWORKING; return 0;}
9092 #else /* def _SC_NETWORKING */
9093                 {errno = EINVAL; return -1;}
9094 #endif /* ndef _SC_NETWORKING */
9095         if (x == Mono_Posix_SysConf__SC_NGROUPS_MAX)
9096 #ifdef _SC_NGROUPS_MAX
9097                 {*r = _SC_NGROUPS_MAX; return 0;}
9098 #else /* def _SC_NGROUPS_MAX */
9099                 {errno = EINVAL; return -1;}
9100 #endif /* ndef _SC_NGROUPS_MAX */
9101         if (x == Mono_Posix_SysConf__SC_NL_ARGMAX)
9102 #ifdef _SC_NL_ARGMAX
9103                 {*r = _SC_NL_ARGMAX; return 0;}
9104 #else /* def _SC_NL_ARGMAX */
9105                 {errno = EINVAL; return -1;}
9106 #endif /* ndef _SC_NL_ARGMAX */
9107         if (x == Mono_Posix_SysConf__SC_NL_LANGMAX)
9108 #ifdef _SC_NL_LANGMAX
9109                 {*r = _SC_NL_LANGMAX; return 0;}
9110 #else /* def _SC_NL_LANGMAX */
9111                 {errno = EINVAL; return -1;}
9112 #endif /* ndef _SC_NL_LANGMAX */
9113         if (x == Mono_Posix_SysConf__SC_NL_MSGMAX)
9114 #ifdef _SC_NL_MSGMAX
9115                 {*r = _SC_NL_MSGMAX; return 0;}
9116 #else /* def _SC_NL_MSGMAX */
9117                 {errno = EINVAL; return -1;}
9118 #endif /* ndef _SC_NL_MSGMAX */
9119         if (x == Mono_Posix_SysConf__SC_NL_NMAX)
9120 #ifdef _SC_NL_NMAX
9121                 {*r = _SC_NL_NMAX; return 0;}
9122 #else /* def _SC_NL_NMAX */
9123                 {errno = EINVAL; return -1;}
9124 #endif /* ndef _SC_NL_NMAX */
9125         if (x == Mono_Posix_SysConf__SC_NL_SETMAX)
9126 #ifdef _SC_NL_SETMAX
9127                 {*r = _SC_NL_SETMAX; return 0;}
9128 #else /* def _SC_NL_SETMAX */
9129                 {errno = EINVAL; return -1;}
9130 #endif /* ndef _SC_NL_SETMAX */
9131         if (x == Mono_Posix_SysConf__SC_NL_TEXTMAX)
9132 #ifdef _SC_NL_TEXTMAX
9133                 {*r = _SC_NL_TEXTMAX; return 0;}
9134 #else /* def _SC_NL_TEXTMAX */
9135                 {errno = EINVAL; return -1;}
9136 #endif /* ndef _SC_NL_TEXTMAX */
9137         if (x == Mono_Posix_SysConf__SC_NPROCESSORS_CONF)
9138 #ifdef _SC_NPROCESSORS_CONF
9139                 {*r = _SC_NPROCESSORS_CONF; return 0;}
9140 #else /* def _SC_NPROCESSORS_CONF */
9141                 {errno = EINVAL; return -1;}
9142 #endif /* ndef _SC_NPROCESSORS_CONF */
9143         if (x == Mono_Posix_SysConf__SC_NPROCESSORS_ONLN)
9144 #ifdef _SC_NPROCESSORS_ONLN
9145                 {*r = _SC_NPROCESSORS_ONLN; return 0;}
9146 #else /* def _SC_NPROCESSORS_ONLN */
9147                 {errno = EINVAL; return -1;}
9148 #endif /* ndef _SC_NPROCESSORS_ONLN */
9149         if (x == Mono_Posix_SysConf__SC_NZERO)
9150 #ifdef _SC_NZERO
9151                 {*r = _SC_NZERO; return 0;}
9152 #else /* def _SC_NZERO */
9153                 {errno = EINVAL; return -1;}
9154 #endif /* ndef _SC_NZERO */
9155         if (x == Mono_Posix_SysConf__SC_OPEN_MAX)
9156 #ifdef _SC_OPEN_MAX
9157                 {*r = _SC_OPEN_MAX; return 0;}
9158 #else /* def _SC_OPEN_MAX */
9159                 {errno = EINVAL; return -1;}
9160 #endif /* ndef _SC_OPEN_MAX */
9161         if (x == Mono_Posix_SysConf__SC_PAGESIZE)
9162 #ifdef _SC_PAGESIZE
9163                 {*r = _SC_PAGESIZE; return 0;}
9164 #else /* def _SC_PAGESIZE */
9165                 {errno = EINVAL; return -1;}
9166 #endif /* ndef _SC_PAGESIZE */
9167         if (x == Mono_Posix_SysConf__SC_PASS_MAX)
9168 #ifdef _SC_PASS_MAX
9169                 {*r = _SC_PASS_MAX; return 0;}
9170 #else /* def _SC_PASS_MAX */
9171                 {errno = EINVAL; return -1;}
9172 #endif /* ndef _SC_PASS_MAX */
9173         if (x == Mono_Posix_SysConf__SC_PHYS_PAGES)
9174 #ifdef _SC_PHYS_PAGES
9175                 {*r = _SC_PHYS_PAGES; return 0;}
9176 #else /* def _SC_PHYS_PAGES */
9177                 {errno = EINVAL; return -1;}
9178 #endif /* ndef _SC_PHYS_PAGES */
9179         if (x == Mono_Posix_SysConf__SC_PII)
9180 #ifdef _SC_PII
9181                 {*r = _SC_PII; return 0;}
9182 #else /* def _SC_PII */
9183                 {errno = EINVAL; return -1;}
9184 #endif /* ndef _SC_PII */
9185         if (x == Mono_Posix_SysConf__SC_PII_INTERNET)
9186 #ifdef _SC_PII_INTERNET
9187                 {*r = _SC_PII_INTERNET; return 0;}
9188 #else /* def _SC_PII_INTERNET */
9189                 {errno = EINVAL; return -1;}
9190 #endif /* ndef _SC_PII_INTERNET */
9191         if (x == Mono_Posix_SysConf__SC_PII_INTERNET_DGRAM)
9192 #ifdef _SC_PII_INTERNET_DGRAM
9193                 {*r = _SC_PII_INTERNET_DGRAM; return 0;}
9194 #else /* def _SC_PII_INTERNET_DGRAM */
9195                 {errno = EINVAL; return -1;}
9196 #endif /* ndef _SC_PII_INTERNET_DGRAM */
9197         if (x == Mono_Posix_SysConf__SC_PII_INTERNET_STREAM)
9198 #ifdef _SC_PII_INTERNET_STREAM
9199                 {*r = _SC_PII_INTERNET_STREAM; return 0;}
9200 #else /* def _SC_PII_INTERNET_STREAM */
9201                 {errno = EINVAL; return -1;}
9202 #endif /* ndef _SC_PII_INTERNET_STREAM */
9203         if (x == Mono_Posix_SysConf__SC_PII_OSI)
9204 #ifdef _SC_PII_OSI
9205                 {*r = _SC_PII_OSI; return 0;}
9206 #else /* def _SC_PII_OSI */
9207                 {errno = EINVAL; return -1;}
9208 #endif /* ndef _SC_PII_OSI */
9209         if (x == Mono_Posix_SysConf__SC_PII_OSI_CLTS)
9210 #ifdef _SC_PII_OSI_CLTS
9211                 {*r = _SC_PII_OSI_CLTS; return 0;}
9212 #else /* def _SC_PII_OSI_CLTS */
9213                 {errno = EINVAL; return -1;}
9214 #endif /* ndef _SC_PII_OSI_CLTS */
9215         if (x == Mono_Posix_SysConf__SC_PII_OSI_COTS)
9216 #ifdef _SC_PII_OSI_COTS
9217                 {*r = _SC_PII_OSI_COTS; return 0;}
9218 #else /* def _SC_PII_OSI_COTS */
9219                 {errno = EINVAL; return -1;}
9220 #endif /* ndef _SC_PII_OSI_COTS */
9221         if (x == Mono_Posix_SysConf__SC_PII_OSI_M)
9222 #ifdef _SC_PII_OSI_M
9223                 {*r = _SC_PII_OSI_M; return 0;}
9224 #else /* def _SC_PII_OSI_M */
9225                 {errno = EINVAL; return -1;}
9226 #endif /* ndef _SC_PII_OSI_M */
9227         if (x == Mono_Posix_SysConf__SC_PII_SOCKET)
9228 #ifdef _SC_PII_SOCKET
9229                 {*r = _SC_PII_SOCKET; return 0;}
9230 #else /* def _SC_PII_SOCKET */
9231                 {errno = EINVAL; return -1;}
9232 #endif /* ndef _SC_PII_SOCKET */
9233         if (x == Mono_Posix_SysConf__SC_PII_XTI)
9234 #ifdef _SC_PII_XTI
9235                 {*r = _SC_PII_XTI; return 0;}
9236 #else /* def _SC_PII_XTI */
9237                 {errno = EINVAL; return -1;}
9238 #endif /* ndef _SC_PII_XTI */
9239         if (x == Mono_Posix_SysConf__SC_PIPE)
9240 #ifdef _SC_PIPE
9241                 {*r = _SC_PIPE; return 0;}
9242 #else /* def _SC_PIPE */
9243                 {errno = EINVAL; return -1;}
9244 #endif /* ndef _SC_PIPE */
9245         if (x == Mono_Posix_SysConf__SC_POLL)
9246 #ifdef _SC_POLL
9247                 {*r = _SC_POLL; return 0;}
9248 #else /* def _SC_POLL */
9249                 {errno = EINVAL; return -1;}
9250 #endif /* ndef _SC_POLL */
9251         if (x == Mono_Posix_SysConf__SC_PRIORITIZED_IO)
9252 #ifdef _SC_PRIORITIZED_IO
9253                 {*r = _SC_PRIORITIZED_IO; return 0;}
9254 #else /* def _SC_PRIORITIZED_IO */
9255                 {errno = EINVAL; return -1;}
9256 #endif /* ndef _SC_PRIORITIZED_IO */
9257         if (x == Mono_Posix_SysConf__SC_PRIORITY_SCHEDULING)
9258 #ifdef _SC_PRIORITY_SCHEDULING
9259                 {*r = _SC_PRIORITY_SCHEDULING; return 0;}
9260 #else /* def _SC_PRIORITY_SCHEDULING */
9261                 {errno = EINVAL; return -1;}
9262 #endif /* ndef _SC_PRIORITY_SCHEDULING */
9263         if (x == Mono_Posix_SysConf__SC_READER_WRITER_LOCKS)
9264 #ifdef _SC_READER_WRITER_LOCKS
9265                 {*r = _SC_READER_WRITER_LOCKS; return 0;}
9266 #else /* def _SC_READER_WRITER_LOCKS */
9267                 {errno = EINVAL; return -1;}
9268 #endif /* ndef _SC_READER_WRITER_LOCKS */
9269         if (x == Mono_Posix_SysConf__SC_REALTIME_SIGNALS)
9270 #ifdef _SC_REALTIME_SIGNALS
9271                 {*r = _SC_REALTIME_SIGNALS; return 0;}
9272 #else /* def _SC_REALTIME_SIGNALS */
9273                 {errno = EINVAL; return -1;}
9274 #endif /* ndef _SC_REALTIME_SIGNALS */
9275         if (x == Mono_Posix_SysConf__SC_REGEXP)
9276 #ifdef _SC_REGEXP
9277                 {*r = _SC_REGEXP; return 0;}
9278 #else /* def _SC_REGEXP */
9279                 {errno = EINVAL; return -1;}
9280 #endif /* ndef _SC_REGEXP */
9281         if (x == Mono_Posix_SysConf__SC_REGEX_VERSION)
9282 #ifdef _SC_REGEX_VERSION
9283                 {*r = _SC_REGEX_VERSION; return 0;}
9284 #else /* def _SC_REGEX_VERSION */
9285                 {errno = EINVAL; return -1;}
9286 #endif /* ndef _SC_REGEX_VERSION */
9287         if (x == Mono_Posix_SysConf__SC_RE_DUP_MAX)
9288 #ifdef _SC_RE_DUP_MAX
9289                 {*r = _SC_RE_DUP_MAX; return 0;}
9290 #else /* def _SC_RE_DUP_MAX */
9291                 {errno = EINVAL; return -1;}
9292 #endif /* ndef _SC_RE_DUP_MAX */
9293         if (x == Mono_Posix_SysConf__SC_RTSIG_MAX)
9294 #ifdef _SC_RTSIG_MAX
9295                 {*r = _SC_RTSIG_MAX; return 0;}
9296 #else /* def _SC_RTSIG_MAX */
9297                 {errno = EINVAL; return -1;}
9298 #endif /* ndef _SC_RTSIG_MAX */
9299         if (x == Mono_Posix_SysConf__SC_SAVED_IDS)
9300 #ifdef _SC_SAVED_IDS
9301                 {*r = _SC_SAVED_IDS; return 0;}
9302 #else /* def _SC_SAVED_IDS */
9303                 {errno = EINVAL; return -1;}
9304 #endif /* ndef _SC_SAVED_IDS */
9305         if (x == Mono_Posix_SysConf__SC_SCHAR_MAX)
9306 #ifdef _SC_SCHAR_MAX
9307                 {*r = _SC_SCHAR_MAX; return 0;}
9308 #else /* def _SC_SCHAR_MAX */
9309                 {errno = EINVAL; return -1;}
9310 #endif /* ndef _SC_SCHAR_MAX */
9311         if (x == Mono_Posix_SysConf__SC_SCHAR_MIN)
9312 #ifdef _SC_SCHAR_MIN
9313                 {*r = _SC_SCHAR_MIN; return 0;}
9314 #else /* def _SC_SCHAR_MIN */
9315                 {errno = EINVAL; return -1;}
9316 #endif /* ndef _SC_SCHAR_MIN */
9317         if (x == Mono_Posix_SysConf__SC_SELECT)
9318 #ifdef _SC_SELECT
9319                 {*r = _SC_SELECT; return 0;}
9320 #else /* def _SC_SELECT */
9321                 {errno = EINVAL; return -1;}
9322 #endif /* ndef _SC_SELECT */
9323         if (x == Mono_Posix_SysConf__SC_SEMAPHORES)
9324 #ifdef _SC_SEMAPHORES
9325                 {*r = _SC_SEMAPHORES; return 0;}
9326 #else /* def _SC_SEMAPHORES */
9327                 {errno = EINVAL; return -1;}
9328 #endif /* ndef _SC_SEMAPHORES */
9329         if (x == Mono_Posix_SysConf__SC_SEM_NSEMS_MAX)
9330 #ifdef _SC_SEM_NSEMS_MAX
9331                 {*r = _SC_SEM_NSEMS_MAX; return 0;}
9332 #else /* def _SC_SEM_NSEMS_MAX */
9333                 {errno = EINVAL; return -1;}
9334 #endif /* ndef _SC_SEM_NSEMS_MAX */
9335         if (x == Mono_Posix_SysConf__SC_SEM_VALUE_MAX)
9336 #ifdef _SC_SEM_VALUE_MAX
9337                 {*r = _SC_SEM_VALUE_MAX; return 0;}
9338 #else /* def _SC_SEM_VALUE_MAX */
9339                 {errno = EINVAL; return -1;}
9340 #endif /* ndef _SC_SEM_VALUE_MAX */
9341         if (x == Mono_Posix_SysConf__SC_SHARED_MEMORY_OBJECTS)
9342 #ifdef _SC_SHARED_MEMORY_OBJECTS
9343                 {*r = _SC_SHARED_MEMORY_OBJECTS; return 0;}
9344 #else /* def _SC_SHARED_MEMORY_OBJECTS */
9345                 {errno = EINVAL; return -1;}
9346 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
9347         if (x == Mono_Posix_SysConf__SC_SHELL)
9348 #ifdef _SC_SHELL
9349                 {*r = _SC_SHELL; return 0;}
9350 #else /* def _SC_SHELL */
9351                 {errno = EINVAL; return -1;}
9352 #endif /* ndef _SC_SHELL */
9353         if (x == Mono_Posix_SysConf__SC_SHRT_MAX)
9354 #ifdef _SC_SHRT_MAX
9355                 {*r = _SC_SHRT_MAX; return 0;}
9356 #else /* def _SC_SHRT_MAX */
9357                 {errno = EINVAL; return -1;}
9358 #endif /* ndef _SC_SHRT_MAX */
9359         if (x == Mono_Posix_SysConf__SC_SHRT_MIN)
9360 #ifdef _SC_SHRT_MIN
9361                 {*r = _SC_SHRT_MIN; return 0;}
9362 #else /* def _SC_SHRT_MIN */
9363                 {errno = EINVAL; return -1;}
9364 #endif /* ndef _SC_SHRT_MIN */
9365         if (x == Mono_Posix_SysConf__SC_SIGNALS)
9366 #ifdef _SC_SIGNALS
9367                 {*r = _SC_SIGNALS; return 0;}
9368 #else /* def _SC_SIGNALS */
9369                 {errno = EINVAL; return -1;}
9370 #endif /* ndef _SC_SIGNALS */
9371         if (x == Mono_Posix_SysConf__SC_SIGQUEUE_MAX)
9372 #ifdef _SC_SIGQUEUE_MAX
9373                 {*r = _SC_SIGQUEUE_MAX; return 0;}
9374 #else /* def _SC_SIGQUEUE_MAX */
9375                 {errno = EINVAL; return -1;}
9376 #endif /* ndef _SC_SIGQUEUE_MAX */
9377         if (x == Mono_Posix_SysConf__SC_SINGLE_PROCESS)
9378 #ifdef _SC_SINGLE_PROCESS
9379                 {*r = _SC_SINGLE_PROCESS; return 0;}
9380 #else /* def _SC_SINGLE_PROCESS */
9381                 {errno = EINVAL; return -1;}
9382 #endif /* ndef _SC_SINGLE_PROCESS */
9383         if (x == Mono_Posix_SysConf__SC_SPAWN)
9384 #ifdef _SC_SPAWN
9385                 {*r = _SC_SPAWN; return 0;}
9386 #else /* def _SC_SPAWN */
9387                 {errno = EINVAL; return -1;}
9388 #endif /* ndef _SC_SPAWN */
9389         if (x == Mono_Posix_SysConf__SC_SPIN_LOCKS)
9390 #ifdef _SC_SPIN_LOCKS
9391                 {*r = _SC_SPIN_LOCKS; return 0;}
9392 #else /* def _SC_SPIN_LOCKS */
9393                 {errno = EINVAL; return -1;}
9394 #endif /* ndef _SC_SPIN_LOCKS */
9395         if (x == Mono_Posix_SysConf__SC_SPORADIC_SERVER)
9396 #ifdef _SC_SPORADIC_SERVER
9397                 {*r = _SC_SPORADIC_SERVER; return 0;}
9398 #else /* def _SC_SPORADIC_SERVER */
9399                 {errno = EINVAL; return -1;}
9400 #endif /* ndef _SC_SPORADIC_SERVER */
9401         if (x == Mono_Posix_SysConf__SC_SSIZE_MAX)
9402 #ifdef _SC_SSIZE_MAX
9403                 {*r = _SC_SSIZE_MAX; return 0;}
9404 #else /* def _SC_SSIZE_MAX */
9405                 {errno = EINVAL; return -1;}
9406 #endif /* ndef _SC_SSIZE_MAX */
9407         if (x == Mono_Posix_SysConf__SC_STREAMS)
9408 #ifdef _SC_STREAMS
9409                 {*r = _SC_STREAMS; return 0;}
9410 #else /* def _SC_STREAMS */
9411                 {errno = EINVAL; return -1;}
9412 #endif /* ndef _SC_STREAMS */
9413         if (x == Mono_Posix_SysConf__SC_STREAM_MAX)
9414 #ifdef _SC_STREAM_MAX
9415                 {*r = _SC_STREAM_MAX; return 0;}
9416 #else /* def _SC_STREAM_MAX */
9417                 {errno = EINVAL; return -1;}
9418 #endif /* ndef _SC_STREAM_MAX */
9419         if (x == Mono_Posix_SysConf__SC_SYMLOOP_MAX)
9420 #ifdef _SC_SYMLOOP_MAX
9421                 {*r = _SC_SYMLOOP_MAX; return 0;}
9422 #else /* def _SC_SYMLOOP_MAX */
9423                 {errno = EINVAL; return -1;}
9424 #endif /* ndef _SC_SYMLOOP_MAX */
9425         if (x == Mono_Posix_SysConf__SC_SYNCHRONIZED_IO)
9426 #ifdef _SC_SYNCHRONIZED_IO
9427                 {*r = _SC_SYNCHRONIZED_IO; return 0;}
9428 #else /* def _SC_SYNCHRONIZED_IO */
9429                 {errno = EINVAL; return -1;}
9430 #endif /* ndef _SC_SYNCHRONIZED_IO */
9431         if (x == Mono_Posix_SysConf__SC_SYSTEM_DATABASE)
9432 #ifdef _SC_SYSTEM_DATABASE
9433                 {*r = _SC_SYSTEM_DATABASE; return 0;}
9434 #else /* def _SC_SYSTEM_DATABASE */
9435                 {errno = EINVAL; return -1;}
9436 #endif /* ndef _SC_SYSTEM_DATABASE */
9437         if (x == Mono_Posix_SysConf__SC_SYSTEM_DATABASE_R)
9438 #ifdef _SC_SYSTEM_DATABASE_R
9439                 {*r = _SC_SYSTEM_DATABASE_R; return 0;}
9440 #else /* def _SC_SYSTEM_DATABASE_R */
9441                 {errno = EINVAL; return -1;}
9442 #endif /* ndef _SC_SYSTEM_DATABASE_R */
9443         if (x == Mono_Posix_SysConf__SC_THREADS)
9444 #ifdef _SC_THREADS
9445                 {*r = _SC_THREADS; return 0;}
9446 #else /* def _SC_THREADS */
9447                 {errno = EINVAL; return -1;}
9448 #endif /* ndef _SC_THREADS */
9449         if (x == Mono_Posix_SysConf__SC_THREAD_ATTR_STACKADDR)
9450 #ifdef _SC_THREAD_ATTR_STACKADDR
9451                 {*r = _SC_THREAD_ATTR_STACKADDR; return 0;}
9452 #else /* def _SC_THREAD_ATTR_STACKADDR */
9453                 {errno = EINVAL; return -1;}
9454 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
9455         if (x == Mono_Posix_SysConf__SC_THREAD_ATTR_STACKSIZE)
9456 #ifdef _SC_THREAD_ATTR_STACKSIZE
9457                 {*r = _SC_THREAD_ATTR_STACKSIZE; return 0;}
9458 #else /* def _SC_THREAD_ATTR_STACKSIZE */
9459                 {errno = EINVAL; return -1;}
9460 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
9461         if (x == Mono_Posix_SysConf__SC_THREAD_CPUTIME)
9462 #ifdef _SC_THREAD_CPUTIME
9463                 {*r = _SC_THREAD_CPUTIME; return 0;}
9464 #else /* def _SC_THREAD_CPUTIME */
9465                 {errno = EINVAL; return -1;}
9466 #endif /* ndef _SC_THREAD_CPUTIME */
9467         if (x == Mono_Posix_SysConf__SC_THREAD_DESTRUCTOR_ITERATIONS)
9468 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
9469                 {*r = _SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
9470 #else /* def _SC_THREAD_DESTRUCTOR_ITERATIONS */
9471                 {errno = EINVAL; return -1;}
9472 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
9473         if (x == Mono_Posix_SysConf__SC_THREAD_KEYS_MAX)
9474 #ifdef _SC_THREAD_KEYS_MAX
9475                 {*r = _SC_THREAD_KEYS_MAX; return 0;}
9476 #else /* def _SC_THREAD_KEYS_MAX */
9477                 {errno = EINVAL; return -1;}
9478 #endif /* ndef _SC_THREAD_KEYS_MAX */
9479         if (x == Mono_Posix_SysConf__SC_THREAD_PRIORITY_SCHEDULING)
9480 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
9481                 {*r = _SC_THREAD_PRIORITY_SCHEDULING; return 0;}
9482 #else /* def _SC_THREAD_PRIORITY_SCHEDULING */
9483                 {errno = EINVAL; return -1;}
9484 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
9485         if (x == Mono_Posix_SysConf__SC_THREAD_PRIO_INHERIT)
9486 #ifdef _SC_THREAD_PRIO_INHERIT
9487                 {*r = _SC_THREAD_PRIO_INHERIT; return 0;}
9488 #else /* def _SC_THREAD_PRIO_INHERIT */
9489                 {errno = EINVAL; return -1;}
9490 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
9491         if (x == Mono_Posix_SysConf__SC_THREAD_PRIO_PROTECT)
9492 #ifdef _SC_THREAD_PRIO_PROTECT
9493                 {*r = _SC_THREAD_PRIO_PROTECT; return 0;}
9494 #else /* def _SC_THREAD_PRIO_PROTECT */
9495                 {errno = EINVAL; return -1;}
9496 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
9497         if (x == Mono_Posix_SysConf__SC_THREAD_PROCESS_SHARED)
9498 #ifdef _SC_THREAD_PROCESS_SHARED
9499                 {*r = _SC_THREAD_PROCESS_SHARED; return 0;}
9500 #else /* def _SC_THREAD_PROCESS_SHARED */
9501                 {errno = EINVAL; return -1;}
9502 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
9503         if (x == Mono_Posix_SysConf__SC_THREAD_SAFE_FUNCTIONS)
9504 #ifdef _SC_THREAD_SAFE_FUNCTIONS
9505                 {*r = _SC_THREAD_SAFE_FUNCTIONS; return 0;}
9506 #else /* def _SC_THREAD_SAFE_FUNCTIONS */
9507                 {errno = EINVAL; return -1;}
9508 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
9509         if (x == Mono_Posix_SysConf__SC_THREAD_SPORADIC_SERVER)
9510 #ifdef _SC_THREAD_SPORADIC_SERVER
9511                 {*r = _SC_THREAD_SPORADIC_SERVER; return 0;}
9512 #else /* def _SC_THREAD_SPORADIC_SERVER */
9513                 {errno = EINVAL; return -1;}
9514 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
9515         if (x == Mono_Posix_SysConf__SC_THREAD_STACK_MIN)
9516 #ifdef _SC_THREAD_STACK_MIN
9517                 {*r = _SC_THREAD_STACK_MIN; return 0;}
9518 #else /* def _SC_THREAD_STACK_MIN */
9519                 {errno = EINVAL; return -1;}
9520 #endif /* ndef _SC_THREAD_STACK_MIN */
9521         if (x == Mono_Posix_SysConf__SC_THREAD_THREADS_MAX)
9522 #ifdef _SC_THREAD_THREADS_MAX
9523                 {*r = _SC_THREAD_THREADS_MAX; return 0;}
9524 #else /* def _SC_THREAD_THREADS_MAX */
9525                 {errno = EINVAL; return -1;}
9526 #endif /* ndef _SC_THREAD_THREADS_MAX */
9527         if (x == Mono_Posix_SysConf__SC_TIMEOUTS)
9528 #ifdef _SC_TIMEOUTS
9529                 {*r = _SC_TIMEOUTS; return 0;}
9530 #else /* def _SC_TIMEOUTS */
9531                 {errno = EINVAL; return -1;}
9532 #endif /* ndef _SC_TIMEOUTS */
9533         if (x == Mono_Posix_SysConf__SC_TIMERS)
9534 #ifdef _SC_TIMERS
9535                 {*r = _SC_TIMERS; return 0;}
9536 #else /* def _SC_TIMERS */
9537                 {errno = EINVAL; return -1;}
9538 #endif /* ndef _SC_TIMERS */
9539         if (x == Mono_Posix_SysConf__SC_TIMER_MAX)
9540 #ifdef _SC_TIMER_MAX
9541                 {*r = _SC_TIMER_MAX; return 0;}
9542 #else /* def _SC_TIMER_MAX */
9543                 {errno = EINVAL; return -1;}
9544 #endif /* ndef _SC_TIMER_MAX */
9545         if (x == Mono_Posix_SysConf__SC_TRACE)
9546 #ifdef _SC_TRACE
9547                 {*r = _SC_TRACE; return 0;}
9548 #else /* def _SC_TRACE */
9549                 {errno = EINVAL; return -1;}
9550 #endif /* ndef _SC_TRACE */
9551         if (x == Mono_Posix_SysConf__SC_TRACE_EVENT_FILTER)
9552 #ifdef _SC_TRACE_EVENT_FILTER
9553                 {*r = _SC_TRACE_EVENT_FILTER; return 0;}
9554 #else /* def _SC_TRACE_EVENT_FILTER */
9555                 {errno = EINVAL; return -1;}
9556 #endif /* ndef _SC_TRACE_EVENT_FILTER */
9557         if (x == Mono_Posix_SysConf__SC_TRACE_INHERIT)
9558 #ifdef _SC_TRACE_INHERIT
9559                 {*r = _SC_TRACE_INHERIT; return 0;}
9560 #else /* def _SC_TRACE_INHERIT */
9561                 {errno = EINVAL; return -1;}
9562 #endif /* ndef _SC_TRACE_INHERIT */
9563         if (x == Mono_Posix_SysConf__SC_TRACE_LOG)
9564 #ifdef _SC_TRACE_LOG
9565                 {*r = _SC_TRACE_LOG; return 0;}
9566 #else /* def _SC_TRACE_LOG */
9567                 {errno = EINVAL; return -1;}
9568 #endif /* ndef _SC_TRACE_LOG */
9569         if (x == Mono_Posix_SysConf__SC_TTY_NAME_MAX)
9570 #ifdef _SC_TTY_NAME_MAX
9571                 {*r = _SC_TTY_NAME_MAX; return 0;}
9572 #else /* def _SC_TTY_NAME_MAX */
9573                 {errno = EINVAL; return -1;}
9574 #endif /* ndef _SC_TTY_NAME_MAX */
9575         if (x == Mono_Posix_SysConf__SC_TYPED_MEMORY_OBJECTS)
9576 #ifdef _SC_TYPED_MEMORY_OBJECTS
9577                 {*r = _SC_TYPED_MEMORY_OBJECTS; return 0;}
9578 #else /* def _SC_TYPED_MEMORY_OBJECTS */
9579                 {errno = EINVAL; return -1;}
9580 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
9581         if (x == Mono_Posix_SysConf__SC_TZNAME_MAX)
9582 #ifdef _SC_TZNAME_MAX
9583                 {*r = _SC_TZNAME_MAX; return 0;}
9584 #else /* def _SC_TZNAME_MAX */
9585                 {errno = EINVAL; return -1;}
9586 #endif /* ndef _SC_TZNAME_MAX */
9587         if (x == Mono_Posix_SysConf__SC_T_IOV_MAX)
9588 #ifdef _SC_T_IOV_MAX
9589                 {*r = _SC_T_IOV_MAX; return 0;}
9590 #else /* def _SC_T_IOV_MAX */
9591                 {errno = EINVAL; return -1;}
9592 #endif /* ndef _SC_T_IOV_MAX */
9593         if (x == Mono_Posix_SysConf__SC_UCHAR_MAX)
9594 #ifdef _SC_UCHAR_MAX
9595                 {*r = _SC_UCHAR_MAX; return 0;}
9596 #else /* def _SC_UCHAR_MAX */
9597                 {errno = EINVAL; return -1;}
9598 #endif /* ndef _SC_UCHAR_MAX */
9599         if (x == Mono_Posix_SysConf__SC_UINT_MAX)
9600 #ifdef _SC_UINT_MAX
9601                 {*r = _SC_UINT_MAX; return 0;}
9602 #else /* def _SC_UINT_MAX */
9603                 {errno = EINVAL; return -1;}
9604 #endif /* ndef _SC_UINT_MAX */
9605         if (x == Mono_Posix_SysConf__SC_UIO_MAXIOV)
9606 #ifdef _SC_UIO_MAXIOV
9607                 {*r = _SC_UIO_MAXIOV; return 0;}
9608 #else /* def _SC_UIO_MAXIOV */
9609                 {errno = EINVAL; return -1;}
9610 #endif /* ndef _SC_UIO_MAXIOV */
9611         if (x == Mono_Posix_SysConf__SC_ULONG_MAX)
9612 #ifdef _SC_ULONG_MAX
9613                 {*r = _SC_ULONG_MAX; return 0;}
9614 #else /* def _SC_ULONG_MAX */
9615                 {errno = EINVAL; return -1;}
9616 #endif /* ndef _SC_ULONG_MAX */
9617         if (x == Mono_Posix_SysConf__SC_USER_GROUPS)
9618 #ifdef _SC_USER_GROUPS
9619                 {*r = _SC_USER_GROUPS; return 0;}
9620 #else /* def _SC_USER_GROUPS */
9621                 {errno = EINVAL; return -1;}
9622 #endif /* ndef _SC_USER_GROUPS */
9623         if (x == Mono_Posix_SysConf__SC_USER_GROUPS_R)
9624 #ifdef _SC_USER_GROUPS_R
9625                 {*r = _SC_USER_GROUPS_R; return 0;}
9626 #else /* def _SC_USER_GROUPS_R */
9627                 {errno = EINVAL; return -1;}
9628 #endif /* ndef _SC_USER_GROUPS_R */
9629         if (x == Mono_Posix_SysConf__SC_USHRT_MAX)
9630 #ifdef _SC_USHRT_MAX
9631                 {*r = _SC_USHRT_MAX; return 0;}
9632 #else /* def _SC_USHRT_MAX */
9633                 {errno = EINVAL; return -1;}
9634 #endif /* ndef _SC_USHRT_MAX */
9635         if (x == Mono_Posix_SysConf__SC_V6_ILP32_OFF32)
9636 #ifdef _SC_V6_ILP32_OFF32
9637                 {*r = _SC_V6_ILP32_OFF32; return 0;}
9638 #else /* def _SC_V6_ILP32_OFF32 */
9639                 {errno = EINVAL; return -1;}
9640 #endif /* ndef _SC_V6_ILP32_OFF32 */
9641         if (x == Mono_Posix_SysConf__SC_V6_ILP32_OFFBIG)
9642 #ifdef _SC_V6_ILP32_OFFBIG
9643                 {*r = _SC_V6_ILP32_OFFBIG; return 0;}
9644 #else /* def _SC_V6_ILP32_OFFBIG */
9645                 {errno = EINVAL; return -1;}
9646 #endif /* ndef _SC_V6_ILP32_OFFBIG */
9647         if (x == Mono_Posix_SysConf__SC_V6_LP64_OFF64)
9648 #ifdef _SC_V6_LP64_OFF64
9649                 {*r = _SC_V6_LP64_OFF64; return 0;}
9650 #else /* def _SC_V6_LP64_OFF64 */
9651                 {errno = EINVAL; return -1;}
9652 #endif /* ndef _SC_V6_LP64_OFF64 */
9653         if (x == Mono_Posix_SysConf__SC_V6_LPBIG_OFFBIG)
9654 #ifdef _SC_V6_LPBIG_OFFBIG
9655                 {*r = _SC_V6_LPBIG_OFFBIG; return 0;}
9656 #else /* def _SC_V6_LPBIG_OFFBIG */
9657                 {errno = EINVAL; return -1;}
9658 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
9659         if (x == Mono_Posix_SysConf__SC_VERSION)
9660 #ifdef _SC_VERSION
9661                 {*r = _SC_VERSION; return 0;}
9662 #else /* def _SC_VERSION */
9663                 {errno = EINVAL; return -1;}
9664 #endif /* ndef _SC_VERSION */
9665         if (x == Mono_Posix_SysConf__SC_WORD_BIT)
9666 #ifdef _SC_WORD_BIT
9667                 {*r = _SC_WORD_BIT; return 0;}
9668 #else /* def _SC_WORD_BIT */
9669                 {errno = EINVAL; return -1;}
9670 #endif /* ndef _SC_WORD_BIT */
9671         if (x == Mono_Posix_SysConf__SC_XBS5_ILP32_OFF32)
9672 #ifdef _SC_XBS5_ILP32_OFF32
9673                 {*r = _SC_XBS5_ILP32_OFF32; return 0;}
9674 #else /* def _SC_XBS5_ILP32_OFF32 */
9675                 {errno = EINVAL; return -1;}
9676 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
9677         if (x == Mono_Posix_SysConf__SC_XBS5_ILP32_OFFBIG)
9678 #ifdef _SC_XBS5_ILP32_OFFBIG
9679                 {*r = _SC_XBS5_ILP32_OFFBIG; return 0;}
9680 #else /* def _SC_XBS5_ILP32_OFFBIG */
9681                 {errno = EINVAL; return -1;}
9682 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
9683         if (x == Mono_Posix_SysConf__SC_XBS5_LP64_OFF64)
9684 #ifdef _SC_XBS5_LP64_OFF64
9685                 {*r = _SC_XBS5_LP64_OFF64; return 0;}
9686 #else /* def _SC_XBS5_LP64_OFF64 */
9687                 {errno = EINVAL; return -1;}
9688 #endif /* ndef _SC_XBS5_LP64_OFF64 */
9689         if (x == Mono_Posix_SysConf__SC_XBS5_LPBIG_OFFBIG)
9690 #ifdef _SC_XBS5_LPBIG_OFFBIG
9691                 {*r = _SC_XBS5_LPBIG_OFFBIG; return 0;}
9692 #else /* def _SC_XBS5_LPBIG_OFFBIG */
9693                 {errno = EINVAL; return -1;}
9694 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
9695         if (x == Mono_Posix_SysConf__SC_XOPEN_CRYPT)
9696 #ifdef _SC_XOPEN_CRYPT
9697                 {*r = _SC_XOPEN_CRYPT; return 0;}
9698 #else /* def _SC_XOPEN_CRYPT */
9699                 {errno = EINVAL; return -1;}
9700 #endif /* ndef _SC_XOPEN_CRYPT */
9701         if (x == Mono_Posix_SysConf__SC_XOPEN_ENH_I18N)
9702 #ifdef _SC_XOPEN_ENH_I18N
9703                 {*r = _SC_XOPEN_ENH_I18N; return 0;}
9704 #else /* def _SC_XOPEN_ENH_I18N */
9705                 {errno = EINVAL; return -1;}
9706 #endif /* ndef _SC_XOPEN_ENH_I18N */
9707         if (x == Mono_Posix_SysConf__SC_XOPEN_LEGACY)
9708 #ifdef _SC_XOPEN_LEGACY
9709                 {*r = _SC_XOPEN_LEGACY; return 0;}
9710 #else /* def _SC_XOPEN_LEGACY */
9711                 {errno = EINVAL; return -1;}
9712 #endif /* ndef _SC_XOPEN_LEGACY */
9713         if (x == Mono_Posix_SysConf__SC_XOPEN_REALTIME)
9714 #ifdef _SC_XOPEN_REALTIME
9715                 {*r = _SC_XOPEN_REALTIME; return 0;}
9716 #else /* def _SC_XOPEN_REALTIME */
9717                 {errno = EINVAL; return -1;}
9718 #endif /* ndef _SC_XOPEN_REALTIME */
9719         if (x == Mono_Posix_SysConf__SC_XOPEN_REALTIME_THREADS)
9720 #ifdef _SC_XOPEN_REALTIME_THREADS
9721                 {*r = _SC_XOPEN_REALTIME_THREADS; return 0;}
9722 #else /* def _SC_XOPEN_REALTIME_THREADS */
9723                 {errno = EINVAL; return -1;}
9724 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
9725         if (x == Mono_Posix_SysConf__SC_XOPEN_SHM)
9726 #ifdef _SC_XOPEN_SHM
9727                 {*r = _SC_XOPEN_SHM; return 0;}
9728 #else /* def _SC_XOPEN_SHM */
9729                 {errno = EINVAL; return -1;}
9730 #endif /* ndef _SC_XOPEN_SHM */
9731         if (x == Mono_Posix_SysConf__SC_XOPEN_UNIX)
9732 #ifdef _SC_XOPEN_UNIX
9733                 {*r = _SC_XOPEN_UNIX; return 0;}
9734 #else /* def _SC_XOPEN_UNIX */
9735                 {errno = EINVAL; return -1;}
9736 #endif /* ndef _SC_XOPEN_UNIX */
9737         if (x == Mono_Posix_SysConf__SC_XOPEN_VERSION)
9738 #ifdef _SC_XOPEN_VERSION
9739                 {*r = _SC_XOPEN_VERSION; return 0;}
9740 #else /* def _SC_XOPEN_VERSION */
9741                 {errno = EINVAL; return -1;}
9742 #endif /* ndef _SC_XOPEN_VERSION */
9743         if (x == Mono_Posix_SysConf__SC_XOPEN_XCU_VERSION)
9744 #ifdef _SC_XOPEN_XCU_VERSION
9745                 {*r = _SC_XOPEN_XCU_VERSION; return 0;}
9746 #else /* def _SC_XOPEN_XCU_VERSION */
9747                 {errno = EINVAL; return -1;}
9748 #endif /* ndef _SC_XOPEN_XCU_VERSION */
9749         if (x == Mono_Posix_SysConf__SC_XOPEN_XPG2)
9750 #ifdef _SC_XOPEN_XPG2
9751                 {*r = _SC_XOPEN_XPG2; return 0;}
9752 #else /* def _SC_XOPEN_XPG2 */
9753                 {errno = EINVAL; return -1;}
9754 #endif /* ndef _SC_XOPEN_XPG2 */
9755         if (x == Mono_Posix_SysConf__SC_XOPEN_XPG3)
9756 #ifdef _SC_XOPEN_XPG3
9757                 {*r = _SC_XOPEN_XPG3; return 0;}
9758 #else /* def _SC_XOPEN_XPG3 */
9759                 {errno = EINVAL; return -1;}
9760 #endif /* ndef _SC_XOPEN_XPG3 */
9761         if (x == Mono_Posix_SysConf__SC_XOPEN_XPG4)
9762 #ifdef _SC_XOPEN_XPG4
9763                 {*r = _SC_XOPEN_XPG4; return 0;}
9764 #else /* def _SC_XOPEN_XPG4 */
9765                 {errno = EINVAL; return -1;}
9766 #endif /* ndef _SC_XOPEN_XPG4 */
9767         errno = EINVAL; return -1;
9768 }
9769
9770 int Mono_Posix_ToSysConf (int x, int *r)
9771 {
9772         *r = 0;
9773         if (x == 0)
9774                 return 0;
9775 #ifdef _SC_2_CHAR_TERM
9776         if (x == _SC_2_CHAR_TERM)
9777                 {*r = Mono_Posix_SysConf__SC_2_CHAR_TERM; return 0;}
9778 #endif /* ndef _SC_2_CHAR_TERM */
9779 #ifdef _SC_2_C_BIND
9780         if (x == _SC_2_C_BIND)
9781                 {*r = Mono_Posix_SysConf__SC_2_C_BIND; return 0;}
9782 #endif /* ndef _SC_2_C_BIND */
9783 #ifdef _SC_2_C_DEV
9784         if (x == _SC_2_C_DEV)
9785                 {*r = Mono_Posix_SysConf__SC_2_C_DEV; return 0;}
9786 #endif /* ndef _SC_2_C_DEV */
9787 #ifdef _SC_2_C_VERSION
9788         if (x == _SC_2_C_VERSION)
9789                 {*r = Mono_Posix_SysConf__SC_2_C_VERSION; return 0;}
9790 #endif /* ndef _SC_2_C_VERSION */
9791 #ifdef _SC_2_FORT_DEV
9792         if (x == _SC_2_FORT_DEV)
9793                 {*r = Mono_Posix_SysConf__SC_2_FORT_DEV; return 0;}
9794 #endif /* ndef _SC_2_FORT_DEV */
9795 #ifdef _SC_2_FORT_RUN
9796         if (x == _SC_2_FORT_RUN)
9797                 {*r = Mono_Posix_SysConf__SC_2_FORT_RUN; return 0;}
9798 #endif /* ndef _SC_2_FORT_RUN */
9799 #ifdef _SC_2_LOCALEDEF
9800         if (x == _SC_2_LOCALEDEF)
9801                 {*r = Mono_Posix_SysConf__SC_2_LOCALEDEF; return 0;}
9802 #endif /* ndef _SC_2_LOCALEDEF */
9803 #ifdef _SC_2_PBS
9804         if (x == _SC_2_PBS)
9805                 {*r = Mono_Posix_SysConf__SC_2_PBS; return 0;}
9806 #endif /* ndef _SC_2_PBS */
9807 #ifdef _SC_2_PBS_ACCOUNTING
9808         if (x == _SC_2_PBS_ACCOUNTING)
9809                 {*r = Mono_Posix_SysConf__SC_2_PBS_ACCOUNTING; return 0;}
9810 #endif /* ndef _SC_2_PBS_ACCOUNTING */
9811 #ifdef _SC_2_PBS_CHECKPOINT
9812         if (x == _SC_2_PBS_CHECKPOINT)
9813                 {*r = Mono_Posix_SysConf__SC_2_PBS_CHECKPOINT; return 0;}
9814 #endif /* ndef _SC_2_PBS_CHECKPOINT */
9815 #ifdef _SC_2_PBS_LOCATE
9816         if (x == _SC_2_PBS_LOCATE)
9817                 {*r = Mono_Posix_SysConf__SC_2_PBS_LOCATE; return 0;}
9818 #endif /* ndef _SC_2_PBS_LOCATE */
9819 #ifdef _SC_2_PBS_MESSAGE
9820         if (x == _SC_2_PBS_MESSAGE)
9821                 {*r = Mono_Posix_SysConf__SC_2_PBS_MESSAGE; return 0;}
9822 #endif /* ndef _SC_2_PBS_MESSAGE */
9823 #ifdef _SC_2_PBS_TRACK
9824         if (x == _SC_2_PBS_TRACK)
9825                 {*r = Mono_Posix_SysConf__SC_2_PBS_TRACK; return 0;}
9826 #endif /* ndef _SC_2_PBS_TRACK */
9827 #ifdef _SC_2_SW_DEV
9828         if (x == _SC_2_SW_DEV)
9829                 {*r = Mono_Posix_SysConf__SC_2_SW_DEV; return 0;}
9830 #endif /* ndef _SC_2_SW_DEV */
9831 #ifdef _SC_2_UPE
9832         if (x == _SC_2_UPE)
9833                 {*r = Mono_Posix_SysConf__SC_2_UPE; return 0;}
9834 #endif /* ndef _SC_2_UPE */
9835 #ifdef _SC_2_VERSION
9836         if (x == _SC_2_VERSION)
9837                 {*r = Mono_Posix_SysConf__SC_2_VERSION; return 0;}
9838 #endif /* ndef _SC_2_VERSION */
9839 #ifdef _SC_ADVISORY_INFO
9840         if (x == _SC_ADVISORY_INFO)
9841                 {*r = Mono_Posix_SysConf__SC_ADVISORY_INFO; return 0;}
9842 #endif /* ndef _SC_ADVISORY_INFO */
9843 #ifdef _SC_AIO_LISTIO_MAX
9844         if (x == _SC_AIO_LISTIO_MAX)
9845                 {*r = Mono_Posix_SysConf__SC_AIO_LISTIO_MAX; return 0;}
9846 #endif /* ndef _SC_AIO_LISTIO_MAX */
9847 #ifdef _SC_AIO_MAX
9848         if (x == _SC_AIO_MAX)
9849                 {*r = Mono_Posix_SysConf__SC_AIO_MAX; return 0;}
9850 #endif /* ndef _SC_AIO_MAX */
9851 #ifdef _SC_AIO_PRIO_DELTA_MAX
9852         if (x == _SC_AIO_PRIO_DELTA_MAX)
9853                 {*r = Mono_Posix_SysConf__SC_AIO_PRIO_DELTA_MAX; return 0;}
9854 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
9855 #ifdef _SC_ARG_MAX
9856         if (x == _SC_ARG_MAX)
9857                 {*r = Mono_Posix_SysConf__SC_ARG_MAX; return 0;}
9858 #endif /* ndef _SC_ARG_MAX */
9859 #ifdef _SC_ASYNCHRONOUS_IO
9860         if (x == _SC_ASYNCHRONOUS_IO)
9861                 {*r = Mono_Posix_SysConf__SC_ASYNCHRONOUS_IO; return 0;}
9862 #endif /* ndef _SC_ASYNCHRONOUS_IO */
9863 #ifdef _SC_ATEXIT_MAX
9864         if (x == _SC_ATEXIT_MAX)
9865                 {*r = Mono_Posix_SysConf__SC_ATEXIT_MAX; return 0;}
9866 #endif /* ndef _SC_ATEXIT_MAX */
9867 #ifdef _SC_AVPHYS_PAGES
9868         if (x == _SC_AVPHYS_PAGES)
9869                 {*r = Mono_Posix_SysConf__SC_AVPHYS_PAGES; return 0;}
9870 #endif /* ndef _SC_AVPHYS_PAGES */
9871 #ifdef _SC_BARRIERS
9872         if (x == _SC_BARRIERS)
9873                 {*r = Mono_Posix_SysConf__SC_BARRIERS; return 0;}
9874 #endif /* ndef _SC_BARRIERS */
9875 #ifdef _SC_BASE
9876         if (x == _SC_BASE)
9877                 {*r = Mono_Posix_SysConf__SC_BASE; return 0;}
9878 #endif /* ndef _SC_BASE */
9879 #ifdef _SC_BC_BASE_MAX
9880         if (x == _SC_BC_BASE_MAX)
9881                 {*r = Mono_Posix_SysConf__SC_BC_BASE_MAX; return 0;}
9882 #endif /* ndef _SC_BC_BASE_MAX */
9883 #ifdef _SC_BC_DIM_MAX
9884         if (x == _SC_BC_DIM_MAX)
9885                 {*r = Mono_Posix_SysConf__SC_BC_DIM_MAX; return 0;}
9886 #endif /* ndef _SC_BC_DIM_MAX */
9887 #ifdef _SC_BC_SCALE_MAX
9888         if (x == _SC_BC_SCALE_MAX)
9889                 {*r = Mono_Posix_SysConf__SC_BC_SCALE_MAX; return 0;}
9890 #endif /* ndef _SC_BC_SCALE_MAX */
9891 #ifdef _SC_BC_STRING_MAX
9892         if (x == _SC_BC_STRING_MAX)
9893                 {*r = Mono_Posix_SysConf__SC_BC_STRING_MAX; return 0;}
9894 #endif /* ndef _SC_BC_STRING_MAX */
9895 #ifdef _SC_CHARCLASS_NAME_MAX
9896         if (x == _SC_CHARCLASS_NAME_MAX)
9897                 {*r = Mono_Posix_SysConf__SC_CHARCLASS_NAME_MAX; return 0;}
9898 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
9899 #ifdef _SC_CHAR_BIT
9900         if (x == _SC_CHAR_BIT)
9901                 {*r = Mono_Posix_SysConf__SC_CHAR_BIT; return 0;}
9902 #endif /* ndef _SC_CHAR_BIT */
9903 #ifdef _SC_CHAR_MAX
9904         if (x == _SC_CHAR_MAX)
9905                 {*r = Mono_Posix_SysConf__SC_CHAR_MAX; return 0;}
9906 #endif /* ndef _SC_CHAR_MAX */
9907 #ifdef _SC_CHAR_MIN
9908         if (x == _SC_CHAR_MIN)
9909                 {*r = Mono_Posix_SysConf__SC_CHAR_MIN; return 0;}
9910 #endif /* ndef _SC_CHAR_MIN */
9911 #ifdef _SC_CHILD_MAX
9912         if (x == _SC_CHILD_MAX)
9913                 {*r = Mono_Posix_SysConf__SC_CHILD_MAX; return 0;}
9914 #endif /* ndef _SC_CHILD_MAX */
9915 #ifdef _SC_CLK_TCK
9916         if (x == _SC_CLK_TCK)
9917                 {*r = Mono_Posix_SysConf__SC_CLK_TCK; return 0;}
9918 #endif /* ndef _SC_CLK_TCK */
9919 #ifdef _SC_CLOCK_SELECTION
9920         if (x == _SC_CLOCK_SELECTION)
9921                 {*r = Mono_Posix_SysConf__SC_CLOCK_SELECTION; return 0;}
9922 #endif /* ndef _SC_CLOCK_SELECTION */
9923 #ifdef _SC_COLL_WEIGHTS_MAX
9924         if (x == _SC_COLL_WEIGHTS_MAX)
9925                 {*r = Mono_Posix_SysConf__SC_COLL_WEIGHTS_MAX; return 0;}
9926 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
9927 #ifdef _SC_CPUTIME
9928         if (x == _SC_CPUTIME)
9929                 {*r = Mono_Posix_SysConf__SC_CPUTIME; return 0;}
9930 #endif /* ndef _SC_CPUTIME */
9931 #ifdef _SC_C_LANG_SUPPORT
9932         if (x == _SC_C_LANG_SUPPORT)
9933                 {*r = Mono_Posix_SysConf__SC_C_LANG_SUPPORT; return 0;}
9934 #endif /* ndef _SC_C_LANG_SUPPORT */
9935 #ifdef _SC_C_LANG_SUPPORT_R
9936         if (x == _SC_C_LANG_SUPPORT_R)
9937                 {*r = Mono_Posix_SysConf__SC_C_LANG_SUPPORT_R; return 0;}
9938 #endif /* ndef _SC_C_LANG_SUPPORT_R */
9939 #ifdef _SC_DELAYTIMER_MAX
9940         if (x == _SC_DELAYTIMER_MAX)
9941                 {*r = Mono_Posix_SysConf__SC_DELAYTIMER_MAX; return 0;}
9942 #endif /* ndef _SC_DELAYTIMER_MAX */
9943 #ifdef _SC_DEVICE_IO
9944         if (x == _SC_DEVICE_IO)
9945                 {*r = Mono_Posix_SysConf__SC_DEVICE_IO; return 0;}
9946 #endif /* ndef _SC_DEVICE_IO */
9947 #ifdef _SC_DEVICE_SPECIFIC
9948         if (x == _SC_DEVICE_SPECIFIC)
9949                 {*r = Mono_Posix_SysConf__SC_DEVICE_SPECIFIC; return 0;}
9950 #endif /* ndef _SC_DEVICE_SPECIFIC */
9951 #ifdef _SC_DEVICE_SPECIFIC_R
9952         if (x == _SC_DEVICE_SPECIFIC_R)
9953                 {*r = Mono_Posix_SysConf__SC_DEVICE_SPECIFIC_R; return 0;}
9954 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
9955 #ifdef _SC_EQUIV_CLASS_MAX
9956         if (x == _SC_EQUIV_CLASS_MAX)
9957                 {*r = Mono_Posix_SysConf__SC_EQUIV_CLASS_MAX; return 0;}
9958 #endif /* ndef _SC_EQUIV_CLASS_MAX */
9959 #ifdef _SC_EXPR_NEST_MAX
9960         if (x == _SC_EXPR_NEST_MAX)
9961                 {*r = Mono_Posix_SysConf__SC_EXPR_NEST_MAX; return 0;}
9962 #endif /* ndef _SC_EXPR_NEST_MAX */
9963 #ifdef _SC_FD_MGMT
9964         if (x == _SC_FD_MGMT)
9965                 {*r = Mono_Posix_SysConf__SC_FD_MGMT; return 0;}
9966 #endif /* ndef _SC_FD_MGMT */
9967 #ifdef _SC_FIFO
9968         if (x == _SC_FIFO)
9969                 {*r = Mono_Posix_SysConf__SC_FIFO; return 0;}
9970 #endif /* ndef _SC_FIFO */
9971 #ifdef _SC_FILE_ATTRIBUTES
9972         if (x == _SC_FILE_ATTRIBUTES)
9973                 {*r = Mono_Posix_SysConf__SC_FILE_ATTRIBUTES; return 0;}
9974 #endif /* ndef _SC_FILE_ATTRIBUTES */
9975 #ifdef _SC_FILE_LOCKING
9976         if (x == _SC_FILE_LOCKING)
9977                 {*r = Mono_Posix_SysConf__SC_FILE_LOCKING; return 0;}
9978 #endif /* ndef _SC_FILE_LOCKING */
9979 #ifdef _SC_FILE_SYSTEM
9980         if (x == _SC_FILE_SYSTEM)
9981                 {*r = Mono_Posix_SysConf__SC_FILE_SYSTEM; return 0;}
9982 #endif /* ndef _SC_FILE_SYSTEM */
9983 #ifdef _SC_FSYNC
9984         if (x == _SC_FSYNC)
9985                 {*r = Mono_Posix_SysConf__SC_FSYNC; return 0;}
9986 #endif /* ndef _SC_FSYNC */
9987 #ifdef _SC_GETGR_R_SIZE_MAX
9988         if (x == _SC_GETGR_R_SIZE_MAX)
9989                 {*r = Mono_Posix_SysConf__SC_GETGR_R_SIZE_MAX; return 0;}
9990 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
9991 #ifdef _SC_GETPW_R_SIZE_MAX
9992         if (x == _SC_GETPW_R_SIZE_MAX)
9993                 {*r = Mono_Posix_SysConf__SC_GETPW_R_SIZE_MAX; return 0;}
9994 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
9995 #ifdef _SC_HOST_NAME_MAX
9996         if (x == _SC_HOST_NAME_MAX)
9997                 {*r = Mono_Posix_SysConf__SC_HOST_NAME_MAX; return 0;}
9998 #endif /* ndef _SC_HOST_NAME_MAX */
9999 #ifdef _SC_INT_MAX
10000         if (x == _SC_INT_MAX)
10001                 {*r = Mono_Posix_SysConf__SC_INT_MAX; return 0;}
10002 #endif /* ndef _SC_INT_MAX */
10003 #ifdef _SC_INT_MIN
10004         if (x == _SC_INT_MIN)
10005                 {*r = Mono_Posix_SysConf__SC_INT_MIN; return 0;}
10006 #endif /* ndef _SC_INT_MIN */
10007 #ifdef _SC_IOV_MAX
10008         if (x == _SC_IOV_MAX)
10009                 {*r = Mono_Posix_SysConf__SC_IOV_MAX; return 0;}
10010 #endif /* ndef _SC_IOV_MAX */
10011 #ifdef _SC_JOB_CONTROL
10012         if (x == _SC_JOB_CONTROL)
10013                 {*r = Mono_Posix_SysConf__SC_JOB_CONTROL; return 0;}
10014 #endif /* ndef _SC_JOB_CONTROL */
10015 #ifdef _SC_LEVEL1_DCACHE_ASSOC
10016         if (x == _SC_LEVEL1_DCACHE_ASSOC)
10017                 {*r = Mono_Posix_SysConf__SC_LEVEL1_DCACHE_ASSOC; return 0;}
10018 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
10019 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
10020         if (x == _SC_LEVEL1_DCACHE_LINESIZE)
10021                 {*r = Mono_Posix_SysConf__SC_LEVEL1_DCACHE_LINESIZE; return 0;}
10022 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
10023 #ifdef _SC_LEVEL1_DCACHE_SIZE
10024         if (x == _SC_LEVEL1_DCACHE_SIZE)
10025                 {*r = Mono_Posix_SysConf__SC_LEVEL1_DCACHE_SIZE; return 0;}
10026 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
10027 #ifdef _SC_LEVEL1_ICACHE_ASSOC
10028         if (x == _SC_LEVEL1_ICACHE_ASSOC)
10029                 {*r = Mono_Posix_SysConf__SC_LEVEL1_ICACHE_ASSOC; return 0;}
10030 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
10031 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
10032         if (x == _SC_LEVEL1_ICACHE_LINESIZE)
10033                 {*r = Mono_Posix_SysConf__SC_LEVEL1_ICACHE_LINESIZE; return 0;}
10034 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
10035 #ifdef _SC_LEVEL1_ICACHE_SIZE
10036         if (x == _SC_LEVEL1_ICACHE_SIZE)
10037                 {*r = Mono_Posix_SysConf__SC_LEVEL1_ICACHE_SIZE; return 0;}
10038 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
10039 #ifdef _SC_LEVEL2_CACHE_ASSOC
10040         if (x == _SC_LEVEL2_CACHE_ASSOC)
10041                 {*r = Mono_Posix_SysConf__SC_LEVEL2_CACHE_ASSOC; return 0;}
10042 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
10043 #ifdef _SC_LEVEL2_CACHE_LINESIZE
10044         if (x == _SC_LEVEL2_CACHE_LINESIZE)
10045                 {*r = Mono_Posix_SysConf__SC_LEVEL2_CACHE_LINESIZE; return 0;}
10046 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
10047 #ifdef _SC_LEVEL2_CACHE_SIZE
10048         if (x == _SC_LEVEL2_CACHE_SIZE)
10049                 {*r = Mono_Posix_SysConf__SC_LEVEL2_CACHE_SIZE; return 0;}
10050 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
10051 #ifdef _SC_LEVEL3_CACHE_ASSOC
10052         if (x == _SC_LEVEL3_CACHE_ASSOC)
10053                 {*r = Mono_Posix_SysConf__SC_LEVEL3_CACHE_ASSOC; return 0;}
10054 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
10055 #ifdef _SC_LEVEL3_CACHE_LINESIZE
10056         if (x == _SC_LEVEL3_CACHE_LINESIZE)
10057                 {*r = Mono_Posix_SysConf__SC_LEVEL3_CACHE_LINESIZE; return 0;}
10058 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
10059 #ifdef _SC_LEVEL3_CACHE_SIZE
10060         if (x == _SC_LEVEL3_CACHE_SIZE)
10061                 {*r = Mono_Posix_SysConf__SC_LEVEL3_CACHE_SIZE; return 0;}
10062 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
10063 #ifdef _SC_LEVEL4_CACHE_ASSOC
10064         if (x == _SC_LEVEL4_CACHE_ASSOC)
10065                 {*r = Mono_Posix_SysConf__SC_LEVEL4_CACHE_ASSOC; return 0;}
10066 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
10067 #ifdef _SC_LEVEL4_CACHE_LINESIZE
10068         if (x == _SC_LEVEL4_CACHE_LINESIZE)
10069                 {*r = Mono_Posix_SysConf__SC_LEVEL4_CACHE_LINESIZE; return 0;}
10070 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
10071 #ifdef _SC_LEVEL4_CACHE_SIZE
10072         if (x == _SC_LEVEL4_CACHE_SIZE)
10073                 {*r = Mono_Posix_SysConf__SC_LEVEL4_CACHE_SIZE; return 0;}
10074 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
10075 #ifdef _SC_LINE_MAX
10076         if (x == _SC_LINE_MAX)
10077                 {*r = Mono_Posix_SysConf__SC_LINE_MAX; return 0;}
10078 #endif /* ndef _SC_LINE_MAX */
10079 #ifdef _SC_LOGIN_NAME_MAX
10080         if (x == _SC_LOGIN_NAME_MAX)
10081                 {*r = Mono_Posix_SysConf__SC_LOGIN_NAME_MAX; return 0;}
10082 #endif /* ndef _SC_LOGIN_NAME_MAX */
10083 #ifdef _SC_LONG_BIT
10084         if (x == _SC_LONG_BIT)
10085                 {*r = Mono_Posix_SysConf__SC_LONG_BIT; return 0;}
10086 #endif /* ndef _SC_LONG_BIT */
10087 #ifdef _SC_MAPPED_FILES
10088         if (x == _SC_MAPPED_FILES)
10089                 {*r = Mono_Posix_SysConf__SC_MAPPED_FILES; return 0;}
10090 #endif /* ndef _SC_MAPPED_FILES */
10091 #ifdef _SC_MB_LEN_MAX
10092         if (x == _SC_MB_LEN_MAX)
10093                 {*r = Mono_Posix_SysConf__SC_MB_LEN_MAX; return 0;}
10094 #endif /* ndef _SC_MB_LEN_MAX */
10095 #ifdef _SC_MEMLOCK
10096         if (x == _SC_MEMLOCK)
10097                 {*r = Mono_Posix_SysConf__SC_MEMLOCK; return 0;}
10098 #endif /* ndef _SC_MEMLOCK */
10099 #ifdef _SC_MEMLOCK_RANGE
10100         if (x == _SC_MEMLOCK_RANGE)
10101                 {*r = Mono_Posix_SysConf__SC_MEMLOCK_RANGE; return 0;}
10102 #endif /* ndef _SC_MEMLOCK_RANGE */
10103 #ifdef _SC_MEMORY_PROTECTION
10104         if (x == _SC_MEMORY_PROTECTION)
10105                 {*r = Mono_Posix_SysConf__SC_MEMORY_PROTECTION; return 0;}
10106 #endif /* ndef _SC_MEMORY_PROTECTION */
10107 #ifdef _SC_MESSAGE_PASSING
10108         if (x == _SC_MESSAGE_PASSING)
10109                 {*r = Mono_Posix_SysConf__SC_MESSAGE_PASSING; return 0;}
10110 #endif /* ndef _SC_MESSAGE_PASSING */
10111 #ifdef _SC_MONOTONIC_CLOCK
10112         if (x == _SC_MONOTONIC_CLOCK)
10113                 {*r = Mono_Posix_SysConf__SC_MONOTONIC_CLOCK; return 0;}
10114 #endif /* ndef _SC_MONOTONIC_CLOCK */
10115 #ifdef _SC_MQ_OPEN_MAX
10116         if (x == _SC_MQ_OPEN_MAX)
10117                 {*r = Mono_Posix_SysConf__SC_MQ_OPEN_MAX; return 0;}
10118 #endif /* ndef _SC_MQ_OPEN_MAX */
10119 #ifdef _SC_MQ_PRIO_MAX
10120         if (x == _SC_MQ_PRIO_MAX)
10121                 {*r = Mono_Posix_SysConf__SC_MQ_PRIO_MAX; return 0;}
10122 #endif /* ndef _SC_MQ_PRIO_MAX */
10123 #ifdef _SC_MULTI_PROCESS
10124         if (x == _SC_MULTI_PROCESS)
10125                 {*r = Mono_Posix_SysConf__SC_MULTI_PROCESS; return 0;}
10126 #endif /* ndef _SC_MULTI_PROCESS */
10127 #ifdef _SC_NETWORKING
10128         if (x == _SC_NETWORKING)
10129                 {*r = Mono_Posix_SysConf__SC_NETWORKING; return 0;}
10130 #endif /* ndef _SC_NETWORKING */
10131 #ifdef _SC_NGROUPS_MAX
10132         if (x == _SC_NGROUPS_MAX)
10133                 {*r = Mono_Posix_SysConf__SC_NGROUPS_MAX; return 0;}
10134 #endif /* ndef _SC_NGROUPS_MAX */
10135 #ifdef _SC_NL_ARGMAX
10136         if (x == _SC_NL_ARGMAX)
10137                 {*r = Mono_Posix_SysConf__SC_NL_ARGMAX; return 0;}
10138 #endif /* ndef _SC_NL_ARGMAX */
10139 #ifdef _SC_NL_LANGMAX
10140         if (x == _SC_NL_LANGMAX)
10141                 {*r = Mono_Posix_SysConf__SC_NL_LANGMAX; return 0;}
10142 #endif /* ndef _SC_NL_LANGMAX */
10143 #ifdef _SC_NL_MSGMAX
10144         if (x == _SC_NL_MSGMAX)
10145                 {*r = Mono_Posix_SysConf__SC_NL_MSGMAX; return 0;}
10146 #endif /* ndef _SC_NL_MSGMAX */
10147 #ifdef _SC_NL_NMAX
10148         if (x == _SC_NL_NMAX)
10149                 {*r = Mono_Posix_SysConf__SC_NL_NMAX; return 0;}
10150 #endif /* ndef _SC_NL_NMAX */
10151 #ifdef _SC_NL_SETMAX
10152         if (x == _SC_NL_SETMAX)
10153                 {*r = Mono_Posix_SysConf__SC_NL_SETMAX; return 0;}
10154 #endif /* ndef _SC_NL_SETMAX */
10155 #ifdef _SC_NL_TEXTMAX
10156         if (x == _SC_NL_TEXTMAX)
10157                 {*r = Mono_Posix_SysConf__SC_NL_TEXTMAX; return 0;}
10158 #endif /* ndef _SC_NL_TEXTMAX */
10159 #ifdef _SC_NPROCESSORS_CONF
10160         if (x == _SC_NPROCESSORS_CONF)
10161                 {*r = Mono_Posix_SysConf__SC_NPROCESSORS_CONF; return 0;}
10162 #endif /* ndef _SC_NPROCESSORS_CONF */
10163 #ifdef _SC_NPROCESSORS_ONLN
10164         if (x == _SC_NPROCESSORS_ONLN)
10165                 {*r = Mono_Posix_SysConf__SC_NPROCESSORS_ONLN; return 0;}
10166 #endif /* ndef _SC_NPROCESSORS_ONLN */
10167 #ifdef _SC_NZERO
10168         if (x == _SC_NZERO)
10169                 {*r = Mono_Posix_SysConf__SC_NZERO; return 0;}
10170 #endif /* ndef _SC_NZERO */
10171 #ifdef _SC_OPEN_MAX
10172         if (x == _SC_OPEN_MAX)
10173                 {*r = Mono_Posix_SysConf__SC_OPEN_MAX; return 0;}
10174 #endif /* ndef _SC_OPEN_MAX */
10175 #ifdef _SC_PAGESIZE
10176         if (x == _SC_PAGESIZE)
10177                 {*r = Mono_Posix_SysConf__SC_PAGESIZE; return 0;}
10178 #endif /* ndef _SC_PAGESIZE */
10179 #ifdef _SC_PASS_MAX
10180         if (x == _SC_PASS_MAX)
10181                 {*r = Mono_Posix_SysConf__SC_PASS_MAX; return 0;}
10182 #endif /* ndef _SC_PASS_MAX */
10183 #ifdef _SC_PHYS_PAGES
10184         if (x == _SC_PHYS_PAGES)
10185                 {*r = Mono_Posix_SysConf__SC_PHYS_PAGES; return 0;}
10186 #endif /* ndef _SC_PHYS_PAGES */
10187 #ifdef _SC_PII
10188         if (x == _SC_PII)
10189                 {*r = Mono_Posix_SysConf__SC_PII; return 0;}
10190 #endif /* ndef _SC_PII */
10191 #ifdef _SC_PII_INTERNET
10192         if (x == _SC_PII_INTERNET)
10193                 {*r = Mono_Posix_SysConf__SC_PII_INTERNET; return 0;}
10194 #endif /* ndef _SC_PII_INTERNET */
10195 #ifdef _SC_PII_INTERNET_DGRAM
10196         if (x == _SC_PII_INTERNET_DGRAM)
10197                 {*r = Mono_Posix_SysConf__SC_PII_INTERNET_DGRAM; return 0;}
10198 #endif /* ndef _SC_PII_INTERNET_DGRAM */
10199 #ifdef _SC_PII_INTERNET_STREAM
10200         if (x == _SC_PII_INTERNET_STREAM)
10201                 {*r = Mono_Posix_SysConf__SC_PII_INTERNET_STREAM; return 0;}
10202 #endif /* ndef _SC_PII_INTERNET_STREAM */
10203 #ifdef _SC_PII_OSI
10204         if (x == _SC_PII_OSI)
10205                 {*r = Mono_Posix_SysConf__SC_PII_OSI; return 0;}
10206 #endif /* ndef _SC_PII_OSI */
10207 #ifdef _SC_PII_OSI_CLTS
10208         if (x == _SC_PII_OSI_CLTS)
10209                 {*r = Mono_Posix_SysConf__SC_PII_OSI_CLTS; return 0;}
10210 #endif /* ndef _SC_PII_OSI_CLTS */
10211 #ifdef _SC_PII_OSI_COTS
10212         if (x == _SC_PII_OSI_COTS)
10213                 {*r = Mono_Posix_SysConf__SC_PII_OSI_COTS; return 0;}
10214 #endif /* ndef _SC_PII_OSI_COTS */
10215 #ifdef _SC_PII_OSI_M
10216         if (x == _SC_PII_OSI_M)
10217                 {*r = Mono_Posix_SysConf__SC_PII_OSI_M; return 0;}
10218 #endif /* ndef _SC_PII_OSI_M */
10219 #ifdef _SC_PII_SOCKET
10220         if (x == _SC_PII_SOCKET)
10221                 {*r = Mono_Posix_SysConf__SC_PII_SOCKET; return 0;}
10222 #endif /* ndef _SC_PII_SOCKET */
10223 #ifdef _SC_PII_XTI
10224         if (x == _SC_PII_XTI)
10225                 {*r = Mono_Posix_SysConf__SC_PII_XTI; return 0;}
10226 #endif /* ndef _SC_PII_XTI */
10227 #ifdef _SC_PIPE
10228         if (x == _SC_PIPE)
10229                 {*r = Mono_Posix_SysConf__SC_PIPE; return 0;}
10230 #endif /* ndef _SC_PIPE */
10231 #ifdef _SC_POLL
10232         if (x == _SC_POLL)
10233                 {*r = Mono_Posix_SysConf__SC_POLL; return 0;}
10234 #endif /* ndef _SC_POLL */
10235 #ifdef _SC_PRIORITIZED_IO
10236         if (x == _SC_PRIORITIZED_IO)
10237                 {*r = Mono_Posix_SysConf__SC_PRIORITIZED_IO; return 0;}
10238 #endif /* ndef _SC_PRIORITIZED_IO */
10239 #ifdef _SC_PRIORITY_SCHEDULING
10240         if (x == _SC_PRIORITY_SCHEDULING)
10241                 {*r = Mono_Posix_SysConf__SC_PRIORITY_SCHEDULING; return 0;}
10242 #endif /* ndef _SC_PRIORITY_SCHEDULING */
10243 #ifdef _SC_READER_WRITER_LOCKS
10244         if (x == _SC_READER_WRITER_LOCKS)
10245                 {*r = Mono_Posix_SysConf__SC_READER_WRITER_LOCKS; return 0;}
10246 #endif /* ndef _SC_READER_WRITER_LOCKS */
10247 #ifdef _SC_REALTIME_SIGNALS
10248         if (x == _SC_REALTIME_SIGNALS)
10249                 {*r = Mono_Posix_SysConf__SC_REALTIME_SIGNALS; return 0;}
10250 #endif /* ndef _SC_REALTIME_SIGNALS */
10251 #ifdef _SC_REGEXP
10252         if (x == _SC_REGEXP)
10253                 {*r = Mono_Posix_SysConf__SC_REGEXP; return 0;}
10254 #endif /* ndef _SC_REGEXP */
10255 #ifdef _SC_REGEX_VERSION
10256         if (x == _SC_REGEX_VERSION)
10257                 {*r = Mono_Posix_SysConf__SC_REGEX_VERSION; return 0;}
10258 #endif /* ndef _SC_REGEX_VERSION */
10259 #ifdef _SC_RE_DUP_MAX
10260         if (x == _SC_RE_DUP_MAX)
10261                 {*r = Mono_Posix_SysConf__SC_RE_DUP_MAX; return 0;}
10262 #endif /* ndef _SC_RE_DUP_MAX */
10263 #ifdef _SC_RTSIG_MAX
10264         if (x == _SC_RTSIG_MAX)
10265                 {*r = Mono_Posix_SysConf__SC_RTSIG_MAX; return 0;}
10266 #endif /* ndef _SC_RTSIG_MAX */
10267 #ifdef _SC_SAVED_IDS
10268         if (x == _SC_SAVED_IDS)
10269                 {*r = Mono_Posix_SysConf__SC_SAVED_IDS; return 0;}
10270 #endif /* ndef _SC_SAVED_IDS */
10271 #ifdef _SC_SCHAR_MAX
10272         if (x == _SC_SCHAR_MAX)
10273                 {*r = Mono_Posix_SysConf__SC_SCHAR_MAX; return 0;}
10274 #endif /* ndef _SC_SCHAR_MAX */
10275 #ifdef _SC_SCHAR_MIN
10276         if (x == _SC_SCHAR_MIN)
10277                 {*r = Mono_Posix_SysConf__SC_SCHAR_MIN; return 0;}
10278 #endif /* ndef _SC_SCHAR_MIN */
10279 #ifdef _SC_SELECT
10280         if (x == _SC_SELECT)
10281                 {*r = Mono_Posix_SysConf__SC_SELECT; return 0;}
10282 #endif /* ndef _SC_SELECT */
10283 #ifdef _SC_SEMAPHORES
10284         if (x == _SC_SEMAPHORES)
10285                 {*r = Mono_Posix_SysConf__SC_SEMAPHORES; return 0;}
10286 #endif /* ndef _SC_SEMAPHORES */
10287 #ifdef _SC_SEM_NSEMS_MAX
10288         if (x == _SC_SEM_NSEMS_MAX)
10289                 {*r = Mono_Posix_SysConf__SC_SEM_NSEMS_MAX; return 0;}
10290 #endif /* ndef _SC_SEM_NSEMS_MAX */
10291 #ifdef _SC_SEM_VALUE_MAX
10292         if (x == _SC_SEM_VALUE_MAX)
10293                 {*r = Mono_Posix_SysConf__SC_SEM_VALUE_MAX; return 0;}
10294 #endif /* ndef _SC_SEM_VALUE_MAX */
10295 #ifdef _SC_SHARED_MEMORY_OBJECTS
10296         if (x == _SC_SHARED_MEMORY_OBJECTS)
10297                 {*r = Mono_Posix_SysConf__SC_SHARED_MEMORY_OBJECTS; return 0;}
10298 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
10299 #ifdef _SC_SHELL
10300         if (x == _SC_SHELL)
10301                 {*r = Mono_Posix_SysConf__SC_SHELL; return 0;}
10302 #endif /* ndef _SC_SHELL */
10303 #ifdef _SC_SHRT_MAX
10304         if (x == _SC_SHRT_MAX)
10305                 {*r = Mono_Posix_SysConf__SC_SHRT_MAX; return 0;}
10306 #endif /* ndef _SC_SHRT_MAX */
10307 #ifdef _SC_SHRT_MIN
10308         if (x == _SC_SHRT_MIN)
10309                 {*r = Mono_Posix_SysConf__SC_SHRT_MIN; return 0;}
10310 #endif /* ndef _SC_SHRT_MIN */
10311 #ifdef _SC_SIGNALS
10312         if (x == _SC_SIGNALS)
10313                 {*r = Mono_Posix_SysConf__SC_SIGNALS; return 0;}
10314 #endif /* ndef _SC_SIGNALS */
10315 #ifdef _SC_SIGQUEUE_MAX
10316         if (x == _SC_SIGQUEUE_MAX)
10317                 {*r = Mono_Posix_SysConf__SC_SIGQUEUE_MAX; return 0;}
10318 #endif /* ndef _SC_SIGQUEUE_MAX */
10319 #ifdef _SC_SINGLE_PROCESS
10320         if (x == _SC_SINGLE_PROCESS)
10321                 {*r = Mono_Posix_SysConf__SC_SINGLE_PROCESS; return 0;}
10322 #endif /* ndef _SC_SINGLE_PROCESS */
10323 #ifdef _SC_SPAWN
10324         if (x == _SC_SPAWN)
10325                 {*r = Mono_Posix_SysConf__SC_SPAWN; return 0;}
10326 #endif /* ndef _SC_SPAWN */
10327 #ifdef _SC_SPIN_LOCKS
10328         if (x == _SC_SPIN_LOCKS)
10329                 {*r = Mono_Posix_SysConf__SC_SPIN_LOCKS; return 0;}
10330 #endif /* ndef _SC_SPIN_LOCKS */
10331 #ifdef _SC_SPORADIC_SERVER
10332         if (x == _SC_SPORADIC_SERVER)
10333                 {*r = Mono_Posix_SysConf__SC_SPORADIC_SERVER; return 0;}
10334 #endif /* ndef _SC_SPORADIC_SERVER */
10335 #ifdef _SC_SSIZE_MAX
10336         if (x == _SC_SSIZE_MAX)
10337                 {*r = Mono_Posix_SysConf__SC_SSIZE_MAX; return 0;}
10338 #endif /* ndef _SC_SSIZE_MAX */
10339 #ifdef _SC_STREAMS
10340         if (x == _SC_STREAMS)
10341                 {*r = Mono_Posix_SysConf__SC_STREAMS; return 0;}
10342 #endif /* ndef _SC_STREAMS */
10343 #ifdef _SC_STREAM_MAX
10344         if (x == _SC_STREAM_MAX)
10345                 {*r = Mono_Posix_SysConf__SC_STREAM_MAX; return 0;}
10346 #endif /* ndef _SC_STREAM_MAX */
10347 #ifdef _SC_SYMLOOP_MAX
10348         if (x == _SC_SYMLOOP_MAX)
10349                 {*r = Mono_Posix_SysConf__SC_SYMLOOP_MAX; return 0;}
10350 #endif /* ndef _SC_SYMLOOP_MAX */
10351 #ifdef _SC_SYNCHRONIZED_IO
10352         if (x == _SC_SYNCHRONIZED_IO)
10353                 {*r = Mono_Posix_SysConf__SC_SYNCHRONIZED_IO; return 0;}
10354 #endif /* ndef _SC_SYNCHRONIZED_IO */
10355 #ifdef _SC_SYSTEM_DATABASE
10356         if (x == _SC_SYSTEM_DATABASE)
10357                 {*r = Mono_Posix_SysConf__SC_SYSTEM_DATABASE; return 0;}
10358 #endif /* ndef _SC_SYSTEM_DATABASE */
10359 #ifdef _SC_SYSTEM_DATABASE_R
10360         if (x == _SC_SYSTEM_DATABASE_R)
10361                 {*r = Mono_Posix_SysConf__SC_SYSTEM_DATABASE_R; return 0;}
10362 #endif /* ndef _SC_SYSTEM_DATABASE_R */
10363 #ifdef _SC_THREADS
10364         if (x == _SC_THREADS)
10365                 {*r = Mono_Posix_SysConf__SC_THREADS; return 0;}
10366 #endif /* ndef _SC_THREADS */
10367 #ifdef _SC_THREAD_ATTR_STACKADDR
10368         if (x == _SC_THREAD_ATTR_STACKADDR)
10369                 {*r = Mono_Posix_SysConf__SC_THREAD_ATTR_STACKADDR; return 0;}
10370 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
10371 #ifdef _SC_THREAD_ATTR_STACKSIZE
10372         if (x == _SC_THREAD_ATTR_STACKSIZE)
10373                 {*r = Mono_Posix_SysConf__SC_THREAD_ATTR_STACKSIZE; return 0;}
10374 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
10375 #ifdef _SC_THREAD_CPUTIME
10376         if (x == _SC_THREAD_CPUTIME)
10377                 {*r = Mono_Posix_SysConf__SC_THREAD_CPUTIME; return 0;}
10378 #endif /* ndef _SC_THREAD_CPUTIME */
10379 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
10380         if (x == _SC_THREAD_DESTRUCTOR_ITERATIONS)
10381                 {*r = Mono_Posix_SysConf__SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
10382 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
10383 #ifdef _SC_THREAD_KEYS_MAX
10384         if (x == _SC_THREAD_KEYS_MAX)
10385                 {*r = Mono_Posix_SysConf__SC_THREAD_KEYS_MAX; return 0;}
10386 #endif /* ndef _SC_THREAD_KEYS_MAX */
10387 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
10388         if (x == _SC_THREAD_PRIORITY_SCHEDULING)
10389                 {*r = Mono_Posix_SysConf__SC_THREAD_PRIORITY_SCHEDULING; return 0;}
10390 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
10391 #ifdef _SC_THREAD_PRIO_INHERIT
10392         if (x == _SC_THREAD_PRIO_INHERIT)
10393                 {*r = Mono_Posix_SysConf__SC_THREAD_PRIO_INHERIT; return 0;}
10394 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
10395 #ifdef _SC_THREAD_PRIO_PROTECT
10396         if (x == _SC_THREAD_PRIO_PROTECT)
10397                 {*r = Mono_Posix_SysConf__SC_THREAD_PRIO_PROTECT; return 0;}
10398 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
10399 #ifdef _SC_THREAD_PROCESS_SHARED
10400         if (x == _SC_THREAD_PROCESS_SHARED)
10401                 {*r = Mono_Posix_SysConf__SC_THREAD_PROCESS_SHARED; return 0;}
10402 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
10403 #ifdef _SC_THREAD_SAFE_FUNCTIONS
10404         if (x == _SC_THREAD_SAFE_FUNCTIONS)
10405                 {*r = Mono_Posix_SysConf__SC_THREAD_SAFE_FUNCTIONS; return 0;}
10406 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
10407 #ifdef _SC_THREAD_SPORADIC_SERVER
10408         if (x == _SC_THREAD_SPORADIC_SERVER)
10409                 {*r = Mono_Posix_SysConf__SC_THREAD_SPORADIC_SERVER; return 0;}
10410 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
10411 #ifdef _SC_THREAD_STACK_MIN
10412         if (x == _SC_THREAD_STACK_MIN)
10413                 {*r = Mono_Posix_SysConf__SC_THREAD_STACK_MIN; return 0;}
10414 #endif /* ndef _SC_THREAD_STACK_MIN */
10415 #ifdef _SC_THREAD_THREADS_MAX
10416         if (x == _SC_THREAD_THREADS_MAX)
10417                 {*r = Mono_Posix_SysConf__SC_THREAD_THREADS_MAX; return 0;}
10418 #endif /* ndef _SC_THREAD_THREADS_MAX */
10419 #ifdef _SC_TIMEOUTS
10420         if (x == _SC_TIMEOUTS)
10421                 {*r = Mono_Posix_SysConf__SC_TIMEOUTS; return 0;}
10422 #endif /* ndef _SC_TIMEOUTS */
10423 #ifdef _SC_TIMERS
10424         if (x == _SC_TIMERS)
10425                 {*r = Mono_Posix_SysConf__SC_TIMERS; return 0;}
10426 #endif /* ndef _SC_TIMERS */
10427 #ifdef _SC_TIMER_MAX
10428         if (x == _SC_TIMER_MAX)
10429                 {*r = Mono_Posix_SysConf__SC_TIMER_MAX; return 0;}
10430 #endif /* ndef _SC_TIMER_MAX */
10431 #ifdef _SC_TRACE
10432         if (x == _SC_TRACE)
10433                 {*r = Mono_Posix_SysConf__SC_TRACE; return 0;}
10434 #endif /* ndef _SC_TRACE */
10435 #ifdef _SC_TRACE_EVENT_FILTER
10436         if (x == _SC_TRACE_EVENT_FILTER)
10437                 {*r = Mono_Posix_SysConf__SC_TRACE_EVENT_FILTER; return 0;}
10438 #endif /* ndef _SC_TRACE_EVENT_FILTER */
10439 #ifdef _SC_TRACE_INHERIT
10440         if (x == _SC_TRACE_INHERIT)
10441                 {*r = Mono_Posix_SysConf__SC_TRACE_INHERIT; return 0;}
10442 #endif /* ndef _SC_TRACE_INHERIT */
10443 #ifdef _SC_TRACE_LOG
10444         if (x == _SC_TRACE_LOG)
10445                 {*r = Mono_Posix_SysConf__SC_TRACE_LOG; return 0;}
10446 #endif /* ndef _SC_TRACE_LOG */
10447 #ifdef _SC_TTY_NAME_MAX
10448         if (x == _SC_TTY_NAME_MAX)
10449                 {*r = Mono_Posix_SysConf__SC_TTY_NAME_MAX; return 0;}
10450 #endif /* ndef _SC_TTY_NAME_MAX */
10451 #ifdef _SC_TYPED_MEMORY_OBJECTS
10452         if (x == _SC_TYPED_MEMORY_OBJECTS)
10453                 {*r = Mono_Posix_SysConf__SC_TYPED_MEMORY_OBJECTS; return 0;}
10454 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
10455 #ifdef _SC_TZNAME_MAX
10456         if (x == _SC_TZNAME_MAX)
10457                 {*r = Mono_Posix_SysConf__SC_TZNAME_MAX; return 0;}
10458 #endif /* ndef _SC_TZNAME_MAX */
10459 #ifdef _SC_T_IOV_MAX
10460         if (x == _SC_T_IOV_MAX)
10461                 {*r = Mono_Posix_SysConf__SC_T_IOV_MAX; return 0;}
10462 #endif /* ndef _SC_T_IOV_MAX */
10463 #ifdef _SC_UCHAR_MAX
10464         if (x == _SC_UCHAR_MAX)
10465                 {*r = Mono_Posix_SysConf__SC_UCHAR_MAX; return 0;}
10466 #endif /* ndef _SC_UCHAR_MAX */
10467 #ifdef _SC_UINT_MAX
10468         if (x == _SC_UINT_MAX)
10469                 {*r = Mono_Posix_SysConf__SC_UINT_MAX; return 0;}
10470 #endif /* ndef _SC_UINT_MAX */
10471 #ifdef _SC_UIO_MAXIOV
10472         if (x == _SC_UIO_MAXIOV)
10473                 {*r = Mono_Posix_SysConf__SC_UIO_MAXIOV; return 0;}
10474 #endif /* ndef _SC_UIO_MAXIOV */
10475 #ifdef _SC_ULONG_MAX
10476         if (x == _SC_ULONG_MAX)
10477                 {*r = Mono_Posix_SysConf__SC_ULONG_MAX; return 0;}
10478 #endif /* ndef _SC_ULONG_MAX */
10479 #ifdef _SC_USER_GROUPS
10480         if (x == _SC_USER_GROUPS)
10481                 {*r = Mono_Posix_SysConf__SC_USER_GROUPS; return 0;}
10482 #endif /* ndef _SC_USER_GROUPS */
10483 #ifdef _SC_USER_GROUPS_R
10484         if (x == _SC_USER_GROUPS_R)
10485                 {*r = Mono_Posix_SysConf__SC_USER_GROUPS_R; return 0;}
10486 #endif /* ndef _SC_USER_GROUPS_R */
10487 #ifdef _SC_USHRT_MAX
10488         if (x == _SC_USHRT_MAX)
10489                 {*r = Mono_Posix_SysConf__SC_USHRT_MAX; return 0;}
10490 #endif /* ndef _SC_USHRT_MAX */
10491 #ifdef _SC_V6_ILP32_OFF32
10492         if (x == _SC_V6_ILP32_OFF32)
10493                 {*r = Mono_Posix_SysConf__SC_V6_ILP32_OFF32; return 0;}
10494 #endif /* ndef _SC_V6_ILP32_OFF32 */
10495 #ifdef _SC_V6_ILP32_OFFBIG
10496         if (x == _SC_V6_ILP32_OFFBIG)
10497                 {*r = Mono_Posix_SysConf__SC_V6_ILP32_OFFBIG; return 0;}
10498 #endif /* ndef _SC_V6_ILP32_OFFBIG */
10499 #ifdef _SC_V6_LP64_OFF64
10500         if (x == _SC_V6_LP64_OFF64)
10501                 {*r = Mono_Posix_SysConf__SC_V6_LP64_OFF64; return 0;}
10502 #endif /* ndef _SC_V6_LP64_OFF64 */
10503 #ifdef _SC_V6_LPBIG_OFFBIG
10504         if (x == _SC_V6_LPBIG_OFFBIG)
10505                 {*r = Mono_Posix_SysConf__SC_V6_LPBIG_OFFBIG; return 0;}
10506 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
10507 #ifdef _SC_VERSION
10508         if (x == _SC_VERSION)
10509                 {*r = Mono_Posix_SysConf__SC_VERSION; return 0;}
10510 #endif /* ndef _SC_VERSION */
10511 #ifdef _SC_WORD_BIT
10512         if (x == _SC_WORD_BIT)
10513                 {*r = Mono_Posix_SysConf__SC_WORD_BIT; return 0;}
10514 #endif /* ndef _SC_WORD_BIT */
10515 #ifdef _SC_XBS5_ILP32_OFF32
10516         if (x == _SC_XBS5_ILP32_OFF32)
10517                 {*r = Mono_Posix_SysConf__SC_XBS5_ILP32_OFF32; return 0;}
10518 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
10519 #ifdef _SC_XBS5_ILP32_OFFBIG
10520         if (x == _SC_XBS5_ILP32_OFFBIG)
10521                 {*r = Mono_Posix_SysConf__SC_XBS5_ILP32_OFFBIG; return 0;}
10522 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
10523 #ifdef _SC_XBS5_LP64_OFF64
10524         if (x == _SC_XBS5_LP64_OFF64)
10525                 {*r = Mono_Posix_SysConf__SC_XBS5_LP64_OFF64; return 0;}
10526 #endif /* ndef _SC_XBS5_LP64_OFF64 */
10527 #ifdef _SC_XBS5_LPBIG_OFFBIG
10528         if (x == _SC_XBS5_LPBIG_OFFBIG)
10529                 {*r = Mono_Posix_SysConf__SC_XBS5_LPBIG_OFFBIG; return 0;}
10530 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
10531 #ifdef _SC_XOPEN_CRYPT
10532         if (x == _SC_XOPEN_CRYPT)
10533                 {*r = Mono_Posix_SysConf__SC_XOPEN_CRYPT; return 0;}
10534 #endif /* ndef _SC_XOPEN_CRYPT */
10535 #ifdef _SC_XOPEN_ENH_I18N
10536         if (x == _SC_XOPEN_ENH_I18N)
10537                 {*r = Mono_Posix_SysConf__SC_XOPEN_ENH_I18N; return 0;}
10538 #endif /* ndef _SC_XOPEN_ENH_I18N */
10539 #ifdef _SC_XOPEN_LEGACY
10540         if (x == _SC_XOPEN_LEGACY)
10541                 {*r = Mono_Posix_SysConf__SC_XOPEN_LEGACY; return 0;}
10542 #endif /* ndef _SC_XOPEN_LEGACY */
10543 #ifdef _SC_XOPEN_REALTIME
10544         if (x == _SC_XOPEN_REALTIME)
10545                 {*r = Mono_Posix_SysConf__SC_XOPEN_REALTIME; return 0;}
10546 #endif /* ndef _SC_XOPEN_REALTIME */
10547 #ifdef _SC_XOPEN_REALTIME_THREADS
10548         if (x == _SC_XOPEN_REALTIME_THREADS)
10549                 {*r = Mono_Posix_SysConf__SC_XOPEN_REALTIME_THREADS; return 0;}
10550 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
10551 #ifdef _SC_XOPEN_SHM
10552         if (x == _SC_XOPEN_SHM)
10553                 {*r = Mono_Posix_SysConf__SC_XOPEN_SHM; return 0;}
10554 #endif /* ndef _SC_XOPEN_SHM */
10555 #ifdef _SC_XOPEN_UNIX
10556         if (x == _SC_XOPEN_UNIX)
10557                 {*r = Mono_Posix_SysConf__SC_XOPEN_UNIX; return 0;}
10558 #endif /* ndef _SC_XOPEN_UNIX */
10559 #ifdef _SC_XOPEN_VERSION
10560         if (x == _SC_XOPEN_VERSION)
10561                 {*r = Mono_Posix_SysConf__SC_XOPEN_VERSION; return 0;}
10562 #endif /* ndef _SC_XOPEN_VERSION */
10563 #ifdef _SC_XOPEN_XCU_VERSION
10564         if (x == _SC_XOPEN_XCU_VERSION)
10565                 {*r = Mono_Posix_SysConf__SC_XOPEN_XCU_VERSION; return 0;}
10566 #endif /* ndef _SC_XOPEN_XCU_VERSION */
10567 #ifdef _SC_XOPEN_XPG2
10568         if (x == _SC_XOPEN_XPG2)
10569                 {*r = Mono_Posix_SysConf__SC_XOPEN_XPG2; return 0;}
10570 #endif /* ndef _SC_XOPEN_XPG2 */
10571 #ifdef _SC_XOPEN_XPG3
10572         if (x == _SC_XOPEN_XPG3)
10573                 {*r = Mono_Posix_SysConf__SC_XOPEN_XPG3; return 0;}
10574 #endif /* ndef _SC_XOPEN_XPG3 */
10575 #ifdef _SC_XOPEN_XPG4
10576         if (x == _SC_XOPEN_XPG4)
10577                 {*r = Mono_Posix_SysConf__SC_XOPEN_XPG4; return 0;}
10578 #endif /* ndef _SC_XOPEN_XPG4 */
10579         errno = EINVAL; return -1;
10580 }
10581