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