2010-06-17 Zoltan Varga <vargaz@gmail.com>
[mono.git] / support / map.c
blob0fc5255640b4655b3d5928221ed767ecb24520fa
1 /*
2 * This file was automatically generated by create-native-map from ../../mcs/class/lib/net_2_0/Mono.Posix.dll.
4 * DO NOT MODIFY.
5 */
6 #ifdef HAVE_CONFIG_H
7 #include <config.h>
8 #endif /* ndef HAVE_CONFIG_H */
10 #include <stdlib.h>
11 #include <string.h>
14 * Implementation Macros
16 #ifndef _GNU_SOURCE
17 #define _GNU_SOURCE
18 #endif /* ndef _GNU_SOURCE */
20 #ifndef _XOPEN_SOURCE
21 #define _XOPEN_SOURCE
22 #endif /* ndef _XOPEN_SOURCE */
26 * Implementation Includes
28 #include <sys/types.h>
29 #include <sys/stat.h>
30 #ifdef HAVE_SYS_TIME_H
31 #include <sys/time.h>
32 #endif /* ndef HAVE_SYS_TIME_H */
33 #ifdef HAVE_SYS_POLL_H
34 #include <sys/poll.h>
35 #endif /* ndef HAVE_SYS_POLL_H */
36 #ifdef HAVE_SYS_WAIT_H
37 #include <sys/wait.h>
38 #endif /* ndef HAVE_SYS_WAIT_H */
39 #ifdef HAVE_SYS_STATVFS_H
40 #include <sys/statvfs.h>
41 #endif /* ndef HAVE_SYS_STATVFS_H */
42 #ifdef HAVE_SYS_XATTR_H
43 #include <sys/xattr.h>
44 #endif /* ndef HAVE_SYS_XATTR_H */
45 #ifdef HAVE_SYS_MMAN_H
46 #include <sys/mman.h>
47 #endif /* ndef HAVE_SYS_MMAN_H */
48 #ifdef HAVE_UNISTD_H
49 #include <unistd.h>
50 #endif /* ndef HAVE_UNISTD_H */
51 #include <fcntl.h>
52 #include <signal.h>
53 #ifdef HAVE_POLL_H
54 #include <poll.h>
55 #endif /* ndef HAVE_POLL_H */
56 #ifdef HAVE_GRP_H
57 #include <grp.h>
58 #endif /* ndef HAVE_GRP_H */
59 #include <errno.h>
60 #ifdef HAVE_SYSLOG_H
61 #include <syslog.h>
62 #endif /* ndef HAVE_SYSLOG_H */
63 #ifdef HAVE_DIRENT_H
64 #include <dirent.h>
65 #endif /* ndef HAVE_DIRENT_H */
66 #ifdef HAVE_UTIME_H
67 #include <utime.h>
68 #endif /* ndef HAVE_UTIME_H */
69 #include <time.h>
70 #include "mph.h"
72 #include "map.h"
74 #include <errno.h> /* errno, EOVERFLOW */
75 #include <glib.h> /* g* types, g_assert_not_reached() */
77 #if defined (G_MININT8)
78 #define CNM_MININT8 G_MININT8
79 #else
80 #define CNM_MININT8 (-128)
81 #endif
83 #if defined (G_MAXINT8)
84 #define CNM_MAXINT8 G_MAXINT8
85 #else
86 #define CNM_MAXINT8 (127)
87 #endif
89 #if defined (G_MAXUINT8)
90 #define CNM_MAXUINT8 G_MAXUINT8
91 #else
92 #define CNM_MAXUINT8 (255)
93 #endif
95 #if defined (G_MININT16)
96 #define CNM_MININT16 G_MININT16
97 #else
98 #define CNM_MININT16 (-32768)
99 #endif
101 #if defined (G_MAXINT16)
102 #define CNM_MAXINT16 G_MAXINT16
103 #else
104 #define CNM_MAXINT16 (32767)
105 #endif
107 #if defined (G_MAXUINT16)
108 #define CNM_MAXUINT16 G_MAXUINT16
109 #else
110 #define CNM_MAXUINT16 (65535)
111 #endif
113 #if defined (G_MININT32)
114 #define CNM_MININT32 G_MININT32
115 #else
116 #define CNM_MININT32 (-2147483648)
117 #endif
119 #if defined (G_MAXINT32)
120 #define CNM_MAXINT32 G_MAXINT32
121 #else
122 #define CNM_MAXINT32 (2147483647)
123 #endif
125 #if defined (G_MAXUINT32)
126 #define CNM_MAXUINT32 G_MAXUINT32
127 #else
128 #define CNM_MAXUINT32 (4294967295U)
129 #endif
131 #if defined (G_MININT64)
132 #define CNM_MININT64 G_MININT64
133 #else
134 #define CNM_MININT64 (-9223372036854775808LL)
135 #endif
137 #if defined (G_MAXINT64)
138 #define CNM_MAXINT64 G_MAXINT64
139 #else
140 #define CNM_MAXINT64 (9223372036854775807LL)
141 #endif
143 #if defined (G_MAXUINT64)
144 #define CNM_MAXUINT64 G_MAXUINT64
145 #else
146 #define CNM_MAXUINT64 (18446744073709551615ULL)
147 #endif
150 /* returns TRUE if @type is an unsigned type */
151 #define _cnm_integral_type_is_unsigned(type) \
152 (sizeof(type) == sizeof(gint8) \
153 ? (((type)-1) > CNM_MAXINT8) \
154 : sizeof(type) == sizeof(gint16) \
155 ? (((type)-1) > CNM_MAXINT16) \
156 : sizeof(type) == sizeof(gint32) \
157 ? (((type)-1) > CNM_MAXINT32) \
158 : sizeof(type) == sizeof(gint64) \
159 ? (((type)-1) > CNM_MAXINT64) \
160 : (g_assert_not_reached (), 0))
162 /* returns the minimum value of @type as a gint64 */
163 #define _cnm_integral_type_min(type) \
164 (_cnm_integral_type_is_unsigned (type) \
165 ? 0 \
166 : sizeof(type) == sizeof(gint8) \
167 ? CNM_MININT8 \
168 : sizeof(type) == sizeof(gint16) \
169 ? CNM_MININT16 \
170 : sizeof(type) == sizeof(gint32) \
171 ? CNM_MININT32 \
172 : sizeof(type) == sizeof(gint64) \
173 ? CNM_MININT64 \
174 : (g_assert_not_reached (), 0))
176 /* returns the maximum value of @type as a guint64 */
177 #define _cnm_integral_type_max(type) \
178 (_cnm_integral_type_is_unsigned (type) \
179 ? sizeof(type) == sizeof(gint8) \
180 ? CNM_MAXUINT8 \
181 : sizeof(type) == sizeof(gint16) \
182 ? CNM_MAXUINT16 \
183 : sizeof(type) == sizeof(gint32) \
184 ? CNM_MAXUINT32 \
185 : sizeof(type) == sizeof(gint64) \
186 ? CNM_MAXUINT64 \
187 : (g_assert_not_reached (), 0) \
188 : sizeof(type) == sizeof(gint8) \
189 ? CNM_MAXINT8 \
190 : sizeof(type) == sizeof(gint16) \
191 ? CNM_MAXINT16 \
192 : sizeof(type) == sizeof(gint32) \
193 ? CNM_MAXINT32 \
194 : sizeof(type) == sizeof(gint64) \
195 ? CNM_MAXINT64 \
196 : (g_assert_not_reached (), 0))
198 #ifdef _CNM_DUMP
199 #define _cnm_dump(to_t,from) \
200 printf ("# %s -> %s: uns=%i; min=%llx; max=%llx; value=%llx; lt=%i; l0=%i; gt=%i; e=%i\n", \
201 #from, #to_t, \
202 (int) _cnm_integral_type_is_unsigned (to_t), \
203 (gint64) (_cnm_integral_type_min (to_t)), \
204 (gint64) (_cnm_integral_type_max (to_t)), \
205 (gint64) (from), \
206 (((gint64) _cnm_integral_type_min (to_t)) <= (gint64) from), \
207 (from < 0), \
208 (((guint64) from) <= (guint64) _cnm_integral_type_max (to_t)), \
209 !((int) _cnm_integral_type_is_unsigned (to_t) \
210 ? ((0 <= from) && \
211 ((guint64) from <= (guint64) _cnm_integral_type_max (to_t))) \
212 : ((gint64) _cnm_integral_type_min(to_t) <= (gint64) from && \
213 (guint64) from <= (guint64) _cnm_integral_type_max (to_t))) \
215 #else /* ndef _CNM_DUMP */
216 #define _cnm_dump(to_t, from) do {} while (0)
217 #endif /* def _CNM_DUMP */
219 #ifdef DEBUG
220 #define _cnm_return_val_if_overflow(to_t,from,val) G_STMT_START { \
221 int uns = _cnm_integral_type_is_unsigned (to_t); \
222 gint64 min = (gint64) _cnm_integral_type_min (to_t); \
223 guint64 max = (guint64) _cnm_integral_type_max (to_t); \
224 gint64 sf = (gint64) from; \
225 guint64 uf = (guint64) from; \
226 if (!(uns ? ((0 <= from) && (uf <= max)) \
227 : (min <= sf && (from < 0 || uf <= max)))) { \
228 _cnm_dump(to_t, from); \
229 errno = EOVERFLOW; \
230 return (val); \
232 } G_STMT_END
233 #else /* !def DEBUG */
234 /* don't do any overflow checking */
235 #define _cnm_return_val_if_overflow(to_t,from,val) G_STMT_START { \
236 } G_STMT_END
237 #endif /* def DEBUG */
239 int Mono_Posix_FromAccessModes (int x, int *r)
241 *r = 0;
242 if ((x & Mono_Posix_AccessModes_F_OK) == Mono_Posix_AccessModes_F_OK)
243 #ifdef F_OK
244 *r |= F_OK;
245 #else /* def F_OK */
246 {errno = EINVAL; return -1;}
247 #endif /* ndef F_OK */
248 if ((x & Mono_Posix_AccessModes_R_OK) == Mono_Posix_AccessModes_R_OK)
249 #ifdef R_OK
250 *r |= R_OK;
251 #else /* def R_OK */
252 {errno = EINVAL; return -1;}
253 #endif /* ndef R_OK */
254 if ((x & Mono_Posix_AccessModes_W_OK) == Mono_Posix_AccessModes_W_OK)
255 #ifdef W_OK
256 *r |= W_OK;
257 #else /* def W_OK */
258 {errno = EINVAL; return -1;}
259 #endif /* ndef W_OK */
260 if ((x & Mono_Posix_AccessModes_X_OK) == Mono_Posix_AccessModes_X_OK)
261 #ifdef X_OK
262 *r |= X_OK;
263 #else /* def X_OK */
264 {errno = EINVAL; return -1;}
265 #endif /* ndef X_OK */
266 if (x == 0)
267 return 0;
268 return 0;
271 int Mono_Posix_ToAccessModes (int x, int *r)
273 *r = 0;
274 if (x == 0)
275 return 0;
276 #ifdef F_OK
277 if ((x & F_OK) == F_OK)
278 *r |= Mono_Posix_AccessModes_F_OK;
279 #endif /* ndef F_OK */
280 #ifdef R_OK
281 if ((x & R_OK) == R_OK)
282 *r |= Mono_Posix_AccessModes_R_OK;
283 #endif /* ndef R_OK */
284 #ifdef W_OK
285 if ((x & W_OK) == W_OK)
286 *r |= Mono_Posix_AccessModes_W_OK;
287 #endif /* ndef W_OK */
288 #ifdef X_OK
289 if ((x & X_OK) == X_OK)
290 *r |= Mono_Posix_AccessModes_X_OK;
291 #endif /* ndef X_OK */
292 return 0;
295 int Mono_Posix_FromConfstrName (int x, int *r)
297 *r = 0;
298 if (x == Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION)
299 #ifdef _CS_GNU_LIBC_VERSION
300 {*r = _CS_GNU_LIBC_VERSION; return 0;}
301 #else /* def _CS_GNU_LIBC_VERSION */
302 {errno = EINVAL; return -1;}
303 #endif /* ndef _CS_GNU_LIBC_VERSION */
304 if (x == Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION)
305 #ifdef _CS_GNU_LIBPTHREAD_VERSION
306 {*r = _CS_GNU_LIBPTHREAD_VERSION; return 0;}
307 #else /* def _CS_GNU_LIBPTHREAD_VERSION */
308 {errno = EINVAL; return -1;}
309 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
310 if (x == Mono_Posix_ConfstrName__CS_LFS64_CFLAGS)
311 #ifdef _CS_LFS64_CFLAGS
312 {*r = _CS_LFS64_CFLAGS; return 0;}
313 #else /* def _CS_LFS64_CFLAGS */
314 {errno = EINVAL; return -1;}
315 #endif /* ndef _CS_LFS64_CFLAGS */
316 if (x == Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS)
317 #ifdef _CS_LFS64_LDFLAGS
318 {*r = _CS_LFS64_LDFLAGS; return 0;}
319 #else /* def _CS_LFS64_LDFLAGS */
320 {errno = EINVAL; return -1;}
321 #endif /* ndef _CS_LFS64_LDFLAGS */
322 if (x == Mono_Posix_ConfstrName__CS_LFS64_LIBS)
323 #ifdef _CS_LFS64_LIBS
324 {*r = _CS_LFS64_LIBS; return 0;}
325 #else /* def _CS_LFS64_LIBS */
326 {errno = EINVAL; return -1;}
327 #endif /* ndef _CS_LFS64_LIBS */
328 if (x == Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS)
329 #ifdef _CS_LFS64_LINTFLAGS
330 {*r = _CS_LFS64_LINTFLAGS; return 0;}
331 #else /* def _CS_LFS64_LINTFLAGS */
332 {errno = EINVAL; return -1;}
333 #endif /* ndef _CS_LFS64_LINTFLAGS */
334 if (x == Mono_Posix_ConfstrName__CS_LFS_CFLAGS)
335 #ifdef _CS_LFS_CFLAGS
336 {*r = _CS_LFS_CFLAGS; return 0;}
337 #else /* def _CS_LFS_CFLAGS */
338 {errno = EINVAL; return -1;}
339 #endif /* ndef _CS_LFS_CFLAGS */
340 if (x == Mono_Posix_ConfstrName__CS_LFS_LDFLAGS)
341 #ifdef _CS_LFS_LDFLAGS
342 {*r = _CS_LFS_LDFLAGS; return 0;}
343 #else /* def _CS_LFS_LDFLAGS */
344 {errno = EINVAL; return -1;}
345 #endif /* ndef _CS_LFS_LDFLAGS */
346 if (x == Mono_Posix_ConfstrName__CS_LFS_LIBS)
347 #ifdef _CS_LFS_LIBS
348 {*r = _CS_LFS_LIBS; return 0;}
349 #else /* def _CS_LFS_LIBS */
350 {errno = EINVAL; return -1;}
351 #endif /* ndef _CS_LFS_LIBS */
352 if (x == Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS)
353 #ifdef _CS_LFS_LINTFLAGS
354 {*r = _CS_LFS_LINTFLAGS; return 0;}
355 #else /* def _CS_LFS_LINTFLAGS */
356 {errno = EINVAL; return -1;}
357 #endif /* ndef _CS_LFS_LINTFLAGS */
358 if (x == Mono_Posix_ConfstrName__CS_PATH)
359 #ifdef _CS_PATH
360 {*r = _CS_PATH; return 0;}
361 #else /* def _CS_PATH */
362 {errno = EINVAL; return -1;}
363 #endif /* ndef _CS_PATH */
364 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS)
365 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
366 {*r = _CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
367 #else /* def _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
368 {errno = EINVAL; return -1;}
369 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
370 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
371 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
372 {*r = _CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
373 #else /* def _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
374 {errno = EINVAL; return -1;}
375 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
376 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS)
377 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
378 {*r = _CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
379 #else /* def _CS_POSIX_V6_ILP32_OFF32_LIBS */
380 {errno = EINVAL; return -1;}
381 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
382 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
383 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
384 {*r = _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
385 #else /* def _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
386 {errno = EINVAL; return -1;}
387 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
388 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
389 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
390 {*r = _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
391 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
392 {errno = EINVAL; return -1;}
393 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
394 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
395 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
396 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
397 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
398 {errno = EINVAL; return -1;}
399 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
400 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS)
401 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
402 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
403 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
404 {errno = EINVAL; return -1;}
405 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
406 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
407 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
408 {*r = _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
409 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
410 {errno = EINVAL; return -1;}
411 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
412 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS)
413 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
414 {*r = _CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
415 #else /* def _CS_POSIX_V6_LP64_OFF64_CFLAGS */
416 {errno = EINVAL; return -1;}
417 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
418 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS)
419 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
420 {*r = _CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
421 #else /* def _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
422 {errno = EINVAL; return -1;}
423 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
424 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS)
425 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
426 {*r = _CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
427 #else /* def _CS_POSIX_V6_LP64_OFF64_LIBS */
428 {errno = EINVAL; return -1;}
429 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
430 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
431 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
432 {*r = _CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
433 #else /* def _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
434 {errno = EINVAL; return -1;}
435 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
436 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
437 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
438 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
439 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
440 {errno = EINVAL; return -1;}
441 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
442 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
443 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
444 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
445 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
446 {errno = EINVAL; return -1;}
447 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
448 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
449 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
450 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
451 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
452 {errno = EINVAL; return -1;}
453 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
454 if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
455 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
456 {*r = _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
457 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
458 {errno = EINVAL; return -1;}
459 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
460 if (x == Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS)
461 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
462 {*r = _CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
463 #else /* def _CS_V6_WIDTH_RESTRICTED_ENVS */
464 {errno = EINVAL; return -1;}
465 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
466 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS)
467 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
468 {*r = _CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
469 #else /* def _CS_XBS5_ILP32_OFF32_CFLAGS */
470 {errno = EINVAL; return -1;}
471 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
472 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS)
473 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
474 {*r = _CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
475 #else /* def _CS_XBS5_ILP32_OFF32_LDFLAGS */
476 {errno = EINVAL; return -1;}
477 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
478 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS)
479 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
480 {*r = _CS_XBS5_ILP32_OFF32_LIBS; return 0;}
481 #else /* def _CS_XBS5_ILP32_OFF32_LIBS */
482 {errno = EINVAL; return -1;}
483 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
484 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS)
485 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
486 {*r = _CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
487 #else /* def _CS_XBS5_ILP32_OFF32_LINTFLAGS */
488 {errno = EINVAL; return -1;}
489 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
490 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS)
491 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
492 {*r = _CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
493 #else /* def _CS_XBS5_ILP32_OFFBIG_CFLAGS */
494 {errno = EINVAL; return -1;}
495 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
496 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS)
497 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
498 {*r = _CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
499 #else /* def _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
500 {errno = EINVAL; return -1;}
501 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
502 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS)
503 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
504 {*r = _CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
505 #else /* def _CS_XBS5_ILP32_OFFBIG_LIBS */
506 {errno = EINVAL; return -1;}
507 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
508 if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
509 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
510 {*r = _CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
511 #else /* def _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
512 {errno = EINVAL; return -1;}
513 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
514 if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS)
515 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
516 {*r = _CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
517 #else /* def _CS_XBS5_LP64_OFF64_CFLAGS */
518 {errno = EINVAL; return -1;}
519 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
520 if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS)
521 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
522 {*r = _CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
523 #else /* def _CS_XBS5_LP64_OFF64_LDFLAGS */
524 {errno = EINVAL; return -1;}
525 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
526 if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS)
527 #ifdef _CS_XBS5_LP64_OFF64_LIBS
528 {*r = _CS_XBS5_LP64_OFF64_LIBS; return 0;}
529 #else /* def _CS_XBS5_LP64_OFF64_LIBS */
530 {errno = EINVAL; return -1;}
531 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
532 if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS)
533 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
534 {*r = _CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
535 #else /* def _CS_XBS5_LP64_OFF64_LINTFLAGS */
536 {errno = EINVAL; return -1;}
537 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
538 if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS)
539 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
540 {*r = _CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
541 #else /* def _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
542 {errno = EINVAL; return -1;}
543 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
544 if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
545 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
546 {*r = _CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
547 #else /* def _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
548 {errno = EINVAL; return -1;}
549 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
550 if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS)
551 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
552 {*r = _CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
553 #else /* def _CS_XBS5_LPBIG_OFFBIG_LIBS */
554 {errno = EINVAL; return -1;}
555 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
556 if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
557 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
558 {*r = _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
559 #else /* def _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
560 {errno = EINVAL; return -1;}
561 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
562 if (x == 0)
563 return 0;
564 errno = EINVAL; return -1;
567 int Mono_Posix_ToConfstrName (int x, int *r)
569 *r = 0;
570 if (x == 0)
571 return 0;
572 #ifdef _CS_GNU_LIBC_VERSION
573 if (x == _CS_GNU_LIBC_VERSION)
574 {*r = Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION; return 0;}
575 #endif /* ndef _CS_GNU_LIBC_VERSION */
576 #ifdef _CS_GNU_LIBPTHREAD_VERSION
577 if (x == _CS_GNU_LIBPTHREAD_VERSION)
578 {*r = Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION; return 0;}
579 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
580 #ifdef _CS_LFS64_CFLAGS
581 if (x == _CS_LFS64_CFLAGS)
582 {*r = Mono_Posix_ConfstrName__CS_LFS64_CFLAGS; return 0;}
583 #endif /* ndef _CS_LFS64_CFLAGS */
584 #ifdef _CS_LFS64_LDFLAGS
585 if (x == _CS_LFS64_LDFLAGS)
586 {*r = Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS; return 0;}
587 #endif /* ndef _CS_LFS64_LDFLAGS */
588 #ifdef _CS_LFS64_LIBS
589 if (x == _CS_LFS64_LIBS)
590 {*r = Mono_Posix_ConfstrName__CS_LFS64_LIBS; return 0;}
591 #endif /* ndef _CS_LFS64_LIBS */
592 #ifdef _CS_LFS64_LINTFLAGS
593 if (x == _CS_LFS64_LINTFLAGS)
594 {*r = Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS; return 0;}
595 #endif /* ndef _CS_LFS64_LINTFLAGS */
596 #ifdef _CS_LFS_CFLAGS
597 if (x == _CS_LFS_CFLAGS)
598 {*r = Mono_Posix_ConfstrName__CS_LFS_CFLAGS; return 0;}
599 #endif /* ndef _CS_LFS_CFLAGS */
600 #ifdef _CS_LFS_LDFLAGS
601 if (x == _CS_LFS_LDFLAGS)
602 {*r = Mono_Posix_ConfstrName__CS_LFS_LDFLAGS; return 0;}
603 #endif /* ndef _CS_LFS_LDFLAGS */
604 #ifdef _CS_LFS_LIBS
605 if (x == _CS_LFS_LIBS)
606 {*r = Mono_Posix_ConfstrName__CS_LFS_LIBS; return 0;}
607 #endif /* ndef _CS_LFS_LIBS */
608 #ifdef _CS_LFS_LINTFLAGS
609 if (x == _CS_LFS_LINTFLAGS)
610 {*r = Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS; return 0;}
611 #endif /* ndef _CS_LFS_LINTFLAGS */
612 #ifdef _CS_PATH
613 if (x == _CS_PATH)
614 {*r = Mono_Posix_ConfstrName__CS_PATH; return 0;}
615 #endif /* ndef _CS_PATH */
616 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
617 if (x == _CS_POSIX_V6_ILP32_OFF32_CFLAGS)
618 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
619 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
620 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
621 if (x == _CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
622 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
623 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
624 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
625 if (x == _CS_POSIX_V6_ILP32_OFF32_LIBS)
626 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
627 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
628 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
629 if (x == _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
630 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
631 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
632 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
633 if (x == _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
634 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
635 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
636 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
637 if (x == _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
638 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
639 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
640 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
641 if (x == _CS_POSIX_V6_ILP32_OFFBIG_LIBS)
642 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
643 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
644 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
645 if (x == _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
646 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
647 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
648 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
649 if (x == _CS_POSIX_V6_LP64_OFF64_CFLAGS)
650 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
651 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
652 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
653 if (x == _CS_POSIX_V6_LP64_OFF64_LDFLAGS)
654 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
655 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
656 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
657 if (x == _CS_POSIX_V6_LP64_OFF64_LIBS)
658 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
659 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
660 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
661 if (x == _CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
662 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
663 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
664 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
665 if (x == _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
666 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
667 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
668 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
669 if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
670 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
671 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
672 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
673 if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
674 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
675 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
676 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
677 if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
678 {*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
679 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
680 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
681 if (x == _CS_V6_WIDTH_RESTRICTED_ENVS)
682 {*r = Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
683 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
684 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
685 if (x == _CS_XBS5_ILP32_OFF32_CFLAGS)
686 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
687 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
688 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
689 if (x == _CS_XBS5_ILP32_OFF32_LDFLAGS)
690 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
691 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
692 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
693 if (x == _CS_XBS5_ILP32_OFF32_LIBS)
694 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS; return 0;}
695 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
696 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
697 if (x == _CS_XBS5_ILP32_OFF32_LINTFLAGS)
698 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
699 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
700 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
701 if (x == _CS_XBS5_ILP32_OFFBIG_CFLAGS)
702 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
703 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
704 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
705 if (x == _CS_XBS5_ILP32_OFFBIG_LDFLAGS)
706 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
707 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
708 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
709 if (x == _CS_XBS5_ILP32_OFFBIG_LIBS)
710 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
711 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
712 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
713 if (x == _CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
714 {*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
715 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
716 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
717 if (x == _CS_XBS5_LP64_OFF64_CFLAGS)
718 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
719 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
720 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
721 if (x == _CS_XBS5_LP64_OFF64_LDFLAGS)
722 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
723 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
724 #ifdef _CS_XBS5_LP64_OFF64_LIBS
725 if (x == _CS_XBS5_LP64_OFF64_LIBS)
726 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS; return 0;}
727 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
728 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
729 if (x == _CS_XBS5_LP64_OFF64_LINTFLAGS)
730 {*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
731 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
732 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
733 if (x == _CS_XBS5_LPBIG_OFFBIG_CFLAGS)
734 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
735 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
736 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
737 if (x == _CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
738 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
739 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
740 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
741 if (x == _CS_XBS5_LPBIG_OFFBIG_LIBS)
742 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
743 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
744 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
745 if (x == _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
746 {*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
747 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
748 errno = EINVAL; return -1;
751 int Mono_Posix_FromDirectoryNotifyFlags (int x, int *r)
753 *r = 0;
754 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ACCESS) == Mono_Posix_DirectoryNotifyFlags_DN_ACCESS)
755 #ifdef DN_ACCESS
756 *r |= DN_ACCESS;
757 #else /* def DN_ACCESS */
758 {errno = EINVAL; return -1;}
759 #endif /* ndef DN_ACCESS */
760 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB) == Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB)
761 #ifdef DN_ATTRIB
762 *r |= DN_ATTRIB;
763 #else /* def DN_ATTRIB */
764 {errno = EINVAL; return -1;}
765 #endif /* ndef DN_ATTRIB */
766 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_CREATE) == Mono_Posix_DirectoryNotifyFlags_DN_CREATE)
767 #ifdef DN_CREATE
768 *r |= DN_CREATE;
769 #else /* def DN_CREATE */
770 {errno = EINVAL; return -1;}
771 #endif /* ndef DN_CREATE */
772 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_DELETE) == Mono_Posix_DirectoryNotifyFlags_DN_DELETE)
773 #ifdef DN_DELETE
774 *r |= DN_DELETE;
775 #else /* def DN_DELETE */
776 {errno = EINVAL; return -1;}
777 #endif /* ndef DN_DELETE */
778 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MODIFY) == Mono_Posix_DirectoryNotifyFlags_DN_MODIFY)
779 #ifdef DN_MODIFY
780 *r |= DN_MODIFY;
781 #else /* def DN_MODIFY */
782 {errno = EINVAL; return -1;}
783 #endif /* ndef DN_MODIFY */
784 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT) == Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT)
785 #ifdef DN_MULTISHOT
786 *r |= DN_MULTISHOT;
787 #else /* def DN_MULTISHOT */
788 {errno = EINVAL; return -1;}
789 #endif /* ndef DN_MULTISHOT */
790 if ((x & Mono_Posix_DirectoryNotifyFlags_DN_RENAME) == Mono_Posix_DirectoryNotifyFlags_DN_RENAME)
791 #ifdef DN_RENAME
792 *r |= DN_RENAME;
793 #else /* def DN_RENAME */
794 {errno = EINVAL; return -1;}
795 #endif /* ndef DN_RENAME */
796 if (x == 0)
797 return 0;
798 return 0;
801 int Mono_Posix_ToDirectoryNotifyFlags (int x, int *r)
803 *r = 0;
804 if (x == 0)
805 return 0;
806 #ifdef DN_ACCESS
807 if ((x & DN_ACCESS) == DN_ACCESS)
808 *r |= Mono_Posix_DirectoryNotifyFlags_DN_ACCESS;
809 #endif /* ndef DN_ACCESS */
810 #ifdef DN_ATTRIB
811 if ((x & DN_ATTRIB) == DN_ATTRIB)
812 *r |= Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB;
813 #endif /* ndef DN_ATTRIB */
814 #ifdef DN_CREATE
815 if ((x & DN_CREATE) == DN_CREATE)
816 *r |= Mono_Posix_DirectoryNotifyFlags_DN_CREATE;
817 #endif /* ndef DN_CREATE */
818 #ifdef DN_DELETE
819 if ((x & DN_DELETE) == DN_DELETE)
820 *r |= Mono_Posix_DirectoryNotifyFlags_DN_DELETE;
821 #endif /* ndef DN_DELETE */
822 #ifdef DN_MODIFY
823 if ((x & DN_MODIFY) == DN_MODIFY)
824 *r |= Mono_Posix_DirectoryNotifyFlags_DN_MODIFY;
825 #endif /* ndef DN_MODIFY */
826 #ifdef DN_MULTISHOT
827 if ((x & DN_MULTISHOT) == DN_MULTISHOT)
828 *r |= Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT;
829 #endif /* ndef DN_MULTISHOT */
830 #ifdef DN_RENAME
831 if ((x & DN_RENAME) == DN_RENAME)
832 *r |= Mono_Posix_DirectoryNotifyFlags_DN_RENAME;
833 #endif /* ndef DN_RENAME */
834 return 0;
837 int Mono_Posix_FromErrno (int x, int *r)
839 *r = 0;
840 if (x == Mono_Posix_Errno_E2BIG)
841 #ifdef E2BIG
842 {*r = E2BIG; return 0;}
843 #else /* def E2BIG */
844 {errno = EINVAL; return -1;}
845 #endif /* ndef E2BIG */
846 if (x == Mono_Posix_Errno_EACCES)
847 #ifdef EACCES
848 {*r = EACCES; return 0;}
849 #else /* def EACCES */
850 {errno = EINVAL; return -1;}
851 #endif /* ndef EACCES */
852 if (x == Mono_Posix_Errno_EADDRINUSE)
853 #ifdef EADDRINUSE
854 {*r = EADDRINUSE; return 0;}
855 #else /* def EADDRINUSE */
856 {errno = EINVAL; return -1;}
857 #endif /* ndef EADDRINUSE */
858 if (x == Mono_Posix_Errno_EADDRNOTAVAIL)
859 #ifdef EADDRNOTAVAIL
860 {*r = EADDRNOTAVAIL; return 0;}
861 #else /* def EADDRNOTAVAIL */
862 {errno = EINVAL; return -1;}
863 #endif /* ndef EADDRNOTAVAIL */
864 if (x == Mono_Posix_Errno_EADV)
865 #ifdef EADV
866 {*r = EADV; return 0;}
867 #else /* def EADV */
868 {errno = EINVAL; return -1;}
869 #endif /* ndef EADV */
870 if (x == Mono_Posix_Errno_EAFNOSUPPORT)
871 #ifdef EAFNOSUPPORT
872 {*r = EAFNOSUPPORT; return 0;}
873 #else /* def EAFNOSUPPORT */
874 {errno = EINVAL; return -1;}
875 #endif /* ndef EAFNOSUPPORT */
876 if (x == Mono_Posix_Errno_EAGAIN)
877 #ifdef EAGAIN
878 {*r = EAGAIN; return 0;}
879 #else /* def EAGAIN */
880 {errno = EINVAL; return -1;}
881 #endif /* ndef EAGAIN */
882 if (x == Mono_Posix_Errno_EALREADY)
883 #ifdef EALREADY
884 {*r = EALREADY; return 0;}
885 #else /* def EALREADY */
886 {errno = EINVAL; return -1;}
887 #endif /* ndef EALREADY */
888 if (x == Mono_Posix_Errno_EBADE)
889 #ifdef EBADE
890 {*r = EBADE; return 0;}
891 #else /* def EBADE */
892 {errno = EINVAL; return -1;}
893 #endif /* ndef EBADE */
894 if (x == Mono_Posix_Errno_EBADF)
895 #ifdef EBADF
896 {*r = EBADF; return 0;}
897 #else /* def EBADF */
898 {errno = EINVAL; return -1;}
899 #endif /* ndef EBADF */
900 if (x == Mono_Posix_Errno_EBADFD)
901 #ifdef EBADFD
902 {*r = EBADFD; return 0;}
903 #else /* def EBADFD */
904 {errno = EINVAL; return -1;}
905 #endif /* ndef EBADFD */
906 if (x == Mono_Posix_Errno_EBADMSG)
907 #ifdef EBADMSG
908 {*r = EBADMSG; return 0;}
909 #else /* def EBADMSG */
910 {errno = EINVAL; return -1;}
911 #endif /* ndef EBADMSG */
912 if (x == Mono_Posix_Errno_EBADR)
913 #ifdef EBADR
914 {*r = EBADR; return 0;}
915 #else /* def EBADR */
916 {errno = EINVAL; return -1;}
917 #endif /* ndef EBADR */
918 if (x == Mono_Posix_Errno_EBADRQC)
919 #ifdef EBADRQC
920 {*r = EBADRQC; return 0;}
921 #else /* def EBADRQC */
922 {errno = EINVAL; return -1;}
923 #endif /* ndef EBADRQC */
924 if (x == Mono_Posix_Errno_EBADSLT)
925 #ifdef EBADSLT
926 {*r = EBADSLT; return 0;}
927 #else /* def EBADSLT */
928 {errno = EINVAL; return -1;}
929 #endif /* ndef EBADSLT */
930 if (x == Mono_Posix_Errno_EBFONT)
931 #ifdef EBFONT
932 {*r = EBFONT; return 0;}
933 #else /* def EBFONT */
934 {errno = EINVAL; return -1;}
935 #endif /* ndef EBFONT */
936 if (x == Mono_Posix_Errno_EBUSY)
937 #ifdef EBUSY
938 {*r = EBUSY; return 0;}
939 #else /* def EBUSY */
940 {errno = EINVAL; return -1;}
941 #endif /* ndef EBUSY */
942 if (x == Mono_Posix_Errno_ECHILD)
943 #ifdef ECHILD
944 {*r = ECHILD; return 0;}
945 #else /* def ECHILD */
946 {errno = EINVAL; return -1;}
947 #endif /* ndef ECHILD */
948 if (x == Mono_Posix_Errno_ECHRNG)
949 #ifdef ECHRNG
950 {*r = ECHRNG; return 0;}
951 #else /* def ECHRNG */
952 {errno = EINVAL; return -1;}
953 #endif /* ndef ECHRNG */
954 if (x == Mono_Posix_Errno_ECOMM)
955 #ifdef ECOMM
956 {*r = ECOMM; return 0;}
957 #else /* def ECOMM */
958 {errno = EINVAL; return -1;}
959 #endif /* ndef ECOMM */
960 if (x == Mono_Posix_Errno_ECONNABORTED)
961 #ifdef ECONNABORTED
962 {*r = ECONNABORTED; return 0;}
963 #else /* def ECONNABORTED */
964 {errno = EINVAL; return -1;}
965 #endif /* ndef ECONNABORTED */
966 if (x == Mono_Posix_Errno_ECONNREFUSED)
967 #ifdef ECONNREFUSED
968 {*r = ECONNREFUSED; return 0;}
969 #else /* def ECONNREFUSED */
970 {errno = EINVAL; return -1;}
971 #endif /* ndef ECONNREFUSED */
972 if (x == Mono_Posix_Errno_ECONNRESET)
973 #ifdef ECONNRESET
974 {*r = ECONNRESET; return 0;}
975 #else /* def ECONNRESET */
976 {errno = EINVAL; return -1;}
977 #endif /* ndef ECONNRESET */
978 if (x == Mono_Posix_Errno_EDEADLK)
979 #ifdef EDEADLK
980 {*r = EDEADLK; return 0;}
981 #else /* def EDEADLK */
982 {errno = EINVAL; return -1;}
983 #endif /* ndef EDEADLK */
984 if (x == Mono_Posix_Errno_EDEADLOCK)
985 #ifdef EDEADLOCK
986 {*r = EDEADLOCK; return 0;}
987 #else /* def EDEADLOCK */
988 {errno = EINVAL; return -1;}
989 #endif /* ndef EDEADLOCK */
990 if (x == Mono_Posix_Errno_EDESTADDRREQ)
991 #ifdef EDESTADDRREQ
992 {*r = EDESTADDRREQ; return 0;}
993 #else /* def EDESTADDRREQ */
994 {errno = EINVAL; return -1;}
995 #endif /* ndef EDESTADDRREQ */
996 if (x == Mono_Posix_Errno_EDOM)
997 #ifdef EDOM
998 {*r = EDOM; return 0;}
999 #else /* def EDOM */
1000 {errno = EINVAL; return -1;}
1001 #endif /* ndef EDOM */
1002 if (x == Mono_Posix_Errno_EDOTDOT)
1003 #ifdef EDOTDOT
1004 {*r = EDOTDOT; return 0;}
1005 #else /* def EDOTDOT */
1006 {errno = EINVAL; return -1;}
1007 #endif /* ndef EDOTDOT */
1008 if (x == Mono_Posix_Errno_EDQUOT)
1009 #ifdef EDQUOT
1010 {*r = EDQUOT; return 0;}
1011 #else /* def EDQUOT */
1012 {errno = EINVAL; return -1;}
1013 #endif /* ndef EDQUOT */
1014 if (x == Mono_Posix_Errno_EEXIST)
1015 #ifdef EEXIST
1016 {*r = EEXIST; return 0;}
1017 #else /* def EEXIST */
1018 {errno = EINVAL; return -1;}
1019 #endif /* ndef EEXIST */
1020 if (x == Mono_Posix_Errno_EFAULT)
1021 #ifdef EFAULT
1022 {*r = EFAULT; return 0;}
1023 #else /* def EFAULT */
1024 {errno = EINVAL; return -1;}
1025 #endif /* ndef EFAULT */
1026 if (x == Mono_Posix_Errno_EFBIG)
1027 #ifdef EFBIG
1028 {*r = EFBIG; return 0;}
1029 #else /* def EFBIG */
1030 {errno = EINVAL; return -1;}
1031 #endif /* ndef EFBIG */
1032 if (x == Mono_Posix_Errno_EHOSTDOWN)
1033 #ifdef EHOSTDOWN
1034 {*r = EHOSTDOWN; return 0;}
1035 #else /* def EHOSTDOWN */
1036 {errno = EINVAL; return -1;}
1037 #endif /* ndef EHOSTDOWN */
1038 if (x == Mono_Posix_Errno_EHOSTUNREACH)
1039 #ifdef EHOSTUNREACH
1040 {*r = EHOSTUNREACH; return 0;}
1041 #else /* def EHOSTUNREACH */
1042 {errno = EINVAL; return -1;}
1043 #endif /* ndef EHOSTUNREACH */
1044 if (x == Mono_Posix_Errno_EIDRM)
1045 #ifdef EIDRM
1046 {*r = EIDRM; return 0;}
1047 #else /* def EIDRM */
1048 {errno = EINVAL; return -1;}
1049 #endif /* ndef EIDRM */
1050 if (x == Mono_Posix_Errno_EILSEQ)
1051 #ifdef EILSEQ
1052 {*r = EILSEQ; return 0;}
1053 #else /* def EILSEQ */
1054 {errno = EINVAL; return -1;}
1055 #endif /* ndef EILSEQ */
1056 if (x == Mono_Posix_Errno_EINPROGRESS)
1057 #ifdef EINPROGRESS
1058 {*r = EINPROGRESS; return 0;}
1059 #else /* def EINPROGRESS */
1060 {errno = EINVAL; return -1;}
1061 #endif /* ndef EINPROGRESS */
1062 if (x == Mono_Posix_Errno_EINTR)
1063 #ifdef EINTR
1064 {*r = EINTR; return 0;}
1065 #else /* def EINTR */
1066 {errno = EINVAL; return -1;}
1067 #endif /* ndef EINTR */
1068 if (x == Mono_Posix_Errno_EINVAL)
1069 #ifdef EINVAL
1070 {*r = EINVAL; return 0;}
1071 #else /* def EINVAL */
1072 {errno = EINVAL; return -1;}
1073 #endif /* ndef EINVAL */
1074 if (x == Mono_Posix_Errno_EIO)
1075 #ifdef EIO
1076 {*r = EIO; return 0;}
1077 #else /* def EIO */
1078 {errno = EINVAL; return -1;}
1079 #endif /* ndef EIO */
1080 if (x == Mono_Posix_Errno_EISCONN)
1081 #ifdef EISCONN
1082 {*r = EISCONN; return 0;}
1083 #else /* def EISCONN */
1084 {errno = EINVAL; return -1;}
1085 #endif /* ndef EISCONN */
1086 if (x == Mono_Posix_Errno_EISDIR)
1087 #ifdef EISDIR
1088 {*r = EISDIR; return 0;}
1089 #else /* def EISDIR */
1090 {errno = EINVAL; return -1;}
1091 #endif /* ndef EISDIR */
1092 if (x == Mono_Posix_Errno_EISNAM)
1093 #ifdef EISNAM
1094 {*r = EISNAM; return 0;}
1095 #else /* def EISNAM */
1096 {errno = EINVAL; return -1;}
1097 #endif /* ndef EISNAM */
1098 if (x == Mono_Posix_Errno_EL2HLT)
1099 #ifdef EL2HLT
1100 {*r = EL2HLT; return 0;}
1101 #else /* def EL2HLT */
1102 {errno = EINVAL; return -1;}
1103 #endif /* ndef EL2HLT */
1104 if (x == Mono_Posix_Errno_EL2NSYNC)
1105 #ifdef EL2NSYNC
1106 {*r = EL2NSYNC; return 0;}
1107 #else /* def EL2NSYNC */
1108 {errno = EINVAL; return -1;}
1109 #endif /* ndef EL2NSYNC */
1110 if (x == Mono_Posix_Errno_EL3HLT)
1111 #ifdef EL3HLT
1112 {*r = EL3HLT; return 0;}
1113 #else /* def EL3HLT */
1114 {errno = EINVAL; return -1;}
1115 #endif /* ndef EL3HLT */
1116 if (x == Mono_Posix_Errno_EL3RST)
1117 #ifdef EL3RST
1118 {*r = EL3RST; return 0;}
1119 #else /* def EL3RST */
1120 {errno = EINVAL; return -1;}
1121 #endif /* ndef EL3RST */
1122 if (x == Mono_Posix_Errno_ELIBACC)
1123 #ifdef ELIBACC
1124 {*r = ELIBACC; return 0;}
1125 #else /* def ELIBACC */
1126 {errno = EINVAL; return -1;}
1127 #endif /* ndef ELIBACC */
1128 if (x == Mono_Posix_Errno_ELIBBAD)
1129 #ifdef ELIBBAD
1130 {*r = ELIBBAD; return 0;}
1131 #else /* def ELIBBAD */
1132 {errno = EINVAL; return -1;}
1133 #endif /* ndef ELIBBAD */
1134 if (x == Mono_Posix_Errno_ELIBEXEC)
1135 #ifdef ELIBEXEC
1136 {*r = ELIBEXEC; return 0;}
1137 #else /* def ELIBEXEC */
1138 {errno = EINVAL; return -1;}
1139 #endif /* ndef ELIBEXEC */
1140 if (x == Mono_Posix_Errno_ELIBMAX)
1141 #ifdef ELIBMAX
1142 {*r = ELIBMAX; return 0;}
1143 #else /* def ELIBMAX */
1144 {errno = EINVAL; return -1;}
1145 #endif /* ndef ELIBMAX */
1146 if (x == Mono_Posix_Errno_ELIBSCN)
1147 #ifdef ELIBSCN
1148 {*r = ELIBSCN; return 0;}
1149 #else /* def ELIBSCN */
1150 {errno = EINVAL; return -1;}
1151 #endif /* ndef ELIBSCN */
1152 if (x == Mono_Posix_Errno_ELNRNG)
1153 #ifdef ELNRNG
1154 {*r = ELNRNG; return 0;}
1155 #else /* def ELNRNG */
1156 {errno = EINVAL; return -1;}
1157 #endif /* ndef ELNRNG */
1158 if (x == Mono_Posix_Errno_ELOOP)
1159 #ifdef ELOOP
1160 {*r = ELOOP; return 0;}
1161 #else /* def ELOOP */
1162 {errno = EINVAL; return -1;}
1163 #endif /* ndef ELOOP */
1164 if (x == Mono_Posix_Errno_EMEDIUMTYPE)
1165 #ifdef EMEDIUMTYPE
1166 {*r = EMEDIUMTYPE; return 0;}
1167 #else /* def EMEDIUMTYPE */
1168 {errno = EINVAL; return -1;}
1169 #endif /* ndef EMEDIUMTYPE */
1170 if (x == Mono_Posix_Errno_EMFILE)
1171 #ifdef EMFILE
1172 {*r = EMFILE; return 0;}
1173 #else /* def EMFILE */
1174 {errno = EINVAL; return -1;}
1175 #endif /* ndef EMFILE */
1176 if (x == Mono_Posix_Errno_EMLINK)
1177 #ifdef EMLINK
1178 {*r = EMLINK; return 0;}
1179 #else /* def EMLINK */
1180 {errno = EINVAL; return -1;}
1181 #endif /* ndef EMLINK */
1182 if (x == Mono_Posix_Errno_EMSGSIZE)
1183 #ifdef EMSGSIZE
1184 {*r = EMSGSIZE; return 0;}
1185 #else /* def EMSGSIZE */
1186 {errno = EINVAL; return -1;}
1187 #endif /* ndef EMSGSIZE */
1188 if (x == Mono_Posix_Errno_EMULTIHOP)
1189 #ifdef EMULTIHOP
1190 {*r = EMULTIHOP; return 0;}
1191 #else /* def EMULTIHOP */
1192 {errno = EINVAL; return -1;}
1193 #endif /* ndef EMULTIHOP */
1194 if (x == Mono_Posix_Errno_ENAMETOOLONG)
1195 #ifdef ENAMETOOLONG
1196 {*r = ENAMETOOLONG; return 0;}
1197 #else /* def ENAMETOOLONG */
1198 {errno = EINVAL; return -1;}
1199 #endif /* ndef ENAMETOOLONG */
1200 if (x == Mono_Posix_Errno_ENAVAIL)
1201 #ifdef ENAVAIL
1202 {*r = ENAVAIL; return 0;}
1203 #else /* def ENAVAIL */
1204 {errno = EINVAL; return -1;}
1205 #endif /* ndef ENAVAIL */
1206 if (x == Mono_Posix_Errno_ENETDOWN)
1207 #ifdef ENETDOWN
1208 {*r = ENETDOWN; return 0;}
1209 #else /* def ENETDOWN */
1210 {errno = EINVAL; return -1;}
1211 #endif /* ndef ENETDOWN */
1212 if (x == Mono_Posix_Errno_ENETRESET)
1213 #ifdef ENETRESET
1214 {*r = ENETRESET; return 0;}
1215 #else /* def ENETRESET */
1216 {errno = EINVAL; return -1;}
1217 #endif /* ndef ENETRESET */
1218 if (x == Mono_Posix_Errno_ENETUNREACH)
1219 #ifdef ENETUNREACH
1220 {*r = ENETUNREACH; return 0;}
1221 #else /* def ENETUNREACH */
1222 {errno = EINVAL; return -1;}
1223 #endif /* ndef ENETUNREACH */
1224 if (x == Mono_Posix_Errno_ENFILE)
1225 #ifdef ENFILE
1226 {*r = ENFILE; return 0;}
1227 #else /* def ENFILE */
1228 {errno = EINVAL; return -1;}
1229 #endif /* ndef ENFILE */
1230 if (x == Mono_Posix_Errno_ENOANO)
1231 #ifdef ENOANO
1232 {*r = ENOANO; return 0;}
1233 #else /* def ENOANO */
1234 {errno = EINVAL; return -1;}
1235 #endif /* ndef ENOANO */
1236 if (x == Mono_Posix_Errno_ENOBUFS)
1237 #ifdef ENOBUFS
1238 {*r = ENOBUFS; return 0;}
1239 #else /* def ENOBUFS */
1240 {errno = EINVAL; return -1;}
1241 #endif /* ndef ENOBUFS */
1242 if (x == Mono_Posix_Errno_ENOCSI)
1243 #ifdef ENOCSI
1244 {*r = ENOCSI; return 0;}
1245 #else /* def ENOCSI */
1246 {errno = EINVAL; return -1;}
1247 #endif /* ndef ENOCSI */
1248 if (x == Mono_Posix_Errno_ENODATA)
1249 #ifdef ENODATA
1250 {*r = ENODATA; return 0;}
1251 #else /* def ENODATA */
1252 {errno = EINVAL; return -1;}
1253 #endif /* ndef ENODATA */
1254 if (x == Mono_Posix_Errno_ENODEV)
1255 #ifdef ENODEV
1256 {*r = ENODEV; return 0;}
1257 #else /* def ENODEV */
1258 {errno = EINVAL; return -1;}
1259 #endif /* ndef ENODEV */
1260 if (x == Mono_Posix_Errno_ENOENT)
1261 #ifdef ENOENT
1262 {*r = ENOENT; return 0;}
1263 #else /* def ENOENT */
1264 {errno = EINVAL; return -1;}
1265 #endif /* ndef ENOENT */
1266 if (x == Mono_Posix_Errno_ENOEXEC)
1267 #ifdef ENOEXEC
1268 {*r = ENOEXEC; return 0;}
1269 #else /* def ENOEXEC */
1270 {errno = EINVAL; return -1;}
1271 #endif /* ndef ENOEXEC */
1272 if (x == Mono_Posix_Errno_ENOLCK)
1273 #ifdef ENOLCK
1274 {*r = ENOLCK; return 0;}
1275 #else /* def ENOLCK */
1276 {errno = EINVAL; return -1;}
1277 #endif /* ndef ENOLCK */
1278 if (x == Mono_Posix_Errno_ENOLINK)
1279 #ifdef ENOLINK
1280 {*r = ENOLINK; return 0;}
1281 #else /* def ENOLINK */
1282 {errno = EINVAL; return -1;}
1283 #endif /* ndef ENOLINK */
1284 if (x == Mono_Posix_Errno_ENOMEDIUM)
1285 #ifdef ENOMEDIUM
1286 {*r = ENOMEDIUM; return 0;}
1287 #else /* def ENOMEDIUM */
1288 {errno = EINVAL; return -1;}
1289 #endif /* ndef ENOMEDIUM */
1290 if (x == Mono_Posix_Errno_ENOMEM)
1291 #ifdef ENOMEM
1292 {*r = ENOMEM; return 0;}
1293 #else /* def ENOMEM */
1294 {errno = EINVAL; return -1;}
1295 #endif /* ndef ENOMEM */
1296 if (x == Mono_Posix_Errno_ENOMSG)
1297 #ifdef ENOMSG
1298 {*r = ENOMSG; return 0;}
1299 #else /* def ENOMSG */
1300 {errno = EINVAL; return -1;}
1301 #endif /* ndef ENOMSG */
1302 if (x == Mono_Posix_Errno_ENONET)
1303 #ifdef ENONET
1304 {*r = ENONET; return 0;}
1305 #else /* def ENONET */
1306 {errno = EINVAL; return -1;}
1307 #endif /* ndef ENONET */
1308 if (x == Mono_Posix_Errno_ENOPKG)
1309 #ifdef ENOPKG
1310 {*r = ENOPKG; return 0;}
1311 #else /* def ENOPKG */
1312 {errno = EINVAL; return -1;}
1313 #endif /* ndef ENOPKG */
1314 if (x == Mono_Posix_Errno_ENOPROTOOPT)
1315 #ifdef ENOPROTOOPT
1316 {*r = ENOPROTOOPT; return 0;}
1317 #else /* def ENOPROTOOPT */
1318 {errno = EINVAL; return -1;}
1319 #endif /* ndef ENOPROTOOPT */
1320 if (x == Mono_Posix_Errno_ENOSPC)
1321 #ifdef ENOSPC
1322 {*r = ENOSPC; return 0;}
1323 #else /* def ENOSPC */
1324 {errno = EINVAL; return -1;}
1325 #endif /* ndef ENOSPC */
1326 if (x == Mono_Posix_Errno_ENOSR)
1327 #ifdef ENOSR
1328 {*r = ENOSR; return 0;}
1329 #else /* def ENOSR */
1330 {errno = EINVAL; return -1;}
1331 #endif /* ndef ENOSR */
1332 if (x == Mono_Posix_Errno_ENOSTR)
1333 #ifdef ENOSTR
1334 {*r = ENOSTR; return 0;}
1335 #else /* def ENOSTR */
1336 {errno = EINVAL; return -1;}
1337 #endif /* ndef ENOSTR */
1338 if (x == Mono_Posix_Errno_ENOSYS)
1339 #ifdef ENOSYS
1340 {*r = ENOSYS; return 0;}
1341 #else /* def ENOSYS */
1342 {errno = EINVAL; return -1;}
1343 #endif /* ndef ENOSYS */
1344 if (x == Mono_Posix_Errno_ENOTBLK)
1345 #ifdef ENOTBLK
1346 {*r = ENOTBLK; return 0;}
1347 #else /* def ENOTBLK */
1348 {errno = EINVAL; return -1;}
1349 #endif /* ndef ENOTBLK */
1350 if (x == Mono_Posix_Errno_ENOTCONN)
1351 #ifdef ENOTCONN
1352 {*r = ENOTCONN; return 0;}
1353 #else /* def ENOTCONN */
1354 {errno = EINVAL; return -1;}
1355 #endif /* ndef ENOTCONN */
1356 if (x == Mono_Posix_Errno_ENOTDIR)
1357 #ifdef ENOTDIR
1358 {*r = ENOTDIR; return 0;}
1359 #else /* def ENOTDIR */
1360 {errno = EINVAL; return -1;}
1361 #endif /* ndef ENOTDIR */
1362 if (x == Mono_Posix_Errno_ENOTEMPTY)
1363 #ifdef ENOTEMPTY
1364 {*r = ENOTEMPTY; return 0;}
1365 #else /* def ENOTEMPTY */
1366 {errno = EINVAL; return -1;}
1367 #endif /* ndef ENOTEMPTY */
1368 if (x == Mono_Posix_Errno_ENOTNAM)
1369 #ifdef ENOTNAM
1370 {*r = ENOTNAM; return 0;}
1371 #else /* def ENOTNAM */
1372 {errno = EINVAL; return -1;}
1373 #endif /* ndef ENOTNAM */
1374 if (x == Mono_Posix_Errno_ENOTSOCK)
1375 #ifdef ENOTSOCK
1376 {*r = ENOTSOCK; return 0;}
1377 #else /* def ENOTSOCK */
1378 {errno = EINVAL; return -1;}
1379 #endif /* ndef ENOTSOCK */
1380 if (x == Mono_Posix_Errno_ENOTTY)
1381 #ifdef ENOTTY
1382 {*r = ENOTTY; return 0;}
1383 #else /* def ENOTTY */
1384 {errno = EINVAL; return -1;}
1385 #endif /* ndef ENOTTY */
1386 if (x == Mono_Posix_Errno_ENOTUNIQ)
1387 #ifdef ENOTUNIQ
1388 {*r = ENOTUNIQ; return 0;}
1389 #else /* def ENOTUNIQ */
1390 {errno = EINVAL; return -1;}
1391 #endif /* ndef ENOTUNIQ */
1392 if (x == Mono_Posix_Errno_ENXIO)
1393 #ifdef ENXIO
1394 {*r = ENXIO; return 0;}
1395 #else /* def ENXIO */
1396 {errno = EINVAL; return -1;}
1397 #endif /* ndef ENXIO */
1398 if (x == Mono_Posix_Errno_EOPNOTSUPP)
1399 #ifdef EOPNOTSUPP
1400 {*r = EOPNOTSUPP; return 0;}
1401 #else /* def EOPNOTSUPP */
1402 {errno = EINVAL; return -1;}
1403 #endif /* ndef EOPNOTSUPP */
1404 if (x == Mono_Posix_Errno_EOVERFLOW)
1405 #ifdef EOVERFLOW
1406 {*r = EOVERFLOW; return 0;}
1407 #else /* def EOVERFLOW */
1408 {errno = EINVAL; return -1;}
1409 #endif /* ndef EOVERFLOW */
1410 if (x == Mono_Posix_Errno_EPERM)
1411 #ifdef EPERM
1412 {*r = EPERM; return 0;}
1413 #else /* def EPERM */
1414 {errno = EINVAL; return -1;}
1415 #endif /* ndef EPERM */
1416 if (x == Mono_Posix_Errno_EPFNOSUPPORT)
1417 #ifdef EPFNOSUPPORT
1418 {*r = EPFNOSUPPORT; return 0;}
1419 #else /* def EPFNOSUPPORT */
1420 {errno = EINVAL; return -1;}
1421 #endif /* ndef EPFNOSUPPORT */
1422 if (x == Mono_Posix_Errno_EPIPE)
1423 #ifdef EPIPE
1424 {*r = EPIPE; return 0;}
1425 #else /* def EPIPE */
1426 {errno = EINVAL; return -1;}
1427 #endif /* ndef EPIPE */
1428 if (x == Mono_Posix_Errno_EPROTO)
1429 #ifdef EPROTO
1430 {*r = EPROTO; return 0;}
1431 #else /* def EPROTO */
1432 {errno = EINVAL; return -1;}
1433 #endif /* ndef EPROTO */
1434 if (x == Mono_Posix_Errno_EPROTONOSUPPORT)
1435 #ifdef EPROTONOSUPPORT
1436 {*r = EPROTONOSUPPORT; return 0;}
1437 #else /* def EPROTONOSUPPORT */
1438 {errno = EINVAL; return -1;}
1439 #endif /* ndef EPROTONOSUPPORT */
1440 if (x == Mono_Posix_Errno_EPROTOTYPE)
1441 #ifdef EPROTOTYPE
1442 {*r = EPROTOTYPE; return 0;}
1443 #else /* def EPROTOTYPE */
1444 {errno = EINVAL; return -1;}
1445 #endif /* ndef EPROTOTYPE */
1446 if (x == Mono_Posix_Errno_ERANGE)
1447 #ifdef ERANGE
1448 {*r = ERANGE; return 0;}
1449 #else /* def ERANGE */
1450 {errno = EINVAL; return -1;}
1451 #endif /* ndef ERANGE */
1452 if (x == Mono_Posix_Errno_EREMCHG)
1453 #ifdef EREMCHG
1454 {*r = EREMCHG; return 0;}
1455 #else /* def EREMCHG */
1456 {errno = EINVAL; return -1;}
1457 #endif /* ndef EREMCHG */
1458 if (x == Mono_Posix_Errno_EREMOTE)
1459 #ifdef EREMOTE
1460 {*r = EREMOTE; return 0;}
1461 #else /* def EREMOTE */
1462 {errno = EINVAL; return -1;}
1463 #endif /* ndef EREMOTE */
1464 if (x == Mono_Posix_Errno_EREMOTEIO)
1465 #ifdef EREMOTEIO
1466 {*r = EREMOTEIO; return 0;}
1467 #else /* def EREMOTEIO */
1468 {errno = EINVAL; return -1;}
1469 #endif /* ndef EREMOTEIO */
1470 if (x == Mono_Posix_Errno_ERESTART)
1471 #ifdef ERESTART
1472 {*r = ERESTART; return 0;}
1473 #else /* def ERESTART */
1474 {errno = EINVAL; return -1;}
1475 #endif /* ndef ERESTART */
1476 if (x == Mono_Posix_Errno_EROFS)
1477 #ifdef EROFS
1478 {*r = EROFS; return 0;}
1479 #else /* def EROFS */
1480 {errno = EINVAL; return -1;}
1481 #endif /* ndef EROFS */
1482 if (x == Mono_Posix_Errno_ESHUTDOWN)
1483 #ifdef ESHUTDOWN
1484 {*r = ESHUTDOWN; return 0;}
1485 #else /* def ESHUTDOWN */
1486 {errno = EINVAL; return -1;}
1487 #endif /* ndef ESHUTDOWN */
1488 if (x == Mono_Posix_Errno_ESOCKTNOSUPPORT)
1489 #ifdef ESOCKTNOSUPPORT
1490 {*r = ESOCKTNOSUPPORT; return 0;}
1491 #else /* def ESOCKTNOSUPPORT */
1492 {errno = EINVAL; return -1;}
1493 #endif /* ndef ESOCKTNOSUPPORT */
1494 if (x == Mono_Posix_Errno_ESPIPE)
1495 #ifdef ESPIPE
1496 {*r = ESPIPE; return 0;}
1497 #else /* def ESPIPE */
1498 {errno = EINVAL; return -1;}
1499 #endif /* ndef ESPIPE */
1500 if (x == Mono_Posix_Errno_ESRCH)
1501 #ifdef ESRCH
1502 {*r = ESRCH; return 0;}
1503 #else /* def ESRCH */
1504 {errno = EINVAL; return -1;}
1505 #endif /* ndef ESRCH */
1506 if (x == Mono_Posix_Errno_ESRMNT)
1507 #ifdef ESRMNT
1508 {*r = ESRMNT; return 0;}
1509 #else /* def ESRMNT */
1510 {errno = EINVAL; return -1;}
1511 #endif /* ndef ESRMNT */
1512 if (x == Mono_Posix_Errno_ESTALE)
1513 #ifdef ESTALE
1514 {*r = ESTALE; return 0;}
1515 #else /* def ESTALE */
1516 {errno = EINVAL; return -1;}
1517 #endif /* ndef ESTALE */
1518 if (x == Mono_Posix_Errno_ESTRPIPE)
1519 #ifdef ESTRPIPE
1520 {*r = ESTRPIPE; return 0;}
1521 #else /* def ESTRPIPE */
1522 {errno = EINVAL; return -1;}
1523 #endif /* ndef ESTRPIPE */
1524 if (x == Mono_Posix_Errno_ETIME)
1525 #ifdef ETIME
1526 {*r = ETIME; return 0;}
1527 #else /* def ETIME */
1528 {errno = EINVAL; return -1;}
1529 #endif /* ndef ETIME */
1530 if (x == Mono_Posix_Errno_ETIMEDOUT)
1531 #ifdef ETIMEDOUT
1532 {*r = ETIMEDOUT; return 0;}
1533 #else /* def ETIMEDOUT */
1534 {errno = EINVAL; return -1;}
1535 #endif /* ndef ETIMEDOUT */
1536 if (x == Mono_Posix_Errno_ETOOMANYREFS)
1537 #ifdef ETOOMANYREFS
1538 {*r = ETOOMANYREFS; return 0;}
1539 #else /* def ETOOMANYREFS */
1540 {errno = EINVAL; return -1;}
1541 #endif /* ndef ETOOMANYREFS */
1542 if (x == Mono_Posix_Errno_ETXTBSY)
1543 #ifdef ETXTBSY
1544 {*r = ETXTBSY; return 0;}
1545 #else /* def ETXTBSY */
1546 {errno = EINVAL; return -1;}
1547 #endif /* ndef ETXTBSY */
1548 if (x == Mono_Posix_Errno_EUCLEAN)
1549 #ifdef EUCLEAN
1550 {*r = EUCLEAN; return 0;}
1551 #else /* def EUCLEAN */
1552 {errno = EINVAL; return -1;}
1553 #endif /* ndef EUCLEAN */
1554 if (x == Mono_Posix_Errno_EUNATCH)
1555 #ifdef EUNATCH
1556 {*r = EUNATCH; return 0;}
1557 #else /* def EUNATCH */
1558 {errno = EINVAL; return -1;}
1559 #endif /* ndef EUNATCH */
1560 if (x == Mono_Posix_Errno_EUSERS)
1561 #ifdef EUSERS
1562 {*r = EUSERS; return 0;}
1563 #else /* def EUSERS */
1564 {errno = EINVAL; return -1;}
1565 #endif /* ndef EUSERS */
1566 if (x == Mono_Posix_Errno_EWOULDBLOCK)
1567 #ifdef EWOULDBLOCK
1568 {*r = EWOULDBLOCK; return 0;}
1569 #else /* def EWOULDBLOCK */
1570 {errno = EINVAL; return -1;}
1571 #endif /* ndef EWOULDBLOCK */
1572 if (x == Mono_Posix_Errno_EXDEV)
1573 #ifdef EXDEV
1574 {*r = EXDEV; return 0;}
1575 #else /* def EXDEV */
1576 {errno = EINVAL; return -1;}
1577 #endif /* ndef EXDEV */
1578 if (x == Mono_Posix_Errno_EXFULL)
1579 #ifdef EXFULL
1580 {*r = EXFULL; return 0;}
1581 #else /* def EXFULL */
1582 {errno = EINVAL; return -1;}
1583 #endif /* ndef EXFULL */
1584 if (x == 0)
1585 return 0;
1586 errno = EINVAL; return -1;
1589 int Mono_Posix_ToErrno (int x, int *r)
1591 *r = 0;
1592 if (x == 0)
1593 return 0;
1594 #ifdef E2BIG
1595 if (x == E2BIG)
1596 {*r = Mono_Posix_Errno_E2BIG; return 0;}
1597 #endif /* ndef E2BIG */
1598 #ifdef EACCES
1599 if (x == EACCES)
1600 {*r = Mono_Posix_Errno_EACCES; return 0;}
1601 #endif /* ndef EACCES */
1602 #ifdef EADDRINUSE
1603 if (x == EADDRINUSE)
1604 {*r = Mono_Posix_Errno_EADDRINUSE; return 0;}
1605 #endif /* ndef EADDRINUSE */
1606 #ifdef EADDRNOTAVAIL
1607 if (x == EADDRNOTAVAIL)
1608 {*r = Mono_Posix_Errno_EADDRNOTAVAIL; return 0;}
1609 #endif /* ndef EADDRNOTAVAIL */
1610 #ifdef EADV
1611 if (x == EADV)
1612 {*r = Mono_Posix_Errno_EADV; return 0;}
1613 #endif /* ndef EADV */
1614 #ifdef EAFNOSUPPORT
1615 if (x == EAFNOSUPPORT)
1616 {*r = Mono_Posix_Errno_EAFNOSUPPORT; return 0;}
1617 #endif /* ndef EAFNOSUPPORT */
1618 #ifdef EAGAIN
1619 if (x == EAGAIN)
1620 {*r = Mono_Posix_Errno_EAGAIN; return 0;}
1621 #endif /* ndef EAGAIN */
1622 #ifdef EALREADY
1623 if (x == EALREADY)
1624 {*r = Mono_Posix_Errno_EALREADY; return 0;}
1625 #endif /* ndef EALREADY */
1626 #ifdef EBADE
1627 if (x == EBADE)
1628 {*r = Mono_Posix_Errno_EBADE; return 0;}
1629 #endif /* ndef EBADE */
1630 #ifdef EBADF
1631 if (x == EBADF)
1632 {*r = Mono_Posix_Errno_EBADF; return 0;}
1633 #endif /* ndef EBADF */
1634 #ifdef EBADFD
1635 if (x == EBADFD)
1636 {*r = Mono_Posix_Errno_EBADFD; return 0;}
1637 #endif /* ndef EBADFD */
1638 #ifdef EBADMSG
1639 if (x == EBADMSG)
1640 {*r = Mono_Posix_Errno_EBADMSG; return 0;}
1641 #endif /* ndef EBADMSG */
1642 #ifdef EBADR
1643 if (x == EBADR)
1644 {*r = Mono_Posix_Errno_EBADR; return 0;}
1645 #endif /* ndef EBADR */
1646 #ifdef EBADRQC
1647 if (x == EBADRQC)
1648 {*r = Mono_Posix_Errno_EBADRQC; return 0;}
1649 #endif /* ndef EBADRQC */
1650 #ifdef EBADSLT
1651 if (x == EBADSLT)
1652 {*r = Mono_Posix_Errno_EBADSLT; return 0;}
1653 #endif /* ndef EBADSLT */
1654 #ifdef EBFONT
1655 if (x == EBFONT)
1656 {*r = Mono_Posix_Errno_EBFONT; return 0;}
1657 #endif /* ndef EBFONT */
1658 #ifdef EBUSY
1659 if (x == EBUSY)
1660 {*r = Mono_Posix_Errno_EBUSY; return 0;}
1661 #endif /* ndef EBUSY */
1662 #ifdef ECHILD
1663 if (x == ECHILD)
1664 {*r = Mono_Posix_Errno_ECHILD; return 0;}
1665 #endif /* ndef ECHILD */
1666 #ifdef ECHRNG
1667 if (x == ECHRNG)
1668 {*r = Mono_Posix_Errno_ECHRNG; return 0;}
1669 #endif /* ndef ECHRNG */
1670 #ifdef ECOMM
1671 if (x == ECOMM)
1672 {*r = Mono_Posix_Errno_ECOMM; return 0;}
1673 #endif /* ndef ECOMM */
1674 #ifdef ECONNABORTED
1675 if (x == ECONNABORTED)
1676 {*r = Mono_Posix_Errno_ECONNABORTED; return 0;}
1677 #endif /* ndef ECONNABORTED */
1678 #ifdef ECONNREFUSED
1679 if (x == ECONNREFUSED)
1680 {*r = Mono_Posix_Errno_ECONNREFUSED; return 0;}
1681 #endif /* ndef ECONNREFUSED */
1682 #ifdef ECONNRESET
1683 if (x == ECONNRESET)
1684 {*r = Mono_Posix_Errno_ECONNRESET; return 0;}
1685 #endif /* ndef ECONNRESET */
1686 #ifdef EDEADLK
1687 if (x == EDEADLK)
1688 {*r = Mono_Posix_Errno_EDEADLK; return 0;}
1689 #endif /* ndef EDEADLK */
1690 #ifdef EDEADLOCK
1691 if (x == EDEADLOCK)
1692 {*r = Mono_Posix_Errno_EDEADLOCK; return 0;}
1693 #endif /* ndef EDEADLOCK */
1694 #ifdef EDESTADDRREQ
1695 if (x == EDESTADDRREQ)
1696 {*r = Mono_Posix_Errno_EDESTADDRREQ; return 0;}
1697 #endif /* ndef EDESTADDRREQ */
1698 #ifdef EDOM
1699 if (x == EDOM)
1700 {*r = Mono_Posix_Errno_EDOM; return 0;}
1701 #endif /* ndef EDOM */
1702 #ifdef EDOTDOT
1703 if (x == EDOTDOT)
1704 {*r = Mono_Posix_Errno_EDOTDOT; return 0;}
1705 #endif /* ndef EDOTDOT */
1706 #ifdef EDQUOT
1707 if (x == EDQUOT)
1708 {*r = Mono_Posix_Errno_EDQUOT; return 0;}
1709 #endif /* ndef EDQUOT */
1710 #ifdef EEXIST
1711 if (x == EEXIST)
1712 {*r = Mono_Posix_Errno_EEXIST; return 0;}
1713 #endif /* ndef EEXIST */
1714 #ifdef EFAULT
1715 if (x == EFAULT)
1716 {*r = Mono_Posix_Errno_EFAULT; return 0;}
1717 #endif /* ndef EFAULT */
1718 #ifdef EFBIG
1719 if (x == EFBIG)
1720 {*r = Mono_Posix_Errno_EFBIG; return 0;}
1721 #endif /* ndef EFBIG */
1722 #ifdef EHOSTDOWN
1723 if (x == EHOSTDOWN)
1724 {*r = Mono_Posix_Errno_EHOSTDOWN; return 0;}
1725 #endif /* ndef EHOSTDOWN */
1726 #ifdef EHOSTUNREACH
1727 if (x == EHOSTUNREACH)
1728 {*r = Mono_Posix_Errno_EHOSTUNREACH; return 0;}
1729 #endif /* ndef EHOSTUNREACH */
1730 #ifdef EIDRM
1731 if (x == EIDRM)
1732 {*r = Mono_Posix_Errno_EIDRM; return 0;}
1733 #endif /* ndef EIDRM */
1734 #ifdef EILSEQ
1735 if (x == EILSEQ)
1736 {*r = Mono_Posix_Errno_EILSEQ; return 0;}
1737 #endif /* ndef EILSEQ */
1738 #ifdef EINPROGRESS
1739 if (x == EINPROGRESS)
1740 {*r = Mono_Posix_Errno_EINPROGRESS; return 0;}
1741 #endif /* ndef EINPROGRESS */
1742 #ifdef EINTR
1743 if (x == EINTR)
1744 {*r = Mono_Posix_Errno_EINTR; return 0;}
1745 #endif /* ndef EINTR */
1746 #ifdef EINVAL
1747 if (x == EINVAL)
1748 {*r = Mono_Posix_Errno_EINVAL; return 0;}
1749 #endif /* ndef EINVAL */
1750 #ifdef EIO
1751 if (x == EIO)
1752 {*r = Mono_Posix_Errno_EIO; return 0;}
1753 #endif /* ndef EIO */
1754 #ifdef EISCONN
1755 if (x == EISCONN)
1756 {*r = Mono_Posix_Errno_EISCONN; return 0;}
1757 #endif /* ndef EISCONN */
1758 #ifdef EISDIR
1759 if (x == EISDIR)
1760 {*r = Mono_Posix_Errno_EISDIR; return 0;}
1761 #endif /* ndef EISDIR */
1762 #ifdef EISNAM
1763 if (x == EISNAM)
1764 {*r = Mono_Posix_Errno_EISNAM; return 0;}
1765 #endif /* ndef EISNAM */
1766 #ifdef EL2HLT
1767 if (x == EL2HLT)
1768 {*r = Mono_Posix_Errno_EL2HLT; return 0;}
1769 #endif /* ndef EL2HLT */
1770 #ifdef EL2NSYNC
1771 if (x == EL2NSYNC)
1772 {*r = Mono_Posix_Errno_EL2NSYNC; return 0;}
1773 #endif /* ndef EL2NSYNC */
1774 #ifdef EL3HLT
1775 if (x == EL3HLT)
1776 {*r = Mono_Posix_Errno_EL3HLT; return 0;}
1777 #endif /* ndef EL3HLT */
1778 #ifdef EL3RST
1779 if (x == EL3RST)
1780 {*r = Mono_Posix_Errno_EL3RST; return 0;}
1781 #endif /* ndef EL3RST */
1782 #ifdef ELIBACC
1783 if (x == ELIBACC)
1784 {*r = Mono_Posix_Errno_ELIBACC; return 0;}
1785 #endif /* ndef ELIBACC */
1786 #ifdef ELIBBAD
1787 if (x == ELIBBAD)
1788 {*r = Mono_Posix_Errno_ELIBBAD; return 0;}
1789 #endif /* ndef ELIBBAD */
1790 #ifdef ELIBEXEC
1791 if (x == ELIBEXEC)
1792 {*r = Mono_Posix_Errno_ELIBEXEC; return 0;}
1793 #endif /* ndef ELIBEXEC */
1794 #ifdef ELIBMAX
1795 if (x == ELIBMAX)
1796 {*r = Mono_Posix_Errno_ELIBMAX; return 0;}
1797 #endif /* ndef ELIBMAX */
1798 #ifdef ELIBSCN
1799 if (x == ELIBSCN)
1800 {*r = Mono_Posix_Errno_ELIBSCN; return 0;}
1801 #endif /* ndef ELIBSCN */
1802 #ifdef ELNRNG
1803 if (x == ELNRNG)
1804 {*r = Mono_Posix_Errno_ELNRNG; return 0;}
1805 #endif /* ndef ELNRNG */
1806 #ifdef ELOOP
1807 if (x == ELOOP)
1808 {*r = Mono_Posix_Errno_ELOOP; return 0;}
1809 #endif /* ndef ELOOP */
1810 #ifdef EMEDIUMTYPE
1811 if (x == EMEDIUMTYPE)
1812 {*r = Mono_Posix_Errno_EMEDIUMTYPE; return 0;}
1813 #endif /* ndef EMEDIUMTYPE */
1814 #ifdef EMFILE
1815 if (x == EMFILE)
1816 {*r = Mono_Posix_Errno_EMFILE; return 0;}
1817 #endif /* ndef EMFILE */
1818 #ifdef EMLINK
1819 if (x == EMLINK)
1820 {*r = Mono_Posix_Errno_EMLINK; return 0;}
1821 #endif /* ndef EMLINK */
1822 #ifdef EMSGSIZE
1823 if (x == EMSGSIZE)
1824 {*r = Mono_Posix_Errno_EMSGSIZE; return 0;}
1825 #endif /* ndef EMSGSIZE */
1826 #ifdef EMULTIHOP
1827 if (x == EMULTIHOP)
1828 {*r = Mono_Posix_Errno_EMULTIHOP; return 0;}
1829 #endif /* ndef EMULTIHOP */
1830 #ifdef ENAMETOOLONG
1831 if (x == ENAMETOOLONG)
1832 {*r = Mono_Posix_Errno_ENAMETOOLONG; return 0;}
1833 #endif /* ndef ENAMETOOLONG */
1834 #ifdef ENAVAIL
1835 if (x == ENAVAIL)
1836 {*r = Mono_Posix_Errno_ENAVAIL; return 0;}
1837 #endif /* ndef ENAVAIL */
1838 #ifdef ENETDOWN
1839 if (x == ENETDOWN)
1840 {*r = Mono_Posix_Errno_ENETDOWN; return 0;}
1841 #endif /* ndef ENETDOWN */
1842 #ifdef ENETRESET
1843 if (x == ENETRESET)
1844 {*r = Mono_Posix_Errno_ENETRESET; return 0;}
1845 #endif /* ndef ENETRESET */
1846 #ifdef ENETUNREACH
1847 if (x == ENETUNREACH)
1848 {*r = Mono_Posix_Errno_ENETUNREACH; return 0;}
1849 #endif /* ndef ENETUNREACH */
1850 #ifdef ENFILE
1851 if (x == ENFILE)
1852 {*r = Mono_Posix_Errno_ENFILE; return 0;}
1853 #endif /* ndef ENFILE */
1854 #ifdef ENOANO
1855 if (x == ENOANO)
1856 {*r = Mono_Posix_Errno_ENOANO; return 0;}
1857 #endif /* ndef ENOANO */
1858 #ifdef ENOBUFS
1859 if (x == ENOBUFS)
1860 {*r = Mono_Posix_Errno_ENOBUFS; return 0;}
1861 #endif /* ndef ENOBUFS */
1862 #ifdef ENOCSI
1863 if (x == ENOCSI)
1864 {*r = Mono_Posix_Errno_ENOCSI; return 0;}
1865 #endif /* ndef ENOCSI */
1866 #ifdef ENODATA
1867 if (x == ENODATA)
1868 {*r = Mono_Posix_Errno_ENODATA; return 0;}
1869 #endif /* ndef ENODATA */
1870 #ifdef ENODEV
1871 if (x == ENODEV)
1872 {*r = Mono_Posix_Errno_ENODEV; return 0;}
1873 #endif /* ndef ENODEV */
1874 #ifdef ENOENT
1875 if (x == ENOENT)
1876 {*r = Mono_Posix_Errno_ENOENT; return 0;}
1877 #endif /* ndef ENOENT */
1878 #ifdef ENOEXEC
1879 if (x == ENOEXEC)
1880 {*r = Mono_Posix_Errno_ENOEXEC; return 0;}
1881 #endif /* ndef ENOEXEC */
1882 #ifdef ENOLCK
1883 if (x == ENOLCK)
1884 {*r = Mono_Posix_Errno_ENOLCK; return 0;}
1885 #endif /* ndef ENOLCK */
1886 #ifdef ENOLINK
1887 if (x == ENOLINK)
1888 {*r = Mono_Posix_Errno_ENOLINK; return 0;}
1889 #endif /* ndef ENOLINK */
1890 #ifdef ENOMEDIUM
1891 if (x == ENOMEDIUM)
1892 {*r = Mono_Posix_Errno_ENOMEDIUM; return 0;}
1893 #endif /* ndef ENOMEDIUM */
1894 #ifdef ENOMEM
1895 if (x == ENOMEM)
1896 {*r = Mono_Posix_Errno_ENOMEM; return 0;}
1897 #endif /* ndef ENOMEM */
1898 #ifdef ENOMSG
1899 if (x == ENOMSG)
1900 {*r = Mono_Posix_Errno_ENOMSG; return 0;}
1901 #endif /* ndef ENOMSG */
1902 #ifdef ENONET
1903 if (x == ENONET)
1904 {*r = Mono_Posix_Errno_ENONET; return 0;}
1905 #endif /* ndef ENONET */
1906 #ifdef ENOPKG
1907 if (x == ENOPKG)
1908 {*r = Mono_Posix_Errno_ENOPKG; return 0;}
1909 #endif /* ndef ENOPKG */
1910 #ifdef ENOPROTOOPT
1911 if (x == ENOPROTOOPT)
1912 {*r = Mono_Posix_Errno_ENOPROTOOPT; return 0;}
1913 #endif /* ndef ENOPROTOOPT */
1914 #ifdef ENOSPC
1915 if (x == ENOSPC)
1916 {*r = Mono_Posix_Errno_ENOSPC; return 0;}
1917 #endif /* ndef ENOSPC */
1918 #ifdef ENOSR
1919 if (x == ENOSR)
1920 {*r = Mono_Posix_Errno_ENOSR; return 0;}
1921 #endif /* ndef ENOSR */
1922 #ifdef ENOSTR
1923 if (x == ENOSTR)
1924 {*r = Mono_Posix_Errno_ENOSTR; return 0;}
1925 #endif /* ndef ENOSTR */
1926 #ifdef ENOSYS
1927 if (x == ENOSYS)
1928 {*r = Mono_Posix_Errno_ENOSYS; return 0;}
1929 #endif /* ndef ENOSYS */
1930 #ifdef ENOTBLK
1931 if (x == ENOTBLK)
1932 {*r = Mono_Posix_Errno_ENOTBLK; return 0;}
1933 #endif /* ndef ENOTBLK */
1934 #ifdef ENOTCONN
1935 if (x == ENOTCONN)
1936 {*r = Mono_Posix_Errno_ENOTCONN; return 0;}
1937 #endif /* ndef ENOTCONN */
1938 #ifdef ENOTDIR
1939 if (x == ENOTDIR)
1940 {*r = Mono_Posix_Errno_ENOTDIR; return 0;}
1941 #endif /* ndef ENOTDIR */
1942 #ifdef ENOTEMPTY
1943 if (x == ENOTEMPTY)
1944 {*r = Mono_Posix_Errno_ENOTEMPTY; return 0;}
1945 #endif /* ndef ENOTEMPTY */
1946 #ifdef ENOTNAM
1947 if (x == ENOTNAM)
1948 {*r = Mono_Posix_Errno_ENOTNAM; return 0;}
1949 #endif /* ndef ENOTNAM */
1950 #ifdef ENOTSOCK
1951 if (x == ENOTSOCK)
1952 {*r = Mono_Posix_Errno_ENOTSOCK; return 0;}
1953 #endif /* ndef ENOTSOCK */
1954 #ifdef ENOTTY
1955 if (x == ENOTTY)
1956 {*r = Mono_Posix_Errno_ENOTTY; return 0;}
1957 #endif /* ndef ENOTTY */
1958 #ifdef ENOTUNIQ
1959 if (x == ENOTUNIQ)
1960 {*r = Mono_Posix_Errno_ENOTUNIQ; return 0;}
1961 #endif /* ndef ENOTUNIQ */
1962 #ifdef ENXIO
1963 if (x == ENXIO)
1964 {*r = Mono_Posix_Errno_ENXIO; return 0;}
1965 #endif /* ndef ENXIO */
1966 #ifdef EOPNOTSUPP
1967 if (x == EOPNOTSUPP)
1968 {*r = Mono_Posix_Errno_EOPNOTSUPP; return 0;}
1969 #endif /* ndef EOPNOTSUPP */
1970 #ifdef EOVERFLOW
1971 if (x == EOVERFLOW)
1972 {*r = Mono_Posix_Errno_EOVERFLOW; return 0;}
1973 #endif /* ndef EOVERFLOW */
1974 #ifdef EPERM
1975 if (x == EPERM)
1976 {*r = Mono_Posix_Errno_EPERM; return 0;}
1977 #endif /* ndef EPERM */
1978 #ifdef EPFNOSUPPORT
1979 if (x == EPFNOSUPPORT)
1980 {*r = Mono_Posix_Errno_EPFNOSUPPORT; return 0;}
1981 #endif /* ndef EPFNOSUPPORT */
1982 #ifdef EPIPE
1983 if (x == EPIPE)
1984 {*r = Mono_Posix_Errno_EPIPE; return 0;}
1985 #endif /* ndef EPIPE */
1986 #ifdef EPROTO
1987 if (x == EPROTO)
1988 {*r = Mono_Posix_Errno_EPROTO; return 0;}
1989 #endif /* ndef EPROTO */
1990 #ifdef EPROTONOSUPPORT
1991 if (x == EPROTONOSUPPORT)
1992 {*r = Mono_Posix_Errno_EPROTONOSUPPORT; return 0;}
1993 #endif /* ndef EPROTONOSUPPORT */
1994 #ifdef EPROTOTYPE
1995 if (x == EPROTOTYPE)
1996 {*r = Mono_Posix_Errno_EPROTOTYPE; return 0;}
1997 #endif /* ndef EPROTOTYPE */
1998 #ifdef ERANGE
1999 if (x == ERANGE)
2000 {*r = Mono_Posix_Errno_ERANGE; return 0;}
2001 #endif /* ndef ERANGE */
2002 #ifdef EREMCHG
2003 if (x == EREMCHG)
2004 {*r = Mono_Posix_Errno_EREMCHG; return 0;}
2005 #endif /* ndef EREMCHG */
2006 #ifdef EREMOTE
2007 if (x == EREMOTE)
2008 {*r = Mono_Posix_Errno_EREMOTE; return 0;}
2009 #endif /* ndef EREMOTE */
2010 #ifdef EREMOTEIO
2011 if (x == EREMOTEIO)
2012 {*r = Mono_Posix_Errno_EREMOTEIO; return 0;}
2013 #endif /* ndef EREMOTEIO */
2014 #ifdef ERESTART
2015 if (x == ERESTART)
2016 {*r = Mono_Posix_Errno_ERESTART; return 0;}
2017 #endif /* ndef ERESTART */
2018 #ifdef EROFS
2019 if (x == EROFS)
2020 {*r = Mono_Posix_Errno_EROFS; return 0;}
2021 #endif /* ndef EROFS */
2022 #ifdef ESHUTDOWN
2023 if (x == ESHUTDOWN)
2024 {*r = Mono_Posix_Errno_ESHUTDOWN; return 0;}
2025 #endif /* ndef ESHUTDOWN */
2026 #ifdef ESOCKTNOSUPPORT
2027 if (x == ESOCKTNOSUPPORT)
2028 {*r = Mono_Posix_Errno_ESOCKTNOSUPPORT; return 0;}
2029 #endif /* ndef ESOCKTNOSUPPORT */
2030 #ifdef ESPIPE
2031 if (x == ESPIPE)
2032 {*r = Mono_Posix_Errno_ESPIPE; return 0;}
2033 #endif /* ndef ESPIPE */
2034 #ifdef ESRCH
2035 if (x == ESRCH)
2036 {*r = Mono_Posix_Errno_ESRCH; return 0;}
2037 #endif /* ndef ESRCH */
2038 #ifdef ESRMNT
2039 if (x == ESRMNT)
2040 {*r = Mono_Posix_Errno_ESRMNT; return 0;}
2041 #endif /* ndef ESRMNT */
2042 #ifdef ESTALE
2043 if (x == ESTALE)
2044 {*r = Mono_Posix_Errno_ESTALE; return 0;}
2045 #endif /* ndef ESTALE */
2046 #ifdef ESTRPIPE
2047 if (x == ESTRPIPE)
2048 {*r = Mono_Posix_Errno_ESTRPIPE; return 0;}
2049 #endif /* ndef ESTRPIPE */
2050 #ifdef ETIME
2051 if (x == ETIME)
2052 {*r = Mono_Posix_Errno_ETIME; return 0;}
2053 #endif /* ndef ETIME */
2054 #ifdef ETIMEDOUT
2055 if (x == ETIMEDOUT)
2056 {*r = Mono_Posix_Errno_ETIMEDOUT; return 0;}
2057 #endif /* ndef ETIMEDOUT */
2058 #ifdef ETOOMANYREFS
2059 if (x == ETOOMANYREFS)
2060 {*r = Mono_Posix_Errno_ETOOMANYREFS; return 0;}
2061 #endif /* ndef ETOOMANYREFS */
2062 #ifdef ETXTBSY
2063 if (x == ETXTBSY)
2064 {*r = Mono_Posix_Errno_ETXTBSY; return 0;}
2065 #endif /* ndef ETXTBSY */
2066 #ifdef EUCLEAN
2067 if (x == EUCLEAN)
2068 {*r = Mono_Posix_Errno_EUCLEAN; return 0;}
2069 #endif /* ndef EUCLEAN */
2070 #ifdef EUNATCH
2071 if (x == EUNATCH)
2072 {*r = Mono_Posix_Errno_EUNATCH; return 0;}
2073 #endif /* ndef EUNATCH */
2074 #ifdef EUSERS
2075 if (x == EUSERS)
2076 {*r = Mono_Posix_Errno_EUSERS; return 0;}
2077 #endif /* ndef EUSERS */
2078 #ifdef EWOULDBLOCK
2079 if (x == EWOULDBLOCK)
2080 {*r = Mono_Posix_Errno_EWOULDBLOCK; return 0;}
2081 #endif /* ndef EWOULDBLOCK */
2082 #ifdef EXDEV
2083 if (x == EXDEV)
2084 {*r = Mono_Posix_Errno_EXDEV; return 0;}
2085 #endif /* ndef EXDEV */
2086 #ifdef EXFULL
2087 if (x == EXFULL)
2088 {*r = Mono_Posix_Errno_EXFULL; return 0;}
2089 #endif /* ndef EXFULL */
2090 errno = EINVAL; return -1;
2093 int Mono_Posix_FromFcntlCommand (int x, int *r)
2095 *r = 0;
2096 if (x == Mono_Posix_FcntlCommand_F_DUPFD)
2097 #ifdef F_DUPFD
2098 {*r = F_DUPFD; return 0;}
2099 #else /* def F_DUPFD */
2100 {errno = EINVAL; return -1;}
2101 #endif /* ndef F_DUPFD */
2102 if (x == Mono_Posix_FcntlCommand_F_GETFD)
2103 #ifdef F_GETFD
2104 {*r = F_GETFD; return 0;}
2105 #else /* def F_GETFD */
2106 {errno = EINVAL; return -1;}
2107 #endif /* ndef F_GETFD */
2108 if (x == Mono_Posix_FcntlCommand_F_GETFL)
2109 #ifdef F_GETFL
2110 {*r = F_GETFL; return 0;}
2111 #else /* def F_GETFL */
2112 {errno = EINVAL; return -1;}
2113 #endif /* ndef F_GETFL */
2114 if (x == Mono_Posix_FcntlCommand_F_GETLEASE)
2115 #ifdef F_GETLEASE
2116 {*r = F_GETLEASE; return 0;}
2117 #else /* def F_GETLEASE */
2118 {errno = EINVAL; return -1;}
2119 #endif /* ndef F_GETLEASE */
2120 if (x == Mono_Posix_FcntlCommand_F_GETLK)
2121 #ifdef F_GETLK
2122 {*r = F_GETLK; return 0;}
2123 #else /* def F_GETLK */
2124 {errno = EINVAL; return -1;}
2125 #endif /* ndef F_GETLK */
2126 if (x == Mono_Posix_FcntlCommand_F_GETOWN)
2127 #ifdef F_GETOWN
2128 {*r = F_GETOWN; return 0;}
2129 #else /* def F_GETOWN */
2130 {errno = EINVAL; return -1;}
2131 #endif /* ndef F_GETOWN */
2132 if (x == Mono_Posix_FcntlCommand_F_GETSIG)
2133 #ifdef F_GETSIG
2134 {*r = F_GETSIG; return 0;}
2135 #else /* def F_GETSIG */
2136 {errno = EINVAL; return -1;}
2137 #endif /* ndef F_GETSIG */
2138 if (x == Mono_Posix_FcntlCommand_F_NOTIFY)
2139 #ifdef F_NOTIFY
2140 {*r = F_NOTIFY; return 0;}
2141 #else /* def F_NOTIFY */
2142 {errno = EINVAL; return -1;}
2143 #endif /* ndef F_NOTIFY */
2144 if (x == Mono_Posix_FcntlCommand_F_SETFD)
2145 #ifdef F_SETFD
2146 {*r = F_SETFD; return 0;}
2147 #else /* def F_SETFD */
2148 {errno = EINVAL; return -1;}
2149 #endif /* ndef F_SETFD */
2150 if (x == Mono_Posix_FcntlCommand_F_SETFL)
2151 #ifdef F_SETFL
2152 {*r = F_SETFL; return 0;}
2153 #else /* def F_SETFL */
2154 {errno = EINVAL; return -1;}
2155 #endif /* ndef F_SETFL */
2156 if (x == Mono_Posix_FcntlCommand_F_SETLEASE)
2157 #ifdef F_SETLEASE
2158 {*r = F_SETLEASE; return 0;}
2159 #else /* def F_SETLEASE */
2160 {errno = EINVAL; return -1;}
2161 #endif /* ndef F_SETLEASE */
2162 if (x == Mono_Posix_FcntlCommand_F_SETLK)
2163 #ifdef F_SETLK
2164 {*r = F_SETLK; return 0;}
2165 #else /* def F_SETLK */
2166 {errno = EINVAL; return -1;}
2167 #endif /* ndef F_SETLK */
2168 if (x == Mono_Posix_FcntlCommand_F_SETLKW)
2169 #ifdef F_SETLKW
2170 {*r = F_SETLKW; return 0;}
2171 #else /* def F_SETLKW */
2172 {errno = EINVAL; return -1;}
2173 #endif /* ndef F_SETLKW */
2174 if (x == Mono_Posix_FcntlCommand_F_SETOWN)
2175 #ifdef F_SETOWN
2176 {*r = F_SETOWN; return 0;}
2177 #else /* def F_SETOWN */
2178 {errno = EINVAL; return -1;}
2179 #endif /* ndef F_SETOWN */
2180 if (x == Mono_Posix_FcntlCommand_F_SETSIG)
2181 #ifdef F_SETSIG
2182 {*r = F_SETSIG; return 0;}
2183 #else /* def F_SETSIG */
2184 {errno = EINVAL; return -1;}
2185 #endif /* ndef F_SETSIG */
2186 if (x == 0)
2187 return 0;
2188 errno = EINVAL; return -1;
2191 int Mono_Posix_ToFcntlCommand (int x, int *r)
2193 *r = 0;
2194 if (x == 0)
2195 return 0;
2196 #ifdef F_DUPFD
2197 if (x == F_DUPFD)
2198 {*r = Mono_Posix_FcntlCommand_F_DUPFD; return 0;}
2199 #endif /* ndef F_DUPFD */
2200 #ifdef F_GETFD
2201 if (x == F_GETFD)
2202 {*r = Mono_Posix_FcntlCommand_F_GETFD; return 0;}
2203 #endif /* ndef F_GETFD */
2204 #ifdef F_GETFL
2205 if (x == F_GETFL)
2206 {*r = Mono_Posix_FcntlCommand_F_GETFL; return 0;}
2207 #endif /* ndef F_GETFL */
2208 #ifdef F_GETLEASE
2209 if (x == F_GETLEASE)
2210 {*r = Mono_Posix_FcntlCommand_F_GETLEASE; return 0;}
2211 #endif /* ndef F_GETLEASE */
2212 #ifdef F_GETLK
2213 if (x == F_GETLK)
2214 {*r = Mono_Posix_FcntlCommand_F_GETLK; return 0;}
2215 #endif /* ndef F_GETLK */
2216 #ifdef F_GETOWN
2217 if (x == F_GETOWN)
2218 {*r = Mono_Posix_FcntlCommand_F_GETOWN; return 0;}
2219 #endif /* ndef F_GETOWN */
2220 #ifdef F_GETSIG
2221 if (x == F_GETSIG)
2222 {*r = Mono_Posix_FcntlCommand_F_GETSIG; return 0;}
2223 #endif /* ndef F_GETSIG */
2224 #ifdef F_NOTIFY
2225 if (x == F_NOTIFY)
2226 {*r = Mono_Posix_FcntlCommand_F_NOTIFY; return 0;}
2227 #endif /* ndef F_NOTIFY */
2228 #ifdef F_SETFD
2229 if (x == F_SETFD)
2230 {*r = Mono_Posix_FcntlCommand_F_SETFD; return 0;}
2231 #endif /* ndef F_SETFD */
2232 #ifdef F_SETFL
2233 if (x == F_SETFL)
2234 {*r = Mono_Posix_FcntlCommand_F_SETFL; return 0;}
2235 #endif /* ndef F_SETFL */
2236 #ifdef F_SETLEASE
2237 if (x == F_SETLEASE)
2238 {*r = Mono_Posix_FcntlCommand_F_SETLEASE; return 0;}
2239 #endif /* ndef F_SETLEASE */
2240 #ifdef F_SETLK
2241 if (x == F_SETLK)
2242 {*r = Mono_Posix_FcntlCommand_F_SETLK; return 0;}
2243 #endif /* ndef F_SETLK */
2244 #ifdef F_SETLKW
2245 if (x == F_SETLKW)
2246 {*r = Mono_Posix_FcntlCommand_F_SETLKW; return 0;}
2247 #endif /* ndef F_SETLKW */
2248 #ifdef F_SETOWN
2249 if (x == F_SETOWN)
2250 {*r = Mono_Posix_FcntlCommand_F_SETOWN; return 0;}
2251 #endif /* ndef F_SETOWN */
2252 #ifdef F_SETSIG
2253 if (x == F_SETSIG)
2254 {*r = Mono_Posix_FcntlCommand_F_SETSIG; return 0;}
2255 #endif /* ndef F_SETSIG */
2256 errno = EINVAL; return -1;
2259 int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r)
2261 *r = 0;
2262 if ((x & Mono_Posix_FilePermissions_ACCESSPERMS) == Mono_Posix_FilePermissions_ACCESSPERMS)
2263 #ifdef ACCESSPERMS
2264 *r |= ACCESSPERMS;
2265 #else /* def ACCESSPERMS */
2266 {/* Ignoring Mono_Posix_FilePermissions_ACCESSPERMS, as it is constructed from other values */}
2267 #endif /* ndef ACCESSPERMS */
2268 if ((x & Mono_Posix_FilePermissions_ALLPERMS) == Mono_Posix_FilePermissions_ALLPERMS)
2269 #ifdef ALLPERMS
2270 *r |= ALLPERMS;
2271 #else /* def ALLPERMS */
2272 {/* Ignoring Mono_Posix_FilePermissions_ALLPERMS, as it is constructed from other values */}
2273 #endif /* ndef ALLPERMS */
2274 if ((x & Mono_Posix_FilePermissions_DEFFILEMODE) == Mono_Posix_FilePermissions_DEFFILEMODE)
2275 #ifdef DEFFILEMODE
2276 *r |= DEFFILEMODE;
2277 #else /* def DEFFILEMODE */
2278 {/* Ignoring Mono_Posix_FilePermissions_DEFFILEMODE, as it is constructed from other values */}
2279 #endif /* ndef DEFFILEMODE */
2280 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFBLK)
2281 #ifdef S_IFBLK
2282 *r |= S_IFBLK;
2283 #else /* def S_IFBLK */
2284 {errno = EINVAL; return -1;}
2285 #endif /* ndef S_IFBLK */
2286 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFCHR)
2287 #ifdef S_IFCHR
2288 *r |= S_IFCHR;
2289 #else /* def S_IFCHR */
2290 {errno = EINVAL; return -1;}
2291 #endif /* ndef S_IFCHR */
2292 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFDIR)
2293 #ifdef S_IFDIR
2294 *r |= S_IFDIR;
2295 #else /* def S_IFDIR */
2296 {errno = EINVAL; return -1;}
2297 #endif /* ndef S_IFDIR */
2298 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFIFO)
2299 #ifdef S_IFIFO
2300 *r |= S_IFIFO;
2301 #else /* def S_IFIFO */
2302 {errno = EINVAL; return -1;}
2303 #endif /* ndef S_IFIFO */
2304 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFLNK)
2305 #ifdef S_IFLNK
2306 *r |= S_IFLNK;
2307 #else /* def S_IFLNK */
2308 {errno = EINVAL; return -1;}
2309 #endif /* ndef S_IFLNK */
2310 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFMT)
2311 #ifdef S_IFMT
2312 *r |= S_IFMT;
2313 #else /* def S_IFMT */
2314 {/* Ignoring Mono_Posix_FilePermissions_S_IFMT, as it is constructed from other values */}
2315 #endif /* ndef S_IFMT */
2316 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFREG)
2317 #ifdef S_IFREG
2318 *r |= S_IFREG;
2319 #else /* def S_IFREG */
2320 {errno = EINVAL; return -1;}
2321 #endif /* ndef S_IFREG */
2322 if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFSOCK)
2323 #ifdef S_IFSOCK
2324 *r |= S_IFSOCK;
2325 #else /* def S_IFSOCK */
2326 {errno = EINVAL; return -1;}
2327 #endif /* ndef S_IFSOCK */
2328 if ((x & Mono_Posix_FilePermissions_S_IRGRP) == Mono_Posix_FilePermissions_S_IRGRP)
2329 #ifdef S_IRGRP
2330 *r |= S_IRGRP;
2331 #else /* def S_IRGRP */
2332 {errno = EINVAL; return -1;}
2333 #endif /* ndef S_IRGRP */
2334 if ((x & Mono_Posix_FilePermissions_S_IROTH) == Mono_Posix_FilePermissions_S_IROTH)
2335 #ifdef S_IROTH
2336 *r |= S_IROTH;
2337 #else /* def S_IROTH */
2338 {errno = EINVAL; return -1;}
2339 #endif /* ndef S_IROTH */
2340 if ((x & Mono_Posix_FilePermissions_S_IRUSR) == Mono_Posix_FilePermissions_S_IRUSR)
2341 #ifdef S_IRUSR
2342 *r |= S_IRUSR;
2343 #else /* def S_IRUSR */
2344 {errno = EINVAL; return -1;}
2345 #endif /* ndef S_IRUSR */
2346 if ((x & Mono_Posix_FilePermissions_S_IRWXG) == Mono_Posix_FilePermissions_S_IRWXG)
2347 #ifdef S_IRWXG
2348 *r |= S_IRWXG;
2349 #else /* def S_IRWXG */
2350 {/* Ignoring Mono_Posix_FilePermissions_S_IRWXG, as it is constructed from other values */}
2351 #endif /* ndef S_IRWXG */
2352 if ((x & Mono_Posix_FilePermissions_S_IRWXO) == Mono_Posix_FilePermissions_S_IRWXO)
2353 #ifdef S_IRWXO
2354 *r |= S_IRWXO;
2355 #else /* def S_IRWXO */
2356 {/* Ignoring Mono_Posix_FilePermissions_S_IRWXO, as it is constructed from other values */}
2357 #endif /* ndef S_IRWXO */
2358 if ((x & Mono_Posix_FilePermissions_S_IRWXU) == Mono_Posix_FilePermissions_S_IRWXU)
2359 #ifdef S_IRWXU
2360 *r |= S_IRWXU;
2361 #else /* def S_IRWXU */
2362 {/* Ignoring Mono_Posix_FilePermissions_S_IRWXU, as it is constructed from other values */}
2363 #endif /* ndef S_IRWXU */
2364 if ((x & Mono_Posix_FilePermissions_S_ISGID) == Mono_Posix_FilePermissions_S_ISGID)
2365 #ifdef S_ISGID
2366 *r |= S_ISGID;
2367 #else /* def S_ISGID */
2368 {errno = EINVAL; return -1;}
2369 #endif /* ndef S_ISGID */
2370 if ((x & Mono_Posix_FilePermissions_S_ISUID) == Mono_Posix_FilePermissions_S_ISUID)
2371 #ifdef S_ISUID
2372 *r |= S_ISUID;
2373 #else /* def S_ISUID */
2374 {errno = EINVAL; return -1;}
2375 #endif /* ndef S_ISUID */
2376 if ((x & Mono_Posix_FilePermissions_S_ISVTX) == Mono_Posix_FilePermissions_S_ISVTX)
2377 #ifdef S_ISVTX
2378 *r |= S_ISVTX;
2379 #else /* def S_ISVTX */
2380 {errno = EINVAL; return -1;}
2381 #endif /* ndef S_ISVTX */
2382 if ((x & Mono_Posix_FilePermissions_S_IWGRP) == Mono_Posix_FilePermissions_S_IWGRP)
2383 #ifdef S_IWGRP
2384 *r |= S_IWGRP;
2385 #else /* def S_IWGRP */
2386 {errno = EINVAL; return -1;}
2387 #endif /* ndef S_IWGRP */
2388 if ((x & Mono_Posix_FilePermissions_S_IWOTH) == Mono_Posix_FilePermissions_S_IWOTH)
2389 #ifdef S_IWOTH
2390 *r |= S_IWOTH;
2391 #else /* def S_IWOTH */
2392 {errno = EINVAL; return -1;}
2393 #endif /* ndef S_IWOTH */
2394 if ((x & Mono_Posix_FilePermissions_S_IWUSR) == Mono_Posix_FilePermissions_S_IWUSR)
2395 #ifdef S_IWUSR
2396 *r |= S_IWUSR;
2397 #else /* def S_IWUSR */
2398 {errno = EINVAL; return -1;}
2399 #endif /* ndef S_IWUSR */
2400 if ((x & Mono_Posix_FilePermissions_S_IXGRP) == Mono_Posix_FilePermissions_S_IXGRP)
2401 #ifdef S_IXGRP
2402 *r |= S_IXGRP;
2403 #else /* def S_IXGRP */
2404 {errno = EINVAL; return -1;}
2405 #endif /* ndef S_IXGRP */
2406 if ((x & Mono_Posix_FilePermissions_S_IXOTH) == Mono_Posix_FilePermissions_S_IXOTH)
2407 #ifdef S_IXOTH
2408 *r |= S_IXOTH;
2409 #else /* def S_IXOTH */
2410 {errno = EINVAL; return -1;}
2411 #endif /* ndef S_IXOTH */
2412 if ((x & Mono_Posix_FilePermissions_S_IXUSR) == Mono_Posix_FilePermissions_S_IXUSR)
2413 #ifdef S_IXUSR
2414 *r |= S_IXUSR;
2415 #else /* def S_IXUSR */
2416 {errno = EINVAL; return -1;}
2417 #endif /* ndef S_IXUSR */
2418 if (x == 0)
2419 return 0;
2420 return 0;
2423 int Mono_Posix_ToFilePermissions (unsigned int x, unsigned int *r)
2425 *r = 0;
2426 if (x == 0)
2427 return 0;
2428 #ifdef ACCESSPERMS
2429 if ((x & ACCESSPERMS) == ACCESSPERMS)
2430 *r |= Mono_Posix_FilePermissions_ACCESSPERMS;
2431 #endif /* ndef ACCESSPERMS */
2432 #ifdef ALLPERMS
2433 if ((x & ALLPERMS) == ALLPERMS)
2434 *r |= Mono_Posix_FilePermissions_ALLPERMS;
2435 #endif /* ndef ALLPERMS */
2436 #ifdef DEFFILEMODE
2437 if ((x & DEFFILEMODE) == DEFFILEMODE)
2438 *r |= Mono_Posix_FilePermissions_DEFFILEMODE;
2439 #endif /* ndef DEFFILEMODE */
2440 #ifdef S_IFBLK
2441 if ((x & S_IFMT) == S_IFBLK)
2442 *r |= Mono_Posix_FilePermissions_S_IFBLK;
2443 #endif /* ndef S_IFBLK */
2444 #ifdef S_IFCHR
2445 if ((x & S_IFMT) == S_IFCHR)
2446 *r |= Mono_Posix_FilePermissions_S_IFCHR;
2447 #endif /* ndef S_IFCHR */
2448 #ifdef S_IFDIR
2449 if ((x & S_IFMT) == S_IFDIR)
2450 *r |= Mono_Posix_FilePermissions_S_IFDIR;
2451 #endif /* ndef S_IFDIR */
2452 #ifdef S_IFIFO
2453 if ((x & S_IFMT) == S_IFIFO)
2454 *r |= Mono_Posix_FilePermissions_S_IFIFO;
2455 #endif /* ndef S_IFIFO */
2456 #ifdef S_IFLNK
2457 if ((x & S_IFMT) == S_IFLNK)
2458 *r |= Mono_Posix_FilePermissions_S_IFLNK;
2459 #endif /* ndef S_IFLNK */
2460 #ifdef S_IFMT
2461 if ((x & S_IFMT) == S_IFMT)
2462 *r |= Mono_Posix_FilePermissions_S_IFMT;
2463 #endif /* ndef S_IFMT */
2464 #ifdef S_IFREG
2465 if ((x & S_IFMT) == S_IFREG)
2466 *r |= Mono_Posix_FilePermissions_S_IFREG;
2467 #endif /* ndef S_IFREG */
2468 #ifdef S_IFSOCK
2469 if ((x & S_IFMT) == S_IFSOCK)
2470 *r |= Mono_Posix_FilePermissions_S_IFSOCK;
2471 #endif /* ndef S_IFSOCK */
2472 #ifdef S_IRGRP
2473 if ((x & S_IRGRP) == S_IRGRP)
2474 *r |= Mono_Posix_FilePermissions_S_IRGRP;
2475 #endif /* ndef S_IRGRP */
2476 #ifdef S_IROTH
2477 if ((x & S_IROTH) == S_IROTH)
2478 *r |= Mono_Posix_FilePermissions_S_IROTH;
2479 #endif /* ndef S_IROTH */
2480 #ifdef S_IRUSR
2481 if ((x & S_IRUSR) == S_IRUSR)
2482 *r |= Mono_Posix_FilePermissions_S_IRUSR;
2483 #endif /* ndef S_IRUSR */
2484 #ifdef S_IRWXG
2485 if ((x & S_IRWXG) == S_IRWXG)
2486 *r |= Mono_Posix_FilePermissions_S_IRWXG;
2487 #endif /* ndef S_IRWXG */
2488 #ifdef S_IRWXO
2489 if ((x & S_IRWXO) == S_IRWXO)
2490 *r |= Mono_Posix_FilePermissions_S_IRWXO;
2491 #endif /* ndef S_IRWXO */
2492 #ifdef S_IRWXU
2493 if ((x & S_IRWXU) == S_IRWXU)
2494 *r |= Mono_Posix_FilePermissions_S_IRWXU;
2495 #endif /* ndef S_IRWXU */
2496 #ifdef S_ISGID
2497 if ((x & S_ISGID) == S_ISGID)
2498 *r |= Mono_Posix_FilePermissions_S_ISGID;
2499 #endif /* ndef S_ISGID */
2500 #ifdef S_ISUID
2501 if ((x & S_ISUID) == S_ISUID)
2502 *r |= Mono_Posix_FilePermissions_S_ISUID;
2503 #endif /* ndef S_ISUID */
2504 #ifdef S_ISVTX
2505 if ((x & S_ISVTX) == S_ISVTX)
2506 *r |= Mono_Posix_FilePermissions_S_ISVTX;
2507 #endif /* ndef S_ISVTX */
2508 #ifdef S_IWGRP
2509 if ((x & S_IWGRP) == S_IWGRP)
2510 *r |= Mono_Posix_FilePermissions_S_IWGRP;
2511 #endif /* ndef S_IWGRP */
2512 #ifdef S_IWOTH
2513 if ((x & S_IWOTH) == S_IWOTH)
2514 *r |= Mono_Posix_FilePermissions_S_IWOTH;
2515 #endif /* ndef S_IWOTH */
2516 #ifdef S_IWUSR
2517 if ((x & S_IWUSR) == S_IWUSR)
2518 *r |= Mono_Posix_FilePermissions_S_IWUSR;
2519 #endif /* ndef S_IWUSR */
2520 #ifdef S_IXGRP
2521 if ((x & S_IXGRP) == S_IXGRP)
2522 *r |= Mono_Posix_FilePermissions_S_IXGRP;
2523 #endif /* ndef S_IXGRP */
2524 #ifdef S_IXOTH
2525 if ((x & S_IXOTH) == S_IXOTH)
2526 *r |= Mono_Posix_FilePermissions_S_IXOTH;
2527 #endif /* ndef S_IXOTH */
2528 #ifdef S_IXUSR
2529 if ((x & S_IXUSR) == S_IXUSR)
2530 *r |= Mono_Posix_FilePermissions_S_IXUSR;
2531 #endif /* ndef S_IXUSR */
2532 return 0;
2535 #ifdef HAVE_STRUCT_FLOCK
2537 Mono_Posix_FromFlock (struct Mono_Posix_Flock *from, struct flock *to)
2539 _cnm_return_val_if_overflow (off_t, from->l_start, -1);
2540 _cnm_return_val_if_overflow (off_t, from->l_len, -1);
2541 _cnm_return_val_if_overflow (pid_t, from->l_pid, -1);
2543 memset (to, 0, sizeof(*to));
2545 if (Mono_Posix_FromLockType (from->l_type, &to->l_type) != 0) {
2546 return -1;
2548 if (Mono_Posix_FromSeekFlags (from->l_whence, &to->l_whence) != 0) {
2549 return -1;
2551 to->l_start = from->l_start;
2552 to->l_len = from->l_len;
2553 to->l_pid = from->l_pid;
2555 return 0;
2557 #endif /* ndef HAVE_STRUCT_FLOCK */
2560 #ifdef HAVE_STRUCT_FLOCK
2562 Mono_Posix_ToFlock (struct flock *from, struct Mono_Posix_Flock *to)
2564 _cnm_return_val_if_overflow (gint64, from->l_start, -1);
2565 _cnm_return_val_if_overflow (gint64, from->l_len, -1);
2566 _cnm_return_val_if_overflow (int, from->l_pid, -1);
2568 memset (to, 0, sizeof(*to));
2570 if (Mono_Posix_ToLockType (from->l_type, &to->l_type) != 0) {
2571 return -1;
2573 if (Mono_Posix_ToSeekFlags (from->l_whence, &to->l_whence) != 0) {
2574 return -1;
2576 to->l_start = from->l_start;
2577 to->l_len = from->l_len;
2578 to->l_pid = from->l_pid;
2580 return 0;
2582 #endif /* ndef HAVE_STRUCT_FLOCK */
2585 int Mono_Posix_FromLockType (short x, short *r)
2587 *r = 0;
2588 if (x == Mono_Posix_LockType_F_RDLCK)
2589 #ifdef F_RDLCK
2590 {*r = F_RDLCK; return 0;}
2591 #else /* def F_RDLCK */
2592 {errno = EINVAL; return -1;}
2593 #endif /* ndef F_RDLCK */
2594 if (x == Mono_Posix_LockType_F_UNLCK)
2595 #ifdef F_UNLCK
2596 {*r = F_UNLCK; return 0;}
2597 #else /* def F_UNLCK */
2598 {errno = EINVAL; return -1;}
2599 #endif /* ndef F_UNLCK */
2600 if (x == Mono_Posix_LockType_F_WRLCK)
2601 #ifdef F_WRLCK
2602 {*r = F_WRLCK; return 0;}
2603 #else /* def F_WRLCK */
2604 {errno = EINVAL; return -1;}
2605 #endif /* ndef F_WRLCK */
2606 if (x == 0)
2607 return 0;
2608 errno = EINVAL; return -1;
2611 int Mono_Posix_ToLockType (short x, short *r)
2613 *r = 0;
2614 if (x == 0)
2615 return 0;
2616 #ifdef F_RDLCK
2617 if (x == F_RDLCK)
2618 {*r = Mono_Posix_LockType_F_RDLCK; return 0;}
2619 #endif /* ndef F_RDLCK */
2620 #ifdef F_UNLCK
2621 if (x == F_UNLCK)
2622 {*r = Mono_Posix_LockType_F_UNLCK; return 0;}
2623 #endif /* ndef F_UNLCK */
2624 #ifdef F_WRLCK
2625 if (x == F_WRLCK)
2626 {*r = Mono_Posix_LockType_F_WRLCK; return 0;}
2627 #endif /* ndef F_WRLCK */
2628 errno = EINVAL; return -1;
2631 int Mono_Posix_FromLockfCommand (int x, int *r)
2633 *r = 0;
2634 if (x == Mono_Posix_LockfCommand_F_LOCK)
2635 #ifdef F_LOCK
2636 {*r = F_LOCK; return 0;}
2637 #else /* def F_LOCK */
2638 {errno = EINVAL; return -1;}
2639 #endif /* ndef F_LOCK */
2640 if (x == Mono_Posix_LockfCommand_F_TEST)
2641 #ifdef F_TEST
2642 {*r = F_TEST; return 0;}
2643 #else /* def F_TEST */
2644 {errno = EINVAL; return -1;}
2645 #endif /* ndef F_TEST */
2646 if (x == Mono_Posix_LockfCommand_F_TLOCK)
2647 #ifdef F_TLOCK
2648 {*r = F_TLOCK; return 0;}
2649 #else /* def F_TLOCK */
2650 {errno = EINVAL; return -1;}
2651 #endif /* ndef F_TLOCK */
2652 if (x == Mono_Posix_LockfCommand_F_ULOCK)
2653 #ifdef F_ULOCK
2654 {*r = F_ULOCK; return 0;}
2655 #else /* def F_ULOCK */
2656 {errno = EINVAL; return -1;}
2657 #endif /* ndef F_ULOCK */
2658 if (x == 0)
2659 return 0;
2660 errno = EINVAL; return -1;
2663 int Mono_Posix_ToLockfCommand (int x, int *r)
2665 *r = 0;
2666 if (x == 0)
2667 return 0;
2668 #ifdef F_LOCK
2669 if (x == F_LOCK)
2670 {*r = Mono_Posix_LockfCommand_F_LOCK; return 0;}
2671 #endif /* ndef F_LOCK */
2672 #ifdef F_TEST
2673 if (x == F_TEST)
2674 {*r = Mono_Posix_LockfCommand_F_TEST; return 0;}
2675 #endif /* ndef F_TEST */
2676 #ifdef F_TLOCK
2677 if (x == F_TLOCK)
2678 {*r = Mono_Posix_LockfCommand_F_TLOCK; return 0;}
2679 #endif /* ndef F_TLOCK */
2680 #ifdef F_ULOCK
2681 if (x == F_ULOCK)
2682 {*r = Mono_Posix_LockfCommand_F_ULOCK; return 0;}
2683 #endif /* ndef F_ULOCK */
2684 errno = EINVAL; return -1;
2687 int Mono_Posix_FromMlockallFlags (int x, int *r)
2689 *r = 0;
2690 if ((x & Mono_Posix_MlockallFlags_MCL_CURRENT) == Mono_Posix_MlockallFlags_MCL_CURRENT)
2691 #ifdef MCL_CURRENT
2692 *r |= MCL_CURRENT;
2693 #else /* def MCL_CURRENT */
2694 {errno = EINVAL; return -1;}
2695 #endif /* ndef MCL_CURRENT */
2696 if ((x & Mono_Posix_MlockallFlags_MCL_FUTURE) == Mono_Posix_MlockallFlags_MCL_FUTURE)
2697 #ifdef MCL_FUTURE
2698 *r |= MCL_FUTURE;
2699 #else /* def MCL_FUTURE */
2700 {errno = EINVAL; return -1;}
2701 #endif /* ndef MCL_FUTURE */
2702 if (x == 0)
2703 return 0;
2704 return 0;
2707 int Mono_Posix_ToMlockallFlags (int x, int *r)
2709 *r = 0;
2710 if (x == 0)
2711 return 0;
2712 #ifdef MCL_CURRENT
2713 if ((x & MCL_CURRENT) == MCL_CURRENT)
2714 *r |= Mono_Posix_MlockallFlags_MCL_CURRENT;
2715 #endif /* ndef MCL_CURRENT */
2716 #ifdef MCL_FUTURE
2717 if ((x & MCL_FUTURE) == MCL_FUTURE)
2718 *r |= Mono_Posix_MlockallFlags_MCL_FUTURE;
2719 #endif /* ndef MCL_FUTURE */
2720 return 0;
2723 int Mono_Posix_FromMmapFlags (int x, int *r)
2725 *r = 0;
2726 if ((x & Mono_Posix_MmapFlags_MAP_ANON) == Mono_Posix_MmapFlags_MAP_ANON)
2727 #ifdef MAP_ANON
2728 *r |= MAP_ANON;
2729 #else /* def MAP_ANON */
2730 {errno = EINVAL; return -1;}
2731 #endif /* ndef MAP_ANON */
2732 if ((x & Mono_Posix_MmapFlags_MAP_ANONYMOUS) == Mono_Posix_MmapFlags_MAP_ANONYMOUS)
2733 #ifdef MAP_ANONYMOUS
2734 *r |= MAP_ANONYMOUS;
2735 #else /* def MAP_ANONYMOUS */
2736 {errno = EINVAL; return -1;}
2737 #endif /* ndef MAP_ANONYMOUS */
2738 if ((x & Mono_Posix_MmapFlags_MAP_DENYWRITE) == Mono_Posix_MmapFlags_MAP_DENYWRITE)
2739 #ifdef MAP_DENYWRITE
2740 *r |= MAP_DENYWRITE;
2741 #else /* def MAP_DENYWRITE */
2742 {errno = EINVAL; return -1;}
2743 #endif /* ndef MAP_DENYWRITE */
2744 if ((x & Mono_Posix_MmapFlags_MAP_EXECUTABLE) == Mono_Posix_MmapFlags_MAP_EXECUTABLE)
2745 #ifdef MAP_EXECUTABLE
2746 *r |= MAP_EXECUTABLE;
2747 #else /* def MAP_EXECUTABLE */
2748 {errno = EINVAL; return -1;}
2749 #endif /* ndef MAP_EXECUTABLE */
2750 if ((x & Mono_Posix_MmapFlags_MAP_FILE) == Mono_Posix_MmapFlags_MAP_FILE)
2751 #ifdef MAP_FILE
2752 *r |= MAP_FILE;
2753 #else /* def MAP_FILE */
2754 {errno = EINVAL; return -1;}
2755 #endif /* ndef MAP_FILE */
2756 if ((x & Mono_Posix_MmapFlags_MAP_FIXED) == Mono_Posix_MmapFlags_MAP_FIXED)
2757 #ifdef MAP_FIXED
2758 *r |= MAP_FIXED;
2759 #else /* def MAP_FIXED */
2760 {errno = EINVAL; return -1;}
2761 #endif /* ndef MAP_FIXED */
2762 if ((x & Mono_Posix_MmapFlags_MAP_GROWSDOWN) == Mono_Posix_MmapFlags_MAP_GROWSDOWN)
2763 #ifdef MAP_GROWSDOWN
2764 *r |= MAP_GROWSDOWN;
2765 #else /* def MAP_GROWSDOWN */
2766 {errno = EINVAL; return -1;}
2767 #endif /* ndef MAP_GROWSDOWN */
2768 if ((x & Mono_Posix_MmapFlags_MAP_LOCKED) == Mono_Posix_MmapFlags_MAP_LOCKED)
2769 #ifdef MAP_LOCKED
2770 *r |= MAP_LOCKED;
2771 #else /* def MAP_LOCKED */
2772 {errno = EINVAL; return -1;}
2773 #endif /* ndef MAP_LOCKED */
2774 if ((x & Mono_Posix_MmapFlags_MAP_NONBLOCK) == Mono_Posix_MmapFlags_MAP_NONBLOCK)
2775 #ifdef MAP_NONBLOCK
2776 *r |= MAP_NONBLOCK;
2777 #else /* def MAP_NONBLOCK */
2778 {errno = EINVAL; return -1;}
2779 #endif /* ndef MAP_NONBLOCK */
2780 if ((x & Mono_Posix_MmapFlags_MAP_NORESERVE) == Mono_Posix_MmapFlags_MAP_NORESERVE)
2781 #ifdef MAP_NORESERVE
2782 *r |= MAP_NORESERVE;
2783 #else /* def MAP_NORESERVE */
2784 {errno = EINVAL; return -1;}
2785 #endif /* ndef MAP_NORESERVE */
2786 if ((x & Mono_Posix_MmapFlags_MAP_POPULATE) == Mono_Posix_MmapFlags_MAP_POPULATE)
2787 #ifdef MAP_POPULATE
2788 *r |= MAP_POPULATE;
2789 #else /* def MAP_POPULATE */
2790 {errno = EINVAL; return -1;}
2791 #endif /* ndef MAP_POPULATE */
2792 if ((x & Mono_Posix_MmapFlags_MAP_PRIVATE) == Mono_Posix_MmapFlags_MAP_PRIVATE)
2793 #ifdef MAP_PRIVATE
2794 *r |= MAP_PRIVATE;
2795 #else /* def MAP_PRIVATE */
2796 {errno = EINVAL; return -1;}
2797 #endif /* ndef MAP_PRIVATE */
2798 if ((x & Mono_Posix_MmapFlags_MAP_SHARED) == Mono_Posix_MmapFlags_MAP_SHARED)
2799 #ifdef MAP_SHARED
2800 *r |= MAP_SHARED;
2801 #else /* def MAP_SHARED */
2802 {errno = EINVAL; return -1;}
2803 #endif /* ndef MAP_SHARED */
2804 if ((x & Mono_Posix_MmapFlags_MAP_TYPE) == Mono_Posix_MmapFlags_MAP_TYPE)
2805 #ifdef MAP_TYPE
2806 *r |= MAP_TYPE;
2807 #else /* def MAP_TYPE */
2808 {errno = EINVAL; return -1;}
2809 #endif /* ndef MAP_TYPE */
2810 if (x == 0)
2811 return 0;
2812 return 0;
2815 int Mono_Posix_ToMmapFlags (int x, int *r)
2817 *r = 0;
2818 if (x == 0)
2819 return 0;
2820 #ifdef MAP_ANON
2821 if ((x & MAP_ANON) == MAP_ANON)
2822 *r |= Mono_Posix_MmapFlags_MAP_ANON;
2823 #endif /* ndef MAP_ANON */
2824 #ifdef MAP_ANONYMOUS
2825 if ((x & MAP_ANONYMOUS) == MAP_ANONYMOUS)
2826 *r |= Mono_Posix_MmapFlags_MAP_ANONYMOUS;
2827 #endif /* ndef MAP_ANONYMOUS */
2828 #ifdef MAP_DENYWRITE
2829 if ((x & MAP_DENYWRITE) == MAP_DENYWRITE)
2830 *r |= Mono_Posix_MmapFlags_MAP_DENYWRITE;
2831 #endif /* ndef MAP_DENYWRITE */
2832 #ifdef MAP_EXECUTABLE
2833 if ((x & MAP_EXECUTABLE) == MAP_EXECUTABLE)
2834 *r |= Mono_Posix_MmapFlags_MAP_EXECUTABLE;
2835 #endif /* ndef MAP_EXECUTABLE */
2836 #ifdef MAP_FILE
2837 if ((x & MAP_FILE) == MAP_FILE)
2838 *r |= Mono_Posix_MmapFlags_MAP_FILE;
2839 #endif /* ndef MAP_FILE */
2840 #ifdef MAP_FIXED
2841 if ((x & MAP_FIXED) == MAP_FIXED)
2842 *r |= Mono_Posix_MmapFlags_MAP_FIXED;
2843 #endif /* ndef MAP_FIXED */
2844 #ifdef MAP_GROWSDOWN
2845 if ((x & MAP_GROWSDOWN) == MAP_GROWSDOWN)
2846 *r |= Mono_Posix_MmapFlags_MAP_GROWSDOWN;
2847 #endif /* ndef MAP_GROWSDOWN */
2848 #ifdef MAP_LOCKED
2849 if ((x & MAP_LOCKED) == MAP_LOCKED)
2850 *r |= Mono_Posix_MmapFlags_MAP_LOCKED;
2851 #endif /* ndef MAP_LOCKED */
2852 #ifdef MAP_NONBLOCK
2853 if ((x & MAP_NONBLOCK) == MAP_NONBLOCK)
2854 *r |= Mono_Posix_MmapFlags_MAP_NONBLOCK;
2855 #endif /* ndef MAP_NONBLOCK */
2856 #ifdef MAP_NORESERVE
2857 if ((x & MAP_NORESERVE) == MAP_NORESERVE)
2858 *r |= Mono_Posix_MmapFlags_MAP_NORESERVE;
2859 #endif /* ndef MAP_NORESERVE */
2860 #ifdef MAP_POPULATE
2861 if ((x & MAP_POPULATE) == MAP_POPULATE)
2862 *r |= Mono_Posix_MmapFlags_MAP_POPULATE;
2863 #endif /* ndef MAP_POPULATE */
2864 #ifdef MAP_PRIVATE
2865 if ((x & MAP_PRIVATE) == MAP_PRIVATE)
2866 *r |= Mono_Posix_MmapFlags_MAP_PRIVATE;
2867 #endif /* ndef MAP_PRIVATE */
2868 #ifdef MAP_SHARED
2869 if ((x & MAP_SHARED) == MAP_SHARED)
2870 *r |= Mono_Posix_MmapFlags_MAP_SHARED;
2871 #endif /* ndef MAP_SHARED */
2872 #ifdef MAP_TYPE
2873 if ((x & MAP_TYPE) == MAP_TYPE)
2874 *r |= Mono_Posix_MmapFlags_MAP_TYPE;
2875 #endif /* ndef MAP_TYPE */
2876 return 0;
2879 int Mono_Posix_FromMmapProts (int x, int *r)
2881 *r = 0;
2882 if ((x & Mono_Posix_MmapProts_PROT_EXEC) == Mono_Posix_MmapProts_PROT_EXEC)
2883 #ifdef PROT_EXEC
2884 *r |= PROT_EXEC;
2885 #else /* def PROT_EXEC */
2886 {errno = EINVAL; return -1;}
2887 #endif /* ndef PROT_EXEC */
2888 if ((x & Mono_Posix_MmapProts_PROT_GROWSDOWN) == Mono_Posix_MmapProts_PROT_GROWSDOWN)
2889 #ifdef PROT_GROWSDOWN
2890 *r |= PROT_GROWSDOWN;
2891 #else /* def PROT_GROWSDOWN */
2892 {errno = EINVAL; return -1;}
2893 #endif /* ndef PROT_GROWSDOWN */
2894 if ((x & Mono_Posix_MmapProts_PROT_GROWSUP) == Mono_Posix_MmapProts_PROT_GROWSUP)
2895 #ifdef PROT_GROWSUP
2896 *r |= PROT_GROWSUP;
2897 #else /* def PROT_GROWSUP */
2898 {errno = EINVAL; return -1;}
2899 #endif /* ndef PROT_GROWSUP */
2900 if ((x & Mono_Posix_MmapProts_PROT_NONE) == Mono_Posix_MmapProts_PROT_NONE)
2901 #ifdef PROT_NONE
2902 *r |= PROT_NONE;
2903 #else /* def PROT_NONE */
2904 {errno = EINVAL; return -1;}
2905 #endif /* ndef PROT_NONE */
2906 if ((x & Mono_Posix_MmapProts_PROT_READ) == Mono_Posix_MmapProts_PROT_READ)
2907 #ifdef PROT_READ
2908 *r |= PROT_READ;
2909 #else /* def PROT_READ */
2910 {errno = EINVAL; return -1;}
2911 #endif /* ndef PROT_READ */
2912 if ((x & Mono_Posix_MmapProts_PROT_WRITE) == Mono_Posix_MmapProts_PROT_WRITE)
2913 #ifdef PROT_WRITE
2914 *r |= PROT_WRITE;
2915 #else /* def PROT_WRITE */
2916 {errno = EINVAL; return -1;}
2917 #endif /* ndef PROT_WRITE */
2918 if (x == 0)
2919 return 0;
2920 return 0;
2923 int Mono_Posix_ToMmapProts (int x, int *r)
2925 *r = 0;
2926 if (x == 0)
2927 return 0;
2928 #ifdef PROT_EXEC
2929 if ((x & PROT_EXEC) == PROT_EXEC)
2930 *r |= Mono_Posix_MmapProts_PROT_EXEC;
2931 #endif /* ndef PROT_EXEC */
2932 #ifdef PROT_GROWSDOWN
2933 if ((x & PROT_GROWSDOWN) == PROT_GROWSDOWN)
2934 *r |= Mono_Posix_MmapProts_PROT_GROWSDOWN;
2935 #endif /* ndef PROT_GROWSDOWN */
2936 #ifdef PROT_GROWSUP
2937 if ((x & PROT_GROWSUP) == PROT_GROWSUP)
2938 *r |= Mono_Posix_MmapProts_PROT_GROWSUP;
2939 #endif /* ndef PROT_GROWSUP */
2940 #ifdef PROT_NONE
2941 if ((x & PROT_NONE) == PROT_NONE)
2942 *r |= Mono_Posix_MmapProts_PROT_NONE;
2943 #endif /* ndef PROT_NONE */
2944 #ifdef PROT_READ
2945 if ((x & PROT_READ) == PROT_READ)
2946 *r |= Mono_Posix_MmapProts_PROT_READ;
2947 #endif /* ndef PROT_READ */
2948 #ifdef PROT_WRITE
2949 if ((x & PROT_WRITE) == PROT_WRITE)
2950 *r |= Mono_Posix_MmapProts_PROT_WRITE;
2951 #endif /* ndef PROT_WRITE */
2952 return 0;
2955 int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
2957 *r = 0;
2958 if ((x & Mono_Posix_MountFlags_ST_APPEND) == Mono_Posix_MountFlags_ST_APPEND)
2959 #ifdef ST_APPEND
2960 *r |= ST_APPEND;
2961 #else /* def ST_APPEND */
2962 {errno = EINVAL; return -1;}
2963 #endif /* ndef ST_APPEND */
2964 if ((x & Mono_Posix_MountFlags_ST_BIND) == Mono_Posix_MountFlags_ST_BIND)
2965 #ifdef ST_BIND
2966 *r |= ST_BIND;
2967 #else /* def ST_BIND */
2968 {errno = EINVAL; return -1;}
2969 #endif /* ndef ST_BIND */
2970 if ((x & Mono_Posix_MountFlags_ST_IMMUTABLE) == Mono_Posix_MountFlags_ST_IMMUTABLE)
2971 #ifdef ST_IMMUTABLE
2972 *r |= ST_IMMUTABLE;
2973 #else /* def ST_IMMUTABLE */
2974 {errno = EINVAL; return -1;}
2975 #endif /* ndef ST_IMMUTABLE */
2976 if ((x & Mono_Posix_MountFlags_ST_MANDLOCK) == Mono_Posix_MountFlags_ST_MANDLOCK)
2977 #ifdef ST_MANDLOCK
2978 *r |= ST_MANDLOCK;
2979 #else /* def ST_MANDLOCK */
2980 {errno = EINVAL; return -1;}
2981 #endif /* ndef ST_MANDLOCK */
2982 if ((x & Mono_Posix_MountFlags_ST_NOATIME) == Mono_Posix_MountFlags_ST_NOATIME)
2983 #ifdef ST_NOATIME
2984 *r |= ST_NOATIME;
2985 #else /* def ST_NOATIME */
2986 {errno = EINVAL; return -1;}
2987 #endif /* ndef ST_NOATIME */
2988 if ((x & Mono_Posix_MountFlags_ST_NODEV) == Mono_Posix_MountFlags_ST_NODEV)
2989 #ifdef ST_NODEV
2990 *r |= ST_NODEV;
2991 #else /* def ST_NODEV */
2992 {errno = EINVAL; return -1;}
2993 #endif /* ndef ST_NODEV */
2994 if ((x & Mono_Posix_MountFlags_ST_NODIRATIME) == Mono_Posix_MountFlags_ST_NODIRATIME)
2995 #ifdef ST_NODIRATIME
2996 *r |= ST_NODIRATIME;
2997 #else /* def ST_NODIRATIME */
2998 {errno = EINVAL; return -1;}
2999 #endif /* ndef ST_NODIRATIME */
3000 if ((x & Mono_Posix_MountFlags_ST_NOEXEC) == Mono_Posix_MountFlags_ST_NOEXEC)
3001 #ifdef ST_NOEXEC
3002 *r |= ST_NOEXEC;
3003 #else /* def ST_NOEXEC */
3004 {errno = EINVAL; return -1;}
3005 #endif /* ndef ST_NOEXEC */
3006 if ((x & Mono_Posix_MountFlags_ST_NOSUID) == Mono_Posix_MountFlags_ST_NOSUID)
3007 #ifdef ST_NOSUID
3008 *r |= ST_NOSUID;
3009 #else /* def ST_NOSUID */
3010 {errno = EINVAL; return -1;}
3011 #endif /* ndef ST_NOSUID */
3012 if ((x & Mono_Posix_MountFlags_ST_RDONLY) == Mono_Posix_MountFlags_ST_RDONLY)
3013 #ifdef ST_RDONLY
3014 *r |= ST_RDONLY;
3015 #else /* def ST_RDONLY */
3016 {errno = EINVAL; return -1;}
3017 #endif /* ndef ST_RDONLY */
3018 if ((x & Mono_Posix_MountFlags_ST_REMOUNT) == Mono_Posix_MountFlags_ST_REMOUNT)
3019 #ifdef ST_REMOUNT
3020 *r |= ST_REMOUNT;
3021 #else /* def ST_REMOUNT */
3022 {errno = EINVAL; return -1;}
3023 #endif /* ndef ST_REMOUNT */
3024 if ((x & Mono_Posix_MountFlags_ST_SYNCHRONOUS) == Mono_Posix_MountFlags_ST_SYNCHRONOUS)
3025 #ifdef ST_SYNCHRONOUS
3026 *r |= ST_SYNCHRONOUS;
3027 #else /* def ST_SYNCHRONOUS */
3028 {errno = EINVAL; return -1;}
3029 #endif /* ndef ST_SYNCHRONOUS */
3030 if ((x & Mono_Posix_MountFlags_ST_WRITE) == Mono_Posix_MountFlags_ST_WRITE)
3031 #ifdef ST_WRITE
3032 *r |= ST_WRITE;
3033 #else /* def ST_WRITE */
3034 {errno = EINVAL; return -1;}
3035 #endif /* ndef ST_WRITE */
3036 if (x == 0)
3037 return 0;
3038 return 0;
3041 int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
3043 *r = 0;
3044 if (x == 0)
3045 return 0;
3046 #ifdef ST_APPEND
3047 if ((x & ST_APPEND) == ST_APPEND)
3048 *r |= Mono_Posix_MountFlags_ST_APPEND;
3049 #endif /* ndef ST_APPEND */
3050 #ifdef ST_BIND
3051 if ((x & ST_BIND) == ST_BIND)
3052 *r |= Mono_Posix_MountFlags_ST_BIND;
3053 #endif /* ndef ST_BIND */
3054 #ifdef ST_IMMUTABLE
3055 if ((x & ST_IMMUTABLE) == ST_IMMUTABLE)
3056 *r |= Mono_Posix_MountFlags_ST_IMMUTABLE;
3057 #endif /* ndef ST_IMMUTABLE */
3058 #ifdef ST_MANDLOCK
3059 if ((x & ST_MANDLOCK) == ST_MANDLOCK)
3060 *r |= Mono_Posix_MountFlags_ST_MANDLOCK;
3061 #endif /* ndef ST_MANDLOCK */
3062 #ifdef ST_NOATIME
3063 if ((x & ST_NOATIME) == ST_NOATIME)
3064 *r |= Mono_Posix_MountFlags_ST_NOATIME;
3065 #endif /* ndef ST_NOATIME */
3066 #ifdef ST_NODEV
3067 if ((x & ST_NODEV) == ST_NODEV)
3068 *r |= Mono_Posix_MountFlags_ST_NODEV;
3069 #endif /* ndef ST_NODEV */
3070 #ifdef ST_NODIRATIME
3071 if ((x & ST_NODIRATIME) == ST_NODIRATIME)
3072 *r |= Mono_Posix_MountFlags_ST_NODIRATIME;
3073 #endif /* ndef ST_NODIRATIME */
3074 #ifdef ST_NOEXEC
3075 if ((x & ST_NOEXEC) == ST_NOEXEC)
3076 *r |= Mono_Posix_MountFlags_ST_NOEXEC;
3077 #endif /* ndef ST_NOEXEC */
3078 #ifdef ST_NOSUID
3079 if ((x & ST_NOSUID) == ST_NOSUID)
3080 *r |= Mono_Posix_MountFlags_ST_NOSUID;
3081 #endif /* ndef ST_NOSUID */
3082 #ifdef ST_RDONLY
3083 if ((x & ST_RDONLY) == ST_RDONLY)
3084 *r |= Mono_Posix_MountFlags_ST_RDONLY;
3085 #endif /* ndef ST_RDONLY */
3086 #ifdef ST_REMOUNT
3087 if ((x & ST_REMOUNT) == ST_REMOUNT)
3088 *r |= Mono_Posix_MountFlags_ST_REMOUNT;
3089 #endif /* ndef ST_REMOUNT */
3090 #ifdef ST_SYNCHRONOUS
3091 if ((x & ST_SYNCHRONOUS) == ST_SYNCHRONOUS)
3092 *r |= Mono_Posix_MountFlags_ST_SYNCHRONOUS;
3093 #endif /* ndef ST_SYNCHRONOUS */
3094 #ifdef ST_WRITE
3095 if ((x & ST_WRITE) == ST_WRITE)
3096 *r |= Mono_Posix_MountFlags_ST_WRITE;
3097 #endif /* ndef ST_WRITE */
3098 return 0;
3101 int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r)
3103 *r = 0;
3104 if ((x & Mono_Posix_MremapFlags_MREMAP_MAYMOVE) == Mono_Posix_MremapFlags_MREMAP_MAYMOVE)
3105 #ifdef MREMAP_MAYMOVE
3106 *r |= MREMAP_MAYMOVE;
3107 #else /* def MREMAP_MAYMOVE */
3108 {errno = EINVAL; return -1;}
3109 #endif /* ndef MREMAP_MAYMOVE */
3110 if (x == 0)
3111 return 0;
3112 return 0;
3115 int Mono_Posix_ToMremapFlags (guint64 x, guint64 *r)
3117 *r = 0;
3118 if (x == 0)
3119 return 0;
3120 #ifdef MREMAP_MAYMOVE
3121 if ((x & MREMAP_MAYMOVE) == MREMAP_MAYMOVE)
3122 *r |= Mono_Posix_MremapFlags_MREMAP_MAYMOVE;
3123 #endif /* ndef MREMAP_MAYMOVE */
3124 return 0;
3127 int Mono_Posix_FromMsyncFlags (int x, int *r)
3129 *r = 0;
3130 if ((x & Mono_Posix_MsyncFlags_MS_ASYNC) == Mono_Posix_MsyncFlags_MS_ASYNC)
3131 #ifdef MS_ASYNC
3132 *r |= MS_ASYNC;
3133 #else /* def MS_ASYNC */
3134 {errno = EINVAL; return -1;}
3135 #endif /* ndef MS_ASYNC */
3136 if ((x & Mono_Posix_MsyncFlags_MS_INVALIDATE) == Mono_Posix_MsyncFlags_MS_INVALIDATE)
3137 #ifdef MS_INVALIDATE
3138 *r |= MS_INVALIDATE;
3139 #else /* def MS_INVALIDATE */
3140 {errno = EINVAL; return -1;}
3141 #endif /* ndef MS_INVALIDATE */
3142 if ((x & Mono_Posix_MsyncFlags_MS_SYNC) == Mono_Posix_MsyncFlags_MS_SYNC)
3143 #ifdef MS_SYNC
3144 *r |= MS_SYNC;
3145 #else /* def MS_SYNC */
3146 {errno = EINVAL; return -1;}
3147 #endif /* ndef MS_SYNC */
3148 if (x == 0)
3149 return 0;
3150 return 0;
3153 int Mono_Posix_ToMsyncFlags (int x, int *r)
3155 *r = 0;
3156 if (x == 0)
3157 return 0;
3158 #ifdef MS_ASYNC
3159 if ((x & MS_ASYNC) == MS_ASYNC)
3160 *r |= Mono_Posix_MsyncFlags_MS_ASYNC;
3161 #endif /* ndef MS_ASYNC */
3162 #ifdef MS_INVALIDATE
3163 if ((x & MS_INVALIDATE) == MS_INVALIDATE)
3164 *r |= Mono_Posix_MsyncFlags_MS_INVALIDATE;
3165 #endif /* ndef MS_INVALIDATE */
3166 #ifdef MS_SYNC
3167 if ((x & MS_SYNC) == MS_SYNC)
3168 *r |= Mono_Posix_MsyncFlags_MS_SYNC;
3169 #endif /* ndef MS_SYNC */
3170 return 0;
3173 int Mono_Posix_FromOpenFlags (int x, int *r)
3175 *r = 0;
3176 if ((x & Mono_Posix_OpenFlags_O_APPEND) == Mono_Posix_OpenFlags_O_APPEND)
3177 #ifdef O_APPEND
3178 *r |= O_APPEND;
3179 #else /* def O_APPEND */
3180 {errno = EINVAL; return -1;}
3181 #endif /* ndef O_APPEND */
3182 if ((x & Mono_Posix_OpenFlags_O_ASYNC) == Mono_Posix_OpenFlags_O_ASYNC)
3183 #ifdef O_ASYNC
3184 *r |= O_ASYNC;
3185 #else /* def O_ASYNC */
3186 {errno = EINVAL; return -1;}
3187 #endif /* ndef O_ASYNC */
3188 if ((x & Mono_Posix_OpenFlags_O_CREAT) == Mono_Posix_OpenFlags_O_CREAT)
3189 #ifdef O_CREAT
3190 *r |= O_CREAT;
3191 #else /* def O_CREAT */
3192 {errno = EINVAL; return -1;}
3193 #endif /* ndef O_CREAT */
3194 if ((x & Mono_Posix_OpenFlags_O_DIRECT) == Mono_Posix_OpenFlags_O_DIRECT)
3195 #ifdef O_DIRECT
3196 *r |= O_DIRECT;
3197 #else /* def O_DIRECT */
3198 {errno = EINVAL; return -1;}
3199 #endif /* ndef O_DIRECT */
3200 if ((x & Mono_Posix_OpenFlags_O_DIRECTORY) == Mono_Posix_OpenFlags_O_DIRECTORY)
3201 #ifdef O_DIRECTORY
3202 *r |= O_DIRECTORY;
3203 #else /* def O_DIRECTORY */
3204 {errno = EINVAL; return -1;}
3205 #endif /* ndef O_DIRECTORY */
3206 if ((x & Mono_Posix_OpenFlags_O_EXCL) == Mono_Posix_OpenFlags_O_EXCL)
3207 #ifdef O_EXCL
3208 *r |= O_EXCL;
3209 #else /* def O_EXCL */
3210 {errno = EINVAL; return -1;}
3211 #endif /* ndef O_EXCL */
3212 if ((x & Mono_Posix_OpenFlags_O_LARGEFILE) == Mono_Posix_OpenFlags_O_LARGEFILE)
3213 #ifdef O_LARGEFILE
3214 *r |= O_LARGEFILE;
3215 #else /* def O_LARGEFILE */
3216 {errno = EINVAL; return -1;}
3217 #endif /* ndef O_LARGEFILE */
3218 if ((x & Mono_Posix_OpenFlags_O_NOCTTY) == Mono_Posix_OpenFlags_O_NOCTTY)
3219 #ifdef O_NOCTTY
3220 *r |= O_NOCTTY;
3221 #else /* def O_NOCTTY */
3222 {errno = EINVAL; return -1;}
3223 #endif /* ndef O_NOCTTY */
3224 if ((x & Mono_Posix_OpenFlags_O_NOFOLLOW) == Mono_Posix_OpenFlags_O_NOFOLLOW)
3225 #ifdef O_NOFOLLOW
3226 *r |= O_NOFOLLOW;
3227 #else /* def O_NOFOLLOW */
3228 {errno = EINVAL; return -1;}
3229 #endif /* ndef O_NOFOLLOW */
3230 if ((x & Mono_Posix_OpenFlags_O_NONBLOCK) == Mono_Posix_OpenFlags_O_NONBLOCK)
3231 #ifdef O_NONBLOCK
3232 *r |= O_NONBLOCK;
3233 #else /* def O_NONBLOCK */
3234 {errno = EINVAL; return -1;}
3235 #endif /* ndef O_NONBLOCK */
3236 if ((x & Mono_Posix_OpenFlags_O_RDONLY) == Mono_Posix_OpenFlags_O_RDONLY)
3237 #ifdef O_RDONLY
3238 *r |= O_RDONLY;
3239 #else /* def O_RDONLY */
3240 {errno = EINVAL; return -1;}
3241 #endif /* ndef O_RDONLY */
3242 if ((x & Mono_Posix_OpenFlags_O_RDWR) == Mono_Posix_OpenFlags_O_RDWR)
3243 #ifdef O_RDWR
3244 *r |= O_RDWR;
3245 #else /* def O_RDWR */
3246 {errno = EINVAL; return -1;}
3247 #endif /* ndef O_RDWR */
3248 if ((x & Mono_Posix_OpenFlags_O_SYNC) == Mono_Posix_OpenFlags_O_SYNC)
3249 #ifdef O_SYNC
3250 *r |= O_SYNC;
3251 #else /* def O_SYNC */
3252 {errno = EINVAL; return -1;}
3253 #endif /* ndef O_SYNC */
3254 if ((x & Mono_Posix_OpenFlags_O_TRUNC) == Mono_Posix_OpenFlags_O_TRUNC)
3255 #ifdef O_TRUNC
3256 *r |= O_TRUNC;
3257 #else /* def O_TRUNC */
3258 {errno = EINVAL; return -1;}
3259 #endif /* ndef O_TRUNC */
3260 if ((x & Mono_Posix_OpenFlags_O_WRONLY) == Mono_Posix_OpenFlags_O_WRONLY)
3261 #ifdef O_WRONLY
3262 *r |= O_WRONLY;
3263 #else /* def O_WRONLY */
3264 {errno = EINVAL; return -1;}
3265 #endif /* ndef O_WRONLY */
3266 if (x == 0)
3267 return 0;
3268 return 0;
3271 int Mono_Posix_ToOpenFlags (int x, int *r)
3273 *r = 0;
3274 if (x == 0)
3275 return 0;
3276 #ifdef O_APPEND
3277 if ((x & O_APPEND) == O_APPEND)
3278 *r |= Mono_Posix_OpenFlags_O_APPEND;
3279 #endif /* ndef O_APPEND */
3280 #ifdef O_ASYNC
3281 if ((x & O_ASYNC) == O_ASYNC)
3282 *r |= Mono_Posix_OpenFlags_O_ASYNC;
3283 #endif /* ndef O_ASYNC */
3284 #ifdef O_CREAT
3285 if ((x & O_CREAT) == O_CREAT)
3286 *r |= Mono_Posix_OpenFlags_O_CREAT;
3287 #endif /* ndef O_CREAT */
3288 #ifdef O_DIRECT
3289 if ((x & O_DIRECT) == O_DIRECT)
3290 *r |= Mono_Posix_OpenFlags_O_DIRECT;
3291 #endif /* ndef O_DIRECT */
3292 #ifdef O_DIRECTORY
3293 if ((x & O_DIRECTORY) == O_DIRECTORY)
3294 *r |= Mono_Posix_OpenFlags_O_DIRECTORY;
3295 #endif /* ndef O_DIRECTORY */
3296 #ifdef O_EXCL
3297 if ((x & O_EXCL) == O_EXCL)
3298 *r |= Mono_Posix_OpenFlags_O_EXCL;
3299 #endif /* ndef O_EXCL */
3300 #ifdef O_LARGEFILE
3301 if ((x & O_LARGEFILE) == O_LARGEFILE)
3302 *r |= Mono_Posix_OpenFlags_O_LARGEFILE;
3303 #endif /* ndef O_LARGEFILE */
3304 #ifdef O_NOCTTY
3305 if ((x & O_NOCTTY) == O_NOCTTY)
3306 *r |= Mono_Posix_OpenFlags_O_NOCTTY;
3307 #endif /* ndef O_NOCTTY */
3308 #ifdef O_NOFOLLOW
3309 if ((x & O_NOFOLLOW) == O_NOFOLLOW)
3310 *r |= Mono_Posix_OpenFlags_O_NOFOLLOW;
3311 #endif /* ndef O_NOFOLLOW */
3312 #ifdef O_NONBLOCK
3313 if ((x & O_NONBLOCK) == O_NONBLOCK)
3314 *r |= Mono_Posix_OpenFlags_O_NONBLOCK;
3315 #endif /* ndef O_NONBLOCK */
3316 #ifdef O_RDONLY
3317 if ((x & O_RDONLY) == O_RDONLY)
3318 *r |= Mono_Posix_OpenFlags_O_RDONLY;
3319 #endif /* ndef O_RDONLY */
3320 #ifdef O_RDWR
3321 if ((x & O_RDWR) == O_RDWR)
3322 *r |= Mono_Posix_OpenFlags_O_RDWR;
3323 #endif /* ndef O_RDWR */
3324 #ifdef O_SYNC
3325 if ((x & O_SYNC) == O_SYNC)
3326 *r |= Mono_Posix_OpenFlags_O_SYNC;
3327 #endif /* ndef O_SYNC */
3328 #ifdef O_TRUNC
3329 if ((x & O_TRUNC) == O_TRUNC)
3330 *r |= Mono_Posix_OpenFlags_O_TRUNC;
3331 #endif /* ndef O_TRUNC */
3332 #ifdef O_WRONLY
3333 if ((x & O_WRONLY) == O_WRONLY)
3334 *r |= Mono_Posix_OpenFlags_O_WRONLY;
3335 #endif /* ndef O_WRONLY */
3336 return 0;
3339 int Mono_Posix_FromPathconfName (int x, int *r)
3341 *r = 0;
3342 if (x == Mono_Posix_PathconfName__PC_2_SYMLINKS)
3343 #ifdef _PC_2_SYMLINKS
3344 {*r = _PC_2_SYMLINKS; return 0;}
3345 #else /* def _PC_2_SYMLINKS */
3346 {errno = EINVAL; return -1;}
3347 #endif /* ndef _PC_2_SYMLINKS */
3348 if (x == Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN)
3349 #ifdef _PC_ALLOC_SIZE_MIN
3350 {*r = _PC_ALLOC_SIZE_MIN; return 0;}
3351 #else /* def _PC_ALLOC_SIZE_MIN */
3352 {errno = EINVAL; return -1;}
3353 #endif /* ndef _PC_ALLOC_SIZE_MIN */
3354 if (x == Mono_Posix_PathconfName__PC_ASYNC_IO)
3355 #ifdef _PC_ASYNC_IO
3356 {*r = _PC_ASYNC_IO; return 0;}
3357 #else /* def _PC_ASYNC_IO */
3358 {errno = EINVAL; return -1;}
3359 #endif /* ndef _PC_ASYNC_IO */
3360 if (x == Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED)
3361 #ifdef _PC_CHOWN_RESTRICTED
3362 {*r = _PC_CHOWN_RESTRICTED; return 0;}
3363 #else /* def _PC_CHOWN_RESTRICTED */
3364 {errno = EINVAL; return -1;}
3365 #endif /* ndef _PC_CHOWN_RESTRICTED */
3366 if (x == Mono_Posix_PathconfName__PC_FILESIZEBITS)
3367 #ifdef _PC_FILESIZEBITS
3368 {*r = _PC_FILESIZEBITS; return 0;}
3369 #else /* def _PC_FILESIZEBITS */
3370 {errno = EINVAL; return -1;}
3371 #endif /* ndef _PC_FILESIZEBITS */
3372 if (x == Mono_Posix_PathconfName__PC_LINK_MAX)
3373 #ifdef _PC_LINK_MAX
3374 {*r = _PC_LINK_MAX; return 0;}
3375 #else /* def _PC_LINK_MAX */
3376 {errno = EINVAL; return -1;}
3377 #endif /* ndef _PC_LINK_MAX */
3378 if (x == Mono_Posix_PathconfName__PC_MAX_CANON)
3379 #ifdef _PC_MAX_CANON
3380 {*r = _PC_MAX_CANON; return 0;}
3381 #else /* def _PC_MAX_CANON */
3382 {errno = EINVAL; return -1;}
3383 #endif /* ndef _PC_MAX_CANON */
3384 if (x == Mono_Posix_PathconfName__PC_MAX_INPUT)
3385 #ifdef _PC_MAX_INPUT
3386 {*r = _PC_MAX_INPUT; return 0;}
3387 #else /* def _PC_MAX_INPUT */
3388 {errno = EINVAL; return -1;}
3389 #endif /* ndef _PC_MAX_INPUT */
3390 if (x == Mono_Posix_PathconfName__PC_NAME_MAX)
3391 #ifdef _PC_NAME_MAX
3392 {*r = _PC_NAME_MAX; return 0;}
3393 #else /* def _PC_NAME_MAX */
3394 {errno = EINVAL; return -1;}
3395 #endif /* ndef _PC_NAME_MAX */
3396 if (x == Mono_Posix_PathconfName__PC_NO_TRUNC)
3397 #ifdef _PC_NO_TRUNC
3398 {*r = _PC_NO_TRUNC; return 0;}
3399 #else /* def _PC_NO_TRUNC */
3400 {errno = EINVAL; return -1;}
3401 #endif /* ndef _PC_NO_TRUNC */
3402 if (x == Mono_Posix_PathconfName__PC_PATH_MAX)
3403 #ifdef _PC_PATH_MAX
3404 {*r = _PC_PATH_MAX; return 0;}
3405 #else /* def _PC_PATH_MAX */
3406 {errno = EINVAL; return -1;}
3407 #endif /* ndef _PC_PATH_MAX */
3408 if (x == Mono_Posix_PathconfName__PC_PIPE_BUF)
3409 #ifdef _PC_PIPE_BUF
3410 {*r = _PC_PIPE_BUF; return 0;}
3411 #else /* def _PC_PIPE_BUF */
3412 {errno = EINVAL; return -1;}
3413 #endif /* ndef _PC_PIPE_BUF */
3414 if (x == Mono_Posix_PathconfName__PC_PRIO_IO)
3415 #ifdef _PC_PRIO_IO
3416 {*r = _PC_PRIO_IO; return 0;}
3417 #else /* def _PC_PRIO_IO */
3418 {errno = EINVAL; return -1;}
3419 #endif /* ndef _PC_PRIO_IO */
3420 if (x == Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE)
3421 #ifdef _PC_REC_INCR_XFER_SIZE
3422 {*r = _PC_REC_INCR_XFER_SIZE; return 0;}
3423 #else /* def _PC_REC_INCR_XFER_SIZE */
3424 {errno = EINVAL; return -1;}
3425 #endif /* ndef _PC_REC_INCR_XFER_SIZE */
3426 if (x == Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE)
3427 #ifdef _PC_REC_MAX_XFER_SIZE
3428 {*r = _PC_REC_MAX_XFER_SIZE; return 0;}
3429 #else /* def _PC_REC_MAX_XFER_SIZE */
3430 {errno = EINVAL; return -1;}
3431 #endif /* ndef _PC_REC_MAX_XFER_SIZE */
3432 if (x == Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE)
3433 #ifdef _PC_REC_MIN_XFER_SIZE
3434 {*r = _PC_REC_MIN_XFER_SIZE; return 0;}
3435 #else /* def _PC_REC_MIN_XFER_SIZE */
3436 {errno = EINVAL; return -1;}
3437 #endif /* ndef _PC_REC_MIN_XFER_SIZE */
3438 if (x == Mono_Posix_PathconfName__PC_REC_XFER_ALIGN)
3439 #ifdef _PC_REC_XFER_ALIGN
3440 {*r = _PC_REC_XFER_ALIGN; return 0;}
3441 #else /* def _PC_REC_XFER_ALIGN */
3442 {errno = EINVAL; return -1;}
3443 #endif /* ndef _PC_REC_XFER_ALIGN */
3444 if (x == Mono_Posix_PathconfName__PC_SOCK_MAXBUF)
3445 #ifdef _PC_SOCK_MAXBUF
3446 {*r = _PC_SOCK_MAXBUF; return 0;}
3447 #else /* def _PC_SOCK_MAXBUF */
3448 {errno = EINVAL; return -1;}
3449 #endif /* ndef _PC_SOCK_MAXBUF */
3450 if (x == Mono_Posix_PathconfName__PC_SYMLINK_MAX)
3451 #ifdef _PC_SYMLINK_MAX
3452 {*r = _PC_SYMLINK_MAX; return 0;}
3453 #else /* def _PC_SYMLINK_MAX */
3454 {errno = EINVAL; return -1;}
3455 #endif /* ndef _PC_SYMLINK_MAX */
3456 if (x == Mono_Posix_PathconfName__PC_SYNC_IO)
3457 #ifdef _PC_SYNC_IO
3458 {*r = _PC_SYNC_IO; return 0;}
3459 #else /* def _PC_SYNC_IO */
3460 {errno = EINVAL; return -1;}
3461 #endif /* ndef _PC_SYNC_IO */
3462 if (x == Mono_Posix_PathconfName__PC_VDISABLE)
3463 #ifdef _PC_VDISABLE
3464 {*r = _PC_VDISABLE; return 0;}
3465 #else /* def _PC_VDISABLE */
3466 {errno = EINVAL; return -1;}
3467 #endif /* ndef _PC_VDISABLE */
3468 if (x == 0)
3469 return 0;
3470 errno = EINVAL; return -1;
3473 int Mono_Posix_ToPathconfName (int x, int *r)
3475 *r = 0;
3476 if (x == 0)
3477 return 0;
3478 #ifdef _PC_2_SYMLINKS
3479 if (x == _PC_2_SYMLINKS)
3480 {*r = Mono_Posix_PathconfName__PC_2_SYMLINKS; return 0;}
3481 #endif /* ndef _PC_2_SYMLINKS */
3482 #ifdef _PC_ALLOC_SIZE_MIN
3483 if (x == _PC_ALLOC_SIZE_MIN)
3484 {*r = Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN; return 0;}
3485 #endif /* ndef _PC_ALLOC_SIZE_MIN */
3486 #ifdef _PC_ASYNC_IO
3487 if (x == _PC_ASYNC_IO)
3488 {*r = Mono_Posix_PathconfName__PC_ASYNC_IO; return 0;}
3489 #endif /* ndef _PC_ASYNC_IO */
3490 #ifdef _PC_CHOWN_RESTRICTED
3491 if (x == _PC_CHOWN_RESTRICTED)
3492 {*r = Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED; return 0;}
3493 #endif /* ndef _PC_CHOWN_RESTRICTED */
3494 #ifdef _PC_FILESIZEBITS
3495 if (x == _PC_FILESIZEBITS)
3496 {*r = Mono_Posix_PathconfName__PC_FILESIZEBITS; return 0;}
3497 #endif /* ndef _PC_FILESIZEBITS */
3498 #ifdef _PC_LINK_MAX
3499 if (x == _PC_LINK_MAX)
3500 {*r = Mono_Posix_PathconfName__PC_LINK_MAX; return 0;}
3501 #endif /* ndef _PC_LINK_MAX */
3502 #ifdef _PC_MAX_CANON
3503 if (x == _PC_MAX_CANON)
3504 {*r = Mono_Posix_PathconfName__PC_MAX_CANON; return 0;}
3505 #endif /* ndef _PC_MAX_CANON */
3506 #ifdef _PC_MAX_INPUT
3507 if (x == _PC_MAX_INPUT)
3508 {*r = Mono_Posix_PathconfName__PC_MAX_INPUT; return 0;}
3509 #endif /* ndef _PC_MAX_INPUT */
3510 #ifdef _PC_NAME_MAX
3511 if (x == _PC_NAME_MAX)
3512 {*r = Mono_Posix_PathconfName__PC_NAME_MAX; return 0;}
3513 #endif /* ndef _PC_NAME_MAX */
3514 #ifdef _PC_NO_TRUNC
3515 if (x == _PC_NO_TRUNC)
3516 {*r = Mono_Posix_PathconfName__PC_NO_TRUNC; return 0;}
3517 #endif /* ndef _PC_NO_TRUNC */
3518 #ifdef _PC_PATH_MAX
3519 if (x == _PC_PATH_MAX)
3520 {*r = Mono_Posix_PathconfName__PC_PATH_MAX; return 0;}
3521 #endif /* ndef _PC_PATH_MAX */
3522 #ifdef _PC_PIPE_BUF
3523 if (x == _PC_PIPE_BUF)
3524 {*r = Mono_Posix_PathconfName__PC_PIPE_BUF; return 0;}
3525 #endif /* ndef _PC_PIPE_BUF */
3526 #ifdef _PC_PRIO_IO
3527 if (x == _PC_PRIO_IO)
3528 {*r = Mono_Posix_PathconfName__PC_PRIO_IO; return 0;}
3529 #endif /* ndef _PC_PRIO_IO */
3530 #ifdef _PC_REC_INCR_XFER_SIZE
3531 if (x == _PC_REC_INCR_XFER_SIZE)
3532 {*r = Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE; return 0;}
3533 #endif /* ndef _PC_REC_INCR_XFER_SIZE */
3534 #ifdef _PC_REC_MAX_XFER_SIZE
3535 if (x == _PC_REC_MAX_XFER_SIZE)
3536 {*r = Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE; return 0;}
3537 #endif /* ndef _PC_REC_MAX_XFER_SIZE */
3538 #ifdef _PC_REC_MIN_XFER_SIZE
3539 if (x == _PC_REC_MIN_XFER_SIZE)
3540 {*r = Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE; return 0;}
3541 #endif /* ndef _PC_REC_MIN_XFER_SIZE */
3542 #ifdef _PC_REC_XFER_ALIGN
3543 if (x == _PC_REC_XFER_ALIGN)
3544 {*r = Mono_Posix_PathconfName__PC_REC_XFER_ALIGN; return 0;}
3545 #endif /* ndef _PC_REC_XFER_ALIGN */
3546 #ifdef _PC_SOCK_MAXBUF
3547 if (x == _PC_SOCK_MAXBUF)
3548 {*r = Mono_Posix_PathconfName__PC_SOCK_MAXBUF; return 0;}
3549 #endif /* ndef _PC_SOCK_MAXBUF */
3550 #ifdef _PC_SYMLINK_MAX
3551 if (x == _PC_SYMLINK_MAX)
3552 {*r = Mono_Posix_PathconfName__PC_SYMLINK_MAX; return 0;}
3553 #endif /* ndef _PC_SYMLINK_MAX */
3554 #ifdef _PC_SYNC_IO
3555 if (x == _PC_SYNC_IO)
3556 {*r = Mono_Posix_PathconfName__PC_SYNC_IO; return 0;}
3557 #endif /* ndef _PC_SYNC_IO */
3558 #ifdef _PC_VDISABLE
3559 if (x == _PC_VDISABLE)
3560 {*r = Mono_Posix_PathconfName__PC_VDISABLE; return 0;}
3561 #endif /* ndef _PC_VDISABLE */
3562 errno = EINVAL; return -1;
3565 int Mono_Posix_FromPollEvents (short x, short *r)
3567 *r = 0;
3568 if ((x & Mono_Posix_PollEvents_POLLERR) == Mono_Posix_PollEvents_POLLERR)
3569 #ifdef POLLERR
3570 *r |= POLLERR;
3571 #else /* def POLLERR */
3572 {errno = EINVAL; return -1;}
3573 #endif /* ndef POLLERR */
3574 if ((x & Mono_Posix_PollEvents_POLLHUP) == Mono_Posix_PollEvents_POLLHUP)
3575 #ifdef POLLHUP
3576 *r |= POLLHUP;
3577 #else /* def POLLHUP */
3578 {errno = EINVAL; return -1;}
3579 #endif /* ndef POLLHUP */
3580 if ((x & Mono_Posix_PollEvents_POLLIN) == Mono_Posix_PollEvents_POLLIN)
3581 #ifdef POLLIN
3582 *r |= POLLIN;
3583 #else /* def POLLIN */
3584 {errno = EINVAL; return -1;}
3585 #endif /* ndef POLLIN */
3586 if ((x & Mono_Posix_PollEvents_POLLNVAL) == Mono_Posix_PollEvents_POLLNVAL)
3587 #ifdef POLLNVAL
3588 *r |= POLLNVAL;
3589 #else /* def POLLNVAL */
3590 {errno = EINVAL; return -1;}
3591 #endif /* ndef POLLNVAL */
3592 if ((x & Mono_Posix_PollEvents_POLLOUT) == Mono_Posix_PollEvents_POLLOUT)
3593 #ifdef POLLOUT
3594 *r |= POLLOUT;
3595 #else /* def POLLOUT */
3596 {errno = EINVAL; return -1;}
3597 #endif /* ndef POLLOUT */
3598 if ((x & Mono_Posix_PollEvents_POLLPRI) == Mono_Posix_PollEvents_POLLPRI)
3599 #ifdef POLLPRI
3600 *r |= POLLPRI;
3601 #else /* def POLLPRI */
3602 {errno = EINVAL; return -1;}
3603 #endif /* ndef POLLPRI */
3604 if ((x & Mono_Posix_PollEvents_POLLRDBAND) == Mono_Posix_PollEvents_POLLRDBAND)
3605 #ifdef POLLRDBAND
3606 *r |= POLLRDBAND;
3607 #else /* def POLLRDBAND */
3608 {errno = EINVAL; return -1;}
3609 #endif /* ndef POLLRDBAND */
3610 if ((x & Mono_Posix_PollEvents_POLLRDNORM) == Mono_Posix_PollEvents_POLLRDNORM)
3611 #ifdef POLLRDNORM
3612 *r |= POLLRDNORM;
3613 #else /* def POLLRDNORM */
3614 {errno = EINVAL; return -1;}
3615 #endif /* ndef POLLRDNORM */
3616 if ((x & Mono_Posix_PollEvents_POLLWRBAND) == Mono_Posix_PollEvents_POLLWRBAND)
3617 #ifdef POLLWRBAND
3618 *r |= POLLWRBAND;
3619 #else /* def POLLWRBAND */
3620 {errno = EINVAL; return -1;}
3621 #endif /* ndef POLLWRBAND */
3622 if ((x & Mono_Posix_PollEvents_POLLWRNORM) == Mono_Posix_PollEvents_POLLWRNORM)
3623 #ifdef POLLWRNORM
3624 *r |= POLLWRNORM;
3625 #else /* def POLLWRNORM */
3626 {errno = EINVAL; return -1;}
3627 #endif /* ndef POLLWRNORM */
3628 if (x == 0)
3629 return 0;
3630 return 0;
3633 int Mono_Posix_ToPollEvents (short x, short *r)
3635 *r = 0;
3636 if (x == 0)
3637 return 0;
3638 #ifdef POLLERR
3639 if ((x & POLLERR) == POLLERR)
3640 *r |= Mono_Posix_PollEvents_POLLERR;
3641 #endif /* ndef POLLERR */
3642 #ifdef POLLHUP
3643 if ((x & POLLHUP) == POLLHUP)
3644 *r |= Mono_Posix_PollEvents_POLLHUP;
3645 #endif /* ndef POLLHUP */
3646 #ifdef POLLIN
3647 if ((x & POLLIN) == POLLIN)
3648 *r |= Mono_Posix_PollEvents_POLLIN;
3649 #endif /* ndef POLLIN */
3650 #ifdef POLLNVAL
3651 if ((x & POLLNVAL) == POLLNVAL)
3652 *r |= Mono_Posix_PollEvents_POLLNVAL;
3653 #endif /* ndef POLLNVAL */
3654 #ifdef POLLOUT
3655 if ((x & POLLOUT) == POLLOUT)
3656 *r |= Mono_Posix_PollEvents_POLLOUT;
3657 #endif /* ndef POLLOUT */
3658 #ifdef POLLPRI
3659 if ((x & POLLPRI) == POLLPRI)
3660 *r |= Mono_Posix_PollEvents_POLLPRI;
3661 #endif /* ndef POLLPRI */
3662 #ifdef POLLRDBAND
3663 if ((x & POLLRDBAND) == POLLRDBAND)
3664 *r |= Mono_Posix_PollEvents_POLLRDBAND;
3665 #endif /* ndef POLLRDBAND */
3666 #ifdef POLLRDNORM
3667 if ((x & POLLRDNORM) == POLLRDNORM)
3668 *r |= Mono_Posix_PollEvents_POLLRDNORM;
3669 #endif /* ndef POLLRDNORM */
3670 #ifdef POLLWRBAND
3671 if ((x & POLLWRBAND) == POLLWRBAND)
3672 *r |= Mono_Posix_PollEvents_POLLWRBAND;
3673 #endif /* ndef POLLWRBAND */
3674 #ifdef POLLWRNORM
3675 if ((x & POLLWRNORM) == POLLWRNORM)
3676 *r |= Mono_Posix_PollEvents_POLLWRNORM;
3677 #endif /* ndef POLLWRNORM */
3678 return 0;
3681 #ifdef HAVE_STRUCT_POLLFD
3683 Mono_Posix_FromPollfd (struct Mono_Posix_Pollfd *from, struct pollfd *to)
3685 _cnm_return_val_if_overflow (int, from->fd, -1);
3687 memset (to, 0, sizeof(*to));
3689 to->fd = from->fd;
3690 if (Mono_Posix_FromPollEvents (from->events, &to->events) != 0) {
3691 return -1;
3693 if (Mono_Posix_FromPollEvents (from->revents, &to->revents) != 0) {
3694 return -1;
3697 return 0;
3699 #endif /* ndef HAVE_STRUCT_POLLFD */
3702 #ifdef HAVE_STRUCT_POLLFD
3704 Mono_Posix_ToPollfd (struct pollfd *from, struct Mono_Posix_Pollfd *to)
3706 _cnm_return_val_if_overflow (int, from->fd, -1);
3708 memset (to, 0, sizeof(*to));
3710 to->fd = from->fd;
3711 if (Mono_Posix_ToPollEvents (from->events, &to->events) != 0) {
3712 return -1;
3714 if (Mono_Posix_ToPollEvents (from->revents, &to->revents) != 0) {
3715 return -1;
3718 return 0;
3720 #endif /* ndef HAVE_STRUCT_POLLFD */
3723 int Mono_Posix_FromPosixFadviseAdvice (int x, int *r)
3725 *r = 0;
3726 if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED)
3727 #ifdef POSIX_FADV_DONTNEED
3728 {*r = POSIX_FADV_DONTNEED; return 0;}
3729 #else /* def POSIX_FADV_DONTNEED */
3730 {errno = EINVAL; return -1;}
3731 #endif /* ndef POSIX_FADV_DONTNEED */
3732 if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE)
3733 #ifdef POSIX_FADV_NOREUSE
3734 {*r = POSIX_FADV_NOREUSE; return 0;}
3735 #else /* def POSIX_FADV_NOREUSE */
3736 {errno = EINVAL; return -1;}
3737 #endif /* ndef POSIX_FADV_NOREUSE */
3738 if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL)
3739 #ifdef POSIX_FADV_NORMAL
3740 {*r = POSIX_FADV_NORMAL; return 0;}
3741 #else /* def POSIX_FADV_NORMAL */
3742 {errno = EINVAL; return -1;}
3743 #endif /* ndef POSIX_FADV_NORMAL */
3744 if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM)
3745 #ifdef POSIX_FADV_RANDOM
3746 {*r = POSIX_FADV_RANDOM; return 0;}
3747 #else /* def POSIX_FADV_RANDOM */
3748 {errno = EINVAL; return -1;}
3749 #endif /* ndef POSIX_FADV_RANDOM */
3750 if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL)
3751 #ifdef POSIX_FADV_SEQUENTIAL
3752 {*r = POSIX_FADV_SEQUENTIAL; return 0;}
3753 #else /* def POSIX_FADV_SEQUENTIAL */
3754 {errno = EINVAL; return -1;}
3755 #endif /* ndef POSIX_FADV_SEQUENTIAL */
3756 if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED)
3757 #ifdef POSIX_FADV_WILLNEED
3758 {*r = POSIX_FADV_WILLNEED; return 0;}
3759 #else /* def POSIX_FADV_WILLNEED */
3760 {errno = EINVAL; return -1;}
3761 #endif /* ndef POSIX_FADV_WILLNEED */
3762 if (x == 0)
3763 return 0;
3764 errno = EINVAL; return -1;
3767 int Mono_Posix_ToPosixFadviseAdvice (int x, int *r)
3769 *r = 0;
3770 if (x == 0)
3771 return 0;
3772 #ifdef POSIX_FADV_DONTNEED
3773 if (x == POSIX_FADV_DONTNEED)
3774 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED; return 0;}
3775 #endif /* ndef POSIX_FADV_DONTNEED */
3776 #ifdef POSIX_FADV_NOREUSE
3777 if (x == POSIX_FADV_NOREUSE)
3778 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE; return 0;}
3779 #endif /* ndef POSIX_FADV_NOREUSE */
3780 #ifdef POSIX_FADV_NORMAL
3781 if (x == POSIX_FADV_NORMAL)
3782 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL; return 0;}
3783 #endif /* ndef POSIX_FADV_NORMAL */
3784 #ifdef POSIX_FADV_RANDOM
3785 if (x == POSIX_FADV_RANDOM)
3786 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM; return 0;}
3787 #endif /* ndef POSIX_FADV_RANDOM */
3788 #ifdef POSIX_FADV_SEQUENTIAL
3789 if (x == POSIX_FADV_SEQUENTIAL)
3790 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL; return 0;}
3791 #endif /* ndef POSIX_FADV_SEQUENTIAL */
3792 #ifdef POSIX_FADV_WILLNEED
3793 if (x == POSIX_FADV_WILLNEED)
3794 {*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED; return 0;}
3795 #endif /* ndef POSIX_FADV_WILLNEED */
3796 errno = EINVAL; return -1;
3799 int Mono_Posix_FromPosixMadviseAdvice (int x, int *r)
3801 *r = 0;
3802 if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED)
3803 #ifdef POSIX_MADV_DONTNEED
3804 {*r = POSIX_MADV_DONTNEED; return 0;}
3805 #else /* def POSIX_MADV_DONTNEED */
3806 {errno = EINVAL; return -1;}
3807 #endif /* ndef POSIX_MADV_DONTNEED */
3808 if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL)
3809 #ifdef POSIX_MADV_NORMAL
3810 {*r = POSIX_MADV_NORMAL; return 0;}
3811 #else /* def POSIX_MADV_NORMAL */
3812 {errno = EINVAL; return -1;}
3813 #endif /* ndef POSIX_MADV_NORMAL */
3814 if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM)
3815 #ifdef POSIX_MADV_RANDOM
3816 {*r = POSIX_MADV_RANDOM; return 0;}
3817 #else /* def POSIX_MADV_RANDOM */
3818 {errno = EINVAL; return -1;}
3819 #endif /* ndef POSIX_MADV_RANDOM */
3820 if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL)
3821 #ifdef POSIX_MADV_SEQUENTIAL
3822 {*r = POSIX_MADV_SEQUENTIAL; return 0;}
3823 #else /* def POSIX_MADV_SEQUENTIAL */
3824 {errno = EINVAL; return -1;}
3825 #endif /* ndef POSIX_MADV_SEQUENTIAL */
3826 if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED)
3827 #ifdef POSIX_MADV_WILLNEED
3828 {*r = POSIX_MADV_WILLNEED; return 0;}
3829 #else /* def POSIX_MADV_WILLNEED */
3830 {errno = EINVAL; return -1;}
3831 #endif /* ndef POSIX_MADV_WILLNEED */
3832 if (x == 0)
3833 return 0;
3834 errno = EINVAL; return -1;
3837 int Mono_Posix_ToPosixMadviseAdvice (int x, int *r)
3839 *r = 0;
3840 if (x == 0)
3841 return 0;
3842 #ifdef POSIX_MADV_DONTNEED
3843 if (x == POSIX_MADV_DONTNEED)
3844 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED; return 0;}
3845 #endif /* ndef POSIX_MADV_DONTNEED */
3846 #ifdef POSIX_MADV_NORMAL
3847 if (x == POSIX_MADV_NORMAL)
3848 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL; return 0;}
3849 #endif /* ndef POSIX_MADV_NORMAL */
3850 #ifdef POSIX_MADV_RANDOM
3851 if (x == POSIX_MADV_RANDOM)
3852 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM; return 0;}
3853 #endif /* ndef POSIX_MADV_RANDOM */
3854 #ifdef POSIX_MADV_SEQUENTIAL
3855 if (x == POSIX_MADV_SEQUENTIAL)
3856 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL; return 0;}
3857 #endif /* ndef POSIX_MADV_SEQUENTIAL */
3858 #ifdef POSIX_MADV_WILLNEED
3859 if (x == POSIX_MADV_WILLNEED)
3860 {*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED; return 0;}
3861 #endif /* ndef POSIX_MADV_WILLNEED */
3862 errno = EINVAL; return -1;
3865 int Mono_Posix_FromSeekFlags (short x, short *r)
3867 *r = 0;
3868 if (x == Mono_Posix_SeekFlags_L_INCR)
3869 #ifdef L_INCR
3870 {*r = L_INCR; return 0;}
3871 #else /* def L_INCR */
3872 {errno = EINVAL; return -1;}
3873 #endif /* ndef L_INCR */
3874 if (x == Mono_Posix_SeekFlags_L_SET)
3875 #ifdef L_SET
3876 {*r = L_SET; return 0;}
3877 #else /* def L_SET */
3878 {errno = EINVAL; return -1;}
3879 #endif /* ndef L_SET */
3880 if (x == Mono_Posix_SeekFlags_L_XTND)
3881 #ifdef L_XTND
3882 {*r = L_XTND; return 0;}
3883 #else /* def L_XTND */
3884 {errno = EINVAL; return -1;}
3885 #endif /* ndef L_XTND */
3886 if (x == Mono_Posix_SeekFlags_SEEK_CUR)
3887 #ifdef SEEK_CUR
3888 {*r = SEEK_CUR; return 0;}
3889 #else /* def SEEK_CUR */
3890 {errno = EINVAL; return -1;}
3891 #endif /* ndef SEEK_CUR */
3892 if (x == Mono_Posix_SeekFlags_SEEK_END)
3893 #ifdef SEEK_END
3894 {*r = SEEK_END; return 0;}
3895 #else /* def SEEK_END */
3896 {errno = EINVAL; return -1;}
3897 #endif /* ndef SEEK_END */
3898 if (x == Mono_Posix_SeekFlags_SEEK_SET)
3899 #ifdef SEEK_SET
3900 {*r = SEEK_SET; return 0;}
3901 #else /* def SEEK_SET */
3902 {errno = EINVAL; return -1;}
3903 #endif /* ndef SEEK_SET */
3904 if (x == 0)
3905 return 0;
3906 errno = EINVAL; return -1;
3909 int Mono_Posix_ToSeekFlags (short x, short *r)
3911 *r = 0;
3912 if (x == 0)
3913 return 0;
3914 #ifdef L_INCR
3915 if (x == L_INCR)
3916 {*r = Mono_Posix_SeekFlags_L_INCR; return 0;}
3917 #endif /* ndef L_INCR */
3918 #ifdef L_SET
3919 if (x == L_SET)
3920 {*r = Mono_Posix_SeekFlags_L_SET; return 0;}
3921 #endif /* ndef L_SET */
3922 #ifdef L_XTND
3923 if (x == L_XTND)
3924 {*r = Mono_Posix_SeekFlags_L_XTND; return 0;}
3925 #endif /* ndef L_XTND */
3926 #ifdef SEEK_CUR
3927 if (x == SEEK_CUR)
3928 {*r = Mono_Posix_SeekFlags_SEEK_CUR; return 0;}
3929 #endif /* ndef SEEK_CUR */
3930 #ifdef SEEK_END
3931 if (x == SEEK_END)
3932 {*r = Mono_Posix_SeekFlags_SEEK_END; return 0;}
3933 #endif /* ndef SEEK_END */
3934 #ifdef SEEK_SET
3935 if (x == SEEK_SET)
3936 {*r = Mono_Posix_SeekFlags_SEEK_SET; return 0;}
3937 #endif /* ndef SEEK_SET */
3938 errno = EINVAL; return -1;
3941 int Mono_Posix_FromSignum (int x, int *r)
3943 *r = 0;
3944 if (x == Mono_Posix_Signum_SIGABRT)
3945 #ifdef SIGABRT
3946 {*r = SIGABRT; return 0;}
3947 #else /* def SIGABRT */
3948 {errno = EINVAL; return -1;}
3949 #endif /* ndef SIGABRT */
3950 if (x == Mono_Posix_Signum_SIGALRM)
3951 #ifdef SIGALRM
3952 {*r = SIGALRM; return 0;}
3953 #else /* def SIGALRM */
3954 {errno = EINVAL; return -1;}
3955 #endif /* ndef SIGALRM */
3956 if (x == Mono_Posix_Signum_SIGBUS)
3957 #ifdef SIGBUS
3958 {*r = SIGBUS; return 0;}
3959 #else /* def SIGBUS */
3960 {errno = EINVAL; return -1;}
3961 #endif /* ndef SIGBUS */
3962 if (x == Mono_Posix_Signum_SIGCHLD)
3963 #ifdef SIGCHLD
3964 {*r = SIGCHLD; return 0;}
3965 #else /* def SIGCHLD */
3966 {errno = EINVAL; return -1;}
3967 #endif /* ndef SIGCHLD */
3968 if (x == Mono_Posix_Signum_SIGCLD)
3969 #ifdef SIGCLD
3970 {*r = SIGCLD; return 0;}
3971 #else /* def SIGCLD */
3972 {errno = EINVAL; return -1;}
3973 #endif /* ndef SIGCLD */
3974 if (x == Mono_Posix_Signum_SIGCONT)
3975 #ifdef SIGCONT
3976 {*r = SIGCONT; return 0;}
3977 #else /* def SIGCONT */
3978 {errno = EINVAL; return -1;}
3979 #endif /* ndef SIGCONT */
3980 if (x == Mono_Posix_Signum_SIGFPE)
3981 #ifdef SIGFPE
3982 {*r = SIGFPE; return 0;}
3983 #else /* def SIGFPE */
3984 {errno = EINVAL; return -1;}
3985 #endif /* ndef SIGFPE */
3986 if (x == Mono_Posix_Signum_SIGHUP)
3987 #ifdef SIGHUP
3988 {*r = SIGHUP; return 0;}
3989 #else /* def SIGHUP */
3990 {errno = EINVAL; return -1;}
3991 #endif /* ndef SIGHUP */
3992 if (x == Mono_Posix_Signum_SIGILL)
3993 #ifdef SIGILL
3994 {*r = SIGILL; return 0;}
3995 #else /* def SIGILL */
3996 {errno = EINVAL; return -1;}
3997 #endif /* ndef SIGILL */
3998 if (x == Mono_Posix_Signum_SIGINT)
3999 #ifdef SIGINT
4000 {*r = SIGINT; return 0;}
4001 #else /* def SIGINT */
4002 {errno = EINVAL; return -1;}
4003 #endif /* ndef SIGINT */
4004 if (x == Mono_Posix_Signum_SIGIO)
4005 #ifdef SIGIO
4006 {*r = SIGIO; return 0;}
4007 #else /* def SIGIO */
4008 {errno = EINVAL; return -1;}
4009 #endif /* ndef SIGIO */
4010 if (x == Mono_Posix_Signum_SIGIOT)
4011 #ifdef SIGIOT
4012 {*r = SIGIOT; return 0;}
4013 #else /* def SIGIOT */
4014 {errno = EINVAL; return -1;}
4015 #endif /* ndef SIGIOT */
4016 if (x == Mono_Posix_Signum_SIGKILL)
4017 #ifdef SIGKILL
4018 {*r = SIGKILL; return 0;}
4019 #else /* def SIGKILL */
4020 {errno = EINVAL; return -1;}
4021 #endif /* ndef SIGKILL */
4022 if (x == Mono_Posix_Signum_SIGPIPE)
4023 #ifdef SIGPIPE
4024 {*r = SIGPIPE; return 0;}
4025 #else /* def SIGPIPE */
4026 {errno = EINVAL; return -1;}
4027 #endif /* ndef SIGPIPE */
4028 if (x == Mono_Posix_Signum_SIGPOLL)
4029 #ifdef SIGPOLL
4030 {*r = SIGPOLL; return 0;}
4031 #else /* def SIGPOLL */
4032 {errno = EINVAL; return -1;}
4033 #endif /* ndef SIGPOLL */
4034 if (x == Mono_Posix_Signum_SIGPROF)
4035 #ifdef SIGPROF
4036 {*r = SIGPROF; return 0;}
4037 #else /* def SIGPROF */
4038 {errno = EINVAL; return -1;}
4039 #endif /* ndef SIGPROF */
4040 if (x == Mono_Posix_Signum_SIGPWR)
4041 #ifdef SIGPWR
4042 {*r = SIGPWR; return 0;}
4043 #else /* def SIGPWR */
4044 {errno = EINVAL; return -1;}
4045 #endif /* ndef SIGPWR */
4046 if (x == Mono_Posix_Signum_SIGQUIT)
4047 #ifdef SIGQUIT
4048 {*r = SIGQUIT; return 0;}
4049 #else /* def SIGQUIT */
4050 {errno = EINVAL; return -1;}
4051 #endif /* ndef SIGQUIT */
4052 if (x == Mono_Posix_Signum_SIGSEGV)
4053 #ifdef SIGSEGV
4054 {*r = SIGSEGV; return 0;}
4055 #else /* def SIGSEGV */
4056 {errno = EINVAL; return -1;}
4057 #endif /* ndef SIGSEGV */
4058 if (x == Mono_Posix_Signum_SIGSTKFLT)
4059 #ifdef SIGSTKFLT
4060 {*r = SIGSTKFLT; return 0;}
4061 #else /* def SIGSTKFLT */
4062 {errno = EINVAL; return -1;}
4063 #endif /* ndef SIGSTKFLT */
4064 if (x == Mono_Posix_Signum_SIGSTOP)
4065 #ifdef SIGSTOP
4066 {*r = SIGSTOP; return 0;}
4067 #else /* def SIGSTOP */
4068 {errno = EINVAL; return -1;}
4069 #endif /* ndef SIGSTOP */
4070 if (x == Mono_Posix_Signum_SIGSYS)
4071 #ifdef SIGSYS
4072 {*r = SIGSYS; return 0;}
4073 #else /* def SIGSYS */
4074 {errno = EINVAL; return -1;}
4075 #endif /* ndef SIGSYS */
4076 if (x == Mono_Posix_Signum_SIGTERM)
4077 #ifdef SIGTERM
4078 {*r = SIGTERM; return 0;}
4079 #else /* def SIGTERM */
4080 {errno = EINVAL; return -1;}
4081 #endif /* ndef SIGTERM */
4082 if (x == Mono_Posix_Signum_SIGTRAP)
4083 #ifdef SIGTRAP
4084 {*r = SIGTRAP; return 0;}
4085 #else /* def SIGTRAP */
4086 {errno = EINVAL; return -1;}
4087 #endif /* ndef SIGTRAP */
4088 if (x == Mono_Posix_Signum_SIGTSTP)
4089 #ifdef SIGTSTP
4090 {*r = SIGTSTP; return 0;}
4091 #else /* def SIGTSTP */
4092 {errno = EINVAL; return -1;}
4093 #endif /* ndef SIGTSTP */
4094 if (x == Mono_Posix_Signum_SIGTTIN)
4095 #ifdef SIGTTIN
4096 {*r = SIGTTIN; return 0;}
4097 #else /* def SIGTTIN */
4098 {errno = EINVAL; return -1;}
4099 #endif /* ndef SIGTTIN */
4100 if (x == Mono_Posix_Signum_SIGTTOU)
4101 #ifdef SIGTTOU
4102 {*r = SIGTTOU; return 0;}
4103 #else /* def SIGTTOU */
4104 {errno = EINVAL; return -1;}
4105 #endif /* ndef SIGTTOU */
4106 if (x == Mono_Posix_Signum_SIGUNUSED)
4107 #ifdef SIGUNUSED
4108 {*r = SIGUNUSED; return 0;}
4109 #else /* def SIGUNUSED */
4110 {errno = EINVAL; return -1;}
4111 #endif /* ndef SIGUNUSED */
4112 if (x == Mono_Posix_Signum_SIGURG)
4113 #ifdef SIGURG
4114 {*r = SIGURG; return 0;}
4115 #else /* def SIGURG */
4116 {errno = EINVAL; return -1;}
4117 #endif /* ndef SIGURG */
4118 if (x == Mono_Posix_Signum_SIGUSR1)
4119 #ifdef SIGUSR1
4120 {*r = SIGUSR1; return 0;}
4121 #else /* def SIGUSR1 */
4122 {errno = EINVAL; return -1;}
4123 #endif /* ndef SIGUSR1 */
4124 if (x == Mono_Posix_Signum_SIGUSR2)
4125 #ifdef SIGUSR2
4126 {*r = SIGUSR2; return 0;}
4127 #else /* def SIGUSR2 */
4128 {errno = EINVAL; return -1;}
4129 #endif /* ndef SIGUSR2 */
4130 if (x == Mono_Posix_Signum_SIGVTALRM)
4131 #ifdef SIGVTALRM
4132 {*r = SIGVTALRM; return 0;}
4133 #else /* def SIGVTALRM */
4134 {errno = EINVAL; return -1;}
4135 #endif /* ndef SIGVTALRM */
4136 if (x == Mono_Posix_Signum_SIGWINCH)
4137 #ifdef SIGWINCH
4138 {*r = SIGWINCH; return 0;}
4139 #else /* def SIGWINCH */
4140 {errno = EINVAL; return -1;}
4141 #endif /* ndef SIGWINCH */
4142 if (x == Mono_Posix_Signum_SIGXCPU)
4143 #ifdef SIGXCPU
4144 {*r = SIGXCPU; return 0;}
4145 #else /* def SIGXCPU */
4146 {errno = EINVAL; return -1;}
4147 #endif /* ndef SIGXCPU */
4148 if (x == Mono_Posix_Signum_SIGXFSZ)
4149 #ifdef SIGXFSZ
4150 {*r = SIGXFSZ; return 0;}
4151 #else /* def SIGXFSZ */
4152 {errno = EINVAL; return -1;}
4153 #endif /* ndef SIGXFSZ */
4154 if (x == 0)
4155 return 0;
4156 errno = EINVAL; return -1;
4159 int Mono_Posix_ToSignum (int x, int *r)
4161 *r = 0;
4162 if (x == 0)
4163 return 0;
4164 #ifdef SIGABRT
4165 if (x == SIGABRT)
4166 {*r = Mono_Posix_Signum_SIGABRT; return 0;}
4167 #endif /* ndef SIGABRT */
4168 #ifdef SIGALRM
4169 if (x == SIGALRM)
4170 {*r = Mono_Posix_Signum_SIGALRM; return 0;}
4171 #endif /* ndef SIGALRM */
4172 #ifdef SIGBUS
4173 if (x == SIGBUS)
4174 {*r = Mono_Posix_Signum_SIGBUS; return 0;}
4175 #endif /* ndef SIGBUS */
4176 #ifdef SIGCHLD
4177 if (x == SIGCHLD)
4178 {*r = Mono_Posix_Signum_SIGCHLD; return 0;}
4179 #endif /* ndef SIGCHLD */
4180 #ifdef SIGCLD
4181 if (x == SIGCLD)
4182 {*r = Mono_Posix_Signum_SIGCLD; return 0;}
4183 #endif /* ndef SIGCLD */
4184 #ifdef SIGCONT
4185 if (x == SIGCONT)
4186 {*r = Mono_Posix_Signum_SIGCONT; return 0;}
4187 #endif /* ndef SIGCONT */
4188 #ifdef SIGFPE
4189 if (x == SIGFPE)
4190 {*r = Mono_Posix_Signum_SIGFPE; return 0;}
4191 #endif /* ndef SIGFPE */
4192 #ifdef SIGHUP
4193 if (x == SIGHUP)
4194 {*r = Mono_Posix_Signum_SIGHUP; return 0;}
4195 #endif /* ndef SIGHUP */
4196 #ifdef SIGILL
4197 if (x == SIGILL)
4198 {*r = Mono_Posix_Signum_SIGILL; return 0;}
4199 #endif /* ndef SIGILL */
4200 #ifdef SIGINT
4201 if (x == SIGINT)
4202 {*r = Mono_Posix_Signum_SIGINT; return 0;}
4203 #endif /* ndef SIGINT */
4204 #ifdef SIGIO
4205 if (x == SIGIO)
4206 {*r = Mono_Posix_Signum_SIGIO; return 0;}
4207 #endif /* ndef SIGIO */
4208 #ifdef SIGIOT
4209 if (x == SIGIOT)
4210 {*r = Mono_Posix_Signum_SIGIOT; return 0;}
4211 #endif /* ndef SIGIOT */
4212 #ifdef SIGKILL
4213 if (x == SIGKILL)
4214 {*r = Mono_Posix_Signum_SIGKILL; return 0;}
4215 #endif /* ndef SIGKILL */
4216 #ifdef SIGPIPE
4217 if (x == SIGPIPE)
4218 {*r = Mono_Posix_Signum_SIGPIPE; return 0;}
4219 #endif /* ndef SIGPIPE */
4220 #ifdef SIGPOLL
4221 if (x == SIGPOLL)
4222 {*r = Mono_Posix_Signum_SIGPOLL; return 0;}
4223 #endif /* ndef SIGPOLL */
4224 #ifdef SIGPROF
4225 if (x == SIGPROF)
4226 {*r = Mono_Posix_Signum_SIGPROF; return 0;}
4227 #endif /* ndef SIGPROF */
4228 #ifdef SIGPWR
4229 if (x == SIGPWR)
4230 {*r = Mono_Posix_Signum_SIGPWR; return 0;}
4231 #endif /* ndef SIGPWR */
4232 #ifdef SIGQUIT
4233 if (x == SIGQUIT)
4234 {*r = Mono_Posix_Signum_SIGQUIT; return 0;}
4235 #endif /* ndef SIGQUIT */
4236 #ifdef SIGSEGV
4237 if (x == SIGSEGV)
4238 {*r = Mono_Posix_Signum_SIGSEGV; return 0;}
4239 #endif /* ndef SIGSEGV */
4240 #ifdef SIGSTKFLT
4241 if (x == SIGSTKFLT)
4242 {*r = Mono_Posix_Signum_SIGSTKFLT; return 0;}
4243 #endif /* ndef SIGSTKFLT */
4244 #ifdef SIGSTOP
4245 if (x == SIGSTOP)
4246 {*r = Mono_Posix_Signum_SIGSTOP; return 0;}
4247 #endif /* ndef SIGSTOP */
4248 #ifdef SIGSYS
4249 if (x == SIGSYS)
4250 {*r = Mono_Posix_Signum_SIGSYS; return 0;}
4251 #endif /* ndef SIGSYS */
4252 #ifdef SIGTERM
4253 if (x == SIGTERM)
4254 {*r = Mono_Posix_Signum_SIGTERM; return 0;}
4255 #endif /* ndef SIGTERM */
4256 #ifdef SIGTRAP
4257 if (x == SIGTRAP)
4258 {*r = Mono_Posix_Signum_SIGTRAP; return 0;}
4259 #endif /* ndef SIGTRAP */
4260 #ifdef SIGTSTP
4261 if (x == SIGTSTP)
4262 {*r = Mono_Posix_Signum_SIGTSTP; return 0;}
4263 #endif /* ndef SIGTSTP */
4264 #ifdef SIGTTIN
4265 if (x == SIGTTIN)
4266 {*r = Mono_Posix_Signum_SIGTTIN; return 0;}
4267 #endif /* ndef SIGTTIN */
4268 #ifdef SIGTTOU
4269 if (x == SIGTTOU)
4270 {*r = Mono_Posix_Signum_SIGTTOU; return 0;}
4271 #endif /* ndef SIGTTOU */
4272 #ifdef SIGUNUSED
4273 if (x == SIGUNUSED)
4274 {*r = Mono_Posix_Signum_SIGUNUSED; return 0;}
4275 #endif /* ndef SIGUNUSED */
4276 #ifdef SIGURG
4277 if (x == SIGURG)
4278 {*r = Mono_Posix_Signum_SIGURG; return 0;}
4279 #endif /* ndef SIGURG */
4280 #ifdef SIGUSR1
4281 if (x == SIGUSR1)
4282 {*r = Mono_Posix_Signum_SIGUSR1; return 0;}
4283 #endif /* ndef SIGUSR1 */
4284 #ifdef SIGUSR2
4285 if (x == SIGUSR2)
4286 {*r = Mono_Posix_Signum_SIGUSR2; return 0;}
4287 #endif /* ndef SIGUSR2 */
4288 #ifdef SIGVTALRM
4289 if (x == SIGVTALRM)
4290 {*r = Mono_Posix_Signum_SIGVTALRM; return 0;}
4291 #endif /* ndef SIGVTALRM */
4292 #ifdef SIGWINCH
4293 if (x == SIGWINCH)
4294 {*r = Mono_Posix_Signum_SIGWINCH; return 0;}
4295 #endif /* ndef SIGWINCH */
4296 #ifdef SIGXCPU
4297 if (x == SIGXCPU)
4298 {*r = Mono_Posix_Signum_SIGXCPU; return 0;}
4299 #endif /* ndef SIGXCPU */
4300 #ifdef SIGXFSZ
4301 if (x == SIGXFSZ)
4302 {*r = Mono_Posix_Signum_SIGXFSZ; return 0;}
4303 #endif /* ndef SIGXFSZ */
4304 errno = EINVAL; return -1;
4307 #ifdef HAVE_STRUCT_STAT
4309 Mono_Posix_FromStat (struct Mono_Posix_Stat *from, struct stat *to)
4311 _cnm_return_val_if_overflow (dev_t, from->st_dev, -1);
4312 _cnm_return_val_if_overflow (ino_t, from->st_ino, -1);
4313 _cnm_return_val_if_overflow (nlink_t, from->st_nlink, -1);
4314 _cnm_return_val_if_overflow (uid_t, from->st_uid, -1);
4315 _cnm_return_val_if_overflow (gid_t, from->st_gid, -1);
4316 _cnm_return_val_if_overflow (dev_t, from->st_rdev, -1);
4317 _cnm_return_val_if_overflow (off_t, from->st_size, -1);
4318 _cnm_return_val_if_overflow (blksize_t, from->st_blksize, -1);
4319 _cnm_return_val_if_overflow (blkcnt_t, from->st_blocks, -1);
4320 _cnm_return_val_if_overflow (time_t, from->st_atime_, -1);
4321 _cnm_return_val_if_overflow (time_t, from->st_mtime_, -1);
4322 _cnm_return_val_if_overflow (time_t, from->st_ctime_, -1);
4324 memset (to, 0, sizeof(*to));
4326 to->st_dev = from->st_dev;
4327 to->st_ino = from->st_ino;
4328 if (Mono_Posix_FromFilePermissions (from->st_mode, &to->st_mode) != 0) {
4329 return -1;
4331 to->st_nlink = from->st_nlink;
4332 to->st_uid = from->st_uid;
4333 to->st_gid = from->st_gid;
4334 to->st_rdev = from->st_rdev;
4335 to->st_size = from->st_size;
4336 to->st_blksize = from->st_blksize;
4337 to->st_blocks = from->st_blocks;
4338 to->st_atime = from->st_atime_;
4339 to->st_mtime = from->st_mtime_;
4340 to->st_ctime = from->st_ctime_;
4342 return 0;
4344 #endif /* ndef HAVE_STRUCT_STAT */
4347 #ifdef HAVE_STRUCT_STAT
4349 Mono_Posix_ToStat (struct stat *from, struct Mono_Posix_Stat *to)
4351 _cnm_return_val_if_overflow (guint64, from->st_dev, -1);
4352 _cnm_return_val_if_overflow (guint64, from->st_ino, -1);
4353 _cnm_return_val_if_overflow (guint64, from->st_nlink, -1);
4354 _cnm_return_val_if_overflow (unsigned int, from->st_uid, -1);
4355 _cnm_return_val_if_overflow (unsigned int, from->st_gid, -1);
4356 _cnm_return_val_if_overflow (guint64, from->st_rdev, -1);
4357 _cnm_return_val_if_overflow (gint64, from->st_size, -1);
4358 _cnm_return_val_if_overflow (gint64, from->st_blksize, -1);
4359 _cnm_return_val_if_overflow (gint64, from->st_blocks, -1);
4360 _cnm_return_val_if_overflow (gint64, from->st_atime, -1);
4361 _cnm_return_val_if_overflow (gint64, from->st_mtime, -1);
4362 _cnm_return_val_if_overflow (gint64, from->st_ctime, -1);
4364 memset (to, 0, sizeof(*to));
4366 to->st_dev = from->st_dev;
4367 to->st_ino = from->st_ino;
4368 if (Mono_Posix_ToFilePermissions (from->st_mode, &to->st_mode) != 0) {
4369 return -1;
4371 to->st_nlink = from->st_nlink;
4372 to->st_uid = from->st_uid;
4373 to->st_gid = from->st_gid;
4374 to->st_rdev = from->st_rdev;
4375 to->st_size = from->st_size;
4376 to->st_blksize = from->st_blksize;
4377 to->st_blocks = from->st_blocks;
4378 to->st_atime_ = from->st_atime;
4379 to->st_mtime_ = from->st_mtime;
4380 to->st_ctime_ = from->st_ctime;
4382 return 0;
4384 #endif /* ndef HAVE_STRUCT_STAT */
4387 int Mono_Posix_FromSysconfName (int x, int *r)
4389 *r = 0;
4390 if (x == Mono_Posix_SysconfName__SC_2_CHAR_TERM)
4391 #ifdef _SC_2_CHAR_TERM
4392 {*r = _SC_2_CHAR_TERM; return 0;}
4393 #else /* def _SC_2_CHAR_TERM */
4394 {errno = EINVAL; return -1;}
4395 #endif /* ndef _SC_2_CHAR_TERM */
4396 if (x == Mono_Posix_SysconfName__SC_2_C_BIND)
4397 #ifdef _SC_2_C_BIND
4398 {*r = _SC_2_C_BIND; return 0;}
4399 #else /* def _SC_2_C_BIND */
4400 {errno = EINVAL; return -1;}
4401 #endif /* ndef _SC_2_C_BIND */
4402 if (x == Mono_Posix_SysconfName__SC_2_C_DEV)
4403 #ifdef _SC_2_C_DEV
4404 {*r = _SC_2_C_DEV; return 0;}
4405 #else /* def _SC_2_C_DEV */
4406 {errno = EINVAL; return -1;}
4407 #endif /* ndef _SC_2_C_DEV */
4408 if (x == Mono_Posix_SysconfName__SC_2_C_VERSION)
4409 #ifdef _SC_2_C_VERSION
4410 {*r = _SC_2_C_VERSION; return 0;}
4411 #else /* def _SC_2_C_VERSION */
4412 {errno = EINVAL; return -1;}
4413 #endif /* ndef _SC_2_C_VERSION */
4414 if (x == Mono_Posix_SysconfName__SC_2_FORT_DEV)
4415 #ifdef _SC_2_FORT_DEV
4416 {*r = _SC_2_FORT_DEV; return 0;}
4417 #else /* def _SC_2_FORT_DEV */
4418 {errno = EINVAL; return -1;}
4419 #endif /* ndef _SC_2_FORT_DEV */
4420 if (x == Mono_Posix_SysconfName__SC_2_FORT_RUN)
4421 #ifdef _SC_2_FORT_RUN
4422 {*r = _SC_2_FORT_RUN; return 0;}
4423 #else /* def _SC_2_FORT_RUN */
4424 {errno = EINVAL; return -1;}
4425 #endif /* ndef _SC_2_FORT_RUN */
4426 if (x == Mono_Posix_SysconfName__SC_2_LOCALEDEF)
4427 #ifdef _SC_2_LOCALEDEF
4428 {*r = _SC_2_LOCALEDEF; return 0;}
4429 #else /* def _SC_2_LOCALEDEF */
4430 {errno = EINVAL; return -1;}
4431 #endif /* ndef _SC_2_LOCALEDEF */
4432 if (x == Mono_Posix_SysconfName__SC_2_PBS)
4433 #ifdef _SC_2_PBS
4434 {*r = _SC_2_PBS; return 0;}
4435 #else /* def _SC_2_PBS */
4436 {errno = EINVAL; return -1;}
4437 #endif /* ndef _SC_2_PBS */
4438 if (x == Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING)
4439 #ifdef _SC_2_PBS_ACCOUNTING
4440 {*r = _SC_2_PBS_ACCOUNTING; return 0;}
4441 #else /* def _SC_2_PBS_ACCOUNTING */
4442 {errno = EINVAL; return -1;}
4443 #endif /* ndef _SC_2_PBS_ACCOUNTING */
4444 if (x == Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT)
4445 #ifdef _SC_2_PBS_CHECKPOINT
4446 {*r = _SC_2_PBS_CHECKPOINT; return 0;}
4447 #else /* def _SC_2_PBS_CHECKPOINT */
4448 {errno = EINVAL; return -1;}
4449 #endif /* ndef _SC_2_PBS_CHECKPOINT */
4450 if (x == Mono_Posix_SysconfName__SC_2_PBS_LOCATE)
4451 #ifdef _SC_2_PBS_LOCATE
4452 {*r = _SC_2_PBS_LOCATE; return 0;}
4453 #else /* def _SC_2_PBS_LOCATE */
4454 {errno = EINVAL; return -1;}
4455 #endif /* ndef _SC_2_PBS_LOCATE */
4456 if (x == Mono_Posix_SysconfName__SC_2_PBS_MESSAGE)
4457 #ifdef _SC_2_PBS_MESSAGE
4458 {*r = _SC_2_PBS_MESSAGE; return 0;}
4459 #else /* def _SC_2_PBS_MESSAGE */
4460 {errno = EINVAL; return -1;}
4461 #endif /* ndef _SC_2_PBS_MESSAGE */
4462 if (x == Mono_Posix_SysconfName__SC_2_PBS_TRACK)
4463 #ifdef _SC_2_PBS_TRACK
4464 {*r = _SC_2_PBS_TRACK; return 0;}
4465 #else /* def _SC_2_PBS_TRACK */
4466 {errno = EINVAL; return -1;}
4467 #endif /* ndef _SC_2_PBS_TRACK */
4468 if (x == Mono_Posix_SysconfName__SC_2_SW_DEV)
4469 #ifdef _SC_2_SW_DEV
4470 {*r = _SC_2_SW_DEV; return 0;}
4471 #else /* def _SC_2_SW_DEV */
4472 {errno = EINVAL; return -1;}
4473 #endif /* ndef _SC_2_SW_DEV */
4474 if (x == Mono_Posix_SysconfName__SC_2_UPE)
4475 #ifdef _SC_2_UPE
4476 {*r = _SC_2_UPE; return 0;}
4477 #else /* def _SC_2_UPE */
4478 {errno = EINVAL; return -1;}
4479 #endif /* ndef _SC_2_UPE */
4480 if (x == Mono_Posix_SysconfName__SC_2_VERSION)
4481 #ifdef _SC_2_VERSION
4482 {*r = _SC_2_VERSION; return 0;}
4483 #else /* def _SC_2_VERSION */
4484 {errno = EINVAL; return -1;}
4485 #endif /* ndef _SC_2_VERSION */
4486 if (x == Mono_Posix_SysconfName__SC_ADVISORY_INFO)
4487 #ifdef _SC_ADVISORY_INFO
4488 {*r = _SC_ADVISORY_INFO; return 0;}
4489 #else /* def _SC_ADVISORY_INFO */
4490 {errno = EINVAL; return -1;}
4491 #endif /* ndef _SC_ADVISORY_INFO */
4492 if (x == Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX)
4493 #ifdef _SC_AIO_LISTIO_MAX
4494 {*r = _SC_AIO_LISTIO_MAX; return 0;}
4495 #else /* def _SC_AIO_LISTIO_MAX */
4496 {errno = EINVAL; return -1;}
4497 #endif /* ndef _SC_AIO_LISTIO_MAX */
4498 if (x == Mono_Posix_SysconfName__SC_AIO_MAX)
4499 #ifdef _SC_AIO_MAX
4500 {*r = _SC_AIO_MAX; return 0;}
4501 #else /* def _SC_AIO_MAX */
4502 {errno = EINVAL; return -1;}
4503 #endif /* ndef _SC_AIO_MAX */
4504 if (x == Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX)
4505 #ifdef _SC_AIO_PRIO_DELTA_MAX
4506 {*r = _SC_AIO_PRIO_DELTA_MAX; return 0;}
4507 #else /* def _SC_AIO_PRIO_DELTA_MAX */
4508 {errno = EINVAL; return -1;}
4509 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
4510 if (x == Mono_Posix_SysconfName__SC_ARG_MAX)
4511 #ifdef _SC_ARG_MAX
4512 {*r = _SC_ARG_MAX; return 0;}
4513 #else /* def _SC_ARG_MAX */
4514 {errno = EINVAL; return -1;}
4515 #endif /* ndef _SC_ARG_MAX */
4516 if (x == Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO)
4517 #ifdef _SC_ASYNCHRONOUS_IO
4518 {*r = _SC_ASYNCHRONOUS_IO; return 0;}
4519 #else /* def _SC_ASYNCHRONOUS_IO */
4520 {errno = EINVAL; return -1;}
4521 #endif /* ndef _SC_ASYNCHRONOUS_IO */
4522 if (x == Mono_Posix_SysconfName__SC_ATEXIT_MAX)
4523 #ifdef _SC_ATEXIT_MAX
4524 {*r = _SC_ATEXIT_MAX; return 0;}
4525 #else /* def _SC_ATEXIT_MAX */
4526 {errno = EINVAL; return -1;}
4527 #endif /* ndef _SC_ATEXIT_MAX */
4528 if (x == Mono_Posix_SysconfName__SC_AVPHYS_PAGES)
4529 #ifdef _SC_AVPHYS_PAGES
4530 {*r = _SC_AVPHYS_PAGES; return 0;}
4531 #else /* def _SC_AVPHYS_PAGES */
4532 {errno = EINVAL; return -1;}
4533 #endif /* ndef _SC_AVPHYS_PAGES */
4534 if (x == Mono_Posix_SysconfName__SC_BARRIERS)
4535 #ifdef _SC_BARRIERS
4536 {*r = _SC_BARRIERS; return 0;}
4537 #else /* def _SC_BARRIERS */
4538 {errno = EINVAL; return -1;}
4539 #endif /* ndef _SC_BARRIERS */
4540 if (x == Mono_Posix_SysconfName__SC_BASE)
4541 #ifdef _SC_BASE
4542 {*r = _SC_BASE; return 0;}
4543 #else /* def _SC_BASE */
4544 {errno = EINVAL; return -1;}
4545 #endif /* ndef _SC_BASE */
4546 if (x == Mono_Posix_SysconfName__SC_BC_BASE_MAX)
4547 #ifdef _SC_BC_BASE_MAX
4548 {*r = _SC_BC_BASE_MAX; return 0;}
4549 #else /* def _SC_BC_BASE_MAX */
4550 {errno = EINVAL; return -1;}
4551 #endif /* ndef _SC_BC_BASE_MAX */
4552 if (x == Mono_Posix_SysconfName__SC_BC_DIM_MAX)
4553 #ifdef _SC_BC_DIM_MAX
4554 {*r = _SC_BC_DIM_MAX; return 0;}
4555 #else /* def _SC_BC_DIM_MAX */
4556 {errno = EINVAL; return -1;}
4557 #endif /* ndef _SC_BC_DIM_MAX */
4558 if (x == Mono_Posix_SysconfName__SC_BC_SCALE_MAX)
4559 #ifdef _SC_BC_SCALE_MAX
4560 {*r = _SC_BC_SCALE_MAX; return 0;}
4561 #else /* def _SC_BC_SCALE_MAX */
4562 {errno = EINVAL; return -1;}
4563 #endif /* ndef _SC_BC_SCALE_MAX */
4564 if (x == Mono_Posix_SysconfName__SC_BC_STRING_MAX)
4565 #ifdef _SC_BC_STRING_MAX
4566 {*r = _SC_BC_STRING_MAX; return 0;}
4567 #else /* def _SC_BC_STRING_MAX */
4568 {errno = EINVAL; return -1;}
4569 #endif /* ndef _SC_BC_STRING_MAX */
4570 if (x == Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX)
4571 #ifdef _SC_CHARCLASS_NAME_MAX
4572 {*r = _SC_CHARCLASS_NAME_MAX; return 0;}
4573 #else /* def _SC_CHARCLASS_NAME_MAX */
4574 {errno = EINVAL; return -1;}
4575 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
4576 if (x == Mono_Posix_SysconfName__SC_CHAR_BIT)
4577 #ifdef _SC_CHAR_BIT
4578 {*r = _SC_CHAR_BIT; return 0;}
4579 #else /* def _SC_CHAR_BIT */
4580 {errno = EINVAL; return -1;}
4581 #endif /* ndef _SC_CHAR_BIT */
4582 if (x == Mono_Posix_SysconfName__SC_CHAR_MAX)
4583 #ifdef _SC_CHAR_MAX
4584 {*r = _SC_CHAR_MAX; return 0;}
4585 #else /* def _SC_CHAR_MAX */
4586 {errno = EINVAL; return -1;}
4587 #endif /* ndef _SC_CHAR_MAX */
4588 if (x == Mono_Posix_SysconfName__SC_CHAR_MIN)
4589 #ifdef _SC_CHAR_MIN
4590 {*r = _SC_CHAR_MIN; return 0;}
4591 #else /* def _SC_CHAR_MIN */
4592 {errno = EINVAL; return -1;}
4593 #endif /* ndef _SC_CHAR_MIN */
4594 if (x == Mono_Posix_SysconfName__SC_CHILD_MAX)
4595 #ifdef _SC_CHILD_MAX
4596 {*r = _SC_CHILD_MAX; return 0;}
4597 #else /* def _SC_CHILD_MAX */
4598 {errno = EINVAL; return -1;}
4599 #endif /* ndef _SC_CHILD_MAX */
4600 if (x == Mono_Posix_SysconfName__SC_CLK_TCK)
4601 #ifdef _SC_CLK_TCK
4602 {*r = _SC_CLK_TCK; return 0;}
4603 #else /* def _SC_CLK_TCK */
4604 {errno = EINVAL; return -1;}
4605 #endif /* ndef _SC_CLK_TCK */
4606 if (x == Mono_Posix_SysconfName__SC_CLOCK_SELECTION)
4607 #ifdef _SC_CLOCK_SELECTION
4608 {*r = _SC_CLOCK_SELECTION; return 0;}
4609 #else /* def _SC_CLOCK_SELECTION */
4610 {errno = EINVAL; return -1;}
4611 #endif /* ndef _SC_CLOCK_SELECTION */
4612 if (x == Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX)
4613 #ifdef _SC_COLL_WEIGHTS_MAX
4614 {*r = _SC_COLL_WEIGHTS_MAX; return 0;}
4615 #else /* def _SC_COLL_WEIGHTS_MAX */
4616 {errno = EINVAL; return -1;}
4617 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
4618 if (x == Mono_Posix_SysconfName__SC_CPUTIME)
4619 #ifdef _SC_CPUTIME
4620 {*r = _SC_CPUTIME; return 0;}
4621 #else /* def _SC_CPUTIME */
4622 {errno = EINVAL; return -1;}
4623 #endif /* ndef _SC_CPUTIME */
4624 if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT)
4625 #ifdef _SC_C_LANG_SUPPORT
4626 {*r = _SC_C_LANG_SUPPORT; return 0;}
4627 #else /* def _SC_C_LANG_SUPPORT */
4628 {errno = EINVAL; return -1;}
4629 #endif /* ndef _SC_C_LANG_SUPPORT */
4630 if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R)
4631 #ifdef _SC_C_LANG_SUPPORT_R
4632 {*r = _SC_C_LANG_SUPPORT_R; return 0;}
4633 #else /* def _SC_C_LANG_SUPPORT_R */
4634 {errno = EINVAL; return -1;}
4635 #endif /* ndef _SC_C_LANG_SUPPORT_R */
4636 if (x == Mono_Posix_SysconfName__SC_DELAYTIMER_MAX)
4637 #ifdef _SC_DELAYTIMER_MAX
4638 {*r = _SC_DELAYTIMER_MAX; return 0;}
4639 #else /* def _SC_DELAYTIMER_MAX */
4640 {errno = EINVAL; return -1;}
4641 #endif /* ndef _SC_DELAYTIMER_MAX */
4642 if (x == Mono_Posix_SysconfName__SC_DEVICE_IO)
4643 #ifdef _SC_DEVICE_IO
4644 {*r = _SC_DEVICE_IO; return 0;}
4645 #else /* def _SC_DEVICE_IO */
4646 {errno = EINVAL; return -1;}
4647 #endif /* ndef _SC_DEVICE_IO */
4648 if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC)
4649 #ifdef _SC_DEVICE_SPECIFIC
4650 {*r = _SC_DEVICE_SPECIFIC; return 0;}
4651 #else /* def _SC_DEVICE_SPECIFIC */
4652 {errno = EINVAL; return -1;}
4653 #endif /* ndef _SC_DEVICE_SPECIFIC */
4654 if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R)
4655 #ifdef _SC_DEVICE_SPECIFIC_R
4656 {*r = _SC_DEVICE_SPECIFIC_R; return 0;}
4657 #else /* def _SC_DEVICE_SPECIFIC_R */
4658 {errno = EINVAL; return -1;}
4659 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
4660 if (x == Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX)
4661 #ifdef _SC_EQUIV_CLASS_MAX
4662 {*r = _SC_EQUIV_CLASS_MAX; return 0;}
4663 #else /* def _SC_EQUIV_CLASS_MAX */
4664 {errno = EINVAL; return -1;}
4665 #endif /* ndef _SC_EQUIV_CLASS_MAX */
4666 if (x == Mono_Posix_SysconfName__SC_EXPR_NEST_MAX)
4667 #ifdef _SC_EXPR_NEST_MAX
4668 {*r = _SC_EXPR_NEST_MAX; return 0;}
4669 #else /* def _SC_EXPR_NEST_MAX */
4670 {errno = EINVAL; return -1;}
4671 #endif /* ndef _SC_EXPR_NEST_MAX */
4672 if (x == Mono_Posix_SysconfName__SC_FD_MGMT)
4673 #ifdef _SC_FD_MGMT
4674 {*r = _SC_FD_MGMT; return 0;}
4675 #else /* def _SC_FD_MGMT */
4676 {errno = EINVAL; return -1;}
4677 #endif /* ndef _SC_FD_MGMT */
4678 if (x == Mono_Posix_SysconfName__SC_FIFO)
4679 #ifdef _SC_FIFO
4680 {*r = _SC_FIFO; return 0;}
4681 #else /* def _SC_FIFO */
4682 {errno = EINVAL; return -1;}
4683 #endif /* ndef _SC_FIFO */
4684 if (x == Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES)
4685 #ifdef _SC_FILE_ATTRIBUTES
4686 {*r = _SC_FILE_ATTRIBUTES; return 0;}
4687 #else /* def _SC_FILE_ATTRIBUTES */
4688 {errno = EINVAL; return -1;}
4689 #endif /* ndef _SC_FILE_ATTRIBUTES */
4690 if (x == Mono_Posix_SysconfName__SC_FILE_LOCKING)
4691 #ifdef _SC_FILE_LOCKING
4692 {*r = _SC_FILE_LOCKING; return 0;}
4693 #else /* def _SC_FILE_LOCKING */
4694 {errno = EINVAL; return -1;}
4695 #endif /* ndef _SC_FILE_LOCKING */
4696 if (x == Mono_Posix_SysconfName__SC_FILE_SYSTEM)
4697 #ifdef _SC_FILE_SYSTEM
4698 {*r = _SC_FILE_SYSTEM; return 0;}
4699 #else /* def _SC_FILE_SYSTEM */
4700 {errno = EINVAL; return -1;}
4701 #endif /* ndef _SC_FILE_SYSTEM */
4702 if (x == Mono_Posix_SysconfName__SC_FSYNC)
4703 #ifdef _SC_FSYNC
4704 {*r = _SC_FSYNC; return 0;}
4705 #else /* def _SC_FSYNC */
4706 {errno = EINVAL; return -1;}
4707 #endif /* ndef _SC_FSYNC */
4708 if (x == Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX)
4709 #ifdef _SC_GETGR_R_SIZE_MAX
4710 {*r = _SC_GETGR_R_SIZE_MAX; return 0;}
4711 #else /* def _SC_GETGR_R_SIZE_MAX */
4712 {errno = EINVAL; return -1;}
4713 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
4714 if (x == Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX)
4715 #ifdef _SC_GETPW_R_SIZE_MAX
4716 {*r = _SC_GETPW_R_SIZE_MAX; return 0;}
4717 #else /* def _SC_GETPW_R_SIZE_MAX */
4718 {errno = EINVAL; return -1;}
4719 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
4720 if (x == Mono_Posix_SysconfName__SC_HOST_NAME_MAX)
4721 #ifdef _SC_HOST_NAME_MAX
4722 {*r = _SC_HOST_NAME_MAX; return 0;}
4723 #else /* def _SC_HOST_NAME_MAX */
4724 {errno = EINVAL; return -1;}
4725 #endif /* ndef _SC_HOST_NAME_MAX */
4726 if (x == Mono_Posix_SysconfName__SC_INT_MAX)
4727 #ifdef _SC_INT_MAX
4728 {*r = _SC_INT_MAX; return 0;}
4729 #else /* def _SC_INT_MAX */
4730 {errno = EINVAL; return -1;}
4731 #endif /* ndef _SC_INT_MAX */
4732 if (x == Mono_Posix_SysconfName__SC_INT_MIN)
4733 #ifdef _SC_INT_MIN
4734 {*r = _SC_INT_MIN; return 0;}
4735 #else /* def _SC_INT_MIN */
4736 {errno = EINVAL; return -1;}
4737 #endif /* ndef _SC_INT_MIN */
4738 if (x == Mono_Posix_SysconfName__SC_IOV_MAX)
4739 #ifdef _SC_IOV_MAX
4740 {*r = _SC_IOV_MAX; return 0;}
4741 #else /* def _SC_IOV_MAX */
4742 {errno = EINVAL; return -1;}
4743 #endif /* ndef _SC_IOV_MAX */
4744 if (x == Mono_Posix_SysconfName__SC_JOB_CONTROL)
4745 #ifdef _SC_JOB_CONTROL
4746 {*r = _SC_JOB_CONTROL; return 0;}
4747 #else /* def _SC_JOB_CONTROL */
4748 {errno = EINVAL; return -1;}
4749 #endif /* ndef _SC_JOB_CONTROL */
4750 if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC)
4751 #ifdef _SC_LEVEL1_DCACHE_ASSOC
4752 {*r = _SC_LEVEL1_DCACHE_ASSOC; return 0;}
4753 #else /* def _SC_LEVEL1_DCACHE_ASSOC */
4754 {errno = EINVAL; return -1;}
4755 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
4756 if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE)
4757 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
4758 {*r = _SC_LEVEL1_DCACHE_LINESIZE; return 0;}
4759 #else /* def _SC_LEVEL1_DCACHE_LINESIZE */
4760 {errno = EINVAL; return -1;}
4761 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
4762 if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE)
4763 #ifdef _SC_LEVEL1_DCACHE_SIZE
4764 {*r = _SC_LEVEL1_DCACHE_SIZE; return 0;}
4765 #else /* def _SC_LEVEL1_DCACHE_SIZE */
4766 {errno = EINVAL; return -1;}
4767 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
4768 if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC)
4769 #ifdef _SC_LEVEL1_ICACHE_ASSOC
4770 {*r = _SC_LEVEL1_ICACHE_ASSOC; return 0;}
4771 #else /* def _SC_LEVEL1_ICACHE_ASSOC */
4772 {errno = EINVAL; return -1;}
4773 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
4774 if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE)
4775 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
4776 {*r = _SC_LEVEL1_ICACHE_LINESIZE; return 0;}
4777 #else /* def _SC_LEVEL1_ICACHE_LINESIZE */
4778 {errno = EINVAL; return -1;}
4779 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
4780 if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE)
4781 #ifdef _SC_LEVEL1_ICACHE_SIZE
4782 {*r = _SC_LEVEL1_ICACHE_SIZE; return 0;}
4783 #else /* def _SC_LEVEL1_ICACHE_SIZE */
4784 {errno = EINVAL; return -1;}
4785 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
4786 if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC)
4787 #ifdef _SC_LEVEL2_CACHE_ASSOC
4788 {*r = _SC_LEVEL2_CACHE_ASSOC; return 0;}
4789 #else /* def _SC_LEVEL2_CACHE_ASSOC */
4790 {errno = EINVAL; return -1;}
4791 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
4792 if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE)
4793 #ifdef _SC_LEVEL2_CACHE_LINESIZE
4794 {*r = _SC_LEVEL2_CACHE_LINESIZE; return 0;}
4795 #else /* def _SC_LEVEL2_CACHE_LINESIZE */
4796 {errno = EINVAL; return -1;}
4797 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
4798 if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE)
4799 #ifdef _SC_LEVEL2_CACHE_SIZE
4800 {*r = _SC_LEVEL2_CACHE_SIZE; return 0;}
4801 #else /* def _SC_LEVEL2_CACHE_SIZE */
4802 {errno = EINVAL; return -1;}
4803 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
4804 if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC)
4805 #ifdef _SC_LEVEL3_CACHE_ASSOC
4806 {*r = _SC_LEVEL3_CACHE_ASSOC; return 0;}
4807 #else /* def _SC_LEVEL3_CACHE_ASSOC */
4808 {errno = EINVAL; return -1;}
4809 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
4810 if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE)
4811 #ifdef _SC_LEVEL3_CACHE_LINESIZE
4812 {*r = _SC_LEVEL3_CACHE_LINESIZE; return 0;}
4813 #else /* def _SC_LEVEL3_CACHE_LINESIZE */
4814 {errno = EINVAL; return -1;}
4815 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
4816 if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE)
4817 #ifdef _SC_LEVEL3_CACHE_SIZE
4818 {*r = _SC_LEVEL3_CACHE_SIZE; return 0;}
4819 #else /* def _SC_LEVEL3_CACHE_SIZE */
4820 {errno = EINVAL; return -1;}
4821 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
4822 if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC)
4823 #ifdef _SC_LEVEL4_CACHE_ASSOC
4824 {*r = _SC_LEVEL4_CACHE_ASSOC; return 0;}
4825 #else /* def _SC_LEVEL4_CACHE_ASSOC */
4826 {errno = EINVAL; return -1;}
4827 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
4828 if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE)
4829 #ifdef _SC_LEVEL4_CACHE_LINESIZE
4830 {*r = _SC_LEVEL4_CACHE_LINESIZE; return 0;}
4831 #else /* def _SC_LEVEL4_CACHE_LINESIZE */
4832 {errno = EINVAL; return -1;}
4833 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
4834 if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE)
4835 #ifdef _SC_LEVEL4_CACHE_SIZE
4836 {*r = _SC_LEVEL4_CACHE_SIZE; return 0;}
4837 #else /* def _SC_LEVEL4_CACHE_SIZE */
4838 {errno = EINVAL; return -1;}
4839 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
4840 if (x == Mono_Posix_SysconfName__SC_LINE_MAX)
4841 #ifdef _SC_LINE_MAX
4842 {*r = _SC_LINE_MAX; return 0;}
4843 #else /* def _SC_LINE_MAX */
4844 {errno = EINVAL; return -1;}
4845 #endif /* ndef _SC_LINE_MAX */
4846 if (x == Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX)
4847 #ifdef _SC_LOGIN_NAME_MAX
4848 {*r = _SC_LOGIN_NAME_MAX; return 0;}
4849 #else /* def _SC_LOGIN_NAME_MAX */
4850 {errno = EINVAL; return -1;}
4851 #endif /* ndef _SC_LOGIN_NAME_MAX */
4852 if (x == Mono_Posix_SysconfName__SC_LONG_BIT)
4853 #ifdef _SC_LONG_BIT
4854 {*r = _SC_LONG_BIT; return 0;}
4855 #else /* def _SC_LONG_BIT */
4856 {errno = EINVAL; return -1;}
4857 #endif /* ndef _SC_LONG_BIT */
4858 if (x == Mono_Posix_SysconfName__SC_MAPPED_FILES)
4859 #ifdef _SC_MAPPED_FILES
4860 {*r = _SC_MAPPED_FILES; return 0;}
4861 #else /* def _SC_MAPPED_FILES */
4862 {errno = EINVAL; return -1;}
4863 #endif /* ndef _SC_MAPPED_FILES */
4864 if (x == Mono_Posix_SysconfName__SC_MB_LEN_MAX)
4865 #ifdef _SC_MB_LEN_MAX
4866 {*r = _SC_MB_LEN_MAX; return 0;}
4867 #else /* def _SC_MB_LEN_MAX */
4868 {errno = EINVAL; return -1;}
4869 #endif /* ndef _SC_MB_LEN_MAX */
4870 if (x == Mono_Posix_SysconfName__SC_MEMLOCK)
4871 #ifdef _SC_MEMLOCK
4872 {*r = _SC_MEMLOCK; return 0;}
4873 #else /* def _SC_MEMLOCK */
4874 {errno = EINVAL; return -1;}
4875 #endif /* ndef _SC_MEMLOCK */
4876 if (x == Mono_Posix_SysconfName__SC_MEMLOCK_RANGE)
4877 #ifdef _SC_MEMLOCK_RANGE
4878 {*r = _SC_MEMLOCK_RANGE; return 0;}
4879 #else /* def _SC_MEMLOCK_RANGE */
4880 {errno = EINVAL; return -1;}
4881 #endif /* ndef _SC_MEMLOCK_RANGE */
4882 if (x == Mono_Posix_SysconfName__SC_MEMORY_PROTECTION)
4883 #ifdef _SC_MEMORY_PROTECTION
4884 {*r = _SC_MEMORY_PROTECTION; return 0;}
4885 #else /* def _SC_MEMORY_PROTECTION */
4886 {errno = EINVAL; return -1;}
4887 #endif /* ndef _SC_MEMORY_PROTECTION */
4888 if (x == Mono_Posix_SysconfName__SC_MESSAGE_PASSING)
4889 #ifdef _SC_MESSAGE_PASSING
4890 {*r = _SC_MESSAGE_PASSING; return 0;}
4891 #else /* def _SC_MESSAGE_PASSING */
4892 {errno = EINVAL; return -1;}
4893 #endif /* ndef _SC_MESSAGE_PASSING */
4894 if (x == Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK)
4895 #ifdef _SC_MONOTONIC_CLOCK
4896 {*r = _SC_MONOTONIC_CLOCK; return 0;}
4897 #else /* def _SC_MONOTONIC_CLOCK */
4898 {errno = EINVAL; return -1;}
4899 #endif /* ndef _SC_MONOTONIC_CLOCK */
4900 if (x == Mono_Posix_SysconfName__SC_MQ_OPEN_MAX)
4901 #ifdef _SC_MQ_OPEN_MAX
4902 {*r = _SC_MQ_OPEN_MAX; return 0;}
4903 #else /* def _SC_MQ_OPEN_MAX */
4904 {errno = EINVAL; return -1;}
4905 #endif /* ndef _SC_MQ_OPEN_MAX */
4906 if (x == Mono_Posix_SysconfName__SC_MQ_PRIO_MAX)
4907 #ifdef _SC_MQ_PRIO_MAX
4908 {*r = _SC_MQ_PRIO_MAX; return 0;}
4909 #else /* def _SC_MQ_PRIO_MAX */
4910 {errno = EINVAL; return -1;}
4911 #endif /* ndef _SC_MQ_PRIO_MAX */
4912 if (x == Mono_Posix_SysconfName__SC_MULTI_PROCESS)
4913 #ifdef _SC_MULTI_PROCESS
4914 {*r = _SC_MULTI_PROCESS; return 0;}
4915 #else /* def _SC_MULTI_PROCESS */
4916 {errno = EINVAL; return -1;}
4917 #endif /* ndef _SC_MULTI_PROCESS */
4918 if (x == Mono_Posix_SysconfName__SC_NETWORKING)
4919 #ifdef _SC_NETWORKING
4920 {*r = _SC_NETWORKING; return 0;}
4921 #else /* def _SC_NETWORKING */
4922 {errno = EINVAL; return -1;}
4923 #endif /* ndef _SC_NETWORKING */
4924 if (x == Mono_Posix_SysconfName__SC_NGROUPS_MAX)
4925 #ifdef _SC_NGROUPS_MAX
4926 {*r = _SC_NGROUPS_MAX; return 0;}
4927 #else /* def _SC_NGROUPS_MAX */
4928 {errno = EINVAL; return -1;}
4929 #endif /* ndef _SC_NGROUPS_MAX */
4930 if (x == Mono_Posix_SysconfName__SC_NL_ARGMAX)
4931 #ifdef _SC_NL_ARGMAX
4932 {*r = _SC_NL_ARGMAX; return 0;}
4933 #else /* def _SC_NL_ARGMAX */
4934 {errno = EINVAL; return -1;}
4935 #endif /* ndef _SC_NL_ARGMAX */
4936 if (x == Mono_Posix_SysconfName__SC_NL_LANGMAX)
4937 #ifdef _SC_NL_LANGMAX
4938 {*r = _SC_NL_LANGMAX; return 0;}
4939 #else /* def _SC_NL_LANGMAX */
4940 {errno = EINVAL; return -1;}
4941 #endif /* ndef _SC_NL_LANGMAX */
4942 if (x == Mono_Posix_SysconfName__SC_NL_MSGMAX)
4943 #ifdef _SC_NL_MSGMAX
4944 {*r = _SC_NL_MSGMAX; return 0;}
4945 #else /* def _SC_NL_MSGMAX */
4946 {errno = EINVAL; return -1;}
4947 #endif /* ndef _SC_NL_MSGMAX */
4948 if (x == Mono_Posix_SysconfName__SC_NL_NMAX)
4949 #ifdef _SC_NL_NMAX
4950 {*r = _SC_NL_NMAX; return 0;}
4951 #else /* def _SC_NL_NMAX */
4952 {errno = EINVAL; return -1;}
4953 #endif /* ndef _SC_NL_NMAX */
4954 if (x == Mono_Posix_SysconfName__SC_NL_SETMAX)
4955 #ifdef _SC_NL_SETMAX
4956 {*r = _SC_NL_SETMAX; return 0;}
4957 #else /* def _SC_NL_SETMAX */
4958 {errno = EINVAL; return -1;}
4959 #endif /* ndef _SC_NL_SETMAX */
4960 if (x == Mono_Posix_SysconfName__SC_NL_TEXTMAX)
4961 #ifdef _SC_NL_TEXTMAX
4962 {*r = _SC_NL_TEXTMAX; return 0;}
4963 #else /* def _SC_NL_TEXTMAX */
4964 {errno = EINVAL; return -1;}
4965 #endif /* ndef _SC_NL_TEXTMAX */
4966 if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_CONF)
4967 #ifdef _SC_NPROCESSORS_CONF
4968 {*r = _SC_NPROCESSORS_CONF; return 0;}
4969 #else /* def _SC_NPROCESSORS_CONF */
4970 {errno = EINVAL; return -1;}
4971 #endif /* ndef _SC_NPROCESSORS_CONF */
4972 if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN)
4973 #ifdef _SC_NPROCESSORS_ONLN
4974 {*r = _SC_NPROCESSORS_ONLN; return 0;}
4975 #else /* def _SC_NPROCESSORS_ONLN */
4976 {errno = EINVAL; return -1;}
4977 #endif /* ndef _SC_NPROCESSORS_ONLN */
4978 if (x == Mono_Posix_SysconfName__SC_NZERO)
4979 #ifdef _SC_NZERO
4980 {*r = _SC_NZERO; return 0;}
4981 #else /* def _SC_NZERO */
4982 {errno = EINVAL; return -1;}
4983 #endif /* ndef _SC_NZERO */
4984 if (x == Mono_Posix_SysconfName__SC_OPEN_MAX)
4985 #ifdef _SC_OPEN_MAX
4986 {*r = _SC_OPEN_MAX; return 0;}
4987 #else /* def _SC_OPEN_MAX */
4988 {errno = EINVAL; return -1;}
4989 #endif /* ndef _SC_OPEN_MAX */
4990 if (x == Mono_Posix_SysconfName__SC_PAGESIZE)
4991 #ifdef _SC_PAGESIZE
4992 {*r = _SC_PAGESIZE; return 0;}
4993 #else /* def _SC_PAGESIZE */
4994 {errno = EINVAL; return -1;}
4995 #endif /* ndef _SC_PAGESIZE */
4996 if (x == Mono_Posix_SysconfName__SC_PASS_MAX)
4997 #ifdef _SC_PASS_MAX
4998 {*r = _SC_PASS_MAX; return 0;}
4999 #else /* def _SC_PASS_MAX */
5000 {errno = EINVAL; return -1;}
5001 #endif /* ndef _SC_PASS_MAX */
5002 if (x == Mono_Posix_SysconfName__SC_PHYS_PAGES)
5003 #ifdef _SC_PHYS_PAGES
5004 {*r = _SC_PHYS_PAGES; return 0;}
5005 #else /* def _SC_PHYS_PAGES */
5006 {errno = EINVAL; return -1;}
5007 #endif /* ndef _SC_PHYS_PAGES */
5008 if (x == Mono_Posix_SysconfName__SC_PII)
5009 #ifdef _SC_PII
5010 {*r = _SC_PII; return 0;}
5011 #else /* def _SC_PII */
5012 {errno = EINVAL; return -1;}
5013 #endif /* ndef _SC_PII */
5014 if (x == Mono_Posix_SysconfName__SC_PII_INTERNET)
5015 #ifdef _SC_PII_INTERNET
5016 {*r = _SC_PII_INTERNET; return 0;}
5017 #else /* def _SC_PII_INTERNET */
5018 {errno = EINVAL; return -1;}
5019 #endif /* ndef _SC_PII_INTERNET */
5020 if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM)
5021 #ifdef _SC_PII_INTERNET_DGRAM
5022 {*r = _SC_PII_INTERNET_DGRAM; return 0;}
5023 #else /* def _SC_PII_INTERNET_DGRAM */
5024 {errno = EINVAL; return -1;}
5025 #endif /* ndef _SC_PII_INTERNET_DGRAM */
5026 if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM)
5027 #ifdef _SC_PII_INTERNET_STREAM
5028 {*r = _SC_PII_INTERNET_STREAM; return 0;}
5029 #else /* def _SC_PII_INTERNET_STREAM */
5030 {errno = EINVAL; return -1;}
5031 #endif /* ndef _SC_PII_INTERNET_STREAM */
5032 if (x == Mono_Posix_SysconfName__SC_PII_OSI)
5033 #ifdef _SC_PII_OSI
5034 {*r = _SC_PII_OSI; return 0;}
5035 #else /* def _SC_PII_OSI */
5036 {errno = EINVAL; return -1;}
5037 #endif /* ndef _SC_PII_OSI */
5038 if (x == Mono_Posix_SysconfName__SC_PII_OSI_CLTS)
5039 #ifdef _SC_PII_OSI_CLTS
5040 {*r = _SC_PII_OSI_CLTS; return 0;}
5041 #else /* def _SC_PII_OSI_CLTS */
5042 {errno = EINVAL; return -1;}
5043 #endif /* ndef _SC_PII_OSI_CLTS */
5044 if (x == Mono_Posix_SysconfName__SC_PII_OSI_COTS)
5045 #ifdef _SC_PII_OSI_COTS
5046 {*r = _SC_PII_OSI_COTS; return 0;}
5047 #else /* def _SC_PII_OSI_COTS */
5048 {errno = EINVAL; return -1;}
5049 #endif /* ndef _SC_PII_OSI_COTS */
5050 if (x == Mono_Posix_SysconfName__SC_PII_OSI_M)
5051 #ifdef _SC_PII_OSI_M
5052 {*r = _SC_PII_OSI_M; return 0;}
5053 #else /* def _SC_PII_OSI_M */
5054 {errno = EINVAL; return -1;}
5055 #endif /* ndef _SC_PII_OSI_M */
5056 if (x == Mono_Posix_SysconfName__SC_PII_SOCKET)
5057 #ifdef _SC_PII_SOCKET
5058 {*r = _SC_PII_SOCKET; return 0;}
5059 #else /* def _SC_PII_SOCKET */
5060 {errno = EINVAL; return -1;}
5061 #endif /* ndef _SC_PII_SOCKET */
5062 if (x == Mono_Posix_SysconfName__SC_PII_XTI)
5063 #ifdef _SC_PII_XTI
5064 {*r = _SC_PII_XTI; return 0;}
5065 #else /* def _SC_PII_XTI */
5066 {errno = EINVAL; return -1;}
5067 #endif /* ndef _SC_PII_XTI */
5068 if (x == Mono_Posix_SysconfName__SC_PIPE)
5069 #ifdef _SC_PIPE
5070 {*r = _SC_PIPE; return 0;}
5071 #else /* def _SC_PIPE */
5072 {errno = EINVAL; return -1;}
5073 #endif /* ndef _SC_PIPE */
5074 if (x == Mono_Posix_SysconfName__SC_POLL)
5075 #ifdef _SC_POLL
5076 {*r = _SC_POLL; return 0;}
5077 #else /* def _SC_POLL */
5078 {errno = EINVAL; return -1;}
5079 #endif /* ndef _SC_POLL */
5080 if (x == Mono_Posix_SysconfName__SC_PRIORITIZED_IO)
5081 #ifdef _SC_PRIORITIZED_IO
5082 {*r = _SC_PRIORITIZED_IO; return 0;}
5083 #else /* def _SC_PRIORITIZED_IO */
5084 {errno = EINVAL; return -1;}
5085 #endif /* ndef _SC_PRIORITIZED_IO */
5086 if (x == Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING)
5087 #ifdef _SC_PRIORITY_SCHEDULING
5088 {*r = _SC_PRIORITY_SCHEDULING; return 0;}
5089 #else /* def _SC_PRIORITY_SCHEDULING */
5090 {errno = EINVAL; return -1;}
5091 #endif /* ndef _SC_PRIORITY_SCHEDULING */
5092 if (x == Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS)
5093 #ifdef _SC_READER_WRITER_LOCKS
5094 {*r = _SC_READER_WRITER_LOCKS; return 0;}
5095 #else /* def _SC_READER_WRITER_LOCKS */
5096 {errno = EINVAL; return -1;}
5097 #endif /* ndef _SC_READER_WRITER_LOCKS */
5098 if (x == Mono_Posix_SysconfName__SC_REALTIME_SIGNALS)
5099 #ifdef _SC_REALTIME_SIGNALS
5100 {*r = _SC_REALTIME_SIGNALS; return 0;}
5101 #else /* def _SC_REALTIME_SIGNALS */
5102 {errno = EINVAL; return -1;}
5103 #endif /* ndef _SC_REALTIME_SIGNALS */
5104 if (x == Mono_Posix_SysconfName__SC_REGEXP)
5105 #ifdef _SC_REGEXP
5106 {*r = _SC_REGEXP; return 0;}
5107 #else /* def _SC_REGEXP */
5108 {errno = EINVAL; return -1;}
5109 #endif /* ndef _SC_REGEXP */
5110 if (x == Mono_Posix_SysconfName__SC_REGEX_VERSION)
5111 #ifdef _SC_REGEX_VERSION
5112 {*r = _SC_REGEX_VERSION; return 0;}
5113 #else /* def _SC_REGEX_VERSION */
5114 {errno = EINVAL; return -1;}
5115 #endif /* ndef _SC_REGEX_VERSION */
5116 if (x == Mono_Posix_SysconfName__SC_RE_DUP_MAX)
5117 #ifdef _SC_RE_DUP_MAX
5118 {*r = _SC_RE_DUP_MAX; return 0;}
5119 #else /* def _SC_RE_DUP_MAX */
5120 {errno = EINVAL; return -1;}
5121 #endif /* ndef _SC_RE_DUP_MAX */
5122 if (x == Mono_Posix_SysconfName__SC_RTSIG_MAX)
5123 #ifdef _SC_RTSIG_MAX
5124 {*r = _SC_RTSIG_MAX; return 0;}
5125 #else /* def _SC_RTSIG_MAX */
5126 {errno = EINVAL; return -1;}
5127 #endif /* ndef _SC_RTSIG_MAX */
5128 if (x == Mono_Posix_SysconfName__SC_SAVED_IDS)
5129 #ifdef _SC_SAVED_IDS
5130 {*r = _SC_SAVED_IDS; return 0;}
5131 #else /* def _SC_SAVED_IDS */
5132 {errno = EINVAL; return -1;}
5133 #endif /* ndef _SC_SAVED_IDS */
5134 if (x == Mono_Posix_SysconfName__SC_SCHAR_MAX)
5135 #ifdef _SC_SCHAR_MAX
5136 {*r = _SC_SCHAR_MAX; return 0;}
5137 #else /* def _SC_SCHAR_MAX */
5138 {errno = EINVAL; return -1;}
5139 #endif /* ndef _SC_SCHAR_MAX */
5140 if (x == Mono_Posix_SysconfName__SC_SCHAR_MIN)
5141 #ifdef _SC_SCHAR_MIN
5142 {*r = _SC_SCHAR_MIN; return 0;}
5143 #else /* def _SC_SCHAR_MIN */
5144 {errno = EINVAL; return -1;}
5145 #endif /* ndef _SC_SCHAR_MIN */
5146 if (x == Mono_Posix_SysconfName__SC_SELECT)
5147 #ifdef _SC_SELECT
5148 {*r = _SC_SELECT; return 0;}
5149 #else /* def _SC_SELECT */
5150 {errno = EINVAL; return -1;}
5151 #endif /* ndef _SC_SELECT */
5152 if (x == Mono_Posix_SysconfName__SC_SEMAPHORES)
5153 #ifdef _SC_SEMAPHORES
5154 {*r = _SC_SEMAPHORES; return 0;}
5155 #else /* def _SC_SEMAPHORES */
5156 {errno = EINVAL; return -1;}
5157 #endif /* ndef _SC_SEMAPHORES */
5158 if (x == Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX)
5159 #ifdef _SC_SEM_NSEMS_MAX
5160 {*r = _SC_SEM_NSEMS_MAX; return 0;}
5161 #else /* def _SC_SEM_NSEMS_MAX */
5162 {errno = EINVAL; return -1;}
5163 #endif /* ndef _SC_SEM_NSEMS_MAX */
5164 if (x == Mono_Posix_SysconfName__SC_SEM_VALUE_MAX)
5165 #ifdef _SC_SEM_VALUE_MAX
5166 {*r = _SC_SEM_VALUE_MAX; return 0;}
5167 #else /* def _SC_SEM_VALUE_MAX */
5168 {errno = EINVAL; return -1;}
5169 #endif /* ndef _SC_SEM_VALUE_MAX */
5170 if (x == Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS)
5171 #ifdef _SC_SHARED_MEMORY_OBJECTS
5172 {*r = _SC_SHARED_MEMORY_OBJECTS; return 0;}
5173 #else /* def _SC_SHARED_MEMORY_OBJECTS */
5174 {errno = EINVAL; return -1;}
5175 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
5176 if (x == Mono_Posix_SysconfName__SC_SHELL)
5177 #ifdef _SC_SHELL
5178 {*r = _SC_SHELL; return 0;}
5179 #else /* def _SC_SHELL */
5180 {errno = EINVAL; return -1;}
5181 #endif /* ndef _SC_SHELL */
5182 if (x == Mono_Posix_SysconfName__SC_SHRT_MAX)
5183 #ifdef _SC_SHRT_MAX
5184 {*r = _SC_SHRT_MAX; return 0;}
5185 #else /* def _SC_SHRT_MAX */
5186 {errno = EINVAL; return -1;}
5187 #endif /* ndef _SC_SHRT_MAX */
5188 if (x == Mono_Posix_SysconfName__SC_SHRT_MIN)
5189 #ifdef _SC_SHRT_MIN
5190 {*r = _SC_SHRT_MIN; return 0;}
5191 #else /* def _SC_SHRT_MIN */
5192 {errno = EINVAL; return -1;}
5193 #endif /* ndef _SC_SHRT_MIN */
5194 if (x == Mono_Posix_SysconfName__SC_SIGNALS)
5195 #ifdef _SC_SIGNALS
5196 {*r = _SC_SIGNALS; return 0;}
5197 #else /* def _SC_SIGNALS */
5198 {errno = EINVAL; return -1;}
5199 #endif /* ndef _SC_SIGNALS */
5200 if (x == Mono_Posix_SysconfName__SC_SIGQUEUE_MAX)
5201 #ifdef _SC_SIGQUEUE_MAX
5202 {*r = _SC_SIGQUEUE_MAX; return 0;}
5203 #else /* def _SC_SIGQUEUE_MAX */
5204 {errno = EINVAL; return -1;}
5205 #endif /* ndef _SC_SIGQUEUE_MAX */
5206 if (x == Mono_Posix_SysconfName__SC_SINGLE_PROCESS)
5207 #ifdef _SC_SINGLE_PROCESS
5208 {*r = _SC_SINGLE_PROCESS; return 0;}
5209 #else /* def _SC_SINGLE_PROCESS */
5210 {errno = EINVAL; return -1;}
5211 #endif /* ndef _SC_SINGLE_PROCESS */
5212 if (x == Mono_Posix_SysconfName__SC_SPAWN)
5213 #ifdef _SC_SPAWN
5214 {*r = _SC_SPAWN; return 0;}
5215 #else /* def _SC_SPAWN */
5216 {errno = EINVAL; return -1;}
5217 #endif /* ndef _SC_SPAWN */
5218 if (x == Mono_Posix_SysconfName__SC_SPIN_LOCKS)
5219 #ifdef _SC_SPIN_LOCKS
5220 {*r = _SC_SPIN_LOCKS; return 0;}
5221 #else /* def _SC_SPIN_LOCKS */
5222 {errno = EINVAL; return -1;}
5223 #endif /* ndef _SC_SPIN_LOCKS */
5224 if (x == Mono_Posix_SysconfName__SC_SPORADIC_SERVER)
5225 #ifdef _SC_SPORADIC_SERVER
5226 {*r = _SC_SPORADIC_SERVER; return 0;}
5227 #else /* def _SC_SPORADIC_SERVER */
5228 {errno = EINVAL; return -1;}
5229 #endif /* ndef _SC_SPORADIC_SERVER */
5230 if (x == Mono_Posix_SysconfName__SC_SSIZE_MAX)
5231 #ifdef _SC_SSIZE_MAX
5232 {*r = _SC_SSIZE_MAX; return 0;}
5233 #else /* def _SC_SSIZE_MAX */
5234 {errno = EINVAL; return -1;}
5235 #endif /* ndef _SC_SSIZE_MAX */
5236 if (x == Mono_Posix_SysconfName__SC_STREAMS)
5237 #ifdef _SC_STREAMS
5238 {*r = _SC_STREAMS; return 0;}
5239 #else /* def _SC_STREAMS */
5240 {errno = EINVAL; return -1;}
5241 #endif /* ndef _SC_STREAMS */
5242 if (x == Mono_Posix_SysconfName__SC_STREAM_MAX)
5243 #ifdef _SC_STREAM_MAX
5244 {*r = _SC_STREAM_MAX; return 0;}
5245 #else /* def _SC_STREAM_MAX */
5246 {errno = EINVAL; return -1;}
5247 #endif /* ndef _SC_STREAM_MAX */
5248 if (x == Mono_Posix_SysconfName__SC_SYMLOOP_MAX)
5249 #ifdef _SC_SYMLOOP_MAX
5250 {*r = _SC_SYMLOOP_MAX; return 0;}
5251 #else /* def _SC_SYMLOOP_MAX */
5252 {errno = EINVAL; return -1;}
5253 #endif /* ndef _SC_SYMLOOP_MAX */
5254 if (x == Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO)
5255 #ifdef _SC_SYNCHRONIZED_IO
5256 {*r = _SC_SYNCHRONIZED_IO; return 0;}
5257 #else /* def _SC_SYNCHRONIZED_IO */
5258 {errno = EINVAL; return -1;}
5259 #endif /* ndef _SC_SYNCHRONIZED_IO */
5260 if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE)
5261 #ifdef _SC_SYSTEM_DATABASE
5262 {*r = _SC_SYSTEM_DATABASE; return 0;}
5263 #else /* def _SC_SYSTEM_DATABASE */
5264 {errno = EINVAL; return -1;}
5265 #endif /* ndef _SC_SYSTEM_DATABASE */
5266 if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R)
5267 #ifdef _SC_SYSTEM_DATABASE_R
5268 {*r = _SC_SYSTEM_DATABASE_R; return 0;}
5269 #else /* def _SC_SYSTEM_DATABASE_R */
5270 {errno = EINVAL; return -1;}
5271 #endif /* ndef _SC_SYSTEM_DATABASE_R */
5272 if (x == Mono_Posix_SysconfName__SC_THREADS)
5273 #ifdef _SC_THREADS
5274 {*r = _SC_THREADS; return 0;}
5275 #else /* def _SC_THREADS */
5276 {errno = EINVAL; return -1;}
5277 #endif /* ndef _SC_THREADS */
5278 if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR)
5279 #ifdef _SC_THREAD_ATTR_STACKADDR
5280 {*r = _SC_THREAD_ATTR_STACKADDR; return 0;}
5281 #else /* def _SC_THREAD_ATTR_STACKADDR */
5282 {errno = EINVAL; return -1;}
5283 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
5284 if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE)
5285 #ifdef _SC_THREAD_ATTR_STACKSIZE
5286 {*r = _SC_THREAD_ATTR_STACKSIZE; return 0;}
5287 #else /* def _SC_THREAD_ATTR_STACKSIZE */
5288 {errno = EINVAL; return -1;}
5289 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
5290 if (x == Mono_Posix_SysconfName__SC_THREAD_CPUTIME)
5291 #ifdef _SC_THREAD_CPUTIME
5292 {*r = _SC_THREAD_CPUTIME; return 0;}
5293 #else /* def _SC_THREAD_CPUTIME */
5294 {errno = EINVAL; return -1;}
5295 #endif /* ndef _SC_THREAD_CPUTIME */
5296 if (x == Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS)
5297 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
5298 {*r = _SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
5299 #else /* def _SC_THREAD_DESTRUCTOR_ITERATIONS */
5300 {errno = EINVAL; return -1;}
5301 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
5302 if (x == Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX)
5303 #ifdef _SC_THREAD_KEYS_MAX
5304 {*r = _SC_THREAD_KEYS_MAX; return 0;}
5305 #else /* def _SC_THREAD_KEYS_MAX */
5306 {errno = EINVAL; return -1;}
5307 #endif /* ndef _SC_THREAD_KEYS_MAX */
5308 if (x == Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING)
5309 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
5310 {*r = _SC_THREAD_PRIORITY_SCHEDULING; return 0;}
5311 #else /* def _SC_THREAD_PRIORITY_SCHEDULING */
5312 {errno = EINVAL; return -1;}
5313 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
5314 if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT)
5315 #ifdef _SC_THREAD_PRIO_INHERIT
5316 {*r = _SC_THREAD_PRIO_INHERIT; return 0;}
5317 #else /* def _SC_THREAD_PRIO_INHERIT */
5318 {errno = EINVAL; return -1;}
5319 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
5320 if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT)
5321 #ifdef _SC_THREAD_PRIO_PROTECT
5322 {*r = _SC_THREAD_PRIO_PROTECT; return 0;}
5323 #else /* def _SC_THREAD_PRIO_PROTECT */
5324 {errno = EINVAL; return -1;}
5325 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
5326 if (x == Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED)
5327 #ifdef _SC_THREAD_PROCESS_SHARED
5328 {*r = _SC_THREAD_PROCESS_SHARED; return 0;}
5329 #else /* def _SC_THREAD_PROCESS_SHARED */
5330 {errno = EINVAL; return -1;}
5331 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
5332 if (x == Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS)
5333 #ifdef _SC_THREAD_SAFE_FUNCTIONS
5334 {*r = _SC_THREAD_SAFE_FUNCTIONS; return 0;}
5335 #else /* def _SC_THREAD_SAFE_FUNCTIONS */
5336 {errno = EINVAL; return -1;}
5337 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
5338 if (x == Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER)
5339 #ifdef _SC_THREAD_SPORADIC_SERVER
5340 {*r = _SC_THREAD_SPORADIC_SERVER; return 0;}
5341 #else /* def _SC_THREAD_SPORADIC_SERVER */
5342 {errno = EINVAL; return -1;}
5343 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
5344 if (x == Mono_Posix_SysconfName__SC_THREAD_STACK_MIN)
5345 #ifdef _SC_THREAD_STACK_MIN
5346 {*r = _SC_THREAD_STACK_MIN; return 0;}
5347 #else /* def _SC_THREAD_STACK_MIN */
5348 {errno = EINVAL; return -1;}
5349 #endif /* ndef _SC_THREAD_STACK_MIN */
5350 if (x == Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX)
5351 #ifdef _SC_THREAD_THREADS_MAX
5352 {*r = _SC_THREAD_THREADS_MAX; return 0;}
5353 #else /* def _SC_THREAD_THREADS_MAX */
5354 {errno = EINVAL; return -1;}
5355 #endif /* ndef _SC_THREAD_THREADS_MAX */
5356 if (x == Mono_Posix_SysconfName__SC_TIMEOUTS)
5357 #ifdef _SC_TIMEOUTS
5358 {*r = _SC_TIMEOUTS; return 0;}
5359 #else /* def _SC_TIMEOUTS */
5360 {errno = EINVAL; return -1;}
5361 #endif /* ndef _SC_TIMEOUTS */
5362 if (x == Mono_Posix_SysconfName__SC_TIMERS)
5363 #ifdef _SC_TIMERS
5364 {*r = _SC_TIMERS; return 0;}
5365 #else /* def _SC_TIMERS */
5366 {errno = EINVAL; return -1;}
5367 #endif /* ndef _SC_TIMERS */
5368 if (x == Mono_Posix_SysconfName__SC_TIMER_MAX)
5369 #ifdef _SC_TIMER_MAX
5370 {*r = _SC_TIMER_MAX; return 0;}
5371 #else /* def _SC_TIMER_MAX */
5372 {errno = EINVAL; return -1;}
5373 #endif /* ndef _SC_TIMER_MAX */
5374 if (x == Mono_Posix_SysconfName__SC_TRACE)
5375 #ifdef _SC_TRACE
5376 {*r = _SC_TRACE; return 0;}
5377 #else /* def _SC_TRACE */
5378 {errno = EINVAL; return -1;}
5379 #endif /* ndef _SC_TRACE */
5380 if (x == Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER)
5381 #ifdef _SC_TRACE_EVENT_FILTER
5382 {*r = _SC_TRACE_EVENT_FILTER; return 0;}
5383 #else /* def _SC_TRACE_EVENT_FILTER */
5384 {errno = EINVAL; return -1;}
5385 #endif /* ndef _SC_TRACE_EVENT_FILTER */
5386 if (x == Mono_Posix_SysconfName__SC_TRACE_INHERIT)
5387 #ifdef _SC_TRACE_INHERIT
5388 {*r = _SC_TRACE_INHERIT; return 0;}
5389 #else /* def _SC_TRACE_INHERIT */
5390 {errno = EINVAL; return -1;}
5391 #endif /* ndef _SC_TRACE_INHERIT */
5392 if (x == Mono_Posix_SysconfName__SC_TRACE_LOG)
5393 #ifdef _SC_TRACE_LOG
5394 {*r = _SC_TRACE_LOG; return 0;}
5395 #else /* def _SC_TRACE_LOG */
5396 {errno = EINVAL; return -1;}
5397 #endif /* ndef _SC_TRACE_LOG */
5398 if (x == Mono_Posix_SysconfName__SC_TTY_NAME_MAX)
5399 #ifdef _SC_TTY_NAME_MAX
5400 {*r = _SC_TTY_NAME_MAX; return 0;}
5401 #else /* def _SC_TTY_NAME_MAX */
5402 {errno = EINVAL; return -1;}
5403 #endif /* ndef _SC_TTY_NAME_MAX */
5404 if (x == Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS)
5405 #ifdef _SC_TYPED_MEMORY_OBJECTS
5406 {*r = _SC_TYPED_MEMORY_OBJECTS; return 0;}
5407 #else /* def _SC_TYPED_MEMORY_OBJECTS */
5408 {errno = EINVAL; return -1;}
5409 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
5410 if (x == Mono_Posix_SysconfName__SC_TZNAME_MAX)
5411 #ifdef _SC_TZNAME_MAX
5412 {*r = _SC_TZNAME_MAX; return 0;}
5413 #else /* def _SC_TZNAME_MAX */
5414 {errno = EINVAL; return -1;}
5415 #endif /* ndef _SC_TZNAME_MAX */
5416 if (x == Mono_Posix_SysconfName__SC_T_IOV_MAX)
5417 #ifdef _SC_T_IOV_MAX
5418 {*r = _SC_T_IOV_MAX; return 0;}
5419 #else /* def _SC_T_IOV_MAX */
5420 {errno = EINVAL; return -1;}
5421 #endif /* ndef _SC_T_IOV_MAX */
5422 if (x == Mono_Posix_SysconfName__SC_UCHAR_MAX)
5423 #ifdef _SC_UCHAR_MAX
5424 {*r = _SC_UCHAR_MAX; return 0;}
5425 #else /* def _SC_UCHAR_MAX */
5426 {errno = EINVAL; return -1;}
5427 #endif /* ndef _SC_UCHAR_MAX */
5428 if (x == Mono_Posix_SysconfName__SC_UINT_MAX)
5429 #ifdef _SC_UINT_MAX
5430 {*r = _SC_UINT_MAX; return 0;}
5431 #else /* def _SC_UINT_MAX */
5432 {errno = EINVAL; return -1;}
5433 #endif /* ndef _SC_UINT_MAX */
5434 if (x == Mono_Posix_SysconfName__SC_UIO_MAXIOV)
5435 #ifdef _SC_UIO_MAXIOV
5436 {*r = _SC_UIO_MAXIOV; return 0;}
5437 #else /* def _SC_UIO_MAXIOV */
5438 {errno = EINVAL; return -1;}
5439 #endif /* ndef _SC_UIO_MAXIOV */
5440 if (x == Mono_Posix_SysconfName__SC_ULONG_MAX)
5441 #ifdef _SC_ULONG_MAX
5442 {*r = _SC_ULONG_MAX; return 0;}
5443 #else /* def _SC_ULONG_MAX */
5444 {errno = EINVAL; return -1;}
5445 #endif /* ndef _SC_ULONG_MAX */
5446 if (x == Mono_Posix_SysconfName__SC_USER_GROUPS)
5447 #ifdef _SC_USER_GROUPS
5448 {*r = _SC_USER_GROUPS; return 0;}
5449 #else /* def _SC_USER_GROUPS */
5450 {errno = EINVAL; return -1;}
5451 #endif /* ndef _SC_USER_GROUPS */
5452 if (x == Mono_Posix_SysconfName__SC_USER_GROUPS_R)
5453 #ifdef _SC_USER_GROUPS_R
5454 {*r = _SC_USER_GROUPS_R; return 0;}
5455 #else /* def _SC_USER_GROUPS_R */
5456 {errno = EINVAL; return -1;}
5457 #endif /* ndef _SC_USER_GROUPS_R */
5458 if (x == Mono_Posix_SysconfName__SC_USHRT_MAX)
5459 #ifdef _SC_USHRT_MAX
5460 {*r = _SC_USHRT_MAX; return 0;}
5461 #else /* def _SC_USHRT_MAX */
5462 {errno = EINVAL; return -1;}
5463 #endif /* ndef _SC_USHRT_MAX */
5464 if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFF32)
5465 #ifdef _SC_V6_ILP32_OFF32
5466 {*r = _SC_V6_ILP32_OFF32; return 0;}
5467 #else /* def _SC_V6_ILP32_OFF32 */
5468 {errno = EINVAL; return -1;}
5469 #endif /* ndef _SC_V6_ILP32_OFF32 */
5470 if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG)
5471 #ifdef _SC_V6_ILP32_OFFBIG
5472 {*r = _SC_V6_ILP32_OFFBIG; return 0;}
5473 #else /* def _SC_V6_ILP32_OFFBIG */
5474 {errno = EINVAL; return -1;}
5475 #endif /* ndef _SC_V6_ILP32_OFFBIG */
5476 if (x == Mono_Posix_SysconfName__SC_V6_LP64_OFF64)
5477 #ifdef _SC_V6_LP64_OFF64
5478 {*r = _SC_V6_LP64_OFF64; return 0;}
5479 #else /* def _SC_V6_LP64_OFF64 */
5480 {errno = EINVAL; return -1;}
5481 #endif /* ndef _SC_V6_LP64_OFF64 */
5482 if (x == Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG)
5483 #ifdef _SC_V6_LPBIG_OFFBIG
5484 {*r = _SC_V6_LPBIG_OFFBIG; return 0;}
5485 #else /* def _SC_V6_LPBIG_OFFBIG */
5486 {errno = EINVAL; return -1;}
5487 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
5488 if (x == Mono_Posix_SysconfName__SC_VERSION)
5489 #ifdef _SC_VERSION
5490 {*r = _SC_VERSION; return 0;}
5491 #else /* def _SC_VERSION */
5492 {errno = EINVAL; return -1;}
5493 #endif /* ndef _SC_VERSION */
5494 if (x == Mono_Posix_SysconfName__SC_WORD_BIT)
5495 #ifdef _SC_WORD_BIT
5496 {*r = _SC_WORD_BIT; return 0;}
5497 #else /* def _SC_WORD_BIT */
5498 {errno = EINVAL; return -1;}
5499 #endif /* ndef _SC_WORD_BIT */
5500 if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32)
5501 #ifdef _SC_XBS5_ILP32_OFF32
5502 {*r = _SC_XBS5_ILP32_OFF32; return 0;}
5503 #else /* def _SC_XBS5_ILP32_OFF32 */
5504 {errno = EINVAL; return -1;}
5505 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
5506 if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG)
5507 #ifdef _SC_XBS5_ILP32_OFFBIG
5508 {*r = _SC_XBS5_ILP32_OFFBIG; return 0;}
5509 #else /* def _SC_XBS5_ILP32_OFFBIG */
5510 {errno = EINVAL; return -1;}
5511 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
5512 if (x == Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64)
5513 #ifdef _SC_XBS5_LP64_OFF64
5514 {*r = _SC_XBS5_LP64_OFF64; return 0;}
5515 #else /* def _SC_XBS5_LP64_OFF64 */
5516 {errno = EINVAL; return -1;}
5517 #endif /* ndef _SC_XBS5_LP64_OFF64 */
5518 if (x == Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG)
5519 #ifdef _SC_XBS5_LPBIG_OFFBIG
5520 {*r = _SC_XBS5_LPBIG_OFFBIG; return 0;}
5521 #else /* def _SC_XBS5_LPBIG_OFFBIG */
5522 {errno = EINVAL; return -1;}
5523 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
5524 if (x == Mono_Posix_SysconfName__SC_XOPEN_CRYPT)
5525 #ifdef _SC_XOPEN_CRYPT
5526 {*r = _SC_XOPEN_CRYPT; return 0;}
5527 #else /* def _SC_XOPEN_CRYPT */
5528 {errno = EINVAL; return -1;}
5529 #endif /* ndef _SC_XOPEN_CRYPT */
5530 if (x == Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N)
5531 #ifdef _SC_XOPEN_ENH_I18N
5532 {*r = _SC_XOPEN_ENH_I18N; return 0;}
5533 #else /* def _SC_XOPEN_ENH_I18N */
5534 {errno = EINVAL; return -1;}
5535 #endif /* ndef _SC_XOPEN_ENH_I18N */
5536 if (x == Mono_Posix_SysconfName__SC_XOPEN_LEGACY)
5537 #ifdef _SC_XOPEN_LEGACY
5538 {*r = _SC_XOPEN_LEGACY; return 0;}
5539 #else /* def _SC_XOPEN_LEGACY */
5540 {errno = EINVAL; return -1;}
5541 #endif /* ndef _SC_XOPEN_LEGACY */
5542 if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME)
5543 #ifdef _SC_XOPEN_REALTIME
5544 {*r = _SC_XOPEN_REALTIME; return 0;}
5545 #else /* def _SC_XOPEN_REALTIME */
5546 {errno = EINVAL; return -1;}
5547 #endif /* ndef _SC_XOPEN_REALTIME */
5548 if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS)
5549 #ifdef _SC_XOPEN_REALTIME_THREADS
5550 {*r = _SC_XOPEN_REALTIME_THREADS; return 0;}
5551 #else /* def _SC_XOPEN_REALTIME_THREADS */
5552 {errno = EINVAL; return -1;}
5553 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
5554 if (x == Mono_Posix_SysconfName__SC_XOPEN_SHM)
5555 #ifdef _SC_XOPEN_SHM
5556 {*r = _SC_XOPEN_SHM; return 0;}
5557 #else /* def _SC_XOPEN_SHM */
5558 {errno = EINVAL; return -1;}
5559 #endif /* ndef _SC_XOPEN_SHM */
5560 if (x == Mono_Posix_SysconfName__SC_XOPEN_UNIX)
5561 #ifdef _SC_XOPEN_UNIX
5562 {*r = _SC_XOPEN_UNIX; return 0;}
5563 #else /* def _SC_XOPEN_UNIX */
5564 {errno = EINVAL; return -1;}
5565 #endif /* ndef _SC_XOPEN_UNIX */
5566 if (x == Mono_Posix_SysconfName__SC_XOPEN_VERSION)
5567 #ifdef _SC_XOPEN_VERSION
5568 {*r = _SC_XOPEN_VERSION; return 0;}
5569 #else /* def _SC_XOPEN_VERSION */
5570 {errno = EINVAL; return -1;}
5571 #endif /* ndef _SC_XOPEN_VERSION */
5572 if (x == Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION)
5573 #ifdef _SC_XOPEN_XCU_VERSION
5574 {*r = _SC_XOPEN_XCU_VERSION; return 0;}
5575 #else /* def _SC_XOPEN_XCU_VERSION */
5576 {errno = EINVAL; return -1;}
5577 #endif /* ndef _SC_XOPEN_XCU_VERSION */
5578 if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG2)
5579 #ifdef _SC_XOPEN_XPG2
5580 {*r = _SC_XOPEN_XPG2; return 0;}
5581 #else /* def _SC_XOPEN_XPG2 */
5582 {errno = EINVAL; return -1;}
5583 #endif /* ndef _SC_XOPEN_XPG2 */
5584 if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG3)
5585 #ifdef _SC_XOPEN_XPG3
5586 {*r = _SC_XOPEN_XPG3; return 0;}
5587 #else /* def _SC_XOPEN_XPG3 */
5588 {errno = EINVAL; return -1;}
5589 #endif /* ndef _SC_XOPEN_XPG3 */
5590 if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG4)
5591 #ifdef _SC_XOPEN_XPG4
5592 {*r = _SC_XOPEN_XPG4; return 0;}
5593 #else /* def _SC_XOPEN_XPG4 */
5594 {errno = EINVAL; return -1;}
5595 #endif /* ndef _SC_XOPEN_XPG4 */
5596 if (x == 0)
5597 return 0;
5598 errno = EINVAL; return -1;
5601 int Mono_Posix_ToSysconfName (int x, int *r)
5603 *r = 0;
5604 if (x == 0)
5605 return 0;
5606 #ifdef _SC_2_CHAR_TERM
5607 if (x == _SC_2_CHAR_TERM)
5608 {*r = Mono_Posix_SysconfName__SC_2_CHAR_TERM; return 0;}
5609 #endif /* ndef _SC_2_CHAR_TERM */
5610 #ifdef _SC_2_C_BIND
5611 if (x == _SC_2_C_BIND)
5612 {*r = Mono_Posix_SysconfName__SC_2_C_BIND; return 0;}
5613 #endif /* ndef _SC_2_C_BIND */
5614 #ifdef _SC_2_C_DEV
5615 if (x == _SC_2_C_DEV)
5616 {*r = Mono_Posix_SysconfName__SC_2_C_DEV; return 0;}
5617 #endif /* ndef _SC_2_C_DEV */
5618 #ifdef _SC_2_C_VERSION
5619 if (x == _SC_2_C_VERSION)
5620 {*r = Mono_Posix_SysconfName__SC_2_C_VERSION; return 0;}
5621 #endif /* ndef _SC_2_C_VERSION */
5622 #ifdef _SC_2_FORT_DEV
5623 if (x == _SC_2_FORT_DEV)
5624 {*r = Mono_Posix_SysconfName__SC_2_FORT_DEV; return 0;}
5625 #endif /* ndef _SC_2_FORT_DEV */
5626 #ifdef _SC_2_FORT_RUN
5627 if (x == _SC_2_FORT_RUN)
5628 {*r = Mono_Posix_SysconfName__SC_2_FORT_RUN; return 0;}
5629 #endif /* ndef _SC_2_FORT_RUN */
5630 #ifdef _SC_2_LOCALEDEF
5631 if (x == _SC_2_LOCALEDEF)
5632 {*r = Mono_Posix_SysconfName__SC_2_LOCALEDEF; return 0;}
5633 #endif /* ndef _SC_2_LOCALEDEF */
5634 #ifdef _SC_2_PBS
5635 if (x == _SC_2_PBS)
5636 {*r = Mono_Posix_SysconfName__SC_2_PBS; return 0;}
5637 #endif /* ndef _SC_2_PBS */
5638 #ifdef _SC_2_PBS_ACCOUNTING
5639 if (x == _SC_2_PBS_ACCOUNTING)
5640 {*r = Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING; return 0;}
5641 #endif /* ndef _SC_2_PBS_ACCOUNTING */
5642 #ifdef _SC_2_PBS_CHECKPOINT
5643 if (x == _SC_2_PBS_CHECKPOINT)
5644 {*r = Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT; return 0;}
5645 #endif /* ndef _SC_2_PBS_CHECKPOINT */
5646 #ifdef _SC_2_PBS_LOCATE
5647 if (x == _SC_2_PBS_LOCATE)
5648 {*r = Mono_Posix_SysconfName__SC_2_PBS_LOCATE; return 0;}
5649 #endif /* ndef _SC_2_PBS_LOCATE */
5650 #ifdef _SC_2_PBS_MESSAGE
5651 if (x == _SC_2_PBS_MESSAGE)
5652 {*r = Mono_Posix_SysconfName__SC_2_PBS_MESSAGE; return 0;}
5653 #endif /* ndef _SC_2_PBS_MESSAGE */
5654 #ifdef _SC_2_PBS_TRACK
5655 if (x == _SC_2_PBS_TRACK)
5656 {*r = Mono_Posix_SysconfName__SC_2_PBS_TRACK; return 0;}
5657 #endif /* ndef _SC_2_PBS_TRACK */
5658 #ifdef _SC_2_SW_DEV
5659 if (x == _SC_2_SW_DEV)
5660 {*r = Mono_Posix_SysconfName__SC_2_SW_DEV; return 0;}
5661 #endif /* ndef _SC_2_SW_DEV */
5662 #ifdef _SC_2_UPE
5663 if (x == _SC_2_UPE)
5664 {*r = Mono_Posix_SysconfName__SC_2_UPE; return 0;}
5665 #endif /* ndef _SC_2_UPE */
5666 #ifdef _SC_2_VERSION
5667 if (x == _SC_2_VERSION)
5668 {*r = Mono_Posix_SysconfName__SC_2_VERSION; return 0;}
5669 #endif /* ndef _SC_2_VERSION */
5670 #ifdef _SC_ADVISORY_INFO
5671 if (x == _SC_ADVISORY_INFO)
5672 {*r = Mono_Posix_SysconfName__SC_ADVISORY_INFO; return 0;}
5673 #endif /* ndef _SC_ADVISORY_INFO */
5674 #ifdef _SC_AIO_LISTIO_MAX
5675 if (x == _SC_AIO_LISTIO_MAX)
5676 {*r = Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX; return 0;}
5677 #endif /* ndef _SC_AIO_LISTIO_MAX */
5678 #ifdef _SC_AIO_MAX
5679 if (x == _SC_AIO_MAX)
5680 {*r = Mono_Posix_SysconfName__SC_AIO_MAX; return 0;}
5681 #endif /* ndef _SC_AIO_MAX */
5682 #ifdef _SC_AIO_PRIO_DELTA_MAX
5683 if (x == _SC_AIO_PRIO_DELTA_MAX)
5684 {*r = Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX; return 0;}
5685 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
5686 #ifdef _SC_ARG_MAX
5687 if (x == _SC_ARG_MAX)
5688 {*r = Mono_Posix_SysconfName__SC_ARG_MAX; return 0;}
5689 #endif /* ndef _SC_ARG_MAX */
5690 #ifdef _SC_ASYNCHRONOUS_IO
5691 if (x == _SC_ASYNCHRONOUS_IO)
5692 {*r = Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO; return 0;}
5693 #endif /* ndef _SC_ASYNCHRONOUS_IO */
5694 #ifdef _SC_ATEXIT_MAX
5695 if (x == _SC_ATEXIT_MAX)
5696 {*r = Mono_Posix_SysconfName__SC_ATEXIT_MAX; return 0;}
5697 #endif /* ndef _SC_ATEXIT_MAX */
5698 #ifdef _SC_AVPHYS_PAGES
5699 if (x == _SC_AVPHYS_PAGES)
5700 {*r = Mono_Posix_SysconfName__SC_AVPHYS_PAGES; return 0;}
5701 #endif /* ndef _SC_AVPHYS_PAGES */
5702 #ifdef _SC_BARRIERS
5703 if (x == _SC_BARRIERS)
5704 {*r = Mono_Posix_SysconfName__SC_BARRIERS; return 0;}
5705 #endif /* ndef _SC_BARRIERS */
5706 #ifdef _SC_BASE
5707 if (x == _SC_BASE)
5708 {*r = Mono_Posix_SysconfName__SC_BASE; return 0;}
5709 #endif /* ndef _SC_BASE */
5710 #ifdef _SC_BC_BASE_MAX
5711 if (x == _SC_BC_BASE_MAX)
5712 {*r = Mono_Posix_SysconfName__SC_BC_BASE_MAX; return 0;}
5713 #endif /* ndef _SC_BC_BASE_MAX */
5714 #ifdef _SC_BC_DIM_MAX
5715 if (x == _SC_BC_DIM_MAX)
5716 {*r = Mono_Posix_SysconfName__SC_BC_DIM_MAX; return 0;}
5717 #endif /* ndef _SC_BC_DIM_MAX */
5718 #ifdef _SC_BC_SCALE_MAX
5719 if (x == _SC_BC_SCALE_MAX)
5720 {*r = Mono_Posix_SysconfName__SC_BC_SCALE_MAX; return 0;}
5721 #endif /* ndef _SC_BC_SCALE_MAX */
5722 #ifdef _SC_BC_STRING_MAX
5723 if (x == _SC_BC_STRING_MAX)
5724 {*r = Mono_Posix_SysconfName__SC_BC_STRING_MAX; return 0;}
5725 #endif /* ndef _SC_BC_STRING_MAX */
5726 #ifdef _SC_CHARCLASS_NAME_MAX
5727 if (x == _SC_CHARCLASS_NAME_MAX)
5728 {*r = Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX; return 0;}
5729 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
5730 #ifdef _SC_CHAR_BIT
5731 if (x == _SC_CHAR_BIT)
5732 {*r = Mono_Posix_SysconfName__SC_CHAR_BIT; return 0;}
5733 #endif /* ndef _SC_CHAR_BIT */
5734 #ifdef _SC_CHAR_MAX
5735 if (x == _SC_CHAR_MAX)
5736 {*r = Mono_Posix_SysconfName__SC_CHAR_MAX; return 0;}
5737 #endif /* ndef _SC_CHAR_MAX */
5738 #ifdef _SC_CHAR_MIN
5739 if (x == _SC_CHAR_MIN)
5740 {*r = Mono_Posix_SysconfName__SC_CHAR_MIN; return 0;}
5741 #endif /* ndef _SC_CHAR_MIN */
5742 #ifdef _SC_CHILD_MAX
5743 if (x == _SC_CHILD_MAX)
5744 {*r = Mono_Posix_SysconfName__SC_CHILD_MAX; return 0;}
5745 #endif /* ndef _SC_CHILD_MAX */
5746 #ifdef _SC_CLK_TCK
5747 if (x == _SC_CLK_TCK)
5748 {*r = Mono_Posix_SysconfName__SC_CLK_TCK; return 0;}
5749 #endif /* ndef _SC_CLK_TCK */
5750 #ifdef _SC_CLOCK_SELECTION
5751 if (x == _SC_CLOCK_SELECTION)
5752 {*r = Mono_Posix_SysconfName__SC_CLOCK_SELECTION; return 0;}
5753 #endif /* ndef _SC_CLOCK_SELECTION */
5754 #ifdef _SC_COLL_WEIGHTS_MAX
5755 if (x == _SC_COLL_WEIGHTS_MAX)
5756 {*r = Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX; return 0;}
5757 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
5758 #ifdef _SC_CPUTIME
5759 if (x == _SC_CPUTIME)
5760 {*r = Mono_Posix_SysconfName__SC_CPUTIME; return 0;}
5761 #endif /* ndef _SC_CPUTIME */
5762 #ifdef _SC_C_LANG_SUPPORT
5763 if (x == _SC_C_LANG_SUPPORT)
5764 {*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT; return 0;}
5765 #endif /* ndef _SC_C_LANG_SUPPORT */
5766 #ifdef _SC_C_LANG_SUPPORT_R
5767 if (x == _SC_C_LANG_SUPPORT_R)
5768 {*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R; return 0;}
5769 #endif /* ndef _SC_C_LANG_SUPPORT_R */
5770 #ifdef _SC_DELAYTIMER_MAX
5771 if (x == _SC_DELAYTIMER_MAX)
5772 {*r = Mono_Posix_SysconfName__SC_DELAYTIMER_MAX; return 0;}
5773 #endif /* ndef _SC_DELAYTIMER_MAX */
5774 #ifdef _SC_DEVICE_IO
5775 if (x == _SC_DEVICE_IO)
5776 {*r = Mono_Posix_SysconfName__SC_DEVICE_IO; return 0;}
5777 #endif /* ndef _SC_DEVICE_IO */
5778 #ifdef _SC_DEVICE_SPECIFIC
5779 if (x == _SC_DEVICE_SPECIFIC)
5780 {*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC; return 0;}
5781 #endif /* ndef _SC_DEVICE_SPECIFIC */
5782 #ifdef _SC_DEVICE_SPECIFIC_R
5783 if (x == _SC_DEVICE_SPECIFIC_R)
5784 {*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R; return 0;}
5785 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
5786 #ifdef _SC_EQUIV_CLASS_MAX
5787 if (x == _SC_EQUIV_CLASS_MAX)
5788 {*r = Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX; return 0;}
5789 #endif /* ndef _SC_EQUIV_CLASS_MAX */
5790 #ifdef _SC_EXPR_NEST_MAX
5791 if (x == _SC_EXPR_NEST_MAX)
5792 {*r = Mono_Posix_SysconfName__SC_EXPR_NEST_MAX; return 0;}
5793 #endif /* ndef _SC_EXPR_NEST_MAX */
5794 #ifdef _SC_FD_MGMT
5795 if (x == _SC_FD_MGMT)
5796 {*r = Mono_Posix_SysconfName__SC_FD_MGMT; return 0;}
5797 #endif /* ndef _SC_FD_MGMT */
5798 #ifdef _SC_FIFO
5799 if (x == _SC_FIFO)
5800 {*r = Mono_Posix_SysconfName__SC_FIFO; return 0;}
5801 #endif /* ndef _SC_FIFO */
5802 #ifdef _SC_FILE_ATTRIBUTES
5803 if (x == _SC_FILE_ATTRIBUTES)
5804 {*r = Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES; return 0;}
5805 #endif /* ndef _SC_FILE_ATTRIBUTES */
5806 #ifdef _SC_FILE_LOCKING
5807 if (x == _SC_FILE_LOCKING)
5808 {*r = Mono_Posix_SysconfName__SC_FILE_LOCKING; return 0;}
5809 #endif /* ndef _SC_FILE_LOCKING */
5810 #ifdef _SC_FILE_SYSTEM
5811 if (x == _SC_FILE_SYSTEM)
5812 {*r = Mono_Posix_SysconfName__SC_FILE_SYSTEM; return 0;}
5813 #endif /* ndef _SC_FILE_SYSTEM */
5814 #ifdef _SC_FSYNC
5815 if (x == _SC_FSYNC)
5816 {*r = Mono_Posix_SysconfName__SC_FSYNC; return 0;}
5817 #endif /* ndef _SC_FSYNC */
5818 #ifdef _SC_GETGR_R_SIZE_MAX
5819 if (x == _SC_GETGR_R_SIZE_MAX)
5820 {*r = Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX; return 0;}
5821 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
5822 #ifdef _SC_GETPW_R_SIZE_MAX
5823 if (x == _SC_GETPW_R_SIZE_MAX)
5824 {*r = Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX; return 0;}
5825 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
5826 #ifdef _SC_HOST_NAME_MAX
5827 if (x == _SC_HOST_NAME_MAX)
5828 {*r = Mono_Posix_SysconfName__SC_HOST_NAME_MAX; return 0;}
5829 #endif /* ndef _SC_HOST_NAME_MAX */
5830 #ifdef _SC_INT_MAX
5831 if (x == _SC_INT_MAX)
5832 {*r = Mono_Posix_SysconfName__SC_INT_MAX; return 0;}
5833 #endif /* ndef _SC_INT_MAX */
5834 #ifdef _SC_INT_MIN
5835 if (x == _SC_INT_MIN)
5836 {*r = Mono_Posix_SysconfName__SC_INT_MIN; return 0;}
5837 #endif /* ndef _SC_INT_MIN */
5838 #ifdef _SC_IOV_MAX
5839 if (x == _SC_IOV_MAX)
5840 {*r = Mono_Posix_SysconfName__SC_IOV_MAX; return 0;}
5841 #endif /* ndef _SC_IOV_MAX */
5842 #ifdef _SC_JOB_CONTROL
5843 if (x == _SC_JOB_CONTROL)
5844 {*r = Mono_Posix_SysconfName__SC_JOB_CONTROL; return 0;}
5845 #endif /* ndef _SC_JOB_CONTROL */
5846 #ifdef _SC_LEVEL1_DCACHE_ASSOC
5847 if (x == _SC_LEVEL1_DCACHE_ASSOC)
5848 {*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC; return 0;}
5849 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
5850 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
5851 if (x == _SC_LEVEL1_DCACHE_LINESIZE)
5852 {*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE; return 0;}
5853 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
5854 #ifdef _SC_LEVEL1_DCACHE_SIZE
5855 if (x == _SC_LEVEL1_DCACHE_SIZE)
5856 {*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE; return 0;}
5857 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
5858 #ifdef _SC_LEVEL1_ICACHE_ASSOC
5859 if (x == _SC_LEVEL1_ICACHE_ASSOC)
5860 {*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC; return 0;}
5861 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
5862 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
5863 if (x == _SC_LEVEL1_ICACHE_LINESIZE)
5864 {*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE; return 0;}
5865 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
5866 #ifdef _SC_LEVEL1_ICACHE_SIZE
5867 if (x == _SC_LEVEL1_ICACHE_SIZE)
5868 {*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE; return 0;}
5869 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
5870 #ifdef _SC_LEVEL2_CACHE_ASSOC
5871 if (x == _SC_LEVEL2_CACHE_ASSOC)
5872 {*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC; return 0;}
5873 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
5874 #ifdef _SC_LEVEL2_CACHE_LINESIZE
5875 if (x == _SC_LEVEL2_CACHE_LINESIZE)
5876 {*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE; return 0;}
5877 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
5878 #ifdef _SC_LEVEL2_CACHE_SIZE
5879 if (x == _SC_LEVEL2_CACHE_SIZE)
5880 {*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE; return 0;}
5881 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
5882 #ifdef _SC_LEVEL3_CACHE_ASSOC
5883 if (x == _SC_LEVEL3_CACHE_ASSOC)
5884 {*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC; return 0;}
5885 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
5886 #ifdef _SC_LEVEL3_CACHE_LINESIZE
5887 if (x == _SC_LEVEL3_CACHE_LINESIZE)
5888 {*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE; return 0;}
5889 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
5890 #ifdef _SC_LEVEL3_CACHE_SIZE
5891 if (x == _SC_LEVEL3_CACHE_SIZE)
5892 {*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE; return 0;}
5893 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
5894 #ifdef _SC_LEVEL4_CACHE_ASSOC
5895 if (x == _SC_LEVEL4_CACHE_ASSOC)
5896 {*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC; return 0;}
5897 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
5898 #ifdef _SC_LEVEL4_CACHE_LINESIZE
5899 if (x == _SC_LEVEL4_CACHE_LINESIZE)
5900 {*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE; return 0;}
5901 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
5902 #ifdef _SC_LEVEL4_CACHE_SIZE
5903 if (x == _SC_LEVEL4_CACHE_SIZE)
5904 {*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE; return 0;}
5905 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
5906 #ifdef _SC_LINE_MAX
5907 if (x == _SC_LINE_MAX)
5908 {*r = Mono_Posix_SysconfName__SC_LINE_MAX; return 0;}
5909 #endif /* ndef _SC_LINE_MAX */
5910 #ifdef _SC_LOGIN_NAME_MAX
5911 if (x == _SC_LOGIN_NAME_MAX)
5912 {*r = Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX; return 0;}
5913 #endif /* ndef _SC_LOGIN_NAME_MAX */
5914 #ifdef _SC_LONG_BIT
5915 if (x == _SC_LONG_BIT)
5916 {*r = Mono_Posix_SysconfName__SC_LONG_BIT; return 0;}
5917 #endif /* ndef _SC_LONG_BIT */
5918 #ifdef _SC_MAPPED_FILES
5919 if (x == _SC_MAPPED_FILES)
5920 {*r = Mono_Posix_SysconfName__SC_MAPPED_FILES; return 0;}
5921 #endif /* ndef _SC_MAPPED_FILES */
5922 #ifdef _SC_MB_LEN_MAX
5923 if (x == _SC_MB_LEN_MAX)
5924 {*r = Mono_Posix_SysconfName__SC_MB_LEN_MAX; return 0;}
5925 #endif /* ndef _SC_MB_LEN_MAX */
5926 #ifdef _SC_MEMLOCK
5927 if (x == _SC_MEMLOCK)
5928 {*r = Mono_Posix_SysconfName__SC_MEMLOCK; return 0;}
5929 #endif /* ndef _SC_MEMLOCK */
5930 #ifdef _SC_MEMLOCK_RANGE
5931 if (x == _SC_MEMLOCK_RANGE)
5932 {*r = Mono_Posix_SysconfName__SC_MEMLOCK_RANGE; return 0;}
5933 #endif /* ndef _SC_MEMLOCK_RANGE */
5934 #ifdef _SC_MEMORY_PROTECTION
5935 if (x == _SC_MEMORY_PROTECTION)
5936 {*r = Mono_Posix_SysconfName__SC_MEMORY_PROTECTION; return 0;}
5937 #endif /* ndef _SC_MEMORY_PROTECTION */
5938 #ifdef _SC_MESSAGE_PASSING
5939 if (x == _SC_MESSAGE_PASSING)
5940 {*r = Mono_Posix_SysconfName__SC_MESSAGE_PASSING; return 0;}
5941 #endif /* ndef _SC_MESSAGE_PASSING */
5942 #ifdef _SC_MONOTONIC_CLOCK
5943 if (x == _SC_MONOTONIC_CLOCK)
5944 {*r = Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK; return 0;}
5945 #endif /* ndef _SC_MONOTONIC_CLOCK */
5946 #ifdef _SC_MQ_OPEN_MAX
5947 if (x == _SC_MQ_OPEN_MAX)
5948 {*r = Mono_Posix_SysconfName__SC_MQ_OPEN_MAX; return 0;}
5949 #endif /* ndef _SC_MQ_OPEN_MAX */
5950 #ifdef _SC_MQ_PRIO_MAX
5951 if (x == _SC_MQ_PRIO_MAX)
5952 {*r = Mono_Posix_SysconfName__SC_MQ_PRIO_MAX; return 0;}
5953 #endif /* ndef _SC_MQ_PRIO_MAX */
5954 #ifdef _SC_MULTI_PROCESS
5955 if (x == _SC_MULTI_PROCESS)
5956 {*r = Mono_Posix_SysconfName__SC_MULTI_PROCESS; return 0;}
5957 #endif /* ndef _SC_MULTI_PROCESS */
5958 #ifdef _SC_NETWORKING
5959 if (x == _SC_NETWORKING)
5960 {*r = Mono_Posix_SysconfName__SC_NETWORKING; return 0;}
5961 #endif /* ndef _SC_NETWORKING */
5962 #ifdef _SC_NGROUPS_MAX
5963 if (x == _SC_NGROUPS_MAX)
5964 {*r = Mono_Posix_SysconfName__SC_NGROUPS_MAX; return 0;}
5965 #endif /* ndef _SC_NGROUPS_MAX */
5966 #ifdef _SC_NL_ARGMAX
5967 if (x == _SC_NL_ARGMAX)
5968 {*r = Mono_Posix_SysconfName__SC_NL_ARGMAX; return 0;}
5969 #endif /* ndef _SC_NL_ARGMAX */
5970 #ifdef _SC_NL_LANGMAX
5971 if (x == _SC_NL_LANGMAX)
5972 {*r = Mono_Posix_SysconfName__SC_NL_LANGMAX; return 0;}
5973 #endif /* ndef _SC_NL_LANGMAX */
5974 #ifdef _SC_NL_MSGMAX
5975 if (x == _SC_NL_MSGMAX)
5976 {*r = Mono_Posix_SysconfName__SC_NL_MSGMAX; return 0;}
5977 #endif /* ndef _SC_NL_MSGMAX */
5978 #ifdef _SC_NL_NMAX
5979 if (x == _SC_NL_NMAX)
5980 {*r = Mono_Posix_SysconfName__SC_NL_NMAX; return 0;}
5981 #endif /* ndef _SC_NL_NMAX */
5982 #ifdef _SC_NL_SETMAX
5983 if (x == _SC_NL_SETMAX)
5984 {*r = Mono_Posix_SysconfName__SC_NL_SETMAX; return 0;}
5985 #endif /* ndef _SC_NL_SETMAX */
5986 #ifdef _SC_NL_TEXTMAX
5987 if (x == _SC_NL_TEXTMAX)
5988 {*r = Mono_Posix_SysconfName__SC_NL_TEXTMAX; return 0;}
5989 #endif /* ndef _SC_NL_TEXTMAX */
5990 #ifdef _SC_NPROCESSORS_CONF
5991 if (x == _SC_NPROCESSORS_CONF)
5992 {*r = Mono_Posix_SysconfName__SC_NPROCESSORS_CONF; return 0;}
5993 #endif /* ndef _SC_NPROCESSORS_CONF */
5994 #ifdef _SC_NPROCESSORS_ONLN
5995 if (x == _SC_NPROCESSORS_ONLN)
5996 {*r = Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN; return 0;}
5997 #endif /* ndef _SC_NPROCESSORS_ONLN */
5998 #ifdef _SC_NZERO
5999 if (x == _SC_NZERO)
6000 {*r = Mono_Posix_SysconfName__SC_NZERO; return 0;}
6001 #endif /* ndef _SC_NZERO */
6002 #ifdef _SC_OPEN_MAX
6003 if (x == _SC_OPEN_MAX)
6004 {*r = Mono_Posix_SysconfName__SC_OPEN_MAX; return 0;}
6005 #endif /* ndef _SC_OPEN_MAX */
6006 #ifdef _SC_PAGESIZE
6007 if (x == _SC_PAGESIZE)
6008 {*r = Mono_Posix_SysconfName__SC_PAGESIZE; return 0;}
6009 #endif /* ndef _SC_PAGESIZE */
6010 #ifdef _SC_PASS_MAX
6011 if (x == _SC_PASS_MAX)
6012 {*r = Mono_Posix_SysconfName__SC_PASS_MAX; return 0;}
6013 #endif /* ndef _SC_PASS_MAX */
6014 #ifdef _SC_PHYS_PAGES
6015 if (x == _SC_PHYS_PAGES)
6016 {*r = Mono_Posix_SysconfName__SC_PHYS_PAGES; return 0;}
6017 #endif /* ndef _SC_PHYS_PAGES */
6018 #ifdef _SC_PII
6019 if (x == _SC_PII)
6020 {*r = Mono_Posix_SysconfName__SC_PII; return 0;}
6021 #endif /* ndef _SC_PII */
6022 #ifdef _SC_PII_INTERNET
6023 if (x == _SC_PII_INTERNET)
6024 {*r = Mono_Posix_SysconfName__SC_PII_INTERNET; return 0;}
6025 #endif /* ndef _SC_PII_INTERNET */
6026 #ifdef _SC_PII_INTERNET_DGRAM
6027 if (x == _SC_PII_INTERNET_DGRAM)
6028 {*r = Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM; return 0;}
6029 #endif /* ndef _SC_PII_INTERNET_DGRAM */
6030 #ifdef _SC_PII_INTERNET_STREAM
6031 if (x == _SC_PII_INTERNET_STREAM)
6032 {*r = Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM; return 0;}
6033 #endif /* ndef _SC_PII_INTERNET_STREAM */
6034 #ifdef _SC_PII_OSI
6035 if (x == _SC_PII_OSI)
6036 {*r = Mono_Posix_SysconfName__SC_PII_OSI; return 0;}
6037 #endif /* ndef _SC_PII_OSI */
6038 #ifdef _SC_PII_OSI_CLTS
6039 if (x == _SC_PII_OSI_CLTS)
6040 {*r = Mono_Posix_SysconfName__SC_PII_OSI_CLTS; return 0;}
6041 #endif /* ndef _SC_PII_OSI_CLTS */
6042 #ifdef _SC_PII_OSI_COTS
6043 if (x == _SC_PII_OSI_COTS)
6044 {*r = Mono_Posix_SysconfName__SC_PII_OSI_COTS; return 0;}
6045 #endif /* ndef _SC_PII_OSI_COTS */
6046 #ifdef _SC_PII_OSI_M
6047 if (x == _SC_PII_OSI_M)
6048 {*r = Mono_Posix_SysconfName__SC_PII_OSI_M; return 0;}
6049 #endif /* ndef _SC_PII_OSI_M */
6050 #ifdef _SC_PII_SOCKET
6051 if (x == _SC_PII_SOCKET)
6052 {*r = Mono_Posix_SysconfName__SC_PII_SOCKET; return 0;}
6053 #endif /* ndef _SC_PII_SOCKET */
6054 #ifdef _SC_PII_XTI
6055 if (x == _SC_PII_XTI)
6056 {*r = Mono_Posix_SysconfName__SC_PII_XTI; return 0;}
6057 #endif /* ndef _SC_PII_XTI */
6058 #ifdef _SC_PIPE
6059 if (x == _SC_PIPE)
6060 {*r = Mono_Posix_SysconfName__SC_PIPE; return 0;}
6061 #endif /* ndef _SC_PIPE */
6062 #ifdef _SC_POLL
6063 if (x == _SC_POLL)
6064 {*r = Mono_Posix_SysconfName__SC_POLL; return 0;}
6065 #endif /* ndef _SC_POLL */
6066 #ifdef _SC_PRIORITIZED_IO
6067 if (x == _SC_PRIORITIZED_IO)
6068 {*r = Mono_Posix_SysconfName__SC_PRIORITIZED_IO; return 0;}
6069 #endif /* ndef _SC_PRIORITIZED_IO */
6070 #ifdef _SC_PRIORITY_SCHEDULING
6071 if (x == _SC_PRIORITY_SCHEDULING)
6072 {*r = Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING; return 0;}
6073 #endif /* ndef _SC_PRIORITY_SCHEDULING */
6074 #ifdef _SC_READER_WRITER_LOCKS
6075 if (x == _SC_READER_WRITER_LOCKS)
6076 {*r = Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS; return 0;}
6077 #endif /* ndef _SC_READER_WRITER_LOCKS */
6078 #ifdef _SC_REALTIME_SIGNALS
6079 if (x == _SC_REALTIME_SIGNALS)
6080 {*r = Mono_Posix_SysconfName__SC_REALTIME_SIGNALS; return 0;}
6081 #endif /* ndef _SC_REALTIME_SIGNALS */
6082 #ifdef _SC_REGEXP
6083 if (x == _SC_REGEXP)
6084 {*r = Mono_Posix_SysconfName__SC_REGEXP; return 0;}
6085 #endif /* ndef _SC_REGEXP */
6086 #ifdef _SC_REGEX_VERSION
6087 if (x == _SC_REGEX_VERSION)
6088 {*r = Mono_Posix_SysconfName__SC_REGEX_VERSION; return 0;}
6089 #endif /* ndef _SC_REGEX_VERSION */
6090 #ifdef _SC_RE_DUP_MAX
6091 if (x == _SC_RE_DUP_MAX)
6092 {*r = Mono_Posix_SysconfName__SC_RE_DUP_MAX; return 0;}
6093 #endif /* ndef _SC_RE_DUP_MAX */
6094 #ifdef _SC_RTSIG_MAX
6095 if (x == _SC_RTSIG_MAX)
6096 {*r = Mono_Posix_SysconfName__SC_RTSIG_MAX; return 0;}
6097 #endif /* ndef _SC_RTSIG_MAX */
6098 #ifdef _SC_SAVED_IDS
6099 if (x == _SC_SAVED_IDS)
6100 {*r = Mono_Posix_SysconfName__SC_SAVED_IDS; return 0;}
6101 #endif /* ndef _SC_SAVED_IDS */
6102 #ifdef _SC_SCHAR_MAX
6103 if (x == _SC_SCHAR_MAX)
6104 {*r = Mono_Posix_SysconfName__SC_SCHAR_MAX; return 0;}
6105 #endif /* ndef _SC_SCHAR_MAX */
6106 #ifdef _SC_SCHAR_MIN
6107 if (x == _SC_SCHAR_MIN)
6108 {*r = Mono_Posix_SysconfName__SC_SCHAR_MIN; return 0;}
6109 #endif /* ndef _SC_SCHAR_MIN */
6110 #ifdef _SC_SELECT
6111 if (x == _SC_SELECT)
6112 {*r = Mono_Posix_SysconfName__SC_SELECT; return 0;}
6113 #endif /* ndef _SC_SELECT */
6114 #ifdef _SC_SEMAPHORES
6115 if (x == _SC_SEMAPHORES)
6116 {*r = Mono_Posix_SysconfName__SC_SEMAPHORES; return 0;}
6117 #endif /* ndef _SC_SEMAPHORES */
6118 #ifdef _SC_SEM_NSEMS_MAX
6119 if (x == _SC_SEM_NSEMS_MAX)
6120 {*r = Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX; return 0;}
6121 #endif /* ndef _SC_SEM_NSEMS_MAX */
6122 #ifdef _SC_SEM_VALUE_MAX
6123 if (x == _SC_SEM_VALUE_MAX)
6124 {*r = Mono_Posix_SysconfName__SC_SEM_VALUE_MAX; return 0;}
6125 #endif /* ndef _SC_SEM_VALUE_MAX */
6126 #ifdef _SC_SHARED_MEMORY_OBJECTS
6127 if (x == _SC_SHARED_MEMORY_OBJECTS)
6128 {*r = Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS; return 0;}
6129 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
6130 #ifdef _SC_SHELL
6131 if (x == _SC_SHELL)
6132 {*r = Mono_Posix_SysconfName__SC_SHELL; return 0;}
6133 #endif /* ndef _SC_SHELL */
6134 #ifdef _SC_SHRT_MAX
6135 if (x == _SC_SHRT_MAX)
6136 {*r = Mono_Posix_SysconfName__SC_SHRT_MAX; return 0;}
6137 #endif /* ndef _SC_SHRT_MAX */
6138 #ifdef _SC_SHRT_MIN
6139 if (x == _SC_SHRT_MIN)
6140 {*r = Mono_Posix_SysconfName__SC_SHRT_MIN; return 0;}
6141 #endif /* ndef _SC_SHRT_MIN */
6142 #ifdef _SC_SIGNALS
6143 if (x == _SC_SIGNALS)
6144 {*r = Mono_Posix_SysconfName__SC_SIGNALS; return 0;}
6145 #endif /* ndef _SC_SIGNALS */
6146 #ifdef _SC_SIGQUEUE_MAX
6147 if (x == _SC_SIGQUEUE_MAX)
6148 {*r = Mono_Posix_SysconfName__SC_SIGQUEUE_MAX; return 0;}
6149 #endif /* ndef _SC_SIGQUEUE_MAX */
6150 #ifdef _SC_SINGLE_PROCESS
6151 if (x == _SC_SINGLE_PROCESS)
6152 {*r = Mono_Posix_SysconfName__SC_SINGLE_PROCESS; return 0;}
6153 #endif /* ndef _SC_SINGLE_PROCESS */
6154 #ifdef _SC_SPAWN
6155 if (x == _SC_SPAWN)
6156 {*r = Mono_Posix_SysconfName__SC_SPAWN; return 0;}
6157 #endif /* ndef _SC_SPAWN */
6158 #ifdef _SC_SPIN_LOCKS
6159 if (x == _SC_SPIN_LOCKS)
6160 {*r = Mono_Posix_SysconfName__SC_SPIN_LOCKS; return 0;}
6161 #endif /* ndef _SC_SPIN_LOCKS */
6162 #ifdef _SC_SPORADIC_SERVER
6163 if (x == _SC_SPORADIC_SERVER)
6164 {*r = Mono_Posix_SysconfName__SC_SPORADIC_SERVER; return 0;}
6165 #endif /* ndef _SC_SPORADIC_SERVER */
6166 #ifdef _SC_SSIZE_MAX
6167 if (x == _SC_SSIZE_MAX)
6168 {*r = Mono_Posix_SysconfName__SC_SSIZE_MAX; return 0;}
6169 #endif /* ndef _SC_SSIZE_MAX */
6170 #ifdef _SC_STREAMS
6171 if (x == _SC_STREAMS)
6172 {*r = Mono_Posix_SysconfName__SC_STREAMS; return 0;}
6173 #endif /* ndef _SC_STREAMS */
6174 #ifdef _SC_STREAM_MAX
6175 if (x == _SC_STREAM_MAX)
6176 {*r = Mono_Posix_SysconfName__SC_STREAM_MAX; return 0;}
6177 #endif /* ndef _SC_STREAM_MAX */
6178 #ifdef _SC_SYMLOOP_MAX
6179 if (x == _SC_SYMLOOP_MAX)
6180 {*r = Mono_Posix_SysconfName__SC_SYMLOOP_MAX; return 0;}
6181 #endif /* ndef _SC_SYMLOOP_MAX */
6182 #ifdef _SC_SYNCHRONIZED_IO
6183 if (x == _SC_SYNCHRONIZED_IO)
6184 {*r = Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO; return 0;}
6185 #endif /* ndef _SC_SYNCHRONIZED_IO */
6186 #ifdef _SC_SYSTEM_DATABASE
6187 if (x == _SC_SYSTEM_DATABASE)
6188 {*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE; return 0;}
6189 #endif /* ndef _SC_SYSTEM_DATABASE */
6190 #ifdef _SC_SYSTEM_DATABASE_R
6191 if (x == _SC_SYSTEM_DATABASE_R)
6192 {*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R; return 0;}
6193 #endif /* ndef _SC_SYSTEM_DATABASE_R */
6194 #ifdef _SC_THREADS
6195 if (x == _SC_THREADS)
6196 {*r = Mono_Posix_SysconfName__SC_THREADS; return 0;}
6197 #endif /* ndef _SC_THREADS */
6198 #ifdef _SC_THREAD_ATTR_STACKADDR
6199 if (x == _SC_THREAD_ATTR_STACKADDR)
6200 {*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR; return 0;}
6201 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
6202 #ifdef _SC_THREAD_ATTR_STACKSIZE
6203 if (x == _SC_THREAD_ATTR_STACKSIZE)
6204 {*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE; return 0;}
6205 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
6206 #ifdef _SC_THREAD_CPUTIME
6207 if (x == _SC_THREAD_CPUTIME)
6208 {*r = Mono_Posix_SysconfName__SC_THREAD_CPUTIME; return 0;}
6209 #endif /* ndef _SC_THREAD_CPUTIME */
6210 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
6211 if (x == _SC_THREAD_DESTRUCTOR_ITERATIONS)
6212 {*r = Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
6213 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
6214 #ifdef _SC_THREAD_KEYS_MAX
6215 if (x == _SC_THREAD_KEYS_MAX)
6216 {*r = Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX; return 0;}
6217 #endif /* ndef _SC_THREAD_KEYS_MAX */
6218 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
6219 if (x == _SC_THREAD_PRIORITY_SCHEDULING)
6220 {*r = Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING; return 0;}
6221 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
6222 #ifdef _SC_THREAD_PRIO_INHERIT
6223 if (x == _SC_THREAD_PRIO_INHERIT)
6224 {*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT; return 0;}
6225 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
6226 #ifdef _SC_THREAD_PRIO_PROTECT
6227 if (x == _SC_THREAD_PRIO_PROTECT)
6228 {*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT; return 0;}
6229 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
6230 #ifdef _SC_THREAD_PROCESS_SHARED
6231 if (x == _SC_THREAD_PROCESS_SHARED)
6232 {*r = Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED; return 0;}
6233 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
6234 #ifdef _SC_THREAD_SAFE_FUNCTIONS
6235 if (x == _SC_THREAD_SAFE_FUNCTIONS)
6236 {*r = Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS; return 0;}
6237 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
6238 #ifdef _SC_THREAD_SPORADIC_SERVER
6239 if (x == _SC_THREAD_SPORADIC_SERVER)
6240 {*r = Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER; return 0;}
6241 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
6242 #ifdef _SC_THREAD_STACK_MIN
6243 if (x == _SC_THREAD_STACK_MIN)
6244 {*r = Mono_Posix_SysconfName__SC_THREAD_STACK_MIN; return 0;}
6245 #endif /* ndef _SC_THREAD_STACK_MIN */
6246 #ifdef _SC_THREAD_THREADS_MAX
6247 if (x == _SC_THREAD_THREADS_MAX)
6248 {*r = Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX; return 0;}
6249 #endif /* ndef _SC_THREAD_THREADS_MAX */
6250 #ifdef _SC_TIMEOUTS
6251 if (x == _SC_TIMEOUTS)
6252 {*r = Mono_Posix_SysconfName__SC_TIMEOUTS; return 0;}
6253 #endif /* ndef _SC_TIMEOUTS */
6254 #ifdef _SC_TIMERS
6255 if (x == _SC_TIMERS)
6256 {*r = Mono_Posix_SysconfName__SC_TIMERS; return 0;}
6257 #endif /* ndef _SC_TIMERS */
6258 #ifdef _SC_TIMER_MAX
6259 if (x == _SC_TIMER_MAX)
6260 {*r = Mono_Posix_SysconfName__SC_TIMER_MAX; return 0;}
6261 #endif /* ndef _SC_TIMER_MAX */
6262 #ifdef _SC_TRACE
6263 if (x == _SC_TRACE)
6264 {*r = Mono_Posix_SysconfName__SC_TRACE; return 0;}
6265 #endif /* ndef _SC_TRACE */
6266 #ifdef _SC_TRACE_EVENT_FILTER
6267 if (x == _SC_TRACE_EVENT_FILTER)
6268 {*r = Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER; return 0;}
6269 #endif /* ndef _SC_TRACE_EVENT_FILTER */
6270 #ifdef _SC_TRACE_INHERIT
6271 if (x == _SC_TRACE_INHERIT)
6272 {*r = Mono_Posix_SysconfName__SC_TRACE_INHERIT; return 0;}
6273 #endif /* ndef _SC_TRACE_INHERIT */
6274 #ifdef _SC_TRACE_LOG
6275 if (x == _SC_TRACE_LOG)
6276 {*r = Mono_Posix_SysconfName__SC_TRACE_LOG; return 0;}
6277 #endif /* ndef _SC_TRACE_LOG */
6278 #ifdef _SC_TTY_NAME_MAX
6279 if (x == _SC_TTY_NAME_MAX)
6280 {*r = Mono_Posix_SysconfName__SC_TTY_NAME_MAX; return 0;}
6281 #endif /* ndef _SC_TTY_NAME_MAX */
6282 #ifdef _SC_TYPED_MEMORY_OBJECTS
6283 if (x == _SC_TYPED_MEMORY_OBJECTS)
6284 {*r = Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS; return 0;}
6285 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
6286 #ifdef _SC_TZNAME_MAX
6287 if (x == _SC_TZNAME_MAX)
6288 {*r = Mono_Posix_SysconfName__SC_TZNAME_MAX; return 0;}
6289 #endif /* ndef _SC_TZNAME_MAX */
6290 #ifdef _SC_T_IOV_MAX
6291 if (x == _SC_T_IOV_MAX)
6292 {*r = Mono_Posix_SysconfName__SC_T_IOV_MAX; return 0;}
6293 #endif /* ndef _SC_T_IOV_MAX */
6294 #ifdef _SC_UCHAR_MAX
6295 if (x == _SC_UCHAR_MAX)
6296 {*r = Mono_Posix_SysconfName__SC_UCHAR_MAX; return 0;}
6297 #endif /* ndef _SC_UCHAR_MAX */
6298 #ifdef _SC_UINT_MAX
6299 if (x == _SC_UINT_MAX)
6300 {*r = Mono_Posix_SysconfName__SC_UINT_MAX; return 0;}
6301 #endif /* ndef _SC_UINT_MAX */
6302 #ifdef _SC_UIO_MAXIOV
6303 if (x == _SC_UIO_MAXIOV)
6304 {*r = Mono_Posix_SysconfName__SC_UIO_MAXIOV; return 0;}
6305 #endif /* ndef _SC_UIO_MAXIOV */
6306 #ifdef _SC_ULONG_MAX
6307 if (x == _SC_ULONG_MAX)
6308 {*r = Mono_Posix_SysconfName__SC_ULONG_MAX; return 0;}
6309 #endif /* ndef _SC_ULONG_MAX */
6310 #ifdef _SC_USER_GROUPS
6311 if (x == _SC_USER_GROUPS)
6312 {*r = Mono_Posix_SysconfName__SC_USER_GROUPS; return 0;}
6313 #endif /* ndef _SC_USER_GROUPS */
6314 #ifdef _SC_USER_GROUPS_R
6315 if (x == _SC_USER_GROUPS_R)
6316 {*r = Mono_Posix_SysconfName__SC_USER_GROUPS_R; return 0;}
6317 #endif /* ndef _SC_USER_GROUPS_R */
6318 #ifdef _SC_USHRT_MAX
6319 if (x == _SC_USHRT_MAX)
6320 {*r = Mono_Posix_SysconfName__SC_USHRT_MAX; return 0;}
6321 #endif /* ndef _SC_USHRT_MAX */
6322 #ifdef _SC_V6_ILP32_OFF32
6323 if (x == _SC_V6_ILP32_OFF32)
6324 {*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFF32; return 0;}
6325 #endif /* ndef _SC_V6_ILP32_OFF32 */
6326 #ifdef _SC_V6_ILP32_OFFBIG
6327 if (x == _SC_V6_ILP32_OFFBIG)
6328 {*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG; return 0;}
6329 #endif /* ndef _SC_V6_ILP32_OFFBIG */
6330 #ifdef _SC_V6_LP64_OFF64
6331 if (x == _SC_V6_LP64_OFF64)
6332 {*r = Mono_Posix_SysconfName__SC_V6_LP64_OFF64; return 0;}
6333 #endif /* ndef _SC_V6_LP64_OFF64 */
6334 #ifdef _SC_V6_LPBIG_OFFBIG
6335 if (x == _SC_V6_LPBIG_OFFBIG)
6336 {*r = Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG; return 0;}
6337 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
6338 #ifdef _SC_VERSION
6339 if (x == _SC_VERSION)
6340 {*r = Mono_Posix_SysconfName__SC_VERSION; return 0;}
6341 #endif /* ndef _SC_VERSION */
6342 #ifdef _SC_WORD_BIT
6343 if (x == _SC_WORD_BIT)
6344 {*r = Mono_Posix_SysconfName__SC_WORD_BIT; return 0;}
6345 #endif /* ndef _SC_WORD_BIT */
6346 #ifdef _SC_XBS5_ILP32_OFF32
6347 if (x == _SC_XBS5_ILP32_OFF32)
6348 {*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32; return 0;}
6349 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
6350 #ifdef _SC_XBS5_ILP32_OFFBIG
6351 if (x == _SC_XBS5_ILP32_OFFBIG)
6352 {*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG; return 0;}
6353 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
6354 #ifdef _SC_XBS5_LP64_OFF64
6355 if (x == _SC_XBS5_LP64_OFF64)
6356 {*r = Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64; return 0;}
6357 #endif /* ndef _SC_XBS5_LP64_OFF64 */
6358 #ifdef _SC_XBS5_LPBIG_OFFBIG
6359 if (x == _SC_XBS5_LPBIG_OFFBIG)
6360 {*r = Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG; return 0;}
6361 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
6362 #ifdef _SC_XOPEN_CRYPT
6363 if (x == _SC_XOPEN_CRYPT)
6364 {*r = Mono_Posix_SysconfName__SC_XOPEN_CRYPT; return 0;}
6365 #endif /* ndef _SC_XOPEN_CRYPT */
6366 #ifdef _SC_XOPEN_ENH_I18N
6367 if (x == _SC_XOPEN_ENH_I18N)
6368 {*r = Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N; return 0;}
6369 #endif /* ndef _SC_XOPEN_ENH_I18N */
6370 #ifdef _SC_XOPEN_LEGACY
6371 if (x == _SC_XOPEN_LEGACY)
6372 {*r = Mono_Posix_SysconfName__SC_XOPEN_LEGACY; return 0;}
6373 #endif /* ndef _SC_XOPEN_LEGACY */
6374 #ifdef _SC_XOPEN_REALTIME
6375 if (x == _SC_XOPEN_REALTIME)
6376 {*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME; return 0;}
6377 #endif /* ndef _SC_XOPEN_REALTIME */
6378 #ifdef _SC_XOPEN_REALTIME_THREADS
6379 if (x == _SC_XOPEN_REALTIME_THREADS)
6380 {*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS; return 0;}
6381 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
6382 #ifdef _SC_XOPEN_SHM
6383 if (x == _SC_XOPEN_SHM)
6384 {*r = Mono_Posix_SysconfName__SC_XOPEN_SHM; return 0;}
6385 #endif /* ndef _SC_XOPEN_SHM */
6386 #ifdef _SC_XOPEN_UNIX
6387 if (x == _SC_XOPEN_UNIX)
6388 {*r = Mono_Posix_SysconfName__SC_XOPEN_UNIX; return 0;}
6389 #endif /* ndef _SC_XOPEN_UNIX */
6390 #ifdef _SC_XOPEN_VERSION
6391 if (x == _SC_XOPEN_VERSION)
6392 {*r = Mono_Posix_SysconfName__SC_XOPEN_VERSION; return 0;}
6393 #endif /* ndef _SC_XOPEN_VERSION */
6394 #ifdef _SC_XOPEN_XCU_VERSION
6395 if (x == _SC_XOPEN_XCU_VERSION)
6396 {*r = Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION; return 0;}
6397 #endif /* ndef _SC_XOPEN_XCU_VERSION */
6398 #ifdef _SC_XOPEN_XPG2
6399 if (x == _SC_XOPEN_XPG2)
6400 {*r = Mono_Posix_SysconfName__SC_XOPEN_XPG2; return 0;}
6401 #endif /* ndef _SC_XOPEN_XPG2 */
6402 #ifdef _SC_XOPEN_XPG3
6403 if (x == _SC_XOPEN_XPG3)
6404 {*r = Mono_Posix_SysconfName__SC_XOPEN_XPG3; return 0;}
6405 #endif /* ndef _SC_XOPEN_XPG3 */
6406 #ifdef _SC_XOPEN_XPG4
6407 if (x == _SC_XOPEN_XPG4)
6408 {*r = Mono_Posix_SysconfName__SC_XOPEN_XPG4; return 0;}
6409 #endif /* ndef _SC_XOPEN_XPG4 */
6410 errno = EINVAL; return -1;
6413 int Mono_Posix_FromSyslogFacility (int x, int *r)
6415 *r = 0;
6416 if (x == Mono_Posix_SyslogFacility_LOG_AUTH)
6417 #ifdef LOG_AUTH
6418 {*r = LOG_AUTH; return 0;}
6419 #else /* def LOG_AUTH */
6420 {errno = EINVAL; return -1;}
6421 #endif /* ndef LOG_AUTH */
6422 if (x == Mono_Posix_SyslogFacility_LOG_AUTHPRIV)
6423 #ifdef LOG_AUTHPRIV
6424 {*r = LOG_AUTHPRIV; return 0;}
6425 #else /* def LOG_AUTHPRIV */
6426 {errno = EINVAL; return -1;}
6427 #endif /* ndef LOG_AUTHPRIV */
6428 if (x == Mono_Posix_SyslogFacility_LOG_CRON)
6429 #ifdef LOG_CRON
6430 {*r = LOG_CRON; return 0;}
6431 #else /* def LOG_CRON */
6432 {errno = EINVAL; return -1;}
6433 #endif /* ndef LOG_CRON */
6434 if (x == Mono_Posix_SyslogFacility_LOG_DAEMON)
6435 #ifdef LOG_DAEMON
6436 {*r = LOG_DAEMON; return 0;}
6437 #else /* def LOG_DAEMON */
6438 {errno = EINVAL; return -1;}
6439 #endif /* ndef LOG_DAEMON */
6440 if (x == Mono_Posix_SyslogFacility_LOG_FTP)
6441 #ifdef LOG_FTP
6442 {*r = LOG_FTP; return 0;}
6443 #else /* def LOG_FTP */
6444 {errno = EINVAL; return -1;}
6445 #endif /* ndef LOG_FTP */
6446 if (x == Mono_Posix_SyslogFacility_LOG_KERN)
6447 #ifdef LOG_KERN
6448 {*r = LOG_KERN; return 0;}
6449 #else /* def LOG_KERN */
6450 {errno = EINVAL; return -1;}
6451 #endif /* ndef LOG_KERN */
6452 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL0)
6453 #ifdef LOG_LOCAL0
6454 {*r = LOG_LOCAL0; return 0;}
6455 #else /* def LOG_LOCAL0 */
6456 {errno = EINVAL; return -1;}
6457 #endif /* ndef LOG_LOCAL0 */
6458 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL1)
6459 #ifdef LOG_LOCAL1
6460 {*r = LOG_LOCAL1; return 0;}
6461 #else /* def LOG_LOCAL1 */
6462 {errno = EINVAL; return -1;}
6463 #endif /* ndef LOG_LOCAL1 */
6464 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL2)
6465 #ifdef LOG_LOCAL2
6466 {*r = LOG_LOCAL2; return 0;}
6467 #else /* def LOG_LOCAL2 */
6468 {errno = EINVAL; return -1;}
6469 #endif /* ndef LOG_LOCAL2 */
6470 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL3)
6471 #ifdef LOG_LOCAL3
6472 {*r = LOG_LOCAL3; return 0;}
6473 #else /* def LOG_LOCAL3 */
6474 {errno = EINVAL; return -1;}
6475 #endif /* ndef LOG_LOCAL3 */
6476 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL4)
6477 #ifdef LOG_LOCAL4
6478 {*r = LOG_LOCAL4; return 0;}
6479 #else /* def LOG_LOCAL4 */
6480 {errno = EINVAL; return -1;}
6481 #endif /* ndef LOG_LOCAL4 */
6482 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL5)
6483 #ifdef LOG_LOCAL5
6484 {*r = LOG_LOCAL5; return 0;}
6485 #else /* def LOG_LOCAL5 */
6486 {errno = EINVAL; return -1;}
6487 #endif /* ndef LOG_LOCAL5 */
6488 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL6)
6489 #ifdef LOG_LOCAL6
6490 {*r = LOG_LOCAL6; return 0;}
6491 #else /* def LOG_LOCAL6 */
6492 {errno = EINVAL; return -1;}
6493 #endif /* ndef LOG_LOCAL6 */
6494 if (x == Mono_Posix_SyslogFacility_LOG_LOCAL7)
6495 #ifdef LOG_LOCAL7
6496 {*r = LOG_LOCAL7; return 0;}
6497 #else /* def LOG_LOCAL7 */
6498 {errno = EINVAL; return -1;}
6499 #endif /* ndef LOG_LOCAL7 */
6500 if (x == Mono_Posix_SyslogFacility_LOG_LPR)
6501 #ifdef LOG_LPR
6502 {*r = LOG_LPR; return 0;}
6503 #else /* def LOG_LPR */
6504 {errno = EINVAL; return -1;}
6505 #endif /* ndef LOG_LPR */
6506 if (x == Mono_Posix_SyslogFacility_LOG_MAIL)
6507 #ifdef LOG_MAIL
6508 {*r = LOG_MAIL; return 0;}
6509 #else /* def LOG_MAIL */
6510 {errno = EINVAL; return -1;}
6511 #endif /* ndef LOG_MAIL */
6512 if (x == Mono_Posix_SyslogFacility_LOG_NEWS)
6513 #ifdef LOG_NEWS
6514 {*r = LOG_NEWS; return 0;}
6515 #else /* def LOG_NEWS */
6516 {errno = EINVAL; return -1;}
6517 #endif /* ndef LOG_NEWS */
6518 if (x == Mono_Posix_SyslogFacility_LOG_SYSLOG)
6519 #ifdef LOG_SYSLOG
6520 {*r = LOG_SYSLOG; return 0;}
6521 #else /* def LOG_SYSLOG */
6522 {errno = EINVAL; return -1;}
6523 #endif /* ndef LOG_SYSLOG */
6524 if (x == Mono_Posix_SyslogFacility_LOG_USER)
6525 #ifdef LOG_USER
6526 {*r = LOG_USER; return 0;}
6527 #else /* def LOG_USER */
6528 {errno = EINVAL; return -1;}
6529 #endif /* ndef LOG_USER */
6530 if (x == Mono_Posix_SyslogFacility_LOG_UUCP)
6531 #ifdef LOG_UUCP
6532 {*r = LOG_UUCP; return 0;}
6533 #else /* def LOG_UUCP */
6534 {errno = EINVAL; return -1;}
6535 #endif /* ndef LOG_UUCP */
6536 if (x == 0)
6537 return 0;
6538 errno = EINVAL; return -1;
6541 int Mono_Posix_ToSyslogFacility (int x, int *r)
6543 *r = 0;
6544 if (x == 0)
6545 return 0;
6546 #ifdef LOG_AUTH
6547 if (x == LOG_AUTH)
6548 {*r = Mono_Posix_SyslogFacility_LOG_AUTH; return 0;}
6549 #endif /* ndef LOG_AUTH */
6550 #ifdef LOG_AUTHPRIV
6551 if (x == LOG_AUTHPRIV)
6552 {*r = Mono_Posix_SyslogFacility_LOG_AUTHPRIV; return 0;}
6553 #endif /* ndef LOG_AUTHPRIV */
6554 #ifdef LOG_CRON
6555 if (x == LOG_CRON)
6556 {*r = Mono_Posix_SyslogFacility_LOG_CRON; return 0;}
6557 #endif /* ndef LOG_CRON */
6558 #ifdef LOG_DAEMON
6559 if (x == LOG_DAEMON)
6560 {*r = Mono_Posix_SyslogFacility_LOG_DAEMON; return 0;}
6561 #endif /* ndef LOG_DAEMON */
6562 #ifdef LOG_FTP
6563 if (x == LOG_FTP)
6564 {*r = Mono_Posix_SyslogFacility_LOG_FTP; return 0;}
6565 #endif /* ndef LOG_FTP */
6566 #ifdef LOG_KERN
6567 if (x == LOG_KERN)
6568 {*r = Mono_Posix_SyslogFacility_LOG_KERN; return 0;}
6569 #endif /* ndef LOG_KERN */
6570 #ifdef LOG_LOCAL0
6571 if (x == LOG_LOCAL0)
6572 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL0; return 0;}
6573 #endif /* ndef LOG_LOCAL0 */
6574 #ifdef LOG_LOCAL1
6575 if (x == LOG_LOCAL1)
6576 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL1; return 0;}
6577 #endif /* ndef LOG_LOCAL1 */
6578 #ifdef LOG_LOCAL2
6579 if (x == LOG_LOCAL2)
6580 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL2; return 0;}
6581 #endif /* ndef LOG_LOCAL2 */
6582 #ifdef LOG_LOCAL3
6583 if (x == LOG_LOCAL3)
6584 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL3; return 0;}
6585 #endif /* ndef LOG_LOCAL3 */
6586 #ifdef LOG_LOCAL4
6587 if (x == LOG_LOCAL4)
6588 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL4; return 0;}
6589 #endif /* ndef LOG_LOCAL4 */
6590 #ifdef LOG_LOCAL5
6591 if (x == LOG_LOCAL5)
6592 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL5; return 0;}
6593 #endif /* ndef LOG_LOCAL5 */
6594 #ifdef LOG_LOCAL6
6595 if (x == LOG_LOCAL6)
6596 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL6; return 0;}
6597 #endif /* ndef LOG_LOCAL6 */
6598 #ifdef LOG_LOCAL7
6599 if (x == LOG_LOCAL7)
6600 {*r = Mono_Posix_SyslogFacility_LOG_LOCAL7; return 0;}
6601 #endif /* ndef LOG_LOCAL7 */
6602 #ifdef LOG_LPR
6603 if (x == LOG_LPR)
6604 {*r = Mono_Posix_SyslogFacility_LOG_LPR; return 0;}
6605 #endif /* ndef LOG_LPR */
6606 #ifdef LOG_MAIL
6607 if (x == LOG_MAIL)
6608 {*r = Mono_Posix_SyslogFacility_LOG_MAIL; return 0;}
6609 #endif /* ndef LOG_MAIL */
6610 #ifdef LOG_NEWS
6611 if (x == LOG_NEWS)
6612 {*r = Mono_Posix_SyslogFacility_LOG_NEWS; return 0;}
6613 #endif /* ndef LOG_NEWS */
6614 #ifdef LOG_SYSLOG
6615 if (x == LOG_SYSLOG)
6616 {*r = Mono_Posix_SyslogFacility_LOG_SYSLOG; return 0;}
6617 #endif /* ndef LOG_SYSLOG */
6618 #ifdef LOG_USER
6619 if (x == LOG_USER)
6620 {*r = Mono_Posix_SyslogFacility_LOG_USER; return 0;}
6621 #endif /* ndef LOG_USER */
6622 #ifdef LOG_UUCP
6623 if (x == LOG_UUCP)
6624 {*r = Mono_Posix_SyslogFacility_LOG_UUCP; return 0;}
6625 #endif /* ndef LOG_UUCP */
6626 errno = EINVAL; return -1;
6629 int Mono_Posix_FromSyslogLevel (int x, int *r)
6631 *r = 0;
6632 if (x == Mono_Posix_SyslogLevel_LOG_ALERT)
6633 #ifdef LOG_ALERT
6634 {*r = LOG_ALERT; return 0;}
6635 #else /* def LOG_ALERT */
6636 {errno = EINVAL; return -1;}
6637 #endif /* ndef LOG_ALERT */
6638 if (x == Mono_Posix_SyslogLevel_LOG_CRIT)
6639 #ifdef LOG_CRIT
6640 {*r = LOG_CRIT; return 0;}
6641 #else /* def LOG_CRIT */
6642 {errno = EINVAL; return -1;}
6643 #endif /* ndef LOG_CRIT */
6644 if (x == Mono_Posix_SyslogLevel_LOG_DEBUG)
6645 #ifdef LOG_DEBUG
6646 {*r = LOG_DEBUG; return 0;}
6647 #else /* def LOG_DEBUG */
6648 {errno = EINVAL; return -1;}
6649 #endif /* ndef LOG_DEBUG */
6650 if (x == Mono_Posix_SyslogLevel_LOG_EMERG)
6651 #ifdef LOG_EMERG
6652 {*r = LOG_EMERG; return 0;}
6653 #else /* def LOG_EMERG */
6654 {errno = EINVAL; return -1;}
6655 #endif /* ndef LOG_EMERG */
6656 if (x == Mono_Posix_SyslogLevel_LOG_ERR)
6657 #ifdef LOG_ERR
6658 {*r = LOG_ERR; return 0;}
6659 #else /* def LOG_ERR */
6660 {errno = EINVAL; return -1;}
6661 #endif /* ndef LOG_ERR */
6662 if (x == Mono_Posix_SyslogLevel_LOG_INFO)
6663 #ifdef LOG_INFO
6664 {*r = LOG_INFO; return 0;}
6665 #else /* def LOG_INFO */
6666 {errno = EINVAL; return -1;}
6667 #endif /* ndef LOG_INFO */
6668 if (x == Mono_Posix_SyslogLevel_LOG_NOTICE)
6669 #ifdef LOG_NOTICE
6670 {*r = LOG_NOTICE; return 0;}
6671 #else /* def LOG_NOTICE */
6672 {errno = EINVAL; return -1;}
6673 #endif /* ndef LOG_NOTICE */
6674 if (x == Mono_Posix_SyslogLevel_LOG_WARNING)
6675 #ifdef LOG_WARNING
6676 {*r = LOG_WARNING; return 0;}
6677 #else /* def LOG_WARNING */
6678 {errno = EINVAL; return -1;}
6679 #endif /* ndef LOG_WARNING */
6680 if (x == 0)
6681 return 0;
6682 errno = EINVAL; return -1;
6685 int Mono_Posix_ToSyslogLevel (int x, int *r)
6687 *r = 0;
6688 if (x == 0)
6689 return 0;
6690 #ifdef LOG_ALERT
6691 if (x == LOG_ALERT)
6692 {*r = Mono_Posix_SyslogLevel_LOG_ALERT; return 0;}
6693 #endif /* ndef LOG_ALERT */
6694 #ifdef LOG_CRIT
6695 if (x == LOG_CRIT)
6696 {*r = Mono_Posix_SyslogLevel_LOG_CRIT; return 0;}
6697 #endif /* ndef LOG_CRIT */
6698 #ifdef LOG_DEBUG
6699 if (x == LOG_DEBUG)
6700 {*r = Mono_Posix_SyslogLevel_LOG_DEBUG; return 0;}
6701 #endif /* ndef LOG_DEBUG */
6702 #ifdef LOG_EMERG
6703 if (x == LOG_EMERG)
6704 {*r = Mono_Posix_SyslogLevel_LOG_EMERG; return 0;}
6705 #endif /* ndef LOG_EMERG */
6706 #ifdef LOG_ERR
6707 if (x == LOG_ERR)
6708 {*r = Mono_Posix_SyslogLevel_LOG_ERR; return 0;}
6709 #endif /* ndef LOG_ERR */
6710 #ifdef LOG_INFO
6711 if (x == LOG_INFO)
6712 {*r = Mono_Posix_SyslogLevel_LOG_INFO; return 0;}
6713 #endif /* ndef LOG_INFO */
6714 #ifdef LOG_NOTICE
6715 if (x == LOG_NOTICE)
6716 {*r = Mono_Posix_SyslogLevel_LOG_NOTICE; return 0;}
6717 #endif /* ndef LOG_NOTICE */
6718 #ifdef LOG_WARNING
6719 if (x == LOG_WARNING)
6720 {*r = Mono_Posix_SyslogLevel_LOG_WARNING; return 0;}
6721 #endif /* ndef LOG_WARNING */
6722 errno = EINVAL; return -1;
6725 int Mono_Posix_FromSyslogOptions (int x, int *r)
6727 *r = 0;
6728 if ((x & Mono_Posix_SyslogOptions_LOG_CONS) == Mono_Posix_SyslogOptions_LOG_CONS)
6729 #ifdef LOG_CONS
6730 *r |= LOG_CONS;
6731 #else /* def LOG_CONS */
6732 {errno = EINVAL; return -1;}
6733 #endif /* ndef LOG_CONS */
6734 if ((x & Mono_Posix_SyslogOptions_LOG_NDELAY) == Mono_Posix_SyslogOptions_LOG_NDELAY)
6735 #ifdef LOG_NDELAY
6736 *r |= LOG_NDELAY;
6737 #else /* def LOG_NDELAY */
6738 {errno = EINVAL; return -1;}
6739 #endif /* ndef LOG_NDELAY */
6740 if ((x & Mono_Posix_SyslogOptions_LOG_NOWAIT) == Mono_Posix_SyslogOptions_LOG_NOWAIT)
6741 #ifdef LOG_NOWAIT
6742 *r |= LOG_NOWAIT;
6743 #else /* def LOG_NOWAIT */
6744 {errno = EINVAL; return -1;}
6745 #endif /* ndef LOG_NOWAIT */
6746 if ((x & Mono_Posix_SyslogOptions_LOG_ODELAY) == Mono_Posix_SyslogOptions_LOG_ODELAY)
6747 #ifdef LOG_ODELAY
6748 *r |= LOG_ODELAY;
6749 #else /* def LOG_ODELAY */
6750 {errno = EINVAL; return -1;}
6751 #endif /* ndef LOG_ODELAY */
6752 if ((x & Mono_Posix_SyslogOptions_LOG_PERROR) == Mono_Posix_SyslogOptions_LOG_PERROR)
6753 #ifdef LOG_PERROR
6754 *r |= LOG_PERROR;
6755 #else /* def LOG_PERROR */
6756 {errno = EINVAL; return -1;}
6757 #endif /* ndef LOG_PERROR */
6758 if ((x & Mono_Posix_SyslogOptions_LOG_PID) == Mono_Posix_SyslogOptions_LOG_PID)
6759 #ifdef LOG_PID
6760 *r |= LOG_PID;
6761 #else /* def LOG_PID */
6762 {errno = EINVAL; return -1;}
6763 #endif /* ndef LOG_PID */
6764 if (x == 0)
6765 return 0;
6766 return 0;
6769 int Mono_Posix_ToSyslogOptions (int x, int *r)
6771 *r = 0;
6772 if (x == 0)
6773 return 0;
6774 #ifdef LOG_CONS
6775 if ((x & LOG_CONS) == LOG_CONS)
6776 *r |= Mono_Posix_SyslogOptions_LOG_CONS;
6777 #endif /* ndef LOG_CONS */
6778 #ifdef LOG_NDELAY
6779 if ((x & LOG_NDELAY) == LOG_NDELAY)
6780 *r |= Mono_Posix_SyslogOptions_LOG_NDELAY;
6781 #endif /* ndef LOG_NDELAY */
6782 #ifdef LOG_NOWAIT
6783 if ((x & LOG_NOWAIT) == LOG_NOWAIT)
6784 *r |= Mono_Posix_SyslogOptions_LOG_NOWAIT;
6785 #endif /* ndef LOG_NOWAIT */
6786 #ifdef LOG_ODELAY
6787 if ((x & LOG_ODELAY) == LOG_ODELAY)
6788 *r |= Mono_Posix_SyslogOptions_LOG_ODELAY;
6789 #endif /* ndef LOG_ODELAY */
6790 #ifdef LOG_PERROR
6791 if ((x & LOG_PERROR) == LOG_PERROR)
6792 *r |= Mono_Posix_SyslogOptions_LOG_PERROR;
6793 #endif /* ndef LOG_PERROR */
6794 #ifdef LOG_PID
6795 if ((x & LOG_PID) == LOG_PID)
6796 *r |= Mono_Posix_SyslogOptions_LOG_PID;
6797 #endif /* ndef LOG_PID */
6798 return 0;
6801 #ifdef HAVE_STRUCT_TIMESPEC
6803 Mono_Posix_FromTimespec (struct Mono_Posix_Timespec *from, struct timespec *to)
6805 _cnm_return_val_if_overflow (time_t, from->tv_sec, -1);
6806 _cnm_return_val_if_overflow (gint64, from->tv_nsec, -1);
6808 memset (to, 0, sizeof(*to));
6810 to->tv_sec = from->tv_sec;
6811 to->tv_nsec = from->tv_nsec;
6813 return 0;
6815 #endif /* ndef HAVE_STRUCT_TIMESPEC */
6818 #ifdef HAVE_STRUCT_TIMESPEC
6820 Mono_Posix_ToTimespec (struct timespec *from, struct Mono_Posix_Timespec *to)
6822 _cnm_return_val_if_overflow (gint64, from->tv_sec, -1);
6823 _cnm_return_val_if_overflow (gint64, from->tv_nsec, -1);
6825 memset (to, 0, sizeof(*to));
6827 to->tv_sec = from->tv_sec;
6828 to->tv_nsec = from->tv_nsec;
6830 return 0;
6832 #endif /* ndef HAVE_STRUCT_TIMESPEC */
6835 #ifdef HAVE_STRUCT_TIMEVAL
6837 Mono_Posix_FromTimeval (struct Mono_Posix_Timeval *from, struct timeval *to)
6839 _cnm_return_val_if_overflow (time_t, from->tv_sec, -1);
6840 _cnm_return_val_if_overflow (suseconds_t, from->tv_usec, -1);
6842 memset (to, 0, sizeof(*to));
6844 to->tv_sec = from->tv_sec;
6845 to->tv_usec = from->tv_usec;
6847 return 0;
6849 #endif /* ndef HAVE_STRUCT_TIMEVAL */
6852 #ifdef HAVE_STRUCT_TIMEVAL
6854 Mono_Posix_ToTimeval (struct timeval *from, struct Mono_Posix_Timeval *to)
6856 _cnm_return_val_if_overflow (gint64, from->tv_sec, -1);
6857 _cnm_return_val_if_overflow (gint64, from->tv_usec, -1);
6859 memset (to, 0, sizeof(*to));
6861 to->tv_sec = from->tv_sec;
6862 to->tv_usec = from->tv_usec;
6864 return 0;
6866 #endif /* ndef HAVE_STRUCT_TIMEVAL */
6869 #ifdef HAVE_STRUCT_TIMEZONE
6871 Mono_Posix_FromTimezone (struct Mono_Posix_Timezone *from, struct timezone *to)
6873 _cnm_return_val_if_overflow (int, from->tz_minuteswest, -1);
6874 _cnm_return_val_if_overflow (int, from->tz_dsttime, -1);
6876 memset (to, 0, sizeof(*to));
6878 to->tz_minuteswest = from->tz_minuteswest;
6879 to->tz_dsttime = from->tz_dsttime;
6881 return 0;
6883 #endif /* ndef HAVE_STRUCT_TIMEZONE */
6886 #ifdef HAVE_STRUCT_TIMEZONE
6888 Mono_Posix_ToTimezone (struct timezone *from, struct Mono_Posix_Timezone *to)
6890 _cnm_return_val_if_overflow (int, from->tz_minuteswest, -1);
6891 _cnm_return_val_if_overflow (int, from->tz_dsttime, -1);
6893 memset (to, 0, sizeof(*to));
6895 to->tz_minuteswest = from->tz_minuteswest;
6896 to->tz_dsttime = from->tz_dsttime;
6898 return 0;
6900 #endif /* ndef HAVE_STRUCT_TIMEZONE */
6903 #ifdef HAVE_STRUCT_UTIMBUF
6905 Mono_Posix_FromUtimbuf (struct Mono_Posix_Utimbuf *from, struct utimbuf *to)
6907 _cnm_return_val_if_overflow (time_t, from->actime, -1);
6908 _cnm_return_val_if_overflow (time_t, from->modtime, -1);
6910 memset (to, 0, sizeof(*to));
6912 to->actime = from->actime;
6913 to->modtime = from->modtime;
6915 return 0;
6917 #endif /* ndef HAVE_STRUCT_UTIMBUF */
6920 #ifdef HAVE_STRUCT_UTIMBUF
6922 Mono_Posix_ToUtimbuf (struct utimbuf *from, struct Mono_Posix_Utimbuf *to)
6924 _cnm_return_val_if_overflow (gint64, from->actime, -1);
6925 _cnm_return_val_if_overflow (gint64, from->modtime, -1);
6927 memset (to, 0, sizeof(*to));
6929 to->actime = from->actime;
6930 to->modtime = from->modtime;
6932 return 0;
6934 #endif /* ndef HAVE_STRUCT_UTIMBUF */
6937 int Mono_Posix_FromWaitOptions (int x, int *r)
6939 *r = 0;
6940 if ((x & Mono_Posix_WaitOptions_WNOHANG) == Mono_Posix_WaitOptions_WNOHANG)
6941 #ifdef WNOHANG
6942 *r |= WNOHANG;
6943 #else /* def WNOHANG */
6944 {errno = EINVAL; return -1;}
6945 #endif /* ndef WNOHANG */
6946 if ((x & Mono_Posix_WaitOptions_WUNTRACED) == Mono_Posix_WaitOptions_WUNTRACED)
6947 #ifdef WUNTRACED
6948 *r |= WUNTRACED;
6949 #else /* def WUNTRACED */
6950 {errno = EINVAL; return -1;}
6951 #endif /* ndef WUNTRACED */
6952 if (x == 0)
6953 return 0;
6954 return 0;
6957 int Mono_Posix_ToWaitOptions (int x, int *r)
6959 *r = 0;
6960 if (x == 0)
6961 return 0;
6962 #ifdef WNOHANG
6963 if ((x & WNOHANG) == WNOHANG)
6964 *r |= Mono_Posix_WaitOptions_WNOHANG;
6965 #endif /* ndef WNOHANG */
6966 #ifdef WUNTRACED
6967 if ((x & WUNTRACED) == WUNTRACED)
6968 *r |= Mono_Posix_WaitOptions_WUNTRACED;
6969 #endif /* ndef WUNTRACED */
6970 return 0;
6973 int Mono_Posix_FromXattrFlags (int x, int *r)
6975 *r = 0;
6976 if ((x & Mono_Posix_XattrFlags_XATTR_AUTO) == Mono_Posix_XattrFlags_XATTR_AUTO)
6977 #ifdef XATTR_AUTO
6978 *r |= XATTR_AUTO;
6979 #else /* def XATTR_AUTO */
6980 {errno = EINVAL; return -1;}
6981 #endif /* ndef XATTR_AUTO */
6982 if ((x & Mono_Posix_XattrFlags_XATTR_CREATE) == Mono_Posix_XattrFlags_XATTR_CREATE)
6983 #ifdef XATTR_CREATE
6984 *r |= XATTR_CREATE;
6985 #else /* def XATTR_CREATE */
6986 {errno = EINVAL; return -1;}
6987 #endif /* ndef XATTR_CREATE */
6988 if ((x & Mono_Posix_XattrFlags_XATTR_REPLACE) == Mono_Posix_XattrFlags_XATTR_REPLACE)
6989 #ifdef XATTR_REPLACE
6990 *r |= XATTR_REPLACE;
6991 #else /* def XATTR_REPLACE */
6992 {errno = EINVAL; return -1;}
6993 #endif /* ndef XATTR_REPLACE */
6994 if (x == 0)
6995 return 0;
6996 return 0;
6999 int Mono_Posix_ToXattrFlags (int x, int *r)
7001 *r = 0;
7002 if (x == 0)
7003 return 0;
7004 #ifdef XATTR_AUTO
7005 if ((x & XATTR_AUTO) == XATTR_AUTO)
7006 *r |= Mono_Posix_XattrFlags_XATTR_AUTO;
7007 #endif /* ndef XATTR_AUTO */
7008 #ifdef XATTR_CREATE
7009 if ((x & XATTR_CREATE) == XATTR_CREATE)
7010 *r |= Mono_Posix_XattrFlags_XATTR_CREATE;
7011 #endif /* ndef XATTR_CREATE */
7012 #ifdef XATTR_REPLACE
7013 if ((x & XATTR_REPLACE) == XATTR_REPLACE)
7014 *r |= Mono_Posix_XattrFlags_XATTR_REPLACE;
7015 #endif /* ndef XATTR_REPLACE */
7016 return 0;