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