Quellcode durchsuchen

* dirent.c, errno.c, fcntl.c, fstab.c, grp.c, macros.c, pwd.c, signal.c,
stdio.c, stdlib.c, string.c, sys-mman.c, sys-sendfile.c, sys-stat.c,
sys-statvfs.c, sys-time.c, sys-xattr.c syslog.c, time.c, unistd.c,
utime.c: Remove structure definitions, and use the
create-native-map generated definitions within map.h. Update function
prototypes to match current map.h declarations.
* map.c, map.h: Flush (current create-native-map output).
* mph.h: Don't include "map-icalls.h"; "icalls" are now in map.h.
* create-native-map.exe: Added; cached version of create-native-map.exe
used to update map.c, map.h. (create-native-map.exe source within
mono-tools/create-native-map.)
* Makefile.am: Added update-create-native-map target to update
create-native-map.exe using pkg-config & the create-native-map.pc package.
Use create-native-map.exe to generate map.* files instead of make-map.exe.
* sys-statvfs.c: Add Mono_Posix_ToStatvfs, Mono_Posix_FromStatvfs exports.

svn path=/trunk/mono/; revision=66946

Jonathan Pryor vor 19 Jahren
Ursprung
Commit
37829d3208

+ 18 - 0
support/ChangeLog

@@ -1,3 +1,21 @@
+2006-10-24  Jonathan Pryor  <[email protected]>
+
+	* dirent.c, errno.c, fcntl.c, fstab.c, grp.c, macros.c, pwd.c, signal.c, 
+	  stdio.c, stdlib.c, string.c, sys-mman.c, sys-sendfile.c, sys-stat.c, 
+	  sys-statvfs.c, sys-time.c, sys-xattr.c syslog.c, time.c, unistd.c, 
+	  utime.c: Remove structure definitions, and use the
+	  create-native-map generated definitions within map.h.  Update function
+	  prototypes to match current map.h declarations.
+	* map.c, map.h: Flush (current create-native-map output).
+	* mph.h: Don't include "map-icalls.h"; "icalls" are now in map.h.
+	* create-native-map.exe: Added; cached version of create-native-map.exe
+	  used to update map.c, map.h.  (create-native-map.exe source within
+	  mono-tools/create-native-map.)
+	* Makefile.am: Added update-create-native-map target to update 
+	  create-native-map.exe using pkg-config & the create-native-map.pc package. 
+		Use create-native-map.exe to generate map.* files instead of make-map.exe.
+	* sys-statvfs.c: Add Mono_Posix_ToStatvfs, Mono_Posix_FromStatvfs exports.
+
 2006-09-15  Jonathan Pryor  <[email protected]>
 
 	* Makefile.am: Remove CRYPT_LIBS use; we no longer rely on libcrypt.

+ 32 - 1
support/Makefile.am

@@ -86,9 +86,40 @@ libMonoSupportW_la_SOURCES =			\
 libMonoSupportW_la_LIBADD =			\
 		$(GLIB_LIBS)
 
+update-create-native-map:
+	cp `pkg-config --variable=Programs create-native-map` .
+
 # 
 # Use this target to refresh the values in map.[ch]
 #
 refresh:
-	$(top_builddir)/runtime/mono-wrapper $(mcs_topdir)/class/Mono.Posix/Mono.Unix.Native/make-map.exe $(mcs_topdir)/class/lib/default/Mono.Posix.dll map
+	$(top_builddir)/runtime/mono-wrapper create-native-map.exe \
+	--autoconf-member=d_off                               \
+	--autoconf-member=d_reclen                            \
+	--autoconf-member=d_type                              \
+	--exclude-native-symbol=Mono_Posix_Stdlib_snprintf    \
+	--impl-macro=_GNU_SOURCE --impl-macro=_XOPEN_SOURCE   \
+	--impl-header="<sys/types.h>"                         \
+	--impl-header="<sys/stat.h>"                          \
+	--impl-header="<sys/time.h>"                          \
+	--autoconf-header="<sys/poll.h>"                      \
+	--autoconf-header="<sys/wait.h>"                      \
+	--autoconf-header="<sys/statvfs.h>"                   \
+	--autoconf-header="<sys/xattr.h>"                     \
+	--autoconf-header="<sys/mman.h>"                      \
+	--impl-header="<unistd.h>"                            \
+	--impl-header="<fcntl.h>"                             \
+	--impl-header="<signal.h>"                            \
+	--autoconf-header="<poll.h>"                          \
+	--autoconf-header="<grp.h>"                           \
+	--impl-header="<errno.h>"                             \
+	--autoconf-header="<syslog.h>"                        \
+	--impl-header="<dirent.h>"                            \
+	--impl-header="<utime.h>"                             \
+	--rename-member=st_atime=st_atime_                    \
+	--rename-member=st_ctime=st_ctime_                    \
+	--rename-member=st_mtime=st_mtime_                    \
+	--rename-namespace=Mono.Unix.Native=Mono.Posix        \
+	--library=MonoPosixHelper                             \
+	$(mcs_topdir)/class/lib/net_2_0/Mono.Posix.dll map
 

BIN
support/create-native-map.exe


+ 1 - 8
support/dirent.c

@@ -13,18 +13,11 @@
 #include <stdlib.h>
 #include <unistd.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Syscall__Dirent {
-	/* ino_t  */ mph_ino_t      d_ino;
-	/* off_t  */ mph_off_t      d_off;
-	/* ushort */ unsigned short d_reclen;
-	/* byte   */ unsigned char  d_type;
-	/* string */ char          *d_name;
-};
-
 gint32
 Mono_Posix_Syscall_seekdir (void *dir, mph_off_t offset)
 {

+ 1 - 0
support/errno.c

@@ -4,6 +4,7 @@
 
 #include <errno.h>
 #include <string.h>
+#include "map.h"
 #include "mph.h"
 #include <stdio.h>
 

+ 1 - 9
support/fcntl.c

@@ -4,7 +4,7 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004, 2006 Jonathan Pryor
  */
 
 #ifndef _GNU_SOURCE
@@ -22,14 +22,6 @@
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Flock {
-	gint16    l_type;
-	gint16    l_whence;
-	mph_off_t l_start;
-	mph_off_t l_len;
-	mph_pid_t l_pid;
-};
-
 gint32
 Mono_Posix_Syscall_fcntl (gint32 fd, gint32 cmd)
 {

+ 3 - 13
support/fstab.c

@@ -13,6 +13,7 @@
 #include <stdlib.h>
 #include <stddef.h>
 
+#include "map.h"
 #include "mph.h"
 
 #if defined (HAVE_CHECKLIST_H)
@@ -27,18 +28,6 @@
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Syscall__Fstab {
-	char  *fs_spec;     /* block device name */
-	char  *fs_file;     /* mount point */
-	char  *fs_vfstype;	/* filesystem type */
-	char  *fs_mntops;   /* mount options */
-	char  *fs_type;     /* rw/rq/ro/sw/xx option */
-	int    fs_freq;     /* dump frequency, in days */
-	int    fs_passno;   /* pass number on parallel dump */
-
-	char  *_fs_buf_;
-};
-
 #ifdef HAVE_CHECKLIST_H
 
 typedef struct checklist mph_fstab;
@@ -245,10 +234,11 @@ getfsspec (const char *special_file)
 
 #if defined (HAVE_FSTAB_H) || defined (HAVE_CHECKPOINT_H) || defined (HAVE_SYS_VFSTAB_H)
 
-void
+int
 Mono_Posix_Syscall_endfsent (void)
 {
 	endfsent ();
+	return 0;
 }
 
 gint32

+ 5 - 13
support/grp.c

@@ -16,19 +16,11 @@
 #include <string.h>
 #include <unistd.h>	/* for setgroups on Mac OS X */
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Syscall__Group {
-	/* string */  char     *gr_name;
-	/* string */  char     *gr_passwd;
-	/* gid_t  */  mph_gid_t gr_gid;
-	/* int    */  int       _gr_nmem_;
-	/* string */  char    **gr_mem;
-	/* string */  char     *_gr_buf_;  /* holds all but gr_mem */
-};
-
 static void
 count_members (char **gr_mem, int *count, size_t *mem)
 {
@@ -56,7 +48,7 @@ copy_group (struct Mono_Posix_Syscall__Group *to, struct group *from)
 {
 	size_t nlen, plen, buflen;
 	int i, count;
-	char *cur;
+	char *cur, **to_mem;
 
 	to->gr_gid    = from->gr_gid;
 
@@ -83,7 +75,7 @@ copy_group (struct Mono_Posix_Syscall__Group *to, struct group *from)
 
 	to->_gr_nmem_ = count;
 	cur = to->_gr_buf_ = (char*) malloc (buflen);
-	to->gr_mem = (char **) malloc (sizeof(char*)*(count+1));
+	to_mem = to->gr_mem = malloc (sizeof(char*)*(count+1));
 	if (to->_gr_buf_ == NULL || to->gr_mem == NULL) {
 		free (to->_gr_buf_);
 		free (to->gr_mem);
@@ -96,10 +88,10 @@ copy_group (struct Mono_Posix_Syscall__Group *to, struct group *from)
 	cur += (plen + 1);
 
 	for (i = 0; i != count; ++i) {
-		to->gr_mem[i] = strcpy (cur, from->gr_mem[i]);
+		to_mem [i] = strcpy (cur, from->gr_mem[i]);
 		cur += (strlen (from->gr_mem[i])+1);
 	}
-	to->gr_mem[i] = NULL;
+	to_mem [i] = NULL;
 
 	return 0;
 }

+ 3 - 3
support/macros.c

@@ -81,18 +81,18 @@ int helper_Mono_Posix_Stat(const char *filename, int dereference,
 	return 0;
 }
 
-const char *helper_Mono_Posix_GetUserName(int uid) {
+char *helper_Mono_Posix_GetUserName(int uid) {
 	struct passwd *p = getpwuid(uid);
 	if (p == NULL) return NULL;
 	return strdup (p->pw_name);
 }
-const char *helper_Mono_Posix_GetGroupName(int gid) {
+char *helper_Mono_Posix_GetGroupName(int gid) {
 	struct group *p = getgrgid(gid);
 	if (p == NULL) return NULL;
 	return strdup (p->gr_name);
 }
 
-const char *helper_Mono_Posix_readdir(void *dir) {
+char *helper_Mono_Posix_readdir(void *dir) {
 	struct dirent* e = readdir((DIR*) dir);
 	if (e == NULL) return NULL;
 	return strdup (e->d_name);

+ 0 - 269
support/map-icalls.h

@@ -1,269 +0,0 @@
-/*
- * This file was automatically generated by make-map from ../../mcs/class/lib/default/Mono.Posix.dll.
- *
- * DO NOT MODIFY.
- */
-#include <config.h>
-
-#ifndef INC_Mono_Posix_map_ICALLS_H
-#define INC_Mono_Posix_map_ICALLS_H
-
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-/*
- * Structure Declarations
- */
-struct Mono_Posix_Flock;
-struct Mono_Posix_Stat;
-struct Mono_Posix_Statvfs;
-struct Mono_Posix_Syscall__Dirent;
-struct Mono_Posix_Syscall__Fstab;
-struct Mono_Posix_Syscall__Group;
-struct Mono_Posix_Syscall__Passwd;
-struct Mono_Posix_Timeval;
-struct Mono_Posix_Timezone;
-struct Mono_Posix_Utimbuf;
-
-/*
- * Function Declarations
- */
-int Mono_Posix_FromAccessMode (int value, int* rval);
-int Mono_Posix_FromAccessModes (int value, int* rval);
-int Mono_Posix_FromConfStr (int value, int* rval);
-int Mono_Posix_FromConfstrName (int value, int* rval);
-int Mono_Posix_FromDirectoryNotifyFlags (int value, int* rval);
-int Mono_Posix_FromErrno (int value, int* rval);
-int Mono_Posix_FromError (int value, int* rval);
-int Mono_Posix_FromFcntlCommand (int value, int* rval);
-int Mono_Posix_FromFilePermissions (unsigned int value, unsigned int* rval);
-int Mono_Posix_FromLockType (short value, short* rval);
-int Mono_Posix_FromLockfCommand (int value, int* rval);
-int Mono_Posix_FromMlockallFlags (int value, int* rval);
-int Mono_Posix_FromMmapFlags (int value, int* rval);
-int Mono_Posix_FromMmapProt (int value, int* rval);
-int Mono_Posix_FromMmapProts (int value, int* rval);
-int Mono_Posix_FromMountFlags (guint64 value, guint64* rval);
-int Mono_Posix_FromMremapFlags (guint64 value, guint64* rval);
-int Mono_Posix_FromMsyncFlags (int value, int* rval);
-int Mono_Posix_FromOpenFlags (int value, int* rval);
-int Mono_Posix_FromPathConf (int value, int* rval);
-int Mono_Posix_FromPathconfName (int value, int* rval);
-int Mono_Posix_FromPollEvents (short value, short* rval);
-int Mono_Posix_FromPosixFadviseAdvice (int value, int* rval);
-int Mono_Posix_FromPosixMadviseAdvice (int value, int* rval);
-int Mono_Posix_FromSeekFlags (short value, short* rval);
-int Mono_Posix_FromSignum (int value, int* rval);
-int Mono_Posix_FromSysConf (int value, int* rval);
-int Mono_Posix_FromSysconfName (int value, int* rval);
-int Mono_Posix_FromSyslogFacility (int value, int* rval);
-int Mono_Posix_FromSyslogLevel (int value, int* rval);
-int Mono_Posix_FromSyslogOptions (int value, int* rval);
-int Mono_Posix_FromWaitOptions (int value, int* rval);
-int Mono_Posix_FromXattrFlags (int value, int* rval);
-int Mono_Posix_Stdlib_BUFSIZ (void);
-void* Mono_Posix_Stdlib_CreateFilePosition (void);
-int Mono_Posix_Stdlib_DumpFilePosition (char* buf, void* handle, int len);
-int Mono_Posix_Stdlib_EOF (void);
-int Mono_Posix_Stdlib_EXIT_FAILURE (void);
-int Mono_Posix_Stdlib_EXIT_SUCCESS (void);
-int Mono_Posix_Stdlib_FILENAME_MAX (void);
-int Mono_Posix_Stdlib_FOPEN_MAX (void);
-void Mono_Posix_Stdlib_InvokeSignalHandler (int signum, void* handler);
-int Mono_Posix_Stdlib_L_tmpnam (void);
-int Mono_Posix_Stdlib_MB_CUR_MAX (void);
-int Mono_Posix_Stdlib_RAND_MAX (void);
-void* Mono_Posix_Stdlib_SIG_DFL (void);
-void* Mono_Posix_Stdlib_SIG_ERR (void);
-void* Mono_Posix_Stdlib_SIG_IGN (void);
-void Mono_Posix_Stdlib_SetLastError (int error);
-int Mono_Posix_Stdlib_TMP_MAX (void);
-int Mono_Posix_Stdlib__IOFBF (void);
-int Mono_Posix_Stdlib__IOLBF (void);
-int Mono_Posix_Stdlib__IONBF (void);
-void* Mono_Posix_Stdlib_calloc (guint64 nmemb, guint64 size);
-int Mono_Posix_Stdlib_clearerr (void* stream);
-int Mono_Posix_Stdlib_fgetpos (void* stream, void* pos);
-guint64 Mono_Posix_Stdlib_fread (void* ptr, guint64 size, guint64 nmemb, void* stream);
-int Mono_Posix_Stdlib_fseek (void* stream, gint64 offset, int origin);
-int Mono_Posix_Stdlib_fsetpos (void* stream, void* pos);
-gint64 Mono_Posix_Stdlib_ftell (void* stream);
-guint64 Mono_Posix_Stdlib_fwrite (void* ptr, guint64 size, guint64 nmemb, void* stream);
-void* Mono_Posix_Stdlib_malloc (guint64 size);
-int Mono_Posix_Stdlib_perror (const char* s);
-void* Mono_Posix_Stdlib_realloc (void* ptr, guint64 size);
-int Mono_Posix_Stdlib_rewind (void* stream);
-int Mono_Posix_Stdlib_setbuf (void* stream, void* buf);
-int Mono_Posix_Stdlib_setvbuf (void* stream, void* buf, int mode, guint64 size);
-void* Mono_Posix_Stdlib_stderr (void);
-void* Mono_Posix_Stdlib_stdin (void);
-void* Mono_Posix_Stdlib_stdout (void);
-guint64 Mono_Posix_Stdlib_strlen (void* s);
-int Mono_Posix_Syscall_L_ctermid (void);
-int Mono_Posix_Syscall_L_cuserid (void);
-int Mono_Posix_Syscall_WEXITSTATUS (int status);
-int Mono_Posix_Syscall_WIFEXITED (int status);
-int Mono_Posix_Syscall_WIFSIGNALED (int status);
-int Mono_Posix_Syscall_WIFSTOPPED (int status);
-int Mono_Posix_Syscall_WSTOPSIG (int status);
-int Mono_Posix_Syscall_WTERMSIG (int status);
-int Mono_Posix_Syscall_closelog (void);
-guint64 Mono_Posix_Syscall_confstr (int name, char* buf, guint64 len);
-int Mono_Posix_Syscall_creat (const char* pathname, unsigned int mode);
-int Mono_Posix_Syscall_encrypt (void* block, int edflag);
-void Mono_Posix_Syscall_endfsent (void);
-int Mono_Posix_Syscall_endgrent (void);
-int Mono_Posix_Syscall_endpwent (void);
-int Mono_Posix_Syscall_endusershell (void);
-int Mono_Posix_Syscall_fcntl (int fd, int cmd);
-int Mono_Posix_Syscall_fcntl_arg (int fd, int cmd, gint64 arg);
-int Mono_Posix_Syscall_fcntl_lock (int fd, int cmd, struct Mono_Posix_Flock* lock);
-int Mono_Posix_Syscall_fgetgrent (void* stream, struct Mono_Posix_Syscall__Group* grbuf);
-int Mono_Posix_Syscall_fgetpwent (void* stream, struct Mono_Posix_Syscall__Passwd* pwbuf);
-gint64 Mono_Posix_Syscall_fgetxattr (int fd, const char* name, void* value, guint64 size);
-gint64 Mono_Posix_Syscall_flistxattr (int fd, void* list, guint64 size);
-gint64 Mono_Posix_Syscall_fpathconf (int filedes, int name, int defaultError);
-int Mono_Posix_Syscall_fremovexattr (int fd, const char* name);
-int Mono_Posix_Syscall_fsetxattr (int fd, const char* name, void* value, guint64 size, int flags);
-int Mono_Posix_Syscall_fstat (int filedes, struct Mono_Posix_Stat* buf);
-int Mono_Posix_Syscall_fstatvfs (int fd, struct Mono_Posix_Statvfs* buf);
-int Mono_Posix_Syscall_ftruncate (int fd, gint64 length);
-int Mono_Posix_Syscall_futimes (int fd, struct Mono_Posix_Timeval* tvp);
-void* Mono_Posix_Syscall_getcwd (char* buf, guint64 size);
-int Mono_Posix_Syscall_getdomainname (char* name, guint64 len);
-int Mono_Posix_Syscall_getfsent (struct Mono_Posix_Syscall__Fstab* fs);
-int Mono_Posix_Syscall_getfsfile (const char* mount_point, struct Mono_Posix_Syscall__Fstab* fs);
-int Mono_Posix_Syscall_getfsspec (const char* special_file, struct Mono_Posix_Syscall__Fstab* fs);
-int Mono_Posix_Syscall_getgrent (struct Mono_Posix_Syscall__Group* grbuf);
-int Mono_Posix_Syscall_getgrgid (unsigned int uid, struct Mono_Posix_Syscall__Group* group);
-int Mono_Posix_Syscall_getgrgid_r (unsigned int uid, struct Mono_Posix_Syscall__Group* grbuf, void** grbufp);
-int Mono_Posix_Syscall_getgrnam (const char* name, struct Mono_Posix_Syscall__Group* group);
-int Mono_Posix_Syscall_getgrnam_r (const char* name, struct Mono_Posix_Syscall__Group* grbuf, void** grbufp);
-gint64 Mono_Posix_Syscall_gethostid (void);
-int Mono_Posix_Syscall_gethostname (char* name, guint64 len);
-int Mono_Posix_Syscall_getlogin_r (char* name, guint64 bufsize);
-int Mono_Posix_Syscall_getpwent (struct Mono_Posix_Syscall__Passwd* pwbuf);
-int Mono_Posix_Syscall_getpwnam (const char* name, struct Mono_Posix_Syscall__Passwd* passwd);
-int Mono_Posix_Syscall_getpwnam_r (const char* name, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
-int Mono_Posix_Syscall_getpwuid (unsigned int uid, struct Mono_Posix_Syscall__Passwd* passwd);
-int Mono_Posix_Syscall_getpwuid_r (unsigned int uid, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
-int Mono_Posix_Syscall_gettimeofday (struct Mono_Posix_Timeval* tv, void* ignore);
-gint64 Mono_Posix_Syscall_getxattr (const char* path, const char* name, void* value, guint64 size);
-gint64 Mono_Posix_Syscall_lgetxattr (const char* path, const char* name, void* value, guint64 size);
-gint64 Mono_Posix_Syscall_listxattr (const char* path, void* list, guint64 size);
-gint64 Mono_Posix_Syscall_llistxattr (const char* path, void* list, guint64 size);
-int Mono_Posix_Syscall_lockf (int fd, int cmd, gint64 len);
-int Mono_Posix_Syscall_lremovexattr (const char* path, const char* name);
-gint64 Mono_Posix_Syscall_lseek (int fd, gint64 offset, int whence);
-int Mono_Posix_Syscall_lsetxattr (const char* path, const char* name, void* value, guint64 size, int flags);
-int Mono_Posix_Syscall_lstat (const char* file_name, struct Mono_Posix_Stat* buf);
-int Mono_Posix_Syscall_lutimes (const char* filename, struct Mono_Posix_Timeval* tvp);
-int Mono_Posix_Syscall_mincore (void* start, guint64 length, void* vec);
-int Mono_Posix_Syscall_mknod (const char* pathname, unsigned int mode, guint64 dev);
-int Mono_Posix_Syscall_mlock (void* start, guint64 len);
-void* Mono_Posix_Syscall_mmap (void* start, guint64 length, int prot, int flags, int fd, gint64 offset);
-int Mono_Posix_Syscall_mprotect (void* start, guint64 len, int prot);
-void* Mono_Posix_Syscall_mremap (void* old_address, guint64 old_size, guint64 new_size, guint64 flags);
-int Mono_Posix_Syscall_msync (void* start, guint64 len, int flags);
-int Mono_Posix_Syscall_munlock (void* start, guint64 len);
-int Mono_Posix_Syscall_munmap (void* start, guint64 length);
-int Mono_Posix_Syscall_open (const char* pathname, int flags);
-int Mono_Posix_Syscall_open_mode (const char* pathname, int flags, unsigned int mode);
-int Mono_Posix_Syscall_openlog (void* ident, int option, int facility);
-gint64 Mono_Posix_Syscall_pathconf (const char* path, int name, int defaultError);
-int Mono_Posix_Syscall_pipe (int* reading, int* writing);
-int Mono_Posix_Syscall_posix_fadvise (int fd, gint64 offset, gint64 len, int advice);
-int Mono_Posix_Syscall_posix_fallocate (int fd, gint64 offset, guint64 len);
-int Mono_Posix_Syscall_posix_madvise (void* addr, guint64 len, int advice);
-gint64 Mono_Posix_Syscall_pread (int fd, void* buf, guint64 count, gint64 offset);
-int Mono_Posix_Syscall_psignal (int sig, const char* s);
-gint64 Mono_Posix_Syscall_pwrite (int fd, void* buf, guint64 count, gint64 offset);
-gint64 Mono_Posix_Syscall_read (int fd, void* buf, guint64 count);
-int Mono_Posix_Syscall_readdir (void* dir, struct Mono_Posix_Syscall__Dirent* dentry);
-int Mono_Posix_Syscall_readdir_r (void* dirp, struct Mono_Posix_Syscall__Dirent* entry, void** result);
-int Mono_Posix_Syscall_readlink (const char* path, char* buf, guint64 bufsiz);
-int Mono_Posix_Syscall_remap_file_pages (void* start, guint64 size, int prot, gint64 pgoff, int flags);
-int Mono_Posix_Syscall_removexattr (const char* path, const char* name);
-int Mono_Posix_Syscall_rewinddir (void* dir);
-int Mono_Posix_Syscall_seekdir (void* dir, gint64 offset);
-gint64 Mono_Posix_Syscall_sendfile (int out_fd, int in_fd, gint64* offset, guint64 count);
-int Mono_Posix_Syscall_setdomainname (const char* name, guint64 len);
-int Mono_Posix_Syscall_setfsent (void);
-int Mono_Posix_Syscall_setgrent (void);
-int Mono_Posix_Syscall_setgroups (guint64 size, unsigned int* list);
-int Mono_Posix_Syscall_sethostid (gint64 hostid);
-int Mono_Posix_Syscall_sethostname (const char* name, guint64 len);
-int Mono_Posix_Syscall_setkey (const char* key);
-int Mono_Posix_Syscall_setpwent (void);
-int Mono_Posix_Syscall_settimeofday (struct Mono_Posix_Timeval* tv, struct Mono_Posix_Timezone* tz);
-int Mono_Posix_Syscall_setusershell (void);
-int Mono_Posix_Syscall_setxattr (const char* path, const char* name, void* value, guint64 size, int flags);
-int Mono_Posix_Syscall_stat (const char* file_name, struct Mono_Posix_Stat* buf);
-int Mono_Posix_Syscall_statvfs (const char* path, struct Mono_Posix_Statvfs* buf);
-int Mono_Posix_Syscall_stime (gint64* t);
-int Mono_Posix_Syscall_strerror_r (int errnum, char* buf, guint64 n);
-void Mono_Posix_Syscall_swab (void* from, void* to, gint64 n);
-int Mono_Posix_Syscall_sync (void);
-gint64 Mono_Posix_Syscall_sysconf (int name, int defaultError);
-int Mono_Posix_Syscall_syslog (int priority, const char* message);
-gint64 Mono_Posix_Syscall_telldir (void* dir);
-gint64 Mono_Posix_Syscall_time (gint64* t);
-int Mono_Posix_Syscall_truncate (const char* path, gint64 length);
-int Mono_Posix_Syscall_ttyname_r (int fd, char* buf, guint64 buflen);
-int Mono_Posix_Syscall_utime (const char* filename, struct Mono_Posix_Utimbuf* buf, int use_buf);
-int Mono_Posix_Syscall_utimes (const char* filename, struct Mono_Posix_Timeval* tvp);
-int Mono_Posix_Syscall_utimes_bad (const char* filename, struct Mono_Posix_Timeval* tvp);
-gint64 Mono_Posix_Syscall_write (int fd, void* buf, guint64 count);
-int Mono_Posix_ToAccessMode (int value, int* rval);
-int Mono_Posix_ToAccessModes (int value, int* rval);
-int Mono_Posix_ToConfStr (int value, int* rval);
-int Mono_Posix_ToConfstrName (int value, int* rval);
-int Mono_Posix_ToDirectoryNotifyFlags (int value, int* rval);
-int Mono_Posix_ToErrno (int value, int* rval);
-int Mono_Posix_ToError (int value, int* rval);
-int Mono_Posix_ToFcntlCommand (int value, int* rval);
-int Mono_Posix_ToFilePermissions (unsigned int value, unsigned int* rval);
-int Mono_Posix_ToLockType (short value, short* rval);
-int Mono_Posix_ToLockfCommand (int value, int* rval);
-int Mono_Posix_ToMlockallFlags (int value, int* rval);
-int Mono_Posix_ToMmapFlags (int value, int* rval);
-int Mono_Posix_ToMmapProt (int value, int* rval);
-int Mono_Posix_ToMmapProts (int value, int* rval);
-int Mono_Posix_ToMountFlags (guint64 value, guint64* rval);
-int Mono_Posix_ToMremapFlags (guint64 value, guint64* rval);
-int Mono_Posix_ToMsyncFlags (int value, int* rval);
-int Mono_Posix_ToOpenFlags (int value, int* rval);
-int Mono_Posix_ToPathConf (int value, int* rval);
-int Mono_Posix_ToPathconfName (int value, int* rval);
-int Mono_Posix_ToPollEvents (short value, short* rval);
-int Mono_Posix_ToPosixFadviseAdvice (int value, int* rval);
-int Mono_Posix_ToPosixMadviseAdvice (int value, int* rval);
-int Mono_Posix_ToSeekFlags (short value, short* rval);
-int Mono_Posix_ToSignum (int value, int* rval);
-int Mono_Posix_ToSysConf (int value, int* rval);
-int Mono_Posix_ToSysconfName (int value, int* rval);
-int Mono_Posix_ToSyslogFacility (int value, int* rval);
-int Mono_Posix_ToSyslogLevel (int value, int* rval);
-int Mono_Posix_ToSyslogOptions (int value, int* rval);
-int Mono_Posix_ToWaitOptions (int value, int* rval);
-int Mono_Posix_ToXattrFlags (int value, int* rval);
-const char* helper_Mono_Posix_GetGroupName (int gid);
-const char* helper_Mono_Posix_GetUserName (int uid);
-int helper_Mono_Posix_Stat (const char* filename, int dereference, int* device, int* inode, int* mode, int* nlinks, int* uid, int* gid, int* rdev, gint64* size, gint64* blksize, gint64* blocks, gint64* atime, gint64* mtime, gint64* ctime);
-const char* helper_Mono_Posix_readdir (void* dir);
-int map_Mono_Posix_AccessMode (int mode);
-int map_Mono_Posix_FileMode (int mode);
-int map_Mono_Posix_OpenFlags (int flags);
-int map_Mono_Posix_WaitOptions (int wait_options);
-int wexitstatus (int status);
-int wifexited (int status);
-int wifsignaled (int status);
-int wifstopped (int status);
-int wstopsig (int status);
-int wtermsig (int status);
-
-G_END_DECLS
-
-#endif /* ndef INC_Mono_Posix_map_ICALLS_H */
-

+ 3468 - 7295
support/map.c

@@ -1,10584 +1,6757 @@
 /*
- * This file was automatically generated by make-map from ../../mcs/class/lib/default/Mono.Posix.dll.
+ * This file was automatically generated by create-native-map from ../../mcs/class/lib/net_2_0/Mono.Posix.dll.
  *
  * DO NOT MODIFY.
  */
+#ifdef HAVE_CONFIG_H
 #include <config.h>
+#endif /* ndef HAVE_CONFIG_H */
 
-#include "map.h"
+#include <stdlib.h>
+#include <string.h>
 
+/*
+ * Implementation Macros
+ */
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
 #endif /* ndef _GNU_SOURCE */
+
 #ifndef _XOPEN_SOURCE
 #define _XOPEN_SOURCE
 #endif /* ndef _XOPEN_SOURCE */
+
+
+/*
+ * Implementation Includes
+ */
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <sys/time.h>
 #ifdef HAVE_SYS_POLL_H
 #include <sys/poll.h>
-#endif
+#endif /* ndef HAVE_SYS_POLL_H */
 #ifdef HAVE_SYS_WAIT_H
 #include <sys/wait.h>
-#endif
+#endif /* ndef HAVE_SYS_WAIT_H */
 #ifdef HAVE_SYS_STATVFS_H
 #include <sys/statvfs.h>
-#endif
+#endif /* ndef HAVE_SYS_STATVFS_H */
 #ifdef HAVE_SYS_XATTR_H
 #include <sys/xattr.h>
-#endif
+#endif /* ndef HAVE_SYS_XATTR_H */
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
-#endif
+#endif /* ndef HAVE_SYS_MMAN_H */
 #include <unistd.h>
 #include <fcntl.h>
 #include <signal.h>
 #ifdef HAVE_POLL_H
 #include <poll.h>
-#endif
+#endif /* ndef HAVE_POLL_H */
 #ifdef HAVE_GRP_H
 #include <grp.h>
-#endif
+#endif /* ndef HAVE_GRP_H */
 #include <errno.h>
 #ifdef HAVE_SYSLOG_H
 #include <syslog.h>
+#endif /* ndef HAVE_SYSLOG_H */
+#include <dirent.h>
+#include <utime.h>
+
+#include "map.h"
+
+#include <errno.h>    /* errno, EOVERFLOW */
+#include <glib.h>     /* g* types, g_assert_not_reached() */
+
+/* returns TRUE if @type is an unsigned type */
+#define _cnm_integral_type_is_unsigned(type) \
+    (sizeof(type) == sizeof(gint8)           \
+      ? (((type)-1) > G_MAXINT8)             \
+      : sizeof(type) == sizeof(gint16)       \
+        ? (((type)-1) > G_MAXINT16)          \
+        : sizeof(type) == sizeof(gint32)     \
+          ? (((type)-1) > G_MAXINT32)        \
+          : sizeof(type) == sizeof(gint64)   \
+            ? (((type)-1) > G_MAXINT64)      \
+            : (g_assert_not_reached (), 0))
+
+/* returns the minimum value of @type as a gint64 */
+#define _cnm_integral_type_min(type)          \
+    (_cnm_integral_type_is_unsigned (type)    \
+      ? 0                                     \
+      : sizeof(type) == sizeof(gint8)         \
+        ? G_MININT8                           \
+        : sizeof(type) == sizeof(gint16)      \
+          ? G_MININT16                        \
+          : sizeof(type) == sizeof(gint32)    \
+            ? G_MININT32                      \
+            : sizeof(type) == sizeof(gint64)  \
+              ? G_MININT64                    \
+              : (g_assert_not_reached (), 0))
+
+/* returns the maximum value of @type as a guint64 */
+#define _cnm_integral_type_max(type)            \
+    (_cnm_integral_type_is_unsigned (type)      \
+      ? sizeof(type) == sizeof(gint8)           \
+        ? G_MAXUINT8                            \
+        : sizeof(type) == sizeof(gint16)        \
+          ? G_MAXUINT16                         \
+          : sizeof(type) == sizeof(gint32)      \
+            ? G_MAXUINT32                       \
+            : sizeof(type) == sizeof(gint64)    \
+              ? G_MAXUINT64                     \
+              : (g_assert_not_reached (), 0)    \
+      : sizeof(type) == sizeof(gint8)           \
+          ? G_MAXINT8                           \
+          : sizeof(type) == sizeof(gint16)      \
+            ? G_MAXINT16                        \
+            : sizeof(type) == sizeof(gint32)    \
+              ? G_MAXINT32                      \
+              : sizeof(type) == sizeof(gint64)  \
+                ? G_MAXINT64                    \
+                : (g_assert_not_reached (), 0))
+
+#ifdef DEBUG
+#define _cnm_dump_(to_t,from)                                            \
+  printf ("# %s -> %s: min=%llx; max=%llx; value=%llx; lt=%i; l0=%i; gt=%i; e=%i\n", \
+    #from, #to_t,                                                        \
+    (gint64) (_cnm_integral_type_min(to_t)),                             \
+    (gint64) (_cnm_integral_type_max (to_t)),                            \
+    (gint64) (from),                                                     \
+    (_cnm_integral_type_min (to_t) <= from),                             \
+    (from < 0),                                                          \
+    /* (_cnm_integral_type_max (to_t) >= from) */                        \
+    (from <= _cnm_integral_type_max (to_t)),                             \
+    ((_cnm_integral_type_min(to_t) >= from) &&                           \
+          ((from < 0) ? 1 : (from <= _cnm_integral_type_max(to_t))))     \
+  )
+#else
+#define _cnm_dump_(to_t, from) do {} while (0)
 #endif
 
-int Mono_Posix_FromAccessMode (int x, int *r)
+#define _cnm_return_val_if_overflow(to_t,from,val)  G_STMT_START {   \
+    if (!(_cnm_integral_type_min(to_t) <= from &&                    \
+          ((from < 0) || (from <= _cnm_integral_type_max(to_t))))) { \
+      _cnm_dump_(to_t, from);                                        \
+      errno = EOVERFLOW;                                             \
+      return (val);                                                  \
+    }                                                                \
+  } G_STMT_END
+
+int Mono_Posix_FromAccessModes (int x, int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_AccessMode_F_OK) == Mono_Posix_AccessMode_F_OK)
+	if ((x & Mono_Posix_AccessModes_F_OK) == Mono_Posix_AccessModes_F_OK)
 #ifdef F_OK
 		*r |= F_OK;
 #else /* def F_OK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef F_OK */
-	if ((x & Mono_Posix_AccessMode_R_OK) == Mono_Posix_AccessMode_R_OK)
+	if ((x & Mono_Posix_AccessModes_R_OK) == Mono_Posix_AccessModes_R_OK)
 #ifdef R_OK
 		*r |= R_OK;
 #else /* def R_OK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef R_OK */
-	if ((x & Mono_Posix_AccessMode_W_OK) == Mono_Posix_AccessMode_W_OK)
+	if ((x & Mono_Posix_AccessModes_W_OK) == Mono_Posix_AccessModes_W_OK)
 #ifdef W_OK
 		*r |= W_OK;
 #else /* def W_OK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef W_OK */
-	if ((x & Mono_Posix_AccessMode_X_OK) == Mono_Posix_AccessMode_X_OK)
+	if ((x & Mono_Posix_AccessModes_X_OK) == Mono_Posix_AccessModes_X_OK)
 #ifdef X_OK
 		*r |= X_OK;
 #else /* def X_OK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef X_OK */
+	if (x == 0)
+		return 0;
 	return 0;
 }
 
-int Mono_Posix_ToAccessMode (int x, int *r)
+int Mono_Posix_ToAccessModes (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
 #ifdef F_OK
 	if ((x & F_OK) == F_OK)
-		*r |= Mono_Posix_AccessMode_F_OK;
+		*r |= Mono_Posix_AccessModes_F_OK;
 #endif /* ndef F_OK */
 #ifdef R_OK
 	if ((x & R_OK) == R_OK)
-		*r |= Mono_Posix_AccessMode_R_OK;
+		*r |= Mono_Posix_AccessModes_R_OK;
 #endif /* ndef R_OK */
 #ifdef W_OK
 	if ((x & W_OK) == W_OK)
-		*r |= Mono_Posix_AccessMode_W_OK;
+		*r |= Mono_Posix_AccessModes_W_OK;
 #endif /* ndef W_OK */
 #ifdef X_OK
 	if ((x & X_OK) == X_OK)
-		*r |= Mono_Posix_AccessMode_X_OK;
+		*r |= Mono_Posix_AccessModes_X_OK;
 #endif /* ndef X_OK */
 	return 0;
 }
 
-int Mono_Posix_FromConfStr (int x, int *r)
+int Mono_Posix_FromConfstrName (int x, int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_ConfStr__CS_GNU_LIBC_VERSION)
+	if (x == Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION)
 #ifdef _CS_GNU_LIBC_VERSION
 		{*r = _CS_GNU_LIBC_VERSION; return 0;}
 #else /* def _CS_GNU_LIBC_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_GNU_LIBC_VERSION */
-	if (x == Mono_Posix_ConfStr__CS_GNU_LIBPTHREAD_VERSION)
+	if (x == Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION)
 #ifdef _CS_GNU_LIBPTHREAD_VERSION
 		{*r = _CS_GNU_LIBPTHREAD_VERSION; return 0;}
 #else /* def _CS_GNU_LIBPTHREAD_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
-	if (x == Mono_Posix_ConfStr__CS_LFS64_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS64_CFLAGS)
 #ifdef _CS_LFS64_CFLAGS
 		{*r = _CS_LFS64_CFLAGS; return 0;}
 #else /* def _CS_LFS64_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS64_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_LFS64_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS)
 #ifdef _CS_LFS64_LDFLAGS
 		{*r = _CS_LFS64_LDFLAGS; return 0;}
 #else /* def _CS_LFS64_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS64_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_LFS64_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS64_LIBS)
 #ifdef _CS_LFS64_LIBS
 		{*r = _CS_LFS64_LIBS; return 0;}
 #else /* def _CS_LFS64_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS64_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_LFS64_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS)
 #ifdef _CS_LFS64_LINTFLAGS
 		{*r = _CS_LFS64_LINTFLAGS; return 0;}
 #else /* def _CS_LFS64_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS64_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_LFS_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS_CFLAGS)
 #ifdef _CS_LFS_CFLAGS
 		{*r = _CS_LFS_CFLAGS; return 0;}
 #else /* def _CS_LFS_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_LFS_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS_LDFLAGS)
 #ifdef _CS_LFS_LDFLAGS
 		{*r = _CS_LFS_LDFLAGS; return 0;}
 #else /* def _CS_LFS_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_LFS_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS_LIBS)
 #ifdef _CS_LFS_LIBS
 		{*r = _CS_LFS_LIBS; return 0;}
 #else /* def _CS_LFS_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_LFS_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS)
 #ifdef _CS_LFS_LINTFLAGS
 		{*r = _CS_LFS_LINTFLAGS; return 0;}
 #else /* def _CS_LFS_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_LFS_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_PATH)
+	if (x == Mono_Posix_ConfstrName__CS_PATH)
 #ifdef _CS_PATH
 		{*r = _CS_PATH; return 0;}
 #else /* def _CS_PATH */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_PATH */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS)
 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
 		{*r = _CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
 		{*r = _CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS)
 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
 		{*r = _CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFF32_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
 		{*r = _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
 		{*r = _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
 		{*r = _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS)
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
 		{*r = _CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
 		{*r = _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS)
 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
 		{*r = _CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_LP64_OFF64_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS)
 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
 		{*r = _CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS)
 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
 		{*r = _CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
 #else /* def _CS_POSIX_V6_LP64_OFF64_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
 		{*r = _CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
 		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
 		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
 		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
 		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
 #else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_V6_WIDTH_RESTRICTED_ENVS)
+	if (x == Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS)
 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
 		{*r = _CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
 #else /* def _CS_V6_WIDTH_RESTRICTED_ENVS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS)
 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
 		{*r = _CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFF32_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS)
 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
 		{*r = _CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFF32_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS)
 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
 		{*r = _CS_XBS5_ILP32_OFF32_LIBS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFF32_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS)
 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
 		{*r = _CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFF32_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS)
 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
 		{*r = _CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFFBIG_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS)
 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
 		{*r = _CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS)
 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
 		{*r = _CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFFBIG_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
 		{*r = _CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
 #else /* def _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS)
 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
 		{*r = _CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
 #else /* def _CS_XBS5_LP64_OFF64_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS)
 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
 		{*r = _CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
 #else /* def _CS_XBS5_LP64_OFF64_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS)
 #ifdef _CS_XBS5_LP64_OFF64_LIBS
 		{*r = _CS_XBS5_LP64_OFF64_LIBS; return 0;}
 #else /* def _CS_XBS5_LP64_OFF64_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS)
 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
 		{*r = _CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
 #else /* def _CS_XBS5_LP64_OFF64_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_CFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS)
 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
 		{*r = _CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
 #else /* def _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
 		{*r = _CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
 #else /* def _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LIBS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS)
 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
 		{*r = _CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
 #else /* def _CS_XBS5_LPBIG_OFFBIG_LIBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
+	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
 		{*r = _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
 #else /* def _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
+	if (x == 0)
+		return 0;
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_ToConfStr (int x, int *r)
+int Mono_Posix_ToConfstrName (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
 #ifdef _CS_GNU_LIBC_VERSION
 	if (x == _CS_GNU_LIBC_VERSION)
-		{*r = Mono_Posix_ConfStr__CS_GNU_LIBC_VERSION; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION; return 0;}
 #endif /* ndef _CS_GNU_LIBC_VERSION */
 #ifdef _CS_GNU_LIBPTHREAD_VERSION
 	if (x == _CS_GNU_LIBPTHREAD_VERSION)
-		{*r = Mono_Posix_ConfStr__CS_GNU_LIBPTHREAD_VERSION; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION; return 0;}
 #endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
 #ifdef _CS_LFS64_CFLAGS
 	if (x == _CS_LFS64_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_LFS64_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS64_CFLAGS; return 0;}
 #endif /* ndef _CS_LFS64_CFLAGS */
 #ifdef _CS_LFS64_LDFLAGS
 	if (x == _CS_LFS64_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_LFS64_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS; return 0;}
 #endif /* ndef _CS_LFS64_LDFLAGS */
 #ifdef _CS_LFS64_LIBS
 	if (x == _CS_LFS64_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_LFS64_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS64_LIBS; return 0;}
 #endif /* ndef _CS_LFS64_LIBS */
 #ifdef _CS_LFS64_LINTFLAGS
 	if (x == _CS_LFS64_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_LFS64_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS; return 0;}
 #endif /* ndef _CS_LFS64_LINTFLAGS */
 #ifdef _CS_LFS_CFLAGS
 	if (x == _CS_LFS_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_LFS_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS_CFLAGS; return 0;}
 #endif /* ndef _CS_LFS_CFLAGS */
 #ifdef _CS_LFS_LDFLAGS
 	if (x == _CS_LFS_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_LFS_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS_LDFLAGS; return 0;}
 #endif /* ndef _CS_LFS_LDFLAGS */
 #ifdef _CS_LFS_LIBS
 	if (x == _CS_LFS_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_LFS_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS_LIBS; return 0;}
 #endif /* ndef _CS_LFS_LIBS */
 #ifdef _CS_LFS_LINTFLAGS
 	if (x == _CS_LFS_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_LFS_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS; return 0;}
 #endif /* ndef _CS_LFS_LINTFLAGS */
 #ifdef _CS_PATH
 	if (x == _CS_PATH)
-		{*r = Mono_Posix_ConfStr__CS_PATH; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_PATH; return 0;}
 #endif /* ndef _CS_PATH */
 #ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
 	if (x == _CS_POSIX_V6_ILP32_OFF32_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
 #ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
 	if (x == _CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
 #ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
 	if (x == _CS_POSIX_V6_ILP32_OFF32_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
 #ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
 	if (x == _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
 	if (x == _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
 	if (x == _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
 	if (x == _CS_POSIX_V6_ILP32_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
 #ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
 	if (x == _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
 #ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
 	if (x == _CS_POSIX_V6_LP64_OFF64_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
 #ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
 	if (x == _CS_POSIX_V6_LP64_OFF64_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
 #ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
 	if (x == _CS_POSIX_V6_LP64_OFF64_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
 #ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
 	if (x == _CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
 	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
 	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
 	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
 #ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
 	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
 #endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
 #ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
 	if (x == _CS_V6_WIDTH_RESTRICTED_ENVS)
-		{*r = Mono_Posix_ConfStr__CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
 #endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
 #ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
 	if (x == _CS_XBS5_ILP32_OFF32_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
 #ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
 	if (x == _CS_XBS5_ILP32_OFF32_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
 #ifdef _CS_XBS5_ILP32_OFF32_LIBS
 	if (x == _CS_XBS5_ILP32_OFF32_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
 #ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
 	if (x == _CS_XBS5_ILP32_OFF32_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
 #ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
 	if (x == _CS_XBS5_ILP32_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
 #ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
 	if (x == _CS_XBS5_ILP32_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
 #ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
 	if (x == _CS_XBS5_ILP32_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
 #ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
 	if (x == _CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
 #ifdef _CS_XBS5_LP64_OFF64_CFLAGS
 	if (x == _CS_XBS5_LP64_OFF64_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
 #ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
 	if (x == _CS_XBS5_LP64_OFF64_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
 #ifdef _CS_XBS5_LP64_OFF64_LIBS
 	if (x == _CS_XBS5_LP64_OFF64_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS; return 0;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
 #ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
 	if (x == _CS_XBS5_LP64_OFF64_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
 #ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
 	if (x == _CS_XBS5_LPBIG_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
 #ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
 	if (x == _CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
 #ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
 	if (x == _CS_XBS5_LPBIG_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
 #ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
 	if (x == _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
+		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
 #endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_FromError (int x, int *r)
+int Mono_Posix_FromDirectoryNotifyFlags (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ACCESS) == Mono_Posix_DirectoryNotifyFlags_DN_ACCESS)
+#ifdef DN_ACCESS
+		*r |= DN_ACCESS;
+#else /* def DN_ACCESS */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_ACCESS */
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB) == Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB)
+#ifdef DN_ATTRIB
+		*r |= DN_ATTRIB;
+#else /* def DN_ATTRIB */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_ATTRIB */
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_CREATE) == Mono_Posix_DirectoryNotifyFlags_DN_CREATE)
+#ifdef DN_CREATE
+		*r |= DN_CREATE;
+#else /* def DN_CREATE */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_CREATE */
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_DELETE) == Mono_Posix_DirectoryNotifyFlags_DN_DELETE)
+#ifdef DN_DELETE
+		*r |= DN_DELETE;
+#else /* def DN_DELETE */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_DELETE */
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MODIFY) == Mono_Posix_DirectoryNotifyFlags_DN_MODIFY)
+#ifdef DN_MODIFY
+		*r |= DN_MODIFY;
+#else /* def DN_MODIFY */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_MODIFY */
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT) == Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT)
+#ifdef DN_MULTISHOT
+		*r |= DN_MULTISHOT;
+#else /* def DN_MULTISHOT */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_MULTISHOT */
+	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_RENAME) == Mono_Posix_DirectoryNotifyFlags_DN_RENAME)
+#ifdef DN_RENAME
+		*r |= DN_RENAME;
+#else /* def DN_RENAME */
+		{errno = EINVAL; return -1;}
+#endif /* ndef DN_RENAME */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToDirectoryNotifyFlags (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
-	if (x == Mono_Posix_Error_E2BIG)
+#ifdef DN_ACCESS
+	if ((x & DN_ACCESS) == DN_ACCESS)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_ACCESS;
+#endif /* ndef DN_ACCESS */
+#ifdef DN_ATTRIB
+	if ((x & DN_ATTRIB) == DN_ATTRIB)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB;
+#endif /* ndef DN_ATTRIB */
+#ifdef DN_CREATE
+	if ((x & DN_CREATE) == DN_CREATE)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_CREATE;
+#endif /* ndef DN_CREATE */
+#ifdef DN_DELETE
+	if ((x & DN_DELETE) == DN_DELETE)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_DELETE;
+#endif /* ndef DN_DELETE */
+#ifdef DN_MODIFY
+	if ((x & DN_MODIFY) == DN_MODIFY)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_MODIFY;
+#endif /* ndef DN_MODIFY */
+#ifdef DN_MULTISHOT
+	if ((x & DN_MULTISHOT) == DN_MULTISHOT)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT;
+#endif /* ndef DN_MULTISHOT */
+#ifdef DN_RENAME
+	if ((x & DN_RENAME) == DN_RENAME)
+		*r |= Mono_Posix_DirectoryNotifyFlags_DN_RENAME;
+#endif /* ndef DN_RENAME */
+	return 0;
+}
+
+int Mono_Posix_FromErrno (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_Errno_E2BIG)
 #ifdef E2BIG
 		{*r = E2BIG; return 0;}
 #else /* def E2BIG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef E2BIG */
-	if (x == Mono_Posix_Error_EACCES)
+	if (x == Mono_Posix_Errno_EACCES)
 #ifdef EACCES
 		{*r = EACCES; return 0;}
 #else /* def EACCES */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EACCES */
-	if (x == Mono_Posix_Error_EADDRINUSE)
+	if (x == Mono_Posix_Errno_EADDRINUSE)
 #ifdef EADDRINUSE
 		{*r = EADDRINUSE; return 0;}
 #else /* def EADDRINUSE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EADDRINUSE */
-	if (x == Mono_Posix_Error_EADDRNOTAVAIL)
+	if (x == Mono_Posix_Errno_EADDRNOTAVAIL)
 #ifdef EADDRNOTAVAIL
 		{*r = EADDRNOTAVAIL; return 0;}
 #else /* def EADDRNOTAVAIL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EADDRNOTAVAIL */
-	if (x == Mono_Posix_Error_EADV)
+	if (x == Mono_Posix_Errno_EADV)
 #ifdef EADV
 		{*r = EADV; return 0;}
 #else /* def EADV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EADV */
-	if (x == Mono_Posix_Error_EAFNOSUPPORT)
+	if (x == Mono_Posix_Errno_EAFNOSUPPORT)
 #ifdef EAFNOSUPPORT
 		{*r = EAFNOSUPPORT; return 0;}
 #else /* def EAFNOSUPPORT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EAFNOSUPPORT */
-	if (x == Mono_Posix_Error_EAGAIN)
+	if (x == Mono_Posix_Errno_EAGAIN)
 #ifdef EAGAIN
 		{*r = EAGAIN; return 0;}
 #else /* def EAGAIN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EAGAIN */
-	if (x == Mono_Posix_Error_EALREADY)
+	if (x == Mono_Posix_Errno_EALREADY)
 #ifdef EALREADY
 		{*r = EALREADY; return 0;}
 #else /* def EALREADY */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EALREADY */
-	if (x == Mono_Posix_Error_EBADE)
+	if (x == Mono_Posix_Errno_EBADE)
 #ifdef EBADE
 		{*r = EBADE; return 0;}
 #else /* def EBADE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADE */
-	if (x == Mono_Posix_Error_EBADF)
+	if (x == Mono_Posix_Errno_EBADF)
 #ifdef EBADF
 		{*r = EBADF; return 0;}
 #else /* def EBADF */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADF */
-	if (x == Mono_Posix_Error_EBADFD)
+	if (x == Mono_Posix_Errno_EBADFD)
 #ifdef EBADFD
 		{*r = EBADFD; return 0;}
 #else /* def EBADFD */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADFD */
-	if (x == Mono_Posix_Error_EBADMSG)
+	if (x == Mono_Posix_Errno_EBADMSG)
 #ifdef EBADMSG
 		{*r = EBADMSG; return 0;}
 #else /* def EBADMSG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADMSG */
-	if (x == Mono_Posix_Error_EBADR)
+	if (x == Mono_Posix_Errno_EBADR)
 #ifdef EBADR
 		{*r = EBADR; return 0;}
 #else /* def EBADR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADR */
-	if (x == Mono_Posix_Error_EBADRQC)
+	if (x == Mono_Posix_Errno_EBADRQC)
 #ifdef EBADRQC
 		{*r = EBADRQC; return 0;}
 #else /* def EBADRQC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADRQC */
-	if (x == Mono_Posix_Error_EBADSLT)
+	if (x == Mono_Posix_Errno_EBADSLT)
 #ifdef EBADSLT
 		{*r = EBADSLT; return 0;}
 #else /* def EBADSLT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBADSLT */
-	if (x == Mono_Posix_Error_EBFONT)
+	if (x == Mono_Posix_Errno_EBFONT)
 #ifdef EBFONT
 		{*r = EBFONT; return 0;}
 #else /* def EBFONT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBFONT */
-	if (x == Mono_Posix_Error_EBUSY)
+	if (x == Mono_Posix_Errno_EBUSY)
 #ifdef EBUSY
 		{*r = EBUSY; return 0;}
 #else /* def EBUSY */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EBUSY */
-	if (x == Mono_Posix_Error_ECHILD)
+	if (x == Mono_Posix_Errno_ECHILD)
 #ifdef ECHILD
 		{*r = ECHILD; return 0;}
 #else /* def ECHILD */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ECHILD */
-	if (x == Mono_Posix_Error_ECHRNG)
+	if (x == Mono_Posix_Errno_ECHRNG)
 #ifdef ECHRNG
 		{*r = ECHRNG; return 0;}
 #else /* def ECHRNG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ECHRNG */
-	if (x == Mono_Posix_Error_ECOMM)
+	if (x == Mono_Posix_Errno_ECOMM)
 #ifdef ECOMM
 		{*r = ECOMM; return 0;}
 #else /* def ECOMM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ECOMM */
-	if (x == Mono_Posix_Error_ECONNABORTED)
+	if (x == Mono_Posix_Errno_ECONNABORTED)
 #ifdef ECONNABORTED
 		{*r = ECONNABORTED; return 0;}
 #else /* def ECONNABORTED */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ECONNABORTED */
-	if (x == Mono_Posix_Error_ECONNREFUSED)
+	if (x == Mono_Posix_Errno_ECONNREFUSED)
 #ifdef ECONNREFUSED
 		{*r = ECONNREFUSED; return 0;}
 #else /* def ECONNREFUSED */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ECONNREFUSED */
-	if (x == Mono_Posix_Error_ECONNRESET)
+	if (x == Mono_Posix_Errno_ECONNRESET)
 #ifdef ECONNRESET
 		{*r = ECONNRESET; return 0;}
 #else /* def ECONNRESET */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ECONNRESET */
-	if (x == Mono_Posix_Error_EDEADLK)
+	if (x == Mono_Posix_Errno_EDEADLK)
 #ifdef EDEADLK
 		{*r = EDEADLK; return 0;}
 #else /* def EDEADLK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EDEADLK */
-	if (x == Mono_Posix_Error_EDEADLOCK)
+	if (x == Mono_Posix_Errno_EDEADLOCK)
 #ifdef EDEADLOCK
 		{*r = EDEADLOCK; return 0;}
 #else /* def EDEADLOCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EDEADLOCK */
-	if (x == Mono_Posix_Error_EDESTADDRREQ)
+	if (x == Mono_Posix_Errno_EDESTADDRREQ)
 #ifdef EDESTADDRREQ
 		{*r = EDESTADDRREQ; return 0;}
 #else /* def EDESTADDRREQ */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EDESTADDRREQ */
-	if (x == Mono_Posix_Error_EDOM)
+	if (x == Mono_Posix_Errno_EDOM)
 #ifdef EDOM
 		{*r = EDOM; return 0;}
 #else /* def EDOM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EDOM */
-	if (x == Mono_Posix_Error_EDOTDOT)
+	if (x == Mono_Posix_Errno_EDOTDOT)
 #ifdef EDOTDOT
 		{*r = EDOTDOT; return 0;}
 #else /* def EDOTDOT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EDOTDOT */
-	if (x == Mono_Posix_Error_EDQUOT)
+	if (x == Mono_Posix_Errno_EDQUOT)
 #ifdef EDQUOT
 		{*r = EDQUOT; return 0;}
 #else /* def EDQUOT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EDQUOT */
-	if (x == Mono_Posix_Error_EEXIST)
+	if (x == Mono_Posix_Errno_EEXIST)
 #ifdef EEXIST
 		{*r = EEXIST; return 0;}
 #else /* def EEXIST */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EEXIST */
-	if (x == Mono_Posix_Error_EFAULT)
+	if (x == Mono_Posix_Errno_EFAULT)
 #ifdef EFAULT
 		{*r = EFAULT; return 0;}
 #else /* def EFAULT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EFAULT */
-	if (x == Mono_Posix_Error_EFBIG)
+	if (x == Mono_Posix_Errno_EFBIG)
 #ifdef EFBIG
 		{*r = EFBIG; return 0;}
 #else /* def EFBIG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EFBIG */
-	if (x == Mono_Posix_Error_EHOSTDOWN)
+	if (x == Mono_Posix_Errno_EHOSTDOWN)
 #ifdef EHOSTDOWN
 		{*r = EHOSTDOWN; return 0;}
 #else /* def EHOSTDOWN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EHOSTDOWN */
-	if (x == Mono_Posix_Error_EHOSTUNREACH)
+	if (x == Mono_Posix_Errno_EHOSTUNREACH)
 #ifdef EHOSTUNREACH
 		{*r = EHOSTUNREACH; return 0;}
 #else /* def EHOSTUNREACH */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EHOSTUNREACH */
-	if (x == Mono_Posix_Error_EIDRM)
+	if (x == Mono_Posix_Errno_EIDRM)
 #ifdef EIDRM
 		{*r = EIDRM; return 0;}
 #else /* def EIDRM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EIDRM */
-	if (x == Mono_Posix_Error_EILSEQ)
+	if (x == Mono_Posix_Errno_EILSEQ)
 #ifdef EILSEQ
 		{*r = EILSEQ; return 0;}
 #else /* def EILSEQ */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EILSEQ */
-	if (x == Mono_Posix_Error_EINPROGRESS)
+	if (x == Mono_Posix_Errno_EINPROGRESS)
 #ifdef EINPROGRESS
 		{*r = EINPROGRESS; return 0;}
 #else /* def EINPROGRESS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EINPROGRESS */
-	if (x == Mono_Posix_Error_EINTR)
+	if (x == Mono_Posix_Errno_EINTR)
 #ifdef EINTR
 		{*r = EINTR; return 0;}
 #else /* def EINTR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EINTR */
-	if (x == Mono_Posix_Error_EINVAL)
+	if (x == Mono_Posix_Errno_EINVAL)
 #ifdef EINVAL
 		{*r = EINVAL; return 0;}
 #else /* def EINVAL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EINVAL */
-	if (x == Mono_Posix_Error_EIO)
+	if (x == Mono_Posix_Errno_EIO)
 #ifdef EIO
 		{*r = EIO; return 0;}
 #else /* def EIO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EIO */
-	if (x == Mono_Posix_Error_EISCONN)
+	if (x == Mono_Posix_Errno_EISCONN)
 #ifdef EISCONN
 		{*r = EISCONN; return 0;}
 #else /* def EISCONN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EISCONN */
-	if (x == Mono_Posix_Error_EISDIR)
+	if (x == Mono_Posix_Errno_EISDIR)
 #ifdef EISDIR
 		{*r = EISDIR; return 0;}
 #else /* def EISDIR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EISDIR */
-	if (x == Mono_Posix_Error_EISNAM)
+	if (x == Mono_Posix_Errno_EISNAM)
 #ifdef EISNAM
 		{*r = EISNAM; return 0;}
 #else /* def EISNAM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EISNAM */
-	if (x == Mono_Posix_Error_EL2HLT)
+	if (x == Mono_Posix_Errno_EL2HLT)
 #ifdef EL2HLT
 		{*r = EL2HLT; return 0;}
 #else /* def EL2HLT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EL2HLT */
-	if (x == Mono_Posix_Error_EL2NSYNC)
+	if (x == Mono_Posix_Errno_EL2NSYNC)
 #ifdef EL2NSYNC
 		{*r = EL2NSYNC; return 0;}
 #else /* def EL2NSYNC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EL2NSYNC */
-	if (x == Mono_Posix_Error_EL3HLT)
+	if (x == Mono_Posix_Errno_EL3HLT)
 #ifdef EL3HLT
 		{*r = EL3HLT; return 0;}
 #else /* def EL3HLT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EL3HLT */
-	if (x == Mono_Posix_Error_EL3RST)
+	if (x == Mono_Posix_Errno_EL3RST)
 #ifdef EL3RST
 		{*r = EL3RST; return 0;}
 #else /* def EL3RST */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EL3RST */
-	if (x == Mono_Posix_Error_ELIBACC)
+	if (x == Mono_Posix_Errno_ELIBACC)
 #ifdef ELIBACC
 		{*r = ELIBACC; return 0;}
 #else /* def ELIBACC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELIBACC */
-	if (x == Mono_Posix_Error_ELIBBAD)
+	if (x == Mono_Posix_Errno_ELIBBAD)
 #ifdef ELIBBAD
 		{*r = ELIBBAD; return 0;}
 #else /* def ELIBBAD */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELIBBAD */
-	if (x == Mono_Posix_Error_ELIBEXEC)
+	if (x == Mono_Posix_Errno_ELIBEXEC)
 #ifdef ELIBEXEC
 		{*r = ELIBEXEC; return 0;}
 #else /* def ELIBEXEC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELIBEXEC */
-	if (x == Mono_Posix_Error_ELIBMAX)
+	if (x == Mono_Posix_Errno_ELIBMAX)
 #ifdef ELIBMAX
 		{*r = ELIBMAX; return 0;}
 #else /* def ELIBMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELIBMAX */
-	if (x == Mono_Posix_Error_ELIBSCN)
+	if (x == Mono_Posix_Errno_ELIBSCN)
 #ifdef ELIBSCN
 		{*r = ELIBSCN; return 0;}
 #else /* def ELIBSCN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELIBSCN */
-	if (x == Mono_Posix_Error_ELNRNG)
+	if (x == Mono_Posix_Errno_ELNRNG)
 #ifdef ELNRNG
 		{*r = ELNRNG; return 0;}
 #else /* def ELNRNG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELNRNG */
-	if (x == Mono_Posix_Error_ELOOP)
+	if (x == Mono_Posix_Errno_ELOOP)
 #ifdef ELOOP
 		{*r = ELOOP; return 0;}
 #else /* def ELOOP */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ELOOP */
-	if (x == Mono_Posix_Error_EMEDIUMTYPE)
+	if (x == Mono_Posix_Errno_EMEDIUMTYPE)
 #ifdef EMEDIUMTYPE
 		{*r = EMEDIUMTYPE; return 0;}
 #else /* def EMEDIUMTYPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EMEDIUMTYPE */
-	if (x == Mono_Posix_Error_EMFILE)
+	if (x == Mono_Posix_Errno_EMFILE)
 #ifdef EMFILE
 		{*r = EMFILE; return 0;}
 #else /* def EMFILE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EMFILE */
-	if (x == Mono_Posix_Error_EMLINK)
+	if (x == Mono_Posix_Errno_EMLINK)
 #ifdef EMLINK
 		{*r = EMLINK; return 0;}
 #else /* def EMLINK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EMLINK */
-	if (x == Mono_Posix_Error_EMSGSIZE)
+	if (x == Mono_Posix_Errno_EMSGSIZE)
 #ifdef EMSGSIZE
 		{*r = EMSGSIZE; return 0;}
 #else /* def EMSGSIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EMSGSIZE */
-	if (x == Mono_Posix_Error_EMULTIHOP)
+	if (x == Mono_Posix_Errno_EMULTIHOP)
 #ifdef EMULTIHOP
 		{*r = EMULTIHOP; return 0;}
 #else /* def EMULTIHOP */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EMULTIHOP */
-	if (x == Mono_Posix_Error_ENAMETOOLONG)
+	if (x == Mono_Posix_Errno_ENAMETOOLONG)
 #ifdef ENAMETOOLONG
 		{*r = ENAMETOOLONG; return 0;}
 #else /* def ENAMETOOLONG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENAMETOOLONG */
-	if (x == Mono_Posix_Error_ENAVAIL)
+	if (x == Mono_Posix_Errno_ENAVAIL)
 #ifdef ENAVAIL
 		{*r = ENAVAIL; return 0;}
 #else /* def ENAVAIL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENAVAIL */
-	if (x == Mono_Posix_Error_ENETDOWN)
+	if (x == Mono_Posix_Errno_ENETDOWN)
 #ifdef ENETDOWN
 		{*r = ENETDOWN; return 0;}
 #else /* def ENETDOWN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENETDOWN */
-	if (x == Mono_Posix_Error_ENETRESET)
+	if (x == Mono_Posix_Errno_ENETRESET)
 #ifdef ENETRESET
 		{*r = ENETRESET; return 0;}
 #else /* def ENETRESET */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENETRESET */
-	if (x == Mono_Posix_Error_ENETUNREACH)
+	if (x == Mono_Posix_Errno_ENETUNREACH)
 #ifdef ENETUNREACH
 		{*r = ENETUNREACH; return 0;}
 #else /* def ENETUNREACH */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENETUNREACH */
-	if (x == Mono_Posix_Error_ENFILE)
+	if (x == Mono_Posix_Errno_ENFILE)
 #ifdef ENFILE
 		{*r = ENFILE; return 0;}
 #else /* def ENFILE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENFILE */
-	if (x == Mono_Posix_Error_ENOANO)
+	if (x == Mono_Posix_Errno_ENOANO)
 #ifdef ENOANO
 		{*r = ENOANO; return 0;}
 #else /* def ENOANO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOANO */
-	if (x == Mono_Posix_Error_ENOBUFS)
+	if (x == Mono_Posix_Errno_ENOBUFS)
 #ifdef ENOBUFS
 		{*r = ENOBUFS; return 0;}
 #else /* def ENOBUFS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOBUFS */
-	if (x == Mono_Posix_Error_ENOCSI)
+	if (x == Mono_Posix_Errno_ENOCSI)
 #ifdef ENOCSI
 		{*r = ENOCSI; return 0;}
 #else /* def ENOCSI */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOCSI */
-	if (x == Mono_Posix_Error_ENODATA)
+	if (x == Mono_Posix_Errno_ENODATA)
 #ifdef ENODATA
 		{*r = ENODATA; return 0;}
 #else /* def ENODATA */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENODATA */
-	if (x == Mono_Posix_Error_ENODEV)
+	if (x == Mono_Posix_Errno_ENODEV)
 #ifdef ENODEV
 		{*r = ENODEV; return 0;}
 #else /* def ENODEV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENODEV */
-	if (x == Mono_Posix_Error_ENOENT)
+	if (x == Mono_Posix_Errno_ENOENT)
 #ifdef ENOENT
 		{*r = ENOENT; return 0;}
 #else /* def ENOENT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOENT */
-	if (x == Mono_Posix_Error_ENOEXEC)
+	if (x == Mono_Posix_Errno_ENOEXEC)
 #ifdef ENOEXEC
 		{*r = ENOEXEC; return 0;}
 #else /* def ENOEXEC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOEXEC */
-	if (x == Mono_Posix_Error_ENOLCK)
+	if (x == Mono_Posix_Errno_ENOLCK)
 #ifdef ENOLCK
 		{*r = ENOLCK; return 0;}
 #else /* def ENOLCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOLCK */
-	if (x == Mono_Posix_Error_ENOLINK)
+	if (x == Mono_Posix_Errno_ENOLINK)
 #ifdef ENOLINK
 		{*r = ENOLINK; return 0;}
 #else /* def ENOLINK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOLINK */
-	if (x == Mono_Posix_Error_ENOMEDIUM)
+	if (x == Mono_Posix_Errno_ENOMEDIUM)
 #ifdef ENOMEDIUM
 		{*r = ENOMEDIUM; return 0;}
 #else /* def ENOMEDIUM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOMEDIUM */
-	if (x == Mono_Posix_Error_ENOMEM)
+	if (x == Mono_Posix_Errno_ENOMEM)
 #ifdef ENOMEM
 		{*r = ENOMEM; return 0;}
 #else /* def ENOMEM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOMEM */
-	if (x == Mono_Posix_Error_ENOMSG)
+	if (x == Mono_Posix_Errno_ENOMSG)
 #ifdef ENOMSG
 		{*r = ENOMSG; return 0;}
 #else /* def ENOMSG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOMSG */
-	if (x == Mono_Posix_Error_ENONET)
+	if (x == Mono_Posix_Errno_ENONET)
 #ifdef ENONET
 		{*r = ENONET; return 0;}
 #else /* def ENONET */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENONET */
-	if (x == Mono_Posix_Error_ENOPKG)
+	if (x == Mono_Posix_Errno_ENOPKG)
 #ifdef ENOPKG
 		{*r = ENOPKG; return 0;}
 #else /* def ENOPKG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOPKG */
-	if (x == Mono_Posix_Error_ENOPROTOOPT)
+	if (x == Mono_Posix_Errno_ENOPROTOOPT)
 #ifdef ENOPROTOOPT
 		{*r = ENOPROTOOPT; return 0;}
 #else /* def ENOPROTOOPT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOPROTOOPT */
-	if (x == Mono_Posix_Error_ENOSPC)
+	if (x == Mono_Posix_Errno_ENOSPC)
 #ifdef ENOSPC
 		{*r = ENOSPC; return 0;}
 #else /* def ENOSPC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOSPC */
-	if (x == Mono_Posix_Error_ENOSR)
+	if (x == Mono_Posix_Errno_ENOSR)
 #ifdef ENOSR
 		{*r = ENOSR; return 0;}
 #else /* def ENOSR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOSR */
-	if (x == Mono_Posix_Error_ENOSTR)
+	if (x == Mono_Posix_Errno_ENOSTR)
 #ifdef ENOSTR
 		{*r = ENOSTR; return 0;}
 #else /* def ENOSTR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOSTR */
-	if (x == Mono_Posix_Error_ENOSYS)
+	if (x == Mono_Posix_Errno_ENOSYS)
 #ifdef ENOSYS
 		{*r = ENOSYS; return 0;}
 #else /* def ENOSYS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOSYS */
-	if (x == Mono_Posix_Error_ENOTBLK)
+	if (x == Mono_Posix_Errno_ENOTBLK)
 #ifdef ENOTBLK
 		{*r = ENOTBLK; return 0;}
 #else /* def ENOTBLK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTBLK */
-	if (x == Mono_Posix_Error_ENOTCONN)
+	if (x == Mono_Posix_Errno_ENOTCONN)
 #ifdef ENOTCONN
 		{*r = ENOTCONN; return 0;}
 #else /* def ENOTCONN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTCONN */
-	if (x == Mono_Posix_Error_ENOTDIR)
+	if (x == Mono_Posix_Errno_ENOTDIR)
 #ifdef ENOTDIR
 		{*r = ENOTDIR; return 0;}
 #else /* def ENOTDIR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTDIR */
-	if (x == Mono_Posix_Error_ENOTEMPTY)
+	if (x == Mono_Posix_Errno_ENOTEMPTY)
 #ifdef ENOTEMPTY
 		{*r = ENOTEMPTY; return 0;}
 #else /* def ENOTEMPTY */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTEMPTY */
-	if (x == Mono_Posix_Error_ENOTNAM)
+	if (x == Mono_Posix_Errno_ENOTNAM)
 #ifdef ENOTNAM
 		{*r = ENOTNAM; return 0;}
 #else /* def ENOTNAM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTNAM */
-	if (x == Mono_Posix_Error_ENOTSOCK)
+	if (x == Mono_Posix_Errno_ENOTSOCK)
 #ifdef ENOTSOCK
 		{*r = ENOTSOCK; return 0;}
 #else /* def ENOTSOCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTSOCK */
-	if (x == Mono_Posix_Error_ENOTTY)
+	if (x == Mono_Posix_Errno_ENOTTY)
 #ifdef ENOTTY
 		{*r = ENOTTY; return 0;}
 #else /* def ENOTTY */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTTY */
-	if (x == Mono_Posix_Error_ENOTUNIQ)
+	if (x == Mono_Posix_Errno_ENOTUNIQ)
 #ifdef ENOTUNIQ
 		{*r = ENOTUNIQ; return 0;}
 #else /* def ENOTUNIQ */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENOTUNIQ */
-	if (x == Mono_Posix_Error_ENXIO)
+	if (x == Mono_Posix_Errno_ENXIO)
 #ifdef ENXIO
 		{*r = ENXIO; return 0;}
 #else /* def ENXIO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ENXIO */
-	if (x == Mono_Posix_Error_EOPNOTSUPP)
+	if (x == Mono_Posix_Errno_EOPNOTSUPP)
 #ifdef EOPNOTSUPP
 		{*r = EOPNOTSUPP; return 0;}
 #else /* def EOPNOTSUPP */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EOPNOTSUPP */
-	if (x == Mono_Posix_Error_EOVERFLOW)
+	if (x == Mono_Posix_Errno_EOVERFLOW)
 #ifdef EOVERFLOW
 		{*r = EOVERFLOW; return 0;}
 #else /* def EOVERFLOW */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EOVERFLOW */
-	if (x == Mono_Posix_Error_EPERM)
+	if (x == Mono_Posix_Errno_EPERM)
 #ifdef EPERM
 		{*r = EPERM; return 0;}
 #else /* def EPERM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EPERM */
-	if (x == Mono_Posix_Error_EPFNOSUPPORT)
+	if (x == Mono_Posix_Errno_EPFNOSUPPORT)
 #ifdef EPFNOSUPPORT
 		{*r = EPFNOSUPPORT; return 0;}
 #else /* def EPFNOSUPPORT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EPFNOSUPPORT */
-	if (x == Mono_Posix_Error_EPIPE)
+	if (x == Mono_Posix_Errno_EPIPE)
 #ifdef EPIPE
 		{*r = EPIPE; return 0;}
 #else /* def EPIPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EPIPE */
-	if (x == Mono_Posix_Error_EPROTO)
+	if (x == Mono_Posix_Errno_EPROTO)
 #ifdef EPROTO
 		{*r = EPROTO; return 0;}
 #else /* def EPROTO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EPROTO */
-	if (x == Mono_Posix_Error_EPROTONOSUPPORT)
+	if (x == Mono_Posix_Errno_EPROTONOSUPPORT)
 #ifdef EPROTONOSUPPORT
 		{*r = EPROTONOSUPPORT; return 0;}
 #else /* def EPROTONOSUPPORT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EPROTONOSUPPORT */
-	if (x == Mono_Posix_Error_EPROTOTYPE)
+	if (x == Mono_Posix_Errno_EPROTOTYPE)
 #ifdef EPROTOTYPE
 		{*r = EPROTOTYPE; return 0;}
 #else /* def EPROTOTYPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EPROTOTYPE */
-	if (x == Mono_Posix_Error_ERANGE)
+	if (x == Mono_Posix_Errno_ERANGE)
 #ifdef ERANGE
 		{*r = ERANGE; return 0;}
 #else /* def ERANGE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ERANGE */
-	if (x == Mono_Posix_Error_EREMCHG)
+	if (x == Mono_Posix_Errno_EREMCHG)
 #ifdef EREMCHG
 		{*r = EREMCHG; return 0;}
 #else /* def EREMCHG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EREMCHG */
-	if (x == Mono_Posix_Error_EREMOTE)
+	if (x == Mono_Posix_Errno_EREMOTE)
 #ifdef EREMOTE
 		{*r = EREMOTE; return 0;}
 #else /* def EREMOTE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EREMOTE */
-	if (x == Mono_Posix_Error_EREMOTEIO)
+	if (x == Mono_Posix_Errno_EREMOTEIO)
 #ifdef EREMOTEIO
 		{*r = EREMOTEIO; return 0;}
 #else /* def EREMOTEIO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EREMOTEIO */
-	if (x == Mono_Posix_Error_ERESTART)
+	if (x == Mono_Posix_Errno_ERESTART)
 #ifdef ERESTART
 		{*r = ERESTART; return 0;}
 #else /* def ERESTART */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ERESTART */
-	if (x == Mono_Posix_Error_EROFS)
+	if (x == Mono_Posix_Errno_EROFS)
 #ifdef EROFS
 		{*r = EROFS; return 0;}
 #else /* def EROFS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EROFS */
-	if (x == Mono_Posix_Error_ESHUTDOWN)
+	if (x == Mono_Posix_Errno_ESHUTDOWN)
 #ifdef ESHUTDOWN
 		{*r = ESHUTDOWN; return 0;}
 #else /* def ESHUTDOWN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESHUTDOWN */
-	if (x == Mono_Posix_Error_ESOCKTNOSUPPORT)
+	if (x == Mono_Posix_Errno_ESOCKTNOSUPPORT)
 #ifdef ESOCKTNOSUPPORT
 		{*r = ESOCKTNOSUPPORT; return 0;}
 #else /* def ESOCKTNOSUPPORT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESOCKTNOSUPPORT */
-	if (x == Mono_Posix_Error_ESPIPE)
+	if (x == Mono_Posix_Errno_ESPIPE)
 #ifdef ESPIPE
 		{*r = ESPIPE; return 0;}
 #else /* def ESPIPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESPIPE */
-	if (x == Mono_Posix_Error_ESRCH)
+	if (x == Mono_Posix_Errno_ESRCH)
 #ifdef ESRCH
 		{*r = ESRCH; return 0;}
 #else /* def ESRCH */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESRCH */
-	if (x == Mono_Posix_Error_ESRMNT)
+	if (x == Mono_Posix_Errno_ESRMNT)
 #ifdef ESRMNT
 		{*r = ESRMNT; return 0;}
 #else /* def ESRMNT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESRMNT */
-	if (x == Mono_Posix_Error_ESTALE)
+	if (x == Mono_Posix_Errno_ESTALE)
 #ifdef ESTALE
 		{*r = ESTALE; return 0;}
 #else /* def ESTALE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESTALE */
-	if (x == Mono_Posix_Error_ESTRPIPE)
+	if (x == Mono_Posix_Errno_ESTRPIPE)
 #ifdef ESTRPIPE
 		{*r = ESTRPIPE; return 0;}
 #else /* def ESTRPIPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ESTRPIPE */
-	if (x == Mono_Posix_Error_ETIME)
+	if (x == Mono_Posix_Errno_ETIME)
 #ifdef ETIME
 		{*r = ETIME; return 0;}
 #else /* def ETIME */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ETIME */
-	if (x == Mono_Posix_Error_ETIMEDOUT)
+	if (x == Mono_Posix_Errno_ETIMEDOUT)
 #ifdef ETIMEDOUT
 		{*r = ETIMEDOUT; return 0;}
 #else /* def ETIMEDOUT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ETIMEDOUT */
-	if (x == Mono_Posix_Error_ETOOMANYREFS)
+	if (x == Mono_Posix_Errno_ETOOMANYREFS)
 #ifdef ETOOMANYREFS
 		{*r = ETOOMANYREFS; return 0;}
 #else /* def ETOOMANYREFS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ETOOMANYREFS */
-	if (x == Mono_Posix_Error_ETXTBSY)
+	if (x == Mono_Posix_Errno_ETXTBSY)
 #ifdef ETXTBSY
 		{*r = ETXTBSY; return 0;}
 #else /* def ETXTBSY */
 		{errno = EINVAL; return -1;}
 #endif /* ndef ETXTBSY */
-	if (x == Mono_Posix_Error_EUCLEAN)
+	if (x == Mono_Posix_Errno_EUCLEAN)
 #ifdef EUCLEAN
 		{*r = EUCLEAN; return 0;}
 #else /* def EUCLEAN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EUCLEAN */
-	if (x == Mono_Posix_Error_EUNATCH)
+	if (x == Mono_Posix_Errno_EUNATCH)
 #ifdef EUNATCH
 		{*r = EUNATCH; return 0;}
 #else /* def EUNATCH */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EUNATCH */
-	if (x == Mono_Posix_Error_EUSERS)
+	if (x == Mono_Posix_Errno_EUSERS)
 #ifdef EUSERS
 		{*r = EUSERS; return 0;}
 #else /* def EUSERS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EUSERS */
-	if (x == Mono_Posix_Error_EWOULDBLOCK)
+	if (x == Mono_Posix_Errno_EWOULDBLOCK)
 #ifdef EWOULDBLOCK
 		{*r = EWOULDBLOCK; return 0;}
 #else /* def EWOULDBLOCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EWOULDBLOCK */
-	if (x == Mono_Posix_Error_EXDEV)
+	if (x == Mono_Posix_Errno_EXDEV)
 #ifdef EXDEV
 		{*r = EXDEV; return 0;}
 #else /* def EXDEV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EXDEV */
-	if (x == Mono_Posix_Error_EXFULL)
+	if (x == Mono_Posix_Errno_EXFULL)
 #ifdef EXFULL
 		{*r = EXFULL; return 0;}
 #else /* def EXFULL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef EXFULL */
+	if (x == 0)
+		return 0;
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_ToError (int x, int *r)
+int Mono_Posix_ToErrno (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
 #ifdef E2BIG
 	if (x == E2BIG)
-		{*r = Mono_Posix_Error_E2BIG; return 0;}
+		{*r = Mono_Posix_Errno_E2BIG; return 0;}
 #endif /* ndef E2BIG */
 #ifdef EACCES
 	if (x == EACCES)
-		{*r = Mono_Posix_Error_EACCES; return 0;}
+		{*r = Mono_Posix_Errno_EACCES; return 0;}
 #endif /* ndef EACCES */
 #ifdef EADDRINUSE
 	if (x == EADDRINUSE)
-		{*r = Mono_Posix_Error_EADDRINUSE; return 0;}
+		{*r = Mono_Posix_Errno_EADDRINUSE; return 0;}
 #endif /* ndef EADDRINUSE */
 #ifdef EADDRNOTAVAIL
 	if (x == EADDRNOTAVAIL)
-		{*r = Mono_Posix_Error_EADDRNOTAVAIL; return 0;}
+		{*r = Mono_Posix_Errno_EADDRNOTAVAIL; return 0;}
 #endif /* ndef EADDRNOTAVAIL */
 #ifdef EADV
 	if (x == EADV)
-		{*r = Mono_Posix_Error_EADV; return 0;}
+		{*r = Mono_Posix_Errno_EADV; return 0;}
 #endif /* ndef EADV */
 #ifdef EAFNOSUPPORT
 	if (x == EAFNOSUPPORT)
-		{*r = Mono_Posix_Error_EAFNOSUPPORT; return 0;}
+		{*r = Mono_Posix_Errno_EAFNOSUPPORT; return 0;}
 #endif /* ndef EAFNOSUPPORT */
 #ifdef EAGAIN
 	if (x == EAGAIN)
-		{*r = Mono_Posix_Error_EAGAIN; return 0;}
+		{*r = Mono_Posix_Errno_EAGAIN; return 0;}
 #endif /* ndef EAGAIN */
 #ifdef EALREADY
 	if (x == EALREADY)
-		{*r = Mono_Posix_Error_EALREADY; return 0;}
+		{*r = Mono_Posix_Errno_EALREADY; return 0;}
 #endif /* ndef EALREADY */
 #ifdef EBADE
 	if (x == EBADE)
-		{*r = Mono_Posix_Error_EBADE; return 0;}
+		{*r = Mono_Posix_Errno_EBADE; return 0;}
 #endif /* ndef EBADE */
 #ifdef EBADF
 	if (x == EBADF)
-		{*r = Mono_Posix_Error_EBADF; return 0;}
+		{*r = Mono_Posix_Errno_EBADF; return 0;}
 #endif /* ndef EBADF */
 #ifdef EBADFD
 	if (x == EBADFD)
-		{*r = Mono_Posix_Error_EBADFD; return 0;}
+		{*r = Mono_Posix_Errno_EBADFD; return 0;}
 #endif /* ndef EBADFD */
 #ifdef EBADMSG
 	if (x == EBADMSG)
-		{*r = Mono_Posix_Error_EBADMSG; return 0;}
+		{*r = Mono_Posix_Errno_EBADMSG; return 0;}
 #endif /* ndef EBADMSG */
 #ifdef EBADR
 	if (x == EBADR)
-		{*r = Mono_Posix_Error_EBADR; return 0;}
+		{*r = Mono_Posix_Errno_EBADR; return 0;}
 #endif /* ndef EBADR */
 #ifdef EBADRQC
 	if (x == EBADRQC)
-		{*r = Mono_Posix_Error_EBADRQC; return 0;}
+		{*r = Mono_Posix_Errno_EBADRQC; return 0;}
 #endif /* ndef EBADRQC */
 #ifdef EBADSLT
 	if (x == EBADSLT)
-		{*r = Mono_Posix_Error_EBADSLT; return 0;}
+		{*r = Mono_Posix_Errno_EBADSLT; return 0;}
 #endif /* ndef EBADSLT */
 #ifdef EBFONT
 	if (x == EBFONT)
-		{*r = Mono_Posix_Error_EBFONT; return 0;}
+		{*r = Mono_Posix_Errno_EBFONT; return 0;}
 #endif /* ndef EBFONT */
 #ifdef EBUSY
 	if (x == EBUSY)
-		{*r = Mono_Posix_Error_EBUSY; return 0;}
+		{*r = Mono_Posix_Errno_EBUSY; return 0;}
 #endif /* ndef EBUSY */
 #ifdef ECHILD
 	if (x == ECHILD)
-		{*r = Mono_Posix_Error_ECHILD; return 0;}
+		{*r = Mono_Posix_Errno_ECHILD; return 0;}
 #endif /* ndef ECHILD */
 #ifdef ECHRNG
 	if (x == ECHRNG)
-		{*r = Mono_Posix_Error_ECHRNG; return 0;}
+		{*r = Mono_Posix_Errno_ECHRNG; return 0;}
 #endif /* ndef ECHRNG */
 #ifdef ECOMM
 	if (x == ECOMM)
-		{*r = Mono_Posix_Error_ECOMM; return 0;}
+		{*r = Mono_Posix_Errno_ECOMM; return 0;}
 #endif /* ndef ECOMM */
 #ifdef ECONNABORTED
 	if (x == ECONNABORTED)
-		{*r = Mono_Posix_Error_ECONNABORTED; return 0;}
+		{*r = Mono_Posix_Errno_ECONNABORTED; return 0;}
 #endif /* ndef ECONNABORTED */
 #ifdef ECONNREFUSED
 	if (x == ECONNREFUSED)
-		{*r = Mono_Posix_Error_ECONNREFUSED; return 0;}
+		{*r = Mono_Posix_Errno_ECONNREFUSED; return 0;}
 #endif /* ndef ECONNREFUSED */
 #ifdef ECONNRESET
 	if (x == ECONNRESET)
-		{*r = Mono_Posix_Error_ECONNRESET; return 0;}
+		{*r = Mono_Posix_Errno_ECONNRESET; return 0;}
 #endif /* ndef ECONNRESET */
 #ifdef EDEADLK
 	if (x == EDEADLK)
-		{*r = Mono_Posix_Error_EDEADLK; return 0;}
+		{*r = Mono_Posix_Errno_EDEADLK; return 0;}
 #endif /* ndef EDEADLK */
 #ifdef EDEADLOCK
 	if (x == EDEADLOCK)
-		{*r = Mono_Posix_Error_EDEADLOCK; return 0;}
+		{*r = Mono_Posix_Errno_EDEADLOCK; return 0;}
 #endif /* ndef EDEADLOCK */
 #ifdef EDESTADDRREQ
 	if (x == EDESTADDRREQ)
-		{*r = Mono_Posix_Error_EDESTADDRREQ; return 0;}
+		{*r = Mono_Posix_Errno_EDESTADDRREQ; return 0;}
 #endif /* ndef EDESTADDRREQ */
 #ifdef EDOM
 	if (x == EDOM)
-		{*r = Mono_Posix_Error_EDOM; return 0;}
+		{*r = Mono_Posix_Errno_EDOM; return 0;}
 #endif /* ndef EDOM */
 #ifdef EDOTDOT
 	if (x == EDOTDOT)
-		{*r = Mono_Posix_Error_EDOTDOT; return 0;}
+		{*r = Mono_Posix_Errno_EDOTDOT; return 0;}
 #endif /* ndef EDOTDOT */
 #ifdef EDQUOT
 	if (x == EDQUOT)
-		{*r = Mono_Posix_Error_EDQUOT; return 0;}
+		{*r = Mono_Posix_Errno_EDQUOT; return 0;}
 #endif /* ndef EDQUOT */
 #ifdef EEXIST
 	if (x == EEXIST)
-		{*r = Mono_Posix_Error_EEXIST; return 0;}
+		{*r = Mono_Posix_Errno_EEXIST; return 0;}
 #endif /* ndef EEXIST */
 #ifdef EFAULT
 	if (x == EFAULT)
-		{*r = Mono_Posix_Error_EFAULT; return 0;}
+		{*r = Mono_Posix_Errno_EFAULT; return 0;}
 #endif /* ndef EFAULT */
 #ifdef EFBIG
 	if (x == EFBIG)
-		{*r = Mono_Posix_Error_EFBIG; return 0;}
+		{*r = Mono_Posix_Errno_EFBIG; return 0;}
 #endif /* ndef EFBIG */
 #ifdef EHOSTDOWN
 	if (x == EHOSTDOWN)
-		{*r = Mono_Posix_Error_EHOSTDOWN; return 0;}
+		{*r = Mono_Posix_Errno_EHOSTDOWN; return 0;}
 #endif /* ndef EHOSTDOWN */
 #ifdef EHOSTUNREACH
 	if (x == EHOSTUNREACH)
-		{*r = Mono_Posix_Error_EHOSTUNREACH; return 0;}
+		{*r = Mono_Posix_Errno_EHOSTUNREACH; return 0;}
 #endif /* ndef EHOSTUNREACH */
 #ifdef EIDRM
 	if (x == EIDRM)
-		{*r = Mono_Posix_Error_EIDRM; return 0;}
+		{*r = Mono_Posix_Errno_EIDRM; return 0;}
 #endif /* ndef EIDRM */
 #ifdef EILSEQ
 	if (x == EILSEQ)
-		{*r = Mono_Posix_Error_EILSEQ; return 0;}
+		{*r = Mono_Posix_Errno_EILSEQ; return 0;}
 #endif /* ndef EILSEQ */
 #ifdef EINPROGRESS
 	if (x == EINPROGRESS)
-		{*r = Mono_Posix_Error_EINPROGRESS; return 0;}
+		{*r = Mono_Posix_Errno_EINPROGRESS; return 0;}
 #endif /* ndef EINPROGRESS */
 #ifdef EINTR
 	if (x == EINTR)
-		{*r = Mono_Posix_Error_EINTR; return 0;}
+		{*r = Mono_Posix_Errno_EINTR; return 0;}
 #endif /* ndef EINTR */
 #ifdef EINVAL
 	if (x == EINVAL)
-		{*r = Mono_Posix_Error_EINVAL; return 0;}
+		{*r = Mono_Posix_Errno_EINVAL; return 0;}
 #endif /* ndef EINVAL */
 #ifdef EIO
 	if (x == EIO)
-		{*r = Mono_Posix_Error_EIO; return 0;}
+		{*r = Mono_Posix_Errno_EIO; return 0;}
 #endif /* ndef EIO */
 #ifdef EISCONN
 	if (x == EISCONN)
-		{*r = Mono_Posix_Error_EISCONN; return 0;}
+		{*r = Mono_Posix_Errno_EISCONN; return 0;}
 #endif /* ndef EISCONN */
 #ifdef EISDIR
 	if (x == EISDIR)
-		{*r = Mono_Posix_Error_EISDIR; return 0;}
+		{*r = Mono_Posix_Errno_EISDIR; return 0;}
 #endif /* ndef EISDIR */
 #ifdef EISNAM
 	if (x == EISNAM)
-		{*r = Mono_Posix_Error_EISNAM; return 0;}
+		{*r = Mono_Posix_Errno_EISNAM; return 0;}
 #endif /* ndef EISNAM */
 #ifdef EL2HLT
 	if (x == EL2HLT)
-		{*r = Mono_Posix_Error_EL2HLT; return 0;}
+		{*r = Mono_Posix_Errno_EL2HLT; return 0;}
 #endif /* ndef EL2HLT */
 #ifdef EL2NSYNC
 	if (x == EL2NSYNC)
-		{*r = Mono_Posix_Error_EL2NSYNC; return 0;}
+		{*r = Mono_Posix_Errno_EL2NSYNC; return 0;}
 #endif /* ndef EL2NSYNC */
 #ifdef EL3HLT
 	if (x == EL3HLT)
-		{*r = Mono_Posix_Error_EL3HLT; return 0;}
+		{*r = Mono_Posix_Errno_EL3HLT; return 0;}
 #endif /* ndef EL3HLT */
 #ifdef EL3RST
 	if (x == EL3RST)
-		{*r = Mono_Posix_Error_EL3RST; return 0;}
+		{*r = Mono_Posix_Errno_EL3RST; return 0;}
 #endif /* ndef EL3RST */
 #ifdef ELIBACC
 	if (x == ELIBACC)
-		{*r = Mono_Posix_Error_ELIBACC; return 0;}
+		{*r = Mono_Posix_Errno_ELIBACC; return 0;}
 #endif /* ndef ELIBACC */
 #ifdef ELIBBAD
 	if (x == ELIBBAD)
-		{*r = Mono_Posix_Error_ELIBBAD; return 0;}
+		{*r = Mono_Posix_Errno_ELIBBAD; return 0;}
 #endif /* ndef ELIBBAD */
 #ifdef ELIBEXEC
 	if (x == ELIBEXEC)
-		{*r = Mono_Posix_Error_ELIBEXEC; return 0;}
+		{*r = Mono_Posix_Errno_ELIBEXEC; return 0;}
 #endif /* ndef ELIBEXEC */
 #ifdef ELIBMAX
 	if (x == ELIBMAX)
-		{*r = Mono_Posix_Error_ELIBMAX; return 0;}
+		{*r = Mono_Posix_Errno_ELIBMAX; return 0;}
 #endif /* ndef ELIBMAX */
 #ifdef ELIBSCN
 	if (x == ELIBSCN)
-		{*r = Mono_Posix_Error_ELIBSCN; return 0;}
+		{*r = Mono_Posix_Errno_ELIBSCN; return 0;}
 #endif /* ndef ELIBSCN */
 #ifdef ELNRNG
 	if (x == ELNRNG)
-		{*r = Mono_Posix_Error_ELNRNG; return 0;}
+		{*r = Mono_Posix_Errno_ELNRNG; return 0;}
 #endif /* ndef ELNRNG */
 #ifdef ELOOP
 	if (x == ELOOP)
-		{*r = Mono_Posix_Error_ELOOP; return 0;}
+		{*r = Mono_Posix_Errno_ELOOP; return 0;}
 #endif /* ndef ELOOP */
 #ifdef EMEDIUMTYPE
 	if (x == EMEDIUMTYPE)
-		{*r = Mono_Posix_Error_EMEDIUMTYPE; return 0;}
+		{*r = Mono_Posix_Errno_EMEDIUMTYPE; return 0;}
 #endif /* ndef EMEDIUMTYPE */
 #ifdef EMFILE
 	if (x == EMFILE)
-		{*r = Mono_Posix_Error_EMFILE; return 0;}
+		{*r = Mono_Posix_Errno_EMFILE; return 0;}
 #endif /* ndef EMFILE */
 #ifdef EMLINK
 	if (x == EMLINK)
-		{*r = Mono_Posix_Error_EMLINK; return 0;}
+		{*r = Mono_Posix_Errno_EMLINK; return 0;}
 #endif /* ndef EMLINK */
 #ifdef EMSGSIZE
 	if (x == EMSGSIZE)
-		{*r = Mono_Posix_Error_EMSGSIZE; return 0;}
+		{*r = Mono_Posix_Errno_EMSGSIZE; return 0;}
 #endif /* ndef EMSGSIZE */
 #ifdef EMULTIHOP
 	if (x == EMULTIHOP)
-		{*r = Mono_Posix_Error_EMULTIHOP; return 0;}
+		{*r = Mono_Posix_Errno_EMULTIHOP; return 0;}
 #endif /* ndef EMULTIHOP */
 #ifdef ENAMETOOLONG
 	if (x == ENAMETOOLONG)
-		{*r = Mono_Posix_Error_ENAMETOOLONG; return 0;}
+		{*r = Mono_Posix_Errno_ENAMETOOLONG; return 0;}
 #endif /* ndef ENAMETOOLONG */
 #ifdef ENAVAIL
 	if (x == ENAVAIL)
-		{*r = Mono_Posix_Error_ENAVAIL; return 0;}
+		{*r = Mono_Posix_Errno_ENAVAIL; return 0;}
 #endif /* ndef ENAVAIL */
 #ifdef ENETDOWN
 	if (x == ENETDOWN)
-		{*r = Mono_Posix_Error_ENETDOWN; return 0;}
+		{*r = Mono_Posix_Errno_ENETDOWN; return 0;}
 #endif /* ndef ENETDOWN */
 #ifdef ENETRESET
 	if (x == ENETRESET)
-		{*r = Mono_Posix_Error_ENETRESET; return 0;}
+		{*r = Mono_Posix_Errno_ENETRESET; return 0;}
 #endif /* ndef ENETRESET */
 #ifdef ENETUNREACH
 	if (x == ENETUNREACH)
-		{*r = Mono_Posix_Error_ENETUNREACH; return 0;}
+		{*r = Mono_Posix_Errno_ENETUNREACH; return 0;}
 #endif /* ndef ENETUNREACH */
 #ifdef ENFILE
 	if (x == ENFILE)
-		{*r = Mono_Posix_Error_ENFILE; return 0;}
+		{*r = Mono_Posix_Errno_ENFILE; return 0;}
 #endif /* ndef ENFILE */
 #ifdef ENOANO
 	if (x == ENOANO)
-		{*r = Mono_Posix_Error_ENOANO; return 0;}
+		{*r = Mono_Posix_Errno_ENOANO; return 0;}
 #endif /* ndef ENOANO */
 #ifdef ENOBUFS
 	if (x == ENOBUFS)
-		{*r = Mono_Posix_Error_ENOBUFS; return 0;}
+		{*r = Mono_Posix_Errno_ENOBUFS; return 0;}
 #endif /* ndef ENOBUFS */
 #ifdef ENOCSI
 	if (x == ENOCSI)
-		{*r = Mono_Posix_Error_ENOCSI; return 0;}
+		{*r = Mono_Posix_Errno_ENOCSI; return 0;}
 #endif /* ndef ENOCSI */
 #ifdef ENODATA
 	if (x == ENODATA)
-		{*r = Mono_Posix_Error_ENODATA; return 0;}
+		{*r = Mono_Posix_Errno_ENODATA; return 0;}
 #endif /* ndef ENODATA */
 #ifdef ENODEV
 	if (x == ENODEV)
-		{*r = Mono_Posix_Error_ENODEV; return 0;}
+		{*r = Mono_Posix_Errno_ENODEV; return 0;}
 #endif /* ndef ENODEV */
 #ifdef ENOENT
 	if (x == ENOENT)
-		{*r = Mono_Posix_Error_ENOENT; return 0;}
+		{*r = Mono_Posix_Errno_ENOENT; return 0;}
 #endif /* ndef ENOENT */
 #ifdef ENOEXEC
 	if (x == ENOEXEC)
-		{*r = Mono_Posix_Error_ENOEXEC; return 0;}
+		{*r = Mono_Posix_Errno_ENOEXEC; return 0;}
 #endif /* ndef ENOEXEC */
 #ifdef ENOLCK
 	if (x == ENOLCK)
-		{*r = Mono_Posix_Error_ENOLCK; return 0;}
+		{*r = Mono_Posix_Errno_ENOLCK; return 0;}
 #endif /* ndef ENOLCK */
 #ifdef ENOLINK
 	if (x == ENOLINK)
-		{*r = Mono_Posix_Error_ENOLINK; return 0;}
+		{*r = Mono_Posix_Errno_ENOLINK; return 0;}
 #endif /* ndef ENOLINK */
 #ifdef ENOMEDIUM
 	if (x == ENOMEDIUM)
-		{*r = Mono_Posix_Error_ENOMEDIUM; return 0;}
+		{*r = Mono_Posix_Errno_ENOMEDIUM; return 0;}
 #endif /* ndef ENOMEDIUM */
 #ifdef ENOMEM
 	if (x == ENOMEM)
-		{*r = Mono_Posix_Error_ENOMEM; return 0;}
+		{*r = Mono_Posix_Errno_ENOMEM; return 0;}
 #endif /* ndef ENOMEM */
 #ifdef ENOMSG
 	if (x == ENOMSG)
-		{*r = Mono_Posix_Error_ENOMSG; return 0;}
+		{*r = Mono_Posix_Errno_ENOMSG; return 0;}
 #endif /* ndef ENOMSG */
 #ifdef ENONET
 	if (x == ENONET)
-		{*r = Mono_Posix_Error_ENONET; return 0;}
+		{*r = Mono_Posix_Errno_ENONET; return 0;}
 #endif /* ndef ENONET */
 #ifdef ENOPKG
 	if (x == ENOPKG)
-		{*r = Mono_Posix_Error_ENOPKG; return 0;}
+		{*r = Mono_Posix_Errno_ENOPKG; return 0;}
 #endif /* ndef ENOPKG */
 #ifdef ENOPROTOOPT
 	if (x == ENOPROTOOPT)
-		{*r = Mono_Posix_Error_ENOPROTOOPT; return 0;}
+		{*r = Mono_Posix_Errno_ENOPROTOOPT; return 0;}
 #endif /* ndef ENOPROTOOPT */
 #ifdef ENOSPC
 	if (x == ENOSPC)
-		{*r = Mono_Posix_Error_ENOSPC; return 0;}
+		{*r = Mono_Posix_Errno_ENOSPC; return 0;}
 #endif /* ndef ENOSPC */
 #ifdef ENOSR
 	if (x == ENOSR)
-		{*r = Mono_Posix_Error_ENOSR; return 0;}
+		{*r = Mono_Posix_Errno_ENOSR; return 0;}
 #endif /* ndef ENOSR */
 #ifdef ENOSTR
 	if (x == ENOSTR)
-		{*r = Mono_Posix_Error_ENOSTR; return 0;}
+		{*r = Mono_Posix_Errno_ENOSTR; return 0;}
 #endif /* ndef ENOSTR */
 #ifdef ENOSYS
 	if (x == ENOSYS)
-		{*r = Mono_Posix_Error_ENOSYS; return 0;}
+		{*r = Mono_Posix_Errno_ENOSYS; return 0;}
 #endif /* ndef ENOSYS */
 #ifdef ENOTBLK
 	if (x == ENOTBLK)
-		{*r = Mono_Posix_Error_ENOTBLK; return 0;}
+		{*r = Mono_Posix_Errno_ENOTBLK; return 0;}
 #endif /* ndef ENOTBLK */
 #ifdef ENOTCONN
 	if (x == ENOTCONN)
-		{*r = Mono_Posix_Error_ENOTCONN; return 0;}
+		{*r = Mono_Posix_Errno_ENOTCONN; return 0;}
 #endif /* ndef ENOTCONN */
 #ifdef ENOTDIR
 	if (x == ENOTDIR)
-		{*r = Mono_Posix_Error_ENOTDIR; return 0;}
+		{*r = Mono_Posix_Errno_ENOTDIR; return 0;}
 #endif /* ndef ENOTDIR */
 #ifdef ENOTEMPTY
 	if (x == ENOTEMPTY)
-		{*r = Mono_Posix_Error_ENOTEMPTY; return 0;}
+		{*r = Mono_Posix_Errno_ENOTEMPTY; return 0;}
 #endif /* ndef ENOTEMPTY */
 #ifdef ENOTNAM
 	if (x == ENOTNAM)
-		{*r = Mono_Posix_Error_ENOTNAM; return 0;}
+		{*r = Mono_Posix_Errno_ENOTNAM; return 0;}
 #endif /* ndef ENOTNAM */
 #ifdef ENOTSOCK
 	if (x == ENOTSOCK)
-		{*r = Mono_Posix_Error_ENOTSOCK; return 0;}
+		{*r = Mono_Posix_Errno_ENOTSOCK; return 0;}
 #endif /* ndef ENOTSOCK */
 #ifdef ENOTTY
 	if (x == ENOTTY)
-		{*r = Mono_Posix_Error_ENOTTY; return 0;}
+		{*r = Mono_Posix_Errno_ENOTTY; return 0;}
 #endif /* ndef ENOTTY */
 #ifdef ENOTUNIQ
 	if (x == ENOTUNIQ)
-		{*r = Mono_Posix_Error_ENOTUNIQ; return 0;}
+		{*r = Mono_Posix_Errno_ENOTUNIQ; return 0;}
 #endif /* ndef ENOTUNIQ */
 #ifdef ENXIO
 	if (x == ENXIO)
-		{*r = Mono_Posix_Error_ENXIO; return 0;}
+		{*r = Mono_Posix_Errno_ENXIO; return 0;}
 #endif /* ndef ENXIO */
 #ifdef EOPNOTSUPP
 	if (x == EOPNOTSUPP)
-		{*r = Mono_Posix_Error_EOPNOTSUPP; return 0;}
+		{*r = Mono_Posix_Errno_EOPNOTSUPP; return 0;}
 #endif /* ndef EOPNOTSUPP */
 #ifdef EOVERFLOW
 	if (x == EOVERFLOW)
-		{*r = Mono_Posix_Error_EOVERFLOW; return 0;}
+		{*r = Mono_Posix_Errno_EOVERFLOW; return 0;}
 #endif /* ndef EOVERFLOW */
 #ifdef EPERM
 	if (x == EPERM)
-		{*r = Mono_Posix_Error_EPERM; return 0;}
+		{*r = Mono_Posix_Errno_EPERM; return 0;}
 #endif /* ndef EPERM */
 #ifdef EPFNOSUPPORT
 	if (x == EPFNOSUPPORT)
-		{*r = Mono_Posix_Error_EPFNOSUPPORT; return 0;}
+		{*r = Mono_Posix_Errno_EPFNOSUPPORT; return 0;}
 #endif /* ndef EPFNOSUPPORT */
 #ifdef EPIPE
 	if (x == EPIPE)
-		{*r = Mono_Posix_Error_EPIPE; return 0;}
+		{*r = Mono_Posix_Errno_EPIPE; return 0;}
 #endif /* ndef EPIPE */
 #ifdef EPROTO
 	if (x == EPROTO)
-		{*r = Mono_Posix_Error_EPROTO; return 0;}
+		{*r = Mono_Posix_Errno_EPROTO; return 0;}
 #endif /* ndef EPROTO */
 #ifdef EPROTONOSUPPORT
 	if (x == EPROTONOSUPPORT)
-		{*r = Mono_Posix_Error_EPROTONOSUPPORT; return 0;}
+		{*r = Mono_Posix_Errno_EPROTONOSUPPORT; return 0;}
 #endif /* ndef EPROTONOSUPPORT */
 #ifdef EPROTOTYPE
 	if (x == EPROTOTYPE)
-		{*r = Mono_Posix_Error_EPROTOTYPE; return 0;}
+		{*r = Mono_Posix_Errno_EPROTOTYPE; return 0;}
 #endif /* ndef EPROTOTYPE */
 #ifdef ERANGE
 	if (x == ERANGE)
-		{*r = Mono_Posix_Error_ERANGE; return 0;}
+		{*r = Mono_Posix_Errno_ERANGE; return 0;}
 #endif /* ndef ERANGE */
 #ifdef EREMCHG
 	if (x == EREMCHG)
-		{*r = Mono_Posix_Error_EREMCHG; return 0;}
+		{*r = Mono_Posix_Errno_EREMCHG; return 0;}
 #endif /* ndef EREMCHG */
 #ifdef EREMOTE
 	if (x == EREMOTE)
-		{*r = Mono_Posix_Error_EREMOTE; return 0;}
+		{*r = Mono_Posix_Errno_EREMOTE; return 0;}
 #endif /* ndef EREMOTE */
 #ifdef EREMOTEIO
 	if (x == EREMOTEIO)
-		{*r = Mono_Posix_Error_EREMOTEIO; return 0;}
+		{*r = Mono_Posix_Errno_EREMOTEIO; return 0;}
 #endif /* ndef EREMOTEIO */
 #ifdef ERESTART
 	if (x == ERESTART)
-		{*r = Mono_Posix_Error_ERESTART; return 0;}
+		{*r = Mono_Posix_Errno_ERESTART; return 0;}
 #endif /* ndef ERESTART */
 #ifdef EROFS
 	if (x == EROFS)
-		{*r = Mono_Posix_Error_EROFS; return 0;}
+		{*r = Mono_Posix_Errno_EROFS; return 0;}
 #endif /* ndef EROFS */
 #ifdef ESHUTDOWN
 	if (x == ESHUTDOWN)
-		{*r = Mono_Posix_Error_ESHUTDOWN; return 0;}
+		{*r = Mono_Posix_Errno_ESHUTDOWN; return 0;}
 #endif /* ndef ESHUTDOWN */
 #ifdef ESOCKTNOSUPPORT
 	if (x == ESOCKTNOSUPPORT)
-		{*r = Mono_Posix_Error_ESOCKTNOSUPPORT; return 0;}
+		{*r = Mono_Posix_Errno_ESOCKTNOSUPPORT; return 0;}
 #endif /* ndef ESOCKTNOSUPPORT */
 #ifdef ESPIPE
 	if (x == ESPIPE)
-		{*r = Mono_Posix_Error_ESPIPE; return 0;}
+		{*r = Mono_Posix_Errno_ESPIPE; return 0;}
 #endif /* ndef ESPIPE */
 #ifdef ESRCH
 	if (x == ESRCH)
-		{*r = Mono_Posix_Error_ESRCH; return 0;}
+		{*r = Mono_Posix_Errno_ESRCH; return 0;}
 #endif /* ndef ESRCH */
 #ifdef ESRMNT
 	if (x == ESRMNT)
-		{*r = Mono_Posix_Error_ESRMNT; return 0;}
+		{*r = Mono_Posix_Errno_ESRMNT; return 0;}
 #endif /* ndef ESRMNT */
 #ifdef ESTALE
 	if (x == ESTALE)
-		{*r = Mono_Posix_Error_ESTALE; return 0;}
+		{*r = Mono_Posix_Errno_ESTALE; return 0;}
 #endif /* ndef ESTALE */
 #ifdef ESTRPIPE
 	if (x == ESTRPIPE)
-		{*r = Mono_Posix_Error_ESTRPIPE; return 0;}
+		{*r = Mono_Posix_Errno_ESTRPIPE; return 0;}
 #endif /* ndef ESTRPIPE */
 #ifdef ETIME
 	if (x == ETIME)
-		{*r = Mono_Posix_Error_ETIME; return 0;}
+		{*r = Mono_Posix_Errno_ETIME; return 0;}
 #endif /* ndef ETIME */
 #ifdef ETIMEDOUT
 	if (x == ETIMEDOUT)
-		{*r = Mono_Posix_Error_ETIMEDOUT; return 0;}
+		{*r = Mono_Posix_Errno_ETIMEDOUT; return 0;}
 #endif /* ndef ETIMEDOUT */
 #ifdef ETOOMANYREFS
 	if (x == ETOOMANYREFS)
-		{*r = Mono_Posix_Error_ETOOMANYREFS; return 0;}
+		{*r = Mono_Posix_Errno_ETOOMANYREFS; return 0;}
 #endif /* ndef ETOOMANYREFS */
 #ifdef ETXTBSY
 	if (x == ETXTBSY)
-		{*r = Mono_Posix_Error_ETXTBSY; return 0;}
+		{*r = Mono_Posix_Errno_ETXTBSY; return 0;}
 #endif /* ndef ETXTBSY */
 #ifdef EUCLEAN
 	if (x == EUCLEAN)
-		{*r = Mono_Posix_Error_EUCLEAN; return 0;}
+		{*r = Mono_Posix_Errno_EUCLEAN; return 0;}
 #endif /* ndef EUCLEAN */
 #ifdef EUNATCH
 	if (x == EUNATCH)
-		{*r = Mono_Posix_Error_EUNATCH; return 0;}
+		{*r = Mono_Posix_Errno_EUNATCH; return 0;}
 #endif /* ndef EUNATCH */
 #ifdef EUSERS
 	if (x == EUSERS)
-		{*r = Mono_Posix_Error_EUSERS; return 0;}
+		{*r = Mono_Posix_Errno_EUSERS; return 0;}
 #endif /* ndef EUSERS */
 #ifdef EWOULDBLOCK
 	if (x == EWOULDBLOCK)
-		{*r = Mono_Posix_Error_EWOULDBLOCK; return 0;}
+		{*r = Mono_Posix_Errno_EWOULDBLOCK; return 0;}
 #endif /* ndef EWOULDBLOCK */
 #ifdef EXDEV
 	if (x == EXDEV)
-		{*r = Mono_Posix_Error_EXDEV; return 0;}
+		{*r = Mono_Posix_Errno_EXDEV; return 0;}
 #endif /* ndef EXDEV */
 #ifdef EXFULL
 	if (x == EXFULL)
-		{*r = Mono_Posix_Error_EXFULL; return 0;}
+		{*r = Mono_Posix_Errno_EXFULL; return 0;}
 #endif /* ndef EXFULL */
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_FromMmapProt (int x, int *r)
+int Mono_Posix_FromFcntlCommand (int x, int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MmapProt_PROT_EXEC) == Mono_Posix_MmapProt_PROT_EXEC)
-#ifdef PROT_EXEC
-		*r |= PROT_EXEC;
-#else /* def PROT_EXEC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_EXEC */
-	if ((x & Mono_Posix_MmapProt_PROT_GROWSDOWN) == Mono_Posix_MmapProt_PROT_GROWSDOWN)
-#ifdef PROT_GROWSDOWN
-		*r |= PROT_GROWSDOWN;
-#else /* def PROT_GROWSDOWN */
+	if (x == Mono_Posix_FcntlCommand_F_DUPFD)
+#ifdef F_DUPFD
+		{*r = F_DUPFD; return 0;}
+#else /* def F_DUPFD */
 		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_GROWSDOWN */
-	if ((x & Mono_Posix_MmapProt_PROT_GROWSUP) == Mono_Posix_MmapProt_PROT_GROWSUP)
-#ifdef PROT_GROWSUP
-		*r |= PROT_GROWSUP;
-#else /* def PROT_GROWSUP */
+#endif /* ndef F_DUPFD */
+	if (x == Mono_Posix_FcntlCommand_F_GETFD)
+#ifdef F_GETFD
+		{*r = F_GETFD; return 0;}
+#else /* def F_GETFD */
 		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_GROWSUP */
-	if ((x & Mono_Posix_MmapProt_PROT_NONE) == Mono_Posix_MmapProt_PROT_NONE)
-#ifdef PROT_NONE
-		*r |= PROT_NONE;
-#else /* def PROT_NONE */
+#endif /* ndef F_GETFD */
+	if (x == Mono_Posix_FcntlCommand_F_GETFL)
+#ifdef F_GETFL
+		{*r = F_GETFL; return 0;}
+#else /* def F_GETFL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_NONE */
-	if ((x & Mono_Posix_MmapProt_PROT_READ) == Mono_Posix_MmapProt_PROT_READ)
-#ifdef PROT_READ
-		*r |= PROT_READ;
-#else /* def PROT_READ */
+#endif /* ndef F_GETFL */
+	if (x == Mono_Posix_FcntlCommand_F_GETLEASE)
+#ifdef F_GETLEASE
+		{*r = F_GETLEASE; return 0;}
+#else /* def F_GETLEASE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_READ */
-	if ((x & Mono_Posix_MmapProt_PROT_WRITE) == Mono_Posix_MmapProt_PROT_WRITE)
-#ifdef PROT_WRITE
-		*r |= PROT_WRITE;
-#else /* def PROT_WRITE */
+#endif /* ndef F_GETLEASE */
+	if (x == Mono_Posix_FcntlCommand_F_GETLK)
+#ifdef F_GETLK
+		{*r = F_GETLK; return 0;}
+#else /* def F_GETLK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_WRITE */
-	return 0;
-}
-
-int Mono_Posix_ToMmapProt (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef PROT_EXEC
-	if ((x & PROT_EXEC) == PROT_EXEC)
-		*r |= Mono_Posix_MmapProt_PROT_EXEC;
-#endif /* ndef PROT_EXEC */
-#ifdef PROT_GROWSDOWN
-	if ((x & PROT_GROWSDOWN) == PROT_GROWSDOWN)
-		*r |= Mono_Posix_MmapProt_PROT_GROWSDOWN;
-#endif /* ndef PROT_GROWSDOWN */
-#ifdef PROT_GROWSUP
-	if ((x & PROT_GROWSUP) == PROT_GROWSUP)
-		*r |= Mono_Posix_MmapProt_PROT_GROWSUP;
-#endif /* ndef PROT_GROWSUP */
-#ifdef PROT_NONE
-	if ((x & PROT_NONE) == PROT_NONE)
-		*r |= Mono_Posix_MmapProt_PROT_NONE;
-#endif /* ndef PROT_NONE */
-#ifdef PROT_READ
-	if ((x & PROT_READ) == PROT_READ)
-		*r |= Mono_Posix_MmapProt_PROT_READ;
-#endif /* ndef PROT_READ */
-#ifdef PROT_WRITE
-	if ((x & PROT_WRITE) == PROT_WRITE)
-		*r |= Mono_Posix_MmapProt_PROT_WRITE;
-#endif /* ndef PROT_WRITE */
-	return 0;
-}
-
-int Mono_Posix_FromAccessModes (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_AccessModes_F_OK) == Mono_Posix_AccessModes_F_OK)
-#ifdef F_OK
-		*r |= F_OK;
-#else /* def F_OK */
+#endif /* ndef F_GETLK */
+	if (x == Mono_Posix_FcntlCommand_F_GETOWN)
+#ifdef F_GETOWN
+		{*r = F_GETOWN; return 0;}
+#else /* def F_GETOWN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef F_OK */
-	if ((x & Mono_Posix_AccessModes_R_OK) == Mono_Posix_AccessModes_R_OK)
-#ifdef R_OK
-		*r |= R_OK;
-#else /* def R_OK */
+#endif /* ndef F_GETOWN */
+	if (x == Mono_Posix_FcntlCommand_F_GETSIG)
+#ifdef F_GETSIG
+		{*r = F_GETSIG; return 0;}
+#else /* def F_GETSIG */
 		{errno = EINVAL; return -1;}
-#endif /* ndef R_OK */
-	if ((x & Mono_Posix_AccessModes_W_OK) == Mono_Posix_AccessModes_W_OK)
-#ifdef W_OK
-		*r |= W_OK;
-#else /* def W_OK */
+#endif /* ndef F_GETSIG */
+	if (x == Mono_Posix_FcntlCommand_F_NOTIFY)
+#ifdef F_NOTIFY
+		{*r = F_NOTIFY; return 0;}
+#else /* def F_NOTIFY */
 		{errno = EINVAL; return -1;}
-#endif /* ndef W_OK */
-	if ((x & Mono_Posix_AccessModes_X_OK) == Mono_Posix_AccessModes_X_OK)
-#ifdef X_OK
-		*r |= X_OK;
-#else /* def X_OK */
+#endif /* ndef F_NOTIFY */
+	if (x == Mono_Posix_FcntlCommand_F_SETFD)
+#ifdef F_SETFD
+		{*r = F_SETFD; return 0;}
+#else /* def F_SETFD */
 		{errno = EINVAL; return -1;}
-#endif /* ndef X_OK */
-	return 0;
+#endif /* ndef F_SETFD */
+	if (x == Mono_Posix_FcntlCommand_F_SETFL)
+#ifdef F_SETFL
+		{*r = F_SETFL; return 0;}
+#else /* def F_SETFL */
+		{errno = EINVAL; return -1;}
+#endif /* ndef F_SETFL */
+	if (x == Mono_Posix_FcntlCommand_F_SETLEASE)
+#ifdef F_SETLEASE
+		{*r = F_SETLEASE; return 0;}
+#else /* def F_SETLEASE */
+		{errno = EINVAL; return -1;}
+#endif /* ndef F_SETLEASE */
+	if (x == Mono_Posix_FcntlCommand_F_SETLK)
+#ifdef F_SETLK
+		{*r = F_SETLK; return 0;}
+#else /* def F_SETLK */
+		{errno = EINVAL; return -1;}
+#endif /* ndef F_SETLK */
+	if (x == Mono_Posix_FcntlCommand_F_SETLKW)
+#ifdef F_SETLKW
+		{*r = F_SETLKW; return 0;}
+#else /* def F_SETLKW */
+		{errno = EINVAL; return -1;}
+#endif /* ndef F_SETLKW */
+	if (x == Mono_Posix_FcntlCommand_F_SETOWN)
+#ifdef F_SETOWN
+		{*r = F_SETOWN; return 0;}
+#else /* def F_SETOWN */
+		{errno = EINVAL; return -1;}
+#endif /* ndef F_SETOWN */
+	if (x == Mono_Posix_FcntlCommand_F_SETSIG)
+#ifdef F_SETSIG
+		{*r = F_SETSIG; return 0;}
+#else /* def F_SETSIG */
+		{errno = EINVAL; return -1;}
+#endif /* ndef F_SETSIG */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_ToAccessModes (int x, int *r)
+int Mono_Posix_ToFcntlCommand (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
-#ifdef F_OK
-	if ((x & F_OK) == F_OK)
-		*r |= Mono_Posix_AccessModes_F_OK;
-#endif /* ndef F_OK */
-#ifdef R_OK
-	if ((x & R_OK) == R_OK)
-		*r |= Mono_Posix_AccessModes_R_OK;
-#endif /* ndef R_OK */
-#ifdef W_OK
-	if ((x & W_OK) == W_OK)
-		*r |= Mono_Posix_AccessModes_W_OK;
-#endif /* ndef W_OK */
-#ifdef X_OK
-	if ((x & X_OK) == X_OK)
-		*r |= Mono_Posix_AccessModes_X_OK;
-#endif /* ndef X_OK */
-	return 0;
+#ifdef F_DUPFD
+	if (x == F_DUPFD)
+		{*r = Mono_Posix_FcntlCommand_F_DUPFD; return 0;}
+#endif /* ndef F_DUPFD */
+#ifdef F_GETFD
+	if (x == F_GETFD)
+		{*r = Mono_Posix_FcntlCommand_F_GETFD; return 0;}
+#endif /* ndef F_GETFD */
+#ifdef F_GETFL
+	if (x == F_GETFL)
+		{*r = Mono_Posix_FcntlCommand_F_GETFL; return 0;}
+#endif /* ndef F_GETFL */
+#ifdef F_GETLEASE
+	if (x == F_GETLEASE)
+		{*r = Mono_Posix_FcntlCommand_F_GETLEASE; return 0;}
+#endif /* ndef F_GETLEASE */
+#ifdef F_GETLK
+	if (x == F_GETLK)
+		{*r = Mono_Posix_FcntlCommand_F_GETLK; return 0;}
+#endif /* ndef F_GETLK */
+#ifdef F_GETOWN
+	if (x == F_GETOWN)
+		{*r = Mono_Posix_FcntlCommand_F_GETOWN; return 0;}
+#endif /* ndef F_GETOWN */
+#ifdef F_GETSIG
+	if (x == F_GETSIG)
+		{*r = Mono_Posix_FcntlCommand_F_GETSIG; return 0;}
+#endif /* ndef F_GETSIG */
+#ifdef F_NOTIFY
+	if (x == F_NOTIFY)
+		{*r = Mono_Posix_FcntlCommand_F_NOTIFY; return 0;}
+#endif /* ndef F_NOTIFY */
+#ifdef F_SETFD
+	if (x == F_SETFD)
+		{*r = Mono_Posix_FcntlCommand_F_SETFD; return 0;}
+#endif /* ndef F_SETFD */
+#ifdef F_SETFL
+	if (x == F_SETFL)
+		{*r = Mono_Posix_FcntlCommand_F_SETFL; return 0;}
+#endif /* ndef F_SETFL */
+#ifdef F_SETLEASE
+	if (x == F_SETLEASE)
+		{*r = Mono_Posix_FcntlCommand_F_SETLEASE; return 0;}
+#endif /* ndef F_SETLEASE */
+#ifdef F_SETLK
+	if (x == F_SETLK)
+		{*r = Mono_Posix_FcntlCommand_F_SETLK; return 0;}
+#endif /* ndef F_SETLK */
+#ifdef F_SETLKW
+	if (x == F_SETLKW)
+		{*r = Mono_Posix_FcntlCommand_F_SETLKW; return 0;}
+#endif /* ndef F_SETLKW */
+#ifdef F_SETOWN
+	if (x == F_SETOWN)
+		{*r = Mono_Posix_FcntlCommand_F_SETOWN; return 0;}
+#endif /* ndef F_SETOWN */
+#ifdef F_SETSIG
+	if (x == F_SETSIG)
+		{*r = Mono_Posix_FcntlCommand_F_SETSIG; return 0;}
+#endif /* ndef F_SETSIG */
+	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_FromConfstrName (int x, int *r)
+int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION)
-#ifdef _CS_GNU_LIBC_VERSION
-		{*r = _CS_GNU_LIBC_VERSION; return 0;}
-#else /* def _CS_GNU_LIBC_VERSION */
+	if ((x & Mono_Posix_FilePermissions_ACCESSPERMS) == Mono_Posix_FilePermissions_ACCESSPERMS)
+#ifdef ACCESSPERMS
+		*r |= ACCESSPERMS;
+#else /* def ACCESSPERMS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_GNU_LIBC_VERSION */
-	if (x == Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION)
-#ifdef _CS_GNU_LIBPTHREAD_VERSION
-		{*r = _CS_GNU_LIBPTHREAD_VERSION; return 0;}
-#else /* def _CS_GNU_LIBPTHREAD_VERSION */
+#endif /* ndef ACCESSPERMS */
+	if ((x & Mono_Posix_FilePermissions_ALLPERMS) == Mono_Posix_FilePermissions_ALLPERMS)
+#ifdef ALLPERMS
+		*r |= ALLPERMS;
+#else /* def ALLPERMS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
-	if (x == Mono_Posix_ConfstrName__CS_LFS64_CFLAGS)
-#ifdef _CS_LFS64_CFLAGS
-		{*r = _CS_LFS64_CFLAGS; return 0;}
-#else /* def _CS_LFS64_CFLAGS */
+#endif /* ndef ALLPERMS */
+	if ((x & Mono_Posix_FilePermissions_DEFFILEMODE) == Mono_Posix_FilePermissions_DEFFILEMODE)
+#ifdef DEFFILEMODE
+		*r |= DEFFILEMODE;
+#else /* def DEFFILEMODE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS64_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS)
-#ifdef _CS_LFS64_LDFLAGS
-		{*r = _CS_LFS64_LDFLAGS; return 0;}
-#else /* def _CS_LFS64_LDFLAGS */
+#endif /* ndef DEFFILEMODE */
+	if ((x & Mono_Posix_FilePermissions_S_IFBLK) == Mono_Posix_FilePermissions_S_IFBLK)
+#ifdef S_IFBLK
+		*r |= S_IFBLK;
+#else /* def S_IFBLK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS64_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS64_LIBS)
-#ifdef _CS_LFS64_LIBS
-		{*r = _CS_LFS64_LIBS; return 0;}
-#else /* def _CS_LFS64_LIBS */
+#endif /* ndef S_IFBLK */
+	if ((x & Mono_Posix_FilePermissions_S_IFCHR) == Mono_Posix_FilePermissions_S_IFCHR)
+#ifdef S_IFCHR
+		*r |= S_IFCHR;
+#else /* def S_IFCHR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS64_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS)
-#ifdef _CS_LFS64_LINTFLAGS
-		{*r = _CS_LFS64_LINTFLAGS; return 0;}
-#else /* def _CS_LFS64_LINTFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS64_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS_CFLAGS)
-#ifdef _CS_LFS_CFLAGS
-		{*r = _CS_LFS_CFLAGS; return 0;}
-#else /* def _CS_LFS_CFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS_LDFLAGS)
-#ifdef _CS_LFS_LDFLAGS
-		{*r = _CS_LFS_LDFLAGS; return 0;}
-#else /* def _CS_LFS_LDFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS_LIBS)
-#ifdef _CS_LFS_LIBS
-		{*r = _CS_LFS_LIBS; return 0;}
-#else /* def _CS_LFS_LIBS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS)
-#ifdef _CS_LFS_LINTFLAGS
-		{*r = _CS_LFS_LINTFLAGS; return 0;}
-#else /* def _CS_LFS_LINTFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_LFS_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_PATH)
-#ifdef _CS_PATH
-		{*r = _CS_PATH; return 0;}
-#else /* def _CS_PATH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_PATH */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS)
-#ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
-		{*r = _CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
-#ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
-		{*r = _CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS)
-#ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
-		{*r = _CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFF32_LIBS */
+#endif /* ndef S_IFCHR */
+	if ((x & Mono_Posix_FilePermissions_S_IFDIR) == Mono_Posix_FilePermissions_S_IFDIR)
+#ifdef S_IFDIR
+		*r |= S_IFDIR;
+#else /* def S_IFDIR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
-#ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
-		{*r = _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
+#endif /* ndef S_IFDIR */
+	if ((x & Mono_Posix_FilePermissions_S_IFIFO) == Mono_Posix_FilePermissions_S_IFIFO)
+#ifdef S_IFIFO
+		*r |= S_IFIFO;
+#else /* def S_IFIFO */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
-		{*r = _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
+#endif /* ndef S_IFIFO */
+	if ((x & Mono_Posix_FilePermissions_S_IFLNK) == Mono_Posix_FilePermissions_S_IFLNK)
+#ifdef S_IFLNK
+		*r |= S_IFLNK;
+#else /* def S_IFLNK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
-		{*r = _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
+#endif /* ndef S_IFLNK */
+	if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFMT)
+#ifdef S_IFMT
+		*r |= S_IFMT;
+#else /* def S_IFMT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS)
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
-		{*r = _CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
+#endif /* ndef S_IFMT */
+	if ((x & Mono_Posix_FilePermissions_S_IFREG) == Mono_Posix_FilePermissions_S_IFREG)
+#ifdef S_IFREG
+		*r |= S_IFREG;
+#else /* def S_IFREG */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
-		{*r = _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
+#endif /* ndef S_IFREG */
+	if ((x & Mono_Posix_FilePermissions_S_IFSOCK) == Mono_Posix_FilePermissions_S_IFSOCK)
+#ifdef S_IFSOCK
+		*r |= S_IFSOCK;
+#else /* def S_IFSOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS)
-#ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
-		{*r = _CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_LP64_OFF64_CFLAGS */
+#endif /* ndef S_IFSOCK */
+	if ((x & Mono_Posix_FilePermissions_S_IRGRP) == Mono_Posix_FilePermissions_S_IRGRP)
+#ifdef S_IRGRP
+		*r |= S_IRGRP;
+#else /* def S_IRGRP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS)
-#ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
-		{*r = _CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
+#endif /* ndef S_IRGRP */
+	if ((x & Mono_Posix_FilePermissions_S_IROTH) == Mono_Posix_FilePermissions_S_IROTH)
+#ifdef S_IROTH
+		*r |= S_IROTH;
+#else /* def S_IROTH */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS)
-#ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
-		{*r = _CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
-#else /* def _CS_POSIX_V6_LP64_OFF64_LIBS */
+#endif /* ndef S_IROTH */
+	if ((x & Mono_Posix_FilePermissions_S_IRUSR) == Mono_Posix_FilePermissions_S_IRUSR)
+#ifdef S_IRUSR
+		*r |= S_IRUSR;
+#else /* def S_IRUSR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
-#ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
-		{*r = _CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
+#endif /* ndef S_IRUSR */
+	if ((x & Mono_Posix_FilePermissions_S_IRWXG) == Mono_Posix_FilePermissions_S_IRWXG)
+#ifdef S_IRWXG
+		*r |= S_IRWXG;
+#else /* def S_IRWXG */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
-		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
+#endif /* ndef S_IRWXG */
+	if ((x & Mono_Posix_FilePermissions_S_IRWXO) == Mono_Posix_FilePermissions_S_IRWXO)
+#ifdef S_IRWXO
+		*r |= S_IRWXO;
+#else /* def S_IRWXO */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
-		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
+#endif /* ndef S_IRWXO */
+	if ((x & Mono_Posix_FilePermissions_S_IRWXU) == Mono_Posix_FilePermissions_S_IRWXU)
+#ifdef S_IRWXU
+		*r |= S_IRWXU;
+#else /* def S_IRWXU */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
-		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
-#else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
+#endif /* ndef S_IRWXU */
+	if ((x & Mono_Posix_FilePermissions_S_ISGID) == Mono_Posix_FilePermissions_S_ISGID)
+#ifdef S_ISGID
+		*r |= S_ISGID;
+#else /* def S_ISGID */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
-		{*r = _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
-#else /* def _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
+#endif /* ndef S_ISGID */
+	if ((x & Mono_Posix_FilePermissions_S_ISUID) == Mono_Posix_FilePermissions_S_ISUID)
+#ifdef S_ISUID
+		*r |= S_ISUID;
+#else /* def S_ISUID */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS)
-#ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
-		{*r = _CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
-#else /* def _CS_V6_WIDTH_RESTRICTED_ENVS */
+#endif /* ndef S_ISUID */
+	if ((x & Mono_Posix_FilePermissions_S_ISVTX) == Mono_Posix_FilePermissions_S_ISVTX)
+#ifdef S_ISVTX
+		*r |= S_ISVTX;
+#else /* def S_ISVTX */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS)
-#ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
-		{*r = _CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFF32_CFLAGS */
+#endif /* ndef S_ISVTX */
+	if ((x & Mono_Posix_FilePermissions_S_IWGRP) == Mono_Posix_FilePermissions_S_IWGRP)
+#ifdef S_IWGRP
+		*r |= S_IWGRP;
+#else /* def S_IWGRP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS)
-#ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
-		{*r = _CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFF32_LDFLAGS */
+#endif /* ndef S_IWGRP */
+	if ((x & Mono_Posix_FilePermissions_S_IWOTH) == Mono_Posix_FilePermissions_S_IWOTH)
+#ifdef S_IWOTH
+		*r |= S_IWOTH;
+#else /* def S_IWOTH */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS)
-#ifdef _CS_XBS5_ILP32_OFF32_LIBS
-		{*r = _CS_XBS5_ILP32_OFF32_LIBS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFF32_LIBS */
+#endif /* ndef S_IWOTH */
+	if ((x & Mono_Posix_FilePermissions_S_IWUSR) == Mono_Posix_FilePermissions_S_IWUSR)
+#ifdef S_IWUSR
+		*r |= S_IWUSR;
+#else /* def S_IWUSR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS)
-#ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
-		{*r = _CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFF32_LINTFLAGS */
+#endif /* ndef S_IWUSR */
+	if ((x & Mono_Posix_FilePermissions_S_IXGRP) == Mono_Posix_FilePermissions_S_IXGRP)
+#ifdef S_IXGRP
+		*r |= S_IXGRP;
+#else /* def S_IXGRP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS)
-#ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
-		{*r = _CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFFBIG_CFLAGS */
+#endif /* ndef S_IXGRP */
+	if ((x & Mono_Posix_FilePermissions_S_IXOTH) == Mono_Posix_FilePermissions_S_IXOTH)
+#ifdef S_IXOTH
+		*r |= S_IXOTH;
+#else /* def S_IXOTH */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS)
-#ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
-		{*r = _CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
+#endif /* ndef S_IXOTH */
+	if ((x & Mono_Posix_FilePermissions_S_IXUSR) == Mono_Posix_FilePermissions_S_IXUSR)
+#ifdef S_IXUSR
+		*r |= S_IXUSR;
+#else /* def S_IXUSR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS)
-#ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
-		{*r = _CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFFBIG_LIBS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
-#ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
-		{*r = _CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
-#else /* def _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS)
-#ifdef _CS_XBS5_LP64_OFF64_CFLAGS
-		{*r = _CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
-#else /* def _CS_XBS5_LP64_OFF64_CFLAGS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS)
-#ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
-		{*r = _CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
-#else /* def _CS_XBS5_LP64_OFF64_LDFLAGS */
+#endif /* ndef S_IXUSR */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToFilePermissions (unsigned int x, unsigned int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef ACCESSPERMS
+	if ((x & ACCESSPERMS) == ACCESSPERMS)
+		*r |= Mono_Posix_FilePermissions_ACCESSPERMS;
+#endif /* ndef ACCESSPERMS */
+#ifdef ALLPERMS
+	if ((x & ALLPERMS) == ALLPERMS)
+		*r |= Mono_Posix_FilePermissions_ALLPERMS;
+#endif /* ndef ALLPERMS */
+#ifdef DEFFILEMODE
+	if ((x & DEFFILEMODE) == DEFFILEMODE)
+		*r |= Mono_Posix_FilePermissions_DEFFILEMODE;
+#endif /* ndef DEFFILEMODE */
+#ifdef S_IFBLK
+	if ((x & S_IFBLK) == S_IFBLK)
+		*r |= Mono_Posix_FilePermissions_S_IFBLK;
+#endif /* ndef S_IFBLK */
+#ifdef S_IFCHR
+	if ((x & S_IFCHR) == S_IFCHR)
+		*r |= Mono_Posix_FilePermissions_S_IFCHR;
+#endif /* ndef S_IFCHR */
+#ifdef S_IFDIR
+	if ((x & S_IFDIR) == S_IFDIR)
+		*r |= Mono_Posix_FilePermissions_S_IFDIR;
+#endif /* ndef S_IFDIR */
+#ifdef S_IFIFO
+	if ((x & S_IFIFO) == S_IFIFO)
+		*r |= Mono_Posix_FilePermissions_S_IFIFO;
+#endif /* ndef S_IFIFO */
+#ifdef S_IFLNK
+	if ((x & S_IFLNK) == S_IFLNK)
+		*r |= Mono_Posix_FilePermissions_S_IFLNK;
+#endif /* ndef S_IFLNK */
+#ifdef S_IFMT
+	if ((x & S_IFMT) == S_IFMT)
+		*r |= Mono_Posix_FilePermissions_S_IFMT;
+#endif /* ndef S_IFMT */
+#ifdef S_IFREG
+	if ((x & S_IFREG) == S_IFREG)
+		*r |= Mono_Posix_FilePermissions_S_IFREG;
+#endif /* ndef S_IFREG */
+#ifdef S_IFSOCK
+	if ((x & S_IFSOCK) == S_IFSOCK)
+		*r |= Mono_Posix_FilePermissions_S_IFSOCK;
+#endif /* ndef S_IFSOCK */
+#ifdef S_IRGRP
+	if ((x & S_IRGRP) == S_IRGRP)
+		*r |= Mono_Posix_FilePermissions_S_IRGRP;
+#endif /* ndef S_IRGRP */
+#ifdef S_IROTH
+	if ((x & S_IROTH) == S_IROTH)
+		*r |= Mono_Posix_FilePermissions_S_IROTH;
+#endif /* ndef S_IROTH */
+#ifdef S_IRUSR
+	if ((x & S_IRUSR) == S_IRUSR)
+		*r |= Mono_Posix_FilePermissions_S_IRUSR;
+#endif /* ndef S_IRUSR */
+#ifdef S_IRWXG
+	if ((x & S_IRWXG) == S_IRWXG)
+		*r |= Mono_Posix_FilePermissions_S_IRWXG;
+#endif /* ndef S_IRWXG */
+#ifdef S_IRWXO
+	if ((x & S_IRWXO) == S_IRWXO)
+		*r |= Mono_Posix_FilePermissions_S_IRWXO;
+#endif /* ndef S_IRWXO */
+#ifdef S_IRWXU
+	if ((x & S_IRWXU) == S_IRWXU)
+		*r |= Mono_Posix_FilePermissions_S_IRWXU;
+#endif /* ndef S_IRWXU */
+#ifdef S_ISGID
+	if ((x & S_ISGID) == S_ISGID)
+		*r |= Mono_Posix_FilePermissions_S_ISGID;
+#endif /* ndef S_ISGID */
+#ifdef S_ISUID
+	if ((x & S_ISUID) == S_ISUID)
+		*r |= Mono_Posix_FilePermissions_S_ISUID;
+#endif /* ndef S_ISUID */
+#ifdef S_ISVTX
+	if ((x & S_ISVTX) == S_ISVTX)
+		*r |= Mono_Posix_FilePermissions_S_ISVTX;
+#endif /* ndef S_ISVTX */
+#ifdef S_IWGRP
+	if ((x & S_IWGRP) == S_IWGRP)
+		*r |= Mono_Posix_FilePermissions_S_IWGRP;
+#endif /* ndef S_IWGRP */
+#ifdef S_IWOTH
+	if ((x & S_IWOTH) == S_IWOTH)
+		*r |= Mono_Posix_FilePermissions_S_IWOTH;
+#endif /* ndef S_IWOTH */
+#ifdef S_IWUSR
+	if ((x & S_IWUSR) == S_IWUSR)
+		*r |= Mono_Posix_FilePermissions_S_IWUSR;
+#endif /* ndef S_IWUSR */
+#ifdef S_IXGRP
+	if ((x & S_IXGRP) == S_IXGRP)
+		*r |= Mono_Posix_FilePermissions_S_IXGRP;
+#endif /* ndef S_IXGRP */
+#ifdef S_IXOTH
+	if ((x & S_IXOTH) == S_IXOTH)
+		*r |= Mono_Posix_FilePermissions_S_IXOTH;
+#endif /* ndef S_IXOTH */
+#ifdef S_IXUSR
+	if ((x & S_IXUSR) == S_IXUSR)
+		*r |= Mono_Posix_FilePermissions_S_IXUSR;
+#endif /* ndef S_IXUSR */
+	return 0;
+}
+
+int Mono_Posix_FromLockType (short x, short *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_LockType_F_RDLCK)
+#ifdef F_RDLCK
+		{*r = F_RDLCK; return 0;}
+#else /* def F_RDLCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS)
-#ifdef _CS_XBS5_LP64_OFF64_LIBS
-		{*r = _CS_XBS5_LP64_OFF64_LIBS; return 0;}
-#else /* def _CS_XBS5_LP64_OFF64_LIBS */
+#endif /* ndef F_RDLCK */
+	if (x == Mono_Posix_LockType_F_UNLCK)
+#ifdef F_UNLCK
+		{*r = F_UNLCK; return 0;}
+#else /* def F_UNLCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS)
-#ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
-		{*r = _CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
-#else /* def _CS_XBS5_LP64_OFF64_LINTFLAGS */
+#endif /* ndef F_UNLCK */
+	if (x == Mono_Posix_LockType_F_WRLCK)
+#ifdef F_WRLCK
+		{*r = F_WRLCK; return 0;}
+#else /* def F_WRLCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS)
-#ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
-		{*r = _CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
-#else /* def _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
+#endif /* ndef F_WRLCK */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToLockType (short x, short *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef F_RDLCK
+	if (x == F_RDLCK)
+		{*r = Mono_Posix_LockType_F_RDLCK; return 0;}
+#endif /* ndef F_RDLCK */
+#ifdef F_UNLCK
+	if (x == F_UNLCK)
+		{*r = Mono_Posix_LockType_F_UNLCK; return 0;}
+#endif /* ndef F_UNLCK */
+#ifdef F_WRLCK
+	if (x == F_WRLCK)
+		{*r = Mono_Posix_LockType_F_WRLCK; return 0;}
+#endif /* ndef F_WRLCK */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromLockfCommand (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_LockfCommand_F_LOCK)
+#ifdef F_LOCK
+		{*r = F_LOCK; return 0;}
+#else /* def F_LOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
-#ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
-		{*r = _CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
-#else /* def _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
+#endif /* ndef F_LOCK */
+	if (x == Mono_Posix_LockfCommand_F_TEST)
+#ifdef F_TEST
+		{*r = F_TEST; return 0;}
+#else /* def F_TEST */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS)
-#ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
-		{*r = _CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
-#else /* def _CS_XBS5_LPBIG_OFFBIG_LIBS */
+#endif /* ndef F_TEST */
+	if (x == Mono_Posix_LockfCommand_F_TLOCK)
+#ifdef F_TLOCK
+		{*r = F_TLOCK; return 0;}
+#else /* def F_TLOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
-	if (x == Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
-#ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
-		{*r = _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
-#else /* def _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
+#endif /* ndef F_TLOCK */
+	if (x == Mono_Posix_LockfCommand_F_ULOCK)
+#ifdef F_ULOCK
+		{*r = F_ULOCK; return 0;}
+#else /* def F_ULOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
+#endif /* ndef F_ULOCK */
+	if (x == 0)
+		return 0;
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_ToConfstrName (int x, int *r)
+int Mono_Posix_ToLockfCommand (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
-#ifdef _CS_GNU_LIBC_VERSION
-	if (x == _CS_GNU_LIBC_VERSION)
-		{*r = Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION; return 0;}
-#endif /* ndef _CS_GNU_LIBC_VERSION */
-#ifdef _CS_GNU_LIBPTHREAD_VERSION
-	if (x == _CS_GNU_LIBPTHREAD_VERSION)
-		{*r = Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION; return 0;}
-#endif /* ndef _CS_GNU_LIBPTHREAD_VERSION */
-#ifdef _CS_LFS64_CFLAGS
-	if (x == _CS_LFS64_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS64_CFLAGS; return 0;}
-#endif /* ndef _CS_LFS64_CFLAGS */
-#ifdef _CS_LFS64_LDFLAGS
-	if (x == _CS_LFS64_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS; return 0;}
-#endif /* ndef _CS_LFS64_LDFLAGS */
-#ifdef _CS_LFS64_LIBS
-	if (x == _CS_LFS64_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS64_LIBS; return 0;}
-#endif /* ndef _CS_LFS64_LIBS */
-#ifdef _CS_LFS64_LINTFLAGS
-	if (x == _CS_LFS64_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS; return 0;}
-#endif /* ndef _CS_LFS64_LINTFLAGS */
-#ifdef _CS_LFS_CFLAGS
-	if (x == _CS_LFS_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS_CFLAGS; return 0;}
-#endif /* ndef _CS_LFS_CFLAGS */
-#ifdef _CS_LFS_LDFLAGS
-	if (x == _CS_LFS_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS_LDFLAGS; return 0;}
-#endif /* ndef _CS_LFS_LDFLAGS */
-#ifdef _CS_LFS_LIBS
-	if (x == _CS_LFS_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS_LIBS; return 0;}
-#endif /* ndef _CS_LFS_LIBS */
-#ifdef _CS_LFS_LINTFLAGS
-	if (x == _CS_LFS_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS; return 0;}
-#endif /* ndef _CS_LFS_LINTFLAGS */
-#ifdef _CS_PATH
-	if (x == _CS_PATH)
-		{*r = Mono_Posix_ConfstrName__CS_PATH; return 0;}
-#endif /* ndef _CS_PATH */
-#ifdef _CS_POSIX_V6_ILP32_OFF32_CFLAGS
-	if (x == _CS_POSIX_V6_ILP32_OFF32_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_CFLAGS */
-#ifdef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
-	if (x == _CS_POSIX_V6_ILP32_OFF32_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LDFLAGS */
-#ifdef _CS_POSIX_V6_ILP32_OFF32_LIBS
-	if (x == _CS_POSIX_V6_ILP32_OFF32_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LIBS */
-#ifdef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
-	if (x == _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS */
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
-	if (x == _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS */
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
-	if (x == _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS */
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_LIBS
-	if (x == _CS_POSIX_V6_ILP32_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LIBS */
-#ifdef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
-	if (x == _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS */
-#ifdef _CS_POSIX_V6_LP64_OFF64_CFLAGS
-	if (x == _CS_POSIX_V6_LP64_OFF64_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_CFLAGS */
-#ifdef _CS_POSIX_V6_LP64_OFF64_LDFLAGS
-	if (x == _CS_POSIX_V6_LP64_OFF64_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_LDFLAGS */
-#ifdef _CS_POSIX_V6_LP64_OFF64_LIBS
-	if (x == _CS_POSIX_V6_LP64_OFF64_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_LIBS */
-#ifdef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
-	if (x == _CS_POSIX_V6_LP64_OFF64_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LP64_OFF64_LINTFLAGS */
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
-	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS */
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
-	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS */
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
-	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LIBS */
-#ifdef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
-	if (x == _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS; return 0;}
-#endif /* ndef _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS */
-#ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
-	if (x == _CS_V6_WIDTH_RESTRICTED_ENVS)
-		{*r = Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS; return 0;}
-#endif /* ndef _CS_V6_WIDTH_RESTRICTED_ENVS */
-#ifdef _CS_XBS5_ILP32_OFF32_CFLAGS
-	if (x == _CS_XBS5_ILP32_OFF32_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_CFLAGS */
-#ifdef _CS_XBS5_ILP32_OFF32_LDFLAGS
-	if (x == _CS_XBS5_ILP32_OFF32_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_LDFLAGS */
-#ifdef _CS_XBS5_ILP32_OFF32_LIBS
-	if (x == _CS_XBS5_ILP32_OFF32_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_LIBS */
-#ifdef _CS_XBS5_ILP32_OFF32_LINTFLAGS
-	if (x == _CS_XBS5_ILP32_OFF32_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFF32_LINTFLAGS */
-#ifdef _CS_XBS5_ILP32_OFFBIG_CFLAGS
-	if (x == _CS_XBS5_ILP32_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_CFLAGS */
-#ifdef _CS_XBS5_ILP32_OFFBIG_LDFLAGS
-	if (x == _CS_XBS5_ILP32_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_LDFLAGS */
-#ifdef _CS_XBS5_ILP32_OFFBIG_LIBS
-	if (x == _CS_XBS5_ILP32_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_LIBS */
-#ifdef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
-	if (x == _CS_XBS5_ILP32_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_ILP32_OFFBIG_LINTFLAGS */
-#ifdef _CS_XBS5_LP64_OFF64_CFLAGS
-	if (x == _CS_XBS5_LP64_OFF64_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_CFLAGS */
-#ifdef _CS_XBS5_LP64_OFF64_LDFLAGS
-	if (x == _CS_XBS5_LP64_OFF64_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_LDFLAGS */
-#ifdef _CS_XBS5_LP64_OFF64_LIBS
-	if (x == _CS_XBS5_LP64_OFF64_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS; return 0;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_LIBS */
-#ifdef _CS_XBS5_LP64_OFF64_LINTFLAGS
-	if (x == _CS_XBS5_LP64_OFF64_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_LP64_OFF64_LINTFLAGS */
-#ifdef _CS_XBS5_LPBIG_OFFBIG_CFLAGS
-	if (x == _CS_XBS5_LPBIG_OFFBIG_CFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_CFLAGS */
-#ifdef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
-	if (x == _CS_XBS5_LPBIG_OFFBIG_LDFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LDFLAGS */
-#ifdef _CS_XBS5_LPBIG_OFFBIG_LIBS
-	if (x == _CS_XBS5_LPBIG_OFFBIG_LIBS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS; return 0;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LIBS */
-#ifdef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
-	if (x == _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS)
-		{*r = Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS; return 0;}
-#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
+#ifdef F_LOCK
+	if (x == F_LOCK)
+		{*r = Mono_Posix_LockfCommand_F_LOCK; return 0;}
+#endif /* ndef F_LOCK */
+#ifdef F_TEST
+	if (x == F_TEST)
+		{*r = Mono_Posix_LockfCommand_F_TEST; return 0;}
+#endif /* ndef F_TEST */
+#ifdef F_TLOCK
+	if (x == F_TLOCK)
+		{*r = Mono_Posix_LockfCommand_F_TLOCK; return 0;}
+#endif /* ndef F_TLOCK */
+#ifdef F_ULOCK
+	if (x == F_ULOCK)
+		{*r = Mono_Posix_LockfCommand_F_ULOCK; return 0;}
+#endif /* ndef F_ULOCK */
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_FromDirectoryNotifyFlags (int x, int *r)
+int Mono_Posix_FromMlockallFlags (int x, int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ACCESS) == Mono_Posix_DirectoryNotifyFlags_DN_ACCESS)
-#ifdef DN_ACCESS
-		*r |= DN_ACCESS;
-#else /* def DN_ACCESS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef DN_ACCESS */
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB) == Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB)
-#ifdef DN_ATTRIB
-		*r |= DN_ATTRIB;
-#else /* def DN_ATTRIB */
-		{errno = EINVAL; return -1;}
-#endif /* ndef DN_ATTRIB */
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_CREATE) == Mono_Posix_DirectoryNotifyFlags_DN_CREATE)
-#ifdef DN_CREATE
-		*r |= DN_CREATE;
-#else /* def DN_CREATE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef DN_CREATE */
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_DELETE) == Mono_Posix_DirectoryNotifyFlags_DN_DELETE)
-#ifdef DN_DELETE
-		*r |= DN_DELETE;
-#else /* def DN_DELETE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef DN_DELETE */
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MODIFY) == Mono_Posix_DirectoryNotifyFlags_DN_MODIFY)
-#ifdef DN_MODIFY
-		*r |= DN_MODIFY;
-#else /* def DN_MODIFY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef DN_MODIFY */
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT) == Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT)
-#ifdef DN_MULTISHOT
-		*r |= DN_MULTISHOT;
-#else /* def DN_MULTISHOT */
+	if ((x & Mono_Posix_MlockallFlags_MCL_CURRENT) == Mono_Posix_MlockallFlags_MCL_CURRENT)
+#ifdef MCL_CURRENT
+		*r |= MCL_CURRENT;
+#else /* def MCL_CURRENT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef DN_MULTISHOT */
-	if ((x & Mono_Posix_DirectoryNotifyFlags_DN_RENAME) == Mono_Posix_DirectoryNotifyFlags_DN_RENAME)
-#ifdef DN_RENAME
-		*r |= DN_RENAME;
-#else /* def DN_RENAME */
+#endif /* ndef MCL_CURRENT */
+	if ((x & Mono_Posix_MlockallFlags_MCL_FUTURE) == Mono_Posix_MlockallFlags_MCL_FUTURE)
+#ifdef MCL_FUTURE
+		*r |= MCL_FUTURE;
+#else /* def MCL_FUTURE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef DN_RENAME */
+#endif /* ndef MCL_FUTURE */
+	if (x == 0)
+		return 0;
 	return 0;
 }
 
-int Mono_Posix_ToDirectoryNotifyFlags (int x, int *r)
+int Mono_Posix_ToMlockallFlags (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
-#ifdef DN_ACCESS
-	if ((x & DN_ACCESS) == DN_ACCESS)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_ACCESS;
-#endif /* ndef DN_ACCESS */
-#ifdef DN_ATTRIB
-	if ((x & DN_ATTRIB) == DN_ATTRIB)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB;
-#endif /* ndef DN_ATTRIB */
-#ifdef DN_CREATE
-	if ((x & DN_CREATE) == DN_CREATE)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_CREATE;
-#endif /* ndef DN_CREATE */
-#ifdef DN_DELETE
-	if ((x & DN_DELETE) == DN_DELETE)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_DELETE;
-#endif /* ndef DN_DELETE */
-#ifdef DN_MODIFY
-	if ((x & DN_MODIFY) == DN_MODIFY)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_MODIFY;
-#endif /* ndef DN_MODIFY */
-#ifdef DN_MULTISHOT
-	if ((x & DN_MULTISHOT) == DN_MULTISHOT)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT;
-#endif /* ndef DN_MULTISHOT */
-#ifdef DN_RENAME
-	if ((x & DN_RENAME) == DN_RENAME)
-		*r |= Mono_Posix_DirectoryNotifyFlags_DN_RENAME;
-#endif /* ndef DN_RENAME */
+#ifdef MCL_CURRENT
+	if ((x & MCL_CURRENT) == MCL_CURRENT)
+		*r |= Mono_Posix_MlockallFlags_MCL_CURRENT;
+#endif /* ndef MCL_CURRENT */
+#ifdef MCL_FUTURE
+	if ((x & MCL_FUTURE) == MCL_FUTURE)
+		*r |= Mono_Posix_MlockallFlags_MCL_FUTURE;
+#endif /* ndef MCL_FUTURE */
 	return 0;
 }
 
-int Mono_Posix_FromErrno (int x, int *r)
+int Mono_Posix_FromMmapFlags (int x, int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_Errno_E2BIG)
-#ifdef E2BIG
-		{*r = E2BIG; return 0;}
-#else /* def E2BIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef E2BIG */
-	if (x == Mono_Posix_Errno_EACCES)
-#ifdef EACCES
-		{*r = EACCES; return 0;}
-#else /* def EACCES */
+	if ((x & Mono_Posix_MmapFlags_MAP_ANON) == Mono_Posix_MmapFlags_MAP_ANON)
+#ifdef MAP_ANON
+		*r |= MAP_ANON;
+#else /* def MAP_ANON */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EACCES */
-	if (x == Mono_Posix_Errno_EADDRINUSE)
-#ifdef EADDRINUSE
-		{*r = EADDRINUSE; return 0;}
-#else /* def EADDRINUSE */
+#endif /* ndef MAP_ANON */
+	if ((x & Mono_Posix_MmapFlags_MAP_ANONYMOUS) == Mono_Posix_MmapFlags_MAP_ANONYMOUS)
+#ifdef MAP_ANONYMOUS
+		*r |= MAP_ANONYMOUS;
+#else /* def MAP_ANONYMOUS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EADDRINUSE */
-	if (x == Mono_Posix_Errno_EADDRNOTAVAIL)
-#ifdef EADDRNOTAVAIL
-		{*r = EADDRNOTAVAIL; return 0;}
-#else /* def EADDRNOTAVAIL */
+#endif /* ndef MAP_ANONYMOUS */
+	if ((x & Mono_Posix_MmapFlags_MAP_DENYWRITE) == Mono_Posix_MmapFlags_MAP_DENYWRITE)
+#ifdef MAP_DENYWRITE
+		*r |= MAP_DENYWRITE;
+#else /* def MAP_DENYWRITE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EADDRNOTAVAIL */
-	if (x == Mono_Posix_Errno_EADV)
-#ifdef EADV
-		{*r = EADV; return 0;}
-#else /* def EADV */
+#endif /* ndef MAP_DENYWRITE */
+	if ((x & Mono_Posix_MmapFlags_MAP_EXECUTABLE) == Mono_Posix_MmapFlags_MAP_EXECUTABLE)
+#ifdef MAP_EXECUTABLE
+		*r |= MAP_EXECUTABLE;
+#else /* def MAP_EXECUTABLE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EADV */
-	if (x == Mono_Posix_Errno_EAFNOSUPPORT)
-#ifdef EAFNOSUPPORT
-		{*r = EAFNOSUPPORT; return 0;}
-#else /* def EAFNOSUPPORT */
+#endif /* ndef MAP_EXECUTABLE */
+	if ((x & Mono_Posix_MmapFlags_MAP_FILE) == Mono_Posix_MmapFlags_MAP_FILE)
+#ifdef MAP_FILE
+		*r |= MAP_FILE;
+#else /* def MAP_FILE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EAFNOSUPPORT */
-	if (x == Mono_Posix_Errno_EAGAIN)
-#ifdef EAGAIN
-		{*r = EAGAIN; return 0;}
-#else /* def EAGAIN */
+#endif /* ndef MAP_FILE */
+	if ((x & Mono_Posix_MmapFlags_MAP_FIXED) == Mono_Posix_MmapFlags_MAP_FIXED)
+#ifdef MAP_FIXED
+		*r |= MAP_FIXED;
+#else /* def MAP_FIXED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EAGAIN */
-	if (x == Mono_Posix_Errno_EALREADY)
-#ifdef EALREADY
-		{*r = EALREADY; return 0;}
-#else /* def EALREADY */
+#endif /* ndef MAP_FIXED */
+	if ((x & Mono_Posix_MmapFlags_MAP_GROWSDOWN) == Mono_Posix_MmapFlags_MAP_GROWSDOWN)
+#ifdef MAP_GROWSDOWN
+		*r |= MAP_GROWSDOWN;
+#else /* def MAP_GROWSDOWN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EALREADY */
-	if (x == Mono_Posix_Errno_EBADE)
-#ifdef EBADE
-		{*r = EBADE; return 0;}
-#else /* def EBADE */
+#endif /* ndef MAP_GROWSDOWN */
+	if ((x & Mono_Posix_MmapFlags_MAP_LOCKED) == Mono_Posix_MmapFlags_MAP_LOCKED)
+#ifdef MAP_LOCKED
+		*r |= MAP_LOCKED;
+#else /* def MAP_LOCKED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADE */
-	if (x == Mono_Posix_Errno_EBADF)
-#ifdef EBADF
-		{*r = EBADF; return 0;}
-#else /* def EBADF */
+#endif /* ndef MAP_LOCKED */
+	if ((x & Mono_Posix_MmapFlags_MAP_NONBLOCK) == Mono_Posix_MmapFlags_MAP_NONBLOCK)
+#ifdef MAP_NONBLOCK
+		*r |= MAP_NONBLOCK;
+#else /* def MAP_NONBLOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADF */
-	if (x == Mono_Posix_Errno_EBADFD)
-#ifdef EBADFD
-		{*r = EBADFD; return 0;}
-#else /* def EBADFD */
+#endif /* ndef MAP_NONBLOCK */
+	if ((x & Mono_Posix_MmapFlags_MAP_NORESERVE) == Mono_Posix_MmapFlags_MAP_NORESERVE)
+#ifdef MAP_NORESERVE
+		*r |= MAP_NORESERVE;
+#else /* def MAP_NORESERVE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADFD */
-	if (x == Mono_Posix_Errno_EBADMSG)
-#ifdef EBADMSG
-		{*r = EBADMSG; return 0;}
-#else /* def EBADMSG */
+#endif /* ndef MAP_NORESERVE */
+	if ((x & Mono_Posix_MmapFlags_MAP_POPULATE) == Mono_Posix_MmapFlags_MAP_POPULATE)
+#ifdef MAP_POPULATE
+		*r |= MAP_POPULATE;
+#else /* def MAP_POPULATE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADMSG */
-	if (x == Mono_Posix_Errno_EBADR)
-#ifdef EBADR
-		{*r = EBADR; return 0;}
-#else /* def EBADR */
+#endif /* ndef MAP_POPULATE */
+	if ((x & Mono_Posix_MmapFlags_MAP_PRIVATE) == Mono_Posix_MmapFlags_MAP_PRIVATE)
+#ifdef MAP_PRIVATE
+		*r |= MAP_PRIVATE;
+#else /* def MAP_PRIVATE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADR */
-	if (x == Mono_Posix_Errno_EBADRQC)
-#ifdef EBADRQC
-		{*r = EBADRQC; return 0;}
-#else /* def EBADRQC */
+#endif /* ndef MAP_PRIVATE */
+	if ((x & Mono_Posix_MmapFlags_MAP_SHARED) == Mono_Posix_MmapFlags_MAP_SHARED)
+#ifdef MAP_SHARED
+		*r |= MAP_SHARED;
+#else /* def MAP_SHARED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADRQC */
-	if (x == Mono_Posix_Errno_EBADSLT)
-#ifdef EBADSLT
-		{*r = EBADSLT; return 0;}
-#else /* def EBADSLT */
+#endif /* ndef MAP_SHARED */
+	if ((x & Mono_Posix_MmapFlags_MAP_TYPE) == Mono_Posix_MmapFlags_MAP_TYPE)
+#ifdef MAP_TYPE
+		*r |= MAP_TYPE;
+#else /* def MAP_TYPE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBADSLT */
-	if (x == Mono_Posix_Errno_EBFONT)
-#ifdef EBFONT
-		{*r = EBFONT; return 0;}
-#else /* def EBFONT */
+#endif /* ndef MAP_TYPE */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToMmapFlags (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef MAP_ANON
+	if ((x & MAP_ANON) == MAP_ANON)
+		*r |= Mono_Posix_MmapFlags_MAP_ANON;
+#endif /* ndef MAP_ANON */
+#ifdef MAP_ANONYMOUS
+	if ((x & MAP_ANONYMOUS) == MAP_ANONYMOUS)
+		*r |= Mono_Posix_MmapFlags_MAP_ANONYMOUS;
+#endif /* ndef MAP_ANONYMOUS */
+#ifdef MAP_DENYWRITE
+	if ((x & MAP_DENYWRITE) == MAP_DENYWRITE)
+		*r |= Mono_Posix_MmapFlags_MAP_DENYWRITE;
+#endif /* ndef MAP_DENYWRITE */
+#ifdef MAP_EXECUTABLE
+	if ((x & MAP_EXECUTABLE) == MAP_EXECUTABLE)
+		*r |= Mono_Posix_MmapFlags_MAP_EXECUTABLE;
+#endif /* ndef MAP_EXECUTABLE */
+#ifdef MAP_FILE
+	if ((x & MAP_FILE) == MAP_FILE)
+		*r |= Mono_Posix_MmapFlags_MAP_FILE;
+#endif /* ndef MAP_FILE */
+#ifdef MAP_FIXED
+	if ((x & MAP_FIXED) == MAP_FIXED)
+		*r |= Mono_Posix_MmapFlags_MAP_FIXED;
+#endif /* ndef MAP_FIXED */
+#ifdef MAP_GROWSDOWN
+	if ((x & MAP_GROWSDOWN) == MAP_GROWSDOWN)
+		*r |= Mono_Posix_MmapFlags_MAP_GROWSDOWN;
+#endif /* ndef MAP_GROWSDOWN */
+#ifdef MAP_LOCKED
+	if ((x & MAP_LOCKED) == MAP_LOCKED)
+		*r |= Mono_Posix_MmapFlags_MAP_LOCKED;
+#endif /* ndef MAP_LOCKED */
+#ifdef MAP_NONBLOCK
+	if ((x & MAP_NONBLOCK) == MAP_NONBLOCK)
+		*r |= Mono_Posix_MmapFlags_MAP_NONBLOCK;
+#endif /* ndef MAP_NONBLOCK */
+#ifdef MAP_NORESERVE
+	if ((x & MAP_NORESERVE) == MAP_NORESERVE)
+		*r |= Mono_Posix_MmapFlags_MAP_NORESERVE;
+#endif /* ndef MAP_NORESERVE */
+#ifdef MAP_POPULATE
+	if ((x & MAP_POPULATE) == MAP_POPULATE)
+		*r |= Mono_Posix_MmapFlags_MAP_POPULATE;
+#endif /* ndef MAP_POPULATE */
+#ifdef MAP_PRIVATE
+	if ((x & MAP_PRIVATE) == MAP_PRIVATE)
+		*r |= Mono_Posix_MmapFlags_MAP_PRIVATE;
+#endif /* ndef MAP_PRIVATE */
+#ifdef MAP_SHARED
+	if ((x & MAP_SHARED) == MAP_SHARED)
+		*r |= Mono_Posix_MmapFlags_MAP_SHARED;
+#endif /* ndef MAP_SHARED */
+#ifdef MAP_TYPE
+	if ((x & MAP_TYPE) == MAP_TYPE)
+		*r |= Mono_Posix_MmapFlags_MAP_TYPE;
+#endif /* ndef MAP_TYPE */
+	return 0;
+}
+
+int Mono_Posix_FromMmapProts (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_MmapProts_PROT_EXEC) == Mono_Posix_MmapProts_PROT_EXEC)
+#ifdef PROT_EXEC
+		*r |= PROT_EXEC;
+#else /* def PROT_EXEC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBFONT */
-	if (x == Mono_Posix_Errno_EBUSY)
-#ifdef EBUSY
-		{*r = EBUSY; return 0;}
-#else /* def EBUSY */
+#endif /* ndef PROT_EXEC */
+	if ((x & Mono_Posix_MmapProts_PROT_GROWSDOWN) == Mono_Posix_MmapProts_PROT_GROWSDOWN)
+#ifdef PROT_GROWSDOWN
+		*r |= PROT_GROWSDOWN;
+#else /* def PROT_GROWSDOWN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EBUSY */
-	if (x == Mono_Posix_Errno_ECHILD)
-#ifdef ECHILD
-		{*r = ECHILD; return 0;}
-#else /* def ECHILD */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ECHILD */
-	if (x == Mono_Posix_Errno_ECHRNG)
-#ifdef ECHRNG
-		{*r = ECHRNG; return 0;}
-#else /* def ECHRNG */
+#endif /* ndef PROT_GROWSDOWN */
+	if ((x & Mono_Posix_MmapProts_PROT_GROWSUP) == Mono_Posix_MmapProts_PROT_GROWSUP)
+#ifdef PROT_GROWSUP
+		*r |= PROT_GROWSUP;
+#else /* def PROT_GROWSUP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ECHRNG */
-	if (x == Mono_Posix_Errno_ECOMM)
-#ifdef ECOMM
-		{*r = ECOMM; return 0;}
-#else /* def ECOMM */
+#endif /* ndef PROT_GROWSUP */
+	if ((x & Mono_Posix_MmapProts_PROT_NONE) == Mono_Posix_MmapProts_PROT_NONE)
+#ifdef PROT_NONE
+		*r |= PROT_NONE;
+#else /* def PROT_NONE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ECOMM */
-	if (x == Mono_Posix_Errno_ECONNABORTED)
-#ifdef ECONNABORTED
-		{*r = ECONNABORTED; return 0;}
-#else /* def ECONNABORTED */
+#endif /* ndef PROT_NONE */
+	if ((x & Mono_Posix_MmapProts_PROT_READ) == Mono_Posix_MmapProts_PROT_READ)
+#ifdef PROT_READ
+		*r |= PROT_READ;
+#else /* def PROT_READ */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ECONNABORTED */
-	if (x == Mono_Posix_Errno_ECONNREFUSED)
-#ifdef ECONNREFUSED
-		{*r = ECONNREFUSED; return 0;}
-#else /* def ECONNREFUSED */
+#endif /* ndef PROT_READ */
+	if ((x & Mono_Posix_MmapProts_PROT_WRITE) == Mono_Posix_MmapProts_PROT_WRITE)
+#ifdef PROT_WRITE
+		*r |= PROT_WRITE;
+#else /* def PROT_WRITE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ECONNREFUSED */
-	if (x == Mono_Posix_Errno_ECONNRESET)
-#ifdef ECONNRESET
-		{*r = ECONNRESET; return 0;}
-#else /* def ECONNRESET */
+#endif /* ndef PROT_WRITE */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToMmapProts (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef PROT_EXEC
+	if ((x & PROT_EXEC) == PROT_EXEC)
+		*r |= Mono_Posix_MmapProts_PROT_EXEC;
+#endif /* ndef PROT_EXEC */
+#ifdef PROT_GROWSDOWN
+	if ((x & PROT_GROWSDOWN) == PROT_GROWSDOWN)
+		*r |= Mono_Posix_MmapProts_PROT_GROWSDOWN;
+#endif /* ndef PROT_GROWSDOWN */
+#ifdef PROT_GROWSUP
+	if ((x & PROT_GROWSUP) == PROT_GROWSUP)
+		*r |= Mono_Posix_MmapProts_PROT_GROWSUP;
+#endif /* ndef PROT_GROWSUP */
+#ifdef PROT_NONE
+	if ((x & PROT_NONE) == PROT_NONE)
+		*r |= Mono_Posix_MmapProts_PROT_NONE;
+#endif /* ndef PROT_NONE */
+#ifdef PROT_READ
+	if ((x & PROT_READ) == PROT_READ)
+		*r |= Mono_Posix_MmapProts_PROT_READ;
+#endif /* ndef PROT_READ */
+#ifdef PROT_WRITE
+	if ((x & PROT_WRITE) == PROT_WRITE)
+		*r |= Mono_Posix_MmapProts_PROT_WRITE;
+#endif /* ndef PROT_WRITE */
+	return 0;
+}
+
+int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_MountFlags_ST_APPEND) == Mono_Posix_MountFlags_ST_APPEND)
+#ifdef ST_APPEND
+		*r |= ST_APPEND;
+#else /* def ST_APPEND */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ECONNRESET */
-	if (x == Mono_Posix_Errno_EDEADLK)
-#ifdef EDEADLK
-		{*r = EDEADLK; return 0;}
-#else /* def EDEADLK */
+#endif /* ndef ST_APPEND */
+	if ((x & Mono_Posix_MountFlags_ST_IMMUTABLE) == Mono_Posix_MountFlags_ST_IMMUTABLE)
+#ifdef ST_IMMUTABLE
+		*r |= ST_IMMUTABLE;
+#else /* def ST_IMMUTABLE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EDEADLK */
-	if (x == Mono_Posix_Errno_EDEADLOCK)
-#ifdef EDEADLOCK
-		{*r = EDEADLOCK; return 0;}
-#else /* def EDEADLOCK */
+#endif /* ndef ST_IMMUTABLE */
+	if ((x & Mono_Posix_MountFlags_ST_MANDLOCK) == Mono_Posix_MountFlags_ST_MANDLOCK)
+#ifdef ST_MANDLOCK
+		*r |= ST_MANDLOCK;
+#else /* def ST_MANDLOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EDEADLOCK */
-	if (x == Mono_Posix_Errno_EDESTADDRREQ)
-#ifdef EDESTADDRREQ
-		{*r = EDESTADDRREQ; return 0;}
-#else /* def EDESTADDRREQ */
+#endif /* ndef ST_MANDLOCK */
+	if ((x & Mono_Posix_MountFlags_ST_NOATIME) == Mono_Posix_MountFlags_ST_NOATIME)
+#ifdef ST_NOATIME
+		*r |= ST_NOATIME;
+#else /* def ST_NOATIME */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EDESTADDRREQ */
-	if (x == Mono_Posix_Errno_EDOM)
-#ifdef EDOM
-		{*r = EDOM; return 0;}
-#else /* def EDOM */
+#endif /* ndef ST_NOATIME */
+	if ((x & Mono_Posix_MountFlags_ST_NODEV) == Mono_Posix_MountFlags_ST_NODEV)
+#ifdef ST_NODEV
+		*r |= ST_NODEV;
+#else /* def ST_NODEV */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EDOM */
-	if (x == Mono_Posix_Errno_EDOTDOT)
-#ifdef EDOTDOT
-		{*r = EDOTDOT; return 0;}
-#else /* def EDOTDOT */
+#endif /* ndef ST_NODEV */
+	if ((x & Mono_Posix_MountFlags_ST_NODIRATIME) == Mono_Posix_MountFlags_ST_NODIRATIME)
+#ifdef ST_NODIRATIME
+		*r |= ST_NODIRATIME;
+#else /* def ST_NODIRATIME */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EDOTDOT */
-	if (x == Mono_Posix_Errno_EDQUOT)
-#ifdef EDQUOT
-		{*r = EDQUOT; return 0;}
-#else /* def EDQUOT */
+#endif /* ndef ST_NODIRATIME */
+	if ((x & Mono_Posix_MountFlags_ST_NOSUID) == Mono_Posix_MountFlags_ST_NOSUID)
+#ifdef ST_NOSUID
+		*r |= ST_NOSUID;
+#else /* def ST_NOSUID */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EDQUOT */
-	if (x == Mono_Posix_Errno_EEXIST)
-#ifdef EEXIST
-		{*r = EEXIST; return 0;}
-#else /* def EEXIST */
+#endif /* ndef ST_NOSUID */
+	if ((x & Mono_Posix_MountFlags_ST_RDONLY) == Mono_Posix_MountFlags_ST_RDONLY)
+#ifdef ST_RDONLY
+		*r |= ST_RDONLY;
+#else /* def ST_RDONLY */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EEXIST */
-	if (x == Mono_Posix_Errno_EFAULT)
-#ifdef EFAULT
-		{*r = EFAULT; return 0;}
-#else /* def EFAULT */
+#endif /* ndef ST_RDONLY */
+	if ((x & Mono_Posix_MountFlags_ST_SYNCHRONOUS) == Mono_Posix_MountFlags_ST_SYNCHRONOUS)
+#ifdef ST_SYNCHRONOUS
+		*r |= ST_SYNCHRONOUS;
+#else /* def ST_SYNCHRONOUS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EFAULT */
-	if (x == Mono_Posix_Errno_EFBIG)
-#ifdef EFBIG
-		{*r = EFBIG; return 0;}
-#else /* def EFBIG */
+#endif /* ndef ST_SYNCHRONOUS */
+	if ((x & Mono_Posix_MountFlags_ST_WRITE) == Mono_Posix_MountFlags_ST_WRITE)
+#ifdef ST_WRITE
+		*r |= ST_WRITE;
+#else /* def ST_WRITE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EFBIG */
-	if (x == Mono_Posix_Errno_EHOSTDOWN)
-#ifdef EHOSTDOWN
-		{*r = EHOSTDOWN; return 0;}
-#else /* def EHOSTDOWN */
+#endif /* ndef ST_WRITE */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef ST_APPEND
+	if ((x & ST_APPEND) == ST_APPEND)
+		*r |= Mono_Posix_MountFlags_ST_APPEND;
+#endif /* ndef ST_APPEND */
+#ifdef ST_IMMUTABLE
+	if ((x & ST_IMMUTABLE) == ST_IMMUTABLE)
+		*r |= Mono_Posix_MountFlags_ST_IMMUTABLE;
+#endif /* ndef ST_IMMUTABLE */
+#ifdef ST_MANDLOCK
+	if ((x & ST_MANDLOCK) == ST_MANDLOCK)
+		*r |= Mono_Posix_MountFlags_ST_MANDLOCK;
+#endif /* ndef ST_MANDLOCK */
+#ifdef ST_NOATIME
+	if ((x & ST_NOATIME) == ST_NOATIME)
+		*r |= Mono_Posix_MountFlags_ST_NOATIME;
+#endif /* ndef ST_NOATIME */
+#ifdef ST_NODEV
+	if ((x & ST_NODEV) == ST_NODEV)
+		*r |= Mono_Posix_MountFlags_ST_NODEV;
+#endif /* ndef ST_NODEV */
+#ifdef ST_NODIRATIME
+	if ((x & ST_NODIRATIME) == ST_NODIRATIME)
+		*r |= Mono_Posix_MountFlags_ST_NODIRATIME;
+#endif /* ndef ST_NODIRATIME */
+#ifdef ST_NOSUID
+	if ((x & ST_NOSUID) == ST_NOSUID)
+		*r |= Mono_Posix_MountFlags_ST_NOSUID;
+#endif /* ndef ST_NOSUID */
+#ifdef ST_RDONLY
+	if ((x & ST_RDONLY) == ST_RDONLY)
+		*r |= Mono_Posix_MountFlags_ST_RDONLY;
+#endif /* ndef ST_RDONLY */
+#ifdef ST_SYNCHRONOUS
+	if ((x & ST_SYNCHRONOUS) == ST_SYNCHRONOUS)
+		*r |= Mono_Posix_MountFlags_ST_SYNCHRONOUS;
+#endif /* ndef ST_SYNCHRONOUS */
+#ifdef ST_WRITE
+	if ((x & ST_WRITE) == ST_WRITE)
+		*r |= Mono_Posix_MountFlags_ST_WRITE;
+#endif /* ndef ST_WRITE */
+	return 0;
+}
+
+int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_MremapFlags_MREMAP_MAYMOVE) == Mono_Posix_MremapFlags_MREMAP_MAYMOVE)
+#ifdef MREMAP_MAYMOVE
+		*r |= MREMAP_MAYMOVE;
+#else /* def MREMAP_MAYMOVE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EHOSTDOWN */
-	if (x == Mono_Posix_Errno_EHOSTUNREACH)
-#ifdef EHOSTUNREACH
-		{*r = EHOSTUNREACH; return 0;}
-#else /* def EHOSTUNREACH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EHOSTUNREACH */
-	if (x == Mono_Posix_Errno_EIDRM)
-#ifdef EIDRM
-		{*r = EIDRM; return 0;}
-#else /* def EIDRM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EIDRM */
-	if (x == Mono_Posix_Errno_EILSEQ)
-#ifdef EILSEQ
-		{*r = EILSEQ; return 0;}
-#else /* def EILSEQ */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EILSEQ */
-	if (x == Mono_Posix_Errno_EINPROGRESS)
-#ifdef EINPROGRESS
-		{*r = EINPROGRESS; return 0;}
-#else /* def EINPROGRESS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EINPROGRESS */
-	if (x == Mono_Posix_Errno_EINTR)
-#ifdef EINTR
-		{*r = EINTR; return 0;}
-#else /* def EINTR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EINTR */
-	if (x == Mono_Posix_Errno_EINVAL)
-#ifdef EINVAL
-		{*r = EINVAL; return 0;}
-#else /* def EINVAL */
+#endif /* ndef MREMAP_MAYMOVE */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToMremapFlags (guint64 x, guint64 *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef MREMAP_MAYMOVE
+	if ((x & MREMAP_MAYMOVE) == MREMAP_MAYMOVE)
+		*r |= Mono_Posix_MremapFlags_MREMAP_MAYMOVE;
+#endif /* ndef MREMAP_MAYMOVE */
+	return 0;
+}
+
+int Mono_Posix_FromMsyncFlags (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_MsyncFlags_MS_ASYNC) == Mono_Posix_MsyncFlags_MS_ASYNC)
+#ifdef MS_ASYNC
+		*r |= MS_ASYNC;
+#else /* def MS_ASYNC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EINVAL */
-	if (x == Mono_Posix_Errno_EIO)
-#ifdef EIO
-		{*r = EIO; return 0;}
-#else /* def EIO */
+#endif /* ndef MS_ASYNC */
+	if ((x & Mono_Posix_MsyncFlags_MS_INVALIDATE) == Mono_Posix_MsyncFlags_MS_INVALIDATE)
+#ifdef MS_INVALIDATE
+		*r |= MS_INVALIDATE;
+#else /* def MS_INVALIDATE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EIO */
-	if (x == Mono_Posix_Errno_EISCONN)
-#ifdef EISCONN
-		{*r = EISCONN; return 0;}
-#else /* def EISCONN */
+#endif /* ndef MS_INVALIDATE */
+	if ((x & Mono_Posix_MsyncFlags_MS_SYNC) == Mono_Posix_MsyncFlags_MS_SYNC)
+#ifdef MS_SYNC
+		*r |= MS_SYNC;
+#else /* def MS_SYNC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EISCONN */
-	if (x == Mono_Posix_Errno_EISDIR)
-#ifdef EISDIR
-		{*r = EISDIR; return 0;}
-#else /* def EISDIR */
+#endif /* ndef MS_SYNC */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToMsyncFlags (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef MS_ASYNC
+	if ((x & MS_ASYNC) == MS_ASYNC)
+		*r |= Mono_Posix_MsyncFlags_MS_ASYNC;
+#endif /* ndef MS_ASYNC */
+#ifdef MS_INVALIDATE
+	if ((x & MS_INVALIDATE) == MS_INVALIDATE)
+		*r |= Mono_Posix_MsyncFlags_MS_INVALIDATE;
+#endif /* ndef MS_INVALIDATE */
+#ifdef MS_SYNC
+	if ((x & MS_SYNC) == MS_SYNC)
+		*r |= Mono_Posix_MsyncFlags_MS_SYNC;
+#endif /* ndef MS_SYNC */
+	return 0;
+}
+
+int Mono_Posix_FromOpenFlags (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_OpenFlags_O_APPEND) == Mono_Posix_OpenFlags_O_APPEND)
+#ifdef O_APPEND
+		*r |= O_APPEND;
+#else /* def O_APPEND */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EISDIR */
-	if (x == Mono_Posix_Errno_EISNAM)
-#ifdef EISNAM
-		{*r = EISNAM; return 0;}
-#else /* def EISNAM */
+#endif /* ndef O_APPEND */
+	if ((x & Mono_Posix_OpenFlags_O_ASYNC) == Mono_Posix_OpenFlags_O_ASYNC)
+#ifdef O_ASYNC
+		*r |= O_ASYNC;
+#else /* def O_ASYNC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EISNAM */
-	if (x == Mono_Posix_Errno_EL2HLT)
-#ifdef EL2HLT
-		{*r = EL2HLT; return 0;}
-#else /* def EL2HLT */
+#endif /* ndef O_ASYNC */
+	if ((x & Mono_Posix_OpenFlags_O_CREAT) == Mono_Posix_OpenFlags_O_CREAT)
+#ifdef O_CREAT
+		*r |= O_CREAT;
+#else /* def O_CREAT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EL2HLT */
-	if (x == Mono_Posix_Errno_EL2NSYNC)
-#ifdef EL2NSYNC
-		{*r = EL2NSYNC; return 0;}
-#else /* def EL2NSYNC */
+#endif /* ndef O_CREAT */
+	if ((x & Mono_Posix_OpenFlags_O_DIRECT) == Mono_Posix_OpenFlags_O_DIRECT)
+#ifdef O_DIRECT
+		*r |= O_DIRECT;
+#else /* def O_DIRECT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EL2NSYNC */
-	if (x == Mono_Posix_Errno_EL3HLT)
-#ifdef EL3HLT
-		{*r = EL3HLT; return 0;}
-#else /* def EL3HLT */
+#endif /* ndef O_DIRECT */
+	if ((x & Mono_Posix_OpenFlags_O_DIRECTORY) == Mono_Posix_OpenFlags_O_DIRECTORY)
+#ifdef O_DIRECTORY
+		*r |= O_DIRECTORY;
+#else /* def O_DIRECTORY */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EL3HLT */
-	if (x == Mono_Posix_Errno_EL3RST)
-#ifdef EL3RST
-		{*r = EL3RST; return 0;}
-#else /* def EL3RST */
+#endif /* ndef O_DIRECTORY */
+	if ((x & Mono_Posix_OpenFlags_O_EXCL) == Mono_Posix_OpenFlags_O_EXCL)
+#ifdef O_EXCL
+		*r |= O_EXCL;
+#else /* def O_EXCL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EL3RST */
-	if (x == Mono_Posix_Errno_ELIBACC)
-#ifdef ELIBACC
-		{*r = ELIBACC; return 0;}
-#else /* def ELIBACC */
+#endif /* ndef O_EXCL */
+	if ((x & Mono_Posix_OpenFlags_O_LARGEFILE) == Mono_Posix_OpenFlags_O_LARGEFILE)
+#ifdef O_LARGEFILE
+		*r |= O_LARGEFILE;
+#else /* def O_LARGEFILE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELIBACC */
-	if (x == Mono_Posix_Errno_ELIBBAD)
-#ifdef ELIBBAD
-		{*r = ELIBBAD; return 0;}
-#else /* def ELIBBAD */
+#endif /* ndef O_LARGEFILE */
+	if ((x & Mono_Posix_OpenFlags_O_NOCTTY) == Mono_Posix_OpenFlags_O_NOCTTY)
+#ifdef O_NOCTTY
+		*r |= O_NOCTTY;
+#else /* def O_NOCTTY */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELIBBAD */
-	if (x == Mono_Posix_Errno_ELIBEXEC)
-#ifdef ELIBEXEC
-		{*r = ELIBEXEC; return 0;}
-#else /* def ELIBEXEC */
+#endif /* ndef O_NOCTTY */
+	if ((x & Mono_Posix_OpenFlags_O_NOFOLLOW) == Mono_Posix_OpenFlags_O_NOFOLLOW)
+#ifdef O_NOFOLLOW
+		*r |= O_NOFOLLOW;
+#else /* def O_NOFOLLOW */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELIBEXEC */
-	if (x == Mono_Posix_Errno_ELIBMAX)
-#ifdef ELIBMAX
-		{*r = ELIBMAX; return 0;}
-#else /* def ELIBMAX */
+#endif /* ndef O_NOFOLLOW */
+	if ((x & Mono_Posix_OpenFlags_O_NONBLOCK) == Mono_Posix_OpenFlags_O_NONBLOCK)
+#ifdef O_NONBLOCK
+		*r |= O_NONBLOCK;
+#else /* def O_NONBLOCK */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELIBMAX */
-	if (x == Mono_Posix_Errno_ELIBSCN)
-#ifdef ELIBSCN
-		{*r = ELIBSCN; return 0;}
-#else /* def ELIBSCN */
+#endif /* ndef O_NONBLOCK */
+	if ((x & Mono_Posix_OpenFlags_O_RDONLY) == Mono_Posix_OpenFlags_O_RDONLY)
+#ifdef O_RDONLY
+		*r |= O_RDONLY;
+#else /* def O_RDONLY */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELIBSCN */
-	if (x == Mono_Posix_Errno_ELNRNG)
-#ifdef ELNRNG
-		{*r = ELNRNG; return 0;}
-#else /* def ELNRNG */
+#endif /* ndef O_RDONLY */
+	if ((x & Mono_Posix_OpenFlags_O_RDWR) == Mono_Posix_OpenFlags_O_RDWR)
+#ifdef O_RDWR
+		*r |= O_RDWR;
+#else /* def O_RDWR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELNRNG */
-	if (x == Mono_Posix_Errno_ELOOP)
-#ifdef ELOOP
-		{*r = ELOOP; return 0;}
-#else /* def ELOOP */
+#endif /* ndef O_RDWR */
+	if ((x & Mono_Posix_OpenFlags_O_SYNC) == Mono_Posix_OpenFlags_O_SYNC)
+#ifdef O_SYNC
+		*r |= O_SYNC;
+#else /* def O_SYNC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ELOOP */
-	if (x == Mono_Posix_Errno_EMEDIUMTYPE)
-#ifdef EMEDIUMTYPE
-		{*r = EMEDIUMTYPE; return 0;}
-#else /* def EMEDIUMTYPE */
+#endif /* ndef O_SYNC */
+	if ((x & Mono_Posix_OpenFlags_O_TRUNC) == Mono_Posix_OpenFlags_O_TRUNC)
+#ifdef O_TRUNC
+		*r |= O_TRUNC;
+#else /* def O_TRUNC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EMEDIUMTYPE */
-	if (x == Mono_Posix_Errno_EMFILE)
-#ifdef EMFILE
-		{*r = EMFILE; return 0;}
-#else /* def EMFILE */
+#endif /* ndef O_TRUNC */
+	if ((x & Mono_Posix_OpenFlags_O_WRONLY) == Mono_Posix_OpenFlags_O_WRONLY)
+#ifdef O_WRONLY
+		*r |= O_WRONLY;
+#else /* def O_WRONLY */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EMFILE */
-	if (x == Mono_Posix_Errno_EMLINK)
-#ifdef EMLINK
-		{*r = EMLINK; return 0;}
-#else /* def EMLINK */
+#endif /* ndef O_WRONLY */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToOpenFlags (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef O_APPEND
+	if ((x & O_APPEND) == O_APPEND)
+		*r |= Mono_Posix_OpenFlags_O_APPEND;
+#endif /* ndef O_APPEND */
+#ifdef O_ASYNC
+	if ((x & O_ASYNC) == O_ASYNC)
+		*r |= Mono_Posix_OpenFlags_O_ASYNC;
+#endif /* ndef O_ASYNC */
+#ifdef O_CREAT
+	if ((x & O_CREAT) == O_CREAT)
+		*r |= Mono_Posix_OpenFlags_O_CREAT;
+#endif /* ndef O_CREAT */
+#ifdef O_DIRECT
+	if ((x & O_DIRECT) == O_DIRECT)
+		*r |= Mono_Posix_OpenFlags_O_DIRECT;
+#endif /* ndef O_DIRECT */
+#ifdef O_DIRECTORY
+	if ((x & O_DIRECTORY) == O_DIRECTORY)
+		*r |= Mono_Posix_OpenFlags_O_DIRECTORY;
+#endif /* ndef O_DIRECTORY */
+#ifdef O_EXCL
+	if ((x & O_EXCL) == O_EXCL)
+		*r |= Mono_Posix_OpenFlags_O_EXCL;
+#endif /* ndef O_EXCL */
+#ifdef O_LARGEFILE
+	if ((x & O_LARGEFILE) == O_LARGEFILE)
+		*r |= Mono_Posix_OpenFlags_O_LARGEFILE;
+#endif /* ndef O_LARGEFILE */
+#ifdef O_NOCTTY
+	if ((x & O_NOCTTY) == O_NOCTTY)
+		*r |= Mono_Posix_OpenFlags_O_NOCTTY;
+#endif /* ndef O_NOCTTY */
+#ifdef O_NOFOLLOW
+	if ((x & O_NOFOLLOW) == O_NOFOLLOW)
+		*r |= Mono_Posix_OpenFlags_O_NOFOLLOW;
+#endif /* ndef O_NOFOLLOW */
+#ifdef O_NONBLOCK
+	if ((x & O_NONBLOCK) == O_NONBLOCK)
+		*r |= Mono_Posix_OpenFlags_O_NONBLOCK;
+#endif /* ndef O_NONBLOCK */
+#ifdef O_RDONLY
+	if ((x & O_RDONLY) == O_RDONLY)
+		*r |= Mono_Posix_OpenFlags_O_RDONLY;
+#endif /* ndef O_RDONLY */
+#ifdef O_RDWR
+	if ((x & O_RDWR) == O_RDWR)
+		*r |= Mono_Posix_OpenFlags_O_RDWR;
+#endif /* ndef O_RDWR */
+#ifdef O_SYNC
+	if ((x & O_SYNC) == O_SYNC)
+		*r |= Mono_Posix_OpenFlags_O_SYNC;
+#endif /* ndef O_SYNC */
+#ifdef O_TRUNC
+	if ((x & O_TRUNC) == O_TRUNC)
+		*r |= Mono_Posix_OpenFlags_O_TRUNC;
+#endif /* ndef O_TRUNC */
+#ifdef O_WRONLY
+	if ((x & O_WRONLY) == O_WRONLY)
+		*r |= Mono_Posix_OpenFlags_O_WRONLY;
+#endif /* ndef O_WRONLY */
+	return 0;
+}
+
+int Mono_Posix_FromPathconfName (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_PathconfName__PC_2_SYMLINKS)
+#ifdef _PC_2_SYMLINKS
+		{*r = _PC_2_SYMLINKS; return 0;}
+#else /* def _PC_2_SYMLINKS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EMLINK */
-	if (x == Mono_Posix_Errno_EMSGSIZE)
-#ifdef EMSGSIZE
-		{*r = EMSGSIZE; return 0;}
-#else /* def EMSGSIZE */
+#endif /* ndef _PC_2_SYMLINKS */
+	if (x == Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN)
+#ifdef _PC_ALLOC_SIZE_MIN
+		{*r = _PC_ALLOC_SIZE_MIN; return 0;}
+#else /* def _PC_ALLOC_SIZE_MIN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EMSGSIZE */
-	if (x == Mono_Posix_Errno_EMULTIHOP)
-#ifdef EMULTIHOP
-		{*r = EMULTIHOP; return 0;}
-#else /* def EMULTIHOP */
+#endif /* ndef _PC_ALLOC_SIZE_MIN */
+	if (x == Mono_Posix_PathconfName__PC_ASYNC_IO)
+#ifdef _PC_ASYNC_IO
+		{*r = _PC_ASYNC_IO; return 0;}
+#else /* def _PC_ASYNC_IO */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EMULTIHOP */
-	if (x == Mono_Posix_Errno_ENAMETOOLONG)
-#ifdef ENAMETOOLONG
-		{*r = ENAMETOOLONG; return 0;}
-#else /* def ENAMETOOLONG */
+#endif /* ndef _PC_ASYNC_IO */
+	if (x == Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED)
+#ifdef _PC_CHOWN_RESTRICTED
+		{*r = _PC_CHOWN_RESTRICTED; return 0;}
+#else /* def _PC_CHOWN_RESTRICTED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENAMETOOLONG */
-	if (x == Mono_Posix_Errno_ENAVAIL)
-#ifdef ENAVAIL
-		{*r = ENAVAIL; return 0;}
-#else /* def ENAVAIL */
+#endif /* ndef _PC_CHOWN_RESTRICTED */
+	if (x == Mono_Posix_PathconfName__PC_FILESIZEBITS)
+#ifdef _PC_FILESIZEBITS
+		{*r = _PC_FILESIZEBITS; return 0;}
+#else /* def _PC_FILESIZEBITS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENAVAIL */
-	if (x == Mono_Posix_Errno_ENETDOWN)
-#ifdef ENETDOWN
-		{*r = ENETDOWN; return 0;}
-#else /* def ENETDOWN */
+#endif /* ndef _PC_FILESIZEBITS */
+	if (x == Mono_Posix_PathconfName__PC_LINK_MAX)
+#ifdef _PC_LINK_MAX
+		{*r = _PC_LINK_MAX; return 0;}
+#else /* def _PC_LINK_MAX */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENETDOWN */
-	if (x == Mono_Posix_Errno_ENETRESET)
-#ifdef ENETRESET
-		{*r = ENETRESET; return 0;}
-#else /* def ENETRESET */
+#endif /* ndef _PC_LINK_MAX */
+	if (x == Mono_Posix_PathconfName__PC_MAX_CANON)
+#ifdef _PC_MAX_CANON
+		{*r = _PC_MAX_CANON; return 0;}
+#else /* def _PC_MAX_CANON */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENETRESET */
-	if (x == Mono_Posix_Errno_ENETUNREACH)
-#ifdef ENETUNREACH
-		{*r = ENETUNREACH; return 0;}
-#else /* def ENETUNREACH */
+#endif /* ndef _PC_MAX_CANON */
+	if (x == Mono_Posix_PathconfName__PC_MAX_INPUT)
+#ifdef _PC_MAX_INPUT
+		{*r = _PC_MAX_INPUT; return 0;}
+#else /* def _PC_MAX_INPUT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENETUNREACH */
-	if (x == Mono_Posix_Errno_ENFILE)
-#ifdef ENFILE
-		{*r = ENFILE; return 0;}
-#else /* def ENFILE */
+#endif /* ndef _PC_MAX_INPUT */
+	if (x == Mono_Posix_PathconfName__PC_NAME_MAX)
+#ifdef _PC_NAME_MAX
+		{*r = _PC_NAME_MAX; return 0;}
+#else /* def _PC_NAME_MAX */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENFILE */
-	if (x == Mono_Posix_Errno_ENOANO)
-#ifdef ENOANO
-		{*r = ENOANO; return 0;}
-#else /* def ENOANO */
+#endif /* ndef _PC_NAME_MAX */
+	if (x == Mono_Posix_PathconfName__PC_NO_TRUNC)
+#ifdef _PC_NO_TRUNC
+		{*r = _PC_NO_TRUNC; return 0;}
+#else /* def _PC_NO_TRUNC */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOANO */
-	if (x == Mono_Posix_Errno_ENOBUFS)
-#ifdef ENOBUFS
-		{*r = ENOBUFS; return 0;}
-#else /* def ENOBUFS */
+#endif /* ndef _PC_NO_TRUNC */
+	if (x == Mono_Posix_PathconfName__PC_PATH_MAX)
+#ifdef _PC_PATH_MAX
+		{*r = _PC_PATH_MAX; return 0;}
+#else /* def _PC_PATH_MAX */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOBUFS */
-	if (x == Mono_Posix_Errno_ENOCSI)
-#ifdef ENOCSI
-		{*r = ENOCSI; return 0;}
-#else /* def ENOCSI */
+#endif /* ndef _PC_PATH_MAX */
+	if (x == Mono_Posix_PathconfName__PC_PIPE_BUF)
+#ifdef _PC_PIPE_BUF
+		{*r = _PC_PIPE_BUF; return 0;}
+#else /* def _PC_PIPE_BUF */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOCSI */
-	if (x == Mono_Posix_Errno_ENODATA)
-#ifdef ENODATA
-		{*r = ENODATA; return 0;}
-#else /* def ENODATA */
+#endif /* ndef _PC_PIPE_BUF */
+	if (x == Mono_Posix_PathconfName__PC_PRIO_IO)
+#ifdef _PC_PRIO_IO
+		{*r = _PC_PRIO_IO; return 0;}
+#else /* def _PC_PRIO_IO */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENODATA */
-	if (x == Mono_Posix_Errno_ENODEV)
-#ifdef ENODEV
-		{*r = ENODEV; return 0;}
-#else /* def ENODEV */
+#endif /* ndef _PC_PRIO_IO */
+	if (x == Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE)
+#ifdef _PC_REC_INCR_XFER_SIZE
+		{*r = _PC_REC_INCR_XFER_SIZE; return 0;}
+#else /* def _PC_REC_INCR_XFER_SIZE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENODEV */
-	if (x == Mono_Posix_Errno_ENOENT)
-#ifdef ENOENT
-		{*r = ENOENT; return 0;}
-#else /* def ENOENT */
+#endif /* ndef _PC_REC_INCR_XFER_SIZE */
+	if (x == Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE)
+#ifdef _PC_REC_MAX_XFER_SIZE
+		{*r = _PC_REC_MAX_XFER_SIZE; return 0;}
+#else /* def _PC_REC_MAX_XFER_SIZE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOENT */
-	if (x == Mono_Posix_Errno_ENOEXEC)
-#ifdef ENOEXEC
-		{*r = ENOEXEC; return 0;}
-#else /* def ENOEXEC */
+#endif /* ndef _PC_REC_MAX_XFER_SIZE */
+	if (x == Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE)
+#ifdef _PC_REC_MIN_XFER_SIZE
+		{*r = _PC_REC_MIN_XFER_SIZE; return 0;}
+#else /* def _PC_REC_MIN_XFER_SIZE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOEXEC */
-	if (x == Mono_Posix_Errno_ENOLCK)
-#ifdef ENOLCK
-		{*r = ENOLCK; return 0;}
-#else /* def ENOLCK */
+#endif /* ndef _PC_REC_MIN_XFER_SIZE */
+	if (x == Mono_Posix_PathconfName__PC_REC_XFER_ALIGN)
+#ifdef _PC_REC_XFER_ALIGN
+		{*r = _PC_REC_XFER_ALIGN; return 0;}
+#else /* def _PC_REC_XFER_ALIGN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOLCK */
-	if (x == Mono_Posix_Errno_ENOLINK)
-#ifdef ENOLINK
-		{*r = ENOLINK; return 0;}
-#else /* def ENOLINK */
+#endif /* ndef _PC_REC_XFER_ALIGN */
+	if (x == Mono_Posix_PathconfName__PC_SOCK_MAXBUF)
+#ifdef _PC_SOCK_MAXBUF
+		{*r = _PC_SOCK_MAXBUF; return 0;}
+#else /* def _PC_SOCK_MAXBUF */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOLINK */
-	if (x == Mono_Posix_Errno_ENOMEDIUM)
-#ifdef ENOMEDIUM
-		{*r = ENOMEDIUM; return 0;}
-#else /* def ENOMEDIUM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ENOMEDIUM */
-	if (x == Mono_Posix_Errno_ENOMEM)
-#ifdef ENOMEM
-		{*r = ENOMEM; return 0;}
-#else /* def ENOMEM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ENOMEM */
-	if (x == Mono_Posix_Errno_ENOMSG)
-#ifdef ENOMSG
-		{*r = ENOMSG; return 0;}
-#else /* def ENOMSG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ENOMSG */
-	if (x == Mono_Posix_Errno_ENONET)
-#ifdef ENONET
-		{*r = ENONET; return 0;}
-#else /* def ENONET */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ENONET */
-	if (x == Mono_Posix_Errno_ENOPKG)
-#ifdef ENOPKG
-		{*r = ENOPKG; return 0;}
-#else /* def ENOPKG */
+#endif /* ndef _PC_SOCK_MAXBUF */
+	if (x == Mono_Posix_PathconfName__PC_SYMLINK_MAX)
+#ifdef _PC_SYMLINK_MAX
+		{*r = _PC_SYMLINK_MAX; return 0;}
+#else /* def _PC_SYMLINK_MAX */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOPKG */
-	if (x == Mono_Posix_Errno_ENOPROTOOPT)
-#ifdef ENOPROTOOPT
-		{*r = ENOPROTOOPT; return 0;}
-#else /* def ENOPROTOOPT */
+#endif /* ndef _PC_SYMLINK_MAX */
+	if (x == Mono_Posix_PathconfName__PC_SYNC_IO)
+#ifdef _PC_SYNC_IO
+		{*r = _PC_SYNC_IO; return 0;}
+#else /* def _PC_SYNC_IO */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOPROTOOPT */
-	if (x == Mono_Posix_Errno_ENOSPC)
-#ifdef ENOSPC
-		{*r = ENOSPC; return 0;}
-#else /* def ENOSPC */
+#endif /* ndef _PC_SYNC_IO */
+	if (x == Mono_Posix_PathconfName__PC_VDISABLE)
+#ifdef _PC_VDISABLE
+		{*r = _PC_VDISABLE; return 0;}
+#else /* def _PC_VDISABLE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOSPC */
-	if (x == Mono_Posix_Errno_ENOSR)
-#ifdef ENOSR
-		{*r = ENOSR; return 0;}
-#else /* def ENOSR */
+#endif /* ndef _PC_VDISABLE */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToPathconfName (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef _PC_2_SYMLINKS
+	if (x == _PC_2_SYMLINKS)
+		{*r = Mono_Posix_PathconfName__PC_2_SYMLINKS; return 0;}
+#endif /* ndef _PC_2_SYMLINKS */
+#ifdef _PC_ALLOC_SIZE_MIN
+	if (x == _PC_ALLOC_SIZE_MIN)
+		{*r = Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN; return 0;}
+#endif /* ndef _PC_ALLOC_SIZE_MIN */
+#ifdef _PC_ASYNC_IO
+	if (x == _PC_ASYNC_IO)
+		{*r = Mono_Posix_PathconfName__PC_ASYNC_IO; return 0;}
+#endif /* ndef _PC_ASYNC_IO */
+#ifdef _PC_CHOWN_RESTRICTED
+	if (x == _PC_CHOWN_RESTRICTED)
+		{*r = Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED; return 0;}
+#endif /* ndef _PC_CHOWN_RESTRICTED */
+#ifdef _PC_FILESIZEBITS
+	if (x == _PC_FILESIZEBITS)
+		{*r = Mono_Posix_PathconfName__PC_FILESIZEBITS; return 0;}
+#endif /* ndef _PC_FILESIZEBITS */
+#ifdef _PC_LINK_MAX
+	if (x == _PC_LINK_MAX)
+		{*r = Mono_Posix_PathconfName__PC_LINK_MAX; return 0;}
+#endif /* ndef _PC_LINK_MAX */
+#ifdef _PC_MAX_CANON
+	if (x == _PC_MAX_CANON)
+		{*r = Mono_Posix_PathconfName__PC_MAX_CANON; return 0;}
+#endif /* ndef _PC_MAX_CANON */
+#ifdef _PC_MAX_INPUT
+	if (x == _PC_MAX_INPUT)
+		{*r = Mono_Posix_PathconfName__PC_MAX_INPUT; return 0;}
+#endif /* ndef _PC_MAX_INPUT */
+#ifdef _PC_NAME_MAX
+	if (x == _PC_NAME_MAX)
+		{*r = Mono_Posix_PathconfName__PC_NAME_MAX; return 0;}
+#endif /* ndef _PC_NAME_MAX */
+#ifdef _PC_NO_TRUNC
+	if (x == _PC_NO_TRUNC)
+		{*r = Mono_Posix_PathconfName__PC_NO_TRUNC; return 0;}
+#endif /* ndef _PC_NO_TRUNC */
+#ifdef _PC_PATH_MAX
+	if (x == _PC_PATH_MAX)
+		{*r = Mono_Posix_PathconfName__PC_PATH_MAX; return 0;}
+#endif /* ndef _PC_PATH_MAX */
+#ifdef _PC_PIPE_BUF
+	if (x == _PC_PIPE_BUF)
+		{*r = Mono_Posix_PathconfName__PC_PIPE_BUF; return 0;}
+#endif /* ndef _PC_PIPE_BUF */
+#ifdef _PC_PRIO_IO
+	if (x == _PC_PRIO_IO)
+		{*r = Mono_Posix_PathconfName__PC_PRIO_IO; return 0;}
+#endif /* ndef _PC_PRIO_IO */
+#ifdef _PC_REC_INCR_XFER_SIZE
+	if (x == _PC_REC_INCR_XFER_SIZE)
+		{*r = Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE; return 0;}
+#endif /* ndef _PC_REC_INCR_XFER_SIZE */
+#ifdef _PC_REC_MAX_XFER_SIZE
+	if (x == _PC_REC_MAX_XFER_SIZE)
+		{*r = Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE; return 0;}
+#endif /* ndef _PC_REC_MAX_XFER_SIZE */
+#ifdef _PC_REC_MIN_XFER_SIZE
+	if (x == _PC_REC_MIN_XFER_SIZE)
+		{*r = Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE; return 0;}
+#endif /* ndef _PC_REC_MIN_XFER_SIZE */
+#ifdef _PC_REC_XFER_ALIGN
+	if (x == _PC_REC_XFER_ALIGN)
+		{*r = Mono_Posix_PathconfName__PC_REC_XFER_ALIGN; return 0;}
+#endif /* ndef _PC_REC_XFER_ALIGN */
+#ifdef _PC_SOCK_MAXBUF
+	if (x == _PC_SOCK_MAXBUF)
+		{*r = Mono_Posix_PathconfName__PC_SOCK_MAXBUF; return 0;}
+#endif /* ndef _PC_SOCK_MAXBUF */
+#ifdef _PC_SYMLINK_MAX
+	if (x == _PC_SYMLINK_MAX)
+		{*r = Mono_Posix_PathconfName__PC_SYMLINK_MAX; return 0;}
+#endif /* ndef _PC_SYMLINK_MAX */
+#ifdef _PC_SYNC_IO
+	if (x == _PC_SYNC_IO)
+		{*r = Mono_Posix_PathconfName__PC_SYNC_IO; return 0;}
+#endif /* ndef _PC_SYNC_IO */
+#ifdef _PC_VDISABLE
+	if (x == _PC_VDISABLE)
+		{*r = Mono_Posix_PathconfName__PC_VDISABLE; return 0;}
+#endif /* ndef _PC_VDISABLE */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromPollEvents (short x, short *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_PollEvents_POLLERR) == Mono_Posix_PollEvents_POLLERR)
+#ifdef POLLERR
+		*r |= POLLERR;
+#else /* def POLLERR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOSR */
-	if (x == Mono_Posix_Errno_ENOSTR)
-#ifdef ENOSTR
-		{*r = ENOSTR; return 0;}
-#else /* def ENOSTR */
+#endif /* ndef POLLERR */
+	if ((x & Mono_Posix_PollEvents_POLLHUP) == Mono_Posix_PollEvents_POLLHUP)
+#ifdef POLLHUP
+		*r |= POLLHUP;
+#else /* def POLLHUP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOSTR */
-	if (x == Mono_Posix_Errno_ENOSYS)
-#ifdef ENOSYS
-		{*r = ENOSYS; return 0;}
-#else /* def ENOSYS */
+#endif /* ndef POLLHUP */
+	if ((x & Mono_Posix_PollEvents_POLLIN) == Mono_Posix_PollEvents_POLLIN)
+#ifdef POLLIN
+		*r |= POLLIN;
+#else /* def POLLIN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOSYS */
-	if (x == Mono_Posix_Errno_ENOTBLK)
-#ifdef ENOTBLK
-		{*r = ENOTBLK; return 0;}
-#else /* def ENOTBLK */
+#endif /* ndef POLLIN */
+	if ((x & Mono_Posix_PollEvents_POLLNVAL) == Mono_Posix_PollEvents_POLLNVAL)
+#ifdef POLLNVAL
+		*r |= POLLNVAL;
+#else /* def POLLNVAL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTBLK */
-	if (x == Mono_Posix_Errno_ENOTCONN)
-#ifdef ENOTCONN
-		{*r = ENOTCONN; return 0;}
-#else /* def ENOTCONN */
+#endif /* ndef POLLNVAL */
+	if ((x & Mono_Posix_PollEvents_POLLOUT) == Mono_Posix_PollEvents_POLLOUT)
+#ifdef POLLOUT
+		*r |= POLLOUT;
+#else /* def POLLOUT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTCONN */
-	if (x == Mono_Posix_Errno_ENOTDIR)
-#ifdef ENOTDIR
-		{*r = ENOTDIR; return 0;}
-#else /* def ENOTDIR */
+#endif /* ndef POLLOUT */
+	if ((x & Mono_Posix_PollEvents_POLLPRI) == Mono_Posix_PollEvents_POLLPRI)
+#ifdef POLLPRI
+		*r |= POLLPRI;
+#else /* def POLLPRI */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTDIR */
-	if (x == Mono_Posix_Errno_ENOTEMPTY)
-#ifdef ENOTEMPTY
-		{*r = ENOTEMPTY; return 0;}
-#else /* def ENOTEMPTY */
+#endif /* ndef POLLPRI */
+	if ((x & Mono_Posix_PollEvents_POLLRDBAND) == Mono_Posix_PollEvents_POLLRDBAND)
+#ifdef POLLRDBAND
+		*r |= POLLRDBAND;
+#else /* def POLLRDBAND */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTEMPTY */
-	if (x == Mono_Posix_Errno_ENOTNAM)
-#ifdef ENOTNAM
-		{*r = ENOTNAM; return 0;}
-#else /* def ENOTNAM */
+#endif /* ndef POLLRDBAND */
+	if ((x & Mono_Posix_PollEvents_POLLRDNORM) == Mono_Posix_PollEvents_POLLRDNORM)
+#ifdef POLLRDNORM
+		*r |= POLLRDNORM;
+#else /* def POLLRDNORM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTNAM */
-	if (x == Mono_Posix_Errno_ENOTSOCK)
-#ifdef ENOTSOCK
-		{*r = ENOTSOCK; return 0;}
-#else /* def ENOTSOCK */
+#endif /* ndef POLLRDNORM */
+	if ((x & Mono_Posix_PollEvents_POLLWRBAND) == Mono_Posix_PollEvents_POLLWRBAND)
+#ifdef POLLWRBAND
+		*r |= POLLWRBAND;
+#else /* def POLLWRBAND */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTSOCK */
-	if (x == Mono_Posix_Errno_ENOTTY)
-#ifdef ENOTTY
-		{*r = ENOTTY; return 0;}
-#else /* def ENOTTY */
+#endif /* ndef POLLWRBAND */
+	if ((x & Mono_Posix_PollEvents_POLLWRNORM) == Mono_Posix_PollEvents_POLLWRNORM)
+#ifdef POLLWRNORM
+		*r |= POLLWRNORM;
+#else /* def POLLWRNORM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTTY */
-	if (x == Mono_Posix_Errno_ENOTUNIQ)
-#ifdef ENOTUNIQ
-		{*r = ENOTUNIQ; return 0;}
-#else /* def ENOTUNIQ */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ENOTUNIQ */
-	if (x == Mono_Posix_Errno_ENXIO)
-#ifdef ENXIO
-		{*r = ENXIO; return 0;}
-#else /* def ENXIO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ENXIO */
-	if (x == Mono_Posix_Errno_EOPNOTSUPP)
-#ifdef EOPNOTSUPP
-		{*r = EOPNOTSUPP; return 0;}
-#else /* def EOPNOTSUPP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EOPNOTSUPP */
-	if (x == Mono_Posix_Errno_EOVERFLOW)
-#ifdef EOVERFLOW
-		{*r = EOVERFLOW; return 0;}
-#else /* def EOVERFLOW */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EOVERFLOW */
-	if (x == Mono_Posix_Errno_EPERM)
-#ifdef EPERM
-		{*r = EPERM; return 0;}
-#else /* def EPERM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EPERM */
-	if (x == Mono_Posix_Errno_EPFNOSUPPORT)
-#ifdef EPFNOSUPPORT
-		{*r = EPFNOSUPPORT; return 0;}
-#else /* def EPFNOSUPPORT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef EPFNOSUPPORT */
-	if (x == Mono_Posix_Errno_EPIPE)
-#ifdef EPIPE
-		{*r = EPIPE; return 0;}
-#else /* def EPIPE */
+#endif /* ndef POLLWRNORM */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToPollEvents (short x, short *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef POLLERR
+	if ((x & POLLERR) == POLLERR)
+		*r |= Mono_Posix_PollEvents_POLLERR;
+#endif /* ndef POLLERR */
+#ifdef POLLHUP
+	if ((x & POLLHUP) == POLLHUP)
+		*r |= Mono_Posix_PollEvents_POLLHUP;
+#endif /* ndef POLLHUP */
+#ifdef POLLIN
+	if ((x & POLLIN) == POLLIN)
+		*r |= Mono_Posix_PollEvents_POLLIN;
+#endif /* ndef POLLIN */
+#ifdef POLLNVAL
+	if ((x & POLLNVAL) == POLLNVAL)
+		*r |= Mono_Posix_PollEvents_POLLNVAL;
+#endif /* ndef POLLNVAL */
+#ifdef POLLOUT
+	if ((x & POLLOUT) == POLLOUT)
+		*r |= Mono_Posix_PollEvents_POLLOUT;
+#endif /* ndef POLLOUT */
+#ifdef POLLPRI
+	if ((x & POLLPRI) == POLLPRI)
+		*r |= Mono_Posix_PollEvents_POLLPRI;
+#endif /* ndef POLLPRI */
+#ifdef POLLRDBAND
+	if ((x & POLLRDBAND) == POLLRDBAND)
+		*r |= Mono_Posix_PollEvents_POLLRDBAND;
+#endif /* ndef POLLRDBAND */
+#ifdef POLLRDNORM
+	if ((x & POLLRDNORM) == POLLRDNORM)
+		*r |= Mono_Posix_PollEvents_POLLRDNORM;
+#endif /* ndef POLLRDNORM */
+#ifdef POLLWRBAND
+	if ((x & POLLWRBAND) == POLLWRBAND)
+		*r |= Mono_Posix_PollEvents_POLLWRBAND;
+#endif /* ndef POLLWRBAND */
+#ifdef POLLWRNORM
+	if ((x & POLLWRNORM) == POLLWRNORM)
+		*r |= Mono_Posix_PollEvents_POLLWRNORM;
+#endif /* ndef POLLWRNORM */
+	return 0;
+}
+
+int
+Mono_Posix_FromPollfd (struct Mono_Posix_Pollfd *from, struct pollfd *to)
+{
+	_cnm_return_val_if_overflow (int, from->fd, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->fd      = from->fd;
+	if (Mono_Posix_FromPollEvents (from->events, &to->events) != 0) {
+		return -1;
+	}
+	if (Mono_Posix_FromPollEvents (from->revents, &to->revents) != 0) {
+		return -1;
+	}
+
+	return 0;
+}
+
+
+int
+Mono_Posix_ToPollfd (struct pollfd *from, struct Mono_Posix_Pollfd *to)
+{
+	_cnm_return_val_if_overflow (int, from->fd, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->fd      = from->fd;
+	if (Mono_Posix_ToPollEvents (from->events, &to->events) != 0) {
+		return -1;
+	}
+	if (Mono_Posix_ToPollEvents (from->revents, &to->revents) != 0) {
+		return -1;
+	}
+
+	return 0;
+}
+
+
+int Mono_Posix_FromPosixFadviseAdvice (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED)
+#ifdef POSIX_FADV_DONTNEED
+		{*r = POSIX_FADV_DONTNEED; return 0;}
+#else /* def POSIX_FADV_DONTNEED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EPIPE */
-	if (x == Mono_Posix_Errno_EPROTO)
-#ifdef EPROTO
-		{*r = EPROTO; return 0;}
-#else /* def EPROTO */
+#endif /* ndef POSIX_FADV_DONTNEED */
+	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE)
+#ifdef POSIX_FADV_NOREUSE
+		{*r = POSIX_FADV_NOREUSE; return 0;}
+#else /* def POSIX_FADV_NOREUSE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EPROTO */
-	if (x == Mono_Posix_Errno_EPROTONOSUPPORT)
-#ifdef EPROTONOSUPPORT
-		{*r = EPROTONOSUPPORT; return 0;}
-#else /* def EPROTONOSUPPORT */
+#endif /* ndef POSIX_FADV_NOREUSE */
+	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL)
+#ifdef POSIX_FADV_NORMAL
+		{*r = POSIX_FADV_NORMAL; return 0;}
+#else /* def POSIX_FADV_NORMAL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EPROTONOSUPPORT */
-	if (x == Mono_Posix_Errno_EPROTOTYPE)
-#ifdef EPROTOTYPE
-		{*r = EPROTOTYPE; return 0;}
-#else /* def EPROTOTYPE */
+#endif /* ndef POSIX_FADV_NORMAL */
+	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM)
+#ifdef POSIX_FADV_RANDOM
+		{*r = POSIX_FADV_RANDOM; return 0;}
+#else /* def POSIX_FADV_RANDOM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EPROTOTYPE */
-	if (x == Mono_Posix_Errno_ERANGE)
-#ifdef ERANGE
-		{*r = ERANGE; return 0;}
-#else /* def ERANGE */
+#endif /* ndef POSIX_FADV_RANDOM */
+	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL)
+#ifdef POSIX_FADV_SEQUENTIAL
+		{*r = POSIX_FADV_SEQUENTIAL; return 0;}
+#else /* def POSIX_FADV_SEQUENTIAL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ERANGE */
-	if (x == Mono_Posix_Errno_EREMCHG)
-#ifdef EREMCHG
-		{*r = EREMCHG; return 0;}
-#else /* def EREMCHG */
+#endif /* ndef POSIX_FADV_SEQUENTIAL */
+	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED)
+#ifdef POSIX_FADV_WILLNEED
+		{*r = POSIX_FADV_WILLNEED; return 0;}
+#else /* def POSIX_FADV_WILLNEED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EREMCHG */
-	if (x == Mono_Posix_Errno_EREMOTE)
-#ifdef EREMOTE
-		{*r = EREMOTE; return 0;}
-#else /* def EREMOTE */
+#endif /* ndef POSIX_FADV_WILLNEED */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToPosixFadviseAdvice (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef POSIX_FADV_DONTNEED
+	if (x == POSIX_FADV_DONTNEED)
+		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED; return 0;}
+#endif /* ndef POSIX_FADV_DONTNEED */
+#ifdef POSIX_FADV_NOREUSE
+	if (x == POSIX_FADV_NOREUSE)
+		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE; return 0;}
+#endif /* ndef POSIX_FADV_NOREUSE */
+#ifdef POSIX_FADV_NORMAL
+	if (x == POSIX_FADV_NORMAL)
+		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL; return 0;}
+#endif /* ndef POSIX_FADV_NORMAL */
+#ifdef POSIX_FADV_RANDOM
+	if (x == POSIX_FADV_RANDOM)
+		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM; return 0;}
+#endif /* ndef POSIX_FADV_RANDOM */
+#ifdef POSIX_FADV_SEQUENTIAL
+	if (x == POSIX_FADV_SEQUENTIAL)
+		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL; return 0;}
+#endif /* ndef POSIX_FADV_SEQUENTIAL */
+#ifdef POSIX_FADV_WILLNEED
+	if (x == POSIX_FADV_WILLNEED)
+		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED; return 0;}
+#endif /* ndef POSIX_FADV_WILLNEED */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromPosixMadviseAdvice (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED)
+#ifdef POSIX_MADV_DONTNEED
+		{*r = POSIX_MADV_DONTNEED; return 0;}
+#else /* def POSIX_MADV_DONTNEED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EREMOTE */
-	if (x == Mono_Posix_Errno_EREMOTEIO)
-#ifdef EREMOTEIO
-		{*r = EREMOTEIO; return 0;}
-#else /* def EREMOTEIO */
+#endif /* ndef POSIX_MADV_DONTNEED */
+	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL)
+#ifdef POSIX_MADV_NORMAL
+		{*r = POSIX_MADV_NORMAL; return 0;}
+#else /* def POSIX_MADV_NORMAL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EREMOTEIO */
-	if (x == Mono_Posix_Errno_ERESTART)
-#ifdef ERESTART
-		{*r = ERESTART; return 0;}
-#else /* def ERESTART */
+#endif /* ndef POSIX_MADV_NORMAL */
+	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM)
+#ifdef POSIX_MADV_RANDOM
+		{*r = POSIX_MADV_RANDOM; return 0;}
+#else /* def POSIX_MADV_RANDOM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ERESTART */
-	if (x == Mono_Posix_Errno_EROFS)
-#ifdef EROFS
-		{*r = EROFS; return 0;}
-#else /* def EROFS */
+#endif /* ndef POSIX_MADV_RANDOM */
+	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL)
+#ifdef POSIX_MADV_SEQUENTIAL
+		{*r = POSIX_MADV_SEQUENTIAL; return 0;}
+#else /* def POSIX_MADV_SEQUENTIAL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EROFS */
-	if (x == Mono_Posix_Errno_ESHUTDOWN)
-#ifdef ESHUTDOWN
-		{*r = ESHUTDOWN; return 0;}
-#else /* def ESHUTDOWN */
+#endif /* ndef POSIX_MADV_SEQUENTIAL */
+	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED)
+#ifdef POSIX_MADV_WILLNEED
+		{*r = POSIX_MADV_WILLNEED; return 0;}
+#else /* def POSIX_MADV_WILLNEED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESHUTDOWN */
-	if (x == Mono_Posix_Errno_ESOCKTNOSUPPORT)
-#ifdef ESOCKTNOSUPPORT
-		{*r = ESOCKTNOSUPPORT; return 0;}
-#else /* def ESOCKTNOSUPPORT */
+#endif /* ndef POSIX_MADV_WILLNEED */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToPosixMadviseAdvice (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef POSIX_MADV_DONTNEED
+	if (x == POSIX_MADV_DONTNEED)
+		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED; return 0;}
+#endif /* ndef POSIX_MADV_DONTNEED */
+#ifdef POSIX_MADV_NORMAL
+	if (x == POSIX_MADV_NORMAL)
+		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL; return 0;}
+#endif /* ndef POSIX_MADV_NORMAL */
+#ifdef POSIX_MADV_RANDOM
+	if (x == POSIX_MADV_RANDOM)
+		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM; return 0;}
+#endif /* ndef POSIX_MADV_RANDOM */
+#ifdef POSIX_MADV_SEQUENTIAL
+	if (x == POSIX_MADV_SEQUENTIAL)
+		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL; return 0;}
+#endif /* ndef POSIX_MADV_SEQUENTIAL */
+#ifdef POSIX_MADV_WILLNEED
+	if (x == POSIX_MADV_WILLNEED)
+		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED; return 0;}
+#endif /* ndef POSIX_MADV_WILLNEED */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromSeekFlags (short x, short *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_SeekFlags_L_INCR)
+#ifdef L_INCR
+		{*r = L_INCR; return 0;}
+#else /* def L_INCR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESOCKTNOSUPPORT */
-	if (x == Mono_Posix_Errno_ESPIPE)
-#ifdef ESPIPE
-		{*r = ESPIPE; return 0;}
-#else /* def ESPIPE */
+#endif /* ndef L_INCR */
+	if (x == Mono_Posix_SeekFlags_L_SET)
+#ifdef L_SET
+		{*r = L_SET; return 0;}
+#else /* def L_SET */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESPIPE */
-	if (x == Mono_Posix_Errno_ESRCH)
-#ifdef ESRCH
-		{*r = ESRCH; return 0;}
-#else /* def ESRCH */
+#endif /* ndef L_SET */
+	if (x == Mono_Posix_SeekFlags_L_XTND)
+#ifdef L_XTND
+		{*r = L_XTND; return 0;}
+#else /* def L_XTND */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESRCH */
-	if (x == Mono_Posix_Errno_ESRMNT)
-#ifdef ESRMNT
-		{*r = ESRMNT; return 0;}
-#else /* def ESRMNT */
+#endif /* ndef L_XTND */
+	if (x == Mono_Posix_SeekFlags_SEEK_CUR)
+#ifdef SEEK_CUR
+		{*r = SEEK_CUR; return 0;}
+#else /* def SEEK_CUR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESRMNT */
-	if (x == Mono_Posix_Errno_ESTALE)
-#ifdef ESTALE
-		{*r = ESTALE; return 0;}
-#else /* def ESTALE */
+#endif /* ndef SEEK_CUR */
+	if (x == Mono_Posix_SeekFlags_SEEK_END)
+#ifdef SEEK_END
+		{*r = SEEK_END; return 0;}
+#else /* def SEEK_END */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESTALE */
-	if (x == Mono_Posix_Errno_ESTRPIPE)
-#ifdef ESTRPIPE
-		{*r = ESTRPIPE; return 0;}
-#else /* def ESTRPIPE */
+#endif /* ndef SEEK_END */
+	if (x == Mono_Posix_SeekFlags_SEEK_SET)
+#ifdef SEEK_SET
+		{*r = SEEK_SET; return 0;}
+#else /* def SEEK_SET */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ESTRPIPE */
-	if (x == Mono_Posix_Errno_ETIME)
-#ifdef ETIME
-		{*r = ETIME; return 0;}
-#else /* def ETIME */
+#endif /* ndef SEEK_SET */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToSeekFlags (short x, short *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef L_INCR
+	if (x == L_INCR)
+		{*r = Mono_Posix_SeekFlags_L_INCR; return 0;}
+#endif /* ndef L_INCR */
+#ifdef L_SET
+	if (x == L_SET)
+		{*r = Mono_Posix_SeekFlags_L_SET; return 0;}
+#endif /* ndef L_SET */
+#ifdef L_XTND
+	if (x == L_XTND)
+		{*r = Mono_Posix_SeekFlags_L_XTND; return 0;}
+#endif /* ndef L_XTND */
+#ifdef SEEK_CUR
+	if (x == SEEK_CUR)
+		{*r = Mono_Posix_SeekFlags_SEEK_CUR; return 0;}
+#endif /* ndef SEEK_CUR */
+#ifdef SEEK_END
+	if (x == SEEK_END)
+		{*r = Mono_Posix_SeekFlags_SEEK_END; return 0;}
+#endif /* ndef SEEK_END */
+#ifdef SEEK_SET
+	if (x == SEEK_SET)
+		{*r = Mono_Posix_SeekFlags_SEEK_SET; return 0;}
+#endif /* ndef SEEK_SET */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromSignum (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_Signum_SIGABRT)
+#ifdef SIGABRT
+		{*r = SIGABRT; return 0;}
+#else /* def SIGABRT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ETIME */
-	if (x == Mono_Posix_Errno_ETIMEDOUT)
-#ifdef ETIMEDOUT
-		{*r = ETIMEDOUT; return 0;}
-#else /* def ETIMEDOUT */
+#endif /* ndef SIGABRT */
+	if (x == Mono_Posix_Signum_SIGALRM)
+#ifdef SIGALRM
+		{*r = SIGALRM; return 0;}
+#else /* def SIGALRM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ETIMEDOUT */
-	if (x == Mono_Posix_Errno_ETOOMANYREFS)
-#ifdef ETOOMANYREFS
-		{*r = ETOOMANYREFS; return 0;}
-#else /* def ETOOMANYREFS */
+#endif /* ndef SIGALRM */
+	if (x == Mono_Posix_Signum_SIGBUS)
+#ifdef SIGBUS
+		{*r = SIGBUS; return 0;}
+#else /* def SIGBUS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ETOOMANYREFS */
-	if (x == Mono_Posix_Errno_ETXTBSY)
-#ifdef ETXTBSY
-		{*r = ETXTBSY; return 0;}
-#else /* def ETXTBSY */
+#endif /* ndef SIGBUS */
+	if (x == Mono_Posix_Signum_SIGCHLD)
+#ifdef SIGCHLD
+		{*r = SIGCHLD; return 0;}
+#else /* def SIGCHLD */
 		{errno = EINVAL; return -1;}
-#endif /* ndef ETXTBSY */
-	if (x == Mono_Posix_Errno_EUCLEAN)
-#ifdef EUCLEAN
-		{*r = EUCLEAN; return 0;}
-#else /* def EUCLEAN */
+#endif /* ndef SIGCHLD */
+	if (x == Mono_Posix_Signum_SIGCLD)
+#ifdef SIGCLD
+		{*r = SIGCLD; return 0;}
+#else /* def SIGCLD */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EUCLEAN */
-	if (x == Mono_Posix_Errno_EUNATCH)
-#ifdef EUNATCH
-		{*r = EUNATCH; return 0;}
-#else /* def EUNATCH */
+#endif /* ndef SIGCLD */
+	if (x == Mono_Posix_Signum_SIGCONT)
+#ifdef SIGCONT
+		{*r = SIGCONT; return 0;}
+#else /* def SIGCONT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EUNATCH */
-	if (x == Mono_Posix_Errno_EUSERS)
-#ifdef EUSERS
-		{*r = EUSERS; return 0;}
-#else /* def EUSERS */
+#endif /* ndef SIGCONT */
+	if (x == Mono_Posix_Signum_SIGFPE)
+#ifdef SIGFPE
+		{*r = SIGFPE; return 0;}
+#else /* def SIGFPE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EUSERS */
-	if (x == Mono_Posix_Errno_EWOULDBLOCK)
-#ifdef EWOULDBLOCK
-		{*r = EWOULDBLOCK; return 0;}
-#else /* def EWOULDBLOCK */
+#endif /* ndef SIGFPE */
+	if (x == Mono_Posix_Signum_SIGHUP)
+#ifdef SIGHUP
+		{*r = SIGHUP; return 0;}
+#else /* def SIGHUP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EWOULDBLOCK */
-	if (x == Mono_Posix_Errno_EXDEV)
-#ifdef EXDEV
-		{*r = EXDEV; return 0;}
-#else /* def EXDEV */
+#endif /* ndef SIGHUP */
+	if (x == Mono_Posix_Signum_SIGILL)
+#ifdef SIGILL
+		{*r = SIGILL; return 0;}
+#else /* def SIGILL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EXDEV */
-	if (x == Mono_Posix_Errno_EXFULL)
-#ifdef EXFULL
-		{*r = EXFULL; return 0;}
-#else /* def EXFULL */
+#endif /* ndef SIGILL */
+	if (x == Mono_Posix_Signum_SIGINT)
+#ifdef SIGINT
+		{*r = SIGINT; return 0;}
+#else /* def SIGINT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef EXFULL */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToErrno (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef E2BIG
-	if (x == E2BIG)
-		{*r = Mono_Posix_Errno_E2BIG; return 0;}
-#endif /* ndef E2BIG */
-#ifdef EACCES
-	if (x == EACCES)
-		{*r = Mono_Posix_Errno_EACCES; return 0;}
-#endif /* ndef EACCES */
-#ifdef EADDRINUSE
-	if (x == EADDRINUSE)
-		{*r = Mono_Posix_Errno_EADDRINUSE; return 0;}
-#endif /* ndef EADDRINUSE */
-#ifdef EADDRNOTAVAIL
-	if (x == EADDRNOTAVAIL)
-		{*r = Mono_Posix_Errno_EADDRNOTAVAIL; return 0;}
-#endif /* ndef EADDRNOTAVAIL */
-#ifdef EADV
-	if (x == EADV)
-		{*r = Mono_Posix_Errno_EADV; return 0;}
-#endif /* ndef EADV */
-#ifdef EAFNOSUPPORT
-	if (x == EAFNOSUPPORT)
-		{*r = Mono_Posix_Errno_EAFNOSUPPORT; return 0;}
-#endif /* ndef EAFNOSUPPORT */
-#ifdef EAGAIN
-	if (x == EAGAIN)
-		{*r = Mono_Posix_Errno_EAGAIN; return 0;}
-#endif /* ndef EAGAIN */
-#ifdef EALREADY
-	if (x == EALREADY)
-		{*r = Mono_Posix_Errno_EALREADY; return 0;}
-#endif /* ndef EALREADY */
-#ifdef EBADE
-	if (x == EBADE)
-		{*r = Mono_Posix_Errno_EBADE; return 0;}
-#endif /* ndef EBADE */
-#ifdef EBADF
-	if (x == EBADF)
-		{*r = Mono_Posix_Errno_EBADF; return 0;}
-#endif /* ndef EBADF */
-#ifdef EBADFD
-	if (x == EBADFD)
-		{*r = Mono_Posix_Errno_EBADFD; return 0;}
-#endif /* ndef EBADFD */
-#ifdef EBADMSG
-	if (x == EBADMSG)
-		{*r = Mono_Posix_Errno_EBADMSG; return 0;}
-#endif /* ndef EBADMSG */
-#ifdef EBADR
-	if (x == EBADR)
-		{*r = Mono_Posix_Errno_EBADR; return 0;}
-#endif /* ndef EBADR */
-#ifdef EBADRQC
-	if (x == EBADRQC)
-		{*r = Mono_Posix_Errno_EBADRQC; return 0;}
-#endif /* ndef EBADRQC */
-#ifdef EBADSLT
-	if (x == EBADSLT)
-		{*r = Mono_Posix_Errno_EBADSLT; return 0;}
-#endif /* ndef EBADSLT */
-#ifdef EBFONT
-	if (x == EBFONT)
-		{*r = Mono_Posix_Errno_EBFONT; return 0;}
-#endif /* ndef EBFONT */
-#ifdef EBUSY
-	if (x == EBUSY)
-		{*r = Mono_Posix_Errno_EBUSY; return 0;}
-#endif /* ndef EBUSY */
-#ifdef ECHILD
-	if (x == ECHILD)
-		{*r = Mono_Posix_Errno_ECHILD; return 0;}
-#endif /* ndef ECHILD */
-#ifdef ECHRNG
-	if (x == ECHRNG)
-		{*r = Mono_Posix_Errno_ECHRNG; return 0;}
-#endif /* ndef ECHRNG */
-#ifdef ECOMM
-	if (x == ECOMM)
-		{*r = Mono_Posix_Errno_ECOMM; return 0;}
-#endif /* ndef ECOMM */
-#ifdef ECONNABORTED
-	if (x == ECONNABORTED)
-		{*r = Mono_Posix_Errno_ECONNABORTED; return 0;}
-#endif /* ndef ECONNABORTED */
-#ifdef ECONNREFUSED
-	if (x == ECONNREFUSED)
-		{*r = Mono_Posix_Errno_ECONNREFUSED; return 0;}
-#endif /* ndef ECONNREFUSED */
-#ifdef ECONNRESET
-	if (x == ECONNRESET)
-		{*r = Mono_Posix_Errno_ECONNRESET; return 0;}
-#endif /* ndef ECONNRESET */
-#ifdef EDEADLK
-	if (x == EDEADLK)
-		{*r = Mono_Posix_Errno_EDEADLK; return 0;}
-#endif /* ndef EDEADLK */
-#ifdef EDEADLOCK
-	if (x == EDEADLOCK)
-		{*r = Mono_Posix_Errno_EDEADLOCK; return 0;}
-#endif /* ndef EDEADLOCK */
-#ifdef EDESTADDRREQ
-	if (x == EDESTADDRREQ)
-		{*r = Mono_Posix_Errno_EDESTADDRREQ; return 0;}
-#endif /* ndef EDESTADDRREQ */
-#ifdef EDOM
-	if (x == EDOM)
-		{*r = Mono_Posix_Errno_EDOM; return 0;}
-#endif /* ndef EDOM */
-#ifdef EDOTDOT
-	if (x == EDOTDOT)
-		{*r = Mono_Posix_Errno_EDOTDOT; return 0;}
-#endif /* ndef EDOTDOT */
-#ifdef EDQUOT
-	if (x == EDQUOT)
-		{*r = Mono_Posix_Errno_EDQUOT; return 0;}
-#endif /* ndef EDQUOT */
-#ifdef EEXIST
-	if (x == EEXIST)
-		{*r = Mono_Posix_Errno_EEXIST; return 0;}
-#endif /* ndef EEXIST */
-#ifdef EFAULT
-	if (x == EFAULT)
-		{*r = Mono_Posix_Errno_EFAULT; return 0;}
-#endif /* ndef EFAULT */
-#ifdef EFBIG
-	if (x == EFBIG)
-		{*r = Mono_Posix_Errno_EFBIG; return 0;}
-#endif /* ndef EFBIG */
-#ifdef EHOSTDOWN
-	if (x == EHOSTDOWN)
-		{*r = Mono_Posix_Errno_EHOSTDOWN; return 0;}
-#endif /* ndef EHOSTDOWN */
-#ifdef EHOSTUNREACH
-	if (x == EHOSTUNREACH)
-		{*r = Mono_Posix_Errno_EHOSTUNREACH; return 0;}
-#endif /* ndef EHOSTUNREACH */
-#ifdef EIDRM
-	if (x == EIDRM)
-		{*r = Mono_Posix_Errno_EIDRM; return 0;}
-#endif /* ndef EIDRM */
-#ifdef EILSEQ
-	if (x == EILSEQ)
-		{*r = Mono_Posix_Errno_EILSEQ; return 0;}
-#endif /* ndef EILSEQ */
-#ifdef EINPROGRESS
-	if (x == EINPROGRESS)
-		{*r = Mono_Posix_Errno_EINPROGRESS; return 0;}
-#endif /* ndef EINPROGRESS */
-#ifdef EINTR
-	if (x == EINTR)
-		{*r = Mono_Posix_Errno_EINTR; return 0;}
-#endif /* ndef EINTR */
-#ifdef EINVAL
-	if (x == EINVAL)
-		{*r = Mono_Posix_Errno_EINVAL; return 0;}
-#endif /* ndef EINVAL */
-#ifdef EIO
-	if (x == EIO)
-		{*r = Mono_Posix_Errno_EIO; return 0;}
-#endif /* ndef EIO */
-#ifdef EISCONN
-	if (x == EISCONN)
-		{*r = Mono_Posix_Errno_EISCONN; return 0;}
-#endif /* ndef EISCONN */
-#ifdef EISDIR
-	if (x == EISDIR)
-		{*r = Mono_Posix_Errno_EISDIR; return 0;}
-#endif /* ndef EISDIR */
-#ifdef EISNAM
-	if (x == EISNAM)
-		{*r = Mono_Posix_Errno_EISNAM; return 0;}
-#endif /* ndef EISNAM */
-#ifdef EL2HLT
-	if (x == EL2HLT)
-		{*r = Mono_Posix_Errno_EL2HLT; return 0;}
-#endif /* ndef EL2HLT */
-#ifdef EL2NSYNC
-	if (x == EL2NSYNC)
-		{*r = Mono_Posix_Errno_EL2NSYNC; return 0;}
-#endif /* ndef EL2NSYNC */
-#ifdef EL3HLT
-	if (x == EL3HLT)
-		{*r = Mono_Posix_Errno_EL3HLT; return 0;}
-#endif /* ndef EL3HLT */
-#ifdef EL3RST
-	if (x == EL3RST)
-		{*r = Mono_Posix_Errno_EL3RST; return 0;}
-#endif /* ndef EL3RST */
-#ifdef ELIBACC
-	if (x == ELIBACC)
-		{*r = Mono_Posix_Errno_ELIBACC; return 0;}
-#endif /* ndef ELIBACC */
-#ifdef ELIBBAD
-	if (x == ELIBBAD)
-		{*r = Mono_Posix_Errno_ELIBBAD; return 0;}
-#endif /* ndef ELIBBAD */
-#ifdef ELIBEXEC
-	if (x == ELIBEXEC)
-		{*r = Mono_Posix_Errno_ELIBEXEC; return 0;}
-#endif /* ndef ELIBEXEC */
-#ifdef ELIBMAX
-	if (x == ELIBMAX)
-		{*r = Mono_Posix_Errno_ELIBMAX; return 0;}
-#endif /* ndef ELIBMAX */
-#ifdef ELIBSCN
-	if (x == ELIBSCN)
-		{*r = Mono_Posix_Errno_ELIBSCN; return 0;}
-#endif /* ndef ELIBSCN */
-#ifdef ELNRNG
-	if (x == ELNRNG)
-		{*r = Mono_Posix_Errno_ELNRNG; return 0;}
-#endif /* ndef ELNRNG */
-#ifdef ELOOP
-	if (x == ELOOP)
-		{*r = Mono_Posix_Errno_ELOOP; return 0;}
-#endif /* ndef ELOOP */
-#ifdef EMEDIUMTYPE
-	if (x == EMEDIUMTYPE)
-		{*r = Mono_Posix_Errno_EMEDIUMTYPE; return 0;}
-#endif /* ndef EMEDIUMTYPE */
-#ifdef EMFILE
-	if (x == EMFILE)
-		{*r = Mono_Posix_Errno_EMFILE; return 0;}
-#endif /* ndef EMFILE */
-#ifdef EMLINK
-	if (x == EMLINK)
-		{*r = Mono_Posix_Errno_EMLINK; return 0;}
-#endif /* ndef EMLINK */
-#ifdef EMSGSIZE
-	if (x == EMSGSIZE)
-		{*r = Mono_Posix_Errno_EMSGSIZE; return 0;}
-#endif /* ndef EMSGSIZE */
-#ifdef EMULTIHOP
-	if (x == EMULTIHOP)
-		{*r = Mono_Posix_Errno_EMULTIHOP; return 0;}
-#endif /* ndef EMULTIHOP */
-#ifdef ENAMETOOLONG
-	if (x == ENAMETOOLONG)
-		{*r = Mono_Posix_Errno_ENAMETOOLONG; return 0;}
-#endif /* ndef ENAMETOOLONG */
-#ifdef ENAVAIL
-	if (x == ENAVAIL)
-		{*r = Mono_Posix_Errno_ENAVAIL; return 0;}
-#endif /* ndef ENAVAIL */
-#ifdef ENETDOWN
-	if (x == ENETDOWN)
-		{*r = Mono_Posix_Errno_ENETDOWN; return 0;}
-#endif /* ndef ENETDOWN */
-#ifdef ENETRESET
-	if (x == ENETRESET)
-		{*r = Mono_Posix_Errno_ENETRESET; return 0;}
-#endif /* ndef ENETRESET */
-#ifdef ENETUNREACH
-	if (x == ENETUNREACH)
-		{*r = Mono_Posix_Errno_ENETUNREACH; return 0;}
-#endif /* ndef ENETUNREACH */
-#ifdef ENFILE
-	if (x == ENFILE)
-		{*r = Mono_Posix_Errno_ENFILE; return 0;}
-#endif /* ndef ENFILE */
-#ifdef ENOANO
-	if (x == ENOANO)
-		{*r = Mono_Posix_Errno_ENOANO; return 0;}
-#endif /* ndef ENOANO */
-#ifdef ENOBUFS
-	if (x == ENOBUFS)
-		{*r = Mono_Posix_Errno_ENOBUFS; return 0;}
-#endif /* ndef ENOBUFS */
-#ifdef ENOCSI
-	if (x == ENOCSI)
-		{*r = Mono_Posix_Errno_ENOCSI; return 0;}
-#endif /* ndef ENOCSI */
-#ifdef ENODATA
-	if (x == ENODATA)
-		{*r = Mono_Posix_Errno_ENODATA; return 0;}
-#endif /* ndef ENODATA */
-#ifdef ENODEV
-	if (x == ENODEV)
-		{*r = Mono_Posix_Errno_ENODEV; return 0;}
-#endif /* ndef ENODEV */
-#ifdef ENOENT
-	if (x == ENOENT)
-		{*r = Mono_Posix_Errno_ENOENT; return 0;}
-#endif /* ndef ENOENT */
-#ifdef ENOEXEC
-	if (x == ENOEXEC)
-		{*r = Mono_Posix_Errno_ENOEXEC; return 0;}
-#endif /* ndef ENOEXEC */
-#ifdef ENOLCK
-	if (x == ENOLCK)
-		{*r = Mono_Posix_Errno_ENOLCK; return 0;}
-#endif /* ndef ENOLCK */
-#ifdef ENOLINK
-	if (x == ENOLINK)
-		{*r = Mono_Posix_Errno_ENOLINK; return 0;}
-#endif /* ndef ENOLINK */
-#ifdef ENOMEDIUM
-	if (x == ENOMEDIUM)
-		{*r = Mono_Posix_Errno_ENOMEDIUM; return 0;}
-#endif /* ndef ENOMEDIUM */
-#ifdef ENOMEM
-	if (x == ENOMEM)
-		{*r = Mono_Posix_Errno_ENOMEM; return 0;}
-#endif /* ndef ENOMEM */
-#ifdef ENOMSG
-	if (x == ENOMSG)
-		{*r = Mono_Posix_Errno_ENOMSG; return 0;}
-#endif /* ndef ENOMSG */
-#ifdef ENONET
-	if (x == ENONET)
-		{*r = Mono_Posix_Errno_ENONET; return 0;}
-#endif /* ndef ENONET */
-#ifdef ENOPKG
-	if (x == ENOPKG)
-		{*r = Mono_Posix_Errno_ENOPKG; return 0;}
-#endif /* ndef ENOPKG */
-#ifdef ENOPROTOOPT
-	if (x == ENOPROTOOPT)
-		{*r = Mono_Posix_Errno_ENOPROTOOPT; return 0;}
-#endif /* ndef ENOPROTOOPT */
-#ifdef ENOSPC
-	if (x == ENOSPC)
-		{*r = Mono_Posix_Errno_ENOSPC; return 0;}
-#endif /* ndef ENOSPC */
-#ifdef ENOSR
-	if (x == ENOSR)
-		{*r = Mono_Posix_Errno_ENOSR; return 0;}
-#endif /* ndef ENOSR */
-#ifdef ENOSTR
-	if (x == ENOSTR)
-		{*r = Mono_Posix_Errno_ENOSTR; return 0;}
-#endif /* ndef ENOSTR */
-#ifdef ENOSYS
-	if (x == ENOSYS)
-		{*r = Mono_Posix_Errno_ENOSYS; return 0;}
-#endif /* ndef ENOSYS */
-#ifdef ENOTBLK
-	if (x == ENOTBLK)
-		{*r = Mono_Posix_Errno_ENOTBLK; return 0;}
-#endif /* ndef ENOTBLK */
-#ifdef ENOTCONN
-	if (x == ENOTCONN)
-		{*r = Mono_Posix_Errno_ENOTCONN; return 0;}
-#endif /* ndef ENOTCONN */
-#ifdef ENOTDIR
-	if (x == ENOTDIR)
-		{*r = Mono_Posix_Errno_ENOTDIR; return 0;}
-#endif /* ndef ENOTDIR */
-#ifdef ENOTEMPTY
-	if (x == ENOTEMPTY)
-		{*r = Mono_Posix_Errno_ENOTEMPTY; return 0;}
-#endif /* ndef ENOTEMPTY */
-#ifdef ENOTNAM
-	if (x == ENOTNAM)
-		{*r = Mono_Posix_Errno_ENOTNAM; return 0;}
-#endif /* ndef ENOTNAM */
-#ifdef ENOTSOCK
-	if (x == ENOTSOCK)
-		{*r = Mono_Posix_Errno_ENOTSOCK; return 0;}
-#endif /* ndef ENOTSOCK */
-#ifdef ENOTTY
-	if (x == ENOTTY)
-		{*r = Mono_Posix_Errno_ENOTTY; return 0;}
-#endif /* ndef ENOTTY */
-#ifdef ENOTUNIQ
-	if (x == ENOTUNIQ)
-		{*r = Mono_Posix_Errno_ENOTUNIQ; return 0;}
-#endif /* ndef ENOTUNIQ */
-#ifdef ENXIO
-	if (x == ENXIO)
-		{*r = Mono_Posix_Errno_ENXIO; return 0;}
-#endif /* ndef ENXIO */
-#ifdef EOPNOTSUPP
-	if (x == EOPNOTSUPP)
-		{*r = Mono_Posix_Errno_EOPNOTSUPP; return 0;}
-#endif /* ndef EOPNOTSUPP */
-#ifdef EOVERFLOW
-	if (x == EOVERFLOW)
-		{*r = Mono_Posix_Errno_EOVERFLOW; return 0;}
-#endif /* ndef EOVERFLOW */
-#ifdef EPERM
-	if (x == EPERM)
-		{*r = Mono_Posix_Errno_EPERM; return 0;}
-#endif /* ndef EPERM */
-#ifdef EPFNOSUPPORT
-	if (x == EPFNOSUPPORT)
-		{*r = Mono_Posix_Errno_EPFNOSUPPORT; return 0;}
-#endif /* ndef EPFNOSUPPORT */
-#ifdef EPIPE
-	if (x == EPIPE)
-		{*r = Mono_Posix_Errno_EPIPE; return 0;}
-#endif /* ndef EPIPE */
-#ifdef EPROTO
-	if (x == EPROTO)
-		{*r = Mono_Posix_Errno_EPROTO; return 0;}
-#endif /* ndef EPROTO */
-#ifdef EPROTONOSUPPORT
-	if (x == EPROTONOSUPPORT)
-		{*r = Mono_Posix_Errno_EPROTONOSUPPORT; return 0;}
-#endif /* ndef EPROTONOSUPPORT */
-#ifdef EPROTOTYPE
-	if (x == EPROTOTYPE)
-		{*r = Mono_Posix_Errno_EPROTOTYPE; return 0;}
-#endif /* ndef EPROTOTYPE */
-#ifdef ERANGE
-	if (x == ERANGE)
-		{*r = Mono_Posix_Errno_ERANGE; return 0;}
-#endif /* ndef ERANGE */
-#ifdef EREMCHG
-	if (x == EREMCHG)
-		{*r = Mono_Posix_Errno_EREMCHG; return 0;}
-#endif /* ndef EREMCHG */
-#ifdef EREMOTE
-	if (x == EREMOTE)
-		{*r = Mono_Posix_Errno_EREMOTE; return 0;}
-#endif /* ndef EREMOTE */
-#ifdef EREMOTEIO
-	if (x == EREMOTEIO)
-		{*r = Mono_Posix_Errno_EREMOTEIO; return 0;}
-#endif /* ndef EREMOTEIO */
-#ifdef ERESTART
-	if (x == ERESTART)
-		{*r = Mono_Posix_Errno_ERESTART; return 0;}
-#endif /* ndef ERESTART */
-#ifdef EROFS
-	if (x == EROFS)
-		{*r = Mono_Posix_Errno_EROFS; return 0;}
-#endif /* ndef EROFS */
-#ifdef ESHUTDOWN
-	if (x == ESHUTDOWN)
-		{*r = Mono_Posix_Errno_ESHUTDOWN; return 0;}
-#endif /* ndef ESHUTDOWN */
-#ifdef ESOCKTNOSUPPORT
-	if (x == ESOCKTNOSUPPORT)
-		{*r = Mono_Posix_Errno_ESOCKTNOSUPPORT; return 0;}
-#endif /* ndef ESOCKTNOSUPPORT */
-#ifdef ESPIPE
-	if (x == ESPIPE)
-		{*r = Mono_Posix_Errno_ESPIPE; return 0;}
-#endif /* ndef ESPIPE */
-#ifdef ESRCH
-	if (x == ESRCH)
-		{*r = Mono_Posix_Errno_ESRCH; return 0;}
-#endif /* ndef ESRCH */
-#ifdef ESRMNT
-	if (x == ESRMNT)
-		{*r = Mono_Posix_Errno_ESRMNT; return 0;}
-#endif /* ndef ESRMNT */
-#ifdef ESTALE
-	if (x == ESTALE)
-		{*r = Mono_Posix_Errno_ESTALE; return 0;}
-#endif /* ndef ESTALE */
-#ifdef ESTRPIPE
-	if (x == ESTRPIPE)
-		{*r = Mono_Posix_Errno_ESTRPIPE; return 0;}
-#endif /* ndef ESTRPIPE */
-#ifdef ETIME
-	if (x == ETIME)
-		{*r = Mono_Posix_Errno_ETIME; return 0;}
-#endif /* ndef ETIME */
-#ifdef ETIMEDOUT
-	if (x == ETIMEDOUT)
-		{*r = Mono_Posix_Errno_ETIMEDOUT; return 0;}
-#endif /* ndef ETIMEDOUT */
-#ifdef ETOOMANYREFS
-	if (x == ETOOMANYREFS)
-		{*r = Mono_Posix_Errno_ETOOMANYREFS; return 0;}
-#endif /* ndef ETOOMANYREFS */
-#ifdef ETXTBSY
-	if (x == ETXTBSY)
-		{*r = Mono_Posix_Errno_ETXTBSY; return 0;}
-#endif /* ndef ETXTBSY */
-#ifdef EUCLEAN
-	if (x == EUCLEAN)
-		{*r = Mono_Posix_Errno_EUCLEAN; return 0;}
-#endif /* ndef EUCLEAN */
-#ifdef EUNATCH
-	if (x == EUNATCH)
-		{*r = Mono_Posix_Errno_EUNATCH; return 0;}
-#endif /* ndef EUNATCH */
-#ifdef EUSERS
-	if (x == EUSERS)
-		{*r = Mono_Posix_Errno_EUSERS; return 0;}
-#endif /* ndef EUSERS */
-#ifdef EWOULDBLOCK
-	if (x == EWOULDBLOCK)
-		{*r = Mono_Posix_Errno_EWOULDBLOCK; return 0;}
-#endif /* ndef EWOULDBLOCK */
-#ifdef EXDEV
-	if (x == EXDEV)
-		{*r = Mono_Posix_Errno_EXDEV; return 0;}
-#endif /* ndef EXDEV */
-#ifdef EXFULL
-	if (x == EXFULL)
-		{*r = Mono_Posix_Errno_EXFULL; return 0;}
-#endif /* ndef EXFULL */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromFcntlCommand (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_FcntlCommand_F_DUPFD)
-#ifdef F_DUPFD
-		{*r = F_DUPFD; return 0;}
-#else /* def F_DUPFD */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_DUPFD */
-	if (x == Mono_Posix_FcntlCommand_F_GETFD)
-#ifdef F_GETFD
-		{*r = F_GETFD; return 0;}
-#else /* def F_GETFD */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_GETFD */
-	if (x == Mono_Posix_FcntlCommand_F_GETFL)
-#ifdef F_GETFL
-		{*r = F_GETFL; return 0;}
-#else /* def F_GETFL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_GETFL */
-	if (x == Mono_Posix_FcntlCommand_F_GETLEASE)
-#ifdef F_GETLEASE
-		{*r = F_GETLEASE; return 0;}
-#else /* def F_GETLEASE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_GETLEASE */
-	if (x == Mono_Posix_FcntlCommand_F_GETLK)
-#ifdef F_GETLK
-		{*r = F_GETLK; return 0;}
-#else /* def F_GETLK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_GETLK */
-	if (x == Mono_Posix_FcntlCommand_F_GETOWN)
-#ifdef F_GETOWN
-		{*r = F_GETOWN; return 0;}
-#else /* def F_GETOWN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_GETOWN */
-	if (x == Mono_Posix_FcntlCommand_F_GETSIG)
-#ifdef F_GETSIG
-		{*r = F_GETSIG; return 0;}
-#else /* def F_GETSIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_GETSIG */
-	if (x == Mono_Posix_FcntlCommand_F_NOTIFY)
-#ifdef F_NOTIFY
-		{*r = F_NOTIFY; return 0;}
-#else /* def F_NOTIFY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_NOTIFY */
-	if (x == Mono_Posix_FcntlCommand_F_SETFD)
-#ifdef F_SETFD
-		{*r = F_SETFD; return 0;}
-#else /* def F_SETFD */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETFD */
-	if (x == Mono_Posix_FcntlCommand_F_SETFL)
-#ifdef F_SETFL
-		{*r = F_SETFL; return 0;}
-#else /* def F_SETFL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETFL */
-	if (x == Mono_Posix_FcntlCommand_F_SETLEASE)
-#ifdef F_SETLEASE
-		{*r = F_SETLEASE; return 0;}
-#else /* def F_SETLEASE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETLEASE */
-	if (x == Mono_Posix_FcntlCommand_F_SETLK)
-#ifdef F_SETLK
-		{*r = F_SETLK; return 0;}
-#else /* def F_SETLK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETLK */
-	if (x == Mono_Posix_FcntlCommand_F_SETLKW)
-#ifdef F_SETLKW
-		{*r = F_SETLKW; return 0;}
-#else /* def F_SETLKW */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETLKW */
-	if (x == Mono_Posix_FcntlCommand_F_SETOWN)
-#ifdef F_SETOWN
-		{*r = F_SETOWN; return 0;}
-#else /* def F_SETOWN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETOWN */
-	if (x == Mono_Posix_FcntlCommand_F_SETSIG)
-#ifdef F_SETSIG
-		{*r = F_SETSIG; return 0;}
-#else /* def F_SETSIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_SETSIG */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToFcntlCommand (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef F_DUPFD
-	if (x == F_DUPFD)
-		{*r = Mono_Posix_FcntlCommand_F_DUPFD; return 0;}
-#endif /* ndef F_DUPFD */
-#ifdef F_GETFD
-	if (x == F_GETFD)
-		{*r = Mono_Posix_FcntlCommand_F_GETFD; return 0;}
-#endif /* ndef F_GETFD */
-#ifdef F_GETFL
-	if (x == F_GETFL)
-		{*r = Mono_Posix_FcntlCommand_F_GETFL; return 0;}
-#endif /* ndef F_GETFL */
-#ifdef F_GETLEASE
-	if (x == F_GETLEASE)
-		{*r = Mono_Posix_FcntlCommand_F_GETLEASE; return 0;}
-#endif /* ndef F_GETLEASE */
-#ifdef F_GETLK
-	if (x == F_GETLK)
-		{*r = Mono_Posix_FcntlCommand_F_GETLK; return 0;}
-#endif /* ndef F_GETLK */
-#ifdef F_GETOWN
-	if (x == F_GETOWN)
-		{*r = Mono_Posix_FcntlCommand_F_GETOWN; return 0;}
-#endif /* ndef F_GETOWN */
-#ifdef F_GETSIG
-	if (x == F_GETSIG)
-		{*r = Mono_Posix_FcntlCommand_F_GETSIG; return 0;}
-#endif /* ndef F_GETSIG */
-#ifdef F_NOTIFY
-	if (x == F_NOTIFY)
-		{*r = Mono_Posix_FcntlCommand_F_NOTIFY; return 0;}
-#endif /* ndef F_NOTIFY */
-#ifdef F_SETFD
-	if (x == F_SETFD)
-		{*r = Mono_Posix_FcntlCommand_F_SETFD; return 0;}
-#endif /* ndef F_SETFD */
-#ifdef F_SETFL
-	if (x == F_SETFL)
-		{*r = Mono_Posix_FcntlCommand_F_SETFL; return 0;}
-#endif /* ndef F_SETFL */
-#ifdef F_SETLEASE
-	if (x == F_SETLEASE)
-		{*r = Mono_Posix_FcntlCommand_F_SETLEASE; return 0;}
-#endif /* ndef F_SETLEASE */
-#ifdef F_SETLK
-	if (x == F_SETLK)
-		{*r = Mono_Posix_FcntlCommand_F_SETLK; return 0;}
-#endif /* ndef F_SETLK */
-#ifdef F_SETLKW
-	if (x == F_SETLKW)
-		{*r = Mono_Posix_FcntlCommand_F_SETLKW; return 0;}
-#endif /* ndef F_SETLKW */
-#ifdef F_SETOWN
-	if (x == F_SETOWN)
-		{*r = Mono_Posix_FcntlCommand_F_SETOWN; return 0;}
-#endif /* ndef F_SETOWN */
-#ifdef F_SETSIG
-	if (x == F_SETSIG)
-		{*r = Mono_Posix_FcntlCommand_F_SETSIG; return 0;}
-#endif /* ndef F_SETSIG */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_FilePermissions_ACCESSPERMS) == Mono_Posix_FilePermissions_ACCESSPERMS)
-#ifdef ACCESSPERMS
-		*r |= ACCESSPERMS;
-#else /* def ACCESSPERMS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ACCESSPERMS */
-	if ((x & Mono_Posix_FilePermissions_ALLPERMS) == Mono_Posix_FilePermissions_ALLPERMS)
-#ifdef ALLPERMS
-		*r |= ALLPERMS;
-#else /* def ALLPERMS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ALLPERMS */
-	if ((x & Mono_Posix_FilePermissions_DEFFILEMODE) == Mono_Posix_FilePermissions_DEFFILEMODE)
-#ifdef DEFFILEMODE
-		*r |= DEFFILEMODE;
-#else /* def DEFFILEMODE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef DEFFILEMODE */
-	if ((x & Mono_Posix_FilePermissions_S_IFBLK) == Mono_Posix_FilePermissions_S_IFBLK)
-#ifdef S_IFBLK
-		*r |= S_IFBLK;
-#else /* def S_IFBLK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFBLK */
-	if ((x & Mono_Posix_FilePermissions_S_IFCHR) == Mono_Posix_FilePermissions_S_IFCHR)
-#ifdef S_IFCHR
-		*r |= S_IFCHR;
-#else /* def S_IFCHR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFCHR */
-	if ((x & Mono_Posix_FilePermissions_S_IFDIR) == Mono_Posix_FilePermissions_S_IFDIR)
-#ifdef S_IFDIR
-		*r |= S_IFDIR;
-#else /* def S_IFDIR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFDIR */
-	if ((x & Mono_Posix_FilePermissions_S_IFIFO) == Mono_Posix_FilePermissions_S_IFIFO)
-#ifdef S_IFIFO
-		*r |= S_IFIFO;
-#else /* def S_IFIFO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFIFO */
-	if ((x & Mono_Posix_FilePermissions_S_IFLNK) == Mono_Posix_FilePermissions_S_IFLNK)
-#ifdef S_IFLNK
-		*r |= S_IFLNK;
-#else /* def S_IFLNK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFLNK */
-	if ((x & Mono_Posix_FilePermissions_S_IFMT) == Mono_Posix_FilePermissions_S_IFMT)
-#ifdef S_IFMT
-		*r |= S_IFMT;
-#else /* def S_IFMT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFMT */
-	if ((x & Mono_Posix_FilePermissions_S_IFREG) == Mono_Posix_FilePermissions_S_IFREG)
-#ifdef S_IFREG
-		*r |= S_IFREG;
-#else /* def S_IFREG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFREG */
-	if ((x & Mono_Posix_FilePermissions_S_IFSOCK) == Mono_Posix_FilePermissions_S_IFSOCK)
-#ifdef S_IFSOCK
-		*r |= S_IFSOCK;
-#else /* def S_IFSOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IFSOCK */
-	if ((x & Mono_Posix_FilePermissions_S_IRGRP) == Mono_Posix_FilePermissions_S_IRGRP)
-#ifdef S_IRGRP
-		*r |= S_IRGRP;
-#else /* def S_IRGRP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IRGRP */
-	if ((x & Mono_Posix_FilePermissions_S_IROTH) == Mono_Posix_FilePermissions_S_IROTH)
-#ifdef S_IROTH
-		*r |= S_IROTH;
-#else /* def S_IROTH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IROTH */
-	if ((x & Mono_Posix_FilePermissions_S_IRUSR) == Mono_Posix_FilePermissions_S_IRUSR)
-#ifdef S_IRUSR
-		*r |= S_IRUSR;
-#else /* def S_IRUSR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IRUSR */
-	if ((x & Mono_Posix_FilePermissions_S_IRWXG) == Mono_Posix_FilePermissions_S_IRWXG)
-#ifdef S_IRWXG
-		*r |= S_IRWXG;
-#else /* def S_IRWXG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IRWXG */
-	if ((x & Mono_Posix_FilePermissions_S_IRWXO) == Mono_Posix_FilePermissions_S_IRWXO)
-#ifdef S_IRWXO
-		*r |= S_IRWXO;
-#else /* def S_IRWXO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IRWXO */
-	if ((x & Mono_Posix_FilePermissions_S_IRWXU) == Mono_Posix_FilePermissions_S_IRWXU)
-#ifdef S_IRWXU
-		*r |= S_IRWXU;
-#else /* def S_IRWXU */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IRWXU */
-	if ((x & Mono_Posix_FilePermissions_S_ISGID) == Mono_Posix_FilePermissions_S_ISGID)
-#ifdef S_ISGID
-		*r |= S_ISGID;
-#else /* def S_ISGID */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_ISGID */
-	if ((x & Mono_Posix_FilePermissions_S_ISUID) == Mono_Posix_FilePermissions_S_ISUID)
-#ifdef S_ISUID
-		*r |= S_ISUID;
-#else /* def S_ISUID */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_ISUID */
-	if ((x & Mono_Posix_FilePermissions_S_ISVTX) == Mono_Posix_FilePermissions_S_ISVTX)
-#ifdef S_ISVTX
-		*r |= S_ISVTX;
-#else /* def S_ISVTX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_ISVTX */
-	if ((x & Mono_Posix_FilePermissions_S_IWGRP) == Mono_Posix_FilePermissions_S_IWGRP)
-#ifdef S_IWGRP
-		*r |= S_IWGRP;
-#else /* def S_IWGRP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IWGRP */
-	if ((x & Mono_Posix_FilePermissions_S_IWOTH) == Mono_Posix_FilePermissions_S_IWOTH)
-#ifdef S_IWOTH
-		*r |= S_IWOTH;
-#else /* def S_IWOTH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IWOTH */
-	if ((x & Mono_Posix_FilePermissions_S_IWUSR) == Mono_Posix_FilePermissions_S_IWUSR)
-#ifdef S_IWUSR
-		*r |= S_IWUSR;
-#else /* def S_IWUSR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IWUSR */
-	if ((x & Mono_Posix_FilePermissions_S_IXGRP) == Mono_Posix_FilePermissions_S_IXGRP)
-#ifdef S_IXGRP
-		*r |= S_IXGRP;
-#else /* def S_IXGRP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IXGRP */
-	if ((x & Mono_Posix_FilePermissions_S_IXOTH) == Mono_Posix_FilePermissions_S_IXOTH)
-#ifdef S_IXOTH
-		*r |= S_IXOTH;
-#else /* def S_IXOTH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IXOTH */
-	if ((x & Mono_Posix_FilePermissions_S_IXUSR) == Mono_Posix_FilePermissions_S_IXUSR)
-#ifdef S_IXUSR
-		*r |= S_IXUSR;
-#else /* def S_IXUSR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef S_IXUSR */
-	return 0;
-}
-
-int Mono_Posix_ToFilePermissions (unsigned int x, unsigned int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef ACCESSPERMS
-	if ((x & ACCESSPERMS) == ACCESSPERMS)
-		*r |= Mono_Posix_FilePermissions_ACCESSPERMS;
-#endif /* ndef ACCESSPERMS */
-#ifdef ALLPERMS
-	if ((x & ALLPERMS) == ALLPERMS)
-		*r |= Mono_Posix_FilePermissions_ALLPERMS;
-#endif /* ndef ALLPERMS */
-#ifdef DEFFILEMODE
-	if ((x & DEFFILEMODE) == DEFFILEMODE)
-		*r |= Mono_Posix_FilePermissions_DEFFILEMODE;
-#endif /* ndef DEFFILEMODE */
-#ifdef S_IFBLK
-	if ((x & S_IFBLK) == S_IFBLK)
-		*r |= Mono_Posix_FilePermissions_S_IFBLK;
-#endif /* ndef S_IFBLK */
-#ifdef S_IFCHR
-	if ((x & S_IFCHR) == S_IFCHR)
-		*r |= Mono_Posix_FilePermissions_S_IFCHR;
-#endif /* ndef S_IFCHR */
-#ifdef S_IFDIR
-	if ((x & S_IFDIR) == S_IFDIR)
-		*r |= Mono_Posix_FilePermissions_S_IFDIR;
-#endif /* ndef S_IFDIR */
-#ifdef S_IFIFO
-	if ((x & S_IFIFO) == S_IFIFO)
-		*r |= Mono_Posix_FilePermissions_S_IFIFO;
-#endif /* ndef S_IFIFO */
-#ifdef S_IFLNK
-	if ((x & S_IFLNK) == S_IFLNK)
-		*r |= Mono_Posix_FilePermissions_S_IFLNK;
-#endif /* ndef S_IFLNK */
-#ifdef S_IFMT
-	if ((x & S_IFMT) == S_IFMT)
-		*r |= Mono_Posix_FilePermissions_S_IFMT;
-#endif /* ndef S_IFMT */
-#ifdef S_IFREG
-	if ((x & S_IFREG) == S_IFREG)
-		*r |= Mono_Posix_FilePermissions_S_IFREG;
-#endif /* ndef S_IFREG */
-#ifdef S_IFSOCK
-	if ((x & S_IFSOCK) == S_IFSOCK)
-		*r |= Mono_Posix_FilePermissions_S_IFSOCK;
-#endif /* ndef S_IFSOCK */
-#ifdef S_IRGRP
-	if ((x & S_IRGRP) == S_IRGRP)
-		*r |= Mono_Posix_FilePermissions_S_IRGRP;
-#endif /* ndef S_IRGRP */
-#ifdef S_IROTH
-	if ((x & S_IROTH) == S_IROTH)
-		*r |= Mono_Posix_FilePermissions_S_IROTH;
-#endif /* ndef S_IROTH */
-#ifdef S_IRUSR
-	if ((x & S_IRUSR) == S_IRUSR)
-		*r |= Mono_Posix_FilePermissions_S_IRUSR;
-#endif /* ndef S_IRUSR */
-#ifdef S_IRWXG
-	if ((x & S_IRWXG) == S_IRWXG)
-		*r |= Mono_Posix_FilePermissions_S_IRWXG;
-#endif /* ndef S_IRWXG */
-#ifdef S_IRWXO
-	if ((x & S_IRWXO) == S_IRWXO)
-		*r |= Mono_Posix_FilePermissions_S_IRWXO;
-#endif /* ndef S_IRWXO */
-#ifdef S_IRWXU
-	if ((x & S_IRWXU) == S_IRWXU)
-		*r |= Mono_Posix_FilePermissions_S_IRWXU;
-#endif /* ndef S_IRWXU */
-#ifdef S_ISGID
-	if ((x & S_ISGID) == S_ISGID)
-		*r |= Mono_Posix_FilePermissions_S_ISGID;
-#endif /* ndef S_ISGID */
-#ifdef S_ISUID
-	if ((x & S_ISUID) == S_ISUID)
-		*r |= Mono_Posix_FilePermissions_S_ISUID;
-#endif /* ndef S_ISUID */
-#ifdef S_ISVTX
-	if ((x & S_ISVTX) == S_ISVTX)
-		*r |= Mono_Posix_FilePermissions_S_ISVTX;
-#endif /* ndef S_ISVTX */
-#ifdef S_IWGRP
-	if ((x & S_IWGRP) == S_IWGRP)
-		*r |= Mono_Posix_FilePermissions_S_IWGRP;
-#endif /* ndef S_IWGRP */
-#ifdef S_IWOTH
-	if ((x & S_IWOTH) == S_IWOTH)
-		*r |= Mono_Posix_FilePermissions_S_IWOTH;
-#endif /* ndef S_IWOTH */
-#ifdef S_IWUSR
-	if ((x & S_IWUSR) == S_IWUSR)
-		*r |= Mono_Posix_FilePermissions_S_IWUSR;
-#endif /* ndef S_IWUSR */
-#ifdef S_IXGRP
-	if ((x & S_IXGRP) == S_IXGRP)
-		*r |= Mono_Posix_FilePermissions_S_IXGRP;
-#endif /* ndef S_IXGRP */
-#ifdef S_IXOTH
-	if ((x & S_IXOTH) == S_IXOTH)
-		*r |= Mono_Posix_FilePermissions_S_IXOTH;
-#endif /* ndef S_IXOTH */
-#ifdef S_IXUSR
-	if ((x & S_IXUSR) == S_IXUSR)
-		*r |= Mono_Posix_FilePermissions_S_IXUSR;
-#endif /* ndef S_IXUSR */
-	return 0;
-}
-
-int Mono_Posix_FromLockType (short x, short *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_LockType_F_RDLCK)
-#ifdef F_RDLCK
-		{*r = F_RDLCK; return 0;}
-#else /* def F_RDLCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_RDLCK */
-	if (x == Mono_Posix_LockType_F_UNLCK)
-#ifdef F_UNLCK
-		{*r = F_UNLCK; return 0;}
-#else /* def F_UNLCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_UNLCK */
-	if (x == Mono_Posix_LockType_F_WRLCK)
-#ifdef F_WRLCK
-		{*r = F_WRLCK; return 0;}
-#else /* def F_WRLCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_WRLCK */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToLockType (short x, short *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef F_RDLCK
-	if (x == F_RDLCK)
-		{*r = Mono_Posix_LockType_F_RDLCK; return 0;}
-#endif /* ndef F_RDLCK */
-#ifdef F_UNLCK
-	if (x == F_UNLCK)
-		{*r = Mono_Posix_LockType_F_UNLCK; return 0;}
-#endif /* ndef F_UNLCK */
-#ifdef F_WRLCK
-	if (x == F_WRLCK)
-		{*r = Mono_Posix_LockType_F_WRLCK; return 0;}
-#endif /* ndef F_WRLCK */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromLockfCommand (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_LockfCommand_F_LOCK)
-#ifdef F_LOCK
-		{*r = F_LOCK; return 0;}
-#else /* def F_LOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_LOCK */
-	if (x == Mono_Posix_LockfCommand_F_TEST)
-#ifdef F_TEST
-		{*r = F_TEST; return 0;}
-#else /* def F_TEST */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_TEST */
-	if (x == Mono_Posix_LockfCommand_F_TLOCK)
-#ifdef F_TLOCK
-		{*r = F_TLOCK; return 0;}
-#else /* def F_TLOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_TLOCK */
-	if (x == Mono_Posix_LockfCommand_F_ULOCK)
-#ifdef F_ULOCK
-		{*r = F_ULOCK; return 0;}
-#else /* def F_ULOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef F_ULOCK */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToLockfCommand (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef F_LOCK
-	if (x == F_LOCK)
-		{*r = Mono_Posix_LockfCommand_F_LOCK; return 0;}
-#endif /* ndef F_LOCK */
-#ifdef F_TEST
-	if (x == F_TEST)
-		{*r = Mono_Posix_LockfCommand_F_TEST; return 0;}
-#endif /* ndef F_TEST */
-#ifdef F_TLOCK
-	if (x == F_TLOCK)
-		{*r = Mono_Posix_LockfCommand_F_TLOCK; return 0;}
-#endif /* ndef F_TLOCK */
-#ifdef F_ULOCK
-	if (x == F_ULOCK)
-		{*r = Mono_Posix_LockfCommand_F_ULOCK; return 0;}
-#endif /* ndef F_ULOCK */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromMlockallFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MlockallFlags_MCL_CURRENT) == Mono_Posix_MlockallFlags_MCL_CURRENT)
-#ifdef MCL_CURRENT
-		*r |= MCL_CURRENT;
-#else /* def MCL_CURRENT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MCL_CURRENT */
-	if ((x & Mono_Posix_MlockallFlags_MCL_FUTURE) == Mono_Posix_MlockallFlags_MCL_FUTURE)
-#ifdef MCL_FUTURE
-		*r |= MCL_FUTURE;
-#else /* def MCL_FUTURE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MCL_FUTURE */
-	return 0;
-}
-
-int Mono_Posix_ToMlockallFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef MCL_CURRENT
-	if ((x & MCL_CURRENT) == MCL_CURRENT)
-		*r |= Mono_Posix_MlockallFlags_MCL_CURRENT;
-#endif /* ndef MCL_CURRENT */
-#ifdef MCL_FUTURE
-	if ((x & MCL_FUTURE) == MCL_FUTURE)
-		*r |= Mono_Posix_MlockallFlags_MCL_FUTURE;
-#endif /* ndef MCL_FUTURE */
-	return 0;
-}
-
-int Mono_Posix_FromMmapFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MmapFlags_MAP_ANON) == Mono_Posix_MmapFlags_MAP_ANON)
-#ifdef MAP_ANON
-		*r |= MAP_ANON;
-#else /* def MAP_ANON */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_ANON */
-	if ((x & Mono_Posix_MmapFlags_MAP_ANONYMOUS) == Mono_Posix_MmapFlags_MAP_ANONYMOUS)
-#ifdef MAP_ANONYMOUS
-		*r |= MAP_ANONYMOUS;
-#else /* def MAP_ANONYMOUS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_ANONYMOUS */
-	if ((x & Mono_Posix_MmapFlags_MAP_DENYWRITE) == Mono_Posix_MmapFlags_MAP_DENYWRITE)
-#ifdef MAP_DENYWRITE
-		*r |= MAP_DENYWRITE;
-#else /* def MAP_DENYWRITE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_DENYWRITE */
-	if ((x & Mono_Posix_MmapFlags_MAP_EXECUTABLE) == Mono_Posix_MmapFlags_MAP_EXECUTABLE)
-#ifdef MAP_EXECUTABLE
-		*r |= MAP_EXECUTABLE;
-#else /* def MAP_EXECUTABLE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_EXECUTABLE */
-	if ((x & Mono_Posix_MmapFlags_MAP_FILE) == Mono_Posix_MmapFlags_MAP_FILE)
-#ifdef MAP_FILE
-		*r |= MAP_FILE;
-#else /* def MAP_FILE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_FILE */
-	if ((x & Mono_Posix_MmapFlags_MAP_FIXED) == Mono_Posix_MmapFlags_MAP_FIXED)
-#ifdef MAP_FIXED
-		*r |= MAP_FIXED;
-#else /* def MAP_FIXED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_FIXED */
-	if ((x & Mono_Posix_MmapFlags_MAP_GROWSDOWN) == Mono_Posix_MmapFlags_MAP_GROWSDOWN)
-#ifdef MAP_GROWSDOWN
-		*r |= MAP_GROWSDOWN;
-#else /* def MAP_GROWSDOWN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_GROWSDOWN */
-	if ((x & Mono_Posix_MmapFlags_MAP_LOCKED) == Mono_Posix_MmapFlags_MAP_LOCKED)
-#ifdef MAP_LOCKED
-		*r |= MAP_LOCKED;
-#else /* def MAP_LOCKED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_LOCKED */
-	if ((x & Mono_Posix_MmapFlags_MAP_NONBLOCK) == Mono_Posix_MmapFlags_MAP_NONBLOCK)
-#ifdef MAP_NONBLOCK
-		*r |= MAP_NONBLOCK;
-#else /* def MAP_NONBLOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_NONBLOCK */
-	if ((x & Mono_Posix_MmapFlags_MAP_NORESERVE) == Mono_Posix_MmapFlags_MAP_NORESERVE)
-#ifdef MAP_NORESERVE
-		*r |= MAP_NORESERVE;
-#else /* def MAP_NORESERVE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_NORESERVE */
-	if ((x & Mono_Posix_MmapFlags_MAP_POPULATE) == Mono_Posix_MmapFlags_MAP_POPULATE)
-#ifdef MAP_POPULATE
-		*r |= MAP_POPULATE;
-#else /* def MAP_POPULATE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_POPULATE */
-	if ((x & Mono_Posix_MmapFlags_MAP_PRIVATE) == Mono_Posix_MmapFlags_MAP_PRIVATE)
-#ifdef MAP_PRIVATE
-		*r |= MAP_PRIVATE;
-#else /* def MAP_PRIVATE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_PRIVATE */
-	if ((x & Mono_Posix_MmapFlags_MAP_SHARED) == Mono_Posix_MmapFlags_MAP_SHARED)
-#ifdef MAP_SHARED
-		*r |= MAP_SHARED;
-#else /* def MAP_SHARED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_SHARED */
-	if ((x & Mono_Posix_MmapFlags_MAP_TYPE) == Mono_Posix_MmapFlags_MAP_TYPE)
-#ifdef MAP_TYPE
-		*r |= MAP_TYPE;
-#else /* def MAP_TYPE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MAP_TYPE */
-	return 0;
-}
-
-int Mono_Posix_ToMmapFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef MAP_ANON
-	if ((x & MAP_ANON) == MAP_ANON)
-		*r |= Mono_Posix_MmapFlags_MAP_ANON;
-#endif /* ndef MAP_ANON */
-#ifdef MAP_ANONYMOUS
-	if ((x & MAP_ANONYMOUS) == MAP_ANONYMOUS)
-		*r |= Mono_Posix_MmapFlags_MAP_ANONYMOUS;
-#endif /* ndef MAP_ANONYMOUS */
-#ifdef MAP_DENYWRITE
-	if ((x & MAP_DENYWRITE) == MAP_DENYWRITE)
-		*r |= Mono_Posix_MmapFlags_MAP_DENYWRITE;
-#endif /* ndef MAP_DENYWRITE */
-#ifdef MAP_EXECUTABLE
-	if ((x & MAP_EXECUTABLE) == MAP_EXECUTABLE)
-		*r |= Mono_Posix_MmapFlags_MAP_EXECUTABLE;
-#endif /* ndef MAP_EXECUTABLE */
-#ifdef MAP_FILE
-	if ((x & MAP_FILE) == MAP_FILE)
-		*r |= Mono_Posix_MmapFlags_MAP_FILE;
-#endif /* ndef MAP_FILE */
-#ifdef MAP_FIXED
-	if ((x & MAP_FIXED) == MAP_FIXED)
-		*r |= Mono_Posix_MmapFlags_MAP_FIXED;
-#endif /* ndef MAP_FIXED */
-#ifdef MAP_GROWSDOWN
-	if ((x & MAP_GROWSDOWN) == MAP_GROWSDOWN)
-		*r |= Mono_Posix_MmapFlags_MAP_GROWSDOWN;
-#endif /* ndef MAP_GROWSDOWN */
-#ifdef MAP_LOCKED
-	if ((x & MAP_LOCKED) == MAP_LOCKED)
-		*r |= Mono_Posix_MmapFlags_MAP_LOCKED;
-#endif /* ndef MAP_LOCKED */
-#ifdef MAP_NONBLOCK
-	if ((x & MAP_NONBLOCK) == MAP_NONBLOCK)
-		*r |= Mono_Posix_MmapFlags_MAP_NONBLOCK;
-#endif /* ndef MAP_NONBLOCK */
-#ifdef MAP_NORESERVE
-	if ((x & MAP_NORESERVE) == MAP_NORESERVE)
-		*r |= Mono_Posix_MmapFlags_MAP_NORESERVE;
-#endif /* ndef MAP_NORESERVE */
-#ifdef MAP_POPULATE
-	if ((x & MAP_POPULATE) == MAP_POPULATE)
-		*r |= Mono_Posix_MmapFlags_MAP_POPULATE;
-#endif /* ndef MAP_POPULATE */
-#ifdef MAP_PRIVATE
-	if ((x & MAP_PRIVATE) == MAP_PRIVATE)
-		*r |= Mono_Posix_MmapFlags_MAP_PRIVATE;
-#endif /* ndef MAP_PRIVATE */
-#ifdef MAP_SHARED
-	if ((x & MAP_SHARED) == MAP_SHARED)
-		*r |= Mono_Posix_MmapFlags_MAP_SHARED;
-#endif /* ndef MAP_SHARED */
-#ifdef MAP_TYPE
-	if ((x & MAP_TYPE) == MAP_TYPE)
-		*r |= Mono_Posix_MmapFlags_MAP_TYPE;
-#endif /* ndef MAP_TYPE */
-	return 0;
-}
-
-int Mono_Posix_FromMmapProts (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MmapProts_PROT_EXEC) == Mono_Posix_MmapProts_PROT_EXEC)
-#ifdef PROT_EXEC
-		*r |= PROT_EXEC;
-#else /* def PROT_EXEC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_EXEC */
-	if ((x & Mono_Posix_MmapProts_PROT_GROWSDOWN) == Mono_Posix_MmapProts_PROT_GROWSDOWN)
-#ifdef PROT_GROWSDOWN
-		*r |= PROT_GROWSDOWN;
-#else /* def PROT_GROWSDOWN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_GROWSDOWN */
-	if ((x & Mono_Posix_MmapProts_PROT_GROWSUP) == Mono_Posix_MmapProts_PROT_GROWSUP)
-#ifdef PROT_GROWSUP
-		*r |= PROT_GROWSUP;
-#else /* def PROT_GROWSUP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_GROWSUP */
-	if ((x & Mono_Posix_MmapProts_PROT_NONE) == Mono_Posix_MmapProts_PROT_NONE)
-#ifdef PROT_NONE
-		*r |= PROT_NONE;
-#else /* def PROT_NONE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_NONE */
-	if ((x & Mono_Posix_MmapProts_PROT_READ) == Mono_Posix_MmapProts_PROT_READ)
-#ifdef PROT_READ
-		*r |= PROT_READ;
-#else /* def PROT_READ */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_READ */
-	if ((x & Mono_Posix_MmapProts_PROT_WRITE) == Mono_Posix_MmapProts_PROT_WRITE)
-#ifdef PROT_WRITE
-		*r |= PROT_WRITE;
-#else /* def PROT_WRITE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef PROT_WRITE */
-	return 0;
-}
-
-int Mono_Posix_ToMmapProts (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef PROT_EXEC
-	if ((x & PROT_EXEC) == PROT_EXEC)
-		*r |= Mono_Posix_MmapProts_PROT_EXEC;
-#endif /* ndef PROT_EXEC */
-#ifdef PROT_GROWSDOWN
-	if ((x & PROT_GROWSDOWN) == PROT_GROWSDOWN)
-		*r |= Mono_Posix_MmapProts_PROT_GROWSDOWN;
-#endif /* ndef PROT_GROWSDOWN */
-#ifdef PROT_GROWSUP
-	if ((x & PROT_GROWSUP) == PROT_GROWSUP)
-		*r |= Mono_Posix_MmapProts_PROT_GROWSUP;
-#endif /* ndef PROT_GROWSUP */
-#ifdef PROT_NONE
-	if ((x & PROT_NONE) == PROT_NONE)
-		*r |= Mono_Posix_MmapProts_PROT_NONE;
-#endif /* ndef PROT_NONE */
-#ifdef PROT_READ
-	if ((x & PROT_READ) == PROT_READ)
-		*r |= Mono_Posix_MmapProts_PROT_READ;
-#endif /* ndef PROT_READ */
-#ifdef PROT_WRITE
-	if ((x & PROT_WRITE) == PROT_WRITE)
-		*r |= Mono_Posix_MmapProts_PROT_WRITE;
-#endif /* ndef PROT_WRITE */
-	return 0;
-}
-
-int Mono_Posix_FromMountFlags (guint64 x, guint64 *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MountFlags_ST_APPEND) == Mono_Posix_MountFlags_ST_APPEND)
-#ifdef ST_APPEND
-		*r |= ST_APPEND;
-#else /* def ST_APPEND */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_APPEND */
-	if ((x & Mono_Posix_MountFlags_ST_IMMUTABLE) == Mono_Posix_MountFlags_ST_IMMUTABLE)
-#ifdef ST_IMMUTABLE
-		*r |= ST_IMMUTABLE;
-#else /* def ST_IMMUTABLE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_IMMUTABLE */
-	if ((x & Mono_Posix_MountFlags_ST_MANDLOCK) == Mono_Posix_MountFlags_ST_MANDLOCK)
-#ifdef ST_MANDLOCK
-		*r |= ST_MANDLOCK;
-#else /* def ST_MANDLOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_MANDLOCK */
-	if ((x & Mono_Posix_MountFlags_ST_NOATIME) == Mono_Posix_MountFlags_ST_NOATIME)
-#ifdef ST_NOATIME
-		*r |= ST_NOATIME;
-#else /* def ST_NOATIME */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_NOATIME */
-	if ((x & Mono_Posix_MountFlags_ST_NODEV) == Mono_Posix_MountFlags_ST_NODEV)
-#ifdef ST_NODEV
-		*r |= ST_NODEV;
-#else /* def ST_NODEV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_NODEV */
-	if ((x & Mono_Posix_MountFlags_ST_NODIRATIME) == Mono_Posix_MountFlags_ST_NODIRATIME)
-#ifdef ST_NODIRATIME
-		*r |= ST_NODIRATIME;
-#else /* def ST_NODIRATIME */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_NODIRATIME */
-	if ((x & Mono_Posix_MountFlags_ST_NOSUID) == Mono_Posix_MountFlags_ST_NOSUID)
-#ifdef ST_NOSUID
-		*r |= ST_NOSUID;
-#else /* def ST_NOSUID */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_NOSUID */
-	if ((x & Mono_Posix_MountFlags_ST_RDONLY) == Mono_Posix_MountFlags_ST_RDONLY)
-#ifdef ST_RDONLY
-		*r |= ST_RDONLY;
-#else /* def ST_RDONLY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_RDONLY */
-	if ((x & Mono_Posix_MountFlags_ST_SYNCHRONOUS) == Mono_Posix_MountFlags_ST_SYNCHRONOUS)
-#ifdef ST_SYNCHRONOUS
-		*r |= ST_SYNCHRONOUS;
-#else /* def ST_SYNCHRONOUS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_SYNCHRONOUS */
-	if ((x & Mono_Posix_MountFlags_ST_WRITE) == Mono_Posix_MountFlags_ST_WRITE)
-#ifdef ST_WRITE
-		*r |= ST_WRITE;
-#else /* def ST_WRITE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef ST_WRITE */
-	return 0;
-}
-
-int Mono_Posix_ToMountFlags (guint64 x, guint64 *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef ST_APPEND
-	if ((x & ST_APPEND) == ST_APPEND)
-		*r |= Mono_Posix_MountFlags_ST_APPEND;
-#endif /* ndef ST_APPEND */
-#ifdef ST_IMMUTABLE
-	if ((x & ST_IMMUTABLE) == ST_IMMUTABLE)
-		*r |= Mono_Posix_MountFlags_ST_IMMUTABLE;
-#endif /* ndef ST_IMMUTABLE */
-#ifdef ST_MANDLOCK
-	if ((x & ST_MANDLOCK) == ST_MANDLOCK)
-		*r |= Mono_Posix_MountFlags_ST_MANDLOCK;
-#endif /* ndef ST_MANDLOCK */
-#ifdef ST_NOATIME
-	if ((x & ST_NOATIME) == ST_NOATIME)
-		*r |= Mono_Posix_MountFlags_ST_NOATIME;
-#endif /* ndef ST_NOATIME */
-#ifdef ST_NODEV
-	if ((x & ST_NODEV) == ST_NODEV)
-		*r |= Mono_Posix_MountFlags_ST_NODEV;
-#endif /* ndef ST_NODEV */
-#ifdef ST_NODIRATIME
-	if ((x & ST_NODIRATIME) == ST_NODIRATIME)
-		*r |= Mono_Posix_MountFlags_ST_NODIRATIME;
-#endif /* ndef ST_NODIRATIME */
-#ifdef ST_NOSUID
-	if ((x & ST_NOSUID) == ST_NOSUID)
-		*r |= Mono_Posix_MountFlags_ST_NOSUID;
-#endif /* ndef ST_NOSUID */
-#ifdef ST_RDONLY
-	if ((x & ST_RDONLY) == ST_RDONLY)
-		*r |= Mono_Posix_MountFlags_ST_RDONLY;
-#endif /* ndef ST_RDONLY */
-#ifdef ST_SYNCHRONOUS
-	if ((x & ST_SYNCHRONOUS) == ST_SYNCHRONOUS)
-		*r |= Mono_Posix_MountFlags_ST_SYNCHRONOUS;
-#endif /* ndef ST_SYNCHRONOUS */
-#ifdef ST_WRITE
-	if ((x & ST_WRITE) == ST_WRITE)
-		*r |= Mono_Posix_MountFlags_ST_WRITE;
-#endif /* ndef ST_WRITE */
-	return 0;
-}
-
-int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MremapFlags_MREMAP_MAYMOVE) == Mono_Posix_MremapFlags_MREMAP_MAYMOVE)
-#ifdef MREMAP_MAYMOVE
-		*r |= MREMAP_MAYMOVE;
-#else /* def MREMAP_MAYMOVE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MREMAP_MAYMOVE */
-	return 0;
-}
-
-int Mono_Posix_ToMremapFlags (guint64 x, guint64 *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef MREMAP_MAYMOVE
-	if ((x & MREMAP_MAYMOVE) == MREMAP_MAYMOVE)
-		*r |= Mono_Posix_MremapFlags_MREMAP_MAYMOVE;
-#endif /* ndef MREMAP_MAYMOVE */
-	return 0;
-}
-
-int Mono_Posix_FromMsyncFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_MsyncFlags_MS_ASYNC) == Mono_Posix_MsyncFlags_MS_ASYNC)
-#ifdef MS_ASYNC
-		*r |= MS_ASYNC;
-#else /* def MS_ASYNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MS_ASYNC */
-	if ((x & Mono_Posix_MsyncFlags_MS_INVALIDATE) == Mono_Posix_MsyncFlags_MS_INVALIDATE)
-#ifdef MS_INVALIDATE
-		*r |= MS_INVALIDATE;
-#else /* def MS_INVALIDATE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MS_INVALIDATE */
-	if ((x & Mono_Posix_MsyncFlags_MS_SYNC) == Mono_Posix_MsyncFlags_MS_SYNC)
-#ifdef MS_SYNC
-		*r |= MS_SYNC;
-#else /* def MS_SYNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef MS_SYNC */
-	return 0;
-}
-
-int Mono_Posix_ToMsyncFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef MS_ASYNC
-	if ((x & MS_ASYNC) == MS_ASYNC)
-		*r |= Mono_Posix_MsyncFlags_MS_ASYNC;
-#endif /* ndef MS_ASYNC */
-#ifdef MS_INVALIDATE
-	if ((x & MS_INVALIDATE) == MS_INVALIDATE)
-		*r |= Mono_Posix_MsyncFlags_MS_INVALIDATE;
-#endif /* ndef MS_INVALIDATE */
-#ifdef MS_SYNC
-	if ((x & MS_SYNC) == MS_SYNC)
-		*r |= Mono_Posix_MsyncFlags_MS_SYNC;
-#endif /* ndef MS_SYNC */
-	return 0;
-}
-
-int Mono_Posix_FromOpenFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_OpenFlags_O_APPEND) == Mono_Posix_OpenFlags_O_APPEND)
-#ifdef O_APPEND
-		*r |= O_APPEND;
-#else /* def O_APPEND */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_APPEND */
-	if ((x & Mono_Posix_OpenFlags_O_ASYNC) == Mono_Posix_OpenFlags_O_ASYNC)
-#ifdef O_ASYNC
-		*r |= O_ASYNC;
-#else /* def O_ASYNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_ASYNC */
-	if ((x & Mono_Posix_OpenFlags_O_CREAT) == Mono_Posix_OpenFlags_O_CREAT)
-#ifdef O_CREAT
-		*r |= O_CREAT;
-#else /* def O_CREAT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_CREAT */
-	if ((x & Mono_Posix_OpenFlags_O_DIRECT) == Mono_Posix_OpenFlags_O_DIRECT)
-#ifdef O_DIRECT
-		*r |= O_DIRECT;
-#else /* def O_DIRECT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_DIRECT */
-	if ((x & Mono_Posix_OpenFlags_O_DIRECTORY) == Mono_Posix_OpenFlags_O_DIRECTORY)
-#ifdef O_DIRECTORY
-		*r |= O_DIRECTORY;
-#else /* def O_DIRECTORY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_DIRECTORY */
-	if ((x & Mono_Posix_OpenFlags_O_EXCL) == Mono_Posix_OpenFlags_O_EXCL)
-#ifdef O_EXCL
-		*r |= O_EXCL;
-#else /* def O_EXCL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_EXCL */
-	if ((x & Mono_Posix_OpenFlags_O_LARGEFILE) == Mono_Posix_OpenFlags_O_LARGEFILE)
-#ifdef O_LARGEFILE
-		*r |= O_LARGEFILE;
-#else /* def O_LARGEFILE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_LARGEFILE */
-	if ((x & Mono_Posix_OpenFlags_O_NOCTTY) == Mono_Posix_OpenFlags_O_NOCTTY)
-#ifdef O_NOCTTY
-		*r |= O_NOCTTY;
-#else /* def O_NOCTTY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_NOCTTY */
-	if ((x & Mono_Posix_OpenFlags_O_NOFOLLOW) == Mono_Posix_OpenFlags_O_NOFOLLOW)
-#ifdef O_NOFOLLOW
-		*r |= O_NOFOLLOW;
-#else /* def O_NOFOLLOW */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_NOFOLLOW */
-	if ((x & Mono_Posix_OpenFlags_O_NONBLOCK) == Mono_Posix_OpenFlags_O_NONBLOCK)
-#ifdef O_NONBLOCK
-		*r |= O_NONBLOCK;
-#else /* def O_NONBLOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_NONBLOCK */
-	if ((x & Mono_Posix_OpenFlags_O_RDONLY) == Mono_Posix_OpenFlags_O_RDONLY)
-#ifdef O_RDONLY
-		*r |= O_RDONLY;
-#else /* def O_RDONLY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_RDONLY */
-	if ((x & Mono_Posix_OpenFlags_O_RDWR) == Mono_Posix_OpenFlags_O_RDWR)
-#ifdef O_RDWR
-		*r |= O_RDWR;
-#else /* def O_RDWR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_RDWR */
-	if ((x & Mono_Posix_OpenFlags_O_SYNC) == Mono_Posix_OpenFlags_O_SYNC)
-#ifdef O_SYNC
-		*r |= O_SYNC;
-#else /* def O_SYNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_SYNC */
-	if ((x & Mono_Posix_OpenFlags_O_TRUNC) == Mono_Posix_OpenFlags_O_TRUNC)
-#ifdef O_TRUNC
-		*r |= O_TRUNC;
-#else /* def O_TRUNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_TRUNC */
-	if ((x & Mono_Posix_OpenFlags_O_WRONLY) == Mono_Posix_OpenFlags_O_WRONLY)
-#ifdef O_WRONLY
-		*r |= O_WRONLY;
-#else /* def O_WRONLY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef O_WRONLY */
-	return 0;
-}
-
-int Mono_Posix_ToOpenFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef O_APPEND
-	if ((x & O_APPEND) == O_APPEND)
-		*r |= Mono_Posix_OpenFlags_O_APPEND;
-#endif /* ndef O_APPEND */
-#ifdef O_ASYNC
-	if ((x & O_ASYNC) == O_ASYNC)
-		*r |= Mono_Posix_OpenFlags_O_ASYNC;
-#endif /* ndef O_ASYNC */
-#ifdef O_CREAT
-	if ((x & O_CREAT) == O_CREAT)
-		*r |= Mono_Posix_OpenFlags_O_CREAT;
-#endif /* ndef O_CREAT */
-#ifdef O_DIRECT
-	if ((x & O_DIRECT) == O_DIRECT)
-		*r |= Mono_Posix_OpenFlags_O_DIRECT;
-#endif /* ndef O_DIRECT */
-#ifdef O_DIRECTORY
-	if ((x & O_DIRECTORY) == O_DIRECTORY)
-		*r |= Mono_Posix_OpenFlags_O_DIRECTORY;
-#endif /* ndef O_DIRECTORY */
-#ifdef O_EXCL
-	if ((x & O_EXCL) == O_EXCL)
-		*r |= Mono_Posix_OpenFlags_O_EXCL;
-#endif /* ndef O_EXCL */
-#ifdef O_LARGEFILE
-	if ((x & O_LARGEFILE) == O_LARGEFILE)
-		*r |= Mono_Posix_OpenFlags_O_LARGEFILE;
-#endif /* ndef O_LARGEFILE */
-#ifdef O_NOCTTY
-	if ((x & O_NOCTTY) == O_NOCTTY)
-		*r |= Mono_Posix_OpenFlags_O_NOCTTY;
-#endif /* ndef O_NOCTTY */
-#ifdef O_NOFOLLOW
-	if ((x & O_NOFOLLOW) == O_NOFOLLOW)
-		*r |= Mono_Posix_OpenFlags_O_NOFOLLOW;
-#endif /* ndef O_NOFOLLOW */
-#ifdef O_NONBLOCK
-	if ((x & O_NONBLOCK) == O_NONBLOCK)
-		*r |= Mono_Posix_OpenFlags_O_NONBLOCK;
-#endif /* ndef O_NONBLOCK */
-#ifdef O_RDONLY
-	if ((x & O_RDONLY) == O_RDONLY)
-		*r |= Mono_Posix_OpenFlags_O_RDONLY;
-#endif /* ndef O_RDONLY */
-#ifdef O_RDWR
-	if ((x & O_RDWR) == O_RDWR)
-		*r |= Mono_Posix_OpenFlags_O_RDWR;
-#endif /* ndef O_RDWR */
-#ifdef O_SYNC
-	if ((x & O_SYNC) == O_SYNC)
-		*r |= Mono_Posix_OpenFlags_O_SYNC;
-#endif /* ndef O_SYNC */
-#ifdef O_TRUNC
-	if ((x & O_TRUNC) == O_TRUNC)
-		*r |= Mono_Posix_OpenFlags_O_TRUNC;
-#endif /* ndef O_TRUNC */
-#ifdef O_WRONLY
-	if ((x & O_WRONLY) == O_WRONLY)
-		*r |= Mono_Posix_OpenFlags_O_WRONLY;
-#endif /* ndef O_WRONLY */
-	return 0;
-}
-
-int Mono_Posix_FromPathconfName (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_PathconfName__PC_2_SYMLINKS)
-#ifdef _PC_2_SYMLINKS
-		{*r = _PC_2_SYMLINKS; return 0;}
-#else /* def _PC_2_SYMLINKS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_2_SYMLINKS */
-	if (x == Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN)
-#ifdef _PC_ALLOC_SIZE_MIN
-		{*r = _PC_ALLOC_SIZE_MIN; return 0;}
-#else /* def _PC_ALLOC_SIZE_MIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_ALLOC_SIZE_MIN */
-	if (x == Mono_Posix_PathconfName__PC_ASYNC_IO)
-#ifdef _PC_ASYNC_IO
-		{*r = _PC_ASYNC_IO; return 0;}
-#else /* def _PC_ASYNC_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_ASYNC_IO */
-	if (x == Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED)
-#ifdef _PC_CHOWN_RESTRICTED
-		{*r = _PC_CHOWN_RESTRICTED; return 0;}
-#else /* def _PC_CHOWN_RESTRICTED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_CHOWN_RESTRICTED */
-	if (x == Mono_Posix_PathconfName__PC_FILESIZEBITS)
-#ifdef _PC_FILESIZEBITS
-		{*r = _PC_FILESIZEBITS; return 0;}
-#else /* def _PC_FILESIZEBITS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_FILESIZEBITS */
-	if (x == Mono_Posix_PathconfName__PC_LINK_MAX)
-#ifdef _PC_LINK_MAX
-		{*r = _PC_LINK_MAX; return 0;}
-#else /* def _PC_LINK_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_LINK_MAX */
-	if (x == Mono_Posix_PathconfName__PC_MAX_CANON)
-#ifdef _PC_MAX_CANON
-		{*r = _PC_MAX_CANON; return 0;}
-#else /* def _PC_MAX_CANON */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_MAX_CANON */
-	if (x == Mono_Posix_PathconfName__PC_MAX_INPUT)
-#ifdef _PC_MAX_INPUT
-		{*r = _PC_MAX_INPUT; return 0;}
-#else /* def _PC_MAX_INPUT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_MAX_INPUT */
-	if (x == Mono_Posix_PathconfName__PC_NAME_MAX)
-#ifdef _PC_NAME_MAX
-		{*r = _PC_NAME_MAX; return 0;}
-#else /* def _PC_NAME_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_NAME_MAX */
-	if (x == Mono_Posix_PathconfName__PC_NO_TRUNC)
-#ifdef _PC_NO_TRUNC
-		{*r = _PC_NO_TRUNC; return 0;}
-#else /* def _PC_NO_TRUNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_NO_TRUNC */
-	if (x == Mono_Posix_PathconfName__PC_PATH_MAX)
-#ifdef _PC_PATH_MAX
-		{*r = _PC_PATH_MAX; return 0;}
-#else /* def _PC_PATH_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_PATH_MAX */
-	if (x == Mono_Posix_PathconfName__PC_PIPE_BUF)
-#ifdef _PC_PIPE_BUF
-		{*r = _PC_PIPE_BUF; return 0;}
-#else /* def _PC_PIPE_BUF */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_PIPE_BUF */
-	if (x == Mono_Posix_PathconfName__PC_PRIO_IO)
-#ifdef _PC_PRIO_IO
-		{*r = _PC_PRIO_IO; return 0;}
-#else /* def _PC_PRIO_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_PRIO_IO */
-	if (x == Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE)
-#ifdef _PC_REC_INCR_XFER_SIZE
-		{*r = _PC_REC_INCR_XFER_SIZE; return 0;}
-#else /* def _PC_REC_INCR_XFER_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_INCR_XFER_SIZE */
-	if (x == Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE)
-#ifdef _PC_REC_MAX_XFER_SIZE
-		{*r = _PC_REC_MAX_XFER_SIZE; return 0;}
-#else /* def _PC_REC_MAX_XFER_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_MAX_XFER_SIZE */
-	if (x == Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE)
-#ifdef _PC_REC_MIN_XFER_SIZE
-		{*r = _PC_REC_MIN_XFER_SIZE; return 0;}
-#else /* def _PC_REC_MIN_XFER_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_MIN_XFER_SIZE */
-	if (x == Mono_Posix_PathconfName__PC_REC_XFER_ALIGN)
-#ifdef _PC_REC_XFER_ALIGN
-		{*r = _PC_REC_XFER_ALIGN; return 0;}
-#else /* def _PC_REC_XFER_ALIGN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_XFER_ALIGN */
-	if (x == Mono_Posix_PathconfName__PC_SOCK_MAXBUF)
-#ifdef _PC_SOCK_MAXBUF
-		{*r = _PC_SOCK_MAXBUF; return 0;}
-#else /* def _PC_SOCK_MAXBUF */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_SOCK_MAXBUF */
-	if (x == Mono_Posix_PathconfName__PC_SYMLINK_MAX)
-#ifdef _PC_SYMLINK_MAX
-		{*r = _PC_SYMLINK_MAX; return 0;}
-#else /* def _PC_SYMLINK_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_SYMLINK_MAX */
-	if (x == Mono_Posix_PathconfName__PC_SYNC_IO)
-#ifdef _PC_SYNC_IO
-		{*r = _PC_SYNC_IO; return 0;}
-#else /* def _PC_SYNC_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_SYNC_IO */
-	if (x == Mono_Posix_PathconfName__PC_VDISABLE)
-#ifdef _PC_VDISABLE
-		{*r = _PC_VDISABLE; return 0;}
-#else /* def _PC_VDISABLE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_VDISABLE */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToPathconfName (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef _PC_2_SYMLINKS
-	if (x == _PC_2_SYMLINKS)
-		{*r = Mono_Posix_PathconfName__PC_2_SYMLINKS; return 0;}
-#endif /* ndef _PC_2_SYMLINKS */
-#ifdef _PC_ALLOC_SIZE_MIN
-	if (x == _PC_ALLOC_SIZE_MIN)
-		{*r = Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN; return 0;}
-#endif /* ndef _PC_ALLOC_SIZE_MIN */
-#ifdef _PC_ASYNC_IO
-	if (x == _PC_ASYNC_IO)
-		{*r = Mono_Posix_PathconfName__PC_ASYNC_IO; return 0;}
-#endif /* ndef _PC_ASYNC_IO */
-#ifdef _PC_CHOWN_RESTRICTED
-	if (x == _PC_CHOWN_RESTRICTED)
-		{*r = Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED; return 0;}
-#endif /* ndef _PC_CHOWN_RESTRICTED */
-#ifdef _PC_FILESIZEBITS
-	if (x == _PC_FILESIZEBITS)
-		{*r = Mono_Posix_PathconfName__PC_FILESIZEBITS; return 0;}
-#endif /* ndef _PC_FILESIZEBITS */
-#ifdef _PC_LINK_MAX
-	if (x == _PC_LINK_MAX)
-		{*r = Mono_Posix_PathconfName__PC_LINK_MAX; return 0;}
-#endif /* ndef _PC_LINK_MAX */
-#ifdef _PC_MAX_CANON
-	if (x == _PC_MAX_CANON)
-		{*r = Mono_Posix_PathconfName__PC_MAX_CANON; return 0;}
-#endif /* ndef _PC_MAX_CANON */
-#ifdef _PC_MAX_INPUT
-	if (x == _PC_MAX_INPUT)
-		{*r = Mono_Posix_PathconfName__PC_MAX_INPUT; return 0;}
-#endif /* ndef _PC_MAX_INPUT */
-#ifdef _PC_NAME_MAX
-	if (x == _PC_NAME_MAX)
-		{*r = Mono_Posix_PathconfName__PC_NAME_MAX; return 0;}
-#endif /* ndef _PC_NAME_MAX */
-#ifdef _PC_NO_TRUNC
-	if (x == _PC_NO_TRUNC)
-		{*r = Mono_Posix_PathconfName__PC_NO_TRUNC; return 0;}
-#endif /* ndef _PC_NO_TRUNC */
-#ifdef _PC_PATH_MAX
-	if (x == _PC_PATH_MAX)
-		{*r = Mono_Posix_PathconfName__PC_PATH_MAX; return 0;}
-#endif /* ndef _PC_PATH_MAX */
-#ifdef _PC_PIPE_BUF
-	if (x == _PC_PIPE_BUF)
-		{*r = Mono_Posix_PathconfName__PC_PIPE_BUF; return 0;}
-#endif /* ndef _PC_PIPE_BUF */
-#ifdef _PC_PRIO_IO
-	if (x == _PC_PRIO_IO)
-		{*r = Mono_Posix_PathconfName__PC_PRIO_IO; return 0;}
-#endif /* ndef _PC_PRIO_IO */
-#ifdef _PC_REC_INCR_XFER_SIZE
-	if (x == _PC_REC_INCR_XFER_SIZE)
-		{*r = Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE; return 0;}
-#endif /* ndef _PC_REC_INCR_XFER_SIZE */
-#ifdef _PC_REC_MAX_XFER_SIZE
-	if (x == _PC_REC_MAX_XFER_SIZE)
-		{*r = Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE; return 0;}
-#endif /* ndef _PC_REC_MAX_XFER_SIZE */
-#ifdef _PC_REC_MIN_XFER_SIZE
-	if (x == _PC_REC_MIN_XFER_SIZE)
-		{*r = Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE; return 0;}
-#endif /* ndef _PC_REC_MIN_XFER_SIZE */
-#ifdef _PC_REC_XFER_ALIGN
-	if (x == _PC_REC_XFER_ALIGN)
-		{*r = Mono_Posix_PathconfName__PC_REC_XFER_ALIGN; return 0;}
-#endif /* ndef _PC_REC_XFER_ALIGN */
-#ifdef _PC_SOCK_MAXBUF
-	if (x == _PC_SOCK_MAXBUF)
-		{*r = Mono_Posix_PathconfName__PC_SOCK_MAXBUF; return 0;}
-#endif /* ndef _PC_SOCK_MAXBUF */
-#ifdef _PC_SYMLINK_MAX
-	if (x == _PC_SYMLINK_MAX)
-		{*r = Mono_Posix_PathconfName__PC_SYMLINK_MAX; return 0;}
-#endif /* ndef _PC_SYMLINK_MAX */
-#ifdef _PC_SYNC_IO
-	if (x == _PC_SYNC_IO)
-		{*r = Mono_Posix_PathconfName__PC_SYNC_IO; return 0;}
-#endif /* ndef _PC_SYNC_IO */
-#ifdef _PC_VDISABLE
-	if (x == _PC_VDISABLE)
-		{*r = Mono_Posix_PathconfName__PC_VDISABLE; return 0;}
-#endif /* ndef _PC_VDISABLE */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromPollEvents (short x, short *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_PollEvents_POLLERR) == Mono_Posix_PollEvents_POLLERR)
-#ifdef POLLERR
-		*r |= POLLERR;
-#else /* def POLLERR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLERR */
-	if ((x & Mono_Posix_PollEvents_POLLHUP) == Mono_Posix_PollEvents_POLLHUP)
-#ifdef POLLHUP
-		*r |= POLLHUP;
-#else /* def POLLHUP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLHUP */
-	if ((x & Mono_Posix_PollEvents_POLLIN) == Mono_Posix_PollEvents_POLLIN)
-#ifdef POLLIN
-		*r |= POLLIN;
-#else /* def POLLIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLIN */
-	if ((x & Mono_Posix_PollEvents_POLLNVAL) == Mono_Posix_PollEvents_POLLNVAL)
-#ifdef POLLNVAL
-		*r |= POLLNVAL;
-#else /* def POLLNVAL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLNVAL */
-	if ((x & Mono_Posix_PollEvents_POLLOUT) == Mono_Posix_PollEvents_POLLOUT)
-#ifdef POLLOUT
-		*r |= POLLOUT;
-#else /* def POLLOUT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLOUT */
-	if ((x & Mono_Posix_PollEvents_POLLPRI) == Mono_Posix_PollEvents_POLLPRI)
-#ifdef POLLPRI
-		*r |= POLLPRI;
-#else /* def POLLPRI */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLPRI */
-	if ((x & Mono_Posix_PollEvents_POLLRDBAND) == Mono_Posix_PollEvents_POLLRDBAND)
-#ifdef POLLRDBAND
-		*r |= POLLRDBAND;
-#else /* def POLLRDBAND */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLRDBAND */
-	if ((x & Mono_Posix_PollEvents_POLLRDNORM) == Mono_Posix_PollEvents_POLLRDNORM)
-#ifdef POLLRDNORM
-		*r |= POLLRDNORM;
-#else /* def POLLRDNORM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLRDNORM */
-	if ((x & Mono_Posix_PollEvents_POLLWRBAND) == Mono_Posix_PollEvents_POLLWRBAND)
-#ifdef POLLWRBAND
-		*r |= POLLWRBAND;
-#else /* def POLLWRBAND */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLWRBAND */
-	if ((x & Mono_Posix_PollEvents_POLLWRNORM) == Mono_Posix_PollEvents_POLLWRNORM)
-#ifdef POLLWRNORM
-		*r |= POLLWRNORM;
-#else /* def POLLWRNORM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POLLWRNORM */
-	return 0;
-}
-
-int Mono_Posix_ToPollEvents (short x, short *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef POLLERR
-	if ((x & POLLERR) == POLLERR)
-		*r |= Mono_Posix_PollEvents_POLLERR;
-#endif /* ndef POLLERR */
-#ifdef POLLHUP
-	if ((x & POLLHUP) == POLLHUP)
-		*r |= Mono_Posix_PollEvents_POLLHUP;
-#endif /* ndef POLLHUP */
-#ifdef POLLIN
-	if ((x & POLLIN) == POLLIN)
-		*r |= Mono_Posix_PollEvents_POLLIN;
-#endif /* ndef POLLIN */
-#ifdef POLLNVAL
-	if ((x & POLLNVAL) == POLLNVAL)
-		*r |= Mono_Posix_PollEvents_POLLNVAL;
-#endif /* ndef POLLNVAL */
-#ifdef POLLOUT
-	if ((x & POLLOUT) == POLLOUT)
-		*r |= Mono_Posix_PollEvents_POLLOUT;
-#endif /* ndef POLLOUT */
-#ifdef POLLPRI
-	if ((x & POLLPRI) == POLLPRI)
-		*r |= Mono_Posix_PollEvents_POLLPRI;
-#endif /* ndef POLLPRI */
-#ifdef POLLRDBAND
-	if ((x & POLLRDBAND) == POLLRDBAND)
-		*r |= Mono_Posix_PollEvents_POLLRDBAND;
-#endif /* ndef POLLRDBAND */
-#ifdef POLLRDNORM
-	if ((x & POLLRDNORM) == POLLRDNORM)
-		*r |= Mono_Posix_PollEvents_POLLRDNORM;
-#endif /* ndef POLLRDNORM */
-#ifdef POLLWRBAND
-	if ((x & POLLWRBAND) == POLLWRBAND)
-		*r |= Mono_Posix_PollEvents_POLLWRBAND;
-#endif /* ndef POLLWRBAND */
-#ifdef POLLWRNORM
-	if ((x & POLLWRNORM) == POLLWRNORM)
-		*r |= Mono_Posix_PollEvents_POLLWRNORM;
-#endif /* ndef POLLWRNORM */
-	return 0;
-}
-
-int Mono_Posix_FromPosixFadviseAdvice (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED)
-#ifdef POSIX_FADV_DONTNEED
-		{*r = POSIX_FADV_DONTNEED; return 0;}
-#else /* def POSIX_FADV_DONTNEED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_FADV_DONTNEED */
-	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE)
-#ifdef POSIX_FADV_NOREUSE
-		{*r = POSIX_FADV_NOREUSE; return 0;}
-#else /* def POSIX_FADV_NOREUSE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_FADV_NOREUSE */
-	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL)
-#ifdef POSIX_FADV_NORMAL
-		{*r = POSIX_FADV_NORMAL; return 0;}
-#else /* def POSIX_FADV_NORMAL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_FADV_NORMAL */
-	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM)
-#ifdef POSIX_FADV_RANDOM
-		{*r = POSIX_FADV_RANDOM; return 0;}
-#else /* def POSIX_FADV_RANDOM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_FADV_RANDOM */
-	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL)
-#ifdef POSIX_FADV_SEQUENTIAL
-		{*r = POSIX_FADV_SEQUENTIAL; return 0;}
-#else /* def POSIX_FADV_SEQUENTIAL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_FADV_SEQUENTIAL */
-	if (x == Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED)
-#ifdef POSIX_FADV_WILLNEED
-		{*r = POSIX_FADV_WILLNEED; return 0;}
-#else /* def POSIX_FADV_WILLNEED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_FADV_WILLNEED */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToPosixFadviseAdvice (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef POSIX_FADV_DONTNEED
-	if (x == POSIX_FADV_DONTNEED)
-		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED; return 0;}
-#endif /* ndef POSIX_FADV_DONTNEED */
-#ifdef POSIX_FADV_NOREUSE
-	if (x == POSIX_FADV_NOREUSE)
-		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE; return 0;}
-#endif /* ndef POSIX_FADV_NOREUSE */
-#ifdef POSIX_FADV_NORMAL
-	if (x == POSIX_FADV_NORMAL)
-		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL; return 0;}
-#endif /* ndef POSIX_FADV_NORMAL */
-#ifdef POSIX_FADV_RANDOM
-	if (x == POSIX_FADV_RANDOM)
-		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM; return 0;}
-#endif /* ndef POSIX_FADV_RANDOM */
-#ifdef POSIX_FADV_SEQUENTIAL
-	if (x == POSIX_FADV_SEQUENTIAL)
-		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL; return 0;}
-#endif /* ndef POSIX_FADV_SEQUENTIAL */
-#ifdef POSIX_FADV_WILLNEED
-	if (x == POSIX_FADV_WILLNEED)
-		{*r = Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED; return 0;}
-#endif /* ndef POSIX_FADV_WILLNEED */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromPosixMadviseAdvice (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED)
-#ifdef POSIX_MADV_DONTNEED
-		{*r = POSIX_MADV_DONTNEED; return 0;}
-#else /* def POSIX_MADV_DONTNEED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_MADV_DONTNEED */
-	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL)
-#ifdef POSIX_MADV_NORMAL
-		{*r = POSIX_MADV_NORMAL; return 0;}
-#else /* def POSIX_MADV_NORMAL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_MADV_NORMAL */
-	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM)
-#ifdef POSIX_MADV_RANDOM
-		{*r = POSIX_MADV_RANDOM; return 0;}
-#else /* def POSIX_MADV_RANDOM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_MADV_RANDOM */
-	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL)
-#ifdef POSIX_MADV_SEQUENTIAL
-		{*r = POSIX_MADV_SEQUENTIAL; return 0;}
-#else /* def POSIX_MADV_SEQUENTIAL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_MADV_SEQUENTIAL */
-	if (x == Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED)
-#ifdef POSIX_MADV_WILLNEED
-		{*r = POSIX_MADV_WILLNEED; return 0;}
-#else /* def POSIX_MADV_WILLNEED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef POSIX_MADV_WILLNEED */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToPosixMadviseAdvice (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef POSIX_MADV_DONTNEED
-	if (x == POSIX_MADV_DONTNEED)
-		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED; return 0;}
-#endif /* ndef POSIX_MADV_DONTNEED */
-#ifdef POSIX_MADV_NORMAL
-	if (x == POSIX_MADV_NORMAL)
-		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL; return 0;}
-#endif /* ndef POSIX_MADV_NORMAL */
-#ifdef POSIX_MADV_RANDOM
-	if (x == POSIX_MADV_RANDOM)
-		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM; return 0;}
-#endif /* ndef POSIX_MADV_RANDOM */
-#ifdef POSIX_MADV_SEQUENTIAL
-	if (x == POSIX_MADV_SEQUENTIAL)
-		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL; return 0;}
-#endif /* ndef POSIX_MADV_SEQUENTIAL */
-#ifdef POSIX_MADV_WILLNEED
-	if (x == POSIX_MADV_WILLNEED)
-		{*r = Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED; return 0;}
-#endif /* ndef POSIX_MADV_WILLNEED */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromSeekFlags (short x, short *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_SeekFlags_L_INCR)
-#ifdef L_INCR
-		{*r = L_INCR; return 0;}
-#else /* def L_INCR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef L_INCR */
-	if (x == Mono_Posix_SeekFlags_L_SET)
-#ifdef L_SET
-		{*r = L_SET; return 0;}
-#else /* def L_SET */
-		{errno = EINVAL; return -1;}
-#endif /* ndef L_SET */
-	if (x == Mono_Posix_SeekFlags_L_XTND)
-#ifdef L_XTND
-		{*r = L_XTND; return 0;}
-#else /* def L_XTND */
-		{errno = EINVAL; return -1;}
-#endif /* ndef L_XTND */
-	if (x == Mono_Posix_SeekFlags_SEEK_CUR)
-#ifdef SEEK_CUR
-		{*r = SEEK_CUR; return 0;}
-#else /* def SEEK_CUR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SEEK_CUR */
-	if (x == Mono_Posix_SeekFlags_SEEK_END)
-#ifdef SEEK_END
-		{*r = SEEK_END; return 0;}
-#else /* def SEEK_END */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SEEK_END */
-	if (x == Mono_Posix_SeekFlags_SEEK_SET)
-#ifdef SEEK_SET
-		{*r = SEEK_SET; return 0;}
-#else /* def SEEK_SET */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SEEK_SET */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToSeekFlags (short x, short *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef L_INCR
-	if (x == L_INCR)
-		{*r = Mono_Posix_SeekFlags_L_INCR; return 0;}
-#endif /* ndef L_INCR */
-#ifdef L_SET
-	if (x == L_SET)
-		{*r = Mono_Posix_SeekFlags_L_SET; return 0;}
-#endif /* ndef L_SET */
-#ifdef L_XTND
-	if (x == L_XTND)
-		{*r = Mono_Posix_SeekFlags_L_XTND; return 0;}
-#endif /* ndef L_XTND */
-#ifdef SEEK_CUR
-	if (x == SEEK_CUR)
-		{*r = Mono_Posix_SeekFlags_SEEK_CUR; return 0;}
-#endif /* ndef SEEK_CUR */
-#ifdef SEEK_END
-	if (x == SEEK_END)
-		{*r = Mono_Posix_SeekFlags_SEEK_END; return 0;}
-#endif /* ndef SEEK_END */
-#ifdef SEEK_SET
-	if (x == SEEK_SET)
-		{*r = Mono_Posix_SeekFlags_SEEK_SET; return 0;}
-#endif /* ndef SEEK_SET */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromSignum (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_Signum_SIGABRT)
-#ifdef SIGABRT
-		{*r = SIGABRT; return 0;}
-#else /* def SIGABRT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGABRT */
-	if (x == Mono_Posix_Signum_SIGALRM)
-#ifdef SIGALRM
-		{*r = SIGALRM; return 0;}
-#else /* def SIGALRM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGALRM */
-	if (x == Mono_Posix_Signum_SIGBUS)
-#ifdef SIGBUS
-		{*r = SIGBUS; return 0;}
-#else /* def SIGBUS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGBUS */
-	if (x == Mono_Posix_Signum_SIGCHLD)
-#ifdef SIGCHLD
-		{*r = SIGCHLD; return 0;}
-#else /* def SIGCHLD */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGCHLD */
-	if (x == Mono_Posix_Signum_SIGCLD)
-#ifdef SIGCLD
-		{*r = SIGCLD; return 0;}
-#else /* def SIGCLD */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGCLD */
-	if (x == Mono_Posix_Signum_SIGCONT)
-#ifdef SIGCONT
-		{*r = SIGCONT; return 0;}
-#else /* def SIGCONT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGCONT */
-	if (x == Mono_Posix_Signum_SIGFPE)
-#ifdef SIGFPE
-		{*r = SIGFPE; return 0;}
-#else /* def SIGFPE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGFPE */
-	if (x == Mono_Posix_Signum_SIGHUP)
-#ifdef SIGHUP
-		{*r = SIGHUP; return 0;}
-#else /* def SIGHUP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGHUP */
-	if (x == Mono_Posix_Signum_SIGILL)
-#ifdef SIGILL
-		{*r = SIGILL; return 0;}
-#else /* def SIGILL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGILL */
-	if (x == Mono_Posix_Signum_SIGINT)
-#ifdef SIGINT
-		{*r = SIGINT; return 0;}
-#else /* def SIGINT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGINT */
-	if (x == Mono_Posix_Signum_SIGIO)
-#ifdef SIGIO
-		{*r = SIGIO; return 0;}
-#else /* def SIGIO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGIO */
-	if (x == Mono_Posix_Signum_SIGIOT)
-#ifdef SIGIOT
-		{*r = SIGIOT; return 0;}
-#else /* def SIGIOT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGIOT */
-	if (x == Mono_Posix_Signum_SIGKILL)
-#ifdef SIGKILL
-		{*r = SIGKILL; return 0;}
-#else /* def SIGKILL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGKILL */
-	if (x == Mono_Posix_Signum_SIGPIPE)
-#ifdef SIGPIPE
-		{*r = SIGPIPE; return 0;}
-#else /* def SIGPIPE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGPIPE */
-	if (x == Mono_Posix_Signum_SIGPOLL)
-#ifdef SIGPOLL
-		{*r = SIGPOLL; return 0;}
-#else /* def SIGPOLL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGPOLL */
-	if (x == Mono_Posix_Signum_SIGPROF)
-#ifdef SIGPROF
-		{*r = SIGPROF; return 0;}
-#else /* def SIGPROF */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGPROF */
-	if (x == Mono_Posix_Signum_SIGPWR)
-#ifdef SIGPWR
-		{*r = SIGPWR; return 0;}
-#else /* def SIGPWR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGPWR */
-	if (x == Mono_Posix_Signum_SIGQUIT)
-#ifdef SIGQUIT
-		{*r = SIGQUIT; return 0;}
-#else /* def SIGQUIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGQUIT */
-	if (x == Mono_Posix_Signum_SIGSEGV)
-#ifdef SIGSEGV
-		{*r = SIGSEGV; return 0;}
-#else /* def SIGSEGV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGSEGV */
-	if (x == Mono_Posix_Signum_SIGSTKFLT)
-#ifdef SIGSTKFLT
-		{*r = SIGSTKFLT; return 0;}
-#else /* def SIGSTKFLT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGSTKFLT */
-	if (x == Mono_Posix_Signum_SIGSTOP)
-#ifdef SIGSTOP
-		{*r = SIGSTOP; return 0;}
-#else /* def SIGSTOP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGSTOP */
-	if (x == Mono_Posix_Signum_SIGSYS)
-#ifdef SIGSYS
-		{*r = SIGSYS; return 0;}
-#else /* def SIGSYS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGSYS */
-	if (x == Mono_Posix_Signum_SIGTERM)
-#ifdef SIGTERM
-		{*r = SIGTERM; return 0;}
-#else /* def SIGTERM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGTERM */
-	if (x == Mono_Posix_Signum_SIGTRAP)
-#ifdef SIGTRAP
-		{*r = SIGTRAP; return 0;}
-#else /* def SIGTRAP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGTRAP */
-	if (x == Mono_Posix_Signum_SIGTSTP)
-#ifdef SIGTSTP
-		{*r = SIGTSTP; return 0;}
-#else /* def SIGTSTP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGTSTP */
-	if (x == Mono_Posix_Signum_SIGTTIN)
-#ifdef SIGTTIN
-		{*r = SIGTTIN; return 0;}
-#else /* def SIGTTIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGTTIN */
-	if (x == Mono_Posix_Signum_SIGTTOU)
-#ifdef SIGTTOU
-		{*r = SIGTTOU; return 0;}
-#else /* def SIGTTOU */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGTTOU */
-	if (x == Mono_Posix_Signum_SIGUNUSED)
-#ifdef SIGUNUSED
-		{*r = SIGUNUSED; return 0;}
-#else /* def SIGUNUSED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGUNUSED */
-	if (x == Mono_Posix_Signum_SIGURG)
-#ifdef SIGURG
-		{*r = SIGURG; return 0;}
-#else /* def SIGURG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGURG */
-	if (x == Mono_Posix_Signum_SIGUSR1)
-#ifdef SIGUSR1
-		{*r = SIGUSR1; return 0;}
-#else /* def SIGUSR1 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGUSR1 */
-	if (x == Mono_Posix_Signum_SIGUSR2)
-#ifdef SIGUSR2
-		{*r = SIGUSR2; return 0;}
-#else /* def SIGUSR2 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGUSR2 */
-	if (x == Mono_Posix_Signum_SIGVTALRM)
-#ifdef SIGVTALRM
-		{*r = SIGVTALRM; return 0;}
-#else /* def SIGVTALRM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGVTALRM */
-	if (x == Mono_Posix_Signum_SIGWINCH)
-#ifdef SIGWINCH
-		{*r = SIGWINCH; return 0;}
-#else /* def SIGWINCH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGWINCH */
-	if (x == Mono_Posix_Signum_SIGXCPU)
-#ifdef SIGXCPU
-		{*r = SIGXCPU; return 0;}
-#else /* def SIGXCPU */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGXCPU */
-	if (x == Mono_Posix_Signum_SIGXFSZ)
-#ifdef SIGXFSZ
-		{*r = SIGXFSZ; return 0;}
-#else /* def SIGXFSZ */
-		{errno = EINVAL; return -1;}
-#endif /* ndef SIGXFSZ */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToSignum (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef SIGABRT
-	if (x == SIGABRT)
-		{*r = Mono_Posix_Signum_SIGABRT; return 0;}
-#endif /* ndef SIGABRT */
-#ifdef SIGALRM
-	if (x == SIGALRM)
-		{*r = Mono_Posix_Signum_SIGALRM; return 0;}
-#endif /* ndef SIGALRM */
-#ifdef SIGBUS
-	if (x == SIGBUS)
-		{*r = Mono_Posix_Signum_SIGBUS; return 0;}
-#endif /* ndef SIGBUS */
-#ifdef SIGCHLD
-	if (x == SIGCHLD)
-		{*r = Mono_Posix_Signum_SIGCHLD; return 0;}
-#endif /* ndef SIGCHLD */
-#ifdef SIGCLD
-	if (x == SIGCLD)
-		{*r = Mono_Posix_Signum_SIGCLD; return 0;}
-#endif /* ndef SIGCLD */
-#ifdef SIGCONT
-	if (x == SIGCONT)
-		{*r = Mono_Posix_Signum_SIGCONT; return 0;}
-#endif /* ndef SIGCONT */
-#ifdef SIGFPE
-	if (x == SIGFPE)
-		{*r = Mono_Posix_Signum_SIGFPE; return 0;}
-#endif /* ndef SIGFPE */
-#ifdef SIGHUP
-	if (x == SIGHUP)
-		{*r = Mono_Posix_Signum_SIGHUP; return 0;}
-#endif /* ndef SIGHUP */
-#ifdef SIGILL
-	if (x == SIGILL)
-		{*r = Mono_Posix_Signum_SIGILL; return 0;}
-#endif /* ndef SIGILL */
-#ifdef SIGINT
-	if (x == SIGINT)
-		{*r = Mono_Posix_Signum_SIGINT; return 0;}
-#endif /* ndef SIGINT */
-#ifdef SIGIO
-	if (x == SIGIO)
-		{*r = Mono_Posix_Signum_SIGIO; return 0;}
-#endif /* ndef SIGIO */
-#ifdef SIGIOT
-	if (x == SIGIOT)
-		{*r = Mono_Posix_Signum_SIGIOT; return 0;}
-#endif /* ndef SIGIOT */
-#ifdef SIGKILL
-	if (x == SIGKILL)
-		{*r = Mono_Posix_Signum_SIGKILL; return 0;}
-#endif /* ndef SIGKILL */
-#ifdef SIGPIPE
-	if (x == SIGPIPE)
-		{*r = Mono_Posix_Signum_SIGPIPE; return 0;}
-#endif /* ndef SIGPIPE */
-#ifdef SIGPOLL
-	if (x == SIGPOLL)
-		{*r = Mono_Posix_Signum_SIGPOLL; return 0;}
-#endif /* ndef SIGPOLL */
-#ifdef SIGPROF
-	if (x == SIGPROF)
-		{*r = Mono_Posix_Signum_SIGPROF; return 0;}
-#endif /* ndef SIGPROF */
-#ifdef SIGPWR
-	if (x == SIGPWR)
-		{*r = Mono_Posix_Signum_SIGPWR; return 0;}
-#endif /* ndef SIGPWR */
-#ifdef SIGQUIT
-	if (x == SIGQUIT)
-		{*r = Mono_Posix_Signum_SIGQUIT; return 0;}
-#endif /* ndef SIGQUIT */
-#ifdef SIGSEGV
-	if (x == SIGSEGV)
-		{*r = Mono_Posix_Signum_SIGSEGV; return 0;}
-#endif /* ndef SIGSEGV */
-#ifdef SIGSTKFLT
-	if (x == SIGSTKFLT)
-		{*r = Mono_Posix_Signum_SIGSTKFLT; return 0;}
-#endif /* ndef SIGSTKFLT */
-#ifdef SIGSTOP
-	if (x == SIGSTOP)
-		{*r = Mono_Posix_Signum_SIGSTOP; return 0;}
-#endif /* ndef SIGSTOP */
-#ifdef SIGSYS
-	if (x == SIGSYS)
-		{*r = Mono_Posix_Signum_SIGSYS; return 0;}
-#endif /* ndef SIGSYS */
-#ifdef SIGTERM
-	if (x == SIGTERM)
-		{*r = Mono_Posix_Signum_SIGTERM; return 0;}
-#endif /* ndef SIGTERM */
-#ifdef SIGTRAP
-	if (x == SIGTRAP)
-		{*r = Mono_Posix_Signum_SIGTRAP; return 0;}
-#endif /* ndef SIGTRAP */
-#ifdef SIGTSTP
-	if (x == SIGTSTP)
-		{*r = Mono_Posix_Signum_SIGTSTP; return 0;}
-#endif /* ndef SIGTSTP */
-#ifdef SIGTTIN
-	if (x == SIGTTIN)
-		{*r = Mono_Posix_Signum_SIGTTIN; return 0;}
-#endif /* ndef SIGTTIN */
-#ifdef SIGTTOU
-	if (x == SIGTTOU)
-		{*r = Mono_Posix_Signum_SIGTTOU; return 0;}
-#endif /* ndef SIGTTOU */
-#ifdef SIGUNUSED
-	if (x == SIGUNUSED)
-		{*r = Mono_Posix_Signum_SIGUNUSED; return 0;}
-#endif /* ndef SIGUNUSED */
-#ifdef SIGURG
-	if (x == SIGURG)
-		{*r = Mono_Posix_Signum_SIGURG; return 0;}
-#endif /* ndef SIGURG */
-#ifdef SIGUSR1
-	if (x == SIGUSR1)
-		{*r = Mono_Posix_Signum_SIGUSR1; return 0;}
-#endif /* ndef SIGUSR1 */
-#ifdef SIGUSR2
-	if (x == SIGUSR2)
-		{*r = Mono_Posix_Signum_SIGUSR2; return 0;}
-#endif /* ndef SIGUSR2 */
-#ifdef SIGVTALRM
-	if (x == SIGVTALRM)
-		{*r = Mono_Posix_Signum_SIGVTALRM; return 0;}
-#endif /* ndef SIGVTALRM */
-#ifdef SIGWINCH
-	if (x == SIGWINCH)
-		{*r = Mono_Posix_Signum_SIGWINCH; return 0;}
-#endif /* ndef SIGWINCH */
-#ifdef SIGXCPU
-	if (x == SIGXCPU)
-		{*r = Mono_Posix_Signum_SIGXCPU; return 0;}
-#endif /* ndef SIGXCPU */
-#ifdef SIGXFSZ
-	if (x == SIGXFSZ)
-		{*r = Mono_Posix_Signum_SIGXFSZ; return 0;}
-#endif /* ndef SIGXFSZ */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromSysconfName (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_SysconfName__SC_2_CHAR_TERM)
-#ifdef _SC_2_CHAR_TERM
-		{*r = _SC_2_CHAR_TERM; return 0;}
-#else /* def _SC_2_CHAR_TERM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_CHAR_TERM */
-	if (x == Mono_Posix_SysconfName__SC_2_C_BIND)
-#ifdef _SC_2_C_BIND
-		{*r = _SC_2_C_BIND; return 0;}
-#else /* def _SC_2_C_BIND */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_C_BIND */
-	if (x == Mono_Posix_SysconfName__SC_2_C_DEV)
-#ifdef _SC_2_C_DEV
-		{*r = _SC_2_C_DEV; return 0;}
-#else /* def _SC_2_C_DEV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_C_DEV */
-	if (x == Mono_Posix_SysconfName__SC_2_C_VERSION)
-#ifdef _SC_2_C_VERSION
-		{*r = _SC_2_C_VERSION; return 0;}
-#else /* def _SC_2_C_VERSION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_C_VERSION */
-	if (x == Mono_Posix_SysconfName__SC_2_FORT_DEV)
-#ifdef _SC_2_FORT_DEV
-		{*r = _SC_2_FORT_DEV; return 0;}
-#else /* def _SC_2_FORT_DEV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_FORT_DEV */
-	if (x == Mono_Posix_SysconfName__SC_2_FORT_RUN)
-#ifdef _SC_2_FORT_RUN
-		{*r = _SC_2_FORT_RUN; return 0;}
-#else /* def _SC_2_FORT_RUN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_FORT_RUN */
-	if (x == Mono_Posix_SysconfName__SC_2_LOCALEDEF)
-#ifdef _SC_2_LOCALEDEF
-		{*r = _SC_2_LOCALEDEF; return 0;}
-#else /* def _SC_2_LOCALEDEF */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_LOCALEDEF */
-	if (x == Mono_Posix_SysconfName__SC_2_PBS)
-#ifdef _SC_2_PBS
-		{*r = _SC_2_PBS; return 0;}
-#else /* def _SC_2_PBS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_PBS */
-	if (x == Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING)
-#ifdef _SC_2_PBS_ACCOUNTING
-		{*r = _SC_2_PBS_ACCOUNTING; return 0;}
-#else /* def _SC_2_PBS_ACCOUNTING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_PBS_ACCOUNTING */
-	if (x == Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT)
-#ifdef _SC_2_PBS_CHECKPOINT
-		{*r = _SC_2_PBS_CHECKPOINT; return 0;}
-#else /* def _SC_2_PBS_CHECKPOINT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_PBS_CHECKPOINT */
-	if (x == Mono_Posix_SysconfName__SC_2_PBS_LOCATE)
-#ifdef _SC_2_PBS_LOCATE
-		{*r = _SC_2_PBS_LOCATE; return 0;}
-#else /* def _SC_2_PBS_LOCATE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_PBS_LOCATE */
-	if (x == Mono_Posix_SysconfName__SC_2_PBS_MESSAGE)
-#ifdef _SC_2_PBS_MESSAGE
-		{*r = _SC_2_PBS_MESSAGE; return 0;}
-#else /* def _SC_2_PBS_MESSAGE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_PBS_MESSAGE */
-	if (x == Mono_Posix_SysconfName__SC_2_PBS_TRACK)
-#ifdef _SC_2_PBS_TRACK
-		{*r = _SC_2_PBS_TRACK; return 0;}
-#else /* def _SC_2_PBS_TRACK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_PBS_TRACK */
-	if (x == Mono_Posix_SysconfName__SC_2_SW_DEV)
-#ifdef _SC_2_SW_DEV
-		{*r = _SC_2_SW_DEV; return 0;}
-#else /* def _SC_2_SW_DEV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_SW_DEV */
-	if (x == Mono_Posix_SysconfName__SC_2_UPE)
-#ifdef _SC_2_UPE
-		{*r = _SC_2_UPE; return 0;}
-#else /* def _SC_2_UPE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_UPE */
-	if (x == Mono_Posix_SysconfName__SC_2_VERSION)
-#ifdef _SC_2_VERSION
-		{*r = _SC_2_VERSION; return 0;}
-#else /* def _SC_2_VERSION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_2_VERSION */
-	if (x == Mono_Posix_SysconfName__SC_ADVISORY_INFO)
-#ifdef _SC_ADVISORY_INFO
-		{*r = _SC_ADVISORY_INFO; return 0;}
-#else /* def _SC_ADVISORY_INFO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_ADVISORY_INFO */
-	if (x == Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX)
-#ifdef _SC_AIO_LISTIO_MAX
-		{*r = _SC_AIO_LISTIO_MAX; return 0;}
-#else /* def _SC_AIO_LISTIO_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_AIO_LISTIO_MAX */
-	if (x == Mono_Posix_SysconfName__SC_AIO_MAX)
-#ifdef _SC_AIO_MAX
-		{*r = _SC_AIO_MAX; return 0;}
-#else /* def _SC_AIO_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_AIO_MAX */
-	if (x == Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX)
-#ifdef _SC_AIO_PRIO_DELTA_MAX
-		{*r = _SC_AIO_PRIO_DELTA_MAX; return 0;}
-#else /* def _SC_AIO_PRIO_DELTA_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
-	if (x == Mono_Posix_SysconfName__SC_ARG_MAX)
-#ifdef _SC_ARG_MAX
-		{*r = _SC_ARG_MAX; return 0;}
-#else /* def _SC_ARG_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_ARG_MAX */
-	if (x == Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO)
-#ifdef _SC_ASYNCHRONOUS_IO
-		{*r = _SC_ASYNCHRONOUS_IO; return 0;}
-#else /* def _SC_ASYNCHRONOUS_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_ASYNCHRONOUS_IO */
-	if (x == Mono_Posix_SysconfName__SC_ATEXIT_MAX)
-#ifdef _SC_ATEXIT_MAX
-		{*r = _SC_ATEXIT_MAX; return 0;}
-#else /* def _SC_ATEXIT_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_ATEXIT_MAX */
-	if (x == Mono_Posix_SysconfName__SC_AVPHYS_PAGES)
-#ifdef _SC_AVPHYS_PAGES
-		{*r = _SC_AVPHYS_PAGES; return 0;}
-#else /* def _SC_AVPHYS_PAGES */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_AVPHYS_PAGES */
-	if (x == Mono_Posix_SysconfName__SC_BARRIERS)
-#ifdef _SC_BARRIERS
-		{*r = _SC_BARRIERS; return 0;}
-#else /* def _SC_BARRIERS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_BARRIERS */
-	if (x == Mono_Posix_SysconfName__SC_BASE)
-#ifdef _SC_BASE
-		{*r = _SC_BASE; return 0;}
-#else /* def _SC_BASE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_BASE */
-	if (x == Mono_Posix_SysconfName__SC_BC_BASE_MAX)
-#ifdef _SC_BC_BASE_MAX
-		{*r = _SC_BC_BASE_MAX; return 0;}
-#else /* def _SC_BC_BASE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_BC_BASE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_BC_DIM_MAX)
-#ifdef _SC_BC_DIM_MAX
-		{*r = _SC_BC_DIM_MAX; return 0;}
-#else /* def _SC_BC_DIM_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_BC_DIM_MAX */
-	if (x == Mono_Posix_SysconfName__SC_BC_SCALE_MAX)
-#ifdef _SC_BC_SCALE_MAX
-		{*r = _SC_BC_SCALE_MAX; return 0;}
-#else /* def _SC_BC_SCALE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_BC_SCALE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_BC_STRING_MAX)
-#ifdef _SC_BC_STRING_MAX
-		{*r = _SC_BC_STRING_MAX; return 0;}
-#else /* def _SC_BC_STRING_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_BC_STRING_MAX */
-	if (x == Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX)
-#ifdef _SC_CHARCLASS_NAME_MAX
-		{*r = _SC_CHARCLASS_NAME_MAX; return 0;}
-#else /* def _SC_CHARCLASS_NAME_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CHARCLASS_NAME_MAX */
-	if (x == Mono_Posix_SysconfName__SC_CHAR_BIT)
-#ifdef _SC_CHAR_BIT
-		{*r = _SC_CHAR_BIT; return 0;}
-#else /* def _SC_CHAR_BIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CHAR_BIT */
-	if (x == Mono_Posix_SysconfName__SC_CHAR_MAX)
-#ifdef _SC_CHAR_MAX
-		{*r = _SC_CHAR_MAX; return 0;}
-#else /* def _SC_CHAR_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CHAR_MAX */
-	if (x == Mono_Posix_SysconfName__SC_CHAR_MIN)
-#ifdef _SC_CHAR_MIN
-		{*r = _SC_CHAR_MIN; return 0;}
-#else /* def _SC_CHAR_MIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CHAR_MIN */
-	if (x == Mono_Posix_SysconfName__SC_CHILD_MAX)
-#ifdef _SC_CHILD_MAX
-		{*r = _SC_CHILD_MAX; return 0;}
-#else /* def _SC_CHILD_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CHILD_MAX */
-	if (x == Mono_Posix_SysconfName__SC_CLK_TCK)
-#ifdef _SC_CLK_TCK
-		{*r = _SC_CLK_TCK; return 0;}
-#else /* def _SC_CLK_TCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CLK_TCK */
-	if (x == Mono_Posix_SysconfName__SC_CLOCK_SELECTION)
-#ifdef _SC_CLOCK_SELECTION
-		{*r = _SC_CLOCK_SELECTION; return 0;}
-#else /* def _SC_CLOCK_SELECTION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CLOCK_SELECTION */
-	if (x == Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX)
-#ifdef _SC_COLL_WEIGHTS_MAX
-		{*r = _SC_COLL_WEIGHTS_MAX; return 0;}
-#else /* def _SC_COLL_WEIGHTS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_COLL_WEIGHTS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_CPUTIME)
-#ifdef _SC_CPUTIME
-		{*r = _SC_CPUTIME; return 0;}
-#else /* def _SC_CPUTIME */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_CPUTIME */
-	if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT)
-#ifdef _SC_C_LANG_SUPPORT
-		{*r = _SC_C_LANG_SUPPORT; return 0;}
-#else /* def _SC_C_LANG_SUPPORT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_C_LANG_SUPPORT */
-	if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R)
-#ifdef _SC_C_LANG_SUPPORT_R
-		{*r = _SC_C_LANG_SUPPORT_R; return 0;}
-#else /* def _SC_C_LANG_SUPPORT_R */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_C_LANG_SUPPORT_R */
-	if (x == Mono_Posix_SysconfName__SC_DELAYTIMER_MAX)
-#ifdef _SC_DELAYTIMER_MAX
-		{*r = _SC_DELAYTIMER_MAX; return 0;}
-#else /* def _SC_DELAYTIMER_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_DELAYTIMER_MAX */
-	if (x == Mono_Posix_SysconfName__SC_DEVICE_IO)
-#ifdef _SC_DEVICE_IO
-		{*r = _SC_DEVICE_IO; return 0;}
-#else /* def _SC_DEVICE_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_DEVICE_IO */
-	if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC)
-#ifdef _SC_DEVICE_SPECIFIC
-		{*r = _SC_DEVICE_SPECIFIC; return 0;}
-#else /* def _SC_DEVICE_SPECIFIC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_DEVICE_SPECIFIC */
-	if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R)
-#ifdef _SC_DEVICE_SPECIFIC_R
-		{*r = _SC_DEVICE_SPECIFIC_R; return 0;}
-#else /* def _SC_DEVICE_SPECIFIC_R */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_DEVICE_SPECIFIC_R */
-	if (x == Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX)
-#ifdef _SC_EQUIV_CLASS_MAX
-		{*r = _SC_EQUIV_CLASS_MAX; return 0;}
-#else /* def _SC_EQUIV_CLASS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_EQUIV_CLASS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_EXPR_NEST_MAX)
-#ifdef _SC_EXPR_NEST_MAX
-		{*r = _SC_EXPR_NEST_MAX; return 0;}
-#else /* def _SC_EXPR_NEST_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_EXPR_NEST_MAX */
-	if (x == Mono_Posix_SysconfName__SC_FD_MGMT)
-#ifdef _SC_FD_MGMT
-		{*r = _SC_FD_MGMT; return 0;}
-#else /* def _SC_FD_MGMT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_FD_MGMT */
-	if (x == Mono_Posix_SysconfName__SC_FIFO)
-#ifdef _SC_FIFO
-		{*r = _SC_FIFO; return 0;}
-#else /* def _SC_FIFO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_FIFO */
-	if (x == Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES)
-#ifdef _SC_FILE_ATTRIBUTES
-		{*r = _SC_FILE_ATTRIBUTES; return 0;}
-#else /* def _SC_FILE_ATTRIBUTES */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_FILE_ATTRIBUTES */
-	if (x == Mono_Posix_SysconfName__SC_FILE_LOCKING)
-#ifdef _SC_FILE_LOCKING
-		{*r = _SC_FILE_LOCKING; return 0;}
-#else /* def _SC_FILE_LOCKING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_FILE_LOCKING */
-	if (x == Mono_Posix_SysconfName__SC_FILE_SYSTEM)
-#ifdef _SC_FILE_SYSTEM
-		{*r = _SC_FILE_SYSTEM; return 0;}
-#else /* def _SC_FILE_SYSTEM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_FILE_SYSTEM */
-	if (x == Mono_Posix_SysconfName__SC_FSYNC)
-#ifdef _SC_FSYNC
-		{*r = _SC_FSYNC; return 0;}
-#else /* def _SC_FSYNC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_FSYNC */
-	if (x == Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX)
-#ifdef _SC_GETGR_R_SIZE_MAX
-		{*r = _SC_GETGR_R_SIZE_MAX; return 0;}
-#else /* def _SC_GETGR_R_SIZE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_GETGR_R_SIZE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX)
-#ifdef _SC_GETPW_R_SIZE_MAX
-		{*r = _SC_GETPW_R_SIZE_MAX; return 0;}
-#else /* def _SC_GETPW_R_SIZE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_GETPW_R_SIZE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_HOST_NAME_MAX)
-#ifdef _SC_HOST_NAME_MAX
-		{*r = _SC_HOST_NAME_MAX; return 0;}
-#else /* def _SC_HOST_NAME_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_HOST_NAME_MAX */
-	if (x == Mono_Posix_SysconfName__SC_INT_MAX)
-#ifdef _SC_INT_MAX
-		{*r = _SC_INT_MAX; return 0;}
-#else /* def _SC_INT_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_INT_MAX */
-	if (x == Mono_Posix_SysconfName__SC_INT_MIN)
-#ifdef _SC_INT_MIN
-		{*r = _SC_INT_MIN; return 0;}
-#else /* def _SC_INT_MIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_INT_MIN */
-	if (x == Mono_Posix_SysconfName__SC_IOV_MAX)
-#ifdef _SC_IOV_MAX
-		{*r = _SC_IOV_MAX; return 0;}
-#else /* def _SC_IOV_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_IOV_MAX */
-	if (x == Mono_Posix_SysconfName__SC_JOB_CONTROL)
-#ifdef _SC_JOB_CONTROL
-		{*r = _SC_JOB_CONTROL; return 0;}
-#else /* def _SC_JOB_CONTROL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_JOB_CONTROL */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC)
-#ifdef _SC_LEVEL1_DCACHE_ASSOC
-		{*r = _SC_LEVEL1_DCACHE_ASSOC; return 0;}
-#else /* def _SC_LEVEL1_DCACHE_ASSOC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE)
-#ifdef _SC_LEVEL1_DCACHE_LINESIZE
-		{*r = _SC_LEVEL1_DCACHE_LINESIZE; return 0;}
-#else /* def _SC_LEVEL1_DCACHE_LINESIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE)
-#ifdef _SC_LEVEL1_DCACHE_SIZE
-		{*r = _SC_LEVEL1_DCACHE_SIZE; return 0;}
-#else /* def _SC_LEVEL1_DCACHE_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC)
-#ifdef _SC_LEVEL1_ICACHE_ASSOC
-		{*r = _SC_LEVEL1_ICACHE_ASSOC; return 0;}
-#else /* def _SC_LEVEL1_ICACHE_ASSOC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE)
-#ifdef _SC_LEVEL1_ICACHE_LINESIZE
-		{*r = _SC_LEVEL1_ICACHE_LINESIZE; return 0;}
-#else /* def _SC_LEVEL1_ICACHE_LINESIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE)
-#ifdef _SC_LEVEL1_ICACHE_SIZE
-		{*r = _SC_LEVEL1_ICACHE_SIZE; return 0;}
-#else /* def _SC_LEVEL1_ICACHE_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC)
-#ifdef _SC_LEVEL2_CACHE_ASSOC
-		{*r = _SC_LEVEL2_CACHE_ASSOC; return 0;}
-#else /* def _SC_LEVEL2_CACHE_ASSOC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE)
-#ifdef _SC_LEVEL2_CACHE_LINESIZE
-		{*r = _SC_LEVEL2_CACHE_LINESIZE; return 0;}
-#else /* def _SC_LEVEL2_CACHE_LINESIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE)
-#ifdef _SC_LEVEL2_CACHE_SIZE
-		{*r = _SC_LEVEL2_CACHE_SIZE; return 0;}
-#else /* def _SC_LEVEL2_CACHE_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL2_CACHE_SIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC)
-#ifdef _SC_LEVEL3_CACHE_ASSOC
-		{*r = _SC_LEVEL3_CACHE_ASSOC; return 0;}
-#else /* def _SC_LEVEL3_CACHE_ASSOC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE)
-#ifdef _SC_LEVEL3_CACHE_LINESIZE
-		{*r = _SC_LEVEL3_CACHE_LINESIZE; return 0;}
-#else /* def _SC_LEVEL3_CACHE_LINESIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE)
-#ifdef _SC_LEVEL3_CACHE_SIZE
-		{*r = _SC_LEVEL3_CACHE_SIZE; return 0;}
-#else /* def _SC_LEVEL3_CACHE_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL3_CACHE_SIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC)
-#ifdef _SC_LEVEL4_CACHE_ASSOC
-		{*r = _SC_LEVEL4_CACHE_ASSOC; return 0;}
-#else /* def _SC_LEVEL4_CACHE_ASSOC */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE)
-#ifdef _SC_LEVEL4_CACHE_LINESIZE
-		{*r = _SC_LEVEL4_CACHE_LINESIZE; return 0;}
-#else /* def _SC_LEVEL4_CACHE_LINESIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
-	if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE)
-#ifdef _SC_LEVEL4_CACHE_SIZE
-		{*r = _SC_LEVEL4_CACHE_SIZE; return 0;}
-#else /* def _SC_LEVEL4_CACHE_SIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LEVEL4_CACHE_SIZE */
-	if (x == Mono_Posix_SysconfName__SC_LINE_MAX)
-#ifdef _SC_LINE_MAX
-		{*r = _SC_LINE_MAX; return 0;}
-#else /* def _SC_LINE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LINE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX)
-#ifdef _SC_LOGIN_NAME_MAX
-		{*r = _SC_LOGIN_NAME_MAX; return 0;}
-#else /* def _SC_LOGIN_NAME_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LOGIN_NAME_MAX */
-	if (x == Mono_Posix_SysconfName__SC_LONG_BIT)
-#ifdef _SC_LONG_BIT
-		{*r = _SC_LONG_BIT; return 0;}
-#else /* def _SC_LONG_BIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_LONG_BIT */
-	if (x == Mono_Posix_SysconfName__SC_MAPPED_FILES)
-#ifdef _SC_MAPPED_FILES
-		{*r = _SC_MAPPED_FILES; return 0;}
-#else /* def _SC_MAPPED_FILES */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MAPPED_FILES */
-	if (x == Mono_Posix_SysconfName__SC_MB_LEN_MAX)
-#ifdef _SC_MB_LEN_MAX
-		{*r = _SC_MB_LEN_MAX; return 0;}
-#else /* def _SC_MB_LEN_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MB_LEN_MAX */
-	if (x == Mono_Posix_SysconfName__SC_MEMLOCK)
-#ifdef _SC_MEMLOCK
-		{*r = _SC_MEMLOCK; return 0;}
-#else /* def _SC_MEMLOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MEMLOCK */
-	if (x == Mono_Posix_SysconfName__SC_MEMLOCK_RANGE)
-#ifdef _SC_MEMLOCK_RANGE
-		{*r = _SC_MEMLOCK_RANGE; return 0;}
-#else /* def _SC_MEMLOCK_RANGE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MEMLOCK_RANGE */
-	if (x == Mono_Posix_SysconfName__SC_MEMORY_PROTECTION)
-#ifdef _SC_MEMORY_PROTECTION
-		{*r = _SC_MEMORY_PROTECTION; return 0;}
-#else /* def _SC_MEMORY_PROTECTION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MEMORY_PROTECTION */
-	if (x == Mono_Posix_SysconfName__SC_MESSAGE_PASSING)
-#ifdef _SC_MESSAGE_PASSING
-		{*r = _SC_MESSAGE_PASSING; return 0;}
-#else /* def _SC_MESSAGE_PASSING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MESSAGE_PASSING */
-	if (x == Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK)
-#ifdef _SC_MONOTONIC_CLOCK
-		{*r = _SC_MONOTONIC_CLOCK; return 0;}
-#else /* def _SC_MONOTONIC_CLOCK */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MONOTONIC_CLOCK */
-	if (x == Mono_Posix_SysconfName__SC_MQ_OPEN_MAX)
-#ifdef _SC_MQ_OPEN_MAX
-		{*r = _SC_MQ_OPEN_MAX; return 0;}
-#else /* def _SC_MQ_OPEN_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MQ_OPEN_MAX */
-	if (x == Mono_Posix_SysconfName__SC_MQ_PRIO_MAX)
-#ifdef _SC_MQ_PRIO_MAX
-		{*r = _SC_MQ_PRIO_MAX; return 0;}
-#else /* def _SC_MQ_PRIO_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MQ_PRIO_MAX */
-	if (x == Mono_Posix_SysconfName__SC_MULTI_PROCESS)
-#ifdef _SC_MULTI_PROCESS
-		{*r = _SC_MULTI_PROCESS; return 0;}
-#else /* def _SC_MULTI_PROCESS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_MULTI_PROCESS */
-	if (x == Mono_Posix_SysconfName__SC_NETWORKING)
-#ifdef _SC_NETWORKING
-		{*r = _SC_NETWORKING; return 0;}
-#else /* def _SC_NETWORKING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NETWORKING */
-	if (x == Mono_Posix_SysconfName__SC_NGROUPS_MAX)
-#ifdef _SC_NGROUPS_MAX
-		{*r = _SC_NGROUPS_MAX; return 0;}
-#else /* def _SC_NGROUPS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NGROUPS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_NL_ARGMAX)
-#ifdef _SC_NL_ARGMAX
-		{*r = _SC_NL_ARGMAX; return 0;}
-#else /* def _SC_NL_ARGMAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NL_ARGMAX */
-	if (x == Mono_Posix_SysconfName__SC_NL_LANGMAX)
-#ifdef _SC_NL_LANGMAX
-		{*r = _SC_NL_LANGMAX; return 0;}
-#else /* def _SC_NL_LANGMAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NL_LANGMAX */
-	if (x == Mono_Posix_SysconfName__SC_NL_MSGMAX)
-#ifdef _SC_NL_MSGMAX
-		{*r = _SC_NL_MSGMAX; return 0;}
-#else /* def _SC_NL_MSGMAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NL_MSGMAX */
-	if (x == Mono_Posix_SysconfName__SC_NL_NMAX)
-#ifdef _SC_NL_NMAX
-		{*r = _SC_NL_NMAX; return 0;}
-#else /* def _SC_NL_NMAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NL_NMAX */
-	if (x == Mono_Posix_SysconfName__SC_NL_SETMAX)
-#ifdef _SC_NL_SETMAX
-		{*r = _SC_NL_SETMAX; return 0;}
-#else /* def _SC_NL_SETMAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NL_SETMAX */
-	if (x == Mono_Posix_SysconfName__SC_NL_TEXTMAX)
-#ifdef _SC_NL_TEXTMAX
-		{*r = _SC_NL_TEXTMAX; return 0;}
-#else /* def _SC_NL_TEXTMAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NL_TEXTMAX */
-	if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_CONF)
-#ifdef _SC_NPROCESSORS_CONF
-		{*r = _SC_NPROCESSORS_CONF; return 0;}
-#else /* def _SC_NPROCESSORS_CONF */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NPROCESSORS_CONF */
-	if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN)
-#ifdef _SC_NPROCESSORS_ONLN
-		{*r = _SC_NPROCESSORS_ONLN; return 0;}
-#else /* def _SC_NPROCESSORS_ONLN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NPROCESSORS_ONLN */
-	if (x == Mono_Posix_SysconfName__SC_NZERO)
-#ifdef _SC_NZERO
-		{*r = _SC_NZERO; return 0;}
-#else /* def _SC_NZERO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_NZERO */
-	if (x == Mono_Posix_SysconfName__SC_OPEN_MAX)
-#ifdef _SC_OPEN_MAX
-		{*r = _SC_OPEN_MAX; return 0;}
-#else /* def _SC_OPEN_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_OPEN_MAX */
-	if (x == Mono_Posix_SysconfName__SC_PAGESIZE)
-#ifdef _SC_PAGESIZE
-		{*r = _SC_PAGESIZE; return 0;}
-#else /* def _SC_PAGESIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PAGESIZE */
-	if (x == Mono_Posix_SysconfName__SC_PASS_MAX)
-#ifdef _SC_PASS_MAX
-		{*r = _SC_PASS_MAX; return 0;}
-#else /* def _SC_PASS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PASS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_PHYS_PAGES)
-#ifdef _SC_PHYS_PAGES
-		{*r = _SC_PHYS_PAGES; return 0;}
-#else /* def _SC_PHYS_PAGES */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PHYS_PAGES */
-	if (x == Mono_Posix_SysconfName__SC_PII)
-#ifdef _SC_PII
-		{*r = _SC_PII; return 0;}
-#else /* def _SC_PII */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII */
-	if (x == Mono_Posix_SysconfName__SC_PII_INTERNET)
-#ifdef _SC_PII_INTERNET
-		{*r = _SC_PII_INTERNET; return 0;}
-#else /* def _SC_PII_INTERNET */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_INTERNET */
-	if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM)
-#ifdef _SC_PII_INTERNET_DGRAM
-		{*r = _SC_PII_INTERNET_DGRAM; return 0;}
-#else /* def _SC_PII_INTERNET_DGRAM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_INTERNET_DGRAM */
-	if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM)
-#ifdef _SC_PII_INTERNET_STREAM
-		{*r = _SC_PII_INTERNET_STREAM; return 0;}
-#else /* def _SC_PII_INTERNET_STREAM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_INTERNET_STREAM */
-	if (x == Mono_Posix_SysconfName__SC_PII_OSI)
-#ifdef _SC_PII_OSI
-		{*r = _SC_PII_OSI; return 0;}
-#else /* def _SC_PII_OSI */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_OSI */
-	if (x == Mono_Posix_SysconfName__SC_PII_OSI_CLTS)
-#ifdef _SC_PII_OSI_CLTS
-		{*r = _SC_PII_OSI_CLTS; return 0;}
-#else /* def _SC_PII_OSI_CLTS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_OSI_CLTS */
-	if (x == Mono_Posix_SysconfName__SC_PII_OSI_COTS)
-#ifdef _SC_PII_OSI_COTS
-		{*r = _SC_PII_OSI_COTS; return 0;}
-#else /* def _SC_PII_OSI_COTS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_OSI_COTS */
-	if (x == Mono_Posix_SysconfName__SC_PII_OSI_M)
-#ifdef _SC_PII_OSI_M
-		{*r = _SC_PII_OSI_M; return 0;}
-#else /* def _SC_PII_OSI_M */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_OSI_M */
-	if (x == Mono_Posix_SysconfName__SC_PII_SOCKET)
-#ifdef _SC_PII_SOCKET
-		{*r = _SC_PII_SOCKET; return 0;}
-#else /* def _SC_PII_SOCKET */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_SOCKET */
-	if (x == Mono_Posix_SysconfName__SC_PII_XTI)
-#ifdef _SC_PII_XTI
-		{*r = _SC_PII_XTI; return 0;}
-#else /* def _SC_PII_XTI */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PII_XTI */
-	if (x == Mono_Posix_SysconfName__SC_PIPE)
-#ifdef _SC_PIPE
-		{*r = _SC_PIPE; return 0;}
-#else /* def _SC_PIPE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PIPE */
-	if (x == Mono_Posix_SysconfName__SC_POLL)
-#ifdef _SC_POLL
-		{*r = _SC_POLL; return 0;}
-#else /* def _SC_POLL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_POLL */
-	if (x == Mono_Posix_SysconfName__SC_PRIORITIZED_IO)
-#ifdef _SC_PRIORITIZED_IO
-		{*r = _SC_PRIORITIZED_IO; return 0;}
-#else /* def _SC_PRIORITIZED_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PRIORITIZED_IO */
-	if (x == Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING)
-#ifdef _SC_PRIORITY_SCHEDULING
-		{*r = _SC_PRIORITY_SCHEDULING; return 0;}
-#else /* def _SC_PRIORITY_SCHEDULING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_PRIORITY_SCHEDULING */
-	if (x == Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS)
-#ifdef _SC_READER_WRITER_LOCKS
-		{*r = _SC_READER_WRITER_LOCKS; return 0;}
-#else /* def _SC_READER_WRITER_LOCKS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_READER_WRITER_LOCKS */
-	if (x == Mono_Posix_SysconfName__SC_REALTIME_SIGNALS)
-#ifdef _SC_REALTIME_SIGNALS
-		{*r = _SC_REALTIME_SIGNALS; return 0;}
-#else /* def _SC_REALTIME_SIGNALS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_REALTIME_SIGNALS */
-	if (x == Mono_Posix_SysconfName__SC_REGEXP)
-#ifdef _SC_REGEXP
-		{*r = _SC_REGEXP; return 0;}
-#else /* def _SC_REGEXP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_REGEXP */
-	if (x == Mono_Posix_SysconfName__SC_REGEX_VERSION)
-#ifdef _SC_REGEX_VERSION
-		{*r = _SC_REGEX_VERSION; return 0;}
-#else /* def _SC_REGEX_VERSION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_REGEX_VERSION */
-	if (x == Mono_Posix_SysconfName__SC_RE_DUP_MAX)
-#ifdef _SC_RE_DUP_MAX
-		{*r = _SC_RE_DUP_MAX; return 0;}
-#else /* def _SC_RE_DUP_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_RE_DUP_MAX */
-	if (x == Mono_Posix_SysconfName__SC_RTSIG_MAX)
-#ifdef _SC_RTSIG_MAX
-		{*r = _SC_RTSIG_MAX; return 0;}
-#else /* def _SC_RTSIG_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_RTSIG_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SAVED_IDS)
-#ifdef _SC_SAVED_IDS
-		{*r = _SC_SAVED_IDS; return 0;}
-#else /* def _SC_SAVED_IDS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SAVED_IDS */
-	if (x == Mono_Posix_SysconfName__SC_SCHAR_MAX)
-#ifdef _SC_SCHAR_MAX
-		{*r = _SC_SCHAR_MAX; return 0;}
-#else /* def _SC_SCHAR_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SCHAR_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SCHAR_MIN)
-#ifdef _SC_SCHAR_MIN
-		{*r = _SC_SCHAR_MIN; return 0;}
-#else /* def _SC_SCHAR_MIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SCHAR_MIN */
-	if (x == Mono_Posix_SysconfName__SC_SELECT)
-#ifdef _SC_SELECT
-		{*r = _SC_SELECT; return 0;}
-#else /* def _SC_SELECT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SELECT */
-	if (x == Mono_Posix_SysconfName__SC_SEMAPHORES)
-#ifdef _SC_SEMAPHORES
-		{*r = _SC_SEMAPHORES; return 0;}
-#else /* def _SC_SEMAPHORES */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SEMAPHORES */
-	if (x == Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX)
-#ifdef _SC_SEM_NSEMS_MAX
-		{*r = _SC_SEM_NSEMS_MAX; return 0;}
-#else /* def _SC_SEM_NSEMS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SEM_NSEMS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SEM_VALUE_MAX)
-#ifdef _SC_SEM_VALUE_MAX
-		{*r = _SC_SEM_VALUE_MAX; return 0;}
-#else /* def _SC_SEM_VALUE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SEM_VALUE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS)
-#ifdef _SC_SHARED_MEMORY_OBJECTS
-		{*r = _SC_SHARED_MEMORY_OBJECTS; return 0;}
-#else /* def _SC_SHARED_MEMORY_OBJECTS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
-	if (x == Mono_Posix_SysconfName__SC_SHELL)
-#ifdef _SC_SHELL
-		{*r = _SC_SHELL; return 0;}
-#else /* def _SC_SHELL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SHELL */
-	if (x == Mono_Posix_SysconfName__SC_SHRT_MAX)
-#ifdef _SC_SHRT_MAX
-		{*r = _SC_SHRT_MAX; return 0;}
-#else /* def _SC_SHRT_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SHRT_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SHRT_MIN)
-#ifdef _SC_SHRT_MIN
-		{*r = _SC_SHRT_MIN; return 0;}
-#else /* def _SC_SHRT_MIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SHRT_MIN */
-	if (x == Mono_Posix_SysconfName__SC_SIGNALS)
-#ifdef _SC_SIGNALS
-		{*r = _SC_SIGNALS; return 0;}
-#else /* def _SC_SIGNALS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SIGNALS */
-	if (x == Mono_Posix_SysconfName__SC_SIGQUEUE_MAX)
-#ifdef _SC_SIGQUEUE_MAX
-		{*r = _SC_SIGQUEUE_MAX; return 0;}
-#else /* def _SC_SIGQUEUE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SIGQUEUE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SINGLE_PROCESS)
-#ifdef _SC_SINGLE_PROCESS
-		{*r = _SC_SINGLE_PROCESS; return 0;}
-#else /* def _SC_SINGLE_PROCESS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SINGLE_PROCESS */
-	if (x == Mono_Posix_SysconfName__SC_SPAWN)
-#ifdef _SC_SPAWN
-		{*r = _SC_SPAWN; return 0;}
-#else /* def _SC_SPAWN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SPAWN */
-	if (x == Mono_Posix_SysconfName__SC_SPIN_LOCKS)
-#ifdef _SC_SPIN_LOCKS
-		{*r = _SC_SPIN_LOCKS; return 0;}
-#else /* def _SC_SPIN_LOCKS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SPIN_LOCKS */
-	if (x == Mono_Posix_SysconfName__SC_SPORADIC_SERVER)
-#ifdef _SC_SPORADIC_SERVER
-		{*r = _SC_SPORADIC_SERVER; return 0;}
-#else /* def _SC_SPORADIC_SERVER */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SPORADIC_SERVER */
-	if (x == Mono_Posix_SysconfName__SC_SSIZE_MAX)
-#ifdef _SC_SSIZE_MAX
-		{*r = _SC_SSIZE_MAX; return 0;}
-#else /* def _SC_SSIZE_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SSIZE_MAX */
-	if (x == Mono_Posix_SysconfName__SC_STREAMS)
-#ifdef _SC_STREAMS
-		{*r = _SC_STREAMS; return 0;}
-#else /* def _SC_STREAMS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_STREAMS */
-	if (x == Mono_Posix_SysconfName__SC_STREAM_MAX)
-#ifdef _SC_STREAM_MAX
-		{*r = _SC_STREAM_MAX; return 0;}
-#else /* def _SC_STREAM_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_STREAM_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SYMLOOP_MAX)
-#ifdef _SC_SYMLOOP_MAX
-		{*r = _SC_SYMLOOP_MAX; return 0;}
-#else /* def _SC_SYMLOOP_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SYMLOOP_MAX */
-	if (x == Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO)
-#ifdef _SC_SYNCHRONIZED_IO
-		{*r = _SC_SYNCHRONIZED_IO; return 0;}
-#else /* def _SC_SYNCHRONIZED_IO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SYNCHRONIZED_IO */
-	if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE)
-#ifdef _SC_SYSTEM_DATABASE
-		{*r = _SC_SYSTEM_DATABASE; return 0;}
-#else /* def _SC_SYSTEM_DATABASE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SYSTEM_DATABASE */
-	if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R)
-#ifdef _SC_SYSTEM_DATABASE_R
-		{*r = _SC_SYSTEM_DATABASE_R; return 0;}
-#else /* def _SC_SYSTEM_DATABASE_R */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_SYSTEM_DATABASE_R */
-	if (x == Mono_Posix_SysconfName__SC_THREADS)
-#ifdef _SC_THREADS
-		{*r = _SC_THREADS; return 0;}
-#else /* def _SC_THREADS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREADS */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR)
-#ifdef _SC_THREAD_ATTR_STACKADDR
-		{*r = _SC_THREAD_ATTR_STACKADDR; return 0;}
-#else /* def _SC_THREAD_ATTR_STACKADDR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_ATTR_STACKADDR */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE)
-#ifdef _SC_THREAD_ATTR_STACKSIZE
-		{*r = _SC_THREAD_ATTR_STACKSIZE; return 0;}
-#else /* def _SC_THREAD_ATTR_STACKSIZE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_CPUTIME)
-#ifdef _SC_THREAD_CPUTIME
-		{*r = _SC_THREAD_CPUTIME; return 0;}
-#else /* def _SC_THREAD_CPUTIME */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_CPUTIME */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS)
-#ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
-		{*r = _SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
-#else /* def _SC_THREAD_DESTRUCTOR_ITERATIONS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX)
-#ifdef _SC_THREAD_KEYS_MAX
-		{*r = _SC_THREAD_KEYS_MAX; return 0;}
-#else /* def _SC_THREAD_KEYS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_KEYS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING)
-#ifdef _SC_THREAD_PRIORITY_SCHEDULING
-		{*r = _SC_THREAD_PRIORITY_SCHEDULING; return 0;}
-#else /* def _SC_THREAD_PRIORITY_SCHEDULING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT)
-#ifdef _SC_THREAD_PRIO_INHERIT
-		{*r = _SC_THREAD_PRIO_INHERIT; return 0;}
-#else /* def _SC_THREAD_PRIO_INHERIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_PRIO_INHERIT */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT)
-#ifdef _SC_THREAD_PRIO_PROTECT
-		{*r = _SC_THREAD_PRIO_PROTECT; return 0;}
-#else /* def _SC_THREAD_PRIO_PROTECT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_PRIO_PROTECT */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED)
-#ifdef _SC_THREAD_PROCESS_SHARED
-		{*r = _SC_THREAD_PROCESS_SHARED; return 0;}
-#else /* def _SC_THREAD_PROCESS_SHARED */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_PROCESS_SHARED */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS)
-#ifdef _SC_THREAD_SAFE_FUNCTIONS
-		{*r = _SC_THREAD_SAFE_FUNCTIONS; return 0;}
-#else /* def _SC_THREAD_SAFE_FUNCTIONS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER)
-#ifdef _SC_THREAD_SPORADIC_SERVER
-		{*r = _SC_THREAD_SPORADIC_SERVER; return 0;}
-#else /* def _SC_THREAD_SPORADIC_SERVER */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_SPORADIC_SERVER */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_STACK_MIN)
-#ifdef _SC_THREAD_STACK_MIN
-		{*r = _SC_THREAD_STACK_MIN; return 0;}
-#else /* def _SC_THREAD_STACK_MIN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_STACK_MIN */
-	if (x == Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX)
-#ifdef _SC_THREAD_THREADS_MAX
-		{*r = _SC_THREAD_THREADS_MAX; return 0;}
-#else /* def _SC_THREAD_THREADS_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_THREAD_THREADS_MAX */
-	if (x == Mono_Posix_SysconfName__SC_TIMEOUTS)
-#ifdef _SC_TIMEOUTS
-		{*r = _SC_TIMEOUTS; return 0;}
-#else /* def _SC_TIMEOUTS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TIMEOUTS */
-	if (x == Mono_Posix_SysconfName__SC_TIMERS)
-#ifdef _SC_TIMERS
-		{*r = _SC_TIMERS; return 0;}
-#else /* def _SC_TIMERS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TIMERS */
-	if (x == Mono_Posix_SysconfName__SC_TIMER_MAX)
-#ifdef _SC_TIMER_MAX
-		{*r = _SC_TIMER_MAX; return 0;}
-#else /* def _SC_TIMER_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TIMER_MAX */
-	if (x == Mono_Posix_SysconfName__SC_TRACE)
-#ifdef _SC_TRACE
-		{*r = _SC_TRACE; return 0;}
-#else /* def _SC_TRACE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TRACE */
-	if (x == Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER)
-#ifdef _SC_TRACE_EVENT_FILTER
-		{*r = _SC_TRACE_EVENT_FILTER; return 0;}
-#else /* def _SC_TRACE_EVENT_FILTER */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TRACE_EVENT_FILTER */
-	if (x == Mono_Posix_SysconfName__SC_TRACE_INHERIT)
-#ifdef _SC_TRACE_INHERIT
-		{*r = _SC_TRACE_INHERIT; return 0;}
-#else /* def _SC_TRACE_INHERIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TRACE_INHERIT */
-	if (x == Mono_Posix_SysconfName__SC_TRACE_LOG)
-#ifdef _SC_TRACE_LOG
-		{*r = _SC_TRACE_LOG; return 0;}
-#else /* def _SC_TRACE_LOG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TRACE_LOG */
-	if (x == Mono_Posix_SysconfName__SC_TTY_NAME_MAX)
-#ifdef _SC_TTY_NAME_MAX
-		{*r = _SC_TTY_NAME_MAX; return 0;}
-#else /* def _SC_TTY_NAME_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TTY_NAME_MAX */
-	if (x == Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS)
-#ifdef _SC_TYPED_MEMORY_OBJECTS
-		{*r = _SC_TYPED_MEMORY_OBJECTS; return 0;}
-#else /* def _SC_TYPED_MEMORY_OBJECTS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
-	if (x == Mono_Posix_SysconfName__SC_TZNAME_MAX)
-#ifdef _SC_TZNAME_MAX
-		{*r = _SC_TZNAME_MAX; return 0;}
-#else /* def _SC_TZNAME_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_TZNAME_MAX */
-	if (x == Mono_Posix_SysconfName__SC_T_IOV_MAX)
-#ifdef _SC_T_IOV_MAX
-		{*r = _SC_T_IOV_MAX; return 0;}
-#else /* def _SC_T_IOV_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_T_IOV_MAX */
-	if (x == Mono_Posix_SysconfName__SC_UCHAR_MAX)
-#ifdef _SC_UCHAR_MAX
-		{*r = _SC_UCHAR_MAX; return 0;}
-#else /* def _SC_UCHAR_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_UCHAR_MAX */
-	if (x == Mono_Posix_SysconfName__SC_UINT_MAX)
-#ifdef _SC_UINT_MAX
-		{*r = _SC_UINT_MAX; return 0;}
-#else /* def _SC_UINT_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_UINT_MAX */
-	if (x == Mono_Posix_SysconfName__SC_UIO_MAXIOV)
-#ifdef _SC_UIO_MAXIOV
-		{*r = _SC_UIO_MAXIOV; return 0;}
-#else /* def _SC_UIO_MAXIOV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_UIO_MAXIOV */
-	if (x == Mono_Posix_SysconfName__SC_ULONG_MAX)
-#ifdef _SC_ULONG_MAX
-		{*r = _SC_ULONG_MAX; return 0;}
-#else /* def _SC_ULONG_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_ULONG_MAX */
-	if (x == Mono_Posix_SysconfName__SC_USER_GROUPS)
-#ifdef _SC_USER_GROUPS
-		{*r = _SC_USER_GROUPS; return 0;}
-#else /* def _SC_USER_GROUPS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_USER_GROUPS */
-	if (x == Mono_Posix_SysconfName__SC_USER_GROUPS_R)
-#ifdef _SC_USER_GROUPS_R
-		{*r = _SC_USER_GROUPS_R; return 0;}
-#else /* def _SC_USER_GROUPS_R */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_USER_GROUPS_R */
-	if (x == Mono_Posix_SysconfName__SC_USHRT_MAX)
-#ifdef _SC_USHRT_MAX
-		{*r = _SC_USHRT_MAX; return 0;}
-#else /* def _SC_USHRT_MAX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_USHRT_MAX */
-	if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFF32)
-#ifdef _SC_V6_ILP32_OFF32
-		{*r = _SC_V6_ILP32_OFF32; return 0;}
-#else /* def _SC_V6_ILP32_OFF32 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_V6_ILP32_OFF32 */
-	if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG)
-#ifdef _SC_V6_ILP32_OFFBIG
-		{*r = _SC_V6_ILP32_OFFBIG; return 0;}
-#else /* def _SC_V6_ILP32_OFFBIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_V6_ILP32_OFFBIG */
-	if (x == Mono_Posix_SysconfName__SC_V6_LP64_OFF64)
-#ifdef _SC_V6_LP64_OFF64
-		{*r = _SC_V6_LP64_OFF64; return 0;}
-#else /* def _SC_V6_LP64_OFF64 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_V6_LP64_OFF64 */
-	if (x == Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG)
-#ifdef _SC_V6_LPBIG_OFFBIG
-		{*r = _SC_V6_LPBIG_OFFBIG; return 0;}
-#else /* def _SC_V6_LPBIG_OFFBIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_V6_LPBIG_OFFBIG */
-	if (x == Mono_Posix_SysconfName__SC_VERSION)
-#ifdef _SC_VERSION
-		{*r = _SC_VERSION; return 0;}
-#else /* def _SC_VERSION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_VERSION */
-	if (x == Mono_Posix_SysconfName__SC_WORD_BIT)
-#ifdef _SC_WORD_BIT
-		{*r = _SC_WORD_BIT; return 0;}
-#else /* def _SC_WORD_BIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_WORD_BIT */
-	if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32)
-#ifdef _SC_XBS5_ILP32_OFF32
-		{*r = _SC_XBS5_ILP32_OFF32; return 0;}
-#else /* def _SC_XBS5_ILP32_OFF32 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XBS5_ILP32_OFF32 */
-	if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG)
-#ifdef _SC_XBS5_ILP32_OFFBIG
-		{*r = _SC_XBS5_ILP32_OFFBIG; return 0;}
-#else /* def _SC_XBS5_ILP32_OFFBIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XBS5_ILP32_OFFBIG */
-	if (x == Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64)
-#ifdef _SC_XBS5_LP64_OFF64
-		{*r = _SC_XBS5_LP64_OFF64; return 0;}
-#else /* def _SC_XBS5_LP64_OFF64 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XBS5_LP64_OFF64 */
-	if (x == Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG)
-#ifdef _SC_XBS5_LPBIG_OFFBIG
-		{*r = _SC_XBS5_LPBIG_OFFBIG; return 0;}
-#else /* def _SC_XBS5_LPBIG_OFFBIG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_CRYPT)
-#ifdef _SC_XOPEN_CRYPT
-		{*r = _SC_XOPEN_CRYPT; return 0;}
-#else /* def _SC_XOPEN_CRYPT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_CRYPT */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N)
-#ifdef _SC_XOPEN_ENH_I18N
-		{*r = _SC_XOPEN_ENH_I18N; return 0;}
-#else /* def _SC_XOPEN_ENH_I18N */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_ENH_I18N */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_LEGACY)
-#ifdef _SC_XOPEN_LEGACY
-		{*r = _SC_XOPEN_LEGACY; return 0;}
-#else /* def _SC_XOPEN_LEGACY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_LEGACY */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME)
-#ifdef _SC_XOPEN_REALTIME
-		{*r = _SC_XOPEN_REALTIME; return 0;}
-#else /* def _SC_XOPEN_REALTIME */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_REALTIME */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS)
-#ifdef _SC_XOPEN_REALTIME_THREADS
-		{*r = _SC_XOPEN_REALTIME_THREADS; return 0;}
-#else /* def _SC_XOPEN_REALTIME_THREADS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_REALTIME_THREADS */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_SHM)
-#ifdef _SC_XOPEN_SHM
-		{*r = _SC_XOPEN_SHM; return 0;}
-#else /* def _SC_XOPEN_SHM */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_SHM */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_UNIX)
-#ifdef _SC_XOPEN_UNIX
-		{*r = _SC_XOPEN_UNIX; return 0;}
-#else /* def _SC_XOPEN_UNIX */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_UNIX */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_VERSION)
-#ifdef _SC_XOPEN_VERSION
-		{*r = _SC_XOPEN_VERSION; return 0;}
-#else /* def _SC_XOPEN_VERSION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_VERSION */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION)
-#ifdef _SC_XOPEN_XCU_VERSION
-		{*r = _SC_XOPEN_XCU_VERSION; return 0;}
-#else /* def _SC_XOPEN_XCU_VERSION */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_XCU_VERSION */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG2)
-#ifdef _SC_XOPEN_XPG2
-		{*r = _SC_XOPEN_XPG2; return 0;}
-#else /* def _SC_XOPEN_XPG2 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_XPG2 */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG3)
-#ifdef _SC_XOPEN_XPG3
-		{*r = _SC_XOPEN_XPG3; return 0;}
-#else /* def _SC_XOPEN_XPG3 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_XPG3 */
-	if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG4)
-#ifdef _SC_XOPEN_XPG4
-		{*r = _SC_XOPEN_XPG4; return 0;}
-#else /* def _SC_XOPEN_XPG4 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef _SC_XOPEN_XPG4 */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToSysconfName (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef _SC_2_CHAR_TERM
-	if (x == _SC_2_CHAR_TERM)
-		{*r = Mono_Posix_SysconfName__SC_2_CHAR_TERM; return 0;}
-#endif /* ndef _SC_2_CHAR_TERM */
-#ifdef _SC_2_C_BIND
-	if (x == _SC_2_C_BIND)
-		{*r = Mono_Posix_SysconfName__SC_2_C_BIND; return 0;}
-#endif /* ndef _SC_2_C_BIND */
-#ifdef _SC_2_C_DEV
-	if (x == _SC_2_C_DEV)
-		{*r = Mono_Posix_SysconfName__SC_2_C_DEV; return 0;}
-#endif /* ndef _SC_2_C_DEV */
-#ifdef _SC_2_C_VERSION
-	if (x == _SC_2_C_VERSION)
-		{*r = Mono_Posix_SysconfName__SC_2_C_VERSION; return 0;}
-#endif /* ndef _SC_2_C_VERSION */
-#ifdef _SC_2_FORT_DEV
-	if (x == _SC_2_FORT_DEV)
-		{*r = Mono_Posix_SysconfName__SC_2_FORT_DEV; return 0;}
-#endif /* ndef _SC_2_FORT_DEV */
-#ifdef _SC_2_FORT_RUN
-	if (x == _SC_2_FORT_RUN)
-		{*r = Mono_Posix_SysconfName__SC_2_FORT_RUN; return 0;}
-#endif /* ndef _SC_2_FORT_RUN */
-#ifdef _SC_2_LOCALEDEF
-	if (x == _SC_2_LOCALEDEF)
-		{*r = Mono_Posix_SysconfName__SC_2_LOCALEDEF; return 0;}
-#endif /* ndef _SC_2_LOCALEDEF */
-#ifdef _SC_2_PBS
-	if (x == _SC_2_PBS)
-		{*r = Mono_Posix_SysconfName__SC_2_PBS; return 0;}
-#endif /* ndef _SC_2_PBS */
-#ifdef _SC_2_PBS_ACCOUNTING
-	if (x == _SC_2_PBS_ACCOUNTING)
-		{*r = Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING; return 0;}
-#endif /* ndef _SC_2_PBS_ACCOUNTING */
-#ifdef _SC_2_PBS_CHECKPOINT
-	if (x == _SC_2_PBS_CHECKPOINT)
-		{*r = Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT; return 0;}
-#endif /* ndef _SC_2_PBS_CHECKPOINT */
-#ifdef _SC_2_PBS_LOCATE
-	if (x == _SC_2_PBS_LOCATE)
-		{*r = Mono_Posix_SysconfName__SC_2_PBS_LOCATE; return 0;}
-#endif /* ndef _SC_2_PBS_LOCATE */
-#ifdef _SC_2_PBS_MESSAGE
-	if (x == _SC_2_PBS_MESSAGE)
-		{*r = Mono_Posix_SysconfName__SC_2_PBS_MESSAGE; return 0;}
-#endif /* ndef _SC_2_PBS_MESSAGE */
-#ifdef _SC_2_PBS_TRACK
-	if (x == _SC_2_PBS_TRACK)
-		{*r = Mono_Posix_SysconfName__SC_2_PBS_TRACK; return 0;}
-#endif /* ndef _SC_2_PBS_TRACK */
-#ifdef _SC_2_SW_DEV
-	if (x == _SC_2_SW_DEV)
-		{*r = Mono_Posix_SysconfName__SC_2_SW_DEV; return 0;}
-#endif /* ndef _SC_2_SW_DEV */
-#ifdef _SC_2_UPE
-	if (x == _SC_2_UPE)
-		{*r = Mono_Posix_SysconfName__SC_2_UPE; return 0;}
-#endif /* ndef _SC_2_UPE */
-#ifdef _SC_2_VERSION
-	if (x == _SC_2_VERSION)
-		{*r = Mono_Posix_SysconfName__SC_2_VERSION; return 0;}
-#endif /* ndef _SC_2_VERSION */
-#ifdef _SC_ADVISORY_INFO
-	if (x == _SC_ADVISORY_INFO)
-		{*r = Mono_Posix_SysconfName__SC_ADVISORY_INFO; return 0;}
-#endif /* ndef _SC_ADVISORY_INFO */
-#ifdef _SC_AIO_LISTIO_MAX
-	if (x == _SC_AIO_LISTIO_MAX)
-		{*r = Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX; return 0;}
-#endif /* ndef _SC_AIO_LISTIO_MAX */
-#ifdef _SC_AIO_MAX
-	if (x == _SC_AIO_MAX)
-		{*r = Mono_Posix_SysconfName__SC_AIO_MAX; return 0;}
-#endif /* ndef _SC_AIO_MAX */
-#ifdef _SC_AIO_PRIO_DELTA_MAX
-	if (x == _SC_AIO_PRIO_DELTA_MAX)
-		{*r = Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX; return 0;}
-#endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
-#ifdef _SC_ARG_MAX
-	if (x == _SC_ARG_MAX)
-		{*r = Mono_Posix_SysconfName__SC_ARG_MAX; return 0;}
-#endif /* ndef _SC_ARG_MAX */
-#ifdef _SC_ASYNCHRONOUS_IO
-	if (x == _SC_ASYNCHRONOUS_IO)
-		{*r = Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO; return 0;}
-#endif /* ndef _SC_ASYNCHRONOUS_IO */
-#ifdef _SC_ATEXIT_MAX
-	if (x == _SC_ATEXIT_MAX)
-		{*r = Mono_Posix_SysconfName__SC_ATEXIT_MAX; return 0;}
-#endif /* ndef _SC_ATEXIT_MAX */
-#ifdef _SC_AVPHYS_PAGES
-	if (x == _SC_AVPHYS_PAGES)
-		{*r = Mono_Posix_SysconfName__SC_AVPHYS_PAGES; return 0;}
-#endif /* ndef _SC_AVPHYS_PAGES */
-#ifdef _SC_BARRIERS
-	if (x == _SC_BARRIERS)
-		{*r = Mono_Posix_SysconfName__SC_BARRIERS; return 0;}
-#endif /* ndef _SC_BARRIERS */
-#ifdef _SC_BASE
-	if (x == _SC_BASE)
-		{*r = Mono_Posix_SysconfName__SC_BASE; return 0;}
-#endif /* ndef _SC_BASE */
-#ifdef _SC_BC_BASE_MAX
-	if (x == _SC_BC_BASE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_BC_BASE_MAX; return 0;}
-#endif /* ndef _SC_BC_BASE_MAX */
-#ifdef _SC_BC_DIM_MAX
-	if (x == _SC_BC_DIM_MAX)
-		{*r = Mono_Posix_SysconfName__SC_BC_DIM_MAX; return 0;}
-#endif /* ndef _SC_BC_DIM_MAX */
-#ifdef _SC_BC_SCALE_MAX
-	if (x == _SC_BC_SCALE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_BC_SCALE_MAX; return 0;}
-#endif /* ndef _SC_BC_SCALE_MAX */
-#ifdef _SC_BC_STRING_MAX
-	if (x == _SC_BC_STRING_MAX)
-		{*r = Mono_Posix_SysconfName__SC_BC_STRING_MAX; return 0;}
-#endif /* ndef _SC_BC_STRING_MAX */
-#ifdef _SC_CHARCLASS_NAME_MAX
-	if (x == _SC_CHARCLASS_NAME_MAX)
-		{*r = Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX; return 0;}
-#endif /* ndef _SC_CHARCLASS_NAME_MAX */
-#ifdef _SC_CHAR_BIT
-	if (x == _SC_CHAR_BIT)
-		{*r = Mono_Posix_SysconfName__SC_CHAR_BIT; return 0;}
-#endif /* ndef _SC_CHAR_BIT */
-#ifdef _SC_CHAR_MAX
-	if (x == _SC_CHAR_MAX)
-		{*r = Mono_Posix_SysconfName__SC_CHAR_MAX; return 0;}
-#endif /* ndef _SC_CHAR_MAX */
-#ifdef _SC_CHAR_MIN
-	if (x == _SC_CHAR_MIN)
-		{*r = Mono_Posix_SysconfName__SC_CHAR_MIN; return 0;}
-#endif /* ndef _SC_CHAR_MIN */
-#ifdef _SC_CHILD_MAX
-	if (x == _SC_CHILD_MAX)
-		{*r = Mono_Posix_SysconfName__SC_CHILD_MAX; return 0;}
-#endif /* ndef _SC_CHILD_MAX */
-#ifdef _SC_CLK_TCK
-	if (x == _SC_CLK_TCK)
-		{*r = Mono_Posix_SysconfName__SC_CLK_TCK; return 0;}
-#endif /* ndef _SC_CLK_TCK */
-#ifdef _SC_CLOCK_SELECTION
-	if (x == _SC_CLOCK_SELECTION)
-		{*r = Mono_Posix_SysconfName__SC_CLOCK_SELECTION; return 0;}
-#endif /* ndef _SC_CLOCK_SELECTION */
-#ifdef _SC_COLL_WEIGHTS_MAX
-	if (x == _SC_COLL_WEIGHTS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX; return 0;}
-#endif /* ndef _SC_COLL_WEIGHTS_MAX */
-#ifdef _SC_CPUTIME
-	if (x == _SC_CPUTIME)
-		{*r = Mono_Posix_SysconfName__SC_CPUTIME; return 0;}
-#endif /* ndef _SC_CPUTIME */
-#ifdef _SC_C_LANG_SUPPORT
-	if (x == _SC_C_LANG_SUPPORT)
-		{*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT; return 0;}
-#endif /* ndef _SC_C_LANG_SUPPORT */
-#ifdef _SC_C_LANG_SUPPORT_R
-	if (x == _SC_C_LANG_SUPPORT_R)
-		{*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R; return 0;}
-#endif /* ndef _SC_C_LANG_SUPPORT_R */
-#ifdef _SC_DELAYTIMER_MAX
-	if (x == _SC_DELAYTIMER_MAX)
-		{*r = Mono_Posix_SysconfName__SC_DELAYTIMER_MAX; return 0;}
-#endif /* ndef _SC_DELAYTIMER_MAX */
-#ifdef _SC_DEVICE_IO
-	if (x == _SC_DEVICE_IO)
-		{*r = Mono_Posix_SysconfName__SC_DEVICE_IO; return 0;}
-#endif /* ndef _SC_DEVICE_IO */
-#ifdef _SC_DEVICE_SPECIFIC
-	if (x == _SC_DEVICE_SPECIFIC)
-		{*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC; return 0;}
-#endif /* ndef _SC_DEVICE_SPECIFIC */
-#ifdef _SC_DEVICE_SPECIFIC_R
-	if (x == _SC_DEVICE_SPECIFIC_R)
-		{*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R; return 0;}
-#endif /* ndef _SC_DEVICE_SPECIFIC_R */
-#ifdef _SC_EQUIV_CLASS_MAX
-	if (x == _SC_EQUIV_CLASS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX; return 0;}
-#endif /* ndef _SC_EQUIV_CLASS_MAX */
-#ifdef _SC_EXPR_NEST_MAX
-	if (x == _SC_EXPR_NEST_MAX)
-		{*r = Mono_Posix_SysconfName__SC_EXPR_NEST_MAX; return 0;}
-#endif /* ndef _SC_EXPR_NEST_MAX */
-#ifdef _SC_FD_MGMT
-	if (x == _SC_FD_MGMT)
-		{*r = Mono_Posix_SysconfName__SC_FD_MGMT; return 0;}
-#endif /* ndef _SC_FD_MGMT */
-#ifdef _SC_FIFO
-	if (x == _SC_FIFO)
-		{*r = Mono_Posix_SysconfName__SC_FIFO; return 0;}
-#endif /* ndef _SC_FIFO */
-#ifdef _SC_FILE_ATTRIBUTES
-	if (x == _SC_FILE_ATTRIBUTES)
-		{*r = Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES; return 0;}
-#endif /* ndef _SC_FILE_ATTRIBUTES */
-#ifdef _SC_FILE_LOCKING
-	if (x == _SC_FILE_LOCKING)
-		{*r = Mono_Posix_SysconfName__SC_FILE_LOCKING; return 0;}
-#endif /* ndef _SC_FILE_LOCKING */
-#ifdef _SC_FILE_SYSTEM
-	if (x == _SC_FILE_SYSTEM)
-		{*r = Mono_Posix_SysconfName__SC_FILE_SYSTEM; return 0;}
-#endif /* ndef _SC_FILE_SYSTEM */
-#ifdef _SC_FSYNC
-	if (x == _SC_FSYNC)
-		{*r = Mono_Posix_SysconfName__SC_FSYNC; return 0;}
-#endif /* ndef _SC_FSYNC */
-#ifdef _SC_GETGR_R_SIZE_MAX
-	if (x == _SC_GETGR_R_SIZE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX; return 0;}
-#endif /* ndef _SC_GETGR_R_SIZE_MAX */
-#ifdef _SC_GETPW_R_SIZE_MAX
-	if (x == _SC_GETPW_R_SIZE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX; return 0;}
-#endif /* ndef _SC_GETPW_R_SIZE_MAX */
-#ifdef _SC_HOST_NAME_MAX
-	if (x == _SC_HOST_NAME_MAX)
-		{*r = Mono_Posix_SysconfName__SC_HOST_NAME_MAX; return 0;}
-#endif /* ndef _SC_HOST_NAME_MAX */
-#ifdef _SC_INT_MAX
-	if (x == _SC_INT_MAX)
-		{*r = Mono_Posix_SysconfName__SC_INT_MAX; return 0;}
-#endif /* ndef _SC_INT_MAX */
-#ifdef _SC_INT_MIN
-	if (x == _SC_INT_MIN)
-		{*r = Mono_Posix_SysconfName__SC_INT_MIN; return 0;}
-#endif /* ndef _SC_INT_MIN */
-#ifdef _SC_IOV_MAX
-	if (x == _SC_IOV_MAX)
-		{*r = Mono_Posix_SysconfName__SC_IOV_MAX; return 0;}
-#endif /* ndef _SC_IOV_MAX */
-#ifdef _SC_JOB_CONTROL
-	if (x == _SC_JOB_CONTROL)
-		{*r = Mono_Posix_SysconfName__SC_JOB_CONTROL; return 0;}
-#endif /* ndef _SC_JOB_CONTROL */
-#ifdef _SC_LEVEL1_DCACHE_ASSOC
-	if (x == _SC_LEVEL1_DCACHE_ASSOC)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC; return 0;}
-#endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
-#ifdef _SC_LEVEL1_DCACHE_LINESIZE
-	if (x == _SC_LEVEL1_DCACHE_LINESIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE; return 0;}
-#endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
-#ifdef _SC_LEVEL1_DCACHE_SIZE
-	if (x == _SC_LEVEL1_DCACHE_SIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE; return 0;}
-#endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
-#ifdef _SC_LEVEL1_ICACHE_ASSOC
-	if (x == _SC_LEVEL1_ICACHE_ASSOC)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC; return 0;}
-#endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
-#ifdef _SC_LEVEL1_ICACHE_LINESIZE
-	if (x == _SC_LEVEL1_ICACHE_LINESIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE; return 0;}
-#endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
-#ifdef _SC_LEVEL1_ICACHE_SIZE
-	if (x == _SC_LEVEL1_ICACHE_SIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE; return 0;}
-#endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
-#ifdef _SC_LEVEL2_CACHE_ASSOC
-	if (x == _SC_LEVEL2_CACHE_ASSOC)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC; return 0;}
-#endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
-#ifdef _SC_LEVEL2_CACHE_LINESIZE
-	if (x == _SC_LEVEL2_CACHE_LINESIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE; return 0;}
-#endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
-#ifdef _SC_LEVEL2_CACHE_SIZE
-	if (x == _SC_LEVEL2_CACHE_SIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE; return 0;}
-#endif /* ndef _SC_LEVEL2_CACHE_SIZE */
-#ifdef _SC_LEVEL3_CACHE_ASSOC
-	if (x == _SC_LEVEL3_CACHE_ASSOC)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC; return 0;}
-#endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
-#ifdef _SC_LEVEL3_CACHE_LINESIZE
-	if (x == _SC_LEVEL3_CACHE_LINESIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE; return 0;}
-#endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
-#ifdef _SC_LEVEL3_CACHE_SIZE
-	if (x == _SC_LEVEL3_CACHE_SIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE; return 0;}
-#endif /* ndef _SC_LEVEL3_CACHE_SIZE */
-#ifdef _SC_LEVEL4_CACHE_ASSOC
-	if (x == _SC_LEVEL4_CACHE_ASSOC)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC; return 0;}
-#endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
-#ifdef _SC_LEVEL4_CACHE_LINESIZE
-	if (x == _SC_LEVEL4_CACHE_LINESIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE; return 0;}
-#endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
-#ifdef _SC_LEVEL4_CACHE_SIZE
-	if (x == _SC_LEVEL4_CACHE_SIZE)
-		{*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE; return 0;}
-#endif /* ndef _SC_LEVEL4_CACHE_SIZE */
-#ifdef _SC_LINE_MAX
-	if (x == _SC_LINE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_LINE_MAX; return 0;}
-#endif /* ndef _SC_LINE_MAX */
-#ifdef _SC_LOGIN_NAME_MAX
-	if (x == _SC_LOGIN_NAME_MAX)
-		{*r = Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX; return 0;}
-#endif /* ndef _SC_LOGIN_NAME_MAX */
-#ifdef _SC_LONG_BIT
-	if (x == _SC_LONG_BIT)
-		{*r = Mono_Posix_SysconfName__SC_LONG_BIT; return 0;}
-#endif /* ndef _SC_LONG_BIT */
-#ifdef _SC_MAPPED_FILES
-	if (x == _SC_MAPPED_FILES)
-		{*r = Mono_Posix_SysconfName__SC_MAPPED_FILES; return 0;}
-#endif /* ndef _SC_MAPPED_FILES */
-#ifdef _SC_MB_LEN_MAX
-	if (x == _SC_MB_LEN_MAX)
-		{*r = Mono_Posix_SysconfName__SC_MB_LEN_MAX; return 0;}
-#endif /* ndef _SC_MB_LEN_MAX */
-#ifdef _SC_MEMLOCK
-	if (x == _SC_MEMLOCK)
-		{*r = Mono_Posix_SysconfName__SC_MEMLOCK; return 0;}
-#endif /* ndef _SC_MEMLOCK */
-#ifdef _SC_MEMLOCK_RANGE
-	if (x == _SC_MEMLOCK_RANGE)
-		{*r = Mono_Posix_SysconfName__SC_MEMLOCK_RANGE; return 0;}
-#endif /* ndef _SC_MEMLOCK_RANGE */
-#ifdef _SC_MEMORY_PROTECTION
-	if (x == _SC_MEMORY_PROTECTION)
-		{*r = Mono_Posix_SysconfName__SC_MEMORY_PROTECTION; return 0;}
-#endif /* ndef _SC_MEMORY_PROTECTION */
-#ifdef _SC_MESSAGE_PASSING
-	if (x == _SC_MESSAGE_PASSING)
-		{*r = Mono_Posix_SysconfName__SC_MESSAGE_PASSING; return 0;}
-#endif /* ndef _SC_MESSAGE_PASSING */
-#ifdef _SC_MONOTONIC_CLOCK
-	if (x == _SC_MONOTONIC_CLOCK)
-		{*r = Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK; return 0;}
-#endif /* ndef _SC_MONOTONIC_CLOCK */
-#ifdef _SC_MQ_OPEN_MAX
-	if (x == _SC_MQ_OPEN_MAX)
-		{*r = Mono_Posix_SysconfName__SC_MQ_OPEN_MAX; return 0;}
-#endif /* ndef _SC_MQ_OPEN_MAX */
-#ifdef _SC_MQ_PRIO_MAX
-	if (x == _SC_MQ_PRIO_MAX)
-		{*r = Mono_Posix_SysconfName__SC_MQ_PRIO_MAX; return 0;}
-#endif /* ndef _SC_MQ_PRIO_MAX */
-#ifdef _SC_MULTI_PROCESS
-	if (x == _SC_MULTI_PROCESS)
-		{*r = Mono_Posix_SysconfName__SC_MULTI_PROCESS; return 0;}
-#endif /* ndef _SC_MULTI_PROCESS */
-#ifdef _SC_NETWORKING
-	if (x == _SC_NETWORKING)
-		{*r = Mono_Posix_SysconfName__SC_NETWORKING; return 0;}
-#endif /* ndef _SC_NETWORKING */
-#ifdef _SC_NGROUPS_MAX
-	if (x == _SC_NGROUPS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_NGROUPS_MAX; return 0;}
-#endif /* ndef _SC_NGROUPS_MAX */
-#ifdef _SC_NL_ARGMAX
-	if (x == _SC_NL_ARGMAX)
-		{*r = Mono_Posix_SysconfName__SC_NL_ARGMAX; return 0;}
-#endif /* ndef _SC_NL_ARGMAX */
-#ifdef _SC_NL_LANGMAX
-	if (x == _SC_NL_LANGMAX)
-		{*r = Mono_Posix_SysconfName__SC_NL_LANGMAX; return 0;}
-#endif /* ndef _SC_NL_LANGMAX */
-#ifdef _SC_NL_MSGMAX
-	if (x == _SC_NL_MSGMAX)
-		{*r = Mono_Posix_SysconfName__SC_NL_MSGMAX; return 0;}
-#endif /* ndef _SC_NL_MSGMAX */
-#ifdef _SC_NL_NMAX
-	if (x == _SC_NL_NMAX)
-		{*r = Mono_Posix_SysconfName__SC_NL_NMAX; return 0;}
-#endif /* ndef _SC_NL_NMAX */
-#ifdef _SC_NL_SETMAX
-	if (x == _SC_NL_SETMAX)
-		{*r = Mono_Posix_SysconfName__SC_NL_SETMAX; return 0;}
-#endif /* ndef _SC_NL_SETMAX */
-#ifdef _SC_NL_TEXTMAX
-	if (x == _SC_NL_TEXTMAX)
-		{*r = Mono_Posix_SysconfName__SC_NL_TEXTMAX; return 0;}
-#endif /* ndef _SC_NL_TEXTMAX */
-#ifdef _SC_NPROCESSORS_CONF
-	if (x == _SC_NPROCESSORS_CONF)
-		{*r = Mono_Posix_SysconfName__SC_NPROCESSORS_CONF; return 0;}
-#endif /* ndef _SC_NPROCESSORS_CONF */
-#ifdef _SC_NPROCESSORS_ONLN
-	if (x == _SC_NPROCESSORS_ONLN)
-		{*r = Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN; return 0;}
-#endif /* ndef _SC_NPROCESSORS_ONLN */
-#ifdef _SC_NZERO
-	if (x == _SC_NZERO)
-		{*r = Mono_Posix_SysconfName__SC_NZERO; return 0;}
-#endif /* ndef _SC_NZERO */
-#ifdef _SC_OPEN_MAX
-	if (x == _SC_OPEN_MAX)
-		{*r = Mono_Posix_SysconfName__SC_OPEN_MAX; return 0;}
-#endif /* ndef _SC_OPEN_MAX */
-#ifdef _SC_PAGESIZE
-	if (x == _SC_PAGESIZE)
-		{*r = Mono_Posix_SysconfName__SC_PAGESIZE; return 0;}
-#endif /* ndef _SC_PAGESIZE */
-#ifdef _SC_PASS_MAX
-	if (x == _SC_PASS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_PASS_MAX; return 0;}
-#endif /* ndef _SC_PASS_MAX */
-#ifdef _SC_PHYS_PAGES
-	if (x == _SC_PHYS_PAGES)
-		{*r = Mono_Posix_SysconfName__SC_PHYS_PAGES; return 0;}
-#endif /* ndef _SC_PHYS_PAGES */
-#ifdef _SC_PII
-	if (x == _SC_PII)
-		{*r = Mono_Posix_SysconfName__SC_PII; return 0;}
-#endif /* ndef _SC_PII */
-#ifdef _SC_PII_INTERNET
-	if (x == _SC_PII_INTERNET)
-		{*r = Mono_Posix_SysconfName__SC_PII_INTERNET; return 0;}
-#endif /* ndef _SC_PII_INTERNET */
-#ifdef _SC_PII_INTERNET_DGRAM
-	if (x == _SC_PII_INTERNET_DGRAM)
-		{*r = Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM; return 0;}
-#endif /* ndef _SC_PII_INTERNET_DGRAM */
-#ifdef _SC_PII_INTERNET_STREAM
-	if (x == _SC_PII_INTERNET_STREAM)
-		{*r = Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM; return 0;}
-#endif /* ndef _SC_PII_INTERNET_STREAM */
-#ifdef _SC_PII_OSI
-	if (x == _SC_PII_OSI)
-		{*r = Mono_Posix_SysconfName__SC_PII_OSI; return 0;}
-#endif /* ndef _SC_PII_OSI */
-#ifdef _SC_PII_OSI_CLTS
-	if (x == _SC_PII_OSI_CLTS)
-		{*r = Mono_Posix_SysconfName__SC_PII_OSI_CLTS; return 0;}
-#endif /* ndef _SC_PII_OSI_CLTS */
-#ifdef _SC_PII_OSI_COTS
-	if (x == _SC_PII_OSI_COTS)
-		{*r = Mono_Posix_SysconfName__SC_PII_OSI_COTS; return 0;}
-#endif /* ndef _SC_PII_OSI_COTS */
-#ifdef _SC_PII_OSI_M
-	if (x == _SC_PII_OSI_M)
-		{*r = Mono_Posix_SysconfName__SC_PII_OSI_M; return 0;}
-#endif /* ndef _SC_PII_OSI_M */
-#ifdef _SC_PII_SOCKET
-	if (x == _SC_PII_SOCKET)
-		{*r = Mono_Posix_SysconfName__SC_PII_SOCKET; return 0;}
-#endif /* ndef _SC_PII_SOCKET */
-#ifdef _SC_PII_XTI
-	if (x == _SC_PII_XTI)
-		{*r = Mono_Posix_SysconfName__SC_PII_XTI; return 0;}
-#endif /* ndef _SC_PII_XTI */
-#ifdef _SC_PIPE
-	if (x == _SC_PIPE)
-		{*r = Mono_Posix_SysconfName__SC_PIPE; return 0;}
-#endif /* ndef _SC_PIPE */
-#ifdef _SC_POLL
-	if (x == _SC_POLL)
-		{*r = Mono_Posix_SysconfName__SC_POLL; return 0;}
-#endif /* ndef _SC_POLL */
-#ifdef _SC_PRIORITIZED_IO
-	if (x == _SC_PRIORITIZED_IO)
-		{*r = Mono_Posix_SysconfName__SC_PRIORITIZED_IO; return 0;}
-#endif /* ndef _SC_PRIORITIZED_IO */
-#ifdef _SC_PRIORITY_SCHEDULING
-	if (x == _SC_PRIORITY_SCHEDULING)
-		{*r = Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING; return 0;}
-#endif /* ndef _SC_PRIORITY_SCHEDULING */
-#ifdef _SC_READER_WRITER_LOCKS
-	if (x == _SC_READER_WRITER_LOCKS)
-		{*r = Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS; return 0;}
-#endif /* ndef _SC_READER_WRITER_LOCKS */
-#ifdef _SC_REALTIME_SIGNALS
-	if (x == _SC_REALTIME_SIGNALS)
-		{*r = Mono_Posix_SysconfName__SC_REALTIME_SIGNALS; return 0;}
-#endif /* ndef _SC_REALTIME_SIGNALS */
-#ifdef _SC_REGEXP
-	if (x == _SC_REGEXP)
-		{*r = Mono_Posix_SysconfName__SC_REGEXP; return 0;}
-#endif /* ndef _SC_REGEXP */
-#ifdef _SC_REGEX_VERSION
-	if (x == _SC_REGEX_VERSION)
-		{*r = Mono_Posix_SysconfName__SC_REGEX_VERSION; return 0;}
-#endif /* ndef _SC_REGEX_VERSION */
-#ifdef _SC_RE_DUP_MAX
-	if (x == _SC_RE_DUP_MAX)
-		{*r = Mono_Posix_SysconfName__SC_RE_DUP_MAX; return 0;}
-#endif /* ndef _SC_RE_DUP_MAX */
-#ifdef _SC_RTSIG_MAX
-	if (x == _SC_RTSIG_MAX)
-		{*r = Mono_Posix_SysconfName__SC_RTSIG_MAX; return 0;}
-#endif /* ndef _SC_RTSIG_MAX */
-#ifdef _SC_SAVED_IDS
-	if (x == _SC_SAVED_IDS)
-		{*r = Mono_Posix_SysconfName__SC_SAVED_IDS; return 0;}
-#endif /* ndef _SC_SAVED_IDS */
-#ifdef _SC_SCHAR_MAX
-	if (x == _SC_SCHAR_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SCHAR_MAX; return 0;}
-#endif /* ndef _SC_SCHAR_MAX */
-#ifdef _SC_SCHAR_MIN
-	if (x == _SC_SCHAR_MIN)
-		{*r = Mono_Posix_SysconfName__SC_SCHAR_MIN; return 0;}
-#endif /* ndef _SC_SCHAR_MIN */
-#ifdef _SC_SELECT
-	if (x == _SC_SELECT)
-		{*r = Mono_Posix_SysconfName__SC_SELECT; return 0;}
-#endif /* ndef _SC_SELECT */
-#ifdef _SC_SEMAPHORES
-	if (x == _SC_SEMAPHORES)
-		{*r = Mono_Posix_SysconfName__SC_SEMAPHORES; return 0;}
-#endif /* ndef _SC_SEMAPHORES */
-#ifdef _SC_SEM_NSEMS_MAX
-	if (x == _SC_SEM_NSEMS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX; return 0;}
-#endif /* ndef _SC_SEM_NSEMS_MAX */
-#ifdef _SC_SEM_VALUE_MAX
-	if (x == _SC_SEM_VALUE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SEM_VALUE_MAX; return 0;}
-#endif /* ndef _SC_SEM_VALUE_MAX */
-#ifdef _SC_SHARED_MEMORY_OBJECTS
-	if (x == _SC_SHARED_MEMORY_OBJECTS)
-		{*r = Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS; return 0;}
-#endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
-#ifdef _SC_SHELL
-	if (x == _SC_SHELL)
-		{*r = Mono_Posix_SysconfName__SC_SHELL; return 0;}
-#endif /* ndef _SC_SHELL */
-#ifdef _SC_SHRT_MAX
-	if (x == _SC_SHRT_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SHRT_MAX; return 0;}
-#endif /* ndef _SC_SHRT_MAX */
-#ifdef _SC_SHRT_MIN
-	if (x == _SC_SHRT_MIN)
-		{*r = Mono_Posix_SysconfName__SC_SHRT_MIN; return 0;}
-#endif /* ndef _SC_SHRT_MIN */
-#ifdef _SC_SIGNALS
-	if (x == _SC_SIGNALS)
-		{*r = Mono_Posix_SysconfName__SC_SIGNALS; return 0;}
-#endif /* ndef _SC_SIGNALS */
-#ifdef _SC_SIGQUEUE_MAX
-	if (x == _SC_SIGQUEUE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SIGQUEUE_MAX; return 0;}
-#endif /* ndef _SC_SIGQUEUE_MAX */
-#ifdef _SC_SINGLE_PROCESS
-	if (x == _SC_SINGLE_PROCESS)
-		{*r = Mono_Posix_SysconfName__SC_SINGLE_PROCESS; return 0;}
-#endif /* ndef _SC_SINGLE_PROCESS */
-#ifdef _SC_SPAWN
-	if (x == _SC_SPAWN)
-		{*r = Mono_Posix_SysconfName__SC_SPAWN; return 0;}
-#endif /* ndef _SC_SPAWN */
-#ifdef _SC_SPIN_LOCKS
-	if (x == _SC_SPIN_LOCKS)
-		{*r = Mono_Posix_SysconfName__SC_SPIN_LOCKS; return 0;}
-#endif /* ndef _SC_SPIN_LOCKS */
-#ifdef _SC_SPORADIC_SERVER
-	if (x == _SC_SPORADIC_SERVER)
-		{*r = Mono_Posix_SysconfName__SC_SPORADIC_SERVER; return 0;}
-#endif /* ndef _SC_SPORADIC_SERVER */
-#ifdef _SC_SSIZE_MAX
-	if (x == _SC_SSIZE_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SSIZE_MAX; return 0;}
-#endif /* ndef _SC_SSIZE_MAX */
-#ifdef _SC_STREAMS
-	if (x == _SC_STREAMS)
-		{*r = Mono_Posix_SysconfName__SC_STREAMS; return 0;}
-#endif /* ndef _SC_STREAMS */
-#ifdef _SC_STREAM_MAX
-	if (x == _SC_STREAM_MAX)
-		{*r = Mono_Posix_SysconfName__SC_STREAM_MAX; return 0;}
-#endif /* ndef _SC_STREAM_MAX */
-#ifdef _SC_SYMLOOP_MAX
-	if (x == _SC_SYMLOOP_MAX)
-		{*r = Mono_Posix_SysconfName__SC_SYMLOOP_MAX; return 0;}
-#endif /* ndef _SC_SYMLOOP_MAX */
-#ifdef _SC_SYNCHRONIZED_IO
-	if (x == _SC_SYNCHRONIZED_IO)
-		{*r = Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO; return 0;}
-#endif /* ndef _SC_SYNCHRONIZED_IO */
-#ifdef _SC_SYSTEM_DATABASE
-	if (x == _SC_SYSTEM_DATABASE)
-		{*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE; return 0;}
-#endif /* ndef _SC_SYSTEM_DATABASE */
-#ifdef _SC_SYSTEM_DATABASE_R
-	if (x == _SC_SYSTEM_DATABASE_R)
-		{*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R; return 0;}
-#endif /* ndef _SC_SYSTEM_DATABASE_R */
-#ifdef _SC_THREADS
-	if (x == _SC_THREADS)
-		{*r = Mono_Posix_SysconfName__SC_THREADS; return 0;}
-#endif /* ndef _SC_THREADS */
-#ifdef _SC_THREAD_ATTR_STACKADDR
-	if (x == _SC_THREAD_ATTR_STACKADDR)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR; return 0;}
-#endif /* ndef _SC_THREAD_ATTR_STACKADDR */
-#ifdef _SC_THREAD_ATTR_STACKSIZE
-	if (x == _SC_THREAD_ATTR_STACKSIZE)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE; return 0;}
-#endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
-#ifdef _SC_THREAD_CPUTIME
-	if (x == _SC_THREAD_CPUTIME)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_CPUTIME; return 0;}
-#endif /* ndef _SC_THREAD_CPUTIME */
-#ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
-	if (x == _SC_THREAD_DESTRUCTOR_ITERATIONS)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
-#endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
-#ifdef _SC_THREAD_KEYS_MAX
-	if (x == _SC_THREAD_KEYS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX; return 0;}
-#endif /* ndef _SC_THREAD_KEYS_MAX */
-#ifdef _SC_THREAD_PRIORITY_SCHEDULING
-	if (x == _SC_THREAD_PRIORITY_SCHEDULING)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING; return 0;}
-#endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
-#ifdef _SC_THREAD_PRIO_INHERIT
-	if (x == _SC_THREAD_PRIO_INHERIT)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT; return 0;}
-#endif /* ndef _SC_THREAD_PRIO_INHERIT */
-#ifdef _SC_THREAD_PRIO_PROTECT
-	if (x == _SC_THREAD_PRIO_PROTECT)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT; return 0;}
-#endif /* ndef _SC_THREAD_PRIO_PROTECT */
-#ifdef _SC_THREAD_PROCESS_SHARED
-	if (x == _SC_THREAD_PROCESS_SHARED)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED; return 0;}
-#endif /* ndef _SC_THREAD_PROCESS_SHARED */
-#ifdef _SC_THREAD_SAFE_FUNCTIONS
-	if (x == _SC_THREAD_SAFE_FUNCTIONS)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS; return 0;}
-#endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
-#ifdef _SC_THREAD_SPORADIC_SERVER
-	if (x == _SC_THREAD_SPORADIC_SERVER)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER; return 0;}
-#endif /* ndef _SC_THREAD_SPORADIC_SERVER */
-#ifdef _SC_THREAD_STACK_MIN
-	if (x == _SC_THREAD_STACK_MIN)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_STACK_MIN; return 0;}
-#endif /* ndef _SC_THREAD_STACK_MIN */
-#ifdef _SC_THREAD_THREADS_MAX
-	if (x == _SC_THREAD_THREADS_MAX)
-		{*r = Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX; return 0;}
-#endif /* ndef _SC_THREAD_THREADS_MAX */
-#ifdef _SC_TIMEOUTS
-	if (x == _SC_TIMEOUTS)
-		{*r = Mono_Posix_SysconfName__SC_TIMEOUTS; return 0;}
-#endif /* ndef _SC_TIMEOUTS */
-#ifdef _SC_TIMERS
-	if (x == _SC_TIMERS)
-		{*r = Mono_Posix_SysconfName__SC_TIMERS; return 0;}
-#endif /* ndef _SC_TIMERS */
-#ifdef _SC_TIMER_MAX
-	if (x == _SC_TIMER_MAX)
-		{*r = Mono_Posix_SysconfName__SC_TIMER_MAX; return 0;}
-#endif /* ndef _SC_TIMER_MAX */
-#ifdef _SC_TRACE
-	if (x == _SC_TRACE)
-		{*r = Mono_Posix_SysconfName__SC_TRACE; return 0;}
-#endif /* ndef _SC_TRACE */
-#ifdef _SC_TRACE_EVENT_FILTER
-	if (x == _SC_TRACE_EVENT_FILTER)
-		{*r = Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER; return 0;}
-#endif /* ndef _SC_TRACE_EVENT_FILTER */
-#ifdef _SC_TRACE_INHERIT
-	if (x == _SC_TRACE_INHERIT)
-		{*r = Mono_Posix_SysconfName__SC_TRACE_INHERIT; return 0;}
-#endif /* ndef _SC_TRACE_INHERIT */
-#ifdef _SC_TRACE_LOG
-	if (x == _SC_TRACE_LOG)
-		{*r = Mono_Posix_SysconfName__SC_TRACE_LOG; return 0;}
-#endif /* ndef _SC_TRACE_LOG */
-#ifdef _SC_TTY_NAME_MAX
-	if (x == _SC_TTY_NAME_MAX)
-		{*r = Mono_Posix_SysconfName__SC_TTY_NAME_MAX; return 0;}
-#endif /* ndef _SC_TTY_NAME_MAX */
-#ifdef _SC_TYPED_MEMORY_OBJECTS
-	if (x == _SC_TYPED_MEMORY_OBJECTS)
-		{*r = Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS; return 0;}
-#endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
-#ifdef _SC_TZNAME_MAX
-	if (x == _SC_TZNAME_MAX)
-		{*r = Mono_Posix_SysconfName__SC_TZNAME_MAX; return 0;}
-#endif /* ndef _SC_TZNAME_MAX */
-#ifdef _SC_T_IOV_MAX
-	if (x == _SC_T_IOV_MAX)
-		{*r = Mono_Posix_SysconfName__SC_T_IOV_MAX; return 0;}
-#endif /* ndef _SC_T_IOV_MAX */
-#ifdef _SC_UCHAR_MAX
-	if (x == _SC_UCHAR_MAX)
-		{*r = Mono_Posix_SysconfName__SC_UCHAR_MAX; return 0;}
-#endif /* ndef _SC_UCHAR_MAX */
-#ifdef _SC_UINT_MAX
-	if (x == _SC_UINT_MAX)
-		{*r = Mono_Posix_SysconfName__SC_UINT_MAX; return 0;}
-#endif /* ndef _SC_UINT_MAX */
-#ifdef _SC_UIO_MAXIOV
-	if (x == _SC_UIO_MAXIOV)
-		{*r = Mono_Posix_SysconfName__SC_UIO_MAXIOV; return 0;}
-#endif /* ndef _SC_UIO_MAXIOV */
-#ifdef _SC_ULONG_MAX
-	if (x == _SC_ULONG_MAX)
-		{*r = Mono_Posix_SysconfName__SC_ULONG_MAX; return 0;}
-#endif /* ndef _SC_ULONG_MAX */
-#ifdef _SC_USER_GROUPS
-	if (x == _SC_USER_GROUPS)
-		{*r = Mono_Posix_SysconfName__SC_USER_GROUPS; return 0;}
-#endif /* ndef _SC_USER_GROUPS */
-#ifdef _SC_USER_GROUPS_R
-	if (x == _SC_USER_GROUPS_R)
-		{*r = Mono_Posix_SysconfName__SC_USER_GROUPS_R; return 0;}
-#endif /* ndef _SC_USER_GROUPS_R */
-#ifdef _SC_USHRT_MAX
-	if (x == _SC_USHRT_MAX)
-		{*r = Mono_Posix_SysconfName__SC_USHRT_MAX; return 0;}
-#endif /* ndef _SC_USHRT_MAX */
-#ifdef _SC_V6_ILP32_OFF32
-	if (x == _SC_V6_ILP32_OFF32)
-		{*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFF32; return 0;}
-#endif /* ndef _SC_V6_ILP32_OFF32 */
-#ifdef _SC_V6_ILP32_OFFBIG
-	if (x == _SC_V6_ILP32_OFFBIG)
-		{*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG; return 0;}
-#endif /* ndef _SC_V6_ILP32_OFFBIG */
-#ifdef _SC_V6_LP64_OFF64
-	if (x == _SC_V6_LP64_OFF64)
-		{*r = Mono_Posix_SysconfName__SC_V6_LP64_OFF64; return 0;}
-#endif /* ndef _SC_V6_LP64_OFF64 */
-#ifdef _SC_V6_LPBIG_OFFBIG
-	if (x == _SC_V6_LPBIG_OFFBIG)
-		{*r = Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG; return 0;}
-#endif /* ndef _SC_V6_LPBIG_OFFBIG */
-#ifdef _SC_VERSION
-	if (x == _SC_VERSION)
-		{*r = Mono_Posix_SysconfName__SC_VERSION; return 0;}
-#endif /* ndef _SC_VERSION */
-#ifdef _SC_WORD_BIT
-	if (x == _SC_WORD_BIT)
-		{*r = Mono_Posix_SysconfName__SC_WORD_BIT; return 0;}
-#endif /* ndef _SC_WORD_BIT */
-#ifdef _SC_XBS5_ILP32_OFF32
-	if (x == _SC_XBS5_ILP32_OFF32)
-		{*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32; return 0;}
-#endif /* ndef _SC_XBS5_ILP32_OFF32 */
-#ifdef _SC_XBS5_ILP32_OFFBIG
-	if (x == _SC_XBS5_ILP32_OFFBIG)
-		{*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG; return 0;}
-#endif /* ndef _SC_XBS5_ILP32_OFFBIG */
-#ifdef _SC_XBS5_LP64_OFF64
-	if (x == _SC_XBS5_LP64_OFF64)
-		{*r = Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64; return 0;}
-#endif /* ndef _SC_XBS5_LP64_OFF64 */
-#ifdef _SC_XBS5_LPBIG_OFFBIG
-	if (x == _SC_XBS5_LPBIG_OFFBIG)
-		{*r = Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG; return 0;}
-#endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
-#ifdef _SC_XOPEN_CRYPT
-	if (x == _SC_XOPEN_CRYPT)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_CRYPT; return 0;}
-#endif /* ndef _SC_XOPEN_CRYPT */
-#ifdef _SC_XOPEN_ENH_I18N
-	if (x == _SC_XOPEN_ENH_I18N)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N; return 0;}
-#endif /* ndef _SC_XOPEN_ENH_I18N */
-#ifdef _SC_XOPEN_LEGACY
-	if (x == _SC_XOPEN_LEGACY)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_LEGACY; return 0;}
-#endif /* ndef _SC_XOPEN_LEGACY */
-#ifdef _SC_XOPEN_REALTIME
-	if (x == _SC_XOPEN_REALTIME)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME; return 0;}
-#endif /* ndef _SC_XOPEN_REALTIME */
-#ifdef _SC_XOPEN_REALTIME_THREADS
-	if (x == _SC_XOPEN_REALTIME_THREADS)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS; return 0;}
-#endif /* ndef _SC_XOPEN_REALTIME_THREADS */
-#ifdef _SC_XOPEN_SHM
-	if (x == _SC_XOPEN_SHM)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_SHM; return 0;}
-#endif /* ndef _SC_XOPEN_SHM */
-#ifdef _SC_XOPEN_UNIX
-	if (x == _SC_XOPEN_UNIX)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_UNIX; return 0;}
-#endif /* ndef _SC_XOPEN_UNIX */
-#ifdef _SC_XOPEN_VERSION
-	if (x == _SC_XOPEN_VERSION)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_VERSION; return 0;}
-#endif /* ndef _SC_XOPEN_VERSION */
-#ifdef _SC_XOPEN_XCU_VERSION
-	if (x == _SC_XOPEN_XCU_VERSION)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION; return 0;}
-#endif /* ndef _SC_XOPEN_XCU_VERSION */
-#ifdef _SC_XOPEN_XPG2
-	if (x == _SC_XOPEN_XPG2)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_XPG2; return 0;}
-#endif /* ndef _SC_XOPEN_XPG2 */
-#ifdef _SC_XOPEN_XPG3
-	if (x == _SC_XOPEN_XPG3)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_XPG3; return 0;}
-#endif /* ndef _SC_XOPEN_XPG3 */
-#ifdef _SC_XOPEN_XPG4
-	if (x == _SC_XOPEN_XPG4)
-		{*r = Mono_Posix_SysconfName__SC_XOPEN_XPG4; return 0;}
-#endif /* ndef _SC_XOPEN_XPG4 */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromSyslogFacility (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_SyslogFacility_LOG_AUTH)
-#ifdef LOG_AUTH
-		{*r = LOG_AUTH; return 0;}
-#else /* def LOG_AUTH */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_AUTH */
-	if (x == Mono_Posix_SyslogFacility_LOG_AUTHPRIV)
-#ifdef LOG_AUTHPRIV
-		{*r = LOG_AUTHPRIV; return 0;}
-#else /* def LOG_AUTHPRIV */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_AUTHPRIV */
-	if (x == Mono_Posix_SyslogFacility_LOG_CRON)
-#ifdef LOG_CRON
-		{*r = LOG_CRON; return 0;}
-#else /* def LOG_CRON */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_CRON */
-	if (x == Mono_Posix_SyslogFacility_LOG_DAEMON)
-#ifdef LOG_DAEMON
-		{*r = LOG_DAEMON; return 0;}
-#else /* def LOG_DAEMON */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_DAEMON */
-	if (x == Mono_Posix_SyslogFacility_LOG_FTP)
-#ifdef LOG_FTP
-		{*r = LOG_FTP; return 0;}
-#else /* def LOG_FTP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_FTP */
-	if (x == Mono_Posix_SyslogFacility_LOG_KERN)
-#ifdef LOG_KERN
-		{*r = LOG_KERN; return 0;}
-#else /* def LOG_KERN */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_KERN */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL0)
-#ifdef LOG_LOCAL0
-		{*r = LOG_LOCAL0; return 0;}
-#else /* def LOG_LOCAL0 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL0 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL1)
-#ifdef LOG_LOCAL1
-		{*r = LOG_LOCAL1; return 0;}
-#else /* def LOG_LOCAL1 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL1 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL2)
-#ifdef LOG_LOCAL2
-		{*r = LOG_LOCAL2; return 0;}
-#else /* def LOG_LOCAL2 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL2 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL3)
-#ifdef LOG_LOCAL3
-		{*r = LOG_LOCAL3; return 0;}
-#else /* def LOG_LOCAL3 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL3 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL4)
-#ifdef LOG_LOCAL4
-		{*r = LOG_LOCAL4; return 0;}
-#else /* def LOG_LOCAL4 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL4 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL5)
-#ifdef LOG_LOCAL5
-		{*r = LOG_LOCAL5; return 0;}
-#else /* def LOG_LOCAL5 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL5 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL6)
-#ifdef LOG_LOCAL6
-		{*r = LOG_LOCAL6; return 0;}
-#else /* def LOG_LOCAL6 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL6 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL7)
-#ifdef LOG_LOCAL7
-		{*r = LOG_LOCAL7; return 0;}
-#else /* def LOG_LOCAL7 */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LOCAL7 */
-	if (x == Mono_Posix_SyslogFacility_LOG_LPR)
-#ifdef LOG_LPR
-		{*r = LOG_LPR; return 0;}
-#else /* def LOG_LPR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_LPR */
-	if (x == Mono_Posix_SyslogFacility_LOG_MAIL)
-#ifdef LOG_MAIL
-		{*r = LOG_MAIL; return 0;}
-#else /* def LOG_MAIL */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_MAIL */
-	if (x == Mono_Posix_SyslogFacility_LOG_NEWS)
-#ifdef LOG_NEWS
-		{*r = LOG_NEWS; return 0;}
-#else /* def LOG_NEWS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_NEWS */
-	if (x == Mono_Posix_SyslogFacility_LOG_SYSLOG)
-#ifdef LOG_SYSLOG
-		{*r = LOG_SYSLOG; return 0;}
-#else /* def LOG_SYSLOG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_SYSLOG */
-	if (x == Mono_Posix_SyslogFacility_LOG_USER)
-#ifdef LOG_USER
-		{*r = LOG_USER; return 0;}
-#else /* def LOG_USER */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_USER */
-	if (x == Mono_Posix_SyslogFacility_LOG_UUCP)
-#ifdef LOG_UUCP
-		{*r = LOG_UUCP; return 0;}
-#else /* def LOG_UUCP */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_UUCP */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToSyslogFacility (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef LOG_AUTH
-	if (x == LOG_AUTH)
-		{*r = Mono_Posix_SyslogFacility_LOG_AUTH; return 0;}
-#endif /* ndef LOG_AUTH */
-#ifdef LOG_AUTHPRIV
-	if (x == LOG_AUTHPRIV)
-		{*r = Mono_Posix_SyslogFacility_LOG_AUTHPRIV; return 0;}
-#endif /* ndef LOG_AUTHPRIV */
-#ifdef LOG_CRON
-	if (x == LOG_CRON)
-		{*r = Mono_Posix_SyslogFacility_LOG_CRON; return 0;}
-#endif /* ndef LOG_CRON */
-#ifdef LOG_DAEMON
-	if (x == LOG_DAEMON)
-		{*r = Mono_Posix_SyslogFacility_LOG_DAEMON; return 0;}
-#endif /* ndef LOG_DAEMON */
-#ifdef LOG_FTP
-	if (x == LOG_FTP)
-		{*r = Mono_Posix_SyslogFacility_LOG_FTP; return 0;}
-#endif /* ndef LOG_FTP */
-#ifdef LOG_KERN
-	if (x == LOG_KERN)
-		{*r = Mono_Posix_SyslogFacility_LOG_KERN; return 0;}
-#endif /* ndef LOG_KERN */
-#ifdef LOG_LOCAL0
-	if (x == LOG_LOCAL0)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL0; return 0;}
-#endif /* ndef LOG_LOCAL0 */
-#ifdef LOG_LOCAL1
-	if (x == LOG_LOCAL1)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL1; return 0;}
-#endif /* ndef LOG_LOCAL1 */
-#ifdef LOG_LOCAL2
-	if (x == LOG_LOCAL2)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL2; return 0;}
-#endif /* ndef LOG_LOCAL2 */
-#ifdef LOG_LOCAL3
-	if (x == LOG_LOCAL3)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL3; return 0;}
-#endif /* ndef LOG_LOCAL3 */
-#ifdef LOG_LOCAL4
-	if (x == LOG_LOCAL4)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL4; return 0;}
-#endif /* ndef LOG_LOCAL4 */
-#ifdef LOG_LOCAL5
-	if (x == LOG_LOCAL5)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL5; return 0;}
-#endif /* ndef LOG_LOCAL5 */
-#ifdef LOG_LOCAL6
-	if (x == LOG_LOCAL6)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL6; return 0;}
-#endif /* ndef LOG_LOCAL6 */
-#ifdef LOG_LOCAL7
-	if (x == LOG_LOCAL7)
-		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL7; return 0;}
-#endif /* ndef LOG_LOCAL7 */
-#ifdef LOG_LPR
-	if (x == LOG_LPR)
-		{*r = Mono_Posix_SyslogFacility_LOG_LPR; return 0;}
-#endif /* ndef LOG_LPR */
-#ifdef LOG_MAIL
-	if (x == LOG_MAIL)
-		{*r = Mono_Posix_SyslogFacility_LOG_MAIL; return 0;}
-#endif /* ndef LOG_MAIL */
-#ifdef LOG_NEWS
-	if (x == LOG_NEWS)
-		{*r = Mono_Posix_SyslogFacility_LOG_NEWS; return 0;}
-#endif /* ndef LOG_NEWS */
-#ifdef LOG_SYSLOG
-	if (x == LOG_SYSLOG)
-		{*r = Mono_Posix_SyslogFacility_LOG_SYSLOG; return 0;}
-#endif /* ndef LOG_SYSLOG */
-#ifdef LOG_USER
-	if (x == LOG_USER)
-		{*r = Mono_Posix_SyslogFacility_LOG_USER; return 0;}
-#endif /* ndef LOG_USER */
-#ifdef LOG_UUCP
-	if (x == LOG_UUCP)
-		{*r = Mono_Posix_SyslogFacility_LOG_UUCP; return 0;}
-#endif /* ndef LOG_UUCP */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromSyslogLevel (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_SyslogLevel_LOG_ALERT)
-#ifdef LOG_ALERT
-		{*r = LOG_ALERT; return 0;}
-#else /* def LOG_ALERT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_ALERT */
-	if (x == Mono_Posix_SyslogLevel_LOG_CRIT)
-#ifdef LOG_CRIT
-		{*r = LOG_CRIT; return 0;}
-#else /* def LOG_CRIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_CRIT */
-	if (x == Mono_Posix_SyslogLevel_LOG_DEBUG)
-#ifdef LOG_DEBUG
-		{*r = LOG_DEBUG; return 0;}
-#else /* def LOG_DEBUG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_DEBUG */
-	if (x == Mono_Posix_SyslogLevel_LOG_EMERG)
-#ifdef LOG_EMERG
-		{*r = LOG_EMERG; return 0;}
-#else /* def LOG_EMERG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_EMERG */
-	if (x == Mono_Posix_SyslogLevel_LOG_ERR)
-#ifdef LOG_ERR
-		{*r = LOG_ERR; return 0;}
-#else /* def LOG_ERR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_ERR */
-	if (x == Mono_Posix_SyslogLevel_LOG_INFO)
-#ifdef LOG_INFO
-		{*r = LOG_INFO; return 0;}
-#else /* def LOG_INFO */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_INFO */
-	if (x == Mono_Posix_SyslogLevel_LOG_NOTICE)
-#ifdef LOG_NOTICE
-		{*r = LOG_NOTICE; return 0;}
-#else /* def LOG_NOTICE */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_NOTICE */
-	if (x == Mono_Posix_SyslogLevel_LOG_WARNING)
-#ifdef LOG_WARNING
-		{*r = LOG_WARNING; return 0;}
-#else /* def LOG_WARNING */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_WARNING */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_ToSyslogLevel (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef LOG_ALERT
-	if (x == LOG_ALERT)
-		{*r = Mono_Posix_SyslogLevel_LOG_ALERT; return 0;}
-#endif /* ndef LOG_ALERT */
-#ifdef LOG_CRIT
-	if (x == LOG_CRIT)
-		{*r = Mono_Posix_SyslogLevel_LOG_CRIT; return 0;}
-#endif /* ndef LOG_CRIT */
-#ifdef LOG_DEBUG
-	if (x == LOG_DEBUG)
-		{*r = Mono_Posix_SyslogLevel_LOG_DEBUG; return 0;}
-#endif /* ndef LOG_DEBUG */
-#ifdef LOG_EMERG
-	if (x == LOG_EMERG)
-		{*r = Mono_Posix_SyslogLevel_LOG_EMERG; return 0;}
-#endif /* ndef LOG_EMERG */
-#ifdef LOG_ERR
-	if (x == LOG_ERR)
-		{*r = Mono_Posix_SyslogLevel_LOG_ERR; return 0;}
-#endif /* ndef LOG_ERR */
-#ifdef LOG_INFO
-	if (x == LOG_INFO)
-		{*r = Mono_Posix_SyslogLevel_LOG_INFO; return 0;}
-#endif /* ndef LOG_INFO */
-#ifdef LOG_NOTICE
-	if (x == LOG_NOTICE)
-		{*r = Mono_Posix_SyslogLevel_LOG_NOTICE; return 0;}
-#endif /* ndef LOG_NOTICE */
-#ifdef LOG_WARNING
-	if (x == LOG_WARNING)
-		{*r = Mono_Posix_SyslogLevel_LOG_WARNING; return 0;}
-#endif /* ndef LOG_WARNING */
-	errno = EINVAL; return -1;
-}
-
-int Mono_Posix_FromSyslogOptions (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_SyslogOptions_LOG_CONS) == Mono_Posix_SyslogOptions_LOG_CONS)
-#ifdef LOG_CONS
-		*r |= LOG_CONS;
-#else /* def LOG_CONS */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_CONS */
-	if ((x & Mono_Posix_SyslogOptions_LOG_NDELAY) == Mono_Posix_SyslogOptions_LOG_NDELAY)
-#ifdef LOG_NDELAY
-		*r |= LOG_NDELAY;
-#else /* def LOG_NDELAY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_NDELAY */
-	if ((x & Mono_Posix_SyslogOptions_LOG_NOWAIT) == Mono_Posix_SyslogOptions_LOG_NOWAIT)
-#ifdef LOG_NOWAIT
-		*r |= LOG_NOWAIT;
-#else /* def LOG_NOWAIT */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_NOWAIT */
-	if ((x & Mono_Posix_SyslogOptions_LOG_ODELAY) == Mono_Posix_SyslogOptions_LOG_ODELAY)
-#ifdef LOG_ODELAY
-		*r |= LOG_ODELAY;
-#else /* def LOG_ODELAY */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_ODELAY */
-	if ((x & Mono_Posix_SyslogOptions_LOG_PERROR) == Mono_Posix_SyslogOptions_LOG_PERROR)
-#ifdef LOG_PERROR
-		*r |= LOG_PERROR;
-#else /* def LOG_PERROR */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_PERROR */
-	if ((x & Mono_Posix_SyslogOptions_LOG_PID) == Mono_Posix_SyslogOptions_LOG_PID)
-#ifdef LOG_PID
-		*r |= LOG_PID;
-#else /* def LOG_PID */
-		{errno = EINVAL; return -1;}
-#endif /* ndef LOG_PID */
-	return 0;
-}
-
-int Mono_Posix_ToSyslogOptions (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef LOG_CONS
-	if ((x & LOG_CONS) == LOG_CONS)
-		*r |= Mono_Posix_SyslogOptions_LOG_CONS;
-#endif /* ndef LOG_CONS */
-#ifdef LOG_NDELAY
-	if ((x & LOG_NDELAY) == LOG_NDELAY)
-		*r |= Mono_Posix_SyslogOptions_LOG_NDELAY;
-#endif /* ndef LOG_NDELAY */
-#ifdef LOG_NOWAIT
-	if ((x & LOG_NOWAIT) == LOG_NOWAIT)
-		*r |= Mono_Posix_SyslogOptions_LOG_NOWAIT;
-#endif /* ndef LOG_NOWAIT */
-#ifdef LOG_ODELAY
-	if ((x & LOG_ODELAY) == LOG_ODELAY)
-		*r |= Mono_Posix_SyslogOptions_LOG_ODELAY;
-#endif /* ndef LOG_ODELAY */
-#ifdef LOG_PERROR
-	if ((x & LOG_PERROR) == LOG_PERROR)
-		*r |= Mono_Posix_SyslogOptions_LOG_PERROR;
-#endif /* ndef LOG_PERROR */
-#ifdef LOG_PID
-	if ((x & LOG_PID) == LOG_PID)
-		*r |= Mono_Posix_SyslogOptions_LOG_PID;
-#endif /* ndef LOG_PID */
-	return 0;
-}
-
-int Mono_Posix_FromWaitOptions (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_WaitOptions_WNOHANG) == Mono_Posix_WaitOptions_WNOHANG)
-#ifdef WNOHANG
-		*r |= WNOHANG;
-#else /* def WNOHANG */
-		{errno = EINVAL; return -1;}
-#endif /* ndef WNOHANG */
-	if ((x & Mono_Posix_WaitOptions_WUNTRACED) == Mono_Posix_WaitOptions_WUNTRACED)
-#ifdef WUNTRACED
-		*r |= WUNTRACED;
-#else /* def WUNTRACED */
+#endif /* ndef SIGINT */
+	if (x == Mono_Posix_Signum_SIGIO)
+#ifdef SIGIO
+		{*r = SIGIO; return 0;}
+#else /* def SIGIO */
 		{errno = EINVAL; return -1;}
-#endif /* ndef WUNTRACED */
-	return 0;
-}
-
-int Mono_Posix_ToWaitOptions (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef WNOHANG
-	if ((x & WNOHANG) == WNOHANG)
-		*r |= Mono_Posix_WaitOptions_WNOHANG;
-#endif /* ndef WNOHANG */
-#ifdef WUNTRACED
-	if ((x & WUNTRACED) == WUNTRACED)
-		*r |= Mono_Posix_WaitOptions_WUNTRACED;
-#endif /* ndef WUNTRACED */
-	return 0;
-}
-
-int Mono_Posix_FromXattrFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if ((x & Mono_Posix_XattrFlags_XATTR_AUTO) == Mono_Posix_XattrFlags_XATTR_AUTO)
-#ifdef XATTR_AUTO
-		*r |= XATTR_AUTO;
-#else /* def XATTR_AUTO */
+#endif /* ndef SIGIO */
+	if (x == Mono_Posix_Signum_SIGIOT)
+#ifdef SIGIOT
+		{*r = SIGIOT; return 0;}
+#else /* def SIGIOT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef XATTR_AUTO */
-	if ((x & Mono_Posix_XattrFlags_XATTR_CREATE) == Mono_Posix_XattrFlags_XATTR_CREATE)
-#ifdef XATTR_CREATE
-		*r |= XATTR_CREATE;
-#else /* def XATTR_CREATE */
+#endif /* ndef SIGIOT */
+	if (x == Mono_Posix_Signum_SIGKILL)
+#ifdef SIGKILL
+		{*r = SIGKILL; return 0;}
+#else /* def SIGKILL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef XATTR_CREATE */
-	if ((x & Mono_Posix_XattrFlags_XATTR_REPLACE) == Mono_Posix_XattrFlags_XATTR_REPLACE)
-#ifdef XATTR_REPLACE
-		*r |= XATTR_REPLACE;
-#else /* def XATTR_REPLACE */
+#endif /* ndef SIGKILL */
+	if (x == Mono_Posix_Signum_SIGPIPE)
+#ifdef SIGPIPE
+		{*r = SIGPIPE; return 0;}
+#else /* def SIGPIPE */
 		{errno = EINVAL; return -1;}
-#endif /* ndef XATTR_REPLACE */
-	return 0;
-}
-
-int Mono_Posix_ToXattrFlags (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef XATTR_AUTO
-	if ((x & XATTR_AUTO) == XATTR_AUTO)
-		*r |= Mono_Posix_XattrFlags_XATTR_AUTO;
-#endif /* ndef XATTR_AUTO */
-#ifdef XATTR_CREATE
-	if ((x & XATTR_CREATE) == XATTR_CREATE)
-		*r |= Mono_Posix_XattrFlags_XATTR_CREATE;
-#endif /* ndef XATTR_CREATE */
-#ifdef XATTR_REPLACE
-	if ((x & XATTR_REPLACE) == XATTR_REPLACE)
-		*r |= Mono_Posix_XattrFlags_XATTR_REPLACE;
-#endif /* ndef XATTR_REPLACE */
-	return 0;
-}
-
-int Mono_Posix_FromPathConf (int x, int *r)
-{
-	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_PathConf__PC_2_SYMLINKS)
-#ifdef _PC_2_SYMLINKS
-		{*r = _PC_2_SYMLINKS; return 0;}
-#else /* def _PC_2_SYMLINKS */
+#endif /* ndef SIGPIPE */
+	if (x == Mono_Posix_Signum_SIGPOLL)
+#ifdef SIGPOLL
+		{*r = SIGPOLL; return 0;}
+#else /* def SIGPOLL */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_2_SYMLINKS */
-	if (x == Mono_Posix_PathConf__PC_ALLOC_SIZE_MIN)
-#ifdef _PC_ALLOC_SIZE_MIN
-		{*r = _PC_ALLOC_SIZE_MIN; return 0;}
-#else /* def _PC_ALLOC_SIZE_MIN */
+#endif /* ndef SIGPOLL */
+	if (x == Mono_Posix_Signum_SIGPROF)
+#ifdef SIGPROF
+		{*r = SIGPROF; return 0;}
+#else /* def SIGPROF */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_ALLOC_SIZE_MIN */
-	if (x == Mono_Posix_PathConf__PC_ASYNC_IO)
-#ifdef _PC_ASYNC_IO
-		{*r = _PC_ASYNC_IO; return 0;}
-#else /* def _PC_ASYNC_IO */
+#endif /* ndef SIGPROF */
+	if (x == Mono_Posix_Signum_SIGPWR)
+#ifdef SIGPWR
+		{*r = SIGPWR; return 0;}
+#else /* def SIGPWR */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_ASYNC_IO */
-	if (x == Mono_Posix_PathConf__PC_CHOWN_RESTRICTED)
-#ifdef _PC_CHOWN_RESTRICTED
-		{*r = _PC_CHOWN_RESTRICTED; return 0;}
-#else /* def _PC_CHOWN_RESTRICTED */
+#endif /* ndef SIGPWR */
+	if (x == Mono_Posix_Signum_SIGQUIT)
+#ifdef SIGQUIT
+		{*r = SIGQUIT; return 0;}
+#else /* def SIGQUIT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_CHOWN_RESTRICTED */
-	if (x == Mono_Posix_PathConf__PC_FILESIZEBITS)
-#ifdef _PC_FILESIZEBITS
-		{*r = _PC_FILESIZEBITS; return 0;}
-#else /* def _PC_FILESIZEBITS */
+#endif /* ndef SIGQUIT */
+	if (x == Mono_Posix_Signum_SIGSEGV)
+#ifdef SIGSEGV
+		{*r = SIGSEGV; return 0;}
+#else /* def SIGSEGV */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_FILESIZEBITS */
-	if (x == Mono_Posix_PathConf__PC_LINK_MAX)
-#ifdef _PC_LINK_MAX
-		{*r = _PC_LINK_MAX; return 0;}
-#else /* def _PC_LINK_MAX */
+#endif /* ndef SIGSEGV */
+	if (x == Mono_Posix_Signum_SIGSTKFLT)
+#ifdef SIGSTKFLT
+		{*r = SIGSTKFLT; return 0;}
+#else /* def SIGSTKFLT */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_LINK_MAX */
-	if (x == Mono_Posix_PathConf__PC_MAX_CANON)
-#ifdef _PC_MAX_CANON
-		{*r = _PC_MAX_CANON; return 0;}
-#else /* def _PC_MAX_CANON */
+#endif /* ndef SIGSTKFLT */
+	if (x == Mono_Posix_Signum_SIGSTOP)
+#ifdef SIGSTOP
+		{*r = SIGSTOP; return 0;}
+#else /* def SIGSTOP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_MAX_CANON */
-	if (x == Mono_Posix_PathConf__PC_MAX_INPUT)
-#ifdef _PC_MAX_INPUT
-		{*r = _PC_MAX_INPUT; return 0;}
-#else /* def _PC_MAX_INPUT */
+#endif /* ndef SIGSTOP */
+	if (x == Mono_Posix_Signum_SIGSYS)
+#ifdef SIGSYS
+		{*r = SIGSYS; return 0;}
+#else /* def SIGSYS */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_MAX_INPUT */
-	if (x == Mono_Posix_PathConf__PC_NAME_MAX)
-#ifdef _PC_NAME_MAX
-		{*r = _PC_NAME_MAX; return 0;}
-#else /* def _PC_NAME_MAX */
+#endif /* ndef SIGSYS */
+	if (x == Mono_Posix_Signum_SIGTERM)
+#ifdef SIGTERM
+		{*r = SIGTERM; return 0;}
+#else /* def SIGTERM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_NAME_MAX */
-	if (x == Mono_Posix_PathConf__PC_NO_TRUNC)
-#ifdef _PC_NO_TRUNC
-		{*r = _PC_NO_TRUNC; return 0;}
-#else /* def _PC_NO_TRUNC */
+#endif /* ndef SIGTERM */
+	if (x == Mono_Posix_Signum_SIGTRAP)
+#ifdef SIGTRAP
+		{*r = SIGTRAP; return 0;}
+#else /* def SIGTRAP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_NO_TRUNC */
-	if (x == Mono_Posix_PathConf__PC_PATH_MAX)
-#ifdef _PC_PATH_MAX
-		{*r = _PC_PATH_MAX; return 0;}
-#else /* def _PC_PATH_MAX */
+#endif /* ndef SIGTRAP */
+	if (x == Mono_Posix_Signum_SIGTSTP)
+#ifdef SIGTSTP
+		{*r = SIGTSTP; return 0;}
+#else /* def SIGTSTP */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_PATH_MAX */
-	if (x == Mono_Posix_PathConf__PC_PIPE_BUF)
-#ifdef _PC_PIPE_BUF
-		{*r = _PC_PIPE_BUF; return 0;}
-#else /* def _PC_PIPE_BUF */
+#endif /* ndef SIGTSTP */
+	if (x == Mono_Posix_Signum_SIGTTIN)
+#ifdef SIGTTIN
+		{*r = SIGTTIN; return 0;}
+#else /* def SIGTTIN */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_PIPE_BUF */
-	if (x == Mono_Posix_PathConf__PC_PRIO_IO)
-#ifdef _PC_PRIO_IO
-		{*r = _PC_PRIO_IO; return 0;}
-#else /* def _PC_PRIO_IO */
+#endif /* ndef SIGTTIN */
+	if (x == Mono_Posix_Signum_SIGTTOU)
+#ifdef SIGTTOU
+		{*r = SIGTTOU; return 0;}
+#else /* def SIGTTOU */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_PRIO_IO */
-	if (x == Mono_Posix_PathConf__PC_REC_INCR_XFER_SIZE)
-#ifdef _PC_REC_INCR_XFER_SIZE
-		{*r = _PC_REC_INCR_XFER_SIZE; return 0;}
-#else /* def _PC_REC_INCR_XFER_SIZE */
+#endif /* ndef SIGTTOU */
+	if (x == Mono_Posix_Signum_SIGUNUSED)
+#ifdef SIGUNUSED
+		{*r = SIGUNUSED; return 0;}
+#else /* def SIGUNUSED */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_INCR_XFER_SIZE */
-	if (x == Mono_Posix_PathConf__PC_REC_MAX_XFER_SIZE)
-#ifdef _PC_REC_MAX_XFER_SIZE
-		{*r = _PC_REC_MAX_XFER_SIZE; return 0;}
-#else /* def _PC_REC_MAX_XFER_SIZE */
+#endif /* ndef SIGUNUSED */
+	if (x == Mono_Posix_Signum_SIGURG)
+#ifdef SIGURG
+		{*r = SIGURG; return 0;}
+#else /* def SIGURG */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_MAX_XFER_SIZE */
-	if (x == Mono_Posix_PathConf__PC_REC_MIN_XFER_SIZE)
-#ifdef _PC_REC_MIN_XFER_SIZE
-		{*r = _PC_REC_MIN_XFER_SIZE; return 0;}
-#else /* def _PC_REC_MIN_XFER_SIZE */
+#endif /* ndef SIGURG */
+	if (x == Mono_Posix_Signum_SIGUSR1)
+#ifdef SIGUSR1
+		{*r = SIGUSR1; return 0;}
+#else /* def SIGUSR1 */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_MIN_XFER_SIZE */
-	if (x == Mono_Posix_PathConf__PC_REC_XFER_ALIGN)
-#ifdef _PC_REC_XFER_ALIGN
-		{*r = _PC_REC_XFER_ALIGN; return 0;}
-#else /* def _PC_REC_XFER_ALIGN */
+#endif /* ndef SIGUSR1 */
+	if (x == Mono_Posix_Signum_SIGUSR2)
+#ifdef SIGUSR2
+		{*r = SIGUSR2; return 0;}
+#else /* def SIGUSR2 */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_REC_XFER_ALIGN */
-	if (x == Mono_Posix_PathConf__PC_SOCK_MAXBUF)
-#ifdef _PC_SOCK_MAXBUF
-		{*r = _PC_SOCK_MAXBUF; return 0;}
-#else /* def _PC_SOCK_MAXBUF */
+#endif /* ndef SIGUSR2 */
+	if (x == Mono_Posix_Signum_SIGVTALRM)
+#ifdef SIGVTALRM
+		{*r = SIGVTALRM; return 0;}
+#else /* def SIGVTALRM */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_SOCK_MAXBUF */
-	if (x == Mono_Posix_PathConf__PC_SYMLINK_MAX)
-#ifdef _PC_SYMLINK_MAX
-		{*r = _PC_SYMLINK_MAX; return 0;}
-#else /* def _PC_SYMLINK_MAX */
+#endif /* ndef SIGVTALRM */
+	if (x == Mono_Posix_Signum_SIGWINCH)
+#ifdef SIGWINCH
+		{*r = SIGWINCH; return 0;}
+#else /* def SIGWINCH */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_SYMLINK_MAX */
-	if (x == Mono_Posix_PathConf__PC_SYNC_IO)
-#ifdef _PC_SYNC_IO
-		{*r = _PC_SYNC_IO; return 0;}
-#else /* def _PC_SYNC_IO */
+#endif /* ndef SIGWINCH */
+	if (x == Mono_Posix_Signum_SIGXCPU)
+#ifdef SIGXCPU
+		{*r = SIGXCPU; return 0;}
+#else /* def SIGXCPU */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_SYNC_IO */
-	if (x == Mono_Posix_PathConf__PC_VDISABLE)
-#ifdef _PC_VDISABLE
-		{*r = _PC_VDISABLE; return 0;}
-#else /* def _PC_VDISABLE */
+#endif /* ndef SIGXCPU */
+	if (x == Mono_Posix_Signum_SIGXFSZ)
+#ifdef SIGXFSZ
+		{*r = SIGXFSZ; return 0;}
+#else /* def SIGXFSZ */
 		{errno = EINVAL; return -1;}
-#endif /* ndef _PC_VDISABLE */
+#endif /* ndef SIGXFSZ */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToSignum (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef SIGABRT
+	if (x == SIGABRT)
+		{*r = Mono_Posix_Signum_SIGABRT; return 0;}
+#endif /* ndef SIGABRT */
+#ifdef SIGALRM
+	if (x == SIGALRM)
+		{*r = Mono_Posix_Signum_SIGALRM; return 0;}
+#endif /* ndef SIGALRM */
+#ifdef SIGBUS
+	if (x == SIGBUS)
+		{*r = Mono_Posix_Signum_SIGBUS; return 0;}
+#endif /* ndef SIGBUS */
+#ifdef SIGCHLD
+	if (x == SIGCHLD)
+		{*r = Mono_Posix_Signum_SIGCHLD; return 0;}
+#endif /* ndef SIGCHLD */
+#ifdef SIGCLD
+	if (x == SIGCLD)
+		{*r = Mono_Posix_Signum_SIGCLD; return 0;}
+#endif /* ndef SIGCLD */
+#ifdef SIGCONT
+	if (x == SIGCONT)
+		{*r = Mono_Posix_Signum_SIGCONT; return 0;}
+#endif /* ndef SIGCONT */
+#ifdef SIGFPE
+	if (x == SIGFPE)
+		{*r = Mono_Posix_Signum_SIGFPE; return 0;}
+#endif /* ndef SIGFPE */
+#ifdef SIGHUP
+	if (x == SIGHUP)
+		{*r = Mono_Posix_Signum_SIGHUP; return 0;}
+#endif /* ndef SIGHUP */
+#ifdef SIGILL
+	if (x == SIGILL)
+		{*r = Mono_Posix_Signum_SIGILL; return 0;}
+#endif /* ndef SIGILL */
+#ifdef SIGINT
+	if (x == SIGINT)
+		{*r = Mono_Posix_Signum_SIGINT; return 0;}
+#endif /* ndef SIGINT */
+#ifdef SIGIO
+	if (x == SIGIO)
+		{*r = Mono_Posix_Signum_SIGIO; return 0;}
+#endif /* ndef SIGIO */
+#ifdef SIGIOT
+	if (x == SIGIOT)
+		{*r = Mono_Posix_Signum_SIGIOT; return 0;}
+#endif /* ndef SIGIOT */
+#ifdef SIGKILL
+	if (x == SIGKILL)
+		{*r = Mono_Posix_Signum_SIGKILL; return 0;}
+#endif /* ndef SIGKILL */
+#ifdef SIGPIPE
+	if (x == SIGPIPE)
+		{*r = Mono_Posix_Signum_SIGPIPE; return 0;}
+#endif /* ndef SIGPIPE */
+#ifdef SIGPOLL
+	if (x == SIGPOLL)
+		{*r = Mono_Posix_Signum_SIGPOLL; return 0;}
+#endif /* ndef SIGPOLL */
+#ifdef SIGPROF
+	if (x == SIGPROF)
+		{*r = Mono_Posix_Signum_SIGPROF; return 0;}
+#endif /* ndef SIGPROF */
+#ifdef SIGPWR
+	if (x == SIGPWR)
+		{*r = Mono_Posix_Signum_SIGPWR; return 0;}
+#endif /* ndef SIGPWR */
+#ifdef SIGQUIT
+	if (x == SIGQUIT)
+		{*r = Mono_Posix_Signum_SIGQUIT; return 0;}
+#endif /* ndef SIGQUIT */
+#ifdef SIGSEGV
+	if (x == SIGSEGV)
+		{*r = Mono_Posix_Signum_SIGSEGV; return 0;}
+#endif /* ndef SIGSEGV */
+#ifdef SIGSTKFLT
+	if (x == SIGSTKFLT)
+		{*r = Mono_Posix_Signum_SIGSTKFLT; return 0;}
+#endif /* ndef SIGSTKFLT */
+#ifdef SIGSTOP
+	if (x == SIGSTOP)
+		{*r = Mono_Posix_Signum_SIGSTOP; return 0;}
+#endif /* ndef SIGSTOP */
+#ifdef SIGSYS
+	if (x == SIGSYS)
+		{*r = Mono_Posix_Signum_SIGSYS; return 0;}
+#endif /* ndef SIGSYS */
+#ifdef SIGTERM
+	if (x == SIGTERM)
+		{*r = Mono_Posix_Signum_SIGTERM; return 0;}
+#endif /* ndef SIGTERM */
+#ifdef SIGTRAP
+	if (x == SIGTRAP)
+		{*r = Mono_Posix_Signum_SIGTRAP; return 0;}
+#endif /* ndef SIGTRAP */
+#ifdef SIGTSTP
+	if (x == SIGTSTP)
+		{*r = Mono_Posix_Signum_SIGTSTP; return 0;}
+#endif /* ndef SIGTSTP */
+#ifdef SIGTTIN
+	if (x == SIGTTIN)
+		{*r = Mono_Posix_Signum_SIGTTIN; return 0;}
+#endif /* ndef SIGTTIN */
+#ifdef SIGTTOU
+	if (x == SIGTTOU)
+		{*r = Mono_Posix_Signum_SIGTTOU; return 0;}
+#endif /* ndef SIGTTOU */
+#ifdef SIGUNUSED
+	if (x == SIGUNUSED)
+		{*r = Mono_Posix_Signum_SIGUNUSED; return 0;}
+#endif /* ndef SIGUNUSED */
+#ifdef SIGURG
+	if (x == SIGURG)
+		{*r = Mono_Posix_Signum_SIGURG; return 0;}
+#endif /* ndef SIGURG */
+#ifdef SIGUSR1
+	if (x == SIGUSR1)
+		{*r = Mono_Posix_Signum_SIGUSR1; return 0;}
+#endif /* ndef SIGUSR1 */
+#ifdef SIGUSR2
+	if (x == SIGUSR2)
+		{*r = Mono_Posix_Signum_SIGUSR2; return 0;}
+#endif /* ndef SIGUSR2 */
+#ifdef SIGVTALRM
+	if (x == SIGVTALRM)
+		{*r = Mono_Posix_Signum_SIGVTALRM; return 0;}
+#endif /* ndef SIGVTALRM */
+#ifdef SIGWINCH
+	if (x == SIGWINCH)
+		{*r = Mono_Posix_Signum_SIGWINCH; return 0;}
+#endif /* ndef SIGWINCH */
+#ifdef SIGXCPU
+	if (x == SIGXCPU)
+		{*r = Mono_Posix_Signum_SIGXCPU; return 0;}
+#endif /* ndef SIGXCPU */
+#ifdef SIGXFSZ
+	if (x == SIGXFSZ)
+		{*r = Mono_Posix_Signum_SIGXFSZ; return 0;}
+#endif /* ndef SIGXFSZ */
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_ToPathConf (int x, int *r)
+int
+Mono_Posix_FromStat (struct Mono_Posix_Stat *from, struct stat *to)
 {
-	*r = 0;
-	if (x == 0)
-		return 0;
-#ifdef _PC_2_SYMLINKS
-	if (x == _PC_2_SYMLINKS)
-		{*r = Mono_Posix_PathConf__PC_2_SYMLINKS; return 0;}
-#endif /* ndef _PC_2_SYMLINKS */
-#ifdef _PC_ALLOC_SIZE_MIN
-	if (x == _PC_ALLOC_SIZE_MIN)
-		{*r = Mono_Posix_PathConf__PC_ALLOC_SIZE_MIN; return 0;}
-#endif /* ndef _PC_ALLOC_SIZE_MIN */
-#ifdef _PC_ASYNC_IO
-	if (x == _PC_ASYNC_IO)
-		{*r = Mono_Posix_PathConf__PC_ASYNC_IO; return 0;}
-#endif /* ndef _PC_ASYNC_IO */
-#ifdef _PC_CHOWN_RESTRICTED
-	if (x == _PC_CHOWN_RESTRICTED)
-		{*r = Mono_Posix_PathConf__PC_CHOWN_RESTRICTED; return 0;}
-#endif /* ndef _PC_CHOWN_RESTRICTED */
-#ifdef _PC_FILESIZEBITS
-	if (x == _PC_FILESIZEBITS)
-		{*r = Mono_Posix_PathConf__PC_FILESIZEBITS; return 0;}
-#endif /* ndef _PC_FILESIZEBITS */
-#ifdef _PC_LINK_MAX
-	if (x == _PC_LINK_MAX)
-		{*r = Mono_Posix_PathConf__PC_LINK_MAX; return 0;}
-#endif /* ndef _PC_LINK_MAX */
-#ifdef _PC_MAX_CANON
-	if (x == _PC_MAX_CANON)
-		{*r = Mono_Posix_PathConf__PC_MAX_CANON; return 0;}
-#endif /* ndef _PC_MAX_CANON */
-#ifdef _PC_MAX_INPUT
-	if (x == _PC_MAX_INPUT)
-		{*r = Mono_Posix_PathConf__PC_MAX_INPUT; return 0;}
-#endif /* ndef _PC_MAX_INPUT */
-#ifdef _PC_NAME_MAX
-	if (x == _PC_NAME_MAX)
-		{*r = Mono_Posix_PathConf__PC_NAME_MAX; return 0;}
-#endif /* ndef _PC_NAME_MAX */
-#ifdef _PC_NO_TRUNC
-	if (x == _PC_NO_TRUNC)
-		{*r = Mono_Posix_PathConf__PC_NO_TRUNC; return 0;}
-#endif /* ndef _PC_NO_TRUNC */
-#ifdef _PC_PATH_MAX
-	if (x == _PC_PATH_MAX)
-		{*r = Mono_Posix_PathConf__PC_PATH_MAX; return 0;}
-#endif /* ndef _PC_PATH_MAX */
-#ifdef _PC_PIPE_BUF
-	if (x == _PC_PIPE_BUF)
-		{*r = Mono_Posix_PathConf__PC_PIPE_BUF; return 0;}
-#endif /* ndef _PC_PIPE_BUF */
-#ifdef _PC_PRIO_IO
-	if (x == _PC_PRIO_IO)
-		{*r = Mono_Posix_PathConf__PC_PRIO_IO; return 0;}
-#endif /* ndef _PC_PRIO_IO */
-#ifdef _PC_REC_INCR_XFER_SIZE
-	if (x == _PC_REC_INCR_XFER_SIZE)
-		{*r = Mono_Posix_PathConf__PC_REC_INCR_XFER_SIZE; return 0;}
-#endif /* ndef _PC_REC_INCR_XFER_SIZE */
-#ifdef _PC_REC_MAX_XFER_SIZE
-	if (x == _PC_REC_MAX_XFER_SIZE)
-		{*r = Mono_Posix_PathConf__PC_REC_MAX_XFER_SIZE; return 0;}
-#endif /* ndef _PC_REC_MAX_XFER_SIZE */
-#ifdef _PC_REC_MIN_XFER_SIZE
-	if (x == _PC_REC_MIN_XFER_SIZE)
-		{*r = Mono_Posix_PathConf__PC_REC_MIN_XFER_SIZE; return 0;}
-#endif /* ndef _PC_REC_MIN_XFER_SIZE */
-#ifdef _PC_REC_XFER_ALIGN
-	if (x == _PC_REC_XFER_ALIGN)
-		{*r = Mono_Posix_PathConf__PC_REC_XFER_ALIGN; return 0;}
-#endif /* ndef _PC_REC_XFER_ALIGN */
-#ifdef _PC_SOCK_MAXBUF
-	if (x == _PC_SOCK_MAXBUF)
-		{*r = Mono_Posix_PathConf__PC_SOCK_MAXBUF; return 0;}
-#endif /* ndef _PC_SOCK_MAXBUF */
-#ifdef _PC_SYMLINK_MAX
-	if (x == _PC_SYMLINK_MAX)
-		{*r = Mono_Posix_PathConf__PC_SYMLINK_MAX; return 0;}
-#endif /* ndef _PC_SYMLINK_MAX */
-#ifdef _PC_SYNC_IO
-	if (x == _PC_SYNC_IO)
-		{*r = Mono_Posix_PathConf__PC_SYNC_IO; return 0;}
-#endif /* ndef _PC_SYNC_IO */
-#ifdef _PC_VDISABLE
-	if (x == _PC_VDISABLE)
-		{*r = Mono_Posix_PathConf__PC_VDISABLE; return 0;}
-#endif /* ndef _PC_VDISABLE */
-	errno = EINVAL; return -1;
+	_cnm_return_val_if_overflow (dev_t, from->st_dev, -1);
+	_cnm_return_val_if_overflow (ino_t, from->st_ino, -1);
+	_cnm_return_val_if_overflow (nlink_t, from->st_nlink, -1);
+	_cnm_return_val_if_overflow (uid_t, from->st_uid, -1);
+	_cnm_return_val_if_overflow (gid_t, from->st_gid, -1);
+	_cnm_return_val_if_overflow (dev_t, from->st_rdev, -1);
+	_cnm_return_val_if_overflow (off_t, from->st_size, -1);
+	_cnm_return_val_if_overflow (blksize_t, from->st_blksize, -1);
+	_cnm_return_val_if_overflow (blkcnt_t, from->st_blocks, -1);
+	_cnm_return_val_if_overflow (time_t, from->st_atime_, -1);
+	_cnm_return_val_if_overflow (time_t, from->st_mtime_, -1);
+	_cnm_return_val_if_overflow (time_t, from->st_ctime_, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->st_dev     = from->st_dev;
+	to->st_ino     = from->st_ino;
+	if (Mono_Posix_FromFilePermissions (from->st_mode, &to->st_mode) != 0) {
+		return -1;
+	}
+	to->st_nlink   = from->st_nlink;
+	to->st_uid     = from->st_uid;
+	to->st_gid     = from->st_gid;
+	to->st_rdev    = from->st_rdev;
+	to->st_size    = from->st_size;
+	to->st_blksize = from->st_blksize;
+	to->st_blocks  = from->st_blocks;
+	to->st_atime   = from->st_atime_;
+	to->st_mtime   = from->st_mtime_;
+	to->st_ctime   = from->st_ctime_;
+
+	return 0;
+}
+
+
+int
+Mono_Posix_ToStat (struct stat *from, struct Mono_Posix_Stat *to)
+{
+	_cnm_return_val_if_overflow (guint64, from->st_dev, -1);
+	_cnm_return_val_if_overflow (guint64, from->st_ino, -1);
+	_cnm_return_val_if_overflow (guint64, from->st_nlink, -1);
+	_cnm_return_val_if_overflow (unsigned int, from->st_uid, -1);
+	_cnm_return_val_if_overflow (unsigned int, from->st_gid, -1);
+	_cnm_return_val_if_overflow (guint64, from->st_rdev, -1);
+	_cnm_return_val_if_overflow (gint64, from->st_size, -1);
+	_cnm_return_val_if_overflow (gint64, from->st_blksize, -1);
+	_cnm_return_val_if_overflow (gint64, from->st_blocks, -1);
+	_cnm_return_val_if_overflow (gint64, from->st_atime, -1);
+	_cnm_return_val_if_overflow (gint64, from->st_mtime, -1);
+	_cnm_return_val_if_overflow (gint64, from->st_ctime, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->st_dev     = from->st_dev;
+	to->st_ino     = from->st_ino;
+	if (Mono_Posix_ToFilePermissions (from->st_mode, &to->st_mode) != 0) {
+		return -1;
+	}
+	to->st_nlink   = from->st_nlink;
+	to->st_uid     = from->st_uid;
+	to->st_gid     = from->st_gid;
+	to->st_rdev    = from->st_rdev;
+	to->st_size    = from->st_size;
+	to->st_blksize = from->st_blksize;
+	to->st_blocks  = from->st_blocks;
+	to->st_atime_  = from->st_atime;
+	to->st_mtime_  = from->st_mtime;
+	to->st_ctime_  = from->st_ctime;
+
+	return 0;
 }
 
-int Mono_Posix_FromSysConf (int x, int *r)
+
+int Mono_Posix_FromSysconfName (int x, int *r)
 {
 	*r = 0;
-	if (x == 0)
-		return 0;
-	if (x == Mono_Posix_SysConf__SC_2_CHAR_TERM)
+	if (x == Mono_Posix_SysconfName__SC_2_CHAR_TERM)
 #ifdef _SC_2_CHAR_TERM
 		{*r = _SC_2_CHAR_TERM; return 0;}
 #else /* def _SC_2_CHAR_TERM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_CHAR_TERM */
-	if (x == Mono_Posix_SysConf__SC_2_C_BIND)
+	if (x == Mono_Posix_SysconfName__SC_2_C_BIND)
 #ifdef _SC_2_C_BIND
 		{*r = _SC_2_C_BIND; return 0;}
 #else /* def _SC_2_C_BIND */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_C_BIND */
-	if (x == Mono_Posix_SysConf__SC_2_C_DEV)
+	if (x == Mono_Posix_SysconfName__SC_2_C_DEV)
 #ifdef _SC_2_C_DEV
 		{*r = _SC_2_C_DEV; return 0;}
 #else /* def _SC_2_C_DEV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_C_DEV */
-	if (x == Mono_Posix_SysConf__SC_2_C_VERSION)
+	if (x == Mono_Posix_SysconfName__SC_2_C_VERSION)
 #ifdef _SC_2_C_VERSION
 		{*r = _SC_2_C_VERSION; return 0;}
 #else /* def _SC_2_C_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_C_VERSION */
-	if (x == Mono_Posix_SysConf__SC_2_FORT_DEV)
+	if (x == Mono_Posix_SysconfName__SC_2_FORT_DEV)
 #ifdef _SC_2_FORT_DEV
 		{*r = _SC_2_FORT_DEV; return 0;}
 #else /* def _SC_2_FORT_DEV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_FORT_DEV */
-	if (x == Mono_Posix_SysConf__SC_2_FORT_RUN)
+	if (x == Mono_Posix_SysconfName__SC_2_FORT_RUN)
 #ifdef _SC_2_FORT_RUN
 		{*r = _SC_2_FORT_RUN; return 0;}
 #else /* def _SC_2_FORT_RUN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_FORT_RUN */
-	if (x == Mono_Posix_SysConf__SC_2_LOCALEDEF)
+	if (x == Mono_Posix_SysconfName__SC_2_LOCALEDEF)
 #ifdef _SC_2_LOCALEDEF
 		{*r = _SC_2_LOCALEDEF; return 0;}
 #else /* def _SC_2_LOCALEDEF */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_LOCALEDEF */
-	if (x == Mono_Posix_SysConf__SC_2_PBS)
+	if (x == Mono_Posix_SysconfName__SC_2_PBS)
 #ifdef _SC_2_PBS
 		{*r = _SC_2_PBS; return 0;}
 #else /* def _SC_2_PBS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_PBS */
-	if (x == Mono_Posix_SysConf__SC_2_PBS_ACCOUNTING)
+	if (x == Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING)
 #ifdef _SC_2_PBS_ACCOUNTING
 		{*r = _SC_2_PBS_ACCOUNTING; return 0;}
 #else /* def _SC_2_PBS_ACCOUNTING */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_PBS_ACCOUNTING */
-	if (x == Mono_Posix_SysConf__SC_2_PBS_CHECKPOINT)
+	if (x == Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT)
 #ifdef _SC_2_PBS_CHECKPOINT
 		{*r = _SC_2_PBS_CHECKPOINT; return 0;}
 #else /* def _SC_2_PBS_CHECKPOINT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_PBS_CHECKPOINT */
-	if (x == Mono_Posix_SysConf__SC_2_PBS_LOCATE)
+	if (x == Mono_Posix_SysconfName__SC_2_PBS_LOCATE)
 #ifdef _SC_2_PBS_LOCATE
 		{*r = _SC_2_PBS_LOCATE; return 0;}
 #else /* def _SC_2_PBS_LOCATE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_PBS_LOCATE */
-	if (x == Mono_Posix_SysConf__SC_2_PBS_MESSAGE)
+	if (x == Mono_Posix_SysconfName__SC_2_PBS_MESSAGE)
 #ifdef _SC_2_PBS_MESSAGE
 		{*r = _SC_2_PBS_MESSAGE; return 0;}
 #else /* def _SC_2_PBS_MESSAGE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_PBS_MESSAGE */
-	if (x == Mono_Posix_SysConf__SC_2_PBS_TRACK)
+	if (x == Mono_Posix_SysconfName__SC_2_PBS_TRACK)
 #ifdef _SC_2_PBS_TRACK
 		{*r = _SC_2_PBS_TRACK; return 0;}
 #else /* def _SC_2_PBS_TRACK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_PBS_TRACK */
-	if (x == Mono_Posix_SysConf__SC_2_SW_DEV)
+	if (x == Mono_Posix_SysconfName__SC_2_SW_DEV)
 #ifdef _SC_2_SW_DEV
 		{*r = _SC_2_SW_DEV; return 0;}
 #else /* def _SC_2_SW_DEV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_SW_DEV */
-	if (x == Mono_Posix_SysConf__SC_2_UPE)
+	if (x == Mono_Posix_SysconfName__SC_2_UPE)
 #ifdef _SC_2_UPE
 		{*r = _SC_2_UPE; return 0;}
 #else /* def _SC_2_UPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_UPE */
-	if (x == Mono_Posix_SysConf__SC_2_VERSION)
+	if (x == Mono_Posix_SysconfName__SC_2_VERSION)
 #ifdef _SC_2_VERSION
 		{*r = _SC_2_VERSION; return 0;}
 #else /* def _SC_2_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_2_VERSION */
-	if (x == Mono_Posix_SysConf__SC_ADVISORY_INFO)
+	if (x == Mono_Posix_SysconfName__SC_ADVISORY_INFO)
 #ifdef _SC_ADVISORY_INFO
 		{*r = _SC_ADVISORY_INFO; return 0;}
 #else /* def _SC_ADVISORY_INFO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_ADVISORY_INFO */
-	if (x == Mono_Posix_SysConf__SC_AIO_LISTIO_MAX)
+	if (x == Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX)
 #ifdef _SC_AIO_LISTIO_MAX
 		{*r = _SC_AIO_LISTIO_MAX; return 0;}
 #else /* def _SC_AIO_LISTIO_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_AIO_LISTIO_MAX */
-	if (x == Mono_Posix_SysConf__SC_AIO_MAX)
+	if (x == Mono_Posix_SysconfName__SC_AIO_MAX)
 #ifdef _SC_AIO_MAX
 		{*r = _SC_AIO_MAX; return 0;}
 #else /* def _SC_AIO_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_AIO_MAX */
-	if (x == Mono_Posix_SysConf__SC_AIO_PRIO_DELTA_MAX)
+	if (x == Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX)
 #ifdef _SC_AIO_PRIO_DELTA_MAX
 		{*r = _SC_AIO_PRIO_DELTA_MAX; return 0;}
 #else /* def _SC_AIO_PRIO_DELTA_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
-	if (x == Mono_Posix_SysConf__SC_ARG_MAX)
+	if (x == Mono_Posix_SysconfName__SC_ARG_MAX)
 #ifdef _SC_ARG_MAX
 		{*r = _SC_ARG_MAX; return 0;}
 #else /* def _SC_ARG_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_ARG_MAX */
-	if (x == Mono_Posix_SysConf__SC_ASYNCHRONOUS_IO)
+	if (x == Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO)
 #ifdef _SC_ASYNCHRONOUS_IO
 		{*r = _SC_ASYNCHRONOUS_IO; return 0;}
 #else /* def _SC_ASYNCHRONOUS_IO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_ASYNCHRONOUS_IO */
-	if (x == Mono_Posix_SysConf__SC_ATEXIT_MAX)
+	if (x == Mono_Posix_SysconfName__SC_ATEXIT_MAX)
 #ifdef _SC_ATEXIT_MAX
 		{*r = _SC_ATEXIT_MAX; return 0;}
 #else /* def _SC_ATEXIT_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_ATEXIT_MAX */
-	if (x == Mono_Posix_SysConf__SC_AVPHYS_PAGES)
+	if (x == Mono_Posix_SysconfName__SC_AVPHYS_PAGES)
 #ifdef _SC_AVPHYS_PAGES
 		{*r = _SC_AVPHYS_PAGES; return 0;}
 #else /* def _SC_AVPHYS_PAGES */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_AVPHYS_PAGES */
-	if (x == Mono_Posix_SysConf__SC_BARRIERS)
+	if (x == Mono_Posix_SysconfName__SC_BARRIERS)
 #ifdef _SC_BARRIERS
 		{*r = _SC_BARRIERS; return 0;}
 #else /* def _SC_BARRIERS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_BARRIERS */
-	if (x == Mono_Posix_SysConf__SC_BASE)
+	if (x == Mono_Posix_SysconfName__SC_BASE)
 #ifdef _SC_BASE
 		{*r = _SC_BASE; return 0;}
 #else /* def _SC_BASE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_BASE */
-	if (x == Mono_Posix_SysConf__SC_BC_BASE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_BC_BASE_MAX)
 #ifdef _SC_BC_BASE_MAX
 		{*r = _SC_BC_BASE_MAX; return 0;}
 #else /* def _SC_BC_BASE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_BC_BASE_MAX */
-	if (x == Mono_Posix_SysConf__SC_BC_DIM_MAX)
+	if (x == Mono_Posix_SysconfName__SC_BC_DIM_MAX)
 #ifdef _SC_BC_DIM_MAX
 		{*r = _SC_BC_DIM_MAX; return 0;}
 #else /* def _SC_BC_DIM_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_BC_DIM_MAX */
-	if (x == Mono_Posix_SysConf__SC_BC_SCALE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_BC_SCALE_MAX)
 #ifdef _SC_BC_SCALE_MAX
 		{*r = _SC_BC_SCALE_MAX; return 0;}
 #else /* def _SC_BC_SCALE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_BC_SCALE_MAX */
-	if (x == Mono_Posix_SysConf__SC_BC_STRING_MAX)
+	if (x == Mono_Posix_SysconfName__SC_BC_STRING_MAX)
 #ifdef _SC_BC_STRING_MAX
 		{*r = _SC_BC_STRING_MAX; return 0;}
 #else /* def _SC_BC_STRING_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_BC_STRING_MAX */
-	if (x == Mono_Posix_SysConf__SC_CHARCLASS_NAME_MAX)
+	if (x == Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX)
 #ifdef _SC_CHARCLASS_NAME_MAX
 		{*r = _SC_CHARCLASS_NAME_MAX; return 0;}
 #else /* def _SC_CHARCLASS_NAME_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
-	if (x == Mono_Posix_SysConf__SC_CHAR_BIT)
+	if (x == Mono_Posix_SysconfName__SC_CHAR_BIT)
 #ifdef _SC_CHAR_BIT
 		{*r = _SC_CHAR_BIT; return 0;}
 #else /* def _SC_CHAR_BIT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CHAR_BIT */
-	if (x == Mono_Posix_SysConf__SC_CHAR_MAX)
+	if (x == Mono_Posix_SysconfName__SC_CHAR_MAX)
 #ifdef _SC_CHAR_MAX
 		{*r = _SC_CHAR_MAX; return 0;}
 #else /* def _SC_CHAR_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CHAR_MAX */
-	if (x == Mono_Posix_SysConf__SC_CHAR_MIN)
+	if (x == Mono_Posix_SysconfName__SC_CHAR_MIN)
 #ifdef _SC_CHAR_MIN
 		{*r = _SC_CHAR_MIN; return 0;}
 #else /* def _SC_CHAR_MIN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CHAR_MIN */
-	if (x == Mono_Posix_SysConf__SC_CHILD_MAX)
+	if (x == Mono_Posix_SysconfName__SC_CHILD_MAX)
 #ifdef _SC_CHILD_MAX
 		{*r = _SC_CHILD_MAX; return 0;}
 #else /* def _SC_CHILD_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CHILD_MAX */
-	if (x == Mono_Posix_SysConf__SC_CLK_TCK)
+	if (x == Mono_Posix_SysconfName__SC_CLK_TCK)
 #ifdef _SC_CLK_TCK
 		{*r = _SC_CLK_TCK; return 0;}
 #else /* def _SC_CLK_TCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CLK_TCK */
-	if (x == Mono_Posix_SysConf__SC_CLOCK_SELECTION)
+	if (x == Mono_Posix_SysconfName__SC_CLOCK_SELECTION)
 #ifdef _SC_CLOCK_SELECTION
 		{*r = _SC_CLOCK_SELECTION; return 0;}
 #else /* def _SC_CLOCK_SELECTION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CLOCK_SELECTION */
-	if (x == Mono_Posix_SysConf__SC_COLL_WEIGHTS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX)
 #ifdef _SC_COLL_WEIGHTS_MAX
 		{*r = _SC_COLL_WEIGHTS_MAX; return 0;}
 #else /* def _SC_COLL_WEIGHTS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
-	if (x == Mono_Posix_SysConf__SC_CPUTIME)
+	if (x == Mono_Posix_SysconfName__SC_CPUTIME)
 #ifdef _SC_CPUTIME
 		{*r = _SC_CPUTIME; return 0;}
 #else /* def _SC_CPUTIME */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_CPUTIME */
-	if (x == Mono_Posix_SysConf__SC_C_LANG_SUPPORT)
+	if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT)
 #ifdef _SC_C_LANG_SUPPORT
 		{*r = _SC_C_LANG_SUPPORT; return 0;}
 #else /* def _SC_C_LANG_SUPPORT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_C_LANG_SUPPORT */
-	if (x == Mono_Posix_SysConf__SC_C_LANG_SUPPORT_R)
+	if (x == Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R)
 #ifdef _SC_C_LANG_SUPPORT_R
 		{*r = _SC_C_LANG_SUPPORT_R; return 0;}
 #else /* def _SC_C_LANG_SUPPORT_R */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_C_LANG_SUPPORT_R */
-	if (x == Mono_Posix_SysConf__SC_DELAYTIMER_MAX)
+	if (x == Mono_Posix_SysconfName__SC_DELAYTIMER_MAX)
 #ifdef _SC_DELAYTIMER_MAX
 		{*r = _SC_DELAYTIMER_MAX; return 0;}
 #else /* def _SC_DELAYTIMER_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_DELAYTIMER_MAX */
-	if (x == Mono_Posix_SysConf__SC_DEVICE_IO)
+	if (x == Mono_Posix_SysconfName__SC_DEVICE_IO)
 #ifdef _SC_DEVICE_IO
 		{*r = _SC_DEVICE_IO; return 0;}
 #else /* def _SC_DEVICE_IO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_DEVICE_IO */
-	if (x == Mono_Posix_SysConf__SC_DEVICE_SPECIFIC)
+	if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC)
 #ifdef _SC_DEVICE_SPECIFIC
 		{*r = _SC_DEVICE_SPECIFIC; return 0;}
 #else /* def _SC_DEVICE_SPECIFIC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_DEVICE_SPECIFIC */
-	if (x == Mono_Posix_SysConf__SC_DEVICE_SPECIFIC_R)
+	if (x == Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R)
 #ifdef _SC_DEVICE_SPECIFIC_R
 		{*r = _SC_DEVICE_SPECIFIC_R; return 0;}
 #else /* def _SC_DEVICE_SPECIFIC_R */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
-	if (x == Mono_Posix_SysConf__SC_EQUIV_CLASS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX)
 #ifdef _SC_EQUIV_CLASS_MAX
 		{*r = _SC_EQUIV_CLASS_MAX; return 0;}
 #else /* def _SC_EQUIV_CLASS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_EQUIV_CLASS_MAX */
-	if (x == Mono_Posix_SysConf__SC_EXPR_NEST_MAX)
+	if (x == Mono_Posix_SysconfName__SC_EXPR_NEST_MAX)
 #ifdef _SC_EXPR_NEST_MAX
 		{*r = _SC_EXPR_NEST_MAX; return 0;}
 #else /* def _SC_EXPR_NEST_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_EXPR_NEST_MAX */
-	if (x == Mono_Posix_SysConf__SC_FD_MGMT)
+	if (x == Mono_Posix_SysconfName__SC_FD_MGMT)
 #ifdef _SC_FD_MGMT
 		{*r = _SC_FD_MGMT; return 0;}
 #else /* def _SC_FD_MGMT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_FD_MGMT */
-	if (x == Mono_Posix_SysConf__SC_FIFO)
+	if (x == Mono_Posix_SysconfName__SC_FIFO)
 #ifdef _SC_FIFO
 		{*r = _SC_FIFO; return 0;}
 #else /* def _SC_FIFO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_FIFO */
-	if (x == Mono_Posix_SysConf__SC_FILE_ATTRIBUTES)
+	if (x == Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES)
 #ifdef _SC_FILE_ATTRIBUTES
 		{*r = _SC_FILE_ATTRIBUTES; return 0;}
 #else /* def _SC_FILE_ATTRIBUTES */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_FILE_ATTRIBUTES */
-	if (x == Mono_Posix_SysConf__SC_FILE_LOCKING)
+	if (x == Mono_Posix_SysconfName__SC_FILE_LOCKING)
 #ifdef _SC_FILE_LOCKING
 		{*r = _SC_FILE_LOCKING; return 0;}
 #else /* def _SC_FILE_LOCKING */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_FILE_LOCKING */
-	if (x == Mono_Posix_SysConf__SC_FILE_SYSTEM)
+	if (x == Mono_Posix_SysconfName__SC_FILE_SYSTEM)
 #ifdef _SC_FILE_SYSTEM
 		{*r = _SC_FILE_SYSTEM; return 0;}
 #else /* def _SC_FILE_SYSTEM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_FILE_SYSTEM */
-	if (x == Mono_Posix_SysConf__SC_FSYNC)
+	if (x == Mono_Posix_SysconfName__SC_FSYNC)
 #ifdef _SC_FSYNC
 		{*r = _SC_FSYNC; return 0;}
 #else /* def _SC_FSYNC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_FSYNC */
-	if (x == Mono_Posix_SysConf__SC_GETGR_R_SIZE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX)
 #ifdef _SC_GETGR_R_SIZE_MAX
 		{*r = _SC_GETGR_R_SIZE_MAX; return 0;}
 #else /* def _SC_GETGR_R_SIZE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
-	if (x == Mono_Posix_SysConf__SC_GETPW_R_SIZE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX)
 #ifdef _SC_GETPW_R_SIZE_MAX
 		{*r = _SC_GETPW_R_SIZE_MAX; return 0;}
 #else /* def _SC_GETPW_R_SIZE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
-	if (x == Mono_Posix_SysConf__SC_HOST_NAME_MAX)
+	if (x == Mono_Posix_SysconfName__SC_HOST_NAME_MAX)
 #ifdef _SC_HOST_NAME_MAX
 		{*r = _SC_HOST_NAME_MAX; return 0;}
 #else /* def _SC_HOST_NAME_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_HOST_NAME_MAX */
-	if (x == Mono_Posix_SysConf__SC_INT_MAX)
+	if (x == Mono_Posix_SysconfName__SC_INT_MAX)
 #ifdef _SC_INT_MAX
 		{*r = _SC_INT_MAX; return 0;}
 #else /* def _SC_INT_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_INT_MAX */
-	if (x == Mono_Posix_SysConf__SC_INT_MIN)
+	if (x == Mono_Posix_SysconfName__SC_INT_MIN)
 #ifdef _SC_INT_MIN
 		{*r = _SC_INT_MIN; return 0;}
 #else /* def _SC_INT_MIN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_INT_MIN */
-	if (x == Mono_Posix_SysConf__SC_IOV_MAX)
+	if (x == Mono_Posix_SysconfName__SC_IOV_MAX)
 #ifdef _SC_IOV_MAX
 		{*r = _SC_IOV_MAX; return 0;}
 #else /* def _SC_IOV_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_IOV_MAX */
-	if (x == Mono_Posix_SysConf__SC_JOB_CONTROL)
+	if (x == Mono_Posix_SysconfName__SC_JOB_CONTROL)
 #ifdef _SC_JOB_CONTROL
 		{*r = _SC_JOB_CONTROL; return 0;}
 #else /* def _SC_JOB_CONTROL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_JOB_CONTROL */
-	if (x == Mono_Posix_SysConf__SC_LEVEL1_DCACHE_ASSOC)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC)
 #ifdef _SC_LEVEL1_DCACHE_ASSOC
 		{*r = _SC_LEVEL1_DCACHE_ASSOC; return 0;}
 #else /* def _SC_LEVEL1_DCACHE_ASSOC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
-	if (x == Mono_Posix_SysConf__SC_LEVEL1_DCACHE_LINESIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE)
 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
 		{*r = _SC_LEVEL1_DCACHE_LINESIZE; return 0;}
 #else /* def _SC_LEVEL1_DCACHE_LINESIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL1_DCACHE_SIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE)
 #ifdef _SC_LEVEL1_DCACHE_SIZE
 		{*r = _SC_LEVEL1_DCACHE_SIZE; return 0;}
 #else /* def _SC_LEVEL1_DCACHE_SIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL1_ICACHE_ASSOC)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC)
 #ifdef _SC_LEVEL1_ICACHE_ASSOC
 		{*r = _SC_LEVEL1_ICACHE_ASSOC; return 0;}
 #else /* def _SC_LEVEL1_ICACHE_ASSOC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
-	if (x == Mono_Posix_SysConf__SC_LEVEL1_ICACHE_LINESIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE)
 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
 		{*r = _SC_LEVEL1_ICACHE_LINESIZE; return 0;}
 #else /* def _SC_LEVEL1_ICACHE_LINESIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL1_ICACHE_SIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE)
 #ifdef _SC_LEVEL1_ICACHE_SIZE
 		{*r = _SC_LEVEL1_ICACHE_SIZE; return 0;}
 #else /* def _SC_LEVEL1_ICACHE_SIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL2_CACHE_ASSOC)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC)
 #ifdef _SC_LEVEL2_CACHE_ASSOC
 		{*r = _SC_LEVEL2_CACHE_ASSOC; return 0;}
 #else /* def _SC_LEVEL2_CACHE_ASSOC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
-	if (x == Mono_Posix_SysConf__SC_LEVEL2_CACHE_LINESIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE)
 #ifdef _SC_LEVEL2_CACHE_LINESIZE
 		{*r = _SC_LEVEL2_CACHE_LINESIZE; return 0;}
 #else /* def _SC_LEVEL2_CACHE_LINESIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL2_CACHE_SIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE)
 #ifdef _SC_LEVEL2_CACHE_SIZE
 		{*r = _SC_LEVEL2_CACHE_SIZE; return 0;}
 #else /* def _SC_LEVEL2_CACHE_SIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL3_CACHE_ASSOC)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC)
 #ifdef _SC_LEVEL3_CACHE_ASSOC
 		{*r = _SC_LEVEL3_CACHE_ASSOC; return 0;}
 #else /* def _SC_LEVEL3_CACHE_ASSOC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
-	if (x == Mono_Posix_SysConf__SC_LEVEL3_CACHE_LINESIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE)
 #ifdef _SC_LEVEL3_CACHE_LINESIZE
 		{*r = _SC_LEVEL3_CACHE_LINESIZE; return 0;}
 #else /* def _SC_LEVEL3_CACHE_LINESIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL3_CACHE_SIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE)
 #ifdef _SC_LEVEL3_CACHE_SIZE
 		{*r = _SC_LEVEL3_CACHE_SIZE; return 0;}
 #else /* def _SC_LEVEL3_CACHE_SIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL4_CACHE_ASSOC)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC)
 #ifdef _SC_LEVEL4_CACHE_ASSOC
 		{*r = _SC_LEVEL4_CACHE_ASSOC; return 0;}
 #else /* def _SC_LEVEL4_CACHE_ASSOC */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
-	if (x == Mono_Posix_SysConf__SC_LEVEL4_CACHE_LINESIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE)
 #ifdef _SC_LEVEL4_CACHE_LINESIZE
 		{*r = _SC_LEVEL4_CACHE_LINESIZE; return 0;}
 #else /* def _SC_LEVEL4_CACHE_LINESIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
-	if (x == Mono_Posix_SysConf__SC_LEVEL4_CACHE_SIZE)
+	if (x == Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE)
 #ifdef _SC_LEVEL4_CACHE_SIZE
 		{*r = _SC_LEVEL4_CACHE_SIZE; return 0;}
 #else /* def _SC_LEVEL4_CACHE_SIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
-	if (x == Mono_Posix_SysConf__SC_LINE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_LINE_MAX)
 #ifdef _SC_LINE_MAX
 		{*r = _SC_LINE_MAX; return 0;}
 #else /* def _SC_LINE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LINE_MAX */
-	if (x == Mono_Posix_SysConf__SC_LOGIN_NAME_MAX)
+	if (x == Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX)
 #ifdef _SC_LOGIN_NAME_MAX
 		{*r = _SC_LOGIN_NAME_MAX; return 0;}
 #else /* def _SC_LOGIN_NAME_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LOGIN_NAME_MAX */
-	if (x == Mono_Posix_SysConf__SC_LONG_BIT)
+	if (x == Mono_Posix_SysconfName__SC_LONG_BIT)
 #ifdef _SC_LONG_BIT
 		{*r = _SC_LONG_BIT; return 0;}
 #else /* def _SC_LONG_BIT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_LONG_BIT */
-	if (x == Mono_Posix_SysConf__SC_MAPPED_FILES)
+	if (x == Mono_Posix_SysconfName__SC_MAPPED_FILES)
 #ifdef _SC_MAPPED_FILES
 		{*r = _SC_MAPPED_FILES; return 0;}
 #else /* def _SC_MAPPED_FILES */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MAPPED_FILES */
-	if (x == Mono_Posix_SysConf__SC_MB_LEN_MAX)
+	if (x == Mono_Posix_SysconfName__SC_MB_LEN_MAX)
 #ifdef _SC_MB_LEN_MAX
 		{*r = _SC_MB_LEN_MAX; return 0;}
 #else /* def _SC_MB_LEN_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MB_LEN_MAX */
-	if (x == Mono_Posix_SysConf__SC_MEMLOCK)
+	if (x == Mono_Posix_SysconfName__SC_MEMLOCK)
 #ifdef _SC_MEMLOCK
 		{*r = _SC_MEMLOCK; return 0;}
 #else /* def _SC_MEMLOCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MEMLOCK */
-	if (x == Mono_Posix_SysConf__SC_MEMLOCK_RANGE)
+	if (x == Mono_Posix_SysconfName__SC_MEMLOCK_RANGE)
 #ifdef _SC_MEMLOCK_RANGE
 		{*r = _SC_MEMLOCK_RANGE; return 0;}
 #else /* def _SC_MEMLOCK_RANGE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MEMLOCK_RANGE */
-	if (x == Mono_Posix_SysConf__SC_MEMORY_PROTECTION)
+	if (x == Mono_Posix_SysconfName__SC_MEMORY_PROTECTION)
 #ifdef _SC_MEMORY_PROTECTION
 		{*r = _SC_MEMORY_PROTECTION; return 0;}
 #else /* def _SC_MEMORY_PROTECTION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MEMORY_PROTECTION */
-	if (x == Mono_Posix_SysConf__SC_MESSAGE_PASSING)
+	if (x == Mono_Posix_SysconfName__SC_MESSAGE_PASSING)
 #ifdef _SC_MESSAGE_PASSING
 		{*r = _SC_MESSAGE_PASSING; return 0;}
 #else /* def _SC_MESSAGE_PASSING */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MESSAGE_PASSING */
-	if (x == Mono_Posix_SysConf__SC_MONOTONIC_CLOCK)
+	if (x == Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK)
 #ifdef _SC_MONOTONIC_CLOCK
 		{*r = _SC_MONOTONIC_CLOCK; return 0;}
 #else /* def _SC_MONOTONIC_CLOCK */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MONOTONIC_CLOCK */
-	if (x == Mono_Posix_SysConf__SC_MQ_OPEN_MAX)
+	if (x == Mono_Posix_SysconfName__SC_MQ_OPEN_MAX)
 #ifdef _SC_MQ_OPEN_MAX
 		{*r = _SC_MQ_OPEN_MAX; return 0;}
 #else /* def _SC_MQ_OPEN_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MQ_OPEN_MAX */
-	if (x == Mono_Posix_SysConf__SC_MQ_PRIO_MAX)
+	if (x == Mono_Posix_SysconfName__SC_MQ_PRIO_MAX)
 #ifdef _SC_MQ_PRIO_MAX
 		{*r = _SC_MQ_PRIO_MAX; return 0;}
 #else /* def _SC_MQ_PRIO_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MQ_PRIO_MAX */
-	if (x == Mono_Posix_SysConf__SC_MULTI_PROCESS)
+	if (x == Mono_Posix_SysconfName__SC_MULTI_PROCESS)
 #ifdef _SC_MULTI_PROCESS
 		{*r = _SC_MULTI_PROCESS; return 0;}
 #else /* def _SC_MULTI_PROCESS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_MULTI_PROCESS */
-	if (x == Mono_Posix_SysConf__SC_NETWORKING)
+	if (x == Mono_Posix_SysconfName__SC_NETWORKING)
 #ifdef _SC_NETWORKING
 		{*r = _SC_NETWORKING; return 0;}
 #else /* def _SC_NETWORKING */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NETWORKING */
-	if (x == Mono_Posix_SysConf__SC_NGROUPS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_NGROUPS_MAX)
 #ifdef _SC_NGROUPS_MAX
 		{*r = _SC_NGROUPS_MAX; return 0;}
 #else /* def _SC_NGROUPS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NGROUPS_MAX */
-	if (x == Mono_Posix_SysConf__SC_NL_ARGMAX)
+	if (x == Mono_Posix_SysconfName__SC_NL_ARGMAX)
 #ifdef _SC_NL_ARGMAX
 		{*r = _SC_NL_ARGMAX; return 0;}
 #else /* def _SC_NL_ARGMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NL_ARGMAX */
-	if (x == Mono_Posix_SysConf__SC_NL_LANGMAX)
+	if (x == Mono_Posix_SysconfName__SC_NL_LANGMAX)
 #ifdef _SC_NL_LANGMAX
 		{*r = _SC_NL_LANGMAX; return 0;}
 #else /* def _SC_NL_LANGMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NL_LANGMAX */
-	if (x == Mono_Posix_SysConf__SC_NL_MSGMAX)
+	if (x == Mono_Posix_SysconfName__SC_NL_MSGMAX)
 #ifdef _SC_NL_MSGMAX
 		{*r = _SC_NL_MSGMAX; return 0;}
 #else /* def _SC_NL_MSGMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NL_MSGMAX */
-	if (x == Mono_Posix_SysConf__SC_NL_NMAX)
+	if (x == Mono_Posix_SysconfName__SC_NL_NMAX)
 #ifdef _SC_NL_NMAX
 		{*r = _SC_NL_NMAX; return 0;}
 #else /* def _SC_NL_NMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NL_NMAX */
-	if (x == Mono_Posix_SysConf__SC_NL_SETMAX)
+	if (x == Mono_Posix_SysconfName__SC_NL_SETMAX)
 #ifdef _SC_NL_SETMAX
 		{*r = _SC_NL_SETMAX; return 0;}
 #else /* def _SC_NL_SETMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NL_SETMAX */
-	if (x == Mono_Posix_SysConf__SC_NL_TEXTMAX)
+	if (x == Mono_Posix_SysconfName__SC_NL_TEXTMAX)
 #ifdef _SC_NL_TEXTMAX
 		{*r = _SC_NL_TEXTMAX; return 0;}
 #else /* def _SC_NL_TEXTMAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NL_TEXTMAX */
-	if (x == Mono_Posix_SysConf__SC_NPROCESSORS_CONF)
+	if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_CONF)
 #ifdef _SC_NPROCESSORS_CONF
 		{*r = _SC_NPROCESSORS_CONF; return 0;}
 #else /* def _SC_NPROCESSORS_CONF */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NPROCESSORS_CONF */
-	if (x == Mono_Posix_SysConf__SC_NPROCESSORS_ONLN)
+	if (x == Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN)
 #ifdef _SC_NPROCESSORS_ONLN
 		{*r = _SC_NPROCESSORS_ONLN; return 0;}
 #else /* def _SC_NPROCESSORS_ONLN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NPROCESSORS_ONLN */
-	if (x == Mono_Posix_SysConf__SC_NZERO)
+	if (x == Mono_Posix_SysconfName__SC_NZERO)
 #ifdef _SC_NZERO
 		{*r = _SC_NZERO; return 0;}
 #else /* def _SC_NZERO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_NZERO */
-	if (x == Mono_Posix_SysConf__SC_OPEN_MAX)
+	if (x == Mono_Posix_SysconfName__SC_OPEN_MAX)
 #ifdef _SC_OPEN_MAX
 		{*r = _SC_OPEN_MAX; return 0;}
 #else /* def _SC_OPEN_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_OPEN_MAX */
-	if (x == Mono_Posix_SysConf__SC_PAGESIZE)
+	if (x == Mono_Posix_SysconfName__SC_PAGESIZE)
 #ifdef _SC_PAGESIZE
 		{*r = _SC_PAGESIZE; return 0;}
 #else /* def _SC_PAGESIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PAGESIZE */
-	if (x == Mono_Posix_SysConf__SC_PASS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_PASS_MAX)
 #ifdef _SC_PASS_MAX
 		{*r = _SC_PASS_MAX; return 0;}
 #else /* def _SC_PASS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PASS_MAX */
-	if (x == Mono_Posix_SysConf__SC_PHYS_PAGES)
+	if (x == Mono_Posix_SysconfName__SC_PHYS_PAGES)
 #ifdef _SC_PHYS_PAGES
 		{*r = _SC_PHYS_PAGES; return 0;}
 #else /* def _SC_PHYS_PAGES */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PHYS_PAGES */
-	if (x == Mono_Posix_SysConf__SC_PII)
+	if (x == Mono_Posix_SysconfName__SC_PII)
 #ifdef _SC_PII
 		{*r = _SC_PII; return 0;}
 #else /* def _SC_PII */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII */
-	if (x == Mono_Posix_SysConf__SC_PII_INTERNET)
+	if (x == Mono_Posix_SysconfName__SC_PII_INTERNET)
 #ifdef _SC_PII_INTERNET
 		{*r = _SC_PII_INTERNET; return 0;}
 #else /* def _SC_PII_INTERNET */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_INTERNET */
-	if (x == Mono_Posix_SysConf__SC_PII_INTERNET_DGRAM)
+	if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM)
 #ifdef _SC_PII_INTERNET_DGRAM
 		{*r = _SC_PII_INTERNET_DGRAM; return 0;}
 #else /* def _SC_PII_INTERNET_DGRAM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_INTERNET_DGRAM */
-	if (x == Mono_Posix_SysConf__SC_PII_INTERNET_STREAM)
+	if (x == Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM)
 #ifdef _SC_PII_INTERNET_STREAM
 		{*r = _SC_PII_INTERNET_STREAM; return 0;}
 #else /* def _SC_PII_INTERNET_STREAM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_INTERNET_STREAM */
-	if (x == Mono_Posix_SysConf__SC_PII_OSI)
+	if (x == Mono_Posix_SysconfName__SC_PII_OSI)
 #ifdef _SC_PII_OSI
 		{*r = _SC_PII_OSI; return 0;}
 #else /* def _SC_PII_OSI */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_OSI */
-	if (x == Mono_Posix_SysConf__SC_PII_OSI_CLTS)
+	if (x == Mono_Posix_SysconfName__SC_PII_OSI_CLTS)
 #ifdef _SC_PII_OSI_CLTS
 		{*r = _SC_PII_OSI_CLTS; return 0;}
 #else /* def _SC_PII_OSI_CLTS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_OSI_CLTS */
-	if (x == Mono_Posix_SysConf__SC_PII_OSI_COTS)
+	if (x == Mono_Posix_SysconfName__SC_PII_OSI_COTS)
 #ifdef _SC_PII_OSI_COTS
 		{*r = _SC_PII_OSI_COTS; return 0;}
 #else /* def _SC_PII_OSI_COTS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_OSI_COTS */
-	if (x == Mono_Posix_SysConf__SC_PII_OSI_M)
+	if (x == Mono_Posix_SysconfName__SC_PII_OSI_M)
 #ifdef _SC_PII_OSI_M
 		{*r = _SC_PII_OSI_M; return 0;}
 #else /* def _SC_PII_OSI_M */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_OSI_M */
-	if (x == Mono_Posix_SysConf__SC_PII_SOCKET)
+	if (x == Mono_Posix_SysconfName__SC_PII_SOCKET)
 #ifdef _SC_PII_SOCKET
 		{*r = _SC_PII_SOCKET; return 0;}
 #else /* def _SC_PII_SOCKET */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_SOCKET */
-	if (x == Mono_Posix_SysConf__SC_PII_XTI)
+	if (x == Mono_Posix_SysconfName__SC_PII_XTI)
 #ifdef _SC_PII_XTI
 		{*r = _SC_PII_XTI; return 0;}
 #else /* def _SC_PII_XTI */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PII_XTI */
-	if (x == Mono_Posix_SysConf__SC_PIPE)
+	if (x == Mono_Posix_SysconfName__SC_PIPE)
 #ifdef _SC_PIPE
 		{*r = _SC_PIPE; return 0;}
 #else /* def _SC_PIPE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PIPE */
-	if (x == Mono_Posix_SysConf__SC_POLL)
+	if (x == Mono_Posix_SysconfName__SC_POLL)
 #ifdef _SC_POLL
 		{*r = _SC_POLL; return 0;}
 #else /* def _SC_POLL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_POLL */
-	if (x == Mono_Posix_SysConf__SC_PRIORITIZED_IO)
+	if (x == Mono_Posix_SysconfName__SC_PRIORITIZED_IO)
 #ifdef _SC_PRIORITIZED_IO
 		{*r = _SC_PRIORITIZED_IO; return 0;}
 #else /* def _SC_PRIORITIZED_IO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PRIORITIZED_IO */
-	if (x == Mono_Posix_SysConf__SC_PRIORITY_SCHEDULING)
+	if (x == Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING)
 #ifdef _SC_PRIORITY_SCHEDULING
 		{*r = _SC_PRIORITY_SCHEDULING; return 0;}
 #else /* def _SC_PRIORITY_SCHEDULING */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_PRIORITY_SCHEDULING */
-	if (x == Mono_Posix_SysConf__SC_READER_WRITER_LOCKS)
+	if (x == Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS)
 #ifdef _SC_READER_WRITER_LOCKS
 		{*r = _SC_READER_WRITER_LOCKS; return 0;}
 #else /* def _SC_READER_WRITER_LOCKS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_READER_WRITER_LOCKS */
-	if (x == Mono_Posix_SysConf__SC_REALTIME_SIGNALS)
+	if (x == Mono_Posix_SysconfName__SC_REALTIME_SIGNALS)
 #ifdef _SC_REALTIME_SIGNALS
 		{*r = _SC_REALTIME_SIGNALS; return 0;}
 #else /* def _SC_REALTIME_SIGNALS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_REALTIME_SIGNALS */
-	if (x == Mono_Posix_SysConf__SC_REGEXP)
+	if (x == Mono_Posix_SysconfName__SC_REGEXP)
 #ifdef _SC_REGEXP
 		{*r = _SC_REGEXP; return 0;}
 #else /* def _SC_REGEXP */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_REGEXP */
-	if (x == Mono_Posix_SysConf__SC_REGEX_VERSION)
+	if (x == Mono_Posix_SysconfName__SC_REGEX_VERSION)
 #ifdef _SC_REGEX_VERSION
 		{*r = _SC_REGEX_VERSION; return 0;}
 #else /* def _SC_REGEX_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_REGEX_VERSION */
-	if (x == Mono_Posix_SysConf__SC_RE_DUP_MAX)
+	if (x == Mono_Posix_SysconfName__SC_RE_DUP_MAX)
 #ifdef _SC_RE_DUP_MAX
 		{*r = _SC_RE_DUP_MAX; return 0;}
 #else /* def _SC_RE_DUP_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_RE_DUP_MAX */
-	if (x == Mono_Posix_SysConf__SC_RTSIG_MAX)
+	if (x == Mono_Posix_SysconfName__SC_RTSIG_MAX)
 #ifdef _SC_RTSIG_MAX
 		{*r = _SC_RTSIG_MAX; return 0;}
 #else /* def _SC_RTSIG_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_RTSIG_MAX */
-	if (x == Mono_Posix_SysConf__SC_SAVED_IDS)
+	if (x == Mono_Posix_SysconfName__SC_SAVED_IDS)
 #ifdef _SC_SAVED_IDS
 		{*r = _SC_SAVED_IDS; return 0;}
 #else /* def _SC_SAVED_IDS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SAVED_IDS */
-	if (x == Mono_Posix_SysConf__SC_SCHAR_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SCHAR_MAX)
 #ifdef _SC_SCHAR_MAX
 		{*r = _SC_SCHAR_MAX; return 0;}
 #else /* def _SC_SCHAR_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SCHAR_MAX */
-	if (x == Mono_Posix_SysConf__SC_SCHAR_MIN)
+	if (x == Mono_Posix_SysconfName__SC_SCHAR_MIN)
 #ifdef _SC_SCHAR_MIN
 		{*r = _SC_SCHAR_MIN; return 0;}
 #else /* def _SC_SCHAR_MIN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SCHAR_MIN */
-	if (x == Mono_Posix_SysConf__SC_SELECT)
+	if (x == Mono_Posix_SysconfName__SC_SELECT)
 #ifdef _SC_SELECT
 		{*r = _SC_SELECT; return 0;}
 #else /* def _SC_SELECT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SELECT */
-	if (x == Mono_Posix_SysConf__SC_SEMAPHORES)
+	if (x == Mono_Posix_SysconfName__SC_SEMAPHORES)
 #ifdef _SC_SEMAPHORES
 		{*r = _SC_SEMAPHORES; return 0;}
 #else /* def _SC_SEMAPHORES */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SEMAPHORES */
-	if (x == Mono_Posix_SysConf__SC_SEM_NSEMS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX)
 #ifdef _SC_SEM_NSEMS_MAX
 		{*r = _SC_SEM_NSEMS_MAX; return 0;}
 #else /* def _SC_SEM_NSEMS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SEM_NSEMS_MAX */
-	if (x == Mono_Posix_SysConf__SC_SEM_VALUE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SEM_VALUE_MAX)
 #ifdef _SC_SEM_VALUE_MAX
 		{*r = _SC_SEM_VALUE_MAX; return 0;}
 #else /* def _SC_SEM_VALUE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SEM_VALUE_MAX */
-	if (x == Mono_Posix_SysConf__SC_SHARED_MEMORY_OBJECTS)
+	if (x == Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS)
 #ifdef _SC_SHARED_MEMORY_OBJECTS
 		{*r = _SC_SHARED_MEMORY_OBJECTS; return 0;}
 #else /* def _SC_SHARED_MEMORY_OBJECTS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
-	if (x == Mono_Posix_SysConf__SC_SHELL)
+	if (x == Mono_Posix_SysconfName__SC_SHELL)
 #ifdef _SC_SHELL
 		{*r = _SC_SHELL; return 0;}
 #else /* def _SC_SHELL */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SHELL */
-	if (x == Mono_Posix_SysConf__SC_SHRT_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SHRT_MAX)
 #ifdef _SC_SHRT_MAX
 		{*r = _SC_SHRT_MAX; return 0;}
 #else /* def _SC_SHRT_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SHRT_MAX */
-	if (x == Mono_Posix_SysConf__SC_SHRT_MIN)
+	if (x == Mono_Posix_SysconfName__SC_SHRT_MIN)
 #ifdef _SC_SHRT_MIN
 		{*r = _SC_SHRT_MIN; return 0;}
 #else /* def _SC_SHRT_MIN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SHRT_MIN */
-	if (x == Mono_Posix_SysConf__SC_SIGNALS)
+	if (x == Mono_Posix_SysconfName__SC_SIGNALS)
 #ifdef _SC_SIGNALS
 		{*r = _SC_SIGNALS; return 0;}
 #else /* def _SC_SIGNALS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SIGNALS */
-	if (x == Mono_Posix_SysConf__SC_SIGQUEUE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SIGQUEUE_MAX)
 #ifdef _SC_SIGQUEUE_MAX
 		{*r = _SC_SIGQUEUE_MAX; return 0;}
 #else /* def _SC_SIGQUEUE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SIGQUEUE_MAX */
-	if (x == Mono_Posix_SysConf__SC_SINGLE_PROCESS)
+	if (x == Mono_Posix_SysconfName__SC_SINGLE_PROCESS)
 #ifdef _SC_SINGLE_PROCESS
 		{*r = _SC_SINGLE_PROCESS; return 0;}
 #else /* def _SC_SINGLE_PROCESS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SINGLE_PROCESS */
-	if (x == Mono_Posix_SysConf__SC_SPAWN)
+	if (x == Mono_Posix_SysconfName__SC_SPAWN)
 #ifdef _SC_SPAWN
 		{*r = _SC_SPAWN; return 0;}
 #else /* def _SC_SPAWN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SPAWN */
-	if (x == Mono_Posix_SysConf__SC_SPIN_LOCKS)
+	if (x == Mono_Posix_SysconfName__SC_SPIN_LOCKS)
 #ifdef _SC_SPIN_LOCKS
 		{*r = _SC_SPIN_LOCKS; return 0;}
 #else /* def _SC_SPIN_LOCKS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SPIN_LOCKS */
-	if (x == Mono_Posix_SysConf__SC_SPORADIC_SERVER)
+	if (x == Mono_Posix_SysconfName__SC_SPORADIC_SERVER)
 #ifdef _SC_SPORADIC_SERVER
 		{*r = _SC_SPORADIC_SERVER; return 0;}
 #else /* def _SC_SPORADIC_SERVER */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SPORADIC_SERVER */
-	if (x == Mono_Posix_SysConf__SC_SSIZE_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SSIZE_MAX)
 #ifdef _SC_SSIZE_MAX
 		{*r = _SC_SSIZE_MAX; return 0;}
 #else /* def _SC_SSIZE_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SSIZE_MAX */
-	if (x == Mono_Posix_SysConf__SC_STREAMS)
+	if (x == Mono_Posix_SysconfName__SC_STREAMS)
 #ifdef _SC_STREAMS
 		{*r = _SC_STREAMS; return 0;}
 #else /* def _SC_STREAMS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_STREAMS */
-	if (x == Mono_Posix_SysConf__SC_STREAM_MAX)
+	if (x == Mono_Posix_SysconfName__SC_STREAM_MAX)
 #ifdef _SC_STREAM_MAX
 		{*r = _SC_STREAM_MAX; return 0;}
 #else /* def _SC_STREAM_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_STREAM_MAX */
-	if (x == Mono_Posix_SysConf__SC_SYMLOOP_MAX)
+	if (x == Mono_Posix_SysconfName__SC_SYMLOOP_MAX)
 #ifdef _SC_SYMLOOP_MAX
 		{*r = _SC_SYMLOOP_MAX; return 0;}
 #else /* def _SC_SYMLOOP_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SYMLOOP_MAX */
-	if (x == Mono_Posix_SysConf__SC_SYNCHRONIZED_IO)
+	if (x == Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO)
 #ifdef _SC_SYNCHRONIZED_IO
 		{*r = _SC_SYNCHRONIZED_IO; return 0;}
 #else /* def _SC_SYNCHRONIZED_IO */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SYNCHRONIZED_IO */
-	if (x == Mono_Posix_SysConf__SC_SYSTEM_DATABASE)
+	if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE)
 #ifdef _SC_SYSTEM_DATABASE
 		{*r = _SC_SYSTEM_DATABASE; return 0;}
 #else /* def _SC_SYSTEM_DATABASE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SYSTEM_DATABASE */
-	if (x == Mono_Posix_SysConf__SC_SYSTEM_DATABASE_R)
+	if (x == Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R)
 #ifdef _SC_SYSTEM_DATABASE_R
 		{*r = _SC_SYSTEM_DATABASE_R; return 0;}
 #else /* def _SC_SYSTEM_DATABASE_R */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_SYSTEM_DATABASE_R */
-	if (x == Mono_Posix_SysConf__SC_THREADS)
+	if (x == Mono_Posix_SysconfName__SC_THREADS)
 #ifdef _SC_THREADS
 		{*r = _SC_THREADS; return 0;}
 #else /* def _SC_THREADS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREADS */
-	if (x == Mono_Posix_SysConf__SC_THREAD_ATTR_STACKADDR)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR)
 #ifdef _SC_THREAD_ATTR_STACKADDR
 		{*r = _SC_THREAD_ATTR_STACKADDR; return 0;}
 #else /* def _SC_THREAD_ATTR_STACKADDR */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
-	if (x == Mono_Posix_SysConf__SC_THREAD_ATTR_STACKSIZE)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE)
 #ifdef _SC_THREAD_ATTR_STACKSIZE
 		{*r = _SC_THREAD_ATTR_STACKSIZE; return 0;}
 #else /* def _SC_THREAD_ATTR_STACKSIZE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
-	if (x == Mono_Posix_SysConf__SC_THREAD_CPUTIME)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_CPUTIME)
 #ifdef _SC_THREAD_CPUTIME
 		{*r = _SC_THREAD_CPUTIME; return 0;}
 #else /* def _SC_THREAD_CPUTIME */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_CPUTIME */
-	if (x == Mono_Posix_SysConf__SC_THREAD_DESTRUCTOR_ITERATIONS)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS)
 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
 		{*r = _SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
 #else /* def _SC_THREAD_DESTRUCTOR_ITERATIONS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
-	if (x == Mono_Posix_SysConf__SC_THREAD_KEYS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX)
 #ifdef _SC_THREAD_KEYS_MAX
 		{*r = _SC_THREAD_KEYS_MAX; return 0;}
 #else /* def _SC_THREAD_KEYS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_KEYS_MAX */
-	if (x == Mono_Posix_SysConf__SC_THREAD_PRIORITY_SCHEDULING)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING)
 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
 		{*r = _SC_THREAD_PRIORITY_SCHEDULING; return 0;}
 #else /* def _SC_THREAD_PRIORITY_SCHEDULING */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
-	if (x == Mono_Posix_SysConf__SC_THREAD_PRIO_INHERIT)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT)
 #ifdef _SC_THREAD_PRIO_INHERIT
 		{*r = _SC_THREAD_PRIO_INHERIT; return 0;}
 #else /* def _SC_THREAD_PRIO_INHERIT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
-	if (x == Mono_Posix_SysConf__SC_THREAD_PRIO_PROTECT)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT)
 #ifdef _SC_THREAD_PRIO_PROTECT
 		{*r = _SC_THREAD_PRIO_PROTECT; return 0;}
 #else /* def _SC_THREAD_PRIO_PROTECT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
-	if (x == Mono_Posix_SysConf__SC_THREAD_PROCESS_SHARED)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED)
 #ifdef _SC_THREAD_PROCESS_SHARED
 		{*r = _SC_THREAD_PROCESS_SHARED; return 0;}
 #else /* def _SC_THREAD_PROCESS_SHARED */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
-	if (x == Mono_Posix_SysConf__SC_THREAD_SAFE_FUNCTIONS)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS)
 #ifdef _SC_THREAD_SAFE_FUNCTIONS
 		{*r = _SC_THREAD_SAFE_FUNCTIONS; return 0;}
 #else /* def _SC_THREAD_SAFE_FUNCTIONS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
-	if (x == Mono_Posix_SysConf__SC_THREAD_SPORADIC_SERVER)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER)
 #ifdef _SC_THREAD_SPORADIC_SERVER
 		{*r = _SC_THREAD_SPORADIC_SERVER; return 0;}
 #else /* def _SC_THREAD_SPORADIC_SERVER */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
-	if (x == Mono_Posix_SysConf__SC_THREAD_STACK_MIN)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_STACK_MIN)
 #ifdef _SC_THREAD_STACK_MIN
 		{*r = _SC_THREAD_STACK_MIN; return 0;}
 #else /* def _SC_THREAD_STACK_MIN */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_STACK_MIN */
-	if (x == Mono_Posix_SysConf__SC_THREAD_THREADS_MAX)
+	if (x == Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX)
 #ifdef _SC_THREAD_THREADS_MAX
 		{*r = _SC_THREAD_THREADS_MAX; return 0;}
 #else /* def _SC_THREAD_THREADS_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_THREAD_THREADS_MAX */
-	if (x == Mono_Posix_SysConf__SC_TIMEOUTS)
+	if (x == Mono_Posix_SysconfName__SC_TIMEOUTS)
 #ifdef _SC_TIMEOUTS
 		{*r = _SC_TIMEOUTS; return 0;}
 #else /* def _SC_TIMEOUTS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TIMEOUTS */
-	if (x == Mono_Posix_SysConf__SC_TIMERS)
+	if (x == Mono_Posix_SysconfName__SC_TIMERS)
 #ifdef _SC_TIMERS
 		{*r = _SC_TIMERS; return 0;}
 #else /* def _SC_TIMERS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TIMERS */
-	if (x == Mono_Posix_SysConf__SC_TIMER_MAX)
+	if (x == Mono_Posix_SysconfName__SC_TIMER_MAX)
 #ifdef _SC_TIMER_MAX
 		{*r = _SC_TIMER_MAX; return 0;}
 #else /* def _SC_TIMER_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TIMER_MAX */
-	if (x == Mono_Posix_SysConf__SC_TRACE)
+	if (x == Mono_Posix_SysconfName__SC_TRACE)
 #ifdef _SC_TRACE
 		{*r = _SC_TRACE; return 0;}
 #else /* def _SC_TRACE */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TRACE */
-	if (x == Mono_Posix_SysConf__SC_TRACE_EVENT_FILTER)
+	if (x == Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER)
 #ifdef _SC_TRACE_EVENT_FILTER
 		{*r = _SC_TRACE_EVENT_FILTER; return 0;}
 #else /* def _SC_TRACE_EVENT_FILTER */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TRACE_EVENT_FILTER */
-	if (x == Mono_Posix_SysConf__SC_TRACE_INHERIT)
+	if (x == Mono_Posix_SysconfName__SC_TRACE_INHERIT)
 #ifdef _SC_TRACE_INHERIT
 		{*r = _SC_TRACE_INHERIT; return 0;}
 #else /* def _SC_TRACE_INHERIT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TRACE_INHERIT */
-	if (x == Mono_Posix_SysConf__SC_TRACE_LOG)
+	if (x == Mono_Posix_SysconfName__SC_TRACE_LOG)
 #ifdef _SC_TRACE_LOG
 		{*r = _SC_TRACE_LOG; return 0;}
 #else /* def _SC_TRACE_LOG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TRACE_LOG */
-	if (x == Mono_Posix_SysConf__SC_TTY_NAME_MAX)
+	if (x == Mono_Posix_SysconfName__SC_TTY_NAME_MAX)
 #ifdef _SC_TTY_NAME_MAX
 		{*r = _SC_TTY_NAME_MAX; return 0;}
 #else /* def _SC_TTY_NAME_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TTY_NAME_MAX */
-	if (x == Mono_Posix_SysConf__SC_TYPED_MEMORY_OBJECTS)
+	if (x == Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS)
 #ifdef _SC_TYPED_MEMORY_OBJECTS
 		{*r = _SC_TYPED_MEMORY_OBJECTS; return 0;}
 #else /* def _SC_TYPED_MEMORY_OBJECTS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
-	if (x == Mono_Posix_SysConf__SC_TZNAME_MAX)
+	if (x == Mono_Posix_SysconfName__SC_TZNAME_MAX)
 #ifdef _SC_TZNAME_MAX
 		{*r = _SC_TZNAME_MAX; return 0;}
 #else /* def _SC_TZNAME_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_TZNAME_MAX */
-	if (x == Mono_Posix_SysConf__SC_T_IOV_MAX)
+	if (x == Mono_Posix_SysconfName__SC_T_IOV_MAX)
 #ifdef _SC_T_IOV_MAX
 		{*r = _SC_T_IOV_MAX; return 0;}
 #else /* def _SC_T_IOV_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_T_IOV_MAX */
-	if (x == Mono_Posix_SysConf__SC_UCHAR_MAX)
+	if (x == Mono_Posix_SysconfName__SC_UCHAR_MAX)
 #ifdef _SC_UCHAR_MAX
 		{*r = _SC_UCHAR_MAX; return 0;}
 #else /* def _SC_UCHAR_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_UCHAR_MAX */
-	if (x == Mono_Posix_SysConf__SC_UINT_MAX)
+	if (x == Mono_Posix_SysconfName__SC_UINT_MAX)
 #ifdef _SC_UINT_MAX
 		{*r = _SC_UINT_MAX; return 0;}
 #else /* def _SC_UINT_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_UINT_MAX */
-	if (x == Mono_Posix_SysConf__SC_UIO_MAXIOV)
+	if (x == Mono_Posix_SysconfName__SC_UIO_MAXIOV)
 #ifdef _SC_UIO_MAXIOV
 		{*r = _SC_UIO_MAXIOV; return 0;}
 #else /* def _SC_UIO_MAXIOV */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_UIO_MAXIOV */
-	if (x == Mono_Posix_SysConf__SC_ULONG_MAX)
+	if (x == Mono_Posix_SysconfName__SC_ULONG_MAX)
 #ifdef _SC_ULONG_MAX
 		{*r = _SC_ULONG_MAX; return 0;}
 #else /* def _SC_ULONG_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_ULONG_MAX */
-	if (x == Mono_Posix_SysConf__SC_USER_GROUPS)
+	if (x == Mono_Posix_SysconfName__SC_USER_GROUPS)
 #ifdef _SC_USER_GROUPS
 		{*r = _SC_USER_GROUPS; return 0;}
 #else /* def _SC_USER_GROUPS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_USER_GROUPS */
-	if (x == Mono_Posix_SysConf__SC_USER_GROUPS_R)
+	if (x == Mono_Posix_SysconfName__SC_USER_GROUPS_R)
 #ifdef _SC_USER_GROUPS_R
 		{*r = _SC_USER_GROUPS_R; return 0;}
 #else /* def _SC_USER_GROUPS_R */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_USER_GROUPS_R */
-	if (x == Mono_Posix_SysConf__SC_USHRT_MAX)
+	if (x == Mono_Posix_SysconfName__SC_USHRT_MAX)
 #ifdef _SC_USHRT_MAX
 		{*r = _SC_USHRT_MAX; return 0;}
 #else /* def _SC_USHRT_MAX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_USHRT_MAX */
-	if (x == Mono_Posix_SysConf__SC_V6_ILP32_OFF32)
+	if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFF32)
 #ifdef _SC_V6_ILP32_OFF32
 		{*r = _SC_V6_ILP32_OFF32; return 0;}
 #else /* def _SC_V6_ILP32_OFF32 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_V6_ILP32_OFF32 */
-	if (x == Mono_Posix_SysConf__SC_V6_ILP32_OFFBIG)
+	if (x == Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG)
 #ifdef _SC_V6_ILP32_OFFBIG
 		{*r = _SC_V6_ILP32_OFFBIG; return 0;}
 #else /* def _SC_V6_ILP32_OFFBIG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_V6_ILP32_OFFBIG */
-	if (x == Mono_Posix_SysConf__SC_V6_LP64_OFF64)
+	if (x == Mono_Posix_SysconfName__SC_V6_LP64_OFF64)
 #ifdef _SC_V6_LP64_OFF64
 		{*r = _SC_V6_LP64_OFF64; return 0;}
 #else /* def _SC_V6_LP64_OFF64 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_V6_LP64_OFF64 */
-	if (x == Mono_Posix_SysConf__SC_V6_LPBIG_OFFBIG)
+	if (x == Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG)
 #ifdef _SC_V6_LPBIG_OFFBIG
 		{*r = _SC_V6_LPBIG_OFFBIG; return 0;}
 #else /* def _SC_V6_LPBIG_OFFBIG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
-	if (x == Mono_Posix_SysConf__SC_VERSION)
+	if (x == Mono_Posix_SysconfName__SC_VERSION)
 #ifdef _SC_VERSION
 		{*r = _SC_VERSION; return 0;}
 #else /* def _SC_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_VERSION */
-	if (x == Mono_Posix_SysConf__SC_WORD_BIT)
+	if (x == Mono_Posix_SysconfName__SC_WORD_BIT)
 #ifdef _SC_WORD_BIT
 		{*r = _SC_WORD_BIT; return 0;}
 #else /* def _SC_WORD_BIT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_WORD_BIT */
-	if (x == Mono_Posix_SysConf__SC_XBS5_ILP32_OFF32)
+	if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32)
 #ifdef _SC_XBS5_ILP32_OFF32
 		{*r = _SC_XBS5_ILP32_OFF32; return 0;}
 #else /* def _SC_XBS5_ILP32_OFF32 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
-	if (x == Mono_Posix_SysConf__SC_XBS5_ILP32_OFFBIG)
+	if (x == Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG)
 #ifdef _SC_XBS5_ILP32_OFFBIG
 		{*r = _SC_XBS5_ILP32_OFFBIG; return 0;}
 #else /* def _SC_XBS5_ILP32_OFFBIG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
-	if (x == Mono_Posix_SysConf__SC_XBS5_LP64_OFF64)
+	if (x == Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64)
 #ifdef _SC_XBS5_LP64_OFF64
 		{*r = _SC_XBS5_LP64_OFF64; return 0;}
 #else /* def _SC_XBS5_LP64_OFF64 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XBS5_LP64_OFF64 */
-	if (x == Mono_Posix_SysConf__SC_XBS5_LPBIG_OFFBIG)
+	if (x == Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG)
 #ifdef _SC_XBS5_LPBIG_OFFBIG
 		{*r = _SC_XBS5_LPBIG_OFFBIG; return 0;}
 #else /* def _SC_XBS5_LPBIG_OFFBIG */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_CRYPT)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_CRYPT)
 #ifdef _SC_XOPEN_CRYPT
 		{*r = _SC_XOPEN_CRYPT; return 0;}
 #else /* def _SC_XOPEN_CRYPT */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_CRYPT */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_ENH_I18N)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N)
 #ifdef _SC_XOPEN_ENH_I18N
 		{*r = _SC_XOPEN_ENH_I18N; return 0;}
 #else /* def _SC_XOPEN_ENH_I18N */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_ENH_I18N */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_LEGACY)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_LEGACY)
 #ifdef _SC_XOPEN_LEGACY
 		{*r = _SC_XOPEN_LEGACY; return 0;}
 #else /* def _SC_XOPEN_LEGACY */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_LEGACY */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_REALTIME)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME)
 #ifdef _SC_XOPEN_REALTIME
 		{*r = _SC_XOPEN_REALTIME; return 0;}
 #else /* def _SC_XOPEN_REALTIME */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_REALTIME */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_REALTIME_THREADS)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS)
 #ifdef _SC_XOPEN_REALTIME_THREADS
 		{*r = _SC_XOPEN_REALTIME_THREADS; return 0;}
 #else /* def _SC_XOPEN_REALTIME_THREADS */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_SHM)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_SHM)
 #ifdef _SC_XOPEN_SHM
 		{*r = _SC_XOPEN_SHM; return 0;}
 #else /* def _SC_XOPEN_SHM */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_SHM */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_UNIX)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_UNIX)
 #ifdef _SC_XOPEN_UNIX
 		{*r = _SC_XOPEN_UNIX; return 0;}
 #else /* def _SC_XOPEN_UNIX */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_UNIX */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_VERSION)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_VERSION)
 #ifdef _SC_XOPEN_VERSION
 		{*r = _SC_XOPEN_VERSION; return 0;}
 #else /* def _SC_XOPEN_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_VERSION */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_XCU_VERSION)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION)
 #ifdef _SC_XOPEN_XCU_VERSION
 		{*r = _SC_XOPEN_XCU_VERSION; return 0;}
 #else /* def _SC_XOPEN_XCU_VERSION */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_XCU_VERSION */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_XPG2)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG2)
 #ifdef _SC_XOPEN_XPG2
 		{*r = _SC_XOPEN_XPG2; return 0;}
 #else /* def _SC_XOPEN_XPG2 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_XPG2 */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_XPG3)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG3)
 #ifdef _SC_XOPEN_XPG3
 		{*r = _SC_XOPEN_XPG3; return 0;}
 #else /* def _SC_XOPEN_XPG3 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_XPG3 */
-	if (x == Mono_Posix_SysConf__SC_XOPEN_XPG4)
+	if (x == Mono_Posix_SysconfName__SC_XOPEN_XPG4)
 #ifdef _SC_XOPEN_XPG4
 		{*r = _SC_XOPEN_XPG4; return 0;}
 #else /* def _SC_XOPEN_XPG4 */
 		{errno = EINVAL; return -1;}
 #endif /* ndef _SC_XOPEN_XPG4 */
+	if (x == 0)
+		return 0;
 	errno = EINVAL; return -1;
 }
 
-int Mono_Posix_ToSysConf (int x, int *r)
+int Mono_Posix_ToSysconfName (int x, int *r)
 {
 	*r = 0;
 	if (x == 0)
 		return 0;
 #ifdef _SC_2_CHAR_TERM
 	if (x == _SC_2_CHAR_TERM)
-		{*r = Mono_Posix_SysConf__SC_2_CHAR_TERM; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_CHAR_TERM; return 0;}
 #endif /* ndef _SC_2_CHAR_TERM */
 #ifdef _SC_2_C_BIND
 	if (x == _SC_2_C_BIND)
-		{*r = Mono_Posix_SysConf__SC_2_C_BIND; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_C_BIND; return 0;}
 #endif /* ndef _SC_2_C_BIND */
 #ifdef _SC_2_C_DEV
 	if (x == _SC_2_C_DEV)
-		{*r = Mono_Posix_SysConf__SC_2_C_DEV; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_C_DEV; return 0;}
 #endif /* ndef _SC_2_C_DEV */
 #ifdef _SC_2_C_VERSION
 	if (x == _SC_2_C_VERSION)
-		{*r = Mono_Posix_SysConf__SC_2_C_VERSION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_C_VERSION; return 0;}
 #endif /* ndef _SC_2_C_VERSION */
 #ifdef _SC_2_FORT_DEV
 	if (x == _SC_2_FORT_DEV)
-		{*r = Mono_Posix_SysConf__SC_2_FORT_DEV; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_FORT_DEV; return 0;}
 #endif /* ndef _SC_2_FORT_DEV */
 #ifdef _SC_2_FORT_RUN
 	if (x == _SC_2_FORT_RUN)
-		{*r = Mono_Posix_SysConf__SC_2_FORT_RUN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_FORT_RUN; return 0;}
 #endif /* ndef _SC_2_FORT_RUN */
 #ifdef _SC_2_LOCALEDEF
 	if (x == _SC_2_LOCALEDEF)
-		{*r = Mono_Posix_SysConf__SC_2_LOCALEDEF; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_LOCALEDEF; return 0;}
 #endif /* ndef _SC_2_LOCALEDEF */
 #ifdef _SC_2_PBS
 	if (x == _SC_2_PBS)
-		{*r = Mono_Posix_SysConf__SC_2_PBS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_PBS; return 0;}
 #endif /* ndef _SC_2_PBS */
 #ifdef _SC_2_PBS_ACCOUNTING
 	if (x == _SC_2_PBS_ACCOUNTING)
-		{*r = Mono_Posix_SysConf__SC_2_PBS_ACCOUNTING; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING; return 0;}
 #endif /* ndef _SC_2_PBS_ACCOUNTING */
 #ifdef _SC_2_PBS_CHECKPOINT
 	if (x == _SC_2_PBS_CHECKPOINT)
-		{*r = Mono_Posix_SysConf__SC_2_PBS_CHECKPOINT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT; return 0;}
 #endif /* ndef _SC_2_PBS_CHECKPOINT */
 #ifdef _SC_2_PBS_LOCATE
 	if (x == _SC_2_PBS_LOCATE)
-		{*r = Mono_Posix_SysConf__SC_2_PBS_LOCATE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_PBS_LOCATE; return 0;}
 #endif /* ndef _SC_2_PBS_LOCATE */
 #ifdef _SC_2_PBS_MESSAGE
 	if (x == _SC_2_PBS_MESSAGE)
-		{*r = Mono_Posix_SysConf__SC_2_PBS_MESSAGE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_PBS_MESSAGE; return 0;}
 #endif /* ndef _SC_2_PBS_MESSAGE */
 #ifdef _SC_2_PBS_TRACK
 	if (x == _SC_2_PBS_TRACK)
-		{*r = Mono_Posix_SysConf__SC_2_PBS_TRACK; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_PBS_TRACK; return 0;}
 #endif /* ndef _SC_2_PBS_TRACK */
 #ifdef _SC_2_SW_DEV
 	if (x == _SC_2_SW_DEV)
-		{*r = Mono_Posix_SysConf__SC_2_SW_DEV; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_SW_DEV; return 0;}
 #endif /* ndef _SC_2_SW_DEV */
 #ifdef _SC_2_UPE
 	if (x == _SC_2_UPE)
-		{*r = Mono_Posix_SysConf__SC_2_UPE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_UPE; return 0;}
 #endif /* ndef _SC_2_UPE */
 #ifdef _SC_2_VERSION
 	if (x == _SC_2_VERSION)
-		{*r = Mono_Posix_SysConf__SC_2_VERSION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_2_VERSION; return 0;}
 #endif /* ndef _SC_2_VERSION */
 #ifdef _SC_ADVISORY_INFO
 	if (x == _SC_ADVISORY_INFO)
-		{*r = Mono_Posix_SysConf__SC_ADVISORY_INFO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_ADVISORY_INFO; return 0;}
 #endif /* ndef _SC_ADVISORY_INFO */
 #ifdef _SC_AIO_LISTIO_MAX
 	if (x == _SC_AIO_LISTIO_MAX)
-		{*r = Mono_Posix_SysConf__SC_AIO_LISTIO_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX; return 0;}
 #endif /* ndef _SC_AIO_LISTIO_MAX */
 #ifdef _SC_AIO_MAX
 	if (x == _SC_AIO_MAX)
-		{*r = Mono_Posix_SysConf__SC_AIO_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_AIO_MAX; return 0;}
 #endif /* ndef _SC_AIO_MAX */
 #ifdef _SC_AIO_PRIO_DELTA_MAX
 	if (x == _SC_AIO_PRIO_DELTA_MAX)
-		{*r = Mono_Posix_SysConf__SC_AIO_PRIO_DELTA_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX; return 0;}
 #endif /* ndef _SC_AIO_PRIO_DELTA_MAX */
 #ifdef _SC_ARG_MAX
 	if (x == _SC_ARG_MAX)
-		{*r = Mono_Posix_SysConf__SC_ARG_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_ARG_MAX; return 0;}
 #endif /* ndef _SC_ARG_MAX */
 #ifdef _SC_ASYNCHRONOUS_IO
 	if (x == _SC_ASYNCHRONOUS_IO)
-		{*r = Mono_Posix_SysConf__SC_ASYNCHRONOUS_IO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO; return 0;}
 #endif /* ndef _SC_ASYNCHRONOUS_IO */
 #ifdef _SC_ATEXIT_MAX
 	if (x == _SC_ATEXIT_MAX)
-		{*r = Mono_Posix_SysConf__SC_ATEXIT_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_ATEXIT_MAX; return 0;}
 #endif /* ndef _SC_ATEXIT_MAX */
 #ifdef _SC_AVPHYS_PAGES
 	if (x == _SC_AVPHYS_PAGES)
-		{*r = Mono_Posix_SysConf__SC_AVPHYS_PAGES; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_AVPHYS_PAGES; return 0;}
 #endif /* ndef _SC_AVPHYS_PAGES */
 #ifdef _SC_BARRIERS
 	if (x == _SC_BARRIERS)
-		{*r = Mono_Posix_SysConf__SC_BARRIERS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_BARRIERS; return 0;}
 #endif /* ndef _SC_BARRIERS */
 #ifdef _SC_BASE
 	if (x == _SC_BASE)
-		{*r = Mono_Posix_SysConf__SC_BASE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_BASE; return 0;}
 #endif /* ndef _SC_BASE */
 #ifdef _SC_BC_BASE_MAX
 	if (x == _SC_BC_BASE_MAX)
-		{*r = Mono_Posix_SysConf__SC_BC_BASE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_BC_BASE_MAX; return 0;}
 #endif /* ndef _SC_BC_BASE_MAX */
 #ifdef _SC_BC_DIM_MAX
 	if (x == _SC_BC_DIM_MAX)
-		{*r = Mono_Posix_SysConf__SC_BC_DIM_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_BC_DIM_MAX; return 0;}
 #endif /* ndef _SC_BC_DIM_MAX */
 #ifdef _SC_BC_SCALE_MAX
 	if (x == _SC_BC_SCALE_MAX)
-		{*r = Mono_Posix_SysConf__SC_BC_SCALE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_BC_SCALE_MAX; return 0;}
 #endif /* ndef _SC_BC_SCALE_MAX */
 #ifdef _SC_BC_STRING_MAX
 	if (x == _SC_BC_STRING_MAX)
-		{*r = Mono_Posix_SysConf__SC_BC_STRING_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_BC_STRING_MAX; return 0;}
 #endif /* ndef _SC_BC_STRING_MAX */
 #ifdef _SC_CHARCLASS_NAME_MAX
 	if (x == _SC_CHARCLASS_NAME_MAX)
-		{*r = Mono_Posix_SysConf__SC_CHARCLASS_NAME_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX; return 0;}
 #endif /* ndef _SC_CHARCLASS_NAME_MAX */
 #ifdef _SC_CHAR_BIT
 	if (x == _SC_CHAR_BIT)
-		{*r = Mono_Posix_SysConf__SC_CHAR_BIT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CHAR_BIT; return 0;}
 #endif /* ndef _SC_CHAR_BIT */
 #ifdef _SC_CHAR_MAX
 	if (x == _SC_CHAR_MAX)
-		{*r = Mono_Posix_SysConf__SC_CHAR_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CHAR_MAX; return 0;}
 #endif /* ndef _SC_CHAR_MAX */
 #ifdef _SC_CHAR_MIN
 	if (x == _SC_CHAR_MIN)
-		{*r = Mono_Posix_SysConf__SC_CHAR_MIN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CHAR_MIN; return 0;}
 #endif /* ndef _SC_CHAR_MIN */
 #ifdef _SC_CHILD_MAX
 	if (x == _SC_CHILD_MAX)
-		{*r = Mono_Posix_SysConf__SC_CHILD_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CHILD_MAX; return 0;}
 #endif /* ndef _SC_CHILD_MAX */
 #ifdef _SC_CLK_TCK
 	if (x == _SC_CLK_TCK)
-		{*r = Mono_Posix_SysConf__SC_CLK_TCK; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CLK_TCK; return 0;}
 #endif /* ndef _SC_CLK_TCK */
 #ifdef _SC_CLOCK_SELECTION
 	if (x == _SC_CLOCK_SELECTION)
-		{*r = Mono_Posix_SysConf__SC_CLOCK_SELECTION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CLOCK_SELECTION; return 0;}
 #endif /* ndef _SC_CLOCK_SELECTION */
 #ifdef _SC_COLL_WEIGHTS_MAX
 	if (x == _SC_COLL_WEIGHTS_MAX)
-		{*r = Mono_Posix_SysConf__SC_COLL_WEIGHTS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX; return 0;}
 #endif /* ndef _SC_COLL_WEIGHTS_MAX */
 #ifdef _SC_CPUTIME
 	if (x == _SC_CPUTIME)
-		{*r = Mono_Posix_SysConf__SC_CPUTIME; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_CPUTIME; return 0;}
 #endif /* ndef _SC_CPUTIME */
 #ifdef _SC_C_LANG_SUPPORT
 	if (x == _SC_C_LANG_SUPPORT)
-		{*r = Mono_Posix_SysConf__SC_C_LANG_SUPPORT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT; return 0;}
 #endif /* ndef _SC_C_LANG_SUPPORT */
 #ifdef _SC_C_LANG_SUPPORT_R
 	if (x == _SC_C_LANG_SUPPORT_R)
-		{*r = Mono_Posix_SysConf__SC_C_LANG_SUPPORT_R; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R; return 0;}
 #endif /* ndef _SC_C_LANG_SUPPORT_R */
 #ifdef _SC_DELAYTIMER_MAX
 	if (x == _SC_DELAYTIMER_MAX)
-		{*r = Mono_Posix_SysConf__SC_DELAYTIMER_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_DELAYTIMER_MAX; return 0;}
 #endif /* ndef _SC_DELAYTIMER_MAX */
 #ifdef _SC_DEVICE_IO
 	if (x == _SC_DEVICE_IO)
-		{*r = Mono_Posix_SysConf__SC_DEVICE_IO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_DEVICE_IO; return 0;}
 #endif /* ndef _SC_DEVICE_IO */
 #ifdef _SC_DEVICE_SPECIFIC
 	if (x == _SC_DEVICE_SPECIFIC)
-		{*r = Mono_Posix_SysConf__SC_DEVICE_SPECIFIC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC; return 0;}
 #endif /* ndef _SC_DEVICE_SPECIFIC */
 #ifdef _SC_DEVICE_SPECIFIC_R
 	if (x == _SC_DEVICE_SPECIFIC_R)
-		{*r = Mono_Posix_SysConf__SC_DEVICE_SPECIFIC_R; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R; return 0;}
 #endif /* ndef _SC_DEVICE_SPECIFIC_R */
 #ifdef _SC_EQUIV_CLASS_MAX
 	if (x == _SC_EQUIV_CLASS_MAX)
-		{*r = Mono_Posix_SysConf__SC_EQUIV_CLASS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX; return 0;}
 #endif /* ndef _SC_EQUIV_CLASS_MAX */
 #ifdef _SC_EXPR_NEST_MAX
 	if (x == _SC_EXPR_NEST_MAX)
-		{*r = Mono_Posix_SysConf__SC_EXPR_NEST_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_EXPR_NEST_MAX; return 0;}
 #endif /* ndef _SC_EXPR_NEST_MAX */
 #ifdef _SC_FD_MGMT
 	if (x == _SC_FD_MGMT)
-		{*r = Mono_Posix_SysConf__SC_FD_MGMT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_FD_MGMT; return 0;}
 #endif /* ndef _SC_FD_MGMT */
 #ifdef _SC_FIFO
 	if (x == _SC_FIFO)
-		{*r = Mono_Posix_SysConf__SC_FIFO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_FIFO; return 0;}
 #endif /* ndef _SC_FIFO */
 #ifdef _SC_FILE_ATTRIBUTES
 	if (x == _SC_FILE_ATTRIBUTES)
-		{*r = Mono_Posix_SysConf__SC_FILE_ATTRIBUTES; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES; return 0;}
 #endif /* ndef _SC_FILE_ATTRIBUTES */
 #ifdef _SC_FILE_LOCKING
 	if (x == _SC_FILE_LOCKING)
-		{*r = Mono_Posix_SysConf__SC_FILE_LOCKING; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_FILE_LOCKING; return 0;}
 #endif /* ndef _SC_FILE_LOCKING */
 #ifdef _SC_FILE_SYSTEM
 	if (x == _SC_FILE_SYSTEM)
-		{*r = Mono_Posix_SysConf__SC_FILE_SYSTEM; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_FILE_SYSTEM; return 0;}
 #endif /* ndef _SC_FILE_SYSTEM */
 #ifdef _SC_FSYNC
 	if (x == _SC_FSYNC)
-		{*r = Mono_Posix_SysConf__SC_FSYNC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_FSYNC; return 0;}
 #endif /* ndef _SC_FSYNC */
 #ifdef _SC_GETGR_R_SIZE_MAX
 	if (x == _SC_GETGR_R_SIZE_MAX)
-		{*r = Mono_Posix_SysConf__SC_GETGR_R_SIZE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX; return 0;}
 #endif /* ndef _SC_GETGR_R_SIZE_MAX */
 #ifdef _SC_GETPW_R_SIZE_MAX
 	if (x == _SC_GETPW_R_SIZE_MAX)
-		{*r = Mono_Posix_SysConf__SC_GETPW_R_SIZE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX; return 0;}
 #endif /* ndef _SC_GETPW_R_SIZE_MAX */
 #ifdef _SC_HOST_NAME_MAX
 	if (x == _SC_HOST_NAME_MAX)
-		{*r = Mono_Posix_SysConf__SC_HOST_NAME_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_HOST_NAME_MAX; return 0;}
 #endif /* ndef _SC_HOST_NAME_MAX */
 #ifdef _SC_INT_MAX
 	if (x == _SC_INT_MAX)
-		{*r = Mono_Posix_SysConf__SC_INT_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_INT_MAX; return 0;}
 #endif /* ndef _SC_INT_MAX */
 #ifdef _SC_INT_MIN
 	if (x == _SC_INT_MIN)
-		{*r = Mono_Posix_SysConf__SC_INT_MIN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_INT_MIN; return 0;}
 #endif /* ndef _SC_INT_MIN */
 #ifdef _SC_IOV_MAX
 	if (x == _SC_IOV_MAX)
-		{*r = Mono_Posix_SysConf__SC_IOV_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_IOV_MAX; return 0;}
 #endif /* ndef _SC_IOV_MAX */
 #ifdef _SC_JOB_CONTROL
 	if (x == _SC_JOB_CONTROL)
-		{*r = Mono_Posix_SysConf__SC_JOB_CONTROL; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_JOB_CONTROL; return 0;}
 #endif /* ndef _SC_JOB_CONTROL */
 #ifdef _SC_LEVEL1_DCACHE_ASSOC
 	if (x == _SC_LEVEL1_DCACHE_ASSOC)
-		{*r = Mono_Posix_SysConf__SC_LEVEL1_DCACHE_ASSOC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC; return 0;}
 #endif /* ndef _SC_LEVEL1_DCACHE_ASSOC */
 #ifdef _SC_LEVEL1_DCACHE_LINESIZE
 	if (x == _SC_LEVEL1_DCACHE_LINESIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL1_DCACHE_LINESIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE; return 0;}
 #endif /* ndef _SC_LEVEL1_DCACHE_LINESIZE */
 #ifdef _SC_LEVEL1_DCACHE_SIZE
 	if (x == _SC_LEVEL1_DCACHE_SIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL1_DCACHE_SIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE; return 0;}
 #endif /* ndef _SC_LEVEL1_DCACHE_SIZE */
 #ifdef _SC_LEVEL1_ICACHE_ASSOC
 	if (x == _SC_LEVEL1_ICACHE_ASSOC)
-		{*r = Mono_Posix_SysConf__SC_LEVEL1_ICACHE_ASSOC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC; return 0;}
 #endif /* ndef _SC_LEVEL1_ICACHE_ASSOC */
 #ifdef _SC_LEVEL1_ICACHE_LINESIZE
 	if (x == _SC_LEVEL1_ICACHE_LINESIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL1_ICACHE_LINESIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE; return 0;}
 #endif /* ndef _SC_LEVEL1_ICACHE_LINESIZE */
 #ifdef _SC_LEVEL1_ICACHE_SIZE
 	if (x == _SC_LEVEL1_ICACHE_SIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL1_ICACHE_SIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE; return 0;}
 #endif /* ndef _SC_LEVEL1_ICACHE_SIZE */
 #ifdef _SC_LEVEL2_CACHE_ASSOC
 	if (x == _SC_LEVEL2_CACHE_ASSOC)
-		{*r = Mono_Posix_SysConf__SC_LEVEL2_CACHE_ASSOC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC; return 0;}
 #endif /* ndef _SC_LEVEL2_CACHE_ASSOC */
 #ifdef _SC_LEVEL2_CACHE_LINESIZE
 	if (x == _SC_LEVEL2_CACHE_LINESIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL2_CACHE_LINESIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE; return 0;}
 #endif /* ndef _SC_LEVEL2_CACHE_LINESIZE */
 #ifdef _SC_LEVEL2_CACHE_SIZE
 	if (x == _SC_LEVEL2_CACHE_SIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL2_CACHE_SIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE; return 0;}
 #endif /* ndef _SC_LEVEL2_CACHE_SIZE */
 #ifdef _SC_LEVEL3_CACHE_ASSOC
 	if (x == _SC_LEVEL3_CACHE_ASSOC)
-		{*r = Mono_Posix_SysConf__SC_LEVEL3_CACHE_ASSOC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC; return 0;}
 #endif /* ndef _SC_LEVEL3_CACHE_ASSOC */
 #ifdef _SC_LEVEL3_CACHE_LINESIZE
 	if (x == _SC_LEVEL3_CACHE_LINESIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL3_CACHE_LINESIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE; return 0;}
 #endif /* ndef _SC_LEVEL3_CACHE_LINESIZE */
 #ifdef _SC_LEVEL3_CACHE_SIZE
 	if (x == _SC_LEVEL3_CACHE_SIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL3_CACHE_SIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE; return 0;}
 #endif /* ndef _SC_LEVEL3_CACHE_SIZE */
 #ifdef _SC_LEVEL4_CACHE_ASSOC
 	if (x == _SC_LEVEL4_CACHE_ASSOC)
-		{*r = Mono_Posix_SysConf__SC_LEVEL4_CACHE_ASSOC; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC; return 0;}
 #endif /* ndef _SC_LEVEL4_CACHE_ASSOC */
 #ifdef _SC_LEVEL4_CACHE_LINESIZE
 	if (x == _SC_LEVEL4_CACHE_LINESIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL4_CACHE_LINESIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE; return 0;}
 #endif /* ndef _SC_LEVEL4_CACHE_LINESIZE */
 #ifdef _SC_LEVEL4_CACHE_SIZE
 	if (x == _SC_LEVEL4_CACHE_SIZE)
-		{*r = Mono_Posix_SysConf__SC_LEVEL4_CACHE_SIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE; return 0;}
 #endif /* ndef _SC_LEVEL4_CACHE_SIZE */
 #ifdef _SC_LINE_MAX
 	if (x == _SC_LINE_MAX)
-		{*r = Mono_Posix_SysConf__SC_LINE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LINE_MAX; return 0;}
 #endif /* ndef _SC_LINE_MAX */
 #ifdef _SC_LOGIN_NAME_MAX
 	if (x == _SC_LOGIN_NAME_MAX)
-		{*r = Mono_Posix_SysConf__SC_LOGIN_NAME_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX; return 0;}
 #endif /* ndef _SC_LOGIN_NAME_MAX */
 #ifdef _SC_LONG_BIT
 	if (x == _SC_LONG_BIT)
-		{*r = Mono_Posix_SysConf__SC_LONG_BIT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_LONG_BIT; return 0;}
 #endif /* ndef _SC_LONG_BIT */
 #ifdef _SC_MAPPED_FILES
 	if (x == _SC_MAPPED_FILES)
-		{*r = Mono_Posix_SysConf__SC_MAPPED_FILES; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MAPPED_FILES; return 0;}
 #endif /* ndef _SC_MAPPED_FILES */
 #ifdef _SC_MB_LEN_MAX
 	if (x == _SC_MB_LEN_MAX)
-		{*r = Mono_Posix_SysConf__SC_MB_LEN_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MB_LEN_MAX; return 0;}
 #endif /* ndef _SC_MB_LEN_MAX */
 #ifdef _SC_MEMLOCK
 	if (x == _SC_MEMLOCK)
-		{*r = Mono_Posix_SysConf__SC_MEMLOCK; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MEMLOCK; return 0;}
 #endif /* ndef _SC_MEMLOCK */
 #ifdef _SC_MEMLOCK_RANGE
 	if (x == _SC_MEMLOCK_RANGE)
-		{*r = Mono_Posix_SysConf__SC_MEMLOCK_RANGE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MEMLOCK_RANGE; return 0;}
 #endif /* ndef _SC_MEMLOCK_RANGE */
 #ifdef _SC_MEMORY_PROTECTION
 	if (x == _SC_MEMORY_PROTECTION)
-		{*r = Mono_Posix_SysConf__SC_MEMORY_PROTECTION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MEMORY_PROTECTION; return 0;}
 #endif /* ndef _SC_MEMORY_PROTECTION */
 #ifdef _SC_MESSAGE_PASSING
 	if (x == _SC_MESSAGE_PASSING)
-		{*r = Mono_Posix_SysConf__SC_MESSAGE_PASSING; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MESSAGE_PASSING; return 0;}
 #endif /* ndef _SC_MESSAGE_PASSING */
 #ifdef _SC_MONOTONIC_CLOCK
 	if (x == _SC_MONOTONIC_CLOCK)
-		{*r = Mono_Posix_SysConf__SC_MONOTONIC_CLOCK; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK; return 0;}
 #endif /* ndef _SC_MONOTONIC_CLOCK */
 #ifdef _SC_MQ_OPEN_MAX
 	if (x == _SC_MQ_OPEN_MAX)
-		{*r = Mono_Posix_SysConf__SC_MQ_OPEN_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MQ_OPEN_MAX; return 0;}
 #endif /* ndef _SC_MQ_OPEN_MAX */
 #ifdef _SC_MQ_PRIO_MAX
 	if (x == _SC_MQ_PRIO_MAX)
-		{*r = Mono_Posix_SysConf__SC_MQ_PRIO_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MQ_PRIO_MAX; return 0;}
 #endif /* ndef _SC_MQ_PRIO_MAX */
 #ifdef _SC_MULTI_PROCESS
 	if (x == _SC_MULTI_PROCESS)
-		{*r = Mono_Posix_SysConf__SC_MULTI_PROCESS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_MULTI_PROCESS; return 0;}
 #endif /* ndef _SC_MULTI_PROCESS */
 #ifdef _SC_NETWORKING
 	if (x == _SC_NETWORKING)
-		{*r = Mono_Posix_SysConf__SC_NETWORKING; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NETWORKING; return 0;}
 #endif /* ndef _SC_NETWORKING */
 #ifdef _SC_NGROUPS_MAX
 	if (x == _SC_NGROUPS_MAX)
-		{*r = Mono_Posix_SysConf__SC_NGROUPS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NGROUPS_MAX; return 0;}
 #endif /* ndef _SC_NGROUPS_MAX */
 #ifdef _SC_NL_ARGMAX
 	if (x == _SC_NL_ARGMAX)
-		{*r = Mono_Posix_SysConf__SC_NL_ARGMAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NL_ARGMAX; return 0;}
 #endif /* ndef _SC_NL_ARGMAX */
 #ifdef _SC_NL_LANGMAX
 	if (x == _SC_NL_LANGMAX)
-		{*r = Mono_Posix_SysConf__SC_NL_LANGMAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NL_LANGMAX; return 0;}
 #endif /* ndef _SC_NL_LANGMAX */
 #ifdef _SC_NL_MSGMAX
 	if (x == _SC_NL_MSGMAX)
-		{*r = Mono_Posix_SysConf__SC_NL_MSGMAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NL_MSGMAX; return 0;}
 #endif /* ndef _SC_NL_MSGMAX */
 #ifdef _SC_NL_NMAX
 	if (x == _SC_NL_NMAX)
-		{*r = Mono_Posix_SysConf__SC_NL_NMAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NL_NMAX; return 0;}
 #endif /* ndef _SC_NL_NMAX */
 #ifdef _SC_NL_SETMAX
 	if (x == _SC_NL_SETMAX)
-		{*r = Mono_Posix_SysConf__SC_NL_SETMAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NL_SETMAX; return 0;}
 #endif /* ndef _SC_NL_SETMAX */
 #ifdef _SC_NL_TEXTMAX
 	if (x == _SC_NL_TEXTMAX)
-		{*r = Mono_Posix_SysConf__SC_NL_TEXTMAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NL_TEXTMAX; return 0;}
 #endif /* ndef _SC_NL_TEXTMAX */
 #ifdef _SC_NPROCESSORS_CONF
 	if (x == _SC_NPROCESSORS_CONF)
-		{*r = Mono_Posix_SysConf__SC_NPROCESSORS_CONF; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NPROCESSORS_CONF; return 0;}
 #endif /* ndef _SC_NPROCESSORS_CONF */
 #ifdef _SC_NPROCESSORS_ONLN
 	if (x == _SC_NPROCESSORS_ONLN)
-		{*r = Mono_Posix_SysConf__SC_NPROCESSORS_ONLN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN; return 0;}
 #endif /* ndef _SC_NPROCESSORS_ONLN */
 #ifdef _SC_NZERO
 	if (x == _SC_NZERO)
-		{*r = Mono_Posix_SysConf__SC_NZERO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_NZERO; return 0;}
 #endif /* ndef _SC_NZERO */
 #ifdef _SC_OPEN_MAX
 	if (x == _SC_OPEN_MAX)
-		{*r = Mono_Posix_SysConf__SC_OPEN_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_OPEN_MAX; return 0;}
 #endif /* ndef _SC_OPEN_MAX */
 #ifdef _SC_PAGESIZE
 	if (x == _SC_PAGESIZE)
-		{*r = Mono_Posix_SysConf__SC_PAGESIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PAGESIZE; return 0;}
 #endif /* ndef _SC_PAGESIZE */
 #ifdef _SC_PASS_MAX
 	if (x == _SC_PASS_MAX)
-		{*r = Mono_Posix_SysConf__SC_PASS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PASS_MAX; return 0;}
 #endif /* ndef _SC_PASS_MAX */
 #ifdef _SC_PHYS_PAGES
 	if (x == _SC_PHYS_PAGES)
-		{*r = Mono_Posix_SysConf__SC_PHYS_PAGES; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PHYS_PAGES; return 0;}
 #endif /* ndef _SC_PHYS_PAGES */
 #ifdef _SC_PII
 	if (x == _SC_PII)
-		{*r = Mono_Posix_SysConf__SC_PII; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII; return 0;}
 #endif /* ndef _SC_PII */
 #ifdef _SC_PII_INTERNET
 	if (x == _SC_PII_INTERNET)
-		{*r = Mono_Posix_SysConf__SC_PII_INTERNET; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_INTERNET; return 0;}
 #endif /* ndef _SC_PII_INTERNET */
 #ifdef _SC_PII_INTERNET_DGRAM
 	if (x == _SC_PII_INTERNET_DGRAM)
-		{*r = Mono_Posix_SysConf__SC_PII_INTERNET_DGRAM; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM; return 0;}
 #endif /* ndef _SC_PII_INTERNET_DGRAM */
 #ifdef _SC_PII_INTERNET_STREAM
 	if (x == _SC_PII_INTERNET_STREAM)
-		{*r = Mono_Posix_SysConf__SC_PII_INTERNET_STREAM; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM; return 0;}
 #endif /* ndef _SC_PII_INTERNET_STREAM */
 #ifdef _SC_PII_OSI
 	if (x == _SC_PII_OSI)
-		{*r = Mono_Posix_SysConf__SC_PII_OSI; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_OSI; return 0;}
 #endif /* ndef _SC_PII_OSI */
 #ifdef _SC_PII_OSI_CLTS
 	if (x == _SC_PII_OSI_CLTS)
-		{*r = Mono_Posix_SysConf__SC_PII_OSI_CLTS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_OSI_CLTS; return 0;}
 #endif /* ndef _SC_PII_OSI_CLTS */
 #ifdef _SC_PII_OSI_COTS
 	if (x == _SC_PII_OSI_COTS)
-		{*r = Mono_Posix_SysConf__SC_PII_OSI_COTS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_OSI_COTS; return 0;}
 #endif /* ndef _SC_PII_OSI_COTS */
 #ifdef _SC_PII_OSI_M
 	if (x == _SC_PII_OSI_M)
-		{*r = Mono_Posix_SysConf__SC_PII_OSI_M; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_OSI_M; return 0;}
 #endif /* ndef _SC_PII_OSI_M */
 #ifdef _SC_PII_SOCKET
 	if (x == _SC_PII_SOCKET)
-		{*r = Mono_Posix_SysConf__SC_PII_SOCKET; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_SOCKET; return 0;}
 #endif /* ndef _SC_PII_SOCKET */
 #ifdef _SC_PII_XTI
 	if (x == _SC_PII_XTI)
-		{*r = Mono_Posix_SysConf__SC_PII_XTI; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PII_XTI; return 0;}
 #endif /* ndef _SC_PII_XTI */
 #ifdef _SC_PIPE
 	if (x == _SC_PIPE)
-		{*r = Mono_Posix_SysConf__SC_PIPE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PIPE; return 0;}
 #endif /* ndef _SC_PIPE */
 #ifdef _SC_POLL
 	if (x == _SC_POLL)
-		{*r = Mono_Posix_SysConf__SC_POLL; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_POLL; return 0;}
 #endif /* ndef _SC_POLL */
 #ifdef _SC_PRIORITIZED_IO
 	if (x == _SC_PRIORITIZED_IO)
-		{*r = Mono_Posix_SysConf__SC_PRIORITIZED_IO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PRIORITIZED_IO; return 0;}
 #endif /* ndef _SC_PRIORITIZED_IO */
 #ifdef _SC_PRIORITY_SCHEDULING
 	if (x == _SC_PRIORITY_SCHEDULING)
-		{*r = Mono_Posix_SysConf__SC_PRIORITY_SCHEDULING; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING; return 0;}
 #endif /* ndef _SC_PRIORITY_SCHEDULING */
 #ifdef _SC_READER_WRITER_LOCKS
 	if (x == _SC_READER_WRITER_LOCKS)
-		{*r = Mono_Posix_SysConf__SC_READER_WRITER_LOCKS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS; return 0;}
 #endif /* ndef _SC_READER_WRITER_LOCKS */
 #ifdef _SC_REALTIME_SIGNALS
 	if (x == _SC_REALTIME_SIGNALS)
-		{*r = Mono_Posix_SysConf__SC_REALTIME_SIGNALS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_REALTIME_SIGNALS; return 0;}
 #endif /* ndef _SC_REALTIME_SIGNALS */
 #ifdef _SC_REGEXP
 	if (x == _SC_REGEXP)
-		{*r = Mono_Posix_SysConf__SC_REGEXP; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_REGEXP; return 0;}
 #endif /* ndef _SC_REGEXP */
 #ifdef _SC_REGEX_VERSION
 	if (x == _SC_REGEX_VERSION)
-		{*r = Mono_Posix_SysConf__SC_REGEX_VERSION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_REGEX_VERSION; return 0;}
 #endif /* ndef _SC_REGEX_VERSION */
 #ifdef _SC_RE_DUP_MAX
 	if (x == _SC_RE_DUP_MAX)
-		{*r = Mono_Posix_SysConf__SC_RE_DUP_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_RE_DUP_MAX; return 0;}
 #endif /* ndef _SC_RE_DUP_MAX */
 #ifdef _SC_RTSIG_MAX
 	if (x == _SC_RTSIG_MAX)
-		{*r = Mono_Posix_SysConf__SC_RTSIG_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_RTSIG_MAX; return 0;}
 #endif /* ndef _SC_RTSIG_MAX */
 #ifdef _SC_SAVED_IDS
 	if (x == _SC_SAVED_IDS)
-		{*r = Mono_Posix_SysConf__SC_SAVED_IDS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SAVED_IDS; return 0;}
 #endif /* ndef _SC_SAVED_IDS */
 #ifdef _SC_SCHAR_MAX
 	if (x == _SC_SCHAR_MAX)
-		{*r = Mono_Posix_SysConf__SC_SCHAR_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SCHAR_MAX; return 0;}
 #endif /* ndef _SC_SCHAR_MAX */
 #ifdef _SC_SCHAR_MIN
 	if (x == _SC_SCHAR_MIN)
-		{*r = Mono_Posix_SysConf__SC_SCHAR_MIN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SCHAR_MIN; return 0;}
 #endif /* ndef _SC_SCHAR_MIN */
 #ifdef _SC_SELECT
 	if (x == _SC_SELECT)
-		{*r = Mono_Posix_SysConf__SC_SELECT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SELECT; return 0;}
 #endif /* ndef _SC_SELECT */
 #ifdef _SC_SEMAPHORES
 	if (x == _SC_SEMAPHORES)
-		{*r = Mono_Posix_SysConf__SC_SEMAPHORES; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SEMAPHORES; return 0;}
 #endif /* ndef _SC_SEMAPHORES */
 #ifdef _SC_SEM_NSEMS_MAX
 	if (x == _SC_SEM_NSEMS_MAX)
-		{*r = Mono_Posix_SysConf__SC_SEM_NSEMS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX; return 0;}
 #endif /* ndef _SC_SEM_NSEMS_MAX */
 #ifdef _SC_SEM_VALUE_MAX
 	if (x == _SC_SEM_VALUE_MAX)
-		{*r = Mono_Posix_SysConf__SC_SEM_VALUE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SEM_VALUE_MAX; return 0;}
 #endif /* ndef _SC_SEM_VALUE_MAX */
 #ifdef _SC_SHARED_MEMORY_OBJECTS
 	if (x == _SC_SHARED_MEMORY_OBJECTS)
-		{*r = Mono_Posix_SysConf__SC_SHARED_MEMORY_OBJECTS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS; return 0;}
 #endif /* ndef _SC_SHARED_MEMORY_OBJECTS */
 #ifdef _SC_SHELL
 	if (x == _SC_SHELL)
-		{*r = Mono_Posix_SysConf__SC_SHELL; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SHELL; return 0;}
 #endif /* ndef _SC_SHELL */
 #ifdef _SC_SHRT_MAX
 	if (x == _SC_SHRT_MAX)
-		{*r = Mono_Posix_SysConf__SC_SHRT_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SHRT_MAX; return 0;}
 #endif /* ndef _SC_SHRT_MAX */
 #ifdef _SC_SHRT_MIN
 	if (x == _SC_SHRT_MIN)
-		{*r = Mono_Posix_SysConf__SC_SHRT_MIN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SHRT_MIN; return 0;}
 #endif /* ndef _SC_SHRT_MIN */
 #ifdef _SC_SIGNALS
 	if (x == _SC_SIGNALS)
-		{*r = Mono_Posix_SysConf__SC_SIGNALS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SIGNALS; return 0;}
 #endif /* ndef _SC_SIGNALS */
 #ifdef _SC_SIGQUEUE_MAX
 	if (x == _SC_SIGQUEUE_MAX)
-		{*r = Mono_Posix_SysConf__SC_SIGQUEUE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SIGQUEUE_MAX; return 0;}
 #endif /* ndef _SC_SIGQUEUE_MAX */
 #ifdef _SC_SINGLE_PROCESS
 	if (x == _SC_SINGLE_PROCESS)
-		{*r = Mono_Posix_SysConf__SC_SINGLE_PROCESS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SINGLE_PROCESS; return 0;}
 #endif /* ndef _SC_SINGLE_PROCESS */
 #ifdef _SC_SPAWN
 	if (x == _SC_SPAWN)
-		{*r = Mono_Posix_SysConf__SC_SPAWN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SPAWN; return 0;}
 #endif /* ndef _SC_SPAWN */
 #ifdef _SC_SPIN_LOCKS
 	if (x == _SC_SPIN_LOCKS)
-		{*r = Mono_Posix_SysConf__SC_SPIN_LOCKS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SPIN_LOCKS; return 0;}
 #endif /* ndef _SC_SPIN_LOCKS */
 #ifdef _SC_SPORADIC_SERVER
 	if (x == _SC_SPORADIC_SERVER)
-		{*r = Mono_Posix_SysConf__SC_SPORADIC_SERVER; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SPORADIC_SERVER; return 0;}
 #endif /* ndef _SC_SPORADIC_SERVER */
 #ifdef _SC_SSIZE_MAX
 	if (x == _SC_SSIZE_MAX)
-		{*r = Mono_Posix_SysConf__SC_SSIZE_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SSIZE_MAX; return 0;}
 #endif /* ndef _SC_SSIZE_MAX */
 #ifdef _SC_STREAMS
 	if (x == _SC_STREAMS)
-		{*r = Mono_Posix_SysConf__SC_STREAMS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_STREAMS; return 0;}
 #endif /* ndef _SC_STREAMS */
 #ifdef _SC_STREAM_MAX
 	if (x == _SC_STREAM_MAX)
-		{*r = Mono_Posix_SysConf__SC_STREAM_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_STREAM_MAX; return 0;}
 #endif /* ndef _SC_STREAM_MAX */
 #ifdef _SC_SYMLOOP_MAX
 	if (x == _SC_SYMLOOP_MAX)
-		{*r = Mono_Posix_SysConf__SC_SYMLOOP_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SYMLOOP_MAX; return 0;}
 #endif /* ndef _SC_SYMLOOP_MAX */
 #ifdef _SC_SYNCHRONIZED_IO
 	if (x == _SC_SYNCHRONIZED_IO)
-		{*r = Mono_Posix_SysConf__SC_SYNCHRONIZED_IO; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO; return 0;}
 #endif /* ndef _SC_SYNCHRONIZED_IO */
 #ifdef _SC_SYSTEM_DATABASE
 	if (x == _SC_SYSTEM_DATABASE)
-		{*r = Mono_Posix_SysConf__SC_SYSTEM_DATABASE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE; return 0;}
 #endif /* ndef _SC_SYSTEM_DATABASE */
 #ifdef _SC_SYSTEM_DATABASE_R
 	if (x == _SC_SYSTEM_DATABASE_R)
-		{*r = Mono_Posix_SysConf__SC_SYSTEM_DATABASE_R; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R; return 0;}
 #endif /* ndef _SC_SYSTEM_DATABASE_R */
 #ifdef _SC_THREADS
 	if (x == _SC_THREADS)
-		{*r = Mono_Posix_SysConf__SC_THREADS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREADS; return 0;}
 #endif /* ndef _SC_THREADS */
 #ifdef _SC_THREAD_ATTR_STACKADDR
 	if (x == _SC_THREAD_ATTR_STACKADDR)
-		{*r = Mono_Posix_SysConf__SC_THREAD_ATTR_STACKADDR; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR; return 0;}
 #endif /* ndef _SC_THREAD_ATTR_STACKADDR */
 #ifdef _SC_THREAD_ATTR_STACKSIZE
 	if (x == _SC_THREAD_ATTR_STACKSIZE)
-		{*r = Mono_Posix_SysConf__SC_THREAD_ATTR_STACKSIZE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE; return 0;}
 #endif /* ndef _SC_THREAD_ATTR_STACKSIZE */
 #ifdef _SC_THREAD_CPUTIME
 	if (x == _SC_THREAD_CPUTIME)
-		{*r = Mono_Posix_SysConf__SC_THREAD_CPUTIME; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_CPUTIME; return 0;}
 #endif /* ndef _SC_THREAD_CPUTIME */
 #ifdef _SC_THREAD_DESTRUCTOR_ITERATIONS
 	if (x == _SC_THREAD_DESTRUCTOR_ITERATIONS)
-		{*r = Mono_Posix_SysConf__SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS; return 0;}
 #endif /* ndef _SC_THREAD_DESTRUCTOR_ITERATIONS */
 #ifdef _SC_THREAD_KEYS_MAX
 	if (x == _SC_THREAD_KEYS_MAX)
-		{*r = Mono_Posix_SysConf__SC_THREAD_KEYS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX; return 0;}
 #endif /* ndef _SC_THREAD_KEYS_MAX */
 #ifdef _SC_THREAD_PRIORITY_SCHEDULING
 	if (x == _SC_THREAD_PRIORITY_SCHEDULING)
-		{*r = Mono_Posix_SysConf__SC_THREAD_PRIORITY_SCHEDULING; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING; return 0;}
 #endif /* ndef _SC_THREAD_PRIORITY_SCHEDULING */
 #ifdef _SC_THREAD_PRIO_INHERIT
 	if (x == _SC_THREAD_PRIO_INHERIT)
-		{*r = Mono_Posix_SysConf__SC_THREAD_PRIO_INHERIT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT; return 0;}
 #endif /* ndef _SC_THREAD_PRIO_INHERIT */
 #ifdef _SC_THREAD_PRIO_PROTECT
 	if (x == _SC_THREAD_PRIO_PROTECT)
-		{*r = Mono_Posix_SysConf__SC_THREAD_PRIO_PROTECT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT; return 0;}
 #endif /* ndef _SC_THREAD_PRIO_PROTECT */
 #ifdef _SC_THREAD_PROCESS_SHARED
 	if (x == _SC_THREAD_PROCESS_SHARED)
-		{*r = Mono_Posix_SysConf__SC_THREAD_PROCESS_SHARED; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED; return 0;}
 #endif /* ndef _SC_THREAD_PROCESS_SHARED */
 #ifdef _SC_THREAD_SAFE_FUNCTIONS
 	if (x == _SC_THREAD_SAFE_FUNCTIONS)
-		{*r = Mono_Posix_SysConf__SC_THREAD_SAFE_FUNCTIONS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS; return 0;}
 #endif /* ndef _SC_THREAD_SAFE_FUNCTIONS */
 #ifdef _SC_THREAD_SPORADIC_SERVER
 	if (x == _SC_THREAD_SPORADIC_SERVER)
-		{*r = Mono_Posix_SysConf__SC_THREAD_SPORADIC_SERVER; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER; return 0;}
 #endif /* ndef _SC_THREAD_SPORADIC_SERVER */
 #ifdef _SC_THREAD_STACK_MIN
 	if (x == _SC_THREAD_STACK_MIN)
-		{*r = Mono_Posix_SysConf__SC_THREAD_STACK_MIN; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_STACK_MIN; return 0;}
 #endif /* ndef _SC_THREAD_STACK_MIN */
 #ifdef _SC_THREAD_THREADS_MAX
 	if (x == _SC_THREAD_THREADS_MAX)
-		{*r = Mono_Posix_SysConf__SC_THREAD_THREADS_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX; return 0;}
 #endif /* ndef _SC_THREAD_THREADS_MAX */
 #ifdef _SC_TIMEOUTS
 	if (x == _SC_TIMEOUTS)
-		{*r = Mono_Posix_SysConf__SC_TIMEOUTS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TIMEOUTS; return 0;}
 #endif /* ndef _SC_TIMEOUTS */
 #ifdef _SC_TIMERS
 	if (x == _SC_TIMERS)
-		{*r = Mono_Posix_SysConf__SC_TIMERS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TIMERS; return 0;}
 #endif /* ndef _SC_TIMERS */
 #ifdef _SC_TIMER_MAX
 	if (x == _SC_TIMER_MAX)
-		{*r = Mono_Posix_SysConf__SC_TIMER_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TIMER_MAX; return 0;}
 #endif /* ndef _SC_TIMER_MAX */
 #ifdef _SC_TRACE
 	if (x == _SC_TRACE)
-		{*r = Mono_Posix_SysConf__SC_TRACE; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TRACE; return 0;}
 #endif /* ndef _SC_TRACE */
 #ifdef _SC_TRACE_EVENT_FILTER
 	if (x == _SC_TRACE_EVENT_FILTER)
-		{*r = Mono_Posix_SysConf__SC_TRACE_EVENT_FILTER; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER; return 0;}
 #endif /* ndef _SC_TRACE_EVENT_FILTER */
 #ifdef _SC_TRACE_INHERIT
 	if (x == _SC_TRACE_INHERIT)
-		{*r = Mono_Posix_SysConf__SC_TRACE_INHERIT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TRACE_INHERIT; return 0;}
 #endif /* ndef _SC_TRACE_INHERIT */
 #ifdef _SC_TRACE_LOG
 	if (x == _SC_TRACE_LOG)
-		{*r = Mono_Posix_SysConf__SC_TRACE_LOG; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TRACE_LOG; return 0;}
 #endif /* ndef _SC_TRACE_LOG */
 #ifdef _SC_TTY_NAME_MAX
 	if (x == _SC_TTY_NAME_MAX)
-		{*r = Mono_Posix_SysConf__SC_TTY_NAME_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TTY_NAME_MAX; return 0;}
 #endif /* ndef _SC_TTY_NAME_MAX */
 #ifdef _SC_TYPED_MEMORY_OBJECTS
 	if (x == _SC_TYPED_MEMORY_OBJECTS)
-		{*r = Mono_Posix_SysConf__SC_TYPED_MEMORY_OBJECTS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS; return 0;}
 #endif /* ndef _SC_TYPED_MEMORY_OBJECTS */
 #ifdef _SC_TZNAME_MAX
 	if (x == _SC_TZNAME_MAX)
-		{*r = Mono_Posix_SysConf__SC_TZNAME_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_TZNAME_MAX; return 0;}
 #endif /* ndef _SC_TZNAME_MAX */
 #ifdef _SC_T_IOV_MAX
 	if (x == _SC_T_IOV_MAX)
-		{*r = Mono_Posix_SysConf__SC_T_IOV_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_T_IOV_MAX; return 0;}
 #endif /* ndef _SC_T_IOV_MAX */
 #ifdef _SC_UCHAR_MAX
 	if (x == _SC_UCHAR_MAX)
-		{*r = Mono_Posix_SysConf__SC_UCHAR_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_UCHAR_MAX; return 0;}
 #endif /* ndef _SC_UCHAR_MAX */
 #ifdef _SC_UINT_MAX
 	if (x == _SC_UINT_MAX)
-		{*r = Mono_Posix_SysConf__SC_UINT_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_UINT_MAX; return 0;}
 #endif /* ndef _SC_UINT_MAX */
 #ifdef _SC_UIO_MAXIOV
 	if (x == _SC_UIO_MAXIOV)
-		{*r = Mono_Posix_SysConf__SC_UIO_MAXIOV; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_UIO_MAXIOV; return 0;}
 #endif /* ndef _SC_UIO_MAXIOV */
 #ifdef _SC_ULONG_MAX
 	if (x == _SC_ULONG_MAX)
-		{*r = Mono_Posix_SysConf__SC_ULONG_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_ULONG_MAX; return 0;}
 #endif /* ndef _SC_ULONG_MAX */
 #ifdef _SC_USER_GROUPS
 	if (x == _SC_USER_GROUPS)
-		{*r = Mono_Posix_SysConf__SC_USER_GROUPS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_USER_GROUPS; return 0;}
 #endif /* ndef _SC_USER_GROUPS */
 #ifdef _SC_USER_GROUPS_R
 	if (x == _SC_USER_GROUPS_R)
-		{*r = Mono_Posix_SysConf__SC_USER_GROUPS_R; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_USER_GROUPS_R; return 0;}
 #endif /* ndef _SC_USER_GROUPS_R */
 #ifdef _SC_USHRT_MAX
 	if (x == _SC_USHRT_MAX)
-		{*r = Mono_Posix_SysConf__SC_USHRT_MAX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_USHRT_MAX; return 0;}
 #endif /* ndef _SC_USHRT_MAX */
 #ifdef _SC_V6_ILP32_OFF32
 	if (x == _SC_V6_ILP32_OFF32)
-		{*r = Mono_Posix_SysConf__SC_V6_ILP32_OFF32; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFF32; return 0;}
 #endif /* ndef _SC_V6_ILP32_OFF32 */
 #ifdef _SC_V6_ILP32_OFFBIG
 	if (x == _SC_V6_ILP32_OFFBIG)
-		{*r = Mono_Posix_SysConf__SC_V6_ILP32_OFFBIG; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG; return 0;}
 #endif /* ndef _SC_V6_ILP32_OFFBIG */
 #ifdef _SC_V6_LP64_OFF64
 	if (x == _SC_V6_LP64_OFF64)
-		{*r = Mono_Posix_SysConf__SC_V6_LP64_OFF64; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_V6_LP64_OFF64; return 0;}
 #endif /* ndef _SC_V6_LP64_OFF64 */
 #ifdef _SC_V6_LPBIG_OFFBIG
 	if (x == _SC_V6_LPBIG_OFFBIG)
-		{*r = Mono_Posix_SysConf__SC_V6_LPBIG_OFFBIG; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG; return 0;}
 #endif /* ndef _SC_V6_LPBIG_OFFBIG */
 #ifdef _SC_VERSION
 	if (x == _SC_VERSION)
-		{*r = Mono_Posix_SysConf__SC_VERSION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_VERSION; return 0;}
 #endif /* ndef _SC_VERSION */
 #ifdef _SC_WORD_BIT
 	if (x == _SC_WORD_BIT)
-		{*r = Mono_Posix_SysConf__SC_WORD_BIT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_WORD_BIT; return 0;}
 #endif /* ndef _SC_WORD_BIT */
 #ifdef _SC_XBS5_ILP32_OFF32
 	if (x == _SC_XBS5_ILP32_OFF32)
-		{*r = Mono_Posix_SysConf__SC_XBS5_ILP32_OFF32; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32; return 0;}
 #endif /* ndef _SC_XBS5_ILP32_OFF32 */
 #ifdef _SC_XBS5_ILP32_OFFBIG
 	if (x == _SC_XBS5_ILP32_OFFBIG)
-		{*r = Mono_Posix_SysConf__SC_XBS5_ILP32_OFFBIG; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG; return 0;}
 #endif /* ndef _SC_XBS5_ILP32_OFFBIG */
 #ifdef _SC_XBS5_LP64_OFF64
 	if (x == _SC_XBS5_LP64_OFF64)
-		{*r = Mono_Posix_SysConf__SC_XBS5_LP64_OFF64; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64; return 0;}
 #endif /* ndef _SC_XBS5_LP64_OFF64 */
 #ifdef _SC_XBS5_LPBIG_OFFBIG
 	if (x == _SC_XBS5_LPBIG_OFFBIG)
-		{*r = Mono_Posix_SysConf__SC_XBS5_LPBIG_OFFBIG; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG; return 0;}
 #endif /* ndef _SC_XBS5_LPBIG_OFFBIG */
 #ifdef _SC_XOPEN_CRYPT
 	if (x == _SC_XOPEN_CRYPT)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_CRYPT; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_CRYPT; return 0;}
 #endif /* ndef _SC_XOPEN_CRYPT */
 #ifdef _SC_XOPEN_ENH_I18N
 	if (x == _SC_XOPEN_ENH_I18N)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_ENH_I18N; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N; return 0;}
 #endif /* ndef _SC_XOPEN_ENH_I18N */
 #ifdef _SC_XOPEN_LEGACY
 	if (x == _SC_XOPEN_LEGACY)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_LEGACY; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_LEGACY; return 0;}
 #endif /* ndef _SC_XOPEN_LEGACY */
 #ifdef _SC_XOPEN_REALTIME
 	if (x == _SC_XOPEN_REALTIME)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_REALTIME; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME; return 0;}
 #endif /* ndef _SC_XOPEN_REALTIME */
 #ifdef _SC_XOPEN_REALTIME_THREADS
 	if (x == _SC_XOPEN_REALTIME_THREADS)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_REALTIME_THREADS; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS; return 0;}
 #endif /* ndef _SC_XOPEN_REALTIME_THREADS */
 #ifdef _SC_XOPEN_SHM
 	if (x == _SC_XOPEN_SHM)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_SHM; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_SHM; return 0;}
 #endif /* ndef _SC_XOPEN_SHM */
 #ifdef _SC_XOPEN_UNIX
 	if (x == _SC_XOPEN_UNIX)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_UNIX; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_UNIX; return 0;}
 #endif /* ndef _SC_XOPEN_UNIX */
 #ifdef _SC_XOPEN_VERSION
 	if (x == _SC_XOPEN_VERSION)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_VERSION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_VERSION; return 0;}
 #endif /* ndef _SC_XOPEN_VERSION */
 #ifdef _SC_XOPEN_XCU_VERSION
 	if (x == _SC_XOPEN_XCU_VERSION)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_XCU_VERSION; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION; return 0;}
 #endif /* ndef _SC_XOPEN_XCU_VERSION */
 #ifdef _SC_XOPEN_XPG2
 	if (x == _SC_XOPEN_XPG2)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_XPG2; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_XPG2; return 0;}
 #endif /* ndef _SC_XOPEN_XPG2 */
 #ifdef _SC_XOPEN_XPG3
 	if (x == _SC_XOPEN_XPG3)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_XPG3; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_XPG3; return 0;}
 #endif /* ndef _SC_XOPEN_XPG3 */
 #ifdef _SC_XOPEN_XPG4
 	if (x == _SC_XOPEN_XPG4)
-		{*r = Mono_Posix_SysConf__SC_XOPEN_XPG4; return 0;}
+		{*r = Mono_Posix_SysconfName__SC_XOPEN_XPG4; return 0;}
 #endif /* ndef _SC_XOPEN_XPG4 */
 	errno = EINVAL; return -1;
 }
 
+int Mono_Posix_FromSyslogFacility (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_SyslogFacility_LOG_AUTH)
+#ifdef LOG_AUTH
+		{*r = LOG_AUTH; return 0;}
+#else /* def LOG_AUTH */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_AUTH */
+	if (x == Mono_Posix_SyslogFacility_LOG_AUTHPRIV)
+#ifdef LOG_AUTHPRIV
+		{*r = LOG_AUTHPRIV; return 0;}
+#else /* def LOG_AUTHPRIV */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_AUTHPRIV */
+	if (x == Mono_Posix_SyslogFacility_LOG_CRON)
+#ifdef LOG_CRON
+		{*r = LOG_CRON; return 0;}
+#else /* def LOG_CRON */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_CRON */
+	if (x == Mono_Posix_SyslogFacility_LOG_DAEMON)
+#ifdef LOG_DAEMON
+		{*r = LOG_DAEMON; return 0;}
+#else /* def LOG_DAEMON */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_DAEMON */
+	if (x == Mono_Posix_SyslogFacility_LOG_FTP)
+#ifdef LOG_FTP
+		{*r = LOG_FTP; return 0;}
+#else /* def LOG_FTP */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_FTP */
+	if (x == Mono_Posix_SyslogFacility_LOG_KERN)
+#ifdef LOG_KERN
+		{*r = LOG_KERN; return 0;}
+#else /* def LOG_KERN */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_KERN */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL0)
+#ifdef LOG_LOCAL0
+		{*r = LOG_LOCAL0; return 0;}
+#else /* def LOG_LOCAL0 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL0 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL1)
+#ifdef LOG_LOCAL1
+		{*r = LOG_LOCAL1; return 0;}
+#else /* def LOG_LOCAL1 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL1 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL2)
+#ifdef LOG_LOCAL2
+		{*r = LOG_LOCAL2; return 0;}
+#else /* def LOG_LOCAL2 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL2 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL3)
+#ifdef LOG_LOCAL3
+		{*r = LOG_LOCAL3; return 0;}
+#else /* def LOG_LOCAL3 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL3 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL4)
+#ifdef LOG_LOCAL4
+		{*r = LOG_LOCAL4; return 0;}
+#else /* def LOG_LOCAL4 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL4 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL5)
+#ifdef LOG_LOCAL5
+		{*r = LOG_LOCAL5; return 0;}
+#else /* def LOG_LOCAL5 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL5 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL6)
+#ifdef LOG_LOCAL6
+		{*r = LOG_LOCAL6; return 0;}
+#else /* def LOG_LOCAL6 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL6 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LOCAL7)
+#ifdef LOG_LOCAL7
+		{*r = LOG_LOCAL7; return 0;}
+#else /* def LOG_LOCAL7 */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LOCAL7 */
+	if (x == Mono_Posix_SyslogFacility_LOG_LPR)
+#ifdef LOG_LPR
+		{*r = LOG_LPR; return 0;}
+#else /* def LOG_LPR */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_LPR */
+	if (x == Mono_Posix_SyslogFacility_LOG_MAIL)
+#ifdef LOG_MAIL
+		{*r = LOG_MAIL; return 0;}
+#else /* def LOG_MAIL */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_MAIL */
+	if (x == Mono_Posix_SyslogFacility_LOG_NEWS)
+#ifdef LOG_NEWS
+		{*r = LOG_NEWS; return 0;}
+#else /* def LOG_NEWS */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_NEWS */
+	if (x == Mono_Posix_SyslogFacility_LOG_SYSLOG)
+#ifdef LOG_SYSLOG
+		{*r = LOG_SYSLOG; return 0;}
+#else /* def LOG_SYSLOG */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_SYSLOG */
+	if (x == Mono_Posix_SyslogFacility_LOG_USER)
+#ifdef LOG_USER
+		{*r = LOG_USER; return 0;}
+#else /* def LOG_USER */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_USER */
+	if (x == Mono_Posix_SyslogFacility_LOG_UUCP)
+#ifdef LOG_UUCP
+		{*r = LOG_UUCP; return 0;}
+#else /* def LOG_UUCP */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_UUCP */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToSyslogFacility (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef LOG_AUTH
+	if (x == LOG_AUTH)
+		{*r = Mono_Posix_SyslogFacility_LOG_AUTH; return 0;}
+#endif /* ndef LOG_AUTH */
+#ifdef LOG_AUTHPRIV
+	if (x == LOG_AUTHPRIV)
+		{*r = Mono_Posix_SyslogFacility_LOG_AUTHPRIV; return 0;}
+#endif /* ndef LOG_AUTHPRIV */
+#ifdef LOG_CRON
+	if (x == LOG_CRON)
+		{*r = Mono_Posix_SyslogFacility_LOG_CRON; return 0;}
+#endif /* ndef LOG_CRON */
+#ifdef LOG_DAEMON
+	if (x == LOG_DAEMON)
+		{*r = Mono_Posix_SyslogFacility_LOG_DAEMON; return 0;}
+#endif /* ndef LOG_DAEMON */
+#ifdef LOG_FTP
+	if (x == LOG_FTP)
+		{*r = Mono_Posix_SyslogFacility_LOG_FTP; return 0;}
+#endif /* ndef LOG_FTP */
+#ifdef LOG_KERN
+	if (x == LOG_KERN)
+		{*r = Mono_Posix_SyslogFacility_LOG_KERN; return 0;}
+#endif /* ndef LOG_KERN */
+#ifdef LOG_LOCAL0
+	if (x == LOG_LOCAL0)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL0; return 0;}
+#endif /* ndef LOG_LOCAL0 */
+#ifdef LOG_LOCAL1
+	if (x == LOG_LOCAL1)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL1; return 0;}
+#endif /* ndef LOG_LOCAL1 */
+#ifdef LOG_LOCAL2
+	if (x == LOG_LOCAL2)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL2; return 0;}
+#endif /* ndef LOG_LOCAL2 */
+#ifdef LOG_LOCAL3
+	if (x == LOG_LOCAL3)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL3; return 0;}
+#endif /* ndef LOG_LOCAL3 */
+#ifdef LOG_LOCAL4
+	if (x == LOG_LOCAL4)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL4; return 0;}
+#endif /* ndef LOG_LOCAL4 */
+#ifdef LOG_LOCAL5
+	if (x == LOG_LOCAL5)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL5; return 0;}
+#endif /* ndef LOG_LOCAL5 */
+#ifdef LOG_LOCAL6
+	if (x == LOG_LOCAL6)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL6; return 0;}
+#endif /* ndef LOG_LOCAL6 */
+#ifdef LOG_LOCAL7
+	if (x == LOG_LOCAL7)
+		{*r = Mono_Posix_SyslogFacility_LOG_LOCAL7; return 0;}
+#endif /* ndef LOG_LOCAL7 */
+#ifdef LOG_LPR
+	if (x == LOG_LPR)
+		{*r = Mono_Posix_SyslogFacility_LOG_LPR; return 0;}
+#endif /* ndef LOG_LPR */
+#ifdef LOG_MAIL
+	if (x == LOG_MAIL)
+		{*r = Mono_Posix_SyslogFacility_LOG_MAIL; return 0;}
+#endif /* ndef LOG_MAIL */
+#ifdef LOG_NEWS
+	if (x == LOG_NEWS)
+		{*r = Mono_Posix_SyslogFacility_LOG_NEWS; return 0;}
+#endif /* ndef LOG_NEWS */
+#ifdef LOG_SYSLOG
+	if (x == LOG_SYSLOG)
+		{*r = Mono_Posix_SyslogFacility_LOG_SYSLOG; return 0;}
+#endif /* ndef LOG_SYSLOG */
+#ifdef LOG_USER
+	if (x == LOG_USER)
+		{*r = Mono_Posix_SyslogFacility_LOG_USER; return 0;}
+#endif /* ndef LOG_USER */
+#ifdef LOG_UUCP
+	if (x == LOG_UUCP)
+		{*r = Mono_Posix_SyslogFacility_LOG_UUCP; return 0;}
+#endif /* ndef LOG_UUCP */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromSyslogLevel (int x, int *r)
+{
+	*r = 0;
+	if (x == Mono_Posix_SyslogLevel_LOG_ALERT)
+#ifdef LOG_ALERT
+		{*r = LOG_ALERT; return 0;}
+#else /* def LOG_ALERT */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_ALERT */
+	if (x == Mono_Posix_SyslogLevel_LOG_CRIT)
+#ifdef LOG_CRIT
+		{*r = LOG_CRIT; return 0;}
+#else /* def LOG_CRIT */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_CRIT */
+	if (x == Mono_Posix_SyslogLevel_LOG_DEBUG)
+#ifdef LOG_DEBUG
+		{*r = LOG_DEBUG; return 0;}
+#else /* def LOG_DEBUG */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_DEBUG */
+	if (x == Mono_Posix_SyslogLevel_LOG_EMERG)
+#ifdef LOG_EMERG
+		{*r = LOG_EMERG; return 0;}
+#else /* def LOG_EMERG */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_EMERG */
+	if (x == Mono_Posix_SyslogLevel_LOG_ERR)
+#ifdef LOG_ERR
+		{*r = LOG_ERR; return 0;}
+#else /* def LOG_ERR */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_ERR */
+	if (x == Mono_Posix_SyslogLevel_LOG_INFO)
+#ifdef LOG_INFO
+		{*r = LOG_INFO; return 0;}
+#else /* def LOG_INFO */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_INFO */
+	if (x == Mono_Posix_SyslogLevel_LOG_NOTICE)
+#ifdef LOG_NOTICE
+		{*r = LOG_NOTICE; return 0;}
+#else /* def LOG_NOTICE */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_NOTICE */
+	if (x == Mono_Posix_SyslogLevel_LOG_WARNING)
+#ifdef LOG_WARNING
+		{*r = LOG_WARNING; return 0;}
+#else /* def LOG_WARNING */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_WARNING */
+	if (x == 0)
+		return 0;
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToSyslogLevel (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef LOG_ALERT
+	if (x == LOG_ALERT)
+		{*r = Mono_Posix_SyslogLevel_LOG_ALERT; return 0;}
+#endif /* ndef LOG_ALERT */
+#ifdef LOG_CRIT
+	if (x == LOG_CRIT)
+		{*r = Mono_Posix_SyslogLevel_LOG_CRIT; return 0;}
+#endif /* ndef LOG_CRIT */
+#ifdef LOG_DEBUG
+	if (x == LOG_DEBUG)
+		{*r = Mono_Posix_SyslogLevel_LOG_DEBUG; return 0;}
+#endif /* ndef LOG_DEBUG */
+#ifdef LOG_EMERG
+	if (x == LOG_EMERG)
+		{*r = Mono_Posix_SyslogLevel_LOG_EMERG; return 0;}
+#endif /* ndef LOG_EMERG */
+#ifdef LOG_ERR
+	if (x == LOG_ERR)
+		{*r = Mono_Posix_SyslogLevel_LOG_ERR; return 0;}
+#endif /* ndef LOG_ERR */
+#ifdef LOG_INFO
+	if (x == LOG_INFO)
+		{*r = Mono_Posix_SyslogLevel_LOG_INFO; return 0;}
+#endif /* ndef LOG_INFO */
+#ifdef LOG_NOTICE
+	if (x == LOG_NOTICE)
+		{*r = Mono_Posix_SyslogLevel_LOG_NOTICE; return 0;}
+#endif /* ndef LOG_NOTICE */
+#ifdef LOG_WARNING
+	if (x == LOG_WARNING)
+		{*r = Mono_Posix_SyslogLevel_LOG_WARNING; return 0;}
+#endif /* ndef LOG_WARNING */
+	errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromSyslogOptions (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_SyslogOptions_LOG_CONS) == Mono_Posix_SyslogOptions_LOG_CONS)
+#ifdef LOG_CONS
+		*r |= LOG_CONS;
+#else /* def LOG_CONS */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_CONS */
+	if ((x & Mono_Posix_SyslogOptions_LOG_NDELAY) == Mono_Posix_SyslogOptions_LOG_NDELAY)
+#ifdef LOG_NDELAY
+		*r |= LOG_NDELAY;
+#else /* def LOG_NDELAY */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_NDELAY */
+	if ((x & Mono_Posix_SyslogOptions_LOG_NOWAIT) == Mono_Posix_SyslogOptions_LOG_NOWAIT)
+#ifdef LOG_NOWAIT
+		*r |= LOG_NOWAIT;
+#else /* def LOG_NOWAIT */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_NOWAIT */
+	if ((x & Mono_Posix_SyslogOptions_LOG_ODELAY) == Mono_Posix_SyslogOptions_LOG_ODELAY)
+#ifdef LOG_ODELAY
+		*r |= LOG_ODELAY;
+#else /* def LOG_ODELAY */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_ODELAY */
+	if ((x & Mono_Posix_SyslogOptions_LOG_PERROR) == Mono_Posix_SyslogOptions_LOG_PERROR)
+#ifdef LOG_PERROR
+		*r |= LOG_PERROR;
+#else /* def LOG_PERROR */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_PERROR */
+	if ((x & Mono_Posix_SyslogOptions_LOG_PID) == Mono_Posix_SyslogOptions_LOG_PID)
+#ifdef LOG_PID
+		*r |= LOG_PID;
+#else /* def LOG_PID */
+		{errno = EINVAL; return -1;}
+#endif /* ndef LOG_PID */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToSyslogOptions (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef LOG_CONS
+	if ((x & LOG_CONS) == LOG_CONS)
+		*r |= Mono_Posix_SyslogOptions_LOG_CONS;
+#endif /* ndef LOG_CONS */
+#ifdef LOG_NDELAY
+	if ((x & LOG_NDELAY) == LOG_NDELAY)
+		*r |= Mono_Posix_SyslogOptions_LOG_NDELAY;
+#endif /* ndef LOG_NDELAY */
+#ifdef LOG_NOWAIT
+	if ((x & LOG_NOWAIT) == LOG_NOWAIT)
+		*r |= Mono_Posix_SyslogOptions_LOG_NOWAIT;
+#endif /* ndef LOG_NOWAIT */
+#ifdef LOG_ODELAY
+	if ((x & LOG_ODELAY) == LOG_ODELAY)
+		*r |= Mono_Posix_SyslogOptions_LOG_ODELAY;
+#endif /* ndef LOG_ODELAY */
+#ifdef LOG_PERROR
+	if ((x & LOG_PERROR) == LOG_PERROR)
+		*r |= Mono_Posix_SyslogOptions_LOG_PERROR;
+#endif /* ndef LOG_PERROR */
+#ifdef LOG_PID
+	if ((x & LOG_PID) == LOG_PID)
+		*r |= Mono_Posix_SyslogOptions_LOG_PID;
+#endif /* ndef LOG_PID */
+	return 0;
+}
+
+int
+Mono_Posix_FromTimeval (struct Mono_Posix_Timeval *from, struct timeval *to)
+{
+	_cnm_return_val_if_overflow (time_t, from->tv_sec, -1);
+	_cnm_return_val_if_overflow (suseconds_t, from->tv_usec, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->tv_sec  = from->tv_sec;
+	to->tv_usec = from->tv_usec;
+
+	return 0;
+}
+
+
+int
+Mono_Posix_ToTimeval (struct timeval *from, struct Mono_Posix_Timeval *to)
+{
+	_cnm_return_val_if_overflow (gint64, from->tv_sec, -1);
+	_cnm_return_val_if_overflow (gint64, from->tv_usec, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->tv_sec  = from->tv_sec;
+	to->tv_usec = from->tv_usec;
+
+	return 0;
+}
+
+
+int
+Mono_Posix_FromTimezone (struct Mono_Posix_Timezone *from, struct timezone *to)
+{
+	_cnm_return_val_if_overflow (int, from->tz_minuteswest, -1);
+	_cnm_return_val_if_overflow (int, from->tz_dsttime, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->tz_minuteswest = from->tz_minuteswest;
+	to->tz_dsttime     = from->tz_dsttime;
+
+	return 0;
+}
+
+
+int
+Mono_Posix_ToTimezone (struct timezone *from, struct Mono_Posix_Timezone *to)
+{
+	_cnm_return_val_if_overflow (int, from->tz_minuteswest, -1);
+	_cnm_return_val_if_overflow (int, from->tz_dsttime, -1);
+
+	memset (to, 0, sizeof(*to));
+
+	to->tz_minuteswest = from->tz_minuteswest;
+	to->tz_dsttime     = from->tz_dsttime;
+
+	return 0;
+}
+
+
+int Mono_Posix_FromWaitOptions (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_WaitOptions_WNOHANG) == Mono_Posix_WaitOptions_WNOHANG)
+#ifdef WNOHANG
+		*r |= WNOHANG;
+#else /* def WNOHANG */
+		{errno = EINVAL; return -1;}
+#endif /* ndef WNOHANG */
+	if ((x & Mono_Posix_WaitOptions_WUNTRACED) == Mono_Posix_WaitOptions_WUNTRACED)
+#ifdef WUNTRACED
+		*r |= WUNTRACED;
+#else /* def WUNTRACED */
+		{errno = EINVAL; return -1;}
+#endif /* ndef WUNTRACED */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToWaitOptions (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef WNOHANG
+	if ((x & WNOHANG) == WNOHANG)
+		*r |= Mono_Posix_WaitOptions_WNOHANG;
+#endif /* ndef WNOHANG */
+#ifdef WUNTRACED
+	if ((x & WUNTRACED) == WUNTRACED)
+		*r |= Mono_Posix_WaitOptions_WUNTRACED;
+#endif /* ndef WUNTRACED */
+	return 0;
+}
+
+int Mono_Posix_FromXattrFlags (int x, int *r)
+{
+	*r = 0;
+	if ((x & Mono_Posix_XattrFlags_XATTR_AUTO) == Mono_Posix_XattrFlags_XATTR_AUTO)
+#ifdef XATTR_AUTO
+		*r |= XATTR_AUTO;
+#else /* def XATTR_AUTO */
+		{errno = EINVAL; return -1;}
+#endif /* ndef XATTR_AUTO */
+	if ((x & Mono_Posix_XattrFlags_XATTR_CREATE) == Mono_Posix_XattrFlags_XATTR_CREATE)
+#ifdef XATTR_CREATE
+		*r |= XATTR_CREATE;
+#else /* def XATTR_CREATE */
+		{errno = EINVAL; return -1;}
+#endif /* ndef XATTR_CREATE */
+	if ((x & Mono_Posix_XattrFlags_XATTR_REPLACE) == Mono_Posix_XattrFlags_XATTR_REPLACE)
+#ifdef XATTR_REPLACE
+		*r |= XATTR_REPLACE;
+#else /* def XATTR_REPLACE */
+		{errno = EINVAL; return -1;}
+#endif /* ndef XATTR_REPLACE */
+	if (x == 0)
+		return 0;
+	return 0;
+}
+
+int Mono_Posix_ToXattrFlags (int x, int *r)
+{
+	*r = 0;
+	if (x == 0)
+		return 0;
+#ifdef XATTR_AUTO
+	if ((x & XATTR_AUTO) == XATTR_AUTO)
+		*r |= Mono_Posix_XattrFlags_XATTR_AUTO;
+#endif /* ndef XATTR_AUTO */
+#ifdef XATTR_CREATE
+	if ((x & XATTR_CREATE) == XATTR_CREATE)
+		*r |= Mono_Posix_XattrFlags_XATTR_CREATE;
+#endif /* ndef XATTR_CREATE */
+#ifdef XATTR_REPLACE
+	if ((x & XATTR_REPLACE) == XATTR_REPLACE)
+		*r |= Mono_Posix_XattrFlags_XATTR_REPLACE;
+#endif /* ndef XATTR_REPLACE */
+	return 0;
+}
+

+ 1596 - 1020
support/map.h

@@ -1,9 +1,8 @@
 /*
- * This file was automatically generated by make-map from ../../mcs/class/lib/default/Mono.Posix.dll.
+ * This file was automatically generated by create-native-map from Mono.Posix.dll.
  *
  * DO NOT MODIFY.
  */
-#include <config.h>
 
 #ifndef INC_Mono_Posix_map_H
 #define INC_Mono_Posix_map_H
@@ -12,1105 +11,1682 @@
 
 G_BEGIN_DECLS
 
-#define Mono_Posix_AccessMode_F_OK 0x00000008
-#define Mono_Posix_AccessMode_R_OK 0x00000001
-#define Mono_Posix_AccessMode_W_OK 0x00000002
-#define Mono_Posix_AccessMode_X_OK 0x00000004
-int Mono_Posix_FromAccessMode (int x, int *r);
-int Mono_Posix_ToAccessMode (int x, int *r);
-
-#define Mono_Posix_ConfStr__CS_GNU_LIBC_VERSION 0x00000002
-#define Mono_Posix_ConfStr__CS_GNU_LIBPTHREAD_VERSION 0x00000003
-#define Mono_Posix_ConfStr__CS_LFS64_CFLAGS 0x000003ec
-#define Mono_Posix_ConfStr__CS_LFS64_LDFLAGS 0x000003ed
-#define Mono_Posix_ConfStr__CS_LFS64_LIBS 0x000003ee
-#define Mono_Posix_ConfStr__CS_LFS64_LINTFLAGS 0x000003ef
-#define Mono_Posix_ConfStr__CS_LFS_CFLAGS 0x000003e8
-#define Mono_Posix_ConfStr__CS_LFS_LDFLAGS 0x000003e9
-#define Mono_Posix_ConfStr__CS_LFS_LIBS 0x000003ea
-#define Mono_Posix_ConfStr__CS_LFS_LINTFLAGS 0x000003eb
-#define Mono_Posix_ConfStr__CS_PATH 0x00000000
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_CFLAGS 0x0000045c
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LDFLAGS 0x0000045d
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LIBS 0x0000045e
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS 0x0000045f
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 0x00000460
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 0x00000461
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LIBS 0x00000462
-#define Mono_Posix_ConfStr__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS 0x00000463
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_CFLAGS 0x00000464
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LDFLAGS 0x00000465
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LIBS 0x00000466
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LP64_OFF64_LINTFLAGS 0x00000467
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 0x00000468
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 0x00000469
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LIBS 0x0000046a
-#define Mono_Posix_ConfStr__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS 0x0000046b
-#define Mono_Posix_ConfStr__CS_V6_WIDTH_RESTRICTED_ENVS 0x00000001
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_CFLAGS 0x0000044c
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LDFLAGS 0x0000044d
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LIBS 0x0000044e
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFF32_LINTFLAGS 0x0000044f
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_CFLAGS 0x00000450
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LDFLAGS 0x00000451
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LIBS 0x00000452
-#define Mono_Posix_ConfStr__CS_XBS5_ILP32_OFFBIG_LINTFLAGS 0x00000453
-#define Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_CFLAGS 0x00000454
-#define Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LDFLAGS 0x00000455
-#define Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LIBS 0x00000456
-#define Mono_Posix_ConfStr__CS_XBS5_LP64_OFF64_LINTFLAGS 0x00000457
-#define Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_CFLAGS 0x00000458
-#define Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LDFLAGS 0x00000459
-#define Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LIBS 0x0000045a
-#define Mono_Posix_ConfStr__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 0x0000045b
-int Mono_Posix_FromConfStr (int x, int *r);
-int Mono_Posix_ToConfStr (int x, int *r);
-
-#define Mono_Posix_Error_E2BIG 0x00000007
-#define Mono_Posix_Error_EACCES 0x0000000d
-#define Mono_Posix_Error_EADDRINUSE 0x00000062
-#define Mono_Posix_Error_EADDRNOTAVAIL 0x00000063
-#define Mono_Posix_Error_EADV 0x00000044
-#define Mono_Posix_Error_EAFNOSUPPORT 0x00000061
-#define Mono_Posix_Error_EAGAIN 0x0000000b
-#define Mono_Posix_Error_EALREADY 0x00000072
-#define Mono_Posix_Error_EBADE 0x00000034
-#define Mono_Posix_Error_EBADF 0x00000009
-#define Mono_Posix_Error_EBADFD 0x0000004d
-#define Mono_Posix_Error_EBADMSG 0x0000004a
-#define Mono_Posix_Error_EBADR 0x00000035
-#define Mono_Posix_Error_EBADRQC 0x00000038
-#define Mono_Posix_Error_EBADSLT 0x00000039
-#define Mono_Posix_Error_EBFONT 0x0000003b
-#define Mono_Posix_Error_EBUSY 0x00000010
-#define Mono_Posix_Error_ECHILD 0x0000000a
-#define Mono_Posix_Error_ECHRNG 0x0000002c
-#define Mono_Posix_Error_ECOMM 0x00000046
-#define Mono_Posix_Error_ECONNABORTED 0x00000067
-#define Mono_Posix_Error_ECONNREFUSED 0x0000006f
-#define Mono_Posix_Error_ECONNRESET 0x00000068
-#define Mono_Posix_Error_EDEADLK 0x00000023
-#define Mono_Posix_Error_EDEADLOCK 0x00000023
-#define Mono_Posix_Error_EDESTADDRREQ 0x00000059
-#define Mono_Posix_Error_EDOM 0x00000021
-#define Mono_Posix_Error_EDOTDOT 0x00000049
-#define Mono_Posix_Error_EDQUOT 0x0000007a
-#define Mono_Posix_Error_EEXIST 0x00000011
-#define Mono_Posix_Error_EFAULT 0x0000000e
-#define Mono_Posix_Error_EFBIG 0x0000001b
-#define Mono_Posix_Error_EHOSTDOWN 0x00000070
-#define Mono_Posix_Error_EHOSTUNREACH 0x00000071
-#define Mono_Posix_Error_EIDRM 0x0000002b
-#define Mono_Posix_Error_EILSEQ 0x00000054
-#define Mono_Posix_Error_EINPROGRESS 0x00000073
-#define Mono_Posix_Error_EINTR 0x00000004
-#define Mono_Posix_Error_EINVAL 0x00000016
-#define Mono_Posix_Error_EIO 0x00000005
-#define Mono_Posix_Error_EISCONN 0x0000006a
-#define Mono_Posix_Error_EISDIR 0x00000015
-#define Mono_Posix_Error_EISNAM 0x00000078
-#define Mono_Posix_Error_EL2HLT 0x00000033
-#define Mono_Posix_Error_EL2NSYNC 0x0000002d
-#define Mono_Posix_Error_EL3HLT 0x0000002e
-#define Mono_Posix_Error_EL3RST 0x0000002f
-#define Mono_Posix_Error_ELIBACC 0x0000004f
-#define Mono_Posix_Error_ELIBBAD 0x00000050
-#define Mono_Posix_Error_ELIBEXEC 0x00000053
-#define Mono_Posix_Error_ELIBMAX 0x00000052
-#define Mono_Posix_Error_ELIBSCN 0x00000051
-#define Mono_Posix_Error_ELNRNG 0x00000030
-#define Mono_Posix_Error_ELOOP 0x00000028
-#define Mono_Posix_Error_EMEDIUMTYPE 0x0000007c
-#define Mono_Posix_Error_EMFILE 0x00000018
-#define Mono_Posix_Error_EMLINK 0x0000001f
-#define Mono_Posix_Error_EMSGSIZE 0x0000005a
-#define Mono_Posix_Error_EMULTIHOP 0x00000048
-#define Mono_Posix_Error_ENAMETOOLONG 0x00000024
-#define Mono_Posix_Error_ENAVAIL 0x00000077
-#define Mono_Posix_Error_ENETDOWN 0x00000064
-#define Mono_Posix_Error_ENETRESET 0x00000066
-#define Mono_Posix_Error_ENETUNREACH 0x00000065
-#define Mono_Posix_Error_ENFILE 0x00000017
-#define Mono_Posix_Error_ENOANO 0x00000037
-#define Mono_Posix_Error_ENOBUFS 0x00000069
-#define Mono_Posix_Error_ENOCSI 0x00000032
-#define Mono_Posix_Error_ENODATA 0x0000003d
-#define Mono_Posix_Error_ENODEV 0x00000013
-#define Mono_Posix_Error_ENOENT 0x00000002
-#define Mono_Posix_Error_ENOEXEC 0x00000008
-#define Mono_Posix_Error_ENOLCK 0x00000025
-#define Mono_Posix_Error_ENOLINK 0x00000043
-#define Mono_Posix_Error_ENOMEDIUM 0x0000007b
-#define Mono_Posix_Error_ENOMEM 0x0000000c
-#define Mono_Posix_Error_ENOMSG 0x0000002a
-#define Mono_Posix_Error_ENONET 0x00000040
-#define Mono_Posix_Error_ENOPKG 0x00000041
-#define Mono_Posix_Error_ENOPROTOOPT 0x0000005c
-#define Mono_Posix_Error_ENOSPC 0x0000001c
-#define Mono_Posix_Error_ENOSR 0x0000003f
-#define Mono_Posix_Error_ENOSTR 0x0000003c
-#define Mono_Posix_Error_ENOSYS 0x00000026
-#define Mono_Posix_Error_ENOTBLK 0x0000000f
-#define Mono_Posix_Error_ENOTCONN 0x0000006b
-#define Mono_Posix_Error_ENOTDIR 0x00000014
-#define Mono_Posix_Error_ENOTEMPTY 0x00000027
-#define Mono_Posix_Error_ENOTNAM 0x00000076
-#define Mono_Posix_Error_ENOTSOCK 0x00000058
-#define Mono_Posix_Error_ENOTTY 0x00000019
-#define Mono_Posix_Error_ENOTUNIQ 0x0000004c
-#define Mono_Posix_Error_ENXIO 0x00000006
-#define Mono_Posix_Error_EOPNOTSUPP 0x0000005f
-#define Mono_Posix_Error_EOVERFLOW 0x0000004b
-#define Mono_Posix_Error_EPERM 0x00000001
-#define Mono_Posix_Error_EPFNOSUPPORT 0x00000060
-#define Mono_Posix_Error_EPIPE 0x00000020
-#define Mono_Posix_Error_EPROTO 0x00000047
-#define Mono_Posix_Error_EPROTONOSUPPORT 0x0000005d
-#define Mono_Posix_Error_EPROTOTYPE 0x0000005b
-#define Mono_Posix_Error_ERANGE 0x00000022
-#define Mono_Posix_Error_EREMCHG 0x0000004e
-#define Mono_Posix_Error_EREMOTE 0x00000042
-#define Mono_Posix_Error_EREMOTEIO 0x00000079
-#define Mono_Posix_Error_ERESTART 0x00000055
-#define Mono_Posix_Error_EROFS 0x0000001e
-#define Mono_Posix_Error_ESHUTDOWN 0x0000006c
-#define Mono_Posix_Error_ESOCKTNOSUPPORT 0x0000005e
-#define Mono_Posix_Error_ESPIPE 0x0000001d
-#define Mono_Posix_Error_ESRCH 0x00000003
-#define Mono_Posix_Error_ESRMNT 0x00000045
-#define Mono_Posix_Error_ESTALE 0x00000074
-#define Mono_Posix_Error_ESTRPIPE 0x00000056
-#define Mono_Posix_Error_ETIME 0x0000003e
-#define Mono_Posix_Error_ETIMEDOUT 0x0000006e
-#define Mono_Posix_Error_ETOOMANYREFS 0x0000006d
-#define Mono_Posix_Error_ETXTBSY 0x0000001a
-#define Mono_Posix_Error_EUCLEAN 0x00000075
-#define Mono_Posix_Error_EUNATCH 0x00000031
-#define Mono_Posix_Error_EUSERS 0x00000057
-#define Mono_Posix_Error_EWOULDBLOCK 0x0000000b
-#define Mono_Posix_Error_EXDEV 0x00000012
-#define Mono_Posix_Error_EXFULL 0x00000036
-int Mono_Posix_FromError (int x, int *r);
-int Mono_Posix_ToError (int x, int *r);
-
-#define Mono_Posix_MmapProt_PROT_EXEC 0x00000004
-#define Mono_Posix_MmapProt_PROT_GROWSDOWN 0x01000000
-#define Mono_Posix_MmapProt_PROT_GROWSUP 0x02000000
-#define Mono_Posix_MmapProt_PROT_NONE 0x00000000
-#define Mono_Posix_MmapProt_PROT_READ 0x00000001
-#define Mono_Posix_MmapProt_PROT_WRITE 0x00000002
-int Mono_Posix_FromMmapProt (int x, int *r);
-int Mono_Posix_ToMmapProt (int x, int *r);
-
-#define Mono_Posix_AccessModes_F_OK 0x00000008
-#define Mono_Posix_AccessModes_R_OK 0x00000001
-#define Mono_Posix_AccessModes_W_OK 0x00000002
-#define Mono_Posix_AccessModes_X_OK 0x00000004
+/*
+ * Public Macros
+ */
+
+/*
+ * Public Includes
+ */
+
+/*
+ * Enumerations
+ */
+enum Mono_Posix_AccessModes {
+	Mono_Posix_AccessModes_F_OK          = 0x00000008,
+	#define Mono_Posix_AccessModes_F_OK    Mono_Posix_AccessModes_F_OK
+	Mono_Posix_AccessModes_R_OK          = 0x00000001,
+	#define Mono_Posix_AccessModes_R_OK    Mono_Posix_AccessModes_R_OK
+	Mono_Posix_AccessModes_W_OK          = 0x00000002,
+	#define Mono_Posix_AccessModes_W_OK    Mono_Posix_AccessModes_W_OK
+	Mono_Posix_AccessModes_X_OK          = 0x00000004,
+	#define Mono_Posix_AccessModes_X_OK    Mono_Posix_AccessModes_X_OK
+};
 int Mono_Posix_FromAccessModes (int x, int *r);
 int Mono_Posix_ToAccessModes (int x, int *r);
 
-#define Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION 0x00000002
-#define Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION 0x00000003
-#define Mono_Posix_ConfstrName__CS_LFS64_CFLAGS 0x000003ec
-#define Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS 0x000003ed
-#define Mono_Posix_ConfstrName__CS_LFS64_LIBS 0x000003ee
-#define Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS 0x000003ef
-#define Mono_Posix_ConfstrName__CS_LFS_CFLAGS 0x000003e8
-#define Mono_Posix_ConfstrName__CS_LFS_LDFLAGS 0x000003e9
-#define Mono_Posix_ConfstrName__CS_LFS_LIBS 0x000003ea
-#define Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS 0x000003eb
-#define Mono_Posix_ConfstrName__CS_PATH 0x00000000
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS 0x0000045c
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS 0x0000045d
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS 0x0000045e
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS 0x0000045f
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 0x00000460
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 0x00000461
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS 0x00000462
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS 0x00000463
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS 0x00000464
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS 0x00000465
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS 0x00000466
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS 0x00000467
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 0x00000468
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 0x00000469
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS 0x0000046a
-#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS 0x0000046b
-#define Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS 0x00000001
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS 0x0000044c
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS 0x0000044d
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS 0x0000044e
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS 0x0000044f
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS 0x00000450
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS 0x00000451
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS 0x00000452
-#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS 0x00000453
-#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS 0x00000454
-#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS 0x00000455
-#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS 0x00000456
-#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS 0x00000457
-#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS 0x00000458
-#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS 0x00000459
-#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS 0x0000045a
-#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 0x0000045b
+enum Mono_Posix_ConfstrName {
+	Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION                      = 0x00000002,
+	#define Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION                Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION
+	Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION                = 0x00000003,
+	#define Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION          Mono_Posix_ConfstrName__CS_GNU_LIBPTHREAD_VERSION
+	Mono_Posix_ConfstrName__CS_LFS64_CFLAGS                          = 0x000003ec,
+	#define Mono_Posix_ConfstrName__CS_LFS64_CFLAGS                    Mono_Posix_ConfstrName__CS_LFS64_CFLAGS
+	Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS                         = 0x000003ed,
+	#define Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS                   Mono_Posix_ConfstrName__CS_LFS64_LDFLAGS
+	Mono_Posix_ConfstrName__CS_LFS64_LIBS                            = 0x000003ee,
+	#define Mono_Posix_ConfstrName__CS_LFS64_LIBS                      Mono_Posix_ConfstrName__CS_LFS64_LIBS
+	Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS                       = 0x000003ef,
+	#define Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS                 Mono_Posix_ConfstrName__CS_LFS64_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_LFS_CFLAGS                            = 0x000003e8,
+	#define Mono_Posix_ConfstrName__CS_LFS_CFLAGS                      Mono_Posix_ConfstrName__CS_LFS_CFLAGS
+	Mono_Posix_ConfstrName__CS_LFS_LDFLAGS                           = 0x000003e9,
+	#define Mono_Posix_ConfstrName__CS_LFS_LDFLAGS                     Mono_Posix_ConfstrName__CS_LFS_LDFLAGS
+	Mono_Posix_ConfstrName__CS_LFS_LIBS                              = 0x000003ea,
+	#define Mono_Posix_ConfstrName__CS_LFS_LIBS                        Mono_Posix_ConfstrName__CS_LFS_LIBS
+	Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS                         = 0x000003eb,
+	#define Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS                   Mono_Posix_ConfstrName__CS_LFS_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_PATH                                  = 0x00000000,
+	#define Mono_Posix_ConfstrName__CS_PATH                            Mono_Posix_ConfstrName__CS_PATH
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS           = 0x0000045c,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS     Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_CFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS          = 0x0000045d,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS    Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS             = 0x0000045e,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS       Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LIBS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS        = 0x0000045f,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS  Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS          = 0x00000460,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS    Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS         = 0x00000461,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS   Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS            = 0x00000462,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS      Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LIBS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS       = 0x00000463,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS Mono_Posix_ConfstrName__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS            = 0x00000464,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS      Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_CFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS           = 0x00000465,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS     Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LDFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS              = 0x00000466,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS        Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LIBS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS         = 0x00000467,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS   Mono_Posix_ConfstrName__CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS          = 0x00000468,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS    Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS         = 0x00000469,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS   Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS            = 0x0000046a,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS      Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+	Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS       = 0x0000046b,
+	#define Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS Mono_Posix_ConfstrName__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS              = 0x00000001,
+	#define Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS        Mono_Posix_ConfstrName__CS_V6_WIDTH_RESTRICTED_ENVS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS               = 0x0000044c,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS         Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_CFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS              = 0x0000044d,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS        Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LDFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS                 = 0x0000044e,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS           Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LIBS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS            = 0x0000044f,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS      Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFF32_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS              = 0x00000450,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS        Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_CFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS             = 0x00000451,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS       Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LDFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS                = 0x00000452,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS          Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LIBS
+	Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS           = 0x00000453,
+	#define Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS     Mono_Posix_ConfstrName__CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS                = 0x00000454,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS          Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_CFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS               = 0x00000455,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS         Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LDFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS                  = 0x00000456,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS            Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LIBS
+	Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS             = 0x00000457,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS       Mono_Posix_ConfstrName__CS_XBS5_LP64_OFF64_LINTFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS              = 0x00000458,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS        Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_CFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS             = 0x00000459,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS       Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+	Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS                = 0x0000045a,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS          Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LIBS
+	Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS           = 0x0000045b,
+	#define Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS     Mono_Posix_ConfstrName__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+};
 int Mono_Posix_FromConfstrName (int x, int *r);
 int Mono_Posix_ToConfstrName (int x, int *r);
 
-#define Mono_Posix_DirectoryNotifyFlags_DN_ACCESS 0x00000001
-#define Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB 0x00000020
-#define Mono_Posix_DirectoryNotifyFlags_DN_CREATE 0x00000004
-#define Mono_Posix_DirectoryNotifyFlags_DN_DELETE 0x00000008
-#define Mono_Posix_DirectoryNotifyFlags_DN_MODIFY 0x00000002
-#define Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT 0x80000000
-#define Mono_Posix_DirectoryNotifyFlags_DN_RENAME 0x00000010
+enum Mono_Posix_DirectoryNotifyFlags {
+	Mono_Posix_DirectoryNotifyFlags_DN_ACCESS          = 0x00000001,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_ACCESS    Mono_Posix_DirectoryNotifyFlags_DN_ACCESS
+	Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB          = 0x00000020,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB    Mono_Posix_DirectoryNotifyFlags_DN_ATTRIB
+	Mono_Posix_DirectoryNotifyFlags_DN_CREATE          = 0x00000004,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_CREATE    Mono_Posix_DirectoryNotifyFlags_DN_CREATE
+	Mono_Posix_DirectoryNotifyFlags_DN_DELETE          = 0x00000008,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_DELETE    Mono_Posix_DirectoryNotifyFlags_DN_DELETE
+	Mono_Posix_DirectoryNotifyFlags_DN_MODIFY          = 0x00000002,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_MODIFY    Mono_Posix_DirectoryNotifyFlags_DN_MODIFY
+	Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT       = 0x80000000,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT Mono_Posix_DirectoryNotifyFlags_DN_MULTISHOT
+	Mono_Posix_DirectoryNotifyFlags_DN_RENAME          = 0x00000010,
+	#define Mono_Posix_DirectoryNotifyFlags_DN_RENAME    Mono_Posix_DirectoryNotifyFlags_DN_RENAME
+};
 int Mono_Posix_FromDirectoryNotifyFlags (int x, int *r);
 int Mono_Posix_ToDirectoryNotifyFlags (int x, int *r);
 
-#define Mono_Posix_Errno_E2BIG 0x00000007
-#define Mono_Posix_Errno_EACCES 0x0000000d
-#define Mono_Posix_Errno_EADDRINUSE 0x00000062
-#define Mono_Posix_Errno_EADDRNOTAVAIL 0x00000063
-#define Mono_Posix_Errno_EADV 0x00000044
-#define Mono_Posix_Errno_EAFNOSUPPORT 0x00000061
-#define Mono_Posix_Errno_EAGAIN 0x0000000b
-#define Mono_Posix_Errno_EALREADY 0x00000072
-#define Mono_Posix_Errno_EBADE 0x00000034
-#define Mono_Posix_Errno_EBADF 0x00000009
-#define Mono_Posix_Errno_EBADFD 0x0000004d
-#define Mono_Posix_Errno_EBADMSG 0x0000004a
-#define Mono_Posix_Errno_EBADR 0x00000035
-#define Mono_Posix_Errno_EBADRQC 0x00000038
-#define Mono_Posix_Errno_EBADSLT 0x00000039
-#define Mono_Posix_Errno_EBFONT 0x0000003b
-#define Mono_Posix_Errno_EBUSY 0x00000010
-#define Mono_Posix_Errno_ECHILD 0x0000000a
-#define Mono_Posix_Errno_ECHRNG 0x0000002c
-#define Mono_Posix_Errno_ECOMM 0x00000046
-#define Mono_Posix_Errno_ECONNABORTED 0x00000067
-#define Mono_Posix_Errno_ECONNREFUSED 0x0000006f
-#define Mono_Posix_Errno_ECONNRESET 0x00000068
-#define Mono_Posix_Errno_EDEADLK 0x00000023
-#define Mono_Posix_Errno_EDEADLOCK 0x00000023
-#define Mono_Posix_Errno_EDESTADDRREQ 0x00000059
-#define Mono_Posix_Errno_EDOM 0x00000021
-#define Mono_Posix_Errno_EDOTDOT 0x00000049
-#define Mono_Posix_Errno_EDQUOT 0x0000007a
-#define Mono_Posix_Errno_EEXIST 0x00000011
-#define Mono_Posix_Errno_EFAULT 0x0000000e
-#define Mono_Posix_Errno_EFBIG 0x0000001b
-#define Mono_Posix_Errno_EHOSTDOWN 0x00000070
-#define Mono_Posix_Errno_EHOSTUNREACH 0x00000071
-#define Mono_Posix_Errno_EIDRM 0x0000002b
-#define Mono_Posix_Errno_EILSEQ 0x00000054
-#define Mono_Posix_Errno_EINPROGRESS 0x00000073
-#define Mono_Posix_Errno_EINTR 0x00000004
-#define Mono_Posix_Errno_EINVAL 0x00000016
-#define Mono_Posix_Errno_EIO 0x00000005
-#define Mono_Posix_Errno_EISCONN 0x0000006a
-#define Mono_Posix_Errno_EISDIR 0x00000015
-#define Mono_Posix_Errno_EISNAM 0x00000078
-#define Mono_Posix_Errno_EL2HLT 0x00000033
-#define Mono_Posix_Errno_EL2NSYNC 0x0000002d
-#define Mono_Posix_Errno_EL3HLT 0x0000002e
-#define Mono_Posix_Errno_EL3RST 0x0000002f
-#define Mono_Posix_Errno_ELIBACC 0x0000004f
-#define Mono_Posix_Errno_ELIBBAD 0x00000050
-#define Mono_Posix_Errno_ELIBEXEC 0x00000053
-#define Mono_Posix_Errno_ELIBMAX 0x00000052
-#define Mono_Posix_Errno_ELIBSCN 0x00000051
-#define Mono_Posix_Errno_ELNRNG 0x00000030
-#define Mono_Posix_Errno_ELOOP 0x00000028
-#define Mono_Posix_Errno_EMEDIUMTYPE 0x0000007c
-#define Mono_Posix_Errno_EMFILE 0x00000018
-#define Mono_Posix_Errno_EMLINK 0x0000001f
-#define Mono_Posix_Errno_EMSGSIZE 0x0000005a
-#define Mono_Posix_Errno_EMULTIHOP 0x00000048
-#define Mono_Posix_Errno_ENAMETOOLONG 0x00000024
-#define Mono_Posix_Errno_ENAVAIL 0x00000077
-#define Mono_Posix_Errno_ENETDOWN 0x00000064
-#define Mono_Posix_Errno_ENETRESET 0x00000066
-#define Mono_Posix_Errno_ENETUNREACH 0x00000065
-#define Mono_Posix_Errno_ENFILE 0x00000017
-#define Mono_Posix_Errno_ENOANO 0x00000037
-#define Mono_Posix_Errno_ENOBUFS 0x00000069
-#define Mono_Posix_Errno_ENOCSI 0x00000032
-#define Mono_Posix_Errno_ENODATA 0x0000003d
-#define Mono_Posix_Errno_ENODEV 0x00000013
-#define Mono_Posix_Errno_ENOENT 0x00000002
-#define Mono_Posix_Errno_ENOEXEC 0x00000008
-#define Mono_Posix_Errno_ENOLCK 0x00000025
-#define Mono_Posix_Errno_ENOLINK 0x00000043
-#define Mono_Posix_Errno_ENOMEDIUM 0x0000007b
-#define Mono_Posix_Errno_ENOMEM 0x0000000c
-#define Mono_Posix_Errno_ENOMSG 0x0000002a
-#define Mono_Posix_Errno_ENONET 0x00000040
-#define Mono_Posix_Errno_ENOPKG 0x00000041
-#define Mono_Posix_Errno_ENOPROTOOPT 0x0000005c
-#define Mono_Posix_Errno_ENOSPC 0x0000001c
-#define Mono_Posix_Errno_ENOSR 0x0000003f
-#define Mono_Posix_Errno_ENOSTR 0x0000003c
-#define Mono_Posix_Errno_ENOSYS 0x00000026
-#define Mono_Posix_Errno_ENOTBLK 0x0000000f
-#define Mono_Posix_Errno_ENOTCONN 0x0000006b
-#define Mono_Posix_Errno_ENOTDIR 0x00000014
-#define Mono_Posix_Errno_ENOTEMPTY 0x00000027
-#define Mono_Posix_Errno_ENOTNAM 0x00000076
-#define Mono_Posix_Errno_ENOTSOCK 0x00000058
-#define Mono_Posix_Errno_ENOTTY 0x00000019
-#define Mono_Posix_Errno_ENOTUNIQ 0x0000004c
-#define Mono_Posix_Errno_ENXIO 0x00000006
-#define Mono_Posix_Errno_EOPNOTSUPP 0x0000005f
-#define Mono_Posix_Errno_EOVERFLOW 0x0000004b
-#define Mono_Posix_Errno_EPERM 0x00000001
-#define Mono_Posix_Errno_EPFNOSUPPORT 0x00000060
-#define Mono_Posix_Errno_EPIPE 0x00000020
-#define Mono_Posix_Errno_EPROTO 0x00000047
-#define Mono_Posix_Errno_EPROTONOSUPPORT 0x0000005d
-#define Mono_Posix_Errno_EPROTOTYPE 0x0000005b
-#define Mono_Posix_Errno_ERANGE 0x00000022
-#define Mono_Posix_Errno_EREMCHG 0x0000004e
-#define Mono_Posix_Errno_EREMOTE 0x00000042
-#define Mono_Posix_Errno_EREMOTEIO 0x00000079
-#define Mono_Posix_Errno_ERESTART 0x00000055
-#define Mono_Posix_Errno_EROFS 0x0000001e
-#define Mono_Posix_Errno_ESHUTDOWN 0x0000006c
-#define Mono_Posix_Errno_ESOCKTNOSUPPORT 0x0000005e
-#define Mono_Posix_Errno_ESPIPE 0x0000001d
-#define Mono_Posix_Errno_ESRCH 0x00000003
-#define Mono_Posix_Errno_ESRMNT 0x00000045
-#define Mono_Posix_Errno_ESTALE 0x00000074
-#define Mono_Posix_Errno_ESTRPIPE 0x00000056
-#define Mono_Posix_Errno_ETIME 0x0000003e
-#define Mono_Posix_Errno_ETIMEDOUT 0x0000006e
-#define Mono_Posix_Errno_ETOOMANYREFS 0x0000006d
-#define Mono_Posix_Errno_ETXTBSY 0x0000001a
-#define Mono_Posix_Errno_EUCLEAN 0x00000075
-#define Mono_Posix_Errno_EUNATCH 0x00000031
-#define Mono_Posix_Errno_EUSERS 0x00000057
-#define Mono_Posix_Errno_EWOULDBLOCK 0x0000000b
-#define Mono_Posix_Errno_EXDEV 0x00000012
-#define Mono_Posix_Errno_EXFULL 0x00000036
+enum Mono_Posix_Errno {
+	Mono_Posix_Errno_E2BIG                 = 0x00000007,
+	#define Mono_Posix_Errno_E2BIG           Mono_Posix_Errno_E2BIG
+	Mono_Posix_Errno_EACCES                = 0x0000000d,
+	#define Mono_Posix_Errno_EACCES          Mono_Posix_Errno_EACCES
+	Mono_Posix_Errno_EADDRINUSE            = 0x00000062,
+	#define Mono_Posix_Errno_EADDRINUSE      Mono_Posix_Errno_EADDRINUSE
+	Mono_Posix_Errno_EADDRNOTAVAIL         = 0x00000063,
+	#define Mono_Posix_Errno_EADDRNOTAVAIL   Mono_Posix_Errno_EADDRNOTAVAIL
+	Mono_Posix_Errno_EADV                  = 0x00000044,
+	#define Mono_Posix_Errno_EADV            Mono_Posix_Errno_EADV
+	Mono_Posix_Errno_EAFNOSUPPORT          = 0x00000061,
+	#define Mono_Posix_Errno_EAFNOSUPPORT    Mono_Posix_Errno_EAFNOSUPPORT
+	Mono_Posix_Errno_EAGAIN                = 0x0000000b,
+	#define Mono_Posix_Errno_EAGAIN          Mono_Posix_Errno_EAGAIN
+	Mono_Posix_Errno_EALREADY              = 0x00000072,
+	#define Mono_Posix_Errno_EALREADY        Mono_Posix_Errno_EALREADY
+	Mono_Posix_Errno_EBADE                 = 0x00000034,
+	#define Mono_Posix_Errno_EBADE           Mono_Posix_Errno_EBADE
+	Mono_Posix_Errno_EBADF                 = 0x00000009,
+	#define Mono_Posix_Errno_EBADF           Mono_Posix_Errno_EBADF
+	Mono_Posix_Errno_EBADFD                = 0x0000004d,
+	#define Mono_Posix_Errno_EBADFD          Mono_Posix_Errno_EBADFD
+	Mono_Posix_Errno_EBADMSG               = 0x0000004a,
+	#define Mono_Posix_Errno_EBADMSG         Mono_Posix_Errno_EBADMSG
+	Mono_Posix_Errno_EBADR                 = 0x00000035,
+	#define Mono_Posix_Errno_EBADR           Mono_Posix_Errno_EBADR
+	Mono_Posix_Errno_EBADRQC               = 0x00000038,
+	#define Mono_Posix_Errno_EBADRQC         Mono_Posix_Errno_EBADRQC
+	Mono_Posix_Errno_EBADSLT               = 0x00000039,
+	#define Mono_Posix_Errno_EBADSLT         Mono_Posix_Errno_EBADSLT
+	Mono_Posix_Errno_EBFONT                = 0x0000003b,
+	#define Mono_Posix_Errno_EBFONT          Mono_Posix_Errno_EBFONT
+	Mono_Posix_Errno_EBUSY                 = 0x00000010,
+	#define Mono_Posix_Errno_EBUSY           Mono_Posix_Errno_EBUSY
+	Mono_Posix_Errno_ECHILD                = 0x0000000a,
+	#define Mono_Posix_Errno_ECHILD          Mono_Posix_Errno_ECHILD
+	Mono_Posix_Errno_ECHRNG                = 0x0000002c,
+	#define Mono_Posix_Errno_ECHRNG          Mono_Posix_Errno_ECHRNG
+	Mono_Posix_Errno_ECOMM                 = 0x00000046,
+	#define Mono_Posix_Errno_ECOMM           Mono_Posix_Errno_ECOMM
+	Mono_Posix_Errno_ECONNABORTED          = 0x00000067,
+	#define Mono_Posix_Errno_ECONNABORTED    Mono_Posix_Errno_ECONNABORTED
+	Mono_Posix_Errno_ECONNREFUSED          = 0x0000006f,
+	#define Mono_Posix_Errno_ECONNREFUSED    Mono_Posix_Errno_ECONNREFUSED
+	Mono_Posix_Errno_ECONNRESET            = 0x00000068,
+	#define Mono_Posix_Errno_ECONNRESET      Mono_Posix_Errno_ECONNRESET
+	Mono_Posix_Errno_EDEADLK               = 0x00000023,
+	#define Mono_Posix_Errno_EDEADLK         Mono_Posix_Errno_EDEADLK
+	Mono_Posix_Errno_EDEADLOCK             = 0x00000023,
+	#define Mono_Posix_Errno_EDEADLOCK       Mono_Posix_Errno_EDEADLOCK
+	Mono_Posix_Errno_EDESTADDRREQ          = 0x00000059,
+	#define Mono_Posix_Errno_EDESTADDRREQ    Mono_Posix_Errno_EDESTADDRREQ
+	Mono_Posix_Errno_EDOM                  = 0x00000021,
+	#define Mono_Posix_Errno_EDOM            Mono_Posix_Errno_EDOM
+	Mono_Posix_Errno_EDOTDOT               = 0x00000049,
+	#define Mono_Posix_Errno_EDOTDOT         Mono_Posix_Errno_EDOTDOT
+	Mono_Posix_Errno_EDQUOT                = 0x0000007a,
+	#define Mono_Posix_Errno_EDQUOT          Mono_Posix_Errno_EDQUOT
+	Mono_Posix_Errno_EEXIST                = 0x00000011,
+	#define Mono_Posix_Errno_EEXIST          Mono_Posix_Errno_EEXIST
+	Mono_Posix_Errno_EFAULT                = 0x0000000e,
+	#define Mono_Posix_Errno_EFAULT          Mono_Posix_Errno_EFAULT
+	Mono_Posix_Errno_EFBIG                 = 0x0000001b,
+	#define Mono_Posix_Errno_EFBIG           Mono_Posix_Errno_EFBIG
+	Mono_Posix_Errno_EHOSTDOWN             = 0x00000070,
+	#define Mono_Posix_Errno_EHOSTDOWN       Mono_Posix_Errno_EHOSTDOWN
+	Mono_Posix_Errno_EHOSTUNREACH          = 0x00000071,
+	#define Mono_Posix_Errno_EHOSTUNREACH    Mono_Posix_Errno_EHOSTUNREACH
+	Mono_Posix_Errno_EIDRM                 = 0x0000002b,
+	#define Mono_Posix_Errno_EIDRM           Mono_Posix_Errno_EIDRM
+	Mono_Posix_Errno_EILSEQ                = 0x00000054,
+	#define Mono_Posix_Errno_EILSEQ          Mono_Posix_Errno_EILSEQ
+	Mono_Posix_Errno_EINPROGRESS           = 0x00000073,
+	#define Mono_Posix_Errno_EINPROGRESS     Mono_Posix_Errno_EINPROGRESS
+	Mono_Posix_Errno_EINTR                 = 0x00000004,
+	#define Mono_Posix_Errno_EINTR           Mono_Posix_Errno_EINTR
+	Mono_Posix_Errno_EINVAL                = 0x00000016,
+	#define Mono_Posix_Errno_EINVAL          Mono_Posix_Errno_EINVAL
+	Mono_Posix_Errno_EIO                   = 0x00000005,
+	#define Mono_Posix_Errno_EIO             Mono_Posix_Errno_EIO
+	Mono_Posix_Errno_EISCONN               = 0x0000006a,
+	#define Mono_Posix_Errno_EISCONN         Mono_Posix_Errno_EISCONN
+	Mono_Posix_Errno_EISDIR                = 0x00000015,
+	#define Mono_Posix_Errno_EISDIR          Mono_Posix_Errno_EISDIR
+	Mono_Posix_Errno_EISNAM                = 0x00000078,
+	#define Mono_Posix_Errno_EISNAM          Mono_Posix_Errno_EISNAM
+	Mono_Posix_Errno_EL2HLT                = 0x00000033,
+	#define Mono_Posix_Errno_EL2HLT          Mono_Posix_Errno_EL2HLT
+	Mono_Posix_Errno_EL2NSYNC              = 0x0000002d,
+	#define Mono_Posix_Errno_EL2NSYNC        Mono_Posix_Errno_EL2NSYNC
+	Mono_Posix_Errno_EL3HLT                = 0x0000002e,
+	#define Mono_Posix_Errno_EL3HLT          Mono_Posix_Errno_EL3HLT
+	Mono_Posix_Errno_EL3RST                = 0x0000002f,
+	#define Mono_Posix_Errno_EL3RST          Mono_Posix_Errno_EL3RST
+	Mono_Posix_Errno_ELIBACC               = 0x0000004f,
+	#define Mono_Posix_Errno_ELIBACC         Mono_Posix_Errno_ELIBACC
+	Mono_Posix_Errno_ELIBBAD               = 0x00000050,
+	#define Mono_Posix_Errno_ELIBBAD         Mono_Posix_Errno_ELIBBAD
+	Mono_Posix_Errno_ELIBEXEC              = 0x00000053,
+	#define Mono_Posix_Errno_ELIBEXEC        Mono_Posix_Errno_ELIBEXEC
+	Mono_Posix_Errno_ELIBMAX               = 0x00000052,
+	#define Mono_Posix_Errno_ELIBMAX         Mono_Posix_Errno_ELIBMAX
+	Mono_Posix_Errno_ELIBSCN               = 0x00000051,
+	#define Mono_Posix_Errno_ELIBSCN         Mono_Posix_Errno_ELIBSCN
+	Mono_Posix_Errno_ELNRNG                = 0x00000030,
+	#define Mono_Posix_Errno_ELNRNG          Mono_Posix_Errno_ELNRNG
+	Mono_Posix_Errno_ELOOP                 = 0x00000028,
+	#define Mono_Posix_Errno_ELOOP           Mono_Posix_Errno_ELOOP
+	Mono_Posix_Errno_EMEDIUMTYPE           = 0x0000007c,
+	#define Mono_Posix_Errno_EMEDIUMTYPE     Mono_Posix_Errno_EMEDIUMTYPE
+	Mono_Posix_Errno_EMFILE                = 0x00000018,
+	#define Mono_Posix_Errno_EMFILE          Mono_Posix_Errno_EMFILE
+	Mono_Posix_Errno_EMLINK                = 0x0000001f,
+	#define Mono_Posix_Errno_EMLINK          Mono_Posix_Errno_EMLINK
+	Mono_Posix_Errno_EMSGSIZE              = 0x0000005a,
+	#define Mono_Posix_Errno_EMSGSIZE        Mono_Posix_Errno_EMSGSIZE
+	Mono_Posix_Errno_EMULTIHOP             = 0x00000048,
+	#define Mono_Posix_Errno_EMULTIHOP       Mono_Posix_Errno_EMULTIHOP
+	Mono_Posix_Errno_ENAMETOOLONG          = 0x00000024,
+	#define Mono_Posix_Errno_ENAMETOOLONG    Mono_Posix_Errno_ENAMETOOLONG
+	Mono_Posix_Errno_ENAVAIL               = 0x00000077,
+	#define Mono_Posix_Errno_ENAVAIL         Mono_Posix_Errno_ENAVAIL
+	Mono_Posix_Errno_ENETDOWN              = 0x00000064,
+	#define Mono_Posix_Errno_ENETDOWN        Mono_Posix_Errno_ENETDOWN
+	Mono_Posix_Errno_ENETRESET             = 0x00000066,
+	#define Mono_Posix_Errno_ENETRESET       Mono_Posix_Errno_ENETRESET
+	Mono_Posix_Errno_ENETUNREACH           = 0x00000065,
+	#define Mono_Posix_Errno_ENETUNREACH     Mono_Posix_Errno_ENETUNREACH
+	Mono_Posix_Errno_ENFILE                = 0x00000017,
+	#define Mono_Posix_Errno_ENFILE          Mono_Posix_Errno_ENFILE
+	Mono_Posix_Errno_ENOANO                = 0x00000037,
+	#define Mono_Posix_Errno_ENOANO          Mono_Posix_Errno_ENOANO
+	Mono_Posix_Errno_ENOBUFS               = 0x00000069,
+	#define Mono_Posix_Errno_ENOBUFS         Mono_Posix_Errno_ENOBUFS
+	Mono_Posix_Errno_ENOCSI                = 0x00000032,
+	#define Mono_Posix_Errno_ENOCSI          Mono_Posix_Errno_ENOCSI
+	Mono_Posix_Errno_ENODATA               = 0x0000003d,
+	#define Mono_Posix_Errno_ENODATA         Mono_Posix_Errno_ENODATA
+	Mono_Posix_Errno_ENODEV                = 0x00000013,
+	#define Mono_Posix_Errno_ENODEV          Mono_Posix_Errno_ENODEV
+	Mono_Posix_Errno_ENOENT                = 0x00000002,
+	#define Mono_Posix_Errno_ENOENT          Mono_Posix_Errno_ENOENT
+	Mono_Posix_Errno_ENOEXEC               = 0x00000008,
+	#define Mono_Posix_Errno_ENOEXEC         Mono_Posix_Errno_ENOEXEC
+	Mono_Posix_Errno_ENOLCK                = 0x00000025,
+	#define Mono_Posix_Errno_ENOLCK          Mono_Posix_Errno_ENOLCK
+	Mono_Posix_Errno_ENOLINK               = 0x00000043,
+	#define Mono_Posix_Errno_ENOLINK         Mono_Posix_Errno_ENOLINK
+	Mono_Posix_Errno_ENOMEDIUM             = 0x0000007b,
+	#define Mono_Posix_Errno_ENOMEDIUM       Mono_Posix_Errno_ENOMEDIUM
+	Mono_Posix_Errno_ENOMEM                = 0x0000000c,
+	#define Mono_Posix_Errno_ENOMEM          Mono_Posix_Errno_ENOMEM
+	Mono_Posix_Errno_ENOMSG                = 0x0000002a,
+	#define Mono_Posix_Errno_ENOMSG          Mono_Posix_Errno_ENOMSG
+	Mono_Posix_Errno_ENONET                = 0x00000040,
+	#define Mono_Posix_Errno_ENONET          Mono_Posix_Errno_ENONET
+	Mono_Posix_Errno_ENOPKG                = 0x00000041,
+	#define Mono_Posix_Errno_ENOPKG          Mono_Posix_Errno_ENOPKG
+	Mono_Posix_Errno_ENOPROTOOPT           = 0x0000005c,
+	#define Mono_Posix_Errno_ENOPROTOOPT     Mono_Posix_Errno_ENOPROTOOPT
+	Mono_Posix_Errno_ENOSPC                = 0x0000001c,
+	#define Mono_Posix_Errno_ENOSPC          Mono_Posix_Errno_ENOSPC
+	Mono_Posix_Errno_ENOSR                 = 0x0000003f,
+	#define Mono_Posix_Errno_ENOSR           Mono_Posix_Errno_ENOSR
+	Mono_Posix_Errno_ENOSTR                = 0x0000003c,
+	#define Mono_Posix_Errno_ENOSTR          Mono_Posix_Errno_ENOSTR
+	Mono_Posix_Errno_ENOSYS                = 0x00000026,
+	#define Mono_Posix_Errno_ENOSYS          Mono_Posix_Errno_ENOSYS
+	Mono_Posix_Errno_ENOTBLK               = 0x0000000f,
+	#define Mono_Posix_Errno_ENOTBLK         Mono_Posix_Errno_ENOTBLK
+	Mono_Posix_Errno_ENOTCONN              = 0x0000006b,
+	#define Mono_Posix_Errno_ENOTCONN        Mono_Posix_Errno_ENOTCONN
+	Mono_Posix_Errno_ENOTDIR               = 0x00000014,
+	#define Mono_Posix_Errno_ENOTDIR         Mono_Posix_Errno_ENOTDIR
+	Mono_Posix_Errno_ENOTEMPTY             = 0x00000027,
+	#define Mono_Posix_Errno_ENOTEMPTY       Mono_Posix_Errno_ENOTEMPTY
+	Mono_Posix_Errno_ENOTNAM               = 0x00000076,
+	#define Mono_Posix_Errno_ENOTNAM         Mono_Posix_Errno_ENOTNAM
+	Mono_Posix_Errno_ENOTSOCK              = 0x00000058,
+	#define Mono_Posix_Errno_ENOTSOCK        Mono_Posix_Errno_ENOTSOCK
+	Mono_Posix_Errno_ENOTTY                = 0x00000019,
+	#define Mono_Posix_Errno_ENOTTY          Mono_Posix_Errno_ENOTTY
+	Mono_Posix_Errno_ENOTUNIQ              = 0x0000004c,
+	#define Mono_Posix_Errno_ENOTUNIQ        Mono_Posix_Errno_ENOTUNIQ
+	Mono_Posix_Errno_ENXIO                 = 0x00000006,
+	#define Mono_Posix_Errno_ENXIO           Mono_Posix_Errno_ENXIO
+	Mono_Posix_Errno_EOPNOTSUPP            = 0x0000005f,
+	#define Mono_Posix_Errno_EOPNOTSUPP      Mono_Posix_Errno_EOPNOTSUPP
+	Mono_Posix_Errno_EOVERFLOW             = 0x0000004b,
+	#define Mono_Posix_Errno_EOVERFLOW       Mono_Posix_Errno_EOVERFLOW
+	Mono_Posix_Errno_EPERM                 = 0x00000001,
+	#define Mono_Posix_Errno_EPERM           Mono_Posix_Errno_EPERM
+	Mono_Posix_Errno_EPFNOSUPPORT          = 0x00000060,
+	#define Mono_Posix_Errno_EPFNOSUPPORT    Mono_Posix_Errno_EPFNOSUPPORT
+	Mono_Posix_Errno_EPIPE                 = 0x00000020,
+	#define Mono_Posix_Errno_EPIPE           Mono_Posix_Errno_EPIPE
+	Mono_Posix_Errno_EPROTO                = 0x00000047,
+	#define Mono_Posix_Errno_EPROTO          Mono_Posix_Errno_EPROTO
+	Mono_Posix_Errno_EPROTONOSUPPORT       = 0x0000005d,
+	#define Mono_Posix_Errno_EPROTONOSUPPORT Mono_Posix_Errno_EPROTONOSUPPORT
+	Mono_Posix_Errno_EPROTOTYPE            = 0x0000005b,
+	#define Mono_Posix_Errno_EPROTOTYPE      Mono_Posix_Errno_EPROTOTYPE
+	Mono_Posix_Errno_ERANGE                = 0x00000022,
+	#define Mono_Posix_Errno_ERANGE          Mono_Posix_Errno_ERANGE
+	Mono_Posix_Errno_EREMCHG               = 0x0000004e,
+	#define Mono_Posix_Errno_EREMCHG         Mono_Posix_Errno_EREMCHG
+	Mono_Posix_Errno_EREMOTE               = 0x00000042,
+	#define Mono_Posix_Errno_EREMOTE         Mono_Posix_Errno_EREMOTE
+	Mono_Posix_Errno_EREMOTEIO             = 0x00000079,
+	#define Mono_Posix_Errno_EREMOTEIO       Mono_Posix_Errno_EREMOTEIO
+	Mono_Posix_Errno_ERESTART              = 0x00000055,
+	#define Mono_Posix_Errno_ERESTART        Mono_Posix_Errno_ERESTART
+	Mono_Posix_Errno_EROFS                 = 0x0000001e,
+	#define Mono_Posix_Errno_EROFS           Mono_Posix_Errno_EROFS
+	Mono_Posix_Errno_ESHUTDOWN             = 0x0000006c,
+	#define Mono_Posix_Errno_ESHUTDOWN       Mono_Posix_Errno_ESHUTDOWN
+	Mono_Posix_Errno_ESOCKTNOSUPPORT       = 0x0000005e,
+	#define Mono_Posix_Errno_ESOCKTNOSUPPORT Mono_Posix_Errno_ESOCKTNOSUPPORT
+	Mono_Posix_Errno_ESPIPE                = 0x0000001d,
+	#define Mono_Posix_Errno_ESPIPE          Mono_Posix_Errno_ESPIPE
+	Mono_Posix_Errno_ESRCH                 = 0x00000003,
+	#define Mono_Posix_Errno_ESRCH           Mono_Posix_Errno_ESRCH
+	Mono_Posix_Errno_ESRMNT                = 0x00000045,
+	#define Mono_Posix_Errno_ESRMNT          Mono_Posix_Errno_ESRMNT
+	Mono_Posix_Errno_ESTALE                = 0x00000074,
+	#define Mono_Posix_Errno_ESTALE          Mono_Posix_Errno_ESTALE
+	Mono_Posix_Errno_ESTRPIPE              = 0x00000056,
+	#define Mono_Posix_Errno_ESTRPIPE        Mono_Posix_Errno_ESTRPIPE
+	Mono_Posix_Errno_ETIME                 = 0x0000003e,
+	#define Mono_Posix_Errno_ETIME           Mono_Posix_Errno_ETIME
+	Mono_Posix_Errno_ETIMEDOUT             = 0x0000006e,
+	#define Mono_Posix_Errno_ETIMEDOUT       Mono_Posix_Errno_ETIMEDOUT
+	Mono_Posix_Errno_ETOOMANYREFS          = 0x0000006d,
+	#define Mono_Posix_Errno_ETOOMANYREFS    Mono_Posix_Errno_ETOOMANYREFS
+	Mono_Posix_Errno_ETXTBSY               = 0x0000001a,
+	#define Mono_Posix_Errno_ETXTBSY         Mono_Posix_Errno_ETXTBSY
+	Mono_Posix_Errno_EUCLEAN               = 0x00000075,
+	#define Mono_Posix_Errno_EUCLEAN         Mono_Posix_Errno_EUCLEAN
+	Mono_Posix_Errno_EUNATCH               = 0x00000031,
+	#define Mono_Posix_Errno_EUNATCH         Mono_Posix_Errno_EUNATCH
+	Mono_Posix_Errno_EUSERS                = 0x00000057,
+	#define Mono_Posix_Errno_EUSERS          Mono_Posix_Errno_EUSERS
+	Mono_Posix_Errno_EWOULDBLOCK           = 0x0000000b,
+	#define Mono_Posix_Errno_EWOULDBLOCK     Mono_Posix_Errno_EWOULDBLOCK
+	Mono_Posix_Errno_EXDEV                 = 0x00000012,
+	#define Mono_Posix_Errno_EXDEV           Mono_Posix_Errno_EXDEV
+	Mono_Posix_Errno_EXFULL                = 0x00000036,
+	#define Mono_Posix_Errno_EXFULL          Mono_Posix_Errno_EXFULL
+};
 int Mono_Posix_FromErrno (int x, int *r);
 int Mono_Posix_ToErrno (int x, int *r);
 
-#define Mono_Posix_FcntlCommand_F_DUPFD 0x00000000
-#define Mono_Posix_FcntlCommand_F_GETFD 0x00000001
-#define Mono_Posix_FcntlCommand_F_GETFL 0x00000003
-#define Mono_Posix_FcntlCommand_F_GETLEASE 0x00000401
-#define Mono_Posix_FcntlCommand_F_GETLK 0x0000000c
-#define Mono_Posix_FcntlCommand_F_GETOWN 0x00000009
-#define Mono_Posix_FcntlCommand_F_GETSIG 0x0000000b
-#define Mono_Posix_FcntlCommand_F_NOTIFY 0x00000402
-#define Mono_Posix_FcntlCommand_F_SETFD 0x00000002
-#define Mono_Posix_FcntlCommand_F_SETFL 0x00000004
-#define Mono_Posix_FcntlCommand_F_SETLEASE 0x00000400
-#define Mono_Posix_FcntlCommand_F_SETLK 0x0000000d
-#define Mono_Posix_FcntlCommand_F_SETLKW 0x0000000e
-#define Mono_Posix_FcntlCommand_F_SETOWN 0x00000008
-#define Mono_Posix_FcntlCommand_F_SETSIG 0x0000000a
+enum Mono_Posix_FcntlCommand {
+	Mono_Posix_FcntlCommand_F_DUPFD          = 0x00000000,
+	#define Mono_Posix_FcntlCommand_F_DUPFD    Mono_Posix_FcntlCommand_F_DUPFD
+	Mono_Posix_FcntlCommand_F_GETFD          = 0x00000001,
+	#define Mono_Posix_FcntlCommand_F_GETFD    Mono_Posix_FcntlCommand_F_GETFD
+	Mono_Posix_FcntlCommand_F_GETFL          = 0x00000003,
+	#define Mono_Posix_FcntlCommand_F_GETFL    Mono_Posix_FcntlCommand_F_GETFL
+	Mono_Posix_FcntlCommand_F_GETLEASE       = 0x00000401,
+	#define Mono_Posix_FcntlCommand_F_GETLEASE Mono_Posix_FcntlCommand_F_GETLEASE
+	Mono_Posix_FcntlCommand_F_GETLK          = 0x0000000c,
+	#define Mono_Posix_FcntlCommand_F_GETLK    Mono_Posix_FcntlCommand_F_GETLK
+	Mono_Posix_FcntlCommand_F_GETOWN         = 0x00000009,
+	#define Mono_Posix_FcntlCommand_F_GETOWN   Mono_Posix_FcntlCommand_F_GETOWN
+	Mono_Posix_FcntlCommand_F_GETSIG         = 0x0000000b,
+	#define Mono_Posix_FcntlCommand_F_GETSIG   Mono_Posix_FcntlCommand_F_GETSIG
+	Mono_Posix_FcntlCommand_F_NOTIFY         = 0x00000402,
+	#define Mono_Posix_FcntlCommand_F_NOTIFY   Mono_Posix_FcntlCommand_F_NOTIFY
+	Mono_Posix_FcntlCommand_F_SETFD          = 0x00000002,
+	#define Mono_Posix_FcntlCommand_F_SETFD    Mono_Posix_FcntlCommand_F_SETFD
+	Mono_Posix_FcntlCommand_F_SETFL          = 0x00000004,
+	#define Mono_Posix_FcntlCommand_F_SETFL    Mono_Posix_FcntlCommand_F_SETFL
+	Mono_Posix_FcntlCommand_F_SETLEASE       = 0x00000400,
+	#define Mono_Posix_FcntlCommand_F_SETLEASE Mono_Posix_FcntlCommand_F_SETLEASE
+	Mono_Posix_FcntlCommand_F_SETLK          = 0x0000000d,
+	#define Mono_Posix_FcntlCommand_F_SETLK    Mono_Posix_FcntlCommand_F_SETLK
+	Mono_Posix_FcntlCommand_F_SETLKW         = 0x0000000e,
+	#define Mono_Posix_FcntlCommand_F_SETLKW   Mono_Posix_FcntlCommand_F_SETLKW
+	Mono_Posix_FcntlCommand_F_SETOWN         = 0x00000008,
+	#define Mono_Posix_FcntlCommand_F_SETOWN   Mono_Posix_FcntlCommand_F_SETOWN
+	Mono_Posix_FcntlCommand_F_SETSIG         = 0x0000000a,
+	#define Mono_Posix_FcntlCommand_F_SETSIG   Mono_Posix_FcntlCommand_F_SETSIG
+};
 int Mono_Posix_FromFcntlCommand (int x, int *r);
 int Mono_Posix_ToFcntlCommand (int x, int *r);
 
-#define Mono_Posix_FilePermissions_ACCESSPERMS 0x000001ff
-#define Mono_Posix_FilePermissions_ALLPERMS 0x00000fff
-#define Mono_Posix_FilePermissions_DEFFILEMODE 0x000001b6
-#define Mono_Posix_FilePermissions_S_IFBLK 0x00006000
-#define Mono_Posix_FilePermissions_S_IFCHR 0x00002000
-#define Mono_Posix_FilePermissions_S_IFDIR 0x00004000
-#define Mono_Posix_FilePermissions_S_IFIFO 0x00001000
-#define Mono_Posix_FilePermissions_S_IFLNK 0x0000a000
-#define Mono_Posix_FilePermissions_S_IFMT 0x0000f000
-#define Mono_Posix_FilePermissions_S_IFREG 0x00008000
-#define Mono_Posix_FilePermissions_S_IFSOCK 0x0000c000
-#define Mono_Posix_FilePermissions_S_IRGRP 0x00000020
-#define Mono_Posix_FilePermissions_S_IROTH 0x00000004
-#define Mono_Posix_FilePermissions_S_IRUSR 0x00000100
-#define Mono_Posix_FilePermissions_S_IRWXG 0x00000038
-#define Mono_Posix_FilePermissions_S_IRWXO 0x00000007
-#define Mono_Posix_FilePermissions_S_IRWXU 0x000001c0
-#define Mono_Posix_FilePermissions_S_ISGID 0x00000400
-#define Mono_Posix_FilePermissions_S_ISUID 0x00000800
-#define Mono_Posix_FilePermissions_S_ISVTX 0x00000200
-#define Mono_Posix_FilePermissions_S_IWGRP 0x00000010
-#define Mono_Posix_FilePermissions_S_IWOTH 0x00000002
-#define Mono_Posix_FilePermissions_S_IWUSR 0x00000080
-#define Mono_Posix_FilePermissions_S_IXGRP 0x00000008
-#define Mono_Posix_FilePermissions_S_IXOTH 0x00000001
-#define Mono_Posix_FilePermissions_S_IXUSR 0x00000040
+enum Mono_Posix_FilePermissions {
+	Mono_Posix_FilePermissions_ACCESSPERMS       = 0x000001ff,
+	#define Mono_Posix_FilePermissions_ACCESSPERMS Mono_Posix_FilePermissions_ACCESSPERMS
+	Mono_Posix_FilePermissions_ALLPERMS          = 0x00000fff,
+	#define Mono_Posix_FilePermissions_ALLPERMS    Mono_Posix_FilePermissions_ALLPERMS
+	Mono_Posix_FilePermissions_DEFFILEMODE       = 0x000001b6,
+	#define Mono_Posix_FilePermissions_DEFFILEMODE Mono_Posix_FilePermissions_DEFFILEMODE
+	Mono_Posix_FilePermissions_S_IFBLK           = 0x00006000,
+	#define Mono_Posix_FilePermissions_S_IFBLK     Mono_Posix_FilePermissions_S_IFBLK
+	Mono_Posix_FilePermissions_S_IFCHR           = 0x00002000,
+	#define Mono_Posix_FilePermissions_S_IFCHR     Mono_Posix_FilePermissions_S_IFCHR
+	Mono_Posix_FilePermissions_S_IFDIR           = 0x00004000,
+	#define Mono_Posix_FilePermissions_S_IFDIR     Mono_Posix_FilePermissions_S_IFDIR
+	Mono_Posix_FilePermissions_S_IFIFO           = 0x00001000,
+	#define Mono_Posix_FilePermissions_S_IFIFO     Mono_Posix_FilePermissions_S_IFIFO
+	Mono_Posix_FilePermissions_S_IFLNK           = 0x0000a000,
+	#define Mono_Posix_FilePermissions_S_IFLNK     Mono_Posix_FilePermissions_S_IFLNK
+	Mono_Posix_FilePermissions_S_IFMT            = 0x0000f000,
+	#define Mono_Posix_FilePermissions_S_IFMT      Mono_Posix_FilePermissions_S_IFMT
+	Mono_Posix_FilePermissions_S_IFREG           = 0x00008000,
+	#define Mono_Posix_FilePermissions_S_IFREG     Mono_Posix_FilePermissions_S_IFREG
+	Mono_Posix_FilePermissions_S_IFSOCK          = 0x0000c000,
+	#define Mono_Posix_FilePermissions_S_IFSOCK    Mono_Posix_FilePermissions_S_IFSOCK
+	Mono_Posix_FilePermissions_S_IRGRP           = 0x00000020,
+	#define Mono_Posix_FilePermissions_S_IRGRP     Mono_Posix_FilePermissions_S_IRGRP
+	Mono_Posix_FilePermissions_S_IROTH           = 0x00000004,
+	#define Mono_Posix_FilePermissions_S_IROTH     Mono_Posix_FilePermissions_S_IROTH
+	Mono_Posix_FilePermissions_S_IRUSR           = 0x00000100,
+	#define Mono_Posix_FilePermissions_S_IRUSR     Mono_Posix_FilePermissions_S_IRUSR
+	Mono_Posix_FilePermissions_S_IRWXG           = 0x00000038,
+	#define Mono_Posix_FilePermissions_S_IRWXG     Mono_Posix_FilePermissions_S_IRWXG
+	Mono_Posix_FilePermissions_S_IRWXO           = 0x00000007,
+	#define Mono_Posix_FilePermissions_S_IRWXO     Mono_Posix_FilePermissions_S_IRWXO
+	Mono_Posix_FilePermissions_S_IRWXU           = 0x000001c0,
+	#define Mono_Posix_FilePermissions_S_IRWXU     Mono_Posix_FilePermissions_S_IRWXU
+	Mono_Posix_FilePermissions_S_ISGID           = 0x00000400,
+	#define Mono_Posix_FilePermissions_S_ISGID     Mono_Posix_FilePermissions_S_ISGID
+	Mono_Posix_FilePermissions_S_ISUID           = 0x00000800,
+	#define Mono_Posix_FilePermissions_S_ISUID     Mono_Posix_FilePermissions_S_ISUID
+	Mono_Posix_FilePermissions_S_ISVTX           = 0x00000200,
+	#define Mono_Posix_FilePermissions_S_ISVTX     Mono_Posix_FilePermissions_S_ISVTX
+	Mono_Posix_FilePermissions_S_IWGRP           = 0x00000010,
+	#define Mono_Posix_FilePermissions_S_IWGRP     Mono_Posix_FilePermissions_S_IWGRP
+	Mono_Posix_FilePermissions_S_IWOTH           = 0x00000002,
+	#define Mono_Posix_FilePermissions_S_IWOTH     Mono_Posix_FilePermissions_S_IWOTH
+	Mono_Posix_FilePermissions_S_IWUSR           = 0x00000080,
+	#define Mono_Posix_FilePermissions_S_IWUSR     Mono_Posix_FilePermissions_S_IWUSR
+	Mono_Posix_FilePermissions_S_IXGRP           = 0x00000008,
+	#define Mono_Posix_FilePermissions_S_IXGRP     Mono_Posix_FilePermissions_S_IXGRP
+	Mono_Posix_FilePermissions_S_IXOTH           = 0x00000001,
+	#define Mono_Posix_FilePermissions_S_IXOTH     Mono_Posix_FilePermissions_S_IXOTH
+	Mono_Posix_FilePermissions_S_IXUSR           = 0x00000040,
+	#define Mono_Posix_FilePermissions_S_IXUSR     Mono_Posix_FilePermissions_S_IXUSR
+};
 int Mono_Posix_FromFilePermissions (unsigned int x, unsigned int *r);
 int Mono_Posix_ToFilePermissions (unsigned int x, unsigned int *r);
 
-#define Mono_Posix_LockType_F_RDLCK 0x00000000
-#define Mono_Posix_LockType_F_UNLCK 0x00000002
-#define Mono_Posix_LockType_F_WRLCK 0x00000001
+enum Mono_Posix_LockType {
+	Mono_Posix_LockType_F_RDLCK       = 0x00000000,
+	#define Mono_Posix_LockType_F_RDLCK Mono_Posix_LockType_F_RDLCK
+	Mono_Posix_LockType_F_UNLCK       = 0x00000002,
+	#define Mono_Posix_LockType_F_UNLCK Mono_Posix_LockType_F_UNLCK
+	Mono_Posix_LockType_F_WRLCK       = 0x00000001,
+	#define Mono_Posix_LockType_F_WRLCK Mono_Posix_LockType_F_WRLCK
+};
 int Mono_Posix_FromLockType (short x, short *r);
 int Mono_Posix_ToLockType (short x, short *r);
 
-#define Mono_Posix_LockfCommand_F_LOCK 0x00000001
-#define Mono_Posix_LockfCommand_F_TEST 0x00000003
-#define Mono_Posix_LockfCommand_F_TLOCK 0x00000002
-#define Mono_Posix_LockfCommand_F_ULOCK 0x00000000
+enum Mono_Posix_LockfCommand {
+	Mono_Posix_LockfCommand_F_LOCK        = 0x00000001,
+	#define Mono_Posix_LockfCommand_F_LOCK  Mono_Posix_LockfCommand_F_LOCK
+	Mono_Posix_LockfCommand_F_TEST        = 0x00000003,
+	#define Mono_Posix_LockfCommand_F_TEST  Mono_Posix_LockfCommand_F_TEST
+	Mono_Posix_LockfCommand_F_TLOCK       = 0x00000002,
+	#define Mono_Posix_LockfCommand_F_TLOCK Mono_Posix_LockfCommand_F_TLOCK
+	Mono_Posix_LockfCommand_F_ULOCK       = 0x00000000,
+	#define Mono_Posix_LockfCommand_F_ULOCK Mono_Posix_LockfCommand_F_ULOCK
+};
 int Mono_Posix_FromLockfCommand (int x, int *r);
 int Mono_Posix_ToLockfCommand (int x, int *r);
 
-#define Mono_Posix_MlockallFlags_MCL_CURRENT 0x00000001
-#define Mono_Posix_MlockallFlags_MCL_FUTURE 0x00000002
+enum Mono_Posix_MlockallFlags {
+	Mono_Posix_MlockallFlags_MCL_CURRENT       = 0x00000001,
+	#define Mono_Posix_MlockallFlags_MCL_CURRENT Mono_Posix_MlockallFlags_MCL_CURRENT
+	Mono_Posix_MlockallFlags_MCL_FUTURE        = 0x00000002,
+	#define Mono_Posix_MlockallFlags_MCL_FUTURE  Mono_Posix_MlockallFlags_MCL_FUTURE
+};
 int Mono_Posix_FromMlockallFlags (int x, int *r);
 int Mono_Posix_ToMlockallFlags (int x, int *r);
 
-#define Mono_Posix_MmapFlags_MAP_ANON 0x00000020
-#define Mono_Posix_MmapFlags_MAP_ANONYMOUS 0x00000020
-#define Mono_Posix_MmapFlags_MAP_DENYWRITE 0x00000800
-#define Mono_Posix_MmapFlags_MAP_EXECUTABLE 0x00001000
-#define Mono_Posix_MmapFlags_MAP_FILE 0x00000000
-#define Mono_Posix_MmapFlags_MAP_FIXED 0x00000010
-#define Mono_Posix_MmapFlags_MAP_GROWSDOWN 0x00000100
-#define Mono_Posix_MmapFlags_MAP_LOCKED 0x00002000
-#define Mono_Posix_MmapFlags_MAP_NONBLOCK 0x00010000
-#define Mono_Posix_MmapFlags_MAP_NORESERVE 0x00004000
-#define Mono_Posix_MmapFlags_MAP_POPULATE 0x00008000
-#define Mono_Posix_MmapFlags_MAP_PRIVATE 0x00000002
-#define Mono_Posix_MmapFlags_MAP_SHARED 0x00000001
-#define Mono_Posix_MmapFlags_MAP_TYPE 0x0000000f
+enum Mono_Posix_MmapFlags {
+	Mono_Posix_MmapFlags_MAP_ANON             = 0x00000020,
+	#define Mono_Posix_MmapFlags_MAP_ANON       Mono_Posix_MmapFlags_MAP_ANON
+	Mono_Posix_MmapFlags_MAP_ANONYMOUS        = 0x00000020,
+	#define Mono_Posix_MmapFlags_MAP_ANONYMOUS  Mono_Posix_MmapFlags_MAP_ANONYMOUS
+	Mono_Posix_MmapFlags_MAP_DENYWRITE        = 0x00000800,
+	#define Mono_Posix_MmapFlags_MAP_DENYWRITE  Mono_Posix_MmapFlags_MAP_DENYWRITE
+	Mono_Posix_MmapFlags_MAP_EXECUTABLE       = 0x00001000,
+	#define Mono_Posix_MmapFlags_MAP_EXECUTABLE Mono_Posix_MmapFlags_MAP_EXECUTABLE
+	Mono_Posix_MmapFlags_MAP_FILE             = 0x00000000,
+	#define Mono_Posix_MmapFlags_MAP_FILE       Mono_Posix_MmapFlags_MAP_FILE
+	Mono_Posix_MmapFlags_MAP_FIXED            = 0x00000010,
+	#define Mono_Posix_MmapFlags_MAP_FIXED      Mono_Posix_MmapFlags_MAP_FIXED
+	Mono_Posix_MmapFlags_MAP_GROWSDOWN        = 0x00000100,
+	#define Mono_Posix_MmapFlags_MAP_GROWSDOWN  Mono_Posix_MmapFlags_MAP_GROWSDOWN
+	Mono_Posix_MmapFlags_MAP_LOCKED           = 0x00002000,
+	#define Mono_Posix_MmapFlags_MAP_LOCKED     Mono_Posix_MmapFlags_MAP_LOCKED
+	Mono_Posix_MmapFlags_MAP_NONBLOCK         = 0x00010000,
+	#define Mono_Posix_MmapFlags_MAP_NONBLOCK   Mono_Posix_MmapFlags_MAP_NONBLOCK
+	Mono_Posix_MmapFlags_MAP_NORESERVE        = 0x00004000,
+	#define Mono_Posix_MmapFlags_MAP_NORESERVE  Mono_Posix_MmapFlags_MAP_NORESERVE
+	Mono_Posix_MmapFlags_MAP_POPULATE         = 0x00008000,
+	#define Mono_Posix_MmapFlags_MAP_POPULATE   Mono_Posix_MmapFlags_MAP_POPULATE
+	Mono_Posix_MmapFlags_MAP_PRIVATE          = 0x00000002,
+	#define Mono_Posix_MmapFlags_MAP_PRIVATE    Mono_Posix_MmapFlags_MAP_PRIVATE
+	Mono_Posix_MmapFlags_MAP_SHARED           = 0x00000001,
+	#define Mono_Posix_MmapFlags_MAP_SHARED     Mono_Posix_MmapFlags_MAP_SHARED
+	Mono_Posix_MmapFlags_MAP_TYPE             = 0x0000000f,
+	#define Mono_Posix_MmapFlags_MAP_TYPE       Mono_Posix_MmapFlags_MAP_TYPE
+};
 int Mono_Posix_FromMmapFlags (int x, int *r);
 int Mono_Posix_ToMmapFlags (int x, int *r);
 
-#define Mono_Posix_MmapProts_PROT_EXEC 0x00000004
-#define Mono_Posix_MmapProts_PROT_GROWSDOWN 0x01000000
-#define Mono_Posix_MmapProts_PROT_GROWSUP 0x02000000
-#define Mono_Posix_MmapProts_PROT_NONE 0x00000000
-#define Mono_Posix_MmapProts_PROT_READ 0x00000001
-#define Mono_Posix_MmapProts_PROT_WRITE 0x00000002
+enum Mono_Posix_MmapProts {
+	Mono_Posix_MmapProts_PROT_EXEC            = 0x00000004,
+	#define Mono_Posix_MmapProts_PROT_EXEC      Mono_Posix_MmapProts_PROT_EXEC
+	Mono_Posix_MmapProts_PROT_GROWSDOWN       = 0x01000000,
+	#define Mono_Posix_MmapProts_PROT_GROWSDOWN Mono_Posix_MmapProts_PROT_GROWSDOWN
+	Mono_Posix_MmapProts_PROT_GROWSUP         = 0x02000000,
+	#define Mono_Posix_MmapProts_PROT_GROWSUP   Mono_Posix_MmapProts_PROT_GROWSUP
+	Mono_Posix_MmapProts_PROT_NONE            = 0x00000000,
+	#define Mono_Posix_MmapProts_PROT_NONE      Mono_Posix_MmapProts_PROT_NONE
+	Mono_Posix_MmapProts_PROT_READ            = 0x00000001,
+	#define Mono_Posix_MmapProts_PROT_READ      Mono_Posix_MmapProts_PROT_READ
+	Mono_Posix_MmapProts_PROT_WRITE           = 0x00000002,
+	#define Mono_Posix_MmapProts_PROT_WRITE     Mono_Posix_MmapProts_PROT_WRITE
+};
 int Mono_Posix_FromMmapProts (int x, int *r);
 int Mono_Posix_ToMmapProts (int x, int *r);
 
-#define Mono_Posix_MountFlags_ST_APPEND 0x00000100
-#define Mono_Posix_MountFlags_ST_IMMUTABLE 0x00000200
-#define Mono_Posix_MountFlags_ST_MANDLOCK 0x00000040
-#define Mono_Posix_MountFlags_ST_NOATIME 0x00000400
-#define Mono_Posix_MountFlags_ST_NODEV 0x00000004
-#define Mono_Posix_MountFlags_ST_NODIRATIME 0x00000800
-#define Mono_Posix_MountFlags_ST_NOSUID 0x00000002
-#define Mono_Posix_MountFlags_ST_RDONLY 0x00000001
-#define Mono_Posix_MountFlags_ST_SYNCHRONOUS 0x00000010
-#define Mono_Posix_MountFlags_ST_WRITE 0x00000080
+enum Mono_Posix_MountFlags {
+	Mono_Posix_MountFlags_ST_APPEND            = 0x00000100,
+	#define Mono_Posix_MountFlags_ST_APPEND      Mono_Posix_MountFlags_ST_APPEND
+	Mono_Posix_MountFlags_ST_IMMUTABLE         = 0x00000200,
+	#define Mono_Posix_MountFlags_ST_IMMUTABLE   Mono_Posix_MountFlags_ST_IMMUTABLE
+	Mono_Posix_MountFlags_ST_MANDLOCK          = 0x00000040,
+	#define Mono_Posix_MountFlags_ST_MANDLOCK    Mono_Posix_MountFlags_ST_MANDLOCK
+	Mono_Posix_MountFlags_ST_NOATIME           = 0x00000400,
+	#define Mono_Posix_MountFlags_ST_NOATIME     Mono_Posix_MountFlags_ST_NOATIME
+	Mono_Posix_MountFlags_ST_NODEV             = 0x00000004,
+	#define Mono_Posix_MountFlags_ST_NODEV       Mono_Posix_MountFlags_ST_NODEV
+	Mono_Posix_MountFlags_ST_NODIRATIME        = 0x00000800,
+	#define Mono_Posix_MountFlags_ST_NODIRATIME  Mono_Posix_MountFlags_ST_NODIRATIME
+	Mono_Posix_MountFlags_ST_NOSUID            = 0x00000002,
+	#define Mono_Posix_MountFlags_ST_NOSUID      Mono_Posix_MountFlags_ST_NOSUID
+	Mono_Posix_MountFlags_ST_RDONLY            = 0x00000001,
+	#define Mono_Posix_MountFlags_ST_RDONLY      Mono_Posix_MountFlags_ST_RDONLY
+	Mono_Posix_MountFlags_ST_SYNCHRONOUS       = 0x00000010,
+	#define Mono_Posix_MountFlags_ST_SYNCHRONOUS Mono_Posix_MountFlags_ST_SYNCHRONOUS
+	Mono_Posix_MountFlags_ST_WRITE             = 0x00000080,
+	#define Mono_Posix_MountFlags_ST_WRITE       Mono_Posix_MountFlags_ST_WRITE
+};
 int Mono_Posix_FromMountFlags (guint64 x, guint64 *r);
 int Mono_Posix_ToMountFlags (guint64 x, guint64 *r);
 
-#define Mono_Posix_MremapFlags_MREMAP_MAYMOVE 0x00000001
+enum Mono_Posix_MremapFlags {
+	Mono_Posix_MremapFlags_MREMAP_MAYMOVE       = 0x00000001,
+	#define Mono_Posix_MremapFlags_MREMAP_MAYMOVE Mono_Posix_MremapFlags_MREMAP_MAYMOVE
+};
 int Mono_Posix_FromMremapFlags (guint64 x, guint64 *r);
 int Mono_Posix_ToMremapFlags (guint64 x, guint64 *r);
 
-#define Mono_Posix_MsyncFlags_MS_ASYNC 0x00000001
-#define Mono_Posix_MsyncFlags_MS_INVALIDATE 0x00000002
-#define Mono_Posix_MsyncFlags_MS_SYNC 0x00000004
+enum Mono_Posix_MsyncFlags {
+	Mono_Posix_MsyncFlags_MS_ASYNC            = 0x00000001,
+	#define Mono_Posix_MsyncFlags_MS_ASYNC      Mono_Posix_MsyncFlags_MS_ASYNC
+	Mono_Posix_MsyncFlags_MS_INVALIDATE       = 0x00000002,
+	#define Mono_Posix_MsyncFlags_MS_INVALIDATE Mono_Posix_MsyncFlags_MS_INVALIDATE
+	Mono_Posix_MsyncFlags_MS_SYNC             = 0x00000004,
+	#define Mono_Posix_MsyncFlags_MS_SYNC       Mono_Posix_MsyncFlags_MS_SYNC
+};
 int Mono_Posix_FromMsyncFlags (int x, int *r);
 int Mono_Posix_ToMsyncFlags (int x, int *r);
 
-#define Mono_Posix_OpenFlags_O_APPEND 0x00000400
-#define Mono_Posix_OpenFlags_O_ASYNC 0x00002000
-#define Mono_Posix_OpenFlags_O_CREAT 0x00000040
-#define Mono_Posix_OpenFlags_O_DIRECT 0x00004000
-#define Mono_Posix_OpenFlags_O_DIRECTORY 0x00010000
-#define Mono_Posix_OpenFlags_O_EXCL 0x00000080
-#define Mono_Posix_OpenFlags_O_LARGEFILE 0x00008000
-#define Mono_Posix_OpenFlags_O_NOCTTY 0x00000100
-#define Mono_Posix_OpenFlags_O_NOFOLLOW 0x00020000
-#define Mono_Posix_OpenFlags_O_NONBLOCK 0x00000800
-#define Mono_Posix_OpenFlags_O_RDONLY 0x00000000
-#define Mono_Posix_OpenFlags_O_RDWR 0x00000002
-#define Mono_Posix_OpenFlags_O_SYNC 0x00001000
-#define Mono_Posix_OpenFlags_O_TRUNC 0x00000200
-#define Mono_Posix_OpenFlags_O_WRONLY 0x00000001
+enum Mono_Posix_OpenFlags {
+	Mono_Posix_OpenFlags_O_APPEND          = 0x00000400,
+	#define Mono_Posix_OpenFlags_O_APPEND    Mono_Posix_OpenFlags_O_APPEND
+	Mono_Posix_OpenFlags_O_ASYNC           = 0x00002000,
+	#define Mono_Posix_OpenFlags_O_ASYNC     Mono_Posix_OpenFlags_O_ASYNC
+	Mono_Posix_OpenFlags_O_CREAT           = 0x00000040,
+	#define Mono_Posix_OpenFlags_O_CREAT     Mono_Posix_OpenFlags_O_CREAT
+	Mono_Posix_OpenFlags_O_DIRECT          = 0x00004000,
+	#define Mono_Posix_OpenFlags_O_DIRECT    Mono_Posix_OpenFlags_O_DIRECT
+	Mono_Posix_OpenFlags_O_DIRECTORY       = 0x00010000,
+	#define Mono_Posix_OpenFlags_O_DIRECTORY Mono_Posix_OpenFlags_O_DIRECTORY
+	Mono_Posix_OpenFlags_O_EXCL            = 0x00000080,
+	#define Mono_Posix_OpenFlags_O_EXCL      Mono_Posix_OpenFlags_O_EXCL
+	Mono_Posix_OpenFlags_O_LARGEFILE       = 0x00008000,
+	#define Mono_Posix_OpenFlags_O_LARGEFILE Mono_Posix_OpenFlags_O_LARGEFILE
+	Mono_Posix_OpenFlags_O_NOCTTY          = 0x00000100,
+	#define Mono_Posix_OpenFlags_O_NOCTTY    Mono_Posix_OpenFlags_O_NOCTTY
+	Mono_Posix_OpenFlags_O_NOFOLLOW        = 0x00020000,
+	#define Mono_Posix_OpenFlags_O_NOFOLLOW  Mono_Posix_OpenFlags_O_NOFOLLOW
+	Mono_Posix_OpenFlags_O_NONBLOCK        = 0x00000800,
+	#define Mono_Posix_OpenFlags_O_NONBLOCK  Mono_Posix_OpenFlags_O_NONBLOCK
+	Mono_Posix_OpenFlags_O_RDONLY          = 0x00000000,
+	#define Mono_Posix_OpenFlags_O_RDONLY    Mono_Posix_OpenFlags_O_RDONLY
+	Mono_Posix_OpenFlags_O_RDWR            = 0x00000002,
+	#define Mono_Posix_OpenFlags_O_RDWR      Mono_Posix_OpenFlags_O_RDWR
+	Mono_Posix_OpenFlags_O_SYNC            = 0x00001000,
+	#define Mono_Posix_OpenFlags_O_SYNC      Mono_Posix_OpenFlags_O_SYNC
+	Mono_Posix_OpenFlags_O_TRUNC           = 0x00000200,
+	#define Mono_Posix_OpenFlags_O_TRUNC     Mono_Posix_OpenFlags_O_TRUNC
+	Mono_Posix_OpenFlags_O_WRONLY          = 0x00000001,
+	#define Mono_Posix_OpenFlags_O_WRONLY    Mono_Posix_OpenFlags_O_WRONLY
+};
 int Mono_Posix_FromOpenFlags (int x, int *r);
 int Mono_Posix_ToOpenFlags (int x, int *r);
 
-#define Mono_Posix_PathconfName__PC_2_SYMLINKS 0x00000014
-#define Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN 0x00000012
-#define Mono_Posix_PathconfName__PC_ASYNC_IO 0x0000000a
-#define Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED 0x00000006
-#define Mono_Posix_PathconfName__PC_FILESIZEBITS 0x0000000d
-#define Mono_Posix_PathconfName__PC_LINK_MAX 0x00000000
-#define Mono_Posix_PathconfName__PC_MAX_CANON 0x00000001
-#define Mono_Posix_PathconfName__PC_MAX_INPUT 0x00000002
-#define Mono_Posix_PathconfName__PC_NAME_MAX 0x00000003
-#define Mono_Posix_PathconfName__PC_NO_TRUNC 0x00000007
-#define Mono_Posix_PathconfName__PC_PATH_MAX 0x00000004
-#define Mono_Posix_PathconfName__PC_PIPE_BUF 0x00000005
-#define Mono_Posix_PathconfName__PC_PRIO_IO 0x0000000b
-#define Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE 0x0000000e
-#define Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE 0x0000000f
-#define Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE 0x00000010
-#define Mono_Posix_PathconfName__PC_REC_XFER_ALIGN 0x00000011
-#define Mono_Posix_PathconfName__PC_SOCK_MAXBUF 0x0000000c
-#define Mono_Posix_PathconfName__PC_SYMLINK_MAX 0x00000013
-#define Mono_Posix_PathconfName__PC_SYNC_IO 0x00000009
-#define Mono_Posix_PathconfName__PC_VDISABLE 0x00000008
+enum Mono_Posix_PathconfName {
+	Mono_Posix_PathconfName__PC_2_SYMLINKS               = 0x00000014,
+	#define Mono_Posix_PathconfName__PC_2_SYMLINKS         Mono_Posix_PathconfName__PC_2_SYMLINKS
+	Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN           = 0x00000012,
+	#define Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN     Mono_Posix_PathconfName__PC_ALLOC_SIZE_MIN
+	Mono_Posix_PathconfName__PC_ASYNC_IO                 = 0x0000000a,
+	#define Mono_Posix_PathconfName__PC_ASYNC_IO           Mono_Posix_PathconfName__PC_ASYNC_IO
+	Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED         = 0x00000006,
+	#define Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED   Mono_Posix_PathconfName__PC_CHOWN_RESTRICTED
+	Mono_Posix_PathconfName__PC_FILESIZEBITS             = 0x0000000d,
+	#define Mono_Posix_PathconfName__PC_FILESIZEBITS       Mono_Posix_PathconfName__PC_FILESIZEBITS
+	Mono_Posix_PathconfName__PC_LINK_MAX                 = 0x00000000,
+	#define Mono_Posix_PathconfName__PC_LINK_MAX           Mono_Posix_PathconfName__PC_LINK_MAX
+	Mono_Posix_PathconfName__PC_MAX_CANON                = 0x00000001,
+	#define Mono_Posix_PathconfName__PC_MAX_CANON          Mono_Posix_PathconfName__PC_MAX_CANON
+	Mono_Posix_PathconfName__PC_MAX_INPUT                = 0x00000002,
+	#define Mono_Posix_PathconfName__PC_MAX_INPUT          Mono_Posix_PathconfName__PC_MAX_INPUT
+	Mono_Posix_PathconfName__PC_NAME_MAX                 = 0x00000003,
+	#define Mono_Posix_PathconfName__PC_NAME_MAX           Mono_Posix_PathconfName__PC_NAME_MAX
+	Mono_Posix_PathconfName__PC_NO_TRUNC                 = 0x00000007,
+	#define Mono_Posix_PathconfName__PC_NO_TRUNC           Mono_Posix_PathconfName__PC_NO_TRUNC
+	Mono_Posix_PathconfName__PC_PATH_MAX                 = 0x00000004,
+	#define Mono_Posix_PathconfName__PC_PATH_MAX           Mono_Posix_PathconfName__PC_PATH_MAX
+	Mono_Posix_PathconfName__PC_PIPE_BUF                 = 0x00000005,
+	#define Mono_Posix_PathconfName__PC_PIPE_BUF           Mono_Posix_PathconfName__PC_PIPE_BUF
+	Mono_Posix_PathconfName__PC_PRIO_IO                  = 0x0000000b,
+	#define Mono_Posix_PathconfName__PC_PRIO_IO            Mono_Posix_PathconfName__PC_PRIO_IO
+	Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE       = 0x0000000e,
+	#define Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE Mono_Posix_PathconfName__PC_REC_INCR_XFER_SIZE
+	Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE        = 0x0000000f,
+	#define Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE  Mono_Posix_PathconfName__PC_REC_MAX_XFER_SIZE
+	Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE        = 0x00000010,
+	#define Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE  Mono_Posix_PathconfName__PC_REC_MIN_XFER_SIZE
+	Mono_Posix_PathconfName__PC_REC_XFER_ALIGN           = 0x00000011,
+	#define Mono_Posix_PathconfName__PC_REC_XFER_ALIGN     Mono_Posix_PathconfName__PC_REC_XFER_ALIGN
+	Mono_Posix_PathconfName__PC_SOCK_MAXBUF              = 0x0000000c,
+	#define Mono_Posix_PathconfName__PC_SOCK_MAXBUF        Mono_Posix_PathconfName__PC_SOCK_MAXBUF
+	Mono_Posix_PathconfName__PC_SYMLINK_MAX              = 0x00000013,
+	#define Mono_Posix_PathconfName__PC_SYMLINK_MAX        Mono_Posix_PathconfName__PC_SYMLINK_MAX
+	Mono_Posix_PathconfName__PC_SYNC_IO                  = 0x00000009,
+	#define Mono_Posix_PathconfName__PC_SYNC_IO            Mono_Posix_PathconfName__PC_SYNC_IO
+	Mono_Posix_PathconfName__PC_VDISABLE                 = 0x00000008,
+	#define Mono_Posix_PathconfName__PC_VDISABLE           Mono_Posix_PathconfName__PC_VDISABLE
+};
 int Mono_Posix_FromPathconfName (int x, int *r);
 int Mono_Posix_ToPathconfName (int x, int *r);
 
-#define Mono_Posix_PollEvents_POLLERR 0x00000008
-#define Mono_Posix_PollEvents_POLLHUP 0x00000010
-#define Mono_Posix_PollEvents_POLLIN 0x00000001
-#define Mono_Posix_PollEvents_POLLNVAL 0x00000020
-#define Mono_Posix_PollEvents_POLLOUT 0x00000004
-#define Mono_Posix_PollEvents_POLLPRI 0x00000002
-#define Mono_Posix_PollEvents_POLLRDBAND 0x00000080
-#define Mono_Posix_PollEvents_POLLRDNORM 0x00000040
-#define Mono_Posix_PollEvents_POLLWRBAND 0x00000200
-#define Mono_Posix_PollEvents_POLLWRNORM 0x00000100
+enum Mono_Posix_PollEvents {
+	Mono_Posix_PollEvents_POLLERR          = 0x00000008,
+	#define Mono_Posix_PollEvents_POLLERR    Mono_Posix_PollEvents_POLLERR
+	Mono_Posix_PollEvents_POLLHUP          = 0x00000010,
+	#define Mono_Posix_PollEvents_POLLHUP    Mono_Posix_PollEvents_POLLHUP
+	Mono_Posix_PollEvents_POLLIN           = 0x00000001,
+	#define Mono_Posix_PollEvents_POLLIN     Mono_Posix_PollEvents_POLLIN
+	Mono_Posix_PollEvents_POLLNVAL         = 0x00000020,
+	#define Mono_Posix_PollEvents_POLLNVAL   Mono_Posix_PollEvents_POLLNVAL
+	Mono_Posix_PollEvents_POLLOUT          = 0x00000004,
+	#define Mono_Posix_PollEvents_POLLOUT    Mono_Posix_PollEvents_POLLOUT
+	Mono_Posix_PollEvents_POLLPRI          = 0x00000002,
+	#define Mono_Posix_PollEvents_POLLPRI    Mono_Posix_PollEvents_POLLPRI
+	Mono_Posix_PollEvents_POLLRDBAND       = 0x00000080,
+	#define Mono_Posix_PollEvents_POLLRDBAND Mono_Posix_PollEvents_POLLRDBAND
+	Mono_Posix_PollEvents_POLLRDNORM       = 0x00000040,
+	#define Mono_Posix_PollEvents_POLLRDNORM Mono_Posix_PollEvents_POLLRDNORM
+	Mono_Posix_PollEvents_POLLWRBAND       = 0x00000200,
+	#define Mono_Posix_PollEvents_POLLWRBAND Mono_Posix_PollEvents_POLLWRBAND
+	Mono_Posix_PollEvents_POLLWRNORM       = 0x00000100,
+	#define Mono_Posix_PollEvents_POLLWRNORM Mono_Posix_PollEvents_POLLWRNORM
+};
 int Mono_Posix_FromPollEvents (short x, short *r);
 int Mono_Posix_ToPollEvents (short x, short *r);
 
-#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED 0x00000004
-#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE 0x00000005
-#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL 0x00000000
-#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM 0x00000001
-#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL 0x00000002
-#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED 0x00000003
+enum Mono_Posix_PosixFadviseAdvice {
+	Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED         = 0x00000004,
+	#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED   Mono_Posix_PosixFadviseAdvice_POSIX_FADV_DONTNEED
+	Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE          = 0x00000005,
+	#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE    Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NOREUSE
+	Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL           = 0x00000000,
+	#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL     Mono_Posix_PosixFadviseAdvice_POSIX_FADV_NORMAL
+	Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM           = 0x00000001,
+	#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM     Mono_Posix_PosixFadviseAdvice_POSIX_FADV_RANDOM
+	Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL       = 0x00000002,
+	#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL Mono_Posix_PosixFadviseAdvice_POSIX_FADV_SEQUENTIAL
+	Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED         = 0x00000003,
+	#define Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED   Mono_Posix_PosixFadviseAdvice_POSIX_FADV_WILLNEED
+};
 int Mono_Posix_FromPosixFadviseAdvice (int x, int *r);
 int Mono_Posix_ToPosixFadviseAdvice (int x, int *r);
 
-#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED 0x00000004
-#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL 0x00000000
-#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM 0x00000001
-#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL 0x00000002
-#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED 0x00000003
+enum Mono_Posix_PosixMadviseAdvice {
+	Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED         = 0x00000004,
+	#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED   Mono_Posix_PosixMadviseAdvice_POSIX_MADV_DONTNEED
+	Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL           = 0x00000000,
+	#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL     Mono_Posix_PosixMadviseAdvice_POSIX_MADV_NORMAL
+	Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM           = 0x00000001,
+	#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM     Mono_Posix_PosixMadviseAdvice_POSIX_MADV_RANDOM
+	Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL       = 0x00000002,
+	#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL Mono_Posix_PosixMadviseAdvice_POSIX_MADV_SEQUENTIAL
+	Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED         = 0x00000003,
+	#define Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED   Mono_Posix_PosixMadviseAdvice_POSIX_MADV_WILLNEED
+};
 int Mono_Posix_FromPosixMadviseAdvice (int x, int *r);
 int Mono_Posix_ToPosixMadviseAdvice (int x, int *r);
 
-#define Mono_Posix_SeekFlags_L_INCR 0x00000001
-#define Mono_Posix_SeekFlags_L_SET 0x00000000
-#define Mono_Posix_SeekFlags_L_XTND 0x00000002
-#define Mono_Posix_SeekFlags_SEEK_CUR 0x00000001
-#define Mono_Posix_SeekFlags_SEEK_END 0x00000002
-#define Mono_Posix_SeekFlags_SEEK_SET 0x00000000
+enum Mono_Posix_SeekFlags {
+	Mono_Posix_SeekFlags_L_INCR         = 0x00000001,
+	#define Mono_Posix_SeekFlags_L_INCR   Mono_Posix_SeekFlags_L_INCR
+	Mono_Posix_SeekFlags_L_SET          = 0x00000000,
+	#define Mono_Posix_SeekFlags_L_SET    Mono_Posix_SeekFlags_L_SET
+	Mono_Posix_SeekFlags_L_XTND         = 0x00000002,
+	#define Mono_Posix_SeekFlags_L_XTND   Mono_Posix_SeekFlags_L_XTND
+	Mono_Posix_SeekFlags_SEEK_CUR       = 0x00000001,
+	#define Mono_Posix_SeekFlags_SEEK_CUR Mono_Posix_SeekFlags_SEEK_CUR
+	Mono_Posix_SeekFlags_SEEK_END       = 0x00000002,
+	#define Mono_Posix_SeekFlags_SEEK_END Mono_Posix_SeekFlags_SEEK_END
+	Mono_Posix_SeekFlags_SEEK_SET       = 0x00000000,
+	#define Mono_Posix_SeekFlags_SEEK_SET Mono_Posix_SeekFlags_SEEK_SET
+};
 int Mono_Posix_FromSeekFlags (short x, short *r);
 int Mono_Posix_ToSeekFlags (short x, short *r);
 
-#define Mono_Posix_Signum_SIGABRT 0x00000006
-#define Mono_Posix_Signum_SIGALRM 0x0000000e
-#define Mono_Posix_Signum_SIGBUS 0x00000007
-#define Mono_Posix_Signum_SIGCHLD 0x00000011
-#define Mono_Posix_Signum_SIGCLD 0x00000011
-#define Mono_Posix_Signum_SIGCONT 0x00000012
-#define Mono_Posix_Signum_SIGFPE 0x00000008
-#define Mono_Posix_Signum_SIGHUP 0x00000001
-#define Mono_Posix_Signum_SIGILL 0x00000004
-#define Mono_Posix_Signum_SIGINT 0x00000002
-#define Mono_Posix_Signum_SIGIO 0x0000001d
-#define Mono_Posix_Signum_SIGIOT 0x00000006
-#define Mono_Posix_Signum_SIGKILL 0x00000009
-#define Mono_Posix_Signum_SIGPIPE 0x0000000d
-#define Mono_Posix_Signum_SIGPOLL 0x0000001d
-#define Mono_Posix_Signum_SIGPROF 0x0000001b
-#define Mono_Posix_Signum_SIGPWR 0x0000001e
-#define Mono_Posix_Signum_SIGQUIT 0x00000003
-#define Mono_Posix_Signum_SIGSEGV 0x0000000b
-#define Mono_Posix_Signum_SIGSTKFLT 0x00000010
-#define Mono_Posix_Signum_SIGSTOP 0x00000013
-#define Mono_Posix_Signum_SIGSYS 0x0000001f
-#define Mono_Posix_Signum_SIGTERM 0x0000000f
-#define Mono_Posix_Signum_SIGTRAP 0x00000005
-#define Mono_Posix_Signum_SIGTSTP 0x00000014
-#define Mono_Posix_Signum_SIGTTIN 0x00000015
-#define Mono_Posix_Signum_SIGTTOU 0x00000016
-#define Mono_Posix_Signum_SIGUNUSED 0x0000001f
-#define Mono_Posix_Signum_SIGURG 0x00000017
-#define Mono_Posix_Signum_SIGUSR1 0x0000000a
-#define Mono_Posix_Signum_SIGUSR2 0x0000000c
-#define Mono_Posix_Signum_SIGVTALRM 0x0000001a
-#define Mono_Posix_Signum_SIGWINCH 0x0000001c
-#define Mono_Posix_Signum_SIGXCPU 0x00000018
-#define Mono_Posix_Signum_SIGXFSZ 0x00000019
+enum Mono_Posix_Signum {
+	Mono_Posix_Signum_SIGABRT         = 0x00000006,
+	#define Mono_Posix_Signum_SIGABRT   Mono_Posix_Signum_SIGABRT
+	Mono_Posix_Signum_SIGALRM         = 0x0000000e,
+	#define Mono_Posix_Signum_SIGALRM   Mono_Posix_Signum_SIGALRM
+	Mono_Posix_Signum_SIGBUS          = 0x00000007,
+	#define Mono_Posix_Signum_SIGBUS    Mono_Posix_Signum_SIGBUS
+	Mono_Posix_Signum_SIGCHLD         = 0x00000011,
+	#define Mono_Posix_Signum_SIGCHLD   Mono_Posix_Signum_SIGCHLD
+	Mono_Posix_Signum_SIGCLD          = 0x00000011,
+	#define Mono_Posix_Signum_SIGCLD    Mono_Posix_Signum_SIGCLD
+	Mono_Posix_Signum_SIGCONT         = 0x00000012,
+	#define Mono_Posix_Signum_SIGCONT   Mono_Posix_Signum_SIGCONT
+	Mono_Posix_Signum_SIGFPE          = 0x00000008,
+	#define Mono_Posix_Signum_SIGFPE    Mono_Posix_Signum_SIGFPE
+	Mono_Posix_Signum_SIGHUP          = 0x00000001,
+	#define Mono_Posix_Signum_SIGHUP    Mono_Posix_Signum_SIGHUP
+	Mono_Posix_Signum_SIGILL          = 0x00000004,
+	#define Mono_Posix_Signum_SIGILL    Mono_Posix_Signum_SIGILL
+	Mono_Posix_Signum_SIGINT          = 0x00000002,
+	#define Mono_Posix_Signum_SIGINT    Mono_Posix_Signum_SIGINT
+	Mono_Posix_Signum_SIGIO           = 0x0000001d,
+	#define Mono_Posix_Signum_SIGIO     Mono_Posix_Signum_SIGIO
+	Mono_Posix_Signum_SIGIOT          = 0x00000006,
+	#define Mono_Posix_Signum_SIGIOT    Mono_Posix_Signum_SIGIOT
+	Mono_Posix_Signum_SIGKILL         = 0x00000009,
+	#define Mono_Posix_Signum_SIGKILL   Mono_Posix_Signum_SIGKILL
+	Mono_Posix_Signum_SIGPIPE         = 0x0000000d,
+	#define Mono_Posix_Signum_SIGPIPE   Mono_Posix_Signum_SIGPIPE
+	Mono_Posix_Signum_SIGPOLL         = 0x0000001d,
+	#define Mono_Posix_Signum_SIGPOLL   Mono_Posix_Signum_SIGPOLL
+	Mono_Posix_Signum_SIGPROF         = 0x0000001b,
+	#define Mono_Posix_Signum_SIGPROF   Mono_Posix_Signum_SIGPROF
+	Mono_Posix_Signum_SIGPWR          = 0x0000001e,
+	#define Mono_Posix_Signum_SIGPWR    Mono_Posix_Signum_SIGPWR
+	Mono_Posix_Signum_SIGQUIT         = 0x00000003,
+	#define Mono_Posix_Signum_SIGQUIT   Mono_Posix_Signum_SIGQUIT
+	Mono_Posix_Signum_SIGSEGV         = 0x0000000b,
+	#define Mono_Posix_Signum_SIGSEGV   Mono_Posix_Signum_SIGSEGV
+	Mono_Posix_Signum_SIGSTKFLT       = 0x00000010,
+	#define Mono_Posix_Signum_SIGSTKFLT Mono_Posix_Signum_SIGSTKFLT
+	Mono_Posix_Signum_SIGSTOP         = 0x00000013,
+	#define Mono_Posix_Signum_SIGSTOP   Mono_Posix_Signum_SIGSTOP
+	Mono_Posix_Signum_SIGSYS          = 0x0000001f,
+	#define Mono_Posix_Signum_SIGSYS    Mono_Posix_Signum_SIGSYS
+	Mono_Posix_Signum_SIGTERM         = 0x0000000f,
+	#define Mono_Posix_Signum_SIGTERM   Mono_Posix_Signum_SIGTERM
+	Mono_Posix_Signum_SIGTRAP         = 0x00000005,
+	#define Mono_Posix_Signum_SIGTRAP   Mono_Posix_Signum_SIGTRAP
+	Mono_Posix_Signum_SIGTSTP         = 0x00000014,
+	#define Mono_Posix_Signum_SIGTSTP   Mono_Posix_Signum_SIGTSTP
+	Mono_Posix_Signum_SIGTTIN         = 0x00000015,
+	#define Mono_Posix_Signum_SIGTTIN   Mono_Posix_Signum_SIGTTIN
+	Mono_Posix_Signum_SIGTTOU         = 0x00000016,
+	#define Mono_Posix_Signum_SIGTTOU   Mono_Posix_Signum_SIGTTOU
+	Mono_Posix_Signum_SIGUNUSED       = 0x0000001f,
+	#define Mono_Posix_Signum_SIGUNUSED Mono_Posix_Signum_SIGUNUSED
+	Mono_Posix_Signum_SIGURG          = 0x00000017,
+	#define Mono_Posix_Signum_SIGURG    Mono_Posix_Signum_SIGURG
+	Mono_Posix_Signum_SIGUSR1         = 0x0000000a,
+	#define Mono_Posix_Signum_SIGUSR1   Mono_Posix_Signum_SIGUSR1
+	Mono_Posix_Signum_SIGUSR2         = 0x0000000c,
+	#define Mono_Posix_Signum_SIGUSR2   Mono_Posix_Signum_SIGUSR2
+	Mono_Posix_Signum_SIGVTALRM       = 0x0000001a,
+	#define Mono_Posix_Signum_SIGVTALRM Mono_Posix_Signum_SIGVTALRM
+	Mono_Posix_Signum_SIGWINCH        = 0x0000001c,
+	#define Mono_Posix_Signum_SIGWINCH  Mono_Posix_Signum_SIGWINCH
+	Mono_Posix_Signum_SIGXCPU         = 0x00000018,
+	#define Mono_Posix_Signum_SIGXCPU   Mono_Posix_Signum_SIGXCPU
+	Mono_Posix_Signum_SIGXFSZ         = 0x00000019,
+	#define Mono_Posix_Signum_SIGXFSZ   Mono_Posix_Signum_SIGXFSZ
+};
 int Mono_Posix_FromSignum (int x, int *r);
 int Mono_Posix_ToSignum (int x, int *r);
 
-#define Mono_Posix_SysconfName__SC_2_CHAR_TERM 0x0000005f
-#define Mono_Posix_SysconfName__SC_2_C_BIND 0x0000002f
-#define Mono_Posix_SysconfName__SC_2_C_DEV 0x00000030
-#define Mono_Posix_SysconfName__SC_2_C_VERSION 0x00000060
-#define Mono_Posix_SysconfName__SC_2_FORT_DEV 0x00000031
-#define Mono_Posix_SysconfName__SC_2_FORT_RUN 0x00000032
-#define Mono_Posix_SysconfName__SC_2_LOCALEDEF 0x00000034
-#define Mono_Posix_SysconfName__SC_2_PBS 0x000000a8
-#define Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING 0x000000a9
-#define Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT 0x000000af
-#define Mono_Posix_SysconfName__SC_2_PBS_LOCATE 0x000000aa
-#define Mono_Posix_SysconfName__SC_2_PBS_MESSAGE 0x000000ab
-#define Mono_Posix_SysconfName__SC_2_PBS_TRACK 0x000000ac
-#define Mono_Posix_SysconfName__SC_2_SW_DEV 0x00000033
-#define Mono_Posix_SysconfName__SC_2_UPE 0x00000061
-#define Mono_Posix_SysconfName__SC_2_VERSION 0x0000002e
-#define Mono_Posix_SysconfName__SC_ADVISORY_INFO 0x00000084
-#define Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX 0x00000017
-#define Mono_Posix_SysconfName__SC_AIO_MAX 0x00000018
-#define Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX 0x00000019
-#define Mono_Posix_SysconfName__SC_ARG_MAX 0x00000000
-#define Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO 0x0000000c
-#define Mono_Posix_SysconfName__SC_ATEXIT_MAX 0x00000057
-#define Mono_Posix_SysconfName__SC_AVPHYS_PAGES 0x00000056
-#define Mono_Posix_SysconfName__SC_BARRIERS 0x00000085
-#define Mono_Posix_SysconfName__SC_BASE 0x00000086
-#define Mono_Posix_SysconfName__SC_BC_BASE_MAX 0x00000024
-#define Mono_Posix_SysconfName__SC_BC_DIM_MAX 0x00000025
-#define Mono_Posix_SysconfName__SC_BC_SCALE_MAX 0x00000026
-#define Mono_Posix_SysconfName__SC_BC_STRING_MAX 0x00000027
-#define Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX 0x0000002d
-#define Mono_Posix_SysconfName__SC_CHAR_BIT 0x00000065
-#define Mono_Posix_SysconfName__SC_CHAR_MAX 0x00000066
-#define Mono_Posix_SysconfName__SC_CHAR_MIN 0x00000067
-#define Mono_Posix_SysconfName__SC_CHILD_MAX 0x00000001
-#define Mono_Posix_SysconfName__SC_CLK_TCK 0x00000002
-#define Mono_Posix_SysconfName__SC_CLOCK_SELECTION 0x00000089
-#define Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX 0x00000028
-#define Mono_Posix_SysconfName__SC_CPUTIME 0x0000008a
-#define Mono_Posix_SysconfName__SC_C_LANG_SUPPORT 0x00000087
-#define Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R 0x00000088
-#define Mono_Posix_SysconfName__SC_DELAYTIMER_MAX 0x0000001a
-#define Mono_Posix_SysconfName__SC_DEVICE_IO 0x0000008c
-#define Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC 0x0000008d
-#define Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R 0x0000008e
-#define Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX 0x00000029
-#define Mono_Posix_SysconfName__SC_EXPR_NEST_MAX 0x0000002a
-#define Mono_Posix_SysconfName__SC_FD_MGMT 0x0000008f
-#define Mono_Posix_SysconfName__SC_FIFO 0x00000090
-#define Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES 0x00000092
-#define Mono_Posix_SysconfName__SC_FILE_LOCKING 0x00000093
-#define Mono_Posix_SysconfName__SC_FILE_SYSTEM 0x00000094
-#define Mono_Posix_SysconfName__SC_FSYNC 0x0000000f
-#define Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX 0x00000045
-#define Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX 0x00000046
-#define Mono_Posix_SysconfName__SC_HOST_NAME_MAX 0x000000b4
-#define Mono_Posix_SysconfName__SC_INT_MAX 0x00000068
-#define Mono_Posix_SysconfName__SC_INT_MIN 0x00000069
-#define Mono_Posix_SysconfName__SC_IOV_MAX 0x0000003c
-#define Mono_Posix_SysconfName__SC_JOB_CONTROL 0x00000007
-#define Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC 0x000000bd
-#define Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE 0x000000be
-#define Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE 0x000000bc
-#define Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC 0x000000ba
-#define Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE 0x000000bb
-#define Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE 0x000000b9
-#define Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC 0x000000c0
-#define Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE 0x000000c1
-#define Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE 0x000000bf
-#define Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC 0x000000c3
-#define Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE 0x000000c4
-#define Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE 0x000000c2
-#define Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC 0x000000c6
-#define Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE 0x000000c7
-#define Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE 0x000000c5
-#define Mono_Posix_SysconfName__SC_LINE_MAX 0x0000002b
-#define Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX 0x00000047
-#define Mono_Posix_SysconfName__SC_LONG_BIT 0x0000006a
-#define Mono_Posix_SysconfName__SC_MAPPED_FILES 0x00000010
-#define Mono_Posix_SysconfName__SC_MB_LEN_MAX 0x0000006c
-#define Mono_Posix_SysconfName__SC_MEMLOCK 0x00000011
-#define Mono_Posix_SysconfName__SC_MEMLOCK_RANGE 0x00000012
-#define Mono_Posix_SysconfName__SC_MEMORY_PROTECTION 0x00000013
-#define Mono_Posix_SysconfName__SC_MESSAGE_PASSING 0x00000014
-#define Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK 0x00000095
-#define Mono_Posix_SysconfName__SC_MQ_OPEN_MAX 0x0000001b
-#define Mono_Posix_SysconfName__SC_MQ_PRIO_MAX 0x0000001c
-#define Mono_Posix_SysconfName__SC_MULTI_PROCESS 0x00000096
-#define Mono_Posix_SysconfName__SC_NETWORKING 0x00000098
-#define Mono_Posix_SysconfName__SC_NGROUPS_MAX 0x00000003
-#define Mono_Posix_SysconfName__SC_NL_ARGMAX 0x00000077
-#define Mono_Posix_SysconfName__SC_NL_LANGMAX 0x00000078
-#define Mono_Posix_SysconfName__SC_NL_MSGMAX 0x00000079
-#define Mono_Posix_SysconfName__SC_NL_NMAX 0x0000007a
-#define Mono_Posix_SysconfName__SC_NL_SETMAX 0x0000007b
-#define Mono_Posix_SysconfName__SC_NL_TEXTMAX 0x0000007c
-#define Mono_Posix_SysconfName__SC_NPROCESSORS_CONF 0x00000053
-#define Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN 0x00000054
-#define Mono_Posix_SysconfName__SC_NZERO 0x0000006d
-#define Mono_Posix_SysconfName__SC_OPEN_MAX 0x00000004
-#define Mono_Posix_SysconfName__SC_PAGESIZE 0x0000001e
-#define Mono_Posix_SysconfName__SC_PASS_MAX 0x00000058
-#define Mono_Posix_SysconfName__SC_PHYS_PAGES 0x00000055
-#define Mono_Posix_SysconfName__SC_PII 0x00000035
-#define Mono_Posix_SysconfName__SC_PII_INTERNET 0x00000038
-#define Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM 0x0000003e
-#define Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM 0x0000003d
-#define Mono_Posix_SysconfName__SC_PII_OSI 0x00000039
-#define Mono_Posix_SysconfName__SC_PII_OSI_CLTS 0x00000040
-#define Mono_Posix_SysconfName__SC_PII_OSI_COTS 0x0000003f
-#define Mono_Posix_SysconfName__SC_PII_OSI_M 0x00000041
-#define Mono_Posix_SysconfName__SC_PII_SOCKET 0x00000037
-#define Mono_Posix_SysconfName__SC_PII_XTI 0x00000036
-#define Mono_Posix_SysconfName__SC_PIPE 0x00000091
-#define Mono_Posix_SysconfName__SC_POLL 0x0000003a
-#define Mono_Posix_SysconfName__SC_PRIORITIZED_IO 0x0000000d
-#define Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING 0x0000000a
-#define Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS 0x00000099
-#define Mono_Posix_SysconfName__SC_REALTIME_SIGNALS 0x00000009
-#define Mono_Posix_SysconfName__SC_REGEXP 0x0000009b
-#define Mono_Posix_SysconfName__SC_REGEX_VERSION 0x0000009c
-#define Mono_Posix_SysconfName__SC_RE_DUP_MAX 0x0000002c
-#define Mono_Posix_SysconfName__SC_RTSIG_MAX 0x0000001f
-#define Mono_Posix_SysconfName__SC_SAVED_IDS 0x00000008
-#define Mono_Posix_SysconfName__SC_SCHAR_MAX 0x0000006f
-#define Mono_Posix_SysconfName__SC_SCHAR_MIN 0x00000070
-#define Mono_Posix_SysconfName__SC_SELECT 0x0000003b
-#define Mono_Posix_SysconfName__SC_SEMAPHORES 0x00000015
-#define Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX 0x00000020
-#define Mono_Posix_SysconfName__SC_SEM_VALUE_MAX 0x00000021
-#define Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS 0x00000016
-#define Mono_Posix_SysconfName__SC_SHELL 0x0000009d
-#define Mono_Posix_SysconfName__SC_SHRT_MAX 0x00000071
-#define Mono_Posix_SysconfName__SC_SHRT_MIN 0x00000072
-#define Mono_Posix_SysconfName__SC_SIGNALS 0x0000009e
-#define Mono_Posix_SysconfName__SC_SIGQUEUE_MAX 0x00000022
-#define Mono_Posix_SysconfName__SC_SINGLE_PROCESS 0x00000097
-#define Mono_Posix_SysconfName__SC_SPAWN 0x0000009f
-#define Mono_Posix_SysconfName__SC_SPIN_LOCKS 0x0000009a
-#define Mono_Posix_SysconfName__SC_SPORADIC_SERVER 0x000000a0
-#define Mono_Posix_SysconfName__SC_SSIZE_MAX 0x0000006e
-#define Mono_Posix_SysconfName__SC_STREAMS 0x000000ae
-#define Mono_Posix_SysconfName__SC_STREAM_MAX 0x00000005
-#define Mono_Posix_SysconfName__SC_SYMLOOP_MAX 0x000000ad
-#define Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO 0x0000000e
-#define Mono_Posix_SysconfName__SC_SYSTEM_DATABASE 0x000000a2
-#define Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R 0x000000a3
-#define Mono_Posix_SysconfName__SC_THREADS 0x00000043
-#define Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR 0x0000004d
-#define Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE 0x0000004e
-#define Mono_Posix_SysconfName__SC_THREAD_CPUTIME 0x0000008b
-#define Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS 0x00000049
-#define Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX 0x0000004a
-#define Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING 0x0000004f
-#define Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT 0x00000050
-#define Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT 0x00000051
-#define Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED 0x00000052
-#define Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS 0x00000044
-#define Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER 0x000000a1
-#define Mono_Posix_SysconfName__SC_THREAD_STACK_MIN 0x0000004b
-#define Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX 0x0000004c
-#define Mono_Posix_SysconfName__SC_TIMEOUTS 0x000000a4
-#define Mono_Posix_SysconfName__SC_TIMERS 0x0000000b
-#define Mono_Posix_SysconfName__SC_TIMER_MAX 0x00000023
-#define Mono_Posix_SysconfName__SC_TRACE 0x000000b5
-#define Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER 0x000000b6
-#define Mono_Posix_SysconfName__SC_TRACE_INHERIT 0x000000b7
-#define Mono_Posix_SysconfName__SC_TRACE_LOG 0x000000b8
-#define Mono_Posix_SysconfName__SC_TTY_NAME_MAX 0x00000048
-#define Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS 0x000000a5
-#define Mono_Posix_SysconfName__SC_TZNAME_MAX 0x00000006
-#define Mono_Posix_SysconfName__SC_T_IOV_MAX 0x00000042
-#define Mono_Posix_SysconfName__SC_UCHAR_MAX 0x00000073
-#define Mono_Posix_SysconfName__SC_UINT_MAX 0x00000074
-#define Mono_Posix_SysconfName__SC_UIO_MAXIOV 0x0000003c
-#define Mono_Posix_SysconfName__SC_ULONG_MAX 0x00000075
-#define Mono_Posix_SysconfName__SC_USER_GROUPS 0x000000a6
-#define Mono_Posix_SysconfName__SC_USER_GROUPS_R 0x000000a7
-#define Mono_Posix_SysconfName__SC_USHRT_MAX 0x00000076
-#define Mono_Posix_SysconfName__SC_V6_ILP32_OFF32 0x000000b0
-#define Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG 0x000000b1
-#define Mono_Posix_SysconfName__SC_V6_LP64_OFF64 0x000000b2
-#define Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG 0x000000b3
-#define Mono_Posix_SysconfName__SC_VERSION 0x0000001d
-#define Mono_Posix_SysconfName__SC_WORD_BIT 0x0000006b
-#define Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32 0x0000007d
-#define Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG 0x0000007e
-#define Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64 0x0000007f
-#define Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG 0x00000080
-#define Mono_Posix_SysconfName__SC_XOPEN_CRYPT 0x0000005c
-#define Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N 0x0000005d
-#define Mono_Posix_SysconfName__SC_XOPEN_LEGACY 0x00000081
-#define Mono_Posix_SysconfName__SC_XOPEN_REALTIME 0x00000082
-#define Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS 0x00000083
-#define Mono_Posix_SysconfName__SC_XOPEN_SHM 0x0000005e
-#define Mono_Posix_SysconfName__SC_XOPEN_UNIX 0x0000005b
-#define Mono_Posix_SysconfName__SC_XOPEN_VERSION 0x00000059
-#define Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION 0x0000005a
-#define Mono_Posix_SysconfName__SC_XOPEN_XPG2 0x00000062
-#define Mono_Posix_SysconfName__SC_XOPEN_XPG3 0x00000063
-#define Mono_Posix_SysconfName__SC_XOPEN_XPG4 0x00000064
+enum Mono_Posix_SysconfName {
+	Mono_Posix_SysconfName__SC_2_CHAR_TERM                        = 0x0000005f,
+	#define Mono_Posix_SysconfName__SC_2_CHAR_TERM                  Mono_Posix_SysconfName__SC_2_CHAR_TERM
+	Mono_Posix_SysconfName__SC_2_C_BIND                           = 0x0000002f,
+	#define Mono_Posix_SysconfName__SC_2_C_BIND                     Mono_Posix_SysconfName__SC_2_C_BIND
+	Mono_Posix_SysconfName__SC_2_C_DEV                            = 0x00000030,
+	#define Mono_Posix_SysconfName__SC_2_C_DEV                      Mono_Posix_SysconfName__SC_2_C_DEV
+	Mono_Posix_SysconfName__SC_2_C_VERSION                        = 0x00000060,
+	#define Mono_Posix_SysconfName__SC_2_C_VERSION                  Mono_Posix_SysconfName__SC_2_C_VERSION
+	Mono_Posix_SysconfName__SC_2_FORT_DEV                         = 0x00000031,
+	#define Mono_Posix_SysconfName__SC_2_FORT_DEV                   Mono_Posix_SysconfName__SC_2_FORT_DEV
+	Mono_Posix_SysconfName__SC_2_FORT_RUN                         = 0x00000032,
+	#define Mono_Posix_SysconfName__SC_2_FORT_RUN                   Mono_Posix_SysconfName__SC_2_FORT_RUN
+	Mono_Posix_SysconfName__SC_2_LOCALEDEF                        = 0x00000034,
+	#define Mono_Posix_SysconfName__SC_2_LOCALEDEF                  Mono_Posix_SysconfName__SC_2_LOCALEDEF
+	Mono_Posix_SysconfName__SC_2_PBS                              = 0x000000a8,
+	#define Mono_Posix_SysconfName__SC_2_PBS                        Mono_Posix_SysconfName__SC_2_PBS
+	Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING                   = 0x000000a9,
+	#define Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING             Mono_Posix_SysconfName__SC_2_PBS_ACCOUNTING
+	Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT                   = 0x000000af,
+	#define Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT             Mono_Posix_SysconfName__SC_2_PBS_CHECKPOINT
+	Mono_Posix_SysconfName__SC_2_PBS_LOCATE                       = 0x000000aa,
+	#define Mono_Posix_SysconfName__SC_2_PBS_LOCATE                 Mono_Posix_SysconfName__SC_2_PBS_LOCATE
+	Mono_Posix_SysconfName__SC_2_PBS_MESSAGE                      = 0x000000ab,
+	#define Mono_Posix_SysconfName__SC_2_PBS_MESSAGE                Mono_Posix_SysconfName__SC_2_PBS_MESSAGE
+	Mono_Posix_SysconfName__SC_2_PBS_TRACK                        = 0x000000ac,
+	#define Mono_Posix_SysconfName__SC_2_PBS_TRACK                  Mono_Posix_SysconfName__SC_2_PBS_TRACK
+	Mono_Posix_SysconfName__SC_2_SW_DEV                           = 0x00000033,
+	#define Mono_Posix_SysconfName__SC_2_SW_DEV                     Mono_Posix_SysconfName__SC_2_SW_DEV
+	Mono_Posix_SysconfName__SC_2_UPE                              = 0x00000061,
+	#define Mono_Posix_SysconfName__SC_2_UPE                        Mono_Posix_SysconfName__SC_2_UPE
+	Mono_Posix_SysconfName__SC_2_VERSION                          = 0x0000002e,
+	#define Mono_Posix_SysconfName__SC_2_VERSION                    Mono_Posix_SysconfName__SC_2_VERSION
+	Mono_Posix_SysconfName__SC_ADVISORY_INFO                      = 0x00000084,
+	#define Mono_Posix_SysconfName__SC_ADVISORY_INFO                Mono_Posix_SysconfName__SC_ADVISORY_INFO
+	Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX                     = 0x00000017,
+	#define Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX               Mono_Posix_SysconfName__SC_AIO_LISTIO_MAX
+	Mono_Posix_SysconfName__SC_AIO_MAX                            = 0x00000018,
+	#define Mono_Posix_SysconfName__SC_AIO_MAX                      Mono_Posix_SysconfName__SC_AIO_MAX
+	Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX                 = 0x00000019,
+	#define Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX           Mono_Posix_SysconfName__SC_AIO_PRIO_DELTA_MAX
+	Mono_Posix_SysconfName__SC_ARG_MAX                            = 0x00000000,
+	#define Mono_Posix_SysconfName__SC_ARG_MAX                      Mono_Posix_SysconfName__SC_ARG_MAX
+	Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO                    = 0x0000000c,
+	#define Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO              Mono_Posix_SysconfName__SC_ASYNCHRONOUS_IO
+	Mono_Posix_SysconfName__SC_ATEXIT_MAX                         = 0x00000057,
+	#define Mono_Posix_SysconfName__SC_ATEXIT_MAX                   Mono_Posix_SysconfName__SC_ATEXIT_MAX
+	Mono_Posix_SysconfName__SC_AVPHYS_PAGES                       = 0x00000056,
+	#define Mono_Posix_SysconfName__SC_AVPHYS_PAGES                 Mono_Posix_SysconfName__SC_AVPHYS_PAGES
+	Mono_Posix_SysconfName__SC_BARRIERS                           = 0x00000085,
+	#define Mono_Posix_SysconfName__SC_BARRIERS                     Mono_Posix_SysconfName__SC_BARRIERS
+	Mono_Posix_SysconfName__SC_BASE                               = 0x00000086,
+	#define Mono_Posix_SysconfName__SC_BASE                         Mono_Posix_SysconfName__SC_BASE
+	Mono_Posix_SysconfName__SC_BC_BASE_MAX                        = 0x00000024,
+	#define Mono_Posix_SysconfName__SC_BC_BASE_MAX                  Mono_Posix_SysconfName__SC_BC_BASE_MAX
+	Mono_Posix_SysconfName__SC_BC_DIM_MAX                         = 0x00000025,
+	#define Mono_Posix_SysconfName__SC_BC_DIM_MAX                   Mono_Posix_SysconfName__SC_BC_DIM_MAX
+	Mono_Posix_SysconfName__SC_BC_SCALE_MAX                       = 0x00000026,
+	#define Mono_Posix_SysconfName__SC_BC_SCALE_MAX                 Mono_Posix_SysconfName__SC_BC_SCALE_MAX
+	Mono_Posix_SysconfName__SC_BC_STRING_MAX                      = 0x00000027,
+	#define Mono_Posix_SysconfName__SC_BC_STRING_MAX                Mono_Posix_SysconfName__SC_BC_STRING_MAX
+	Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX                 = 0x0000002d,
+	#define Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX           Mono_Posix_SysconfName__SC_CHARCLASS_NAME_MAX
+	Mono_Posix_SysconfName__SC_CHAR_BIT                           = 0x00000065,
+	#define Mono_Posix_SysconfName__SC_CHAR_BIT                     Mono_Posix_SysconfName__SC_CHAR_BIT
+	Mono_Posix_SysconfName__SC_CHAR_MAX                           = 0x00000066,
+	#define Mono_Posix_SysconfName__SC_CHAR_MAX                     Mono_Posix_SysconfName__SC_CHAR_MAX
+	Mono_Posix_SysconfName__SC_CHAR_MIN                           = 0x00000067,
+	#define Mono_Posix_SysconfName__SC_CHAR_MIN                     Mono_Posix_SysconfName__SC_CHAR_MIN
+	Mono_Posix_SysconfName__SC_CHILD_MAX                          = 0x00000001,
+	#define Mono_Posix_SysconfName__SC_CHILD_MAX                    Mono_Posix_SysconfName__SC_CHILD_MAX
+	Mono_Posix_SysconfName__SC_CLK_TCK                            = 0x00000002,
+	#define Mono_Posix_SysconfName__SC_CLK_TCK                      Mono_Posix_SysconfName__SC_CLK_TCK
+	Mono_Posix_SysconfName__SC_CLOCK_SELECTION                    = 0x00000089,
+	#define Mono_Posix_SysconfName__SC_CLOCK_SELECTION              Mono_Posix_SysconfName__SC_CLOCK_SELECTION
+	Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX                   = 0x00000028,
+	#define Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX             Mono_Posix_SysconfName__SC_COLL_WEIGHTS_MAX
+	Mono_Posix_SysconfName__SC_CPUTIME                            = 0x0000008a,
+	#define Mono_Posix_SysconfName__SC_CPUTIME                      Mono_Posix_SysconfName__SC_CPUTIME
+	Mono_Posix_SysconfName__SC_C_LANG_SUPPORT                     = 0x00000087,
+	#define Mono_Posix_SysconfName__SC_C_LANG_SUPPORT               Mono_Posix_SysconfName__SC_C_LANG_SUPPORT
+	Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R                   = 0x00000088,
+	#define Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R             Mono_Posix_SysconfName__SC_C_LANG_SUPPORT_R
+	Mono_Posix_SysconfName__SC_DELAYTIMER_MAX                     = 0x0000001a,
+	#define Mono_Posix_SysconfName__SC_DELAYTIMER_MAX               Mono_Posix_SysconfName__SC_DELAYTIMER_MAX
+	Mono_Posix_SysconfName__SC_DEVICE_IO                          = 0x0000008c,
+	#define Mono_Posix_SysconfName__SC_DEVICE_IO                    Mono_Posix_SysconfName__SC_DEVICE_IO
+	Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC                    = 0x0000008d,
+	#define Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC              Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC
+	Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R                  = 0x0000008e,
+	#define Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R            Mono_Posix_SysconfName__SC_DEVICE_SPECIFIC_R
+	Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX                    = 0x00000029,
+	#define Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX              Mono_Posix_SysconfName__SC_EQUIV_CLASS_MAX
+	Mono_Posix_SysconfName__SC_EXPR_NEST_MAX                      = 0x0000002a,
+	#define Mono_Posix_SysconfName__SC_EXPR_NEST_MAX                Mono_Posix_SysconfName__SC_EXPR_NEST_MAX
+	Mono_Posix_SysconfName__SC_FD_MGMT                            = 0x0000008f,
+	#define Mono_Posix_SysconfName__SC_FD_MGMT                      Mono_Posix_SysconfName__SC_FD_MGMT
+	Mono_Posix_SysconfName__SC_FIFO                               = 0x00000090,
+	#define Mono_Posix_SysconfName__SC_FIFO                         Mono_Posix_SysconfName__SC_FIFO
+	Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES                    = 0x00000092,
+	#define Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES              Mono_Posix_SysconfName__SC_FILE_ATTRIBUTES
+	Mono_Posix_SysconfName__SC_FILE_LOCKING                       = 0x00000093,
+	#define Mono_Posix_SysconfName__SC_FILE_LOCKING                 Mono_Posix_SysconfName__SC_FILE_LOCKING
+	Mono_Posix_SysconfName__SC_FILE_SYSTEM                        = 0x00000094,
+	#define Mono_Posix_SysconfName__SC_FILE_SYSTEM                  Mono_Posix_SysconfName__SC_FILE_SYSTEM
+	Mono_Posix_SysconfName__SC_FSYNC                              = 0x0000000f,
+	#define Mono_Posix_SysconfName__SC_FSYNC                        Mono_Posix_SysconfName__SC_FSYNC
+	Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX                   = 0x00000045,
+	#define Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX             Mono_Posix_SysconfName__SC_GETGR_R_SIZE_MAX
+	Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX                   = 0x00000046,
+	#define Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX             Mono_Posix_SysconfName__SC_GETPW_R_SIZE_MAX
+	Mono_Posix_SysconfName__SC_HOST_NAME_MAX                      = 0x000000b4,
+	#define Mono_Posix_SysconfName__SC_HOST_NAME_MAX                Mono_Posix_SysconfName__SC_HOST_NAME_MAX
+	Mono_Posix_SysconfName__SC_INT_MAX                            = 0x00000068,
+	#define Mono_Posix_SysconfName__SC_INT_MAX                      Mono_Posix_SysconfName__SC_INT_MAX
+	Mono_Posix_SysconfName__SC_INT_MIN                            = 0x00000069,
+	#define Mono_Posix_SysconfName__SC_INT_MIN                      Mono_Posix_SysconfName__SC_INT_MIN
+	Mono_Posix_SysconfName__SC_IOV_MAX                            = 0x0000003c,
+	#define Mono_Posix_SysconfName__SC_IOV_MAX                      Mono_Posix_SysconfName__SC_IOV_MAX
+	Mono_Posix_SysconfName__SC_JOB_CONTROL                        = 0x00000007,
+	#define Mono_Posix_SysconfName__SC_JOB_CONTROL                  Mono_Posix_SysconfName__SC_JOB_CONTROL
+	Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC                = 0x000000bd,
+	#define Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC          Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_ASSOC
+	Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE             = 0x000000be,
+	#define Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE       Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_LINESIZE
+	Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE                 = 0x000000bc,
+	#define Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE           Mono_Posix_SysconfName__SC_LEVEL1_DCACHE_SIZE
+	Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC                = 0x000000ba,
+	#define Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC          Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_ASSOC
+	Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE             = 0x000000bb,
+	#define Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE       Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_LINESIZE
+	Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE                 = 0x000000b9,
+	#define Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE           Mono_Posix_SysconfName__SC_LEVEL1_ICACHE_SIZE
+	Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC                 = 0x000000c0,
+	#define Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC           Mono_Posix_SysconfName__SC_LEVEL2_CACHE_ASSOC
+	Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE              = 0x000000c1,
+	#define Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE        Mono_Posix_SysconfName__SC_LEVEL2_CACHE_LINESIZE
+	Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE                  = 0x000000bf,
+	#define Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE            Mono_Posix_SysconfName__SC_LEVEL2_CACHE_SIZE
+	Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC                 = 0x000000c3,
+	#define Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC           Mono_Posix_SysconfName__SC_LEVEL3_CACHE_ASSOC
+	Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE              = 0x000000c4,
+	#define Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE        Mono_Posix_SysconfName__SC_LEVEL3_CACHE_LINESIZE
+	Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE                  = 0x000000c2,
+	#define Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE            Mono_Posix_SysconfName__SC_LEVEL3_CACHE_SIZE
+	Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC                 = 0x000000c6,
+	#define Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC           Mono_Posix_SysconfName__SC_LEVEL4_CACHE_ASSOC
+	Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE              = 0x000000c7,
+	#define Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE        Mono_Posix_SysconfName__SC_LEVEL4_CACHE_LINESIZE
+	Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE                  = 0x000000c5,
+	#define Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE            Mono_Posix_SysconfName__SC_LEVEL4_CACHE_SIZE
+	Mono_Posix_SysconfName__SC_LINE_MAX                           = 0x0000002b,
+	#define Mono_Posix_SysconfName__SC_LINE_MAX                     Mono_Posix_SysconfName__SC_LINE_MAX
+	Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX                     = 0x00000047,
+	#define Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX               Mono_Posix_SysconfName__SC_LOGIN_NAME_MAX
+	Mono_Posix_SysconfName__SC_LONG_BIT                           = 0x0000006a,
+	#define Mono_Posix_SysconfName__SC_LONG_BIT                     Mono_Posix_SysconfName__SC_LONG_BIT
+	Mono_Posix_SysconfName__SC_MAPPED_FILES                       = 0x00000010,
+	#define Mono_Posix_SysconfName__SC_MAPPED_FILES                 Mono_Posix_SysconfName__SC_MAPPED_FILES
+	Mono_Posix_SysconfName__SC_MB_LEN_MAX                         = 0x0000006c,
+	#define Mono_Posix_SysconfName__SC_MB_LEN_MAX                   Mono_Posix_SysconfName__SC_MB_LEN_MAX
+	Mono_Posix_SysconfName__SC_MEMLOCK                            = 0x00000011,
+	#define Mono_Posix_SysconfName__SC_MEMLOCK                      Mono_Posix_SysconfName__SC_MEMLOCK
+	Mono_Posix_SysconfName__SC_MEMLOCK_RANGE                      = 0x00000012,
+	#define Mono_Posix_SysconfName__SC_MEMLOCK_RANGE                Mono_Posix_SysconfName__SC_MEMLOCK_RANGE
+	Mono_Posix_SysconfName__SC_MEMORY_PROTECTION                  = 0x00000013,
+	#define Mono_Posix_SysconfName__SC_MEMORY_PROTECTION            Mono_Posix_SysconfName__SC_MEMORY_PROTECTION
+	Mono_Posix_SysconfName__SC_MESSAGE_PASSING                    = 0x00000014,
+	#define Mono_Posix_SysconfName__SC_MESSAGE_PASSING              Mono_Posix_SysconfName__SC_MESSAGE_PASSING
+	Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK                    = 0x00000095,
+	#define Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK              Mono_Posix_SysconfName__SC_MONOTONIC_CLOCK
+	Mono_Posix_SysconfName__SC_MQ_OPEN_MAX                        = 0x0000001b,
+	#define Mono_Posix_SysconfName__SC_MQ_OPEN_MAX                  Mono_Posix_SysconfName__SC_MQ_OPEN_MAX
+	Mono_Posix_SysconfName__SC_MQ_PRIO_MAX                        = 0x0000001c,
+	#define Mono_Posix_SysconfName__SC_MQ_PRIO_MAX                  Mono_Posix_SysconfName__SC_MQ_PRIO_MAX
+	Mono_Posix_SysconfName__SC_MULTI_PROCESS                      = 0x00000096,
+	#define Mono_Posix_SysconfName__SC_MULTI_PROCESS                Mono_Posix_SysconfName__SC_MULTI_PROCESS
+	Mono_Posix_SysconfName__SC_NETWORKING                         = 0x00000098,
+	#define Mono_Posix_SysconfName__SC_NETWORKING                   Mono_Posix_SysconfName__SC_NETWORKING
+	Mono_Posix_SysconfName__SC_NGROUPS_MAX                        = 0x00000003,
+	#define Mono_Posix_SysconfName__SC_NGROUPS_MAX                  Mono_Posix_SysconfName__SC_NGROUPS_MAX
+	Mono_Posix_SysconfName__SC_NL_ARGMAX                          = 0x00000077,
+	#define Mono_Posix_SysconfName__SC_NL_ARGMAX                    Mono_Posix_SysconfName__SC_NL_ARGMAX
+	Mono_Posix_SysconfName__SC_NL_LANGMAX                         = 0x00000078,
+	#define Mono_Posix_SysconfName__SC_NL_LANGMAX                   Mono_Posix_SysconfName__SC_NL_LANGMAX
+	Mono_Posix_SysconfName__SC_NL_MSGMAX                          = 0x00000079,
+	#define Mono_Posix_SysconfName__SC_NL_MSGMAX                    Mono_Posix_SysconfName__SC_NL_MSGMAX
+	Mono_Posix_SysconfName__SC_NL_NMAX                            = 0x0000007a,
+	#define Mono_Posix_SysconfName__SC_NL_NMAX                      Mono_Posix_SysconfName__SC_NL_NMAX
+	Mono_Posix_SysconfName__SC_NL_SETMAX                          = 0x0000007b,
+	#define Mono_Posix_SysconfName__SC_NL_SETMAX                    Mono_Posix_SysconfName__SC_NL_SETMAX
+	Mono_Posix_SysconfName__SC_NL_TEXTMAX                         = 0x0000007c,
+	#define Mono_Posix_SysconfName__SC_NL_TEXTMAX                   Mono_Posix_SysconfName__SC_NL_TEXTMAX
+	Mono_Posix_SysconfName__SC_NPROCESSORS_CONF                   = 0x00000053,
+	#define Mono_Posix_SysconfName__SC_NPROCESSORS_CONF             Mono_Posix_SysconfName__SC_NPROCESSORS_CONF
+	Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN                   = 0x00000054,
+	#define Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN             Mono_Posix_SysconfName__SC_NPROCESSORS_ONLN
+	Mono_Posix_SysconfName__SC_NZERO                              = 0x0000006d,
+	#define Mono_Posix_SysconfName__SC_NZERO                        Mono_Posix_SysconfName__SC_NZERO
+	Mono_Posix_SysconfName__SC_OPEN_MAX                           = 0x00000004,
+	#define Mono_Posix_SysconfName__SC_OPEN_MAX                     Mono_Posix_SysconfName__SC_OPEN_MAX
+	Mono_Posix_SysconfName__SC_PAGESIZE                           = 0x0000001e,
+	#define Mono_Posix_SysconfName__SC_PAGESIZE                     Mono_Posix_SysconfName__SC_PAGESIZE
+	Mono_Posix_SysconfName__SC_PASS_MAX                           = 0x00000058,
+	#define Mono_Posix_SysconfName__SC_PASS_MAX                     Mono_Posix_SysconfName__SC_PASS_MAX
+	Mono_Posix_SysconfName__SC_PHYS_PAGES                         = 0x00000055,
+	#define Mono_Posix_SysconfName__SC_PHYS_PAGES                   Mono_Posix_SysconfName__SC_PHYS_PAGES
+	Mono_Posix_SysconfName__SC_PII                                = 0x00000035,
+	#define Mono_Posix_SysconfName__SC_PII                          Mono_Posix_SysconfName__SC_PII
+	Mono_Posix_SysconfName__SC_PII_INTERNET                       = 0x00000038,
+	#define Mono_Posix_SysconfName__SC_PII_INTERNET                 Mono_Posix_SysconfName__SC_PII_INTERNET
+	Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM                 = 0x0000003e,
+	#define Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM           Mono_Posix_SysconfName__SC_PII_INTERNET_DGRAM
+	Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM                = 0x0000003d,
+	#define Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM          Mono_Posix_SysconfName__SC_PII_INTERNET_STREAM
+	Mono_Posix_SysconfName__SC_PII_OSI                            = 0x00000039,
+	#define Mono_Posix_SysconfName__SC_PII_OSI                      Mono_Posix_SysconfName__SC_PII_OSI
+	Mono_Posix_SysconfName__SC_PII_OSI_CLTS                       = 0x00000040,
+	#define Mono_Posix_SysconfName__SC_PII_OSI_CLTS                 Mono_Posix_SysconfName__SC_PII_OSI_CLTS
+	Mono_Posix_SysconfName__SC_PII_OSI_COTS                       = 0x0000003f,
+	#define Mono_Posix_SysconfName__SC_PII_OSI_COTS                 Mono_Posix_SysconfName__SC_PII_OSI_COTS
+	Mono_Posix_SysconfName__SC_PII_OSI_M                          = 0x00000041,
+	#define Mono_Posix_SysconfName__SC_PII_OSI_M                    Mono_Posix_SysconfName__SC_PII_OSI_M
+	Mono_Posix_SysconfName__SC_PII_SOCKET                         = 0x00000037,
+	#define Mono_Posix_SysconfName__SC_PII_SOCKET                   Mono_Posix_SysconfName__SC_PII_SOCKET
+	Mono_Posix_SysconfName__SC_PII_XTI                            = 0x00000036,
+	#define Mono_Posix_SysconfName__SC_PII_XTI                      Mono_Posix_SysconfName__SC_PII_XTI
+	Mono_Posix_SysconfName__SC_PIPE                               = 0x00000091,
+	#define Mono_Posix_SysconfName__SC_PIPE                         Mono_Posix_SysconfName__SC_PIPE
+	Mono_Posix_SysconfName__SC_POLL                               = 0x0000003a,
+	#define Mono_Posix_SysconfName__SC_POLL                         Mono_Posix_SysconfName__SC_POLL
+	Mono_Posix_SysconfName__SC_PRIORITIZED_IO                     = 0x0000000d,
+	#define Mono_Posix_SysconfName__SC_PRIORITIZED_IO               Mono_Posix_SysconfName__SC_PRIORITIZED_IO
+	Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING                = 0x0000000a,
+	#define Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING          Mono_Posix_SysconfName__SC_PRIORITY_SCHEDULING
+	Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS                = 0x00000099,
+	#define Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS          Mono_Posix_SysconfName__SC_READER_WRITER_LOCKS
+	Mono_Posix_SysconfName__SC_REALTIME_SIGNALS                   = 0x00000009,
+	#define Mono_Posix_SysconfName__SC_REALTIME_SIGNALS             Mono_Posix_SysconfName__SC_REALTIME_SIGNALS
+	Mono_Posix_SysconfName__SC_REGEXP                             = 0x0000009b,
+	#define Mono_Posix_SysconfName__SC_REGEXP                       Mono_Posix_SysconfName__SC_REGEXP
+	Mono_Posix_SysconfName__SC_REGEX_VERSION                      = 0x0000009c,
+	#define Mono_Posix_SysconfName__SC_REGEX_VERSION                Mono_Posix_SysconfName__SC_REGEX_VERSION
+	Mono_Posix_SysconfName__SC_RE_DUP_MAX                         = 0x0000002c,
+	#define Mono_Posix_SysconfName__SC_RE_DUP_MAX                   Mono_Posix_SysconfName__SC_RE_DUP_MAX
+	Mono_Posix_SysconfName__SC_RTSIG_MAX                          = 0x0000001f,
+	#define Mono_Posix_SysconfName__SC_RTSIG_MAX                    Mono_Posix_SysconfName__SC_RTSIG_MAX
+	Mono_Posix_SysconfName__SC_SAVED_IDS                          = 0x00000008,
+	#define Mono_Posix_SysconfName__SC_SAVED_IDS                    Mono_Posix_SysconfName__SC_SAVED_IDS
+	Mono_Posix_SysconfName__SC_SCHAR_MAX                          = 0x0000006f,
+	#define Mono_Posix_SysconfName__SC_SCHAR_MAX                    Mono_Posix_SysconfName__SC_SCHAR_MAX
+	Mono_Posix_SysconfName__SC_SCHAR_MIN                          = 0x00000070,
+	#define Mono_Posix_SysconfName__SC_SCHAR_MIN                    Mono_Posix_SysconfName__SC_SCHAR_MIN
+	Mono_Posix_SysconfName__SC_SELECT                             = 0x0000003b,
+	#define Mono_Posix_SysconfName__SC_SELECT                       Mono_Posix_SysconfName__SC_SELECT
+	Mono_Posix_SysconfName__SC_SEMAPHORES                         = 0x00000015,
+	#define Mono_Posix_SysconfName__SC_SEMAPHORES                   Mono_Posix_SysconfName__SC_SEMAPHORES
+	Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX                      = 0x00000020,
+	#define Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX                Mono_Posix_SysconfName__SC_SEM_NSEMS_MAX
+	Mono_Posix_SysconfName__SC_SEM_VALUE_MAX                      = 0x00000021,
+	#define Mono_Posix_SysconfName__SC_SEM_VALUE_MAX                Mono_Posix_SysconfName__SC_SEM_VALUE_MAX
+	Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS              = 0x00000016,
+	#define Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS        Mono_Posix_SysconfName__SC_SHARED_MEMORY_OBJECTS
+	Mono_Posix_SysconfName__SC_SHELL                              = 0x0000009d,
+	#define Mono_Posix_SysconfName__SC_SHELL                        Mono_Posix_SysconfName__SC_SHELL
+	Mono_Posix_SysconfName__SC_SHRT_MAX                           = 0x00000071,
+	#define Mono_Posix_SysconfName__SC_SHRT_MAX                     Mono_Posix_SysconfName__SC_SHRT_MAX
+	Mono_Posix_SysconfName__SC_SHRT_MIN                           = 0x00000072,
+	#define Mono_Posix_SysconfName__SC_SHRT_MIN                     Mono_Posix_SysconfName__SC_SHRT_MIN
+	Mono_Posix_SysconfName__SC_SIGNALS                            = 0x0000009e,
+	#define Mono_Posix_SysconfName__SC_SIGNALS                      Mono_Posix_SysconfName__SC_SIGNALS
+	Mono_Posix_SysconfName__SC_SIGQUEUE_MAX                       = 0x00000022,
+	#define Mono_Posix_SysconfName__SC_SIGQUEUE_MAX                 Mono_Posix_SysconfName__SC_SIGQUEUE_MAX
+	Mono_Posix_SysconfName__SC_SINGLE_PROCESS                     = 0x00000097,
+	#define Mono_Posix_SysconfName__SC_SINGLE_PROCESS               Mono_Posix_SysconfName__SC_SINGLE_PROCESS
+	Mono_Posix_SysconfName__SC_SPAWN                              = 0x0000009f,
+	#define Mono_Posix_SysconfName__SC_SPAWN                        Mono_Posix_SysconfName__SC_SPAWN
+	Mono_Posix_SysconfName__SC_SPIN_LOCKS                         = 0x0000009a,
+	#define Mono_Posix_SysconfName__SC_SPIN_LOCKS                   Mono_Posix_SysconfName__SC_SPIN_LOCKS
+	Mono_Posix_SysconfName__SC_SPORADIC_SERVER                    = 0x000000a0,
+	#define Mono_Posix_SysconfName__SC_SPORADIC_SERVER              Mono_Posix_SysconfName__SC_SPORADIC_SERVER
+	Mono_Posix_SysconfName__SC_SSIZE_MAX                          = 0x0000006e,
+	#define Mono_Posix_SysconfName__SC_SSIZE_MAX                    Mono_Posix_SysconfName__SC_SSIZE_MAX
+	Mono_Posix_SysconfName__SC_STREAMS                            = 0x000000ae,
+	#define Mono_Posix_SysconfName__SC_STREAMS                      Mono_Posix_SysconfName__SC_STREAMS
+	Mono_Posix_SysconfName__SC_STREAM_MAX                         = 0x00000005,
+	#define Mono_Posix_SysconfName__SC_STREAM_MAX                   Mono_Posix_SysconfName__SC_STREAM_MAX
+	Mono_Posix_SysconfName__SC_SYMLOOP_MAX                        = 0x000000ad,
+	#define Mono_Posix_SysconfName__SC_SYMLOOP_MAX                  Mono_Posix_SysconfName__SC_SYMLOOP_MAX
+	Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO                    = 0x0000000e,
+	#define Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO              Mono_Posix_SysconfName__SC_SYNCHRONIZED_IO
+	Mono_Posix_SysconfName__SC_SYSTEM_DATABASE                    = 0x000000a2,
+	#define Mono_Posix_SysconfName__SC_SYSTEM_DATABASE              Mono_Posix_SysconfName__SC_SYSTEM_DATABASE
+	Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R                  = 0x000000a3,
+	#define Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R            Mono_Posix_SysconfName__SC_SYSTEM_DATABASE_R
+	Mono_Posix_SysconfName__SC_THREADS                            = 0x00000043,
+	#define Mono_Posix_SysconfName__SC_THREADS                      Mono_Posix_SysconfName__SC_THREADS
+	Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR              = 0x0000004d,
+	#define Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR        Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKADDR
+	Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE              = 0x0000004e,
+	#define Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE        Mono_Posix_SysconfName__SC_THREAD_ATTR_STACKSIZE
+	Mono_Posix_SysconfName__SC_THREAD_CPUTIME                     = 0x0000008b,
+	#define Mono_Posix_SysconfName__SC_THREAD_CPUTIME               Mono_Posix_SysconfName__SC_THREAD_CPUTIME
+	Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS       = 0x00000049,
+	#define Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS Mono_Posix_SysconfName__SC_THREAD_DESTRUCTOR_ITERATIONS
+	Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX                    = 0x0000004a,
+	#define Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX              Mono_Posix_SysconfName__SC_THREAD_KEYS_MAX
+	Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING         = 0x0000004f,
+	#define Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING   Mono_Posix_SysconfName__SC_THREAD_PRIORITY_SCHEDULING
+	Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT                = 0x00000050,
+	#define Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT          Mono_Posix_SysconfName__SC_THREAD_PRIO_INHERIT
+	Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT                = 0x00000051,
+	#define Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT          Mono_Posix_SysconfName__SC_THREAD_PRIO_PROTECT
+	Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED              = 0x00000052,
+	#define Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED        Mono_Posix_SysconfName__SC_THREAD_PROCESS_SHARED
+	Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS              = 0x00000044,
+	#define Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS        Mono_Posix_SysconfName__SC_THREAD_SAFE_FUNCTIONS
+	Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER             = 0x000000a1,
+	#define Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER       Mono_Posix_SysconfName__SC_THREAD_SPORADIC_SERVER
+	Mono_Posix_SysconfName__SC_THREAD_STACK_MIN                   = 0x0000004b,
+	#define Mono_Posix_SysconfName__SC_THREAD_STACK_MIN             Mono_Posix_SysconfName__SC_THREAD_STACK_MIN
+	Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX                 = 0x0000004c,
+	#define Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX           Mono_Posix_SysconfName__SC_THREAD_THREADS_MAX
+	Mono_Posix_SysconfName__SC_TIMEOUTS                           = 0x000000a4,
+	#define Mono_Posix_SysconfName__SC_TIMEOUTS                     Mono_Posix_SysconfName__SC_TIMEOUTS
+	Mono_Posix_SysconfName__SC_TIMERS                             = 0x0000000b,
+	#define Mono_Posix_SysconfName__SC_TIMERS                       Mono_Posix_SysconfName__SC_TIMERS
+	Mono_Posix_SysconfName__SC_TIMER_MAX                          = 0x00000023,
+	#define Mono_Posix_SysconfName__SC_TIMER_MAX                    Mono_Posix_SysconfName__SC_TIMER_MAX
+	Mono_Posix_SysconfName__SC_TRACE                              = 0x000000b5,
+	#define Mono_Posix_SysconfName__SC_TRACE                        Mono_Posix_SysconfName__SC_TRACE
+	Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER                 = 0x000000b6,
+	#define Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER           Mono_Posix_SysconfName__SC_TRACE_EVENT_FILTER
+	Mono_Posix_SysconfName__SC_TRACE_INHERIT                      = 0x000000b7,
+	#define Mono_Posix_SysconfName__SC_TRACE_INHERIT                Mono_Posix_SysconfName__SC_TRACE_INHERIT
+	Mono_Posix_SysconfName__SC_TRACE_LOG                          = 0x000000b8,
+	#define Mono_Posix_SysconfName__SC_TRACE_LOG                    Mono_Posix_SysconfName__SC_TRACE_LOG
+	Mono_Posix_SysconfName__SC_TTY_NAME_MAX                       = 0x00000048,
+	#define Mono_Posix_SysconfName__SC_TTY_NAME_MAX                 Mono_Posix_SysconfName__SC_TTY_NAME_MAX
+	Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS               = 0x000000a5,
+	#define Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS         Mono_Posix_SysconfName__SC_TYPED_MEMORY_OBJECTS
+	Mono_Posix_SysconfName__SC_TZNAME_MAX                         = 0x00000006,
+	#define Mono_Posix_SysconfName__SC_TZNAME_MAX                   Mono_Posix_SysconfName__SC_TZNAME_MAX
+	Mono_Posix_SysconfName__SC_T_IOV_MAX                          = 0x00000042,
+	#define Mono_Posix_SysconfName__SC_T_IOV_MAX                    Mono_Posix_SysconfName__SC_T_IOV_MAX
+	Mono_Posix_SysconfName__SC_UCHAR_MAX                          = 0x00000073,
+	#define Mono_Posix_SysconfName__SC_UCHAR_MAX                    Mono_Posix_SysconfName__SC_UCHAR_MAX
+	Mono_Posix_SysconfName__SC_UINT_MAX                           = 0x00000074,
+	#define Mono_Posix_SysconfName__SC_UINT_MAX                     Mono_Posix_SysconfName__SC_UINT_MAX
+	Mono_Posix_SysconfName__SC_UIO_MAXIOV                         = 0x0000003c,
+	#define Mono_Posix_SysconfName__SC_UIO_MAXIOV                   Mono_Posix_SysconfName__SC_UIO_MAXIOV
+	Mono_Posix_SysconfName__SC_ULONG_MAX                          = 0x00000075,
+	#define Mono_Posix_SysconfName__SC_ULONG_MAX                    Mono_Posix_SysconfName__SC_ULONG_MAX
+	Mono_Posix_SysconfName__SC_USER_GROUPS                        = 0x000000a6,
+	#define Mono_Posix_SysconfName__SC_USER_GROUPS                  Mono_Posix_SysconfName__SC_USER_GROUPS
+	Mono_Posix_SysconfName__SC_USER_GROUPS_R                      = 0x000000a7,
+	#define Mono_Posix_SysconfName__SC_USER_GROUPS_R                Mono_Posix_SysconfName__SC_USER_GROUPS_R
+	Mono_Posix_SysconfName__SC_USHRT_MAX                          = 0x00000076,
+	#define Mono_Posix_SysconfName__SC_USHRT_MAX                    Mono_Posix_SysconfName__SC_USHRT_MAX
+	Mono_Posix_SysconfName__SC_V6_ILP32_OFF32                     = 0x000000b0,
+	#define Mono_Posix_SysconfName__SC_V6_ILP32_OFF32               Mono_Posix_SysconfName__SC_V6_ILP32_OFF32
+	Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG                    = 0x000000b1,
+	#define Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG              Mono_Posix_SysconfName__SC_V6_ILP32_OFFBIG
+	Mono_Posix_SysconfName__SC_V6_LP64_OFF64                      = 0x000000b2,
+	#define Mono_Posix_SysconfName__SC_V6_LP64_OFF64                Mono_Posix_SysconfName__SC_V6_LP64_OFF64
+	Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG                    = 0x000000b3,
+	#define Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG              Mono_Posix_SysconfName__SC_V6_LPBIG_OFFBIG
+	Mono_Posix_SysconfName__SC_VERSION                            = 0x0000001d,
+	#define Mono_Posix_SysconfName__SC_VERSION                      Mono_Posix_SysconfName__SC_VERSION
+	Mono_Posix_SysconfName__SC_WORD_BIT                           = 0x0000006b,
+	#define Mono_Posix_SysconfName__SC_WORD_BIT                     Mono_Posix_SysconfName__SC_WORD_BIT
+	Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32                   = 0x0000007d,
+	#define Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32             Mono_Posix_SysconfName__SC_XBS5_ILP32_OFF32
+	Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG                  = 0x0000007e,
+	#define Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG            Mono_Posix_SysconfName__SC_XBS5_ILP32_OFFBIG
+	Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64                    = 0x0000007f,
+	#define Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64              Mono_Posix_SysconfName__SC_XBS5_LP64_OFF64
+	Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG                  = 0x00000080,
+	#define Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG            Mono_Posix_SysconfName__SC_XBS5_LPBIG_OFFBIG
+	Mono_Posix_SysconfName__SC_XOPEN_CRYPT                        = 0x0000005c,
+	#define Mono_Posix_SysconfName__SC_XOPEN_CRYPT                  Mono_Posix_SysconfName__SC_XOPEN_CRYPT
+	Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N                     = 0x0000005d,
+	#define Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N               Mono_Posix_SysconfName__SC_XOPEN_ENH_I18N
+	Mono_Posix_SysconfName__SC_XOPEN_LEGACY                       = 0x00000081,
+	#define Mono_Posix_SysconfName__SC_XOPEN_LEGACY                 Mono_Posix_SysconfName__SC_XOPEN_LEGACY
+	Mono_Posix_SysconfName__SC_XOPEN_REALTIME                     = 0x00000082,
+	#define Mono_Posix_SysconfName__SC_XOPEN_REALTIME               Mono_Posix_SysconfName__SC_XOPEN_REALTIME
+	Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS             = 0x00000083,
+	#define Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS       Mono_Posix_SysconfName__SC_XOPEN_REALTIME_THREADS
+	Mono_Posix_SysconfName__SC_XOPEN_SHM                          = 0x0000005e,
+	#define Mono_Posix_SysconfName__SC_XOPEN_SHM                    Mono_Posix_SysconfName__SC_XOPEN_SHM
+	Mono_Posix_SysconfName__SC_XOPEN_UNIX                         = 0x0000005b,
+	#define Mono_Posix_SysconfName__SC_XOPEN_UNIX                   Mono_Posix_SysconfName__SC_XOPEN_UNIX
+	Mono_Posix_SysconfName__SC_XOPEN_VERSION                      = 0x00000059,
+	#define Mono_Posix_SysconfName__SC_XOPEN_VERSION                Mono_Posix_SysconfName__SC_XOPEN_VERSION
+	Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION                  = 0x0000005a,
+	#define Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION            Mono_Posix_SysconfName__SC_XOPEN_XCU_VERSION
+	Mono_Posix_SysconfName__SC_XOPEN_XPG2                         = 0x00000062,
+	#define Mono_Posix_SysconfName__SC_XOPEN_XPG2                   Mono_Posix_SysconfName__SC_XOPEN_XPG2
+	Mono_Posix_SysconfName__SC_XOPEN_XPG3                         = 0x00000063,
+	#define Mono_Posix_SysconfName__SC_XOPEN_XPG3                   Mono_Posix_SysconfName__SC_XOPEN_XPG3
+	Mono_Posix_SysconfName__SC_XOPEN_XPG4                         = 0x00000064,
+	#define Mono_Posix_SysconfName__SC_XOPEN_XPG4                   Mono_Posix_SysconfName__SC_XOPEN_XPG4
+};
 int Mono_Posix_FromSysconfName (int x, int *r);
 int Mono_Posix_ToSysconfName (int x, int *r);
 
-#define Mono_Posix_SyslogFacility_LOG_AUTH 0x00000020
-#define Mono_Posix_SyslogFacility_LOG_AUTHPRIV 0x00000050
-#define Mono_Posix_SyslogFacility_LOG_CRON 0x00000048
-#define Mono_Posix_SyslogFacility_LOG_DAEMON 0x00000018
-#define Mono_Posix_SyslogFacility_LOG_FTP 0x00000058
-#define Mono_Posix_SyslogFacility_LOG_KERN 0x00000000
-#define Mono_Posix_SyslogFacility_LOG_LOCAL0 0x00000080
-#define Mono_Posix_SyslogFacility_LOG_LOCAL1 0x00000088
-#define Mono_Posix_SyslogFacility_LOG_LOCAL2 0x00000090
-#define Mono_Posix_SyslogFacility_LOG_LOCAL3 0x00000098
-#define Mono_Posix_SyslogFacility_LOG_LOCAL4 0x000000a0
-#define Mono_Posix_SyslogFacility_LOG_LOCAL5 0x000000a8
-#define Mono_Posix_SyslogFacility_LOG_LOCAL6 0x000000b0
-#define Mono_Posix_SyslogFacility_LOG_LOCAL7 0x000000b8
-#define Mono_Posix_SyslogFacility_LOG_LPR 0x00000030
-#define Mono_Posix_SyslogFacility_LOG_MAIL 0x00000010
-#define Mono_Posix_SyslogFacility_LOG_NEWS 0x00000038
-#define Mono_Posix_SyslogFacility_LOG_SYSLOG 0x00000028
-#define Mono_Posix_SyslogFacility_LOG_USER 0x00000008
-#define Mono_Posix_SyslogFacility_LOG_UUCP 0x00000040
+enum Mono_Posix_SyslogFacility {
+	Mono_Posix_SyslogFacility_LOG_AUTH           = 0x00000020,
+	#define Mono_Posix_SyslogFacility_LOG_AUTH     Mono_Posix_SyslogFacility_LOG_AUTH
+	Mono_Posix_SyslogFacility_LOG_AUTHPRIV       = 0x00000050,
+	#define Mono_Posix_SyslogFacility_LOG_AUTHPRIV Mono_Posix_SyslogFacility_LOG_AUTHPRIV
+	Mono_Posix_SyslogFacility_LOG_CRON           = 0x00000048,
+	#define Mono_Posix_SyslogFacility_LOG_CRON     Mono_Posix_SyslogFacility_LOG_CRON
+	Mono_Posix_SyslogFacility_LOG_DAEMON         = 0x00000018,
+	#define Mono_Posix_SyslogFacility_LOG_DAEMON   Mono_Posix_SyslogFacility_LOG_DAEMON
+	Mono_Posix_SyslogFacility_LOG_FTP            = 0x00000058,
+	#define Mono_Posix_SyslogFacility_LOG_FTP      Mono_Posix_SyslogFacility_LOG_FTP
+	Mono_Posix_SyslogFacility_LOG_KERN           = 0x00000000,
+	#define Mono_Posix_SyslogFacility_LOG_KERN     Mono_Posix_SyslogFacility_LOG_KERN
+	Mono_Posix_SyslogFacility_LOG_LOCAL0         = 0x00000080,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL0   Mono_Posix_SyslogFacility_LOG_LOCAL0
+	Mono_Posix_SyslogFacility_LOG_LOCAL1         = 0x00000088,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL1   Mono_Posix_SyslogFacility_LOG_LOCAL1
+	Mono_Posix_SyslogFacility_LOG_LOCAL2         = 0x00000090,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL2   Mono_Posix_SyslogFacility_LOG_LOCAL2
+	Mono_Posix_SyslogFacility_LOG_LOCAL3         = 0x00000098,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL3   Mono_Posix_SyslogFacility_LOG_LOCAL3
+	Mono_Posix_SyslogFacility_LOG_LOCAL4         = 0x000000a0,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL4   Mono_Posix_SyslogFacility_LOG_LOCAL4
+	Mono_Posix_SyslogFacility_LOG_LOCAL5         = 0x000000a8,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL5   Mono_Posix_SyslogFacility_LOG_LOCAL5
+	Mono_Posix_SyslogFacility_LOG_LOCAL6         = 0x000000b0,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL6   Mono_Posix_SyslogFacility_LOG_LOCAL6
+	Mono_Posix_SyslogFacility_LOG_LOCAL7         = 0x000000b8,
+	#define Mono_Posix_SyslogFacility_LOG_LOCAL7   Mono_Posix_SyslogFacility_LOG_LOCAL7
+	Mono_Posix_SyslogFacility_LOG_LPR            = 0x00000030,
+	#define Mono_Posix_SyslogFacility_LOG_LPR      Mono_Posix_SyslogFacility_LOG_LPR
+	Mono_Posix_SyslogFacility_LOG_MAIL           = 0x00000010,
+	#define Mono_Posix_SyslogFacility_LOG_MAIL     Mono_Posix_SyslogFacility_LOG_MAIL
+	Mono_Posix_SyslogFacility_LOG_NEWS           = 0x00000038,
+	#define Mono_Posix_SyslogFacility_LOG_NEWS     Mono_Posix_SyslogFacility_LOG_NEWS
+	Mono_Posix_SyslogFacility_LOG_SYSLOG         = 0x00000028,
+	#define Mono_Posix_SyslogFacility_LOG_SYSLOG   Mono_Posix_SyslogFacility_LOG_SYSLOG
+	Mono_Posix_SyslogFacility_LOG_USER           = 0x00000008,
+	#define Mono_Posix_SyslogFacility_LOG_USER     Mono_Posix_SyslogFacility_LOG_USER
+	Mono_Posix_SyslogFacility_LOG_UUCP           = 0x00000040,
+	#define Mono_Posix_SyslogFacility_LOG_UUCP     Mono_Posix_SyslogFacility_LOG_UUCP
+};
 int Mono_Posix_FromSyslogFacility (int x, int *r);
 int Mono_Posix_ToSyslogFacility (int x, int *r);
 
-#define Mono_Posix_SyslogLevel_LOG_ALERT 0x00000001
-#define Mono_Posix_SyslogLevel_LOG_CRIT 0x00000002
-#define Mono_Posix_SyslogLevel_LOG_DEBUG 0x00000007
-#define Mono_Posix_SyslogLevel_LOG_EMERG 0x00000000
-#define Mono_Posix_SyslogLevel_LOG_ERR 0x00000003
-#define Mono_Posix_SyslogLevel_LOG_INFO 0x00000006
-#define Mono_Posix_SyslogLevel_LOG_NOTICE 0x00000005
-#define Mono_Posix_SyslogLevel_LOG_WARNING 0x00000004
+enum Mono_Posix_SyslogLevel {
+	Mono_Posix_SyslogLevel_LOG_ALERT         = 0x00000001,
+	#define Mono_Posix_SyslogLevel_LOG_ALERT   Mono_Posix_SyslogLevel_LOG_ALERT
+	Mono_Posix_SyslogLevel_LOG_CRIT          = 0x00000002,
+	#define Mono_Posix_SyslogLevel_LOG_CRIT    Mono_Posix_SyslogLevel_LOG_CRIT
+	Mono_Posix_SyslogLevel_LOG_DEBUG         = 0x00000007,
+	#define Mono_Posix_SyslogLevel_LOG_DEBUG   Mono_Posix_SyslogLevel_LOG_DEBUG
+	Mono_Posix_SyslogLevel_LOG_EMERG         = 0x00000000,
+	#define Mono_Posix_SyslogLevel_LOG_EMERG   Mono_Posix_SyslogLevel_LOG_EMERG
+	Mono_Posix_SyslogLevel_LOG_ERR           = 0x00000003,
+	#define Mono_Posix_SyslogLevel_LOG_ERR     Mono_Posix_SyslogLevel_LOG_ERR
+	Mono_Posix_SyslogLevel_LOG_INFO          = 0x00000006,
+	#define Mono_Posix_SyslogLevel_LOG_INFO    Mono_Posix_SyslogLevel_LOG_INFO
+	Mono_Posix_SyslogLevel_LOG_NOTICE        = 0x00000005,
+	#define Mono_Posix_SyslogLevel_LOG_NOTICE  Mono_Posix_SyslogLevel_LOG_NOTICE
+	Mono_Posix_SyslogLevel_LOG_WARNING       = 0x00000004,
+	#define Mono_Posix_SyslogLevel_LOG_WARNING Mono_Posix_SyslogLevel_LOG_WARNING
+};
 int Mono_Posix_FromSyslogLevel (int x, int *r);
 int Mono_Posix_ToSyslogLevel (int x, int *r);
 
-#define Mono_Posix_SyslogOptions_LOG_CONS 0x00000002
-#define Mono_Posix_SyslogOptions_LOG_NDELAY 0x00000008
-#define Mono_Posix_SyslogOptions_LOG_NOWAIT 0x00000010
-#define Mono_Posix_SyslogOptions_LOG_ODELAY 0x00000004
-#define Mono_Posix_SyslogOptions_LOG_PERROR 0x00000020
-#define Mono_Posix_SyslogOptions_LOG_PID 0x00000001
+enum Mono_Posix_SyslogOptions {
+	Mono_Posix_SyslogOptions_LOG_CONS         = 0x00000002,
+	#define Mono_Posix_SyslogOptions_LOG_CONS   Mono_Posix_SyslogOptions_LOG_CONS
+	Mono_Posix_SyslogOptions_LOG_NDELAY       = 0x00000008,
+	#define Mono_Posix_SyslogOptions_LOG_NDELAY Mono_Posix_SyslogOptions_LOG_NDELAY
+	Mono_Posix_SyslogOptions_LOG_NOWAIT       = 0x00000010,
+	#define Mono_Posix_SyslogOptions_LOG_NOWAIT Mono_Posix_SyslogOptions_LOG_NOWAIT
+	Mono_Posix_SyslogOptions_LOG_ODELAY       = 0x00000004,
+	#define Mono_Posix_SyslogOptions_LOG_ODELAY Mono_Posix_SyslogOptions_LOG_ODELAY
+	Mono_Posix_SyslogOptions_LOG_PERROR       = 0x00000020,
+	#define Mono_Posix_SyslogOptions_LOG_PERROR Mono_Posix_SyslogOptions_LOG_PERROR
+	Mono_Posix_SyslogOptions_LOG_PID          = 0x00000001,
+	#define Mono_Posix_SyslogOptions_LOG_PID    Mono_Posix_SyslogOptions_LOG_PID
+};
 int Mono_Posix_FromSyslogOptions (int x, int *r);
 int Mono_Posix_ToSyslogOptions (int x, int *r);
 
-#define Mono_Posix_WaitOptions_WNOHANG 0x00000001
-#define Mono_Posix_WaitOptions_WUNTRACED 0x00000002
+enum Mono_Posix_WaitOptions {
+	Mono_Posix_WaitOptions_WNOHANG         = 0x00000001,
+	#define Mono_Posix_WaitOptions_WNOHANG   Mono_Posix_WaitOptions_WNOHANG
+	Mono_Posix_WaitOptions_WUNTRACED       = 0x00000002,
+	#define Mono_Posix_WaitOptions_WUNTRACED Mono_Posix_WaitOptions_WUNTRACED
+};
 int Mono_Posix_FromWaitOptions (int x, int *r);
 int Mono_Posix_ToWaitOptions (int x, int *r);
 
-#define Mono_Posix_XattrFlags_XATTR_AUTO 0x00000000
-#define Mono_Posix_XattrFlags_XATTR_CREATE 0x00000001
-#define Mono_Posix_XattrFlags_XATTR_REPLACE 0x00000002
+enum Mono_Posix_XattrFlags {
+	Mono_Posix_XattrFlags_XATTR_AUTO          = 0x00000000,
+	#define Mono_Posix_XattrFlags_XATTR_AUTO    Mono_Posix_XattrFlags_XATTR_AUTO
+	Mono_Posix_XattrFlags_XATTR_CREATE        = 0x00000001,
+	#define Mono_Posix_XattrFlags_XATTR_CREATE  Mono_Posix_XattrFlags_XATTR_CREATE
+	Mono_Posix_XattrFlags_XATTR_REPLACE       = 0x00000002,
+	#define Mono_Posix_XattrFlags_XATTR_REPLACE Mono_Posix_XattrFlags_XATTR_REPLACE
+};
 int Mono_Posix_FromXattrFlags (int x, int *r);
 int Mono_Posix_ToXattrFlags (int x, int *r);
 
-#define Mono_Posix_PathConf__PC_2_SYMLINKS 0x00000014
-#define Mono_Posix_PathConf__PC_ALLOC_SIZE_MIN 0x00000012
-#define Mono_Posix_PathConf__PC_ASYNC_IO 0x0000000a
-#define Mono_Posix_PathConf__PC_CHOWN_RESTRICTED 0x00000006
-#define Mono_Posix_PathConf__PC_FILESIZEBITS 0x0000000d
-#define Mono_Posix_PathConf__PC_LINK_MAX 0x00000000
-#define Mono_Posix_PathConf__PC_MAX_CANON 0x00000001
-#define Mono_Posix_PathConf__PC_MAX_INPUT 0x00000002
-#define Mono_Posix_PathConf__PC_NAME_MAX 0x00000003
-#define Mono_Posix_PathConf__PC_NO_TRUNC 0x00000007
-#define Mono_Posix_PathConf__PC_PATH_MAX 0x00000004
-#define Mono_Posix_PathConf__PC_PIPE_BUF 0x00000005
-#define Mono_Posix_PathConf__PC_PRIO_IO 0x0000000b
-#define Mono_Posix_PathConf__PC_REC_INCR_XFER_SIZE 0x0000000e
-#define Mono_Posix_PathConf__PC_REC_MAX_XFER_SIZE 0x0000000f
-#define Mono_Posix_PathConf__PC_REC_MIN_XFER_SIZE 0x00000010
-#define Mono_Posix_PathConf__PC_REC_XFER_ALIGN 0x00000011
-#define Mono_Posix_PathConf__PC_SOCK_MAXBUF 0x0000000c
-#define Mono_Posix_PathConf__PC_SYMLINK_MAX 0x00000013
-#define Mono_Posix_PathConf__PC_SYNC_IO 0x00000009
-#define Mono_Posix_PathConf__PC_VDISABLE 0x00000008
-int Mono_Posix_FromPathConf (int x, int *r);
-int Mono_Posix_ToPathConf (int x, int *r);
-
-#define Mono_Posix_SysConf__SC_2_CHAR_TERM 0x0000005f
-#define Mono_Posix_SysConf__SC_2_C_BIND 0x0000002f
-#define Mono_Posix_SysConf__SC_2_C_DEV 0x00000030
-#define Mono_Posix_SysConf__SC_2_C_VERSION 0x00000060
-#define Mono_Posix_SysConf__SC_2_FORT_DEV 0x00000031
-#define Mono_Posix_SysConf__SC_2_FORT_RUN 0x00000032
-#define Mono_Posix_SysConf__SC_2_LOCALEDEF 0x00000034
-#define Mono_Posix_SysConf__SC_2_PBS 0x000000a8
-#define Mono_Posix_SysConf__SC_2_PBS_ACCOUNTING 0x000000a9
-#define Mono_Posix_SysConf__SC_2_PBS_CHECKPOINT 0x000000af
-#define Mono_Posix_SysConf__SC_2_PBS_LOCATE 0x000000aa
-#define Mono_Posix_SysConf__SC_2_PBS_MESSAGE 0x000000ab
-#define Mono_Posix_SysConf__SC_2_PBS_TRACK 0x000000ac
-#define Mono_Posix_SysConf__SC_2_SW_DEV 0x00000033
-#define Mono_Posix_SysConf__SC_2_UPE 0x00000061
-#define Mono_Posix_SysConf__SC_2_VERSION 0x0000002e
-#define Mono_Posix_SysConf__SC_ADVISORY_INFO 0x00000084
-#define Mono_Posix_SysConf__SC_AIO_LISTIO_MAX 0x00000017
-#define Mono_Posix_SysConf__SC_AIO_MAX 0x00000018
-#define Mono_Posix_SysConf__SC_AIO_PRIO_DELTA_MAX 0x00000019
-#define Mono_Posix_SysConf__SC_ARG_MAX 0x00000000
-#define Mono_Posix_SysConf__SC_ASYNCHRONOUS_IO 0x0000000c
-#define Mono_Posix_SysConf__SC_ATEXIT_MAX 0x00000057
-#define Mono_Posix_SysConf__SC_AVPHYS_PAGES 0x00000056
-#define Mono_Posix_SysConf__SC_BARRIERS 0x00000085
-#define Mono_Posix_SysConf__SC_BASE 0x00000086
-#define Mono_Posix_SysConf__SC_BC_BASE_MAX 0x00000024
-#define Mono_Posix_SysConf__SC_BC_DIM_MAX 0x00000025
-#define Mono_Posix_SysConf__SC_BC_SCALE_MAX 0x00000026
-#define Mono_Posix_SysConf__SC_BC_STRING_MAX 0x00000027
-#define Mono_Posix_SysConf__SC_CHARCLASS_NAME_MAX 0x0000002d
-#define Mono_Posix_SysConf__SC_CHAR_BIT 0x00000065
-#define Mono_Posix_SysConf__SC_CHAR_MAX 0x00000066
-#define Mono_Posix_SysConf__SC_CHAR_MIN 0x00000067
-#define Mono_Posix_SysConf__SC_CHILD_MAX 0x00000001
-#define Mono_Posix_SysConf__SC_CLK_TCK 0x00000002
-#define Mono_Posix_SysConf__SC_CLOCK_SELECTION 0x00000089
-#define Mono_Posix_SysConf__SC_COLL_WEIGHTS_MAX 0x00000028
-#define Mono_Posix_SysConf__SC_CPUTIME 0x0000008a
-#define Mono_Posix_SysConf__SC_C_LANG_SUPPORT 0x00000087
-#define Mono_Posix_SysConf__SC_C_LANG_SUPPORT_R 0x00000088
-#define Mono_Posix_SysConf__SC_DELAYTIMER_MAX 0x0000001a
-#define Mono_Posix_SysConf__SC_DEVICE_IO 0x0000008c
-#define Mono_Posix_SysConf__SC_DEVICE_SPECIFIC 0x0000008d
-#define Mono_Posix_SysConf__SC_DEVICE_SPECIFIC_R 0x0000008e
-#define Mono_Posix_SysConf__SC_EQUIV_CLASS_MAX 0x00000029
-#define Mono_Posix_SysConf__SC_EXPR_NEST_MAX 0x0000002a
-#define Mono_Posix_SysConf__SC_FD_MGMT 0x0000008f
-#define Mono_Posix_SysConf__SC_FIFO 0x00000090
-#define Mono_Posix_SysConf__SC_FILE_ATTRIBUTES 0x00000092
-#define Mono_Posix_SysConf__SC_FILE_LOCKING 0x00000093
-#define Mono_Posix_SysConf__SC_FILE_SYSTEM 0x00000094
-#define Mono_Posix_SysConf__SC_FSYNC 0x0000000f
-#define Mono_Posix_SysConf__SC_GETGR_R_SIZE_MAX 0x00000045
-#define Mono_Posix_SysConf__SC_GETPW_R_SIZE_MAX 0x00000046
-#define Mono_Posix_SysConf__SC_HOST_NAME_MAX 0x000000b4
-#define Mono_Posix_SysConf__SC_INT_MAX 0x00000068
-#define Mono_Posix_SysConf__SC_INT_MIN 0x00000069
-#define Mono_Posix_SysConf__SC_IOV_MAX 0x0000003c
-#define Mono_Posix_SysConf__SC_JOB_CONTROL 0x00000007
-#define Mono_Posix_SysConf__SC_LEVEL1_DCACHE_ASSOC 0x000000bd
-#define Mono_Posix_SysConf__SC_LEVEL1_DCACHE_LINESIZE 0x000000be
-#define Mono_Posix_SysConf__SC_LEVEL1_DCACHE_SIZE 0x000000bc
-#define Mono_Posix_SysConf__SC_LEVEL1_ICACHE_ASSOC 0x000000ba
-#define Mono_Posix_SysConf__SC_LEVEL1_ICACHE_LINESIZE 0x000000bb
-#define Mono_Posix_SysConf__SC_LEVEL1_ICACHE_SIZE 0x000000b9
-#define Mono_Posix_SysConf__SC_LEVEL2_CACHE_ASSOC 0x000000c0
-#define Mono_Posix_SysConf__SC_LEVEL2_CACHE_LINESIZE 0x000000c1
-#define Mono_Posix_SysConf__SC_LEVEL2_CACHE_SIZE 0x000000bf
-#define Mono_Posix_SysConf__SC_LEVEL3_CACHE_ASSOC 0x000000c3
-#define Mono_Posix_SysConf__SC_LEVEL3_CACHE_LINESIZE 0x000000c4
-#define Mono_Posix_SysConf__SC_LEVEL3_CACHE_SIZE 0x000000c2
-#define Mono_Posix_SysConf__SC_LEVEL4_CACHE_ASSOC 0x000000c6
-#define Mono_Posix_SysConf__SC_LEVEL4_CACHE_LINESIZE 0x000000c7
-#define Mono_Posix_SysConf__SC_LEVEL4_CACHE_SIZE 0x000000c5
-#define Mono_Posix_SysConf__SC_LINE_MAX 0x0000002b
-#define Mono_Posix_SysConf__SC_LOGIN_NAME_MAX 0x00000047
-#define Mono_Posix_SysConf__SC_LONG_BIT 0x0000006a
-#define Mono_Posix_SysConf__SC_MAPPED_FILES 0x00000010
-#define Mono_Posix_SysConf__SC_MB_LEN_MAX 0x0000006c
-#define Mono_Posix_SysConf__SC_MEMLOCK 0x00000011
-#define Mono_Posix_SysConf__SC_MEMLOCK_RANGE 0x00000012
-#define Mono_Posix_SysConf__SC_MEMORY_PROTECTION 0x00000013
-#define Mono_Posix_SysConf__SC_MESSAGE_PASSING 0x00000014
-#define Mono_Posix_SysConf__SC_MONOTONIC_CLOCK 0x00000095
-#define Mono_Posix_SysConf__SC_MQ_OPEN_MAX 0x0000001b
-#define Mono_Posix_SysConf__SC_MQ_PRIO_MAX 0x0000001c
-#define Mono_Posix_SysConf__SC_MULTI_PROCESS 0x00000096
-#define Mono_Posix_SysConf__SC_NETWORKING 0x00000098
-#define Mono_Posix_SysConf__SC_NGROUPS_MAX 0x00000003
-#define Mono_Posix_SysConf__SC_NL_ARGMAX 0x00000077
-#define Mono_Posix_SysConf__SC_NL_LANGMAX 0x00000078
-#define Mono_Posix_SysConf__SC_NL_MSGMAX 0x00000079
-#define Mono_Posix_SysConf__SC_NL_NMAX 0x0000007a
-#define Mono_Posix_SysConf__SC_NL_SETMAX 0x0000007b
-#define Mono_Posix_SysConf__SC_NL_TEXTMAX 0x0000007c
-#define Mono_Posix_SysConf__SC_NPROCESSORS_CONF 0x00000053
-#define Mono_Posix_SysConf__SC_NPROCESSORS_ONLN 0x00000054
-#define Mono_Posix_SysConf__SC_NZERO 0x0000006d
-#define Mono_Posix_SysConf__SC_OPEN_MAX 0x00000004
-#define Mono_Posix_SysConf__SC_PAGESIZE 0x0000001e
-#define Mono_Posix_SysConf__SC_PASS_MAX 0x00000058
-#define Mono_Posix_SysConf__SC_PHYS_PAGES 0x00000055
-#define Mono_Posix_SysConf__SC_PII 0x00000035
-#define Mono_Posix_SysConf__SC_PII_INTERNET 0x00000038
-#define Mono_Posix_SysConf__SC_PII_INTERNET_DGRAM 0x0000003e
-#define Mono_Posix_SysConf__SC_PII_INTERNET_STREAM 0x0000003d
-#define Mono_Posix_SysConf__SC_PII_OSI 0x00000039
-#define Mono_Posix_SysConf__SC_PII_OSI_CLTS 0x00000040
-#define Mono_Posix_SysConf__SC_PII_OSI_COTS 0x0000003f
-#define Mono_Posix_SysConf__SC_PII_OSI_M 0x00000041
-#define Mono_Posix_SysConf__SC_PII_SOCKET 0x00000037
-#define Mono_Posix_SysConf__SC_PII_XTI 0x00000036
-#define Mono_Posix_SysConf__SC_PIPE 0x00000091
-#define Mono_Posix_SysConf__SC_POLL 0x0000003a
-#define Mono_Posix_SysConf__SC_PRIORITIZED_IO 0x0000000d
-#define Mono_Posix_SysConf__SC_PRIORITY_SCHEDULING 0x0000000a
-#define Mono_Posix_SysConf__SC_READER_WRITER_LOCKS 0x00000099
-#define Mono_Posix_SysConf__SC_REALTIME_SIGNALS 0x00000009
-#define Mono_Posix_SysConf__SC_REGEXP 0x0000009b
-#define Mono_Posix_SysConf__SC_REGEX_VERSION 0x0000009c
-#define Mono_Posix_SysConf__SC_RE_DUP_MAX 0x0000002c
-#define Mono_Posix_SysConf__SC_RTSIG_MAX 0x0000001f
-#define Mono_Posix_SysConf__SC_SAVED_IDS 0x00000008
-#define Mono_Posix_SysConf__SC_SCHAR_MAX 0x0000006f
-#define Mono_Posix_SysConf__SC_SCHAR_MIN 0x00000070
-#define Mono_Posix_SysConf__SC_SELECT 0x0000003b
-#define Mono_Posix_SysConf__SC_SEMAPHORES 0x00000015
-#define Mono_Posix_SysConf__SC_SEM_NSEMS_MAX 0x00000020
-#define Mono_Posix_SysConf__SC_SEM_VALUE_MAX 0x00000021
-#define Mono_Posix_SysConf__SC_SHARED_MEMORY_OBJECTS 0x00000016
-#define Mono_Posix_SysConf__SC_SHELL 0x0000009d
-#define Mono_Posix_SysConf__SC_SHRT_MAX 0x00000071
-#define Mono_Posix_SysConf__SC_SHRT_MIN 0x00000072
-#define Mono_Posix_SysConf__SC_SIGNALS 0x0000009e
-#define Mono_Posix_SysConf__SC_SIGQUEUE_MAX 0x00000022
-#define Mono_Posix_SysConf__SC_SINGLE_PROCESS 0x00000097
-#define Mono_Posix_SysConf__SC_SPAWN 0x0000009f
-#define Mono_Posix_SysConf__SC_SPIN_LOCKS 0x0000009a
-#define Mono_Posix_SysConf__SC_SPORADIC_SERVER 0x000000a0
-#define Mono_Posix_SysConf__SC_SSIZE_MAX 0x0000006e
-#define Mono_Posix_SysConf__SC_STREAMS 0x000000ae
-#define Mono_Posix_SysConf__SC_STREAM_MAX 0x00000005
-#define Mono_Posix_SysConf__SC_SYMLOOP_MAX 0x000000ad
-#define Mono_Posix_SysConf__SC_SYNCHRONIZED_IO 0x0000000e
-#define Mono_Posix_SysConf__SC_SYSTEM_DATABASE 0x000000a2
-#define Mono_Posix_SysConf__SC_SYSTEM_DATABASE_R 0x000000a3
-#define Mono_Posix_SysConf__SC_THREADS 0x00000043
-#define Mono_Posix_SysConf__SC_THREAD_ATTR_STACKADDR 0x0000004d
-#define Mono_Posix_SysConf__SC_THREAD_ATTR_STACKSIZE 0x0000004e
-#define Mono_Posix_SysConf__SC_THREAD_CPUTIME 0x0000008b
-#define Mono_Posix_SysConf__SC_THREAD_DESTRUCTOR_ITERATIONS 0x00000049
-#define Mono_Posix_SysConf__SC_THREAD_KEYS_MAX 0x0000004a
-#define Mono_Posix_SysConf__SC_THREAD_PRIORITY_SCHEDULING 0x0000004f
-#define Mono_Posix_SysConf__SC_THREAD_PRIO_INHERIT 0x00000050
-#define Mono_Posix_SysConf__SC_THREAD_PRIO_PROTECT 0x00000051
-#define Mono_Posix_SysConf__SC_THREAD_PROCESS_SHARED 0x00000052
-#define Mono_Posix_SysConf__SC_THREAD_SAFE_FUNCTIONS 0x00000044
-#define Mono_Posix_SysConf__SC_THREAD_SPORADIC_SERVER 0x000000a1
-#define Mono_Posix_SysConf__SC_THREAD_STACK_MIN 0x0000004b
-#define Mono_Posix_SysConf__SC_THREAD_THREADS_MAX 0x0000004c
-#define Mono_Posix_SysConf__SC_TIMEOUTS 0x000000a4
-#define Mono_Posix_SysConf__SC_TIMERS 0x0000000b
-#define Mono_Posix_SysConf__SC_TIMER_MAX 0x00000023
-#define Mono_Posix_SysConf__SC_TRACE 0x000000b5
-#define Mono_Posix_SysConf__SC_TRACE_EVENT_FILTER 0x000000b6
-#define Mono_Posix_SysConf__SC_TRACE_INHERIT 0x000000b7
-#define Mono_Posix_SysConf__SC_TRACE_LOG 0x000000b8
-#define Mono_Posix_SysConf__SC_TTY_NAME_MAX 0x00000048
-#define Mono_Posix_SysConf__SC_TYPED_MEMORY_OBJECTS 0x000000a5
-#define Mono_Posix_SysConf__SC_TZNAME_MAX 0x00000006
-#define Mono_Posix_SysConf__SC_T_IOV_MAX 0x00000042
-#define Mono_Posix_SysConf__SC_UCHAR_MAX 0x00000073
-#define Mono_Posix_SysConf__SC_UINT_MAX 0x00000074
-#define Mono_Posix_SysConf__SC_UIO_MAXIOV 0x0000003c
-#define Mono_Posix_SysConf__SC_ULONG_MAX 0x00000075
-#define Mono_Posix_SysConf__SC_USER_GROUPS 0x000000a6
-#define Mono_Posix_SysConf__SC_USER_GROUPS_R 0x000000a7
-#define Mono_Posix_SysConf__SC_USHRT_MAX 0x00000076
-#define Mono_Posix_SysConf__SC_V6_ILP32_OFF32 0x000000b0
-#define Mono_Posix_SysConf__SC_V6_ILP32_OFFBIG 0x000000b1
-#define Mono_Posix_SysConf__SC_V6_LP64_OFF64 0x000000b2
-#define Mono_Posix_SysConf__SC_V6_LPBIG_OFFBIG 0x000000b3
-#define Mono_Posix_SysConf__SC_VERSION 0x0000001d
-#define Mono_Posix_SysConf__SC_WORD_BIT 0x0000006b
-#define Mono_Posix_SysConf__SC_XBS5_ILP32_OFF32 0x0000007d
-#define Mono_Posix_SysConf__SC_XBS5_ILP32_OFFBIG 0x0000007e
-#define Mono_Posix_SysConf__SC_XBS5_LP64_OFF64 0x0000007f
-#define Mono_Posix_SysConf__SC_XBS5_LPBIG_OFFBIG 0x00000080
-#define Mono_Posix_SysConf__SC_XOPEN_CRYPT 0x0000005c
-#define Mono_Posix_SysConf__SC_XOPEN_ENH_I18N 0x0000005d
-#define Mono_Posix_SysConf__SC_XOPEN_LEGACY 0x00000081
-#define Mono_Posix_SysConf__SC_XOPEN_REALTIME 0x00000082
-#define Mono_Posix_SysConf__SC_XOPEN_REALTIME_THREADS 0x00000083
-#define Mono_Posix_SysConf__SC_XOPEN_SHM 0x0000005e
-#define Mono_Posix_SysConf__SC_XOPEN_UNIX 0x0000005b
-#define Mono_Posix_SysConf__SC_XOPEN_VERSION 0x00000059
-#define Mono_Posix_SysConf__SC_XOPEN_XCU_VERSION 0x0000005a
-#define Mono_Posix_SysConf__SC_XOPEN_XPG2 0x00000062
-#define Mono_Posix_SysConf__SC_XOPEN_XPG3 0x00000063
-#define Mono_Posix_SysConf__SC_XOPEN_XPG4 0x00000064
-int Mono_Posix_FromSysConf (int x, int *r);
-int Mono_Posix_ToSysConf (int x, int *r);
+
+/*
+ * Managed Structure Declarations
+ */
+
+struct Mono_Posix_Syscall__Dirent;
+struct Mono_Posix_Syscall__Fstab;
+struct Mono_Posix_Syscall__Group;
+struct Mono_Posix_Syscall__Passwd;
+struct Mono_Posix_Flock;
+struct Mono_Posix_Pollfd;
+struct Mono_Posix_Stat;
+struct Mono_Posix_Statvfs;
+struct Mono_Posix_Timeval;
+struct Mono_Posix_Timezone;
+struct Mono_Posix_Utimbuf;
+
+/*
+ * Inferred Structure Declarations
+ */
+
+struct pollfd;
+struct stat;
+struct timeval;
+struct timezone;
+
+/*
+ * Delegate Declarations
+ */
+
+
+/*
+ * Structures
+ */
+
+struct Mono_Posix_Syscall__Dirent {
+	guint64        d_ino;     /* ino_t */
+	gint64         d_off;     /* off_t */
+	unsigned short d_reclen;
+	unsigned char  d_type;
+	void*          d_name;
+};
+
+struct Mono_Posix_Syscall__Fstab {
+	void* fs_spec;
+	void* fs_file;
+	void* fs_vfstype;
+	void* fs_mntops;
+	void* fs_type;
+	int   fs_freq;
+	int   fs_passno;
+	void* _fs_buf_;
+};
+
+struct Mono_Posix_Syscall__Group {
+	void*        gr_name;
+	void*        gr_passwd;
+	unsigned int gr_gid;     /* gid_t */
+	int          _gr_nmem_;
+	void*        gr_mem;
+	void*        _gr_buf_;
+};
+
+struct Mono_Posix_Syscall__Passwd {
+	void*        pw_name;
+	void*        pw_passwd;
+	unsigned int pw_uid;     /* uid_t */
+	unsigned int pw_gid;     /* gid_t */
+	void*        pw_gecos;
+	void*        pw_dir;
+	void*        pw_shell;
+	void*        _pw_buf_;
+};
+
+struct Mono_Posix_Flock {
+	short  l_type;
+	short  l_whence;
+	gint64 l_start;   /* off_t */
+	gint64 l_len;     /* off_t */
+	int    l_pid;     /* pid_t */
+};
+
+struct Mono_Posix_Pollfd {
+	int   fd;
+	short events;
+	short revents;
+};
+
+int
+Mono_Posix_FromPollfd (struct Mono_Posix_Pollfd* from, struct pollfd *to);
+int
+Mono_Posix_ToPollfd (struct pollfd *from, struct Mono_Posix_Pollfd* to);
+
+
+struct Mono_Posix_Stat {
+	guint64      st_dev;      /* dev_t     */
+	guint64      st_ino;      /* ino_t     */
+	unsigned int st_mode;
+	unsigned int _padding_;
+	guint64      st_nlink;    /* nlink_t   */
+	unsigned int st_uid;      /* uid_t     */
+	unsigned int st_gid;      /* gid_t     */
+	guint64      st_rdev;     /* dev_t     */
+	gint64       st_size;     /* off_t     */
+	gint64       st_blksize;  /* blksize_t */
+	gint64       st_blocks;   /* blkcnt_t  */
+	gint64       st_atime_;   /* time_t    */
+	gint64       st_mtime_;   /* time_t    */
+	gint64       st_ctime_;   /* time_t    */
+};
+
+int
+Mono_Posix_FromStat (struct Mono_Posix_Stat* from, struct stat *to);
+int
+Mono_Posix_ToStat (struct stat *from, struct Mono_Posix_Stat* to);
+
+
+struct Mono_Posix_Statvfs {
+	guint64 f_bsize;
+	guint64 f_frsize;
+	guint64 f_blocks;   /* fsblkcnt_t */
+	guint64 f_bfree;    /* fsblkcnt_t */
+	guint64 f_bavail;   /* fsblkcnt_t */
+	guint64 f_files;    /* fsfilcnt_t */
+	guint64 f_ffree;    /* fsfilcnt_t */
+	guint64 f_favail;   /* fsfilcnt_t */
+	guint64 f_fsid;
+	guint64 f_flag;
+	guint64 f_namemax;
+};
+
+struct Mono_Posix_Timeval {
+	gint64 tv_sec;   /* time_t      */
+	gint64 tv_usec;  /* suseconds_t */
+};
+
+int
+Mono_Posix_FromTimeval (struct Mono_Posix_Timeval* from, struct timeval *to);
+int
+Mono_Posix_ToTimeval (struct timeval *from, struct Mono_Posix_Timeval* to);
+
+
+struct Mono_Posix_Timezone {
+	int tz_minuteswest;
+	int tz_dsttime;
+};
+
+int
+Mono_Posix_FromTimezone (struct Mono_Posix_Timezone* from, struct timezone *to);
+int
+Mono_Posix_ToTimezone (struct timezone *from, struct Mono_Posix_Timezone* to);
+
+
+struct Mono_Posix_Utimbuf {
+	gint64 actime;   /* time_t */
+	gint64 modtime;  /* time_t */
+};
+
+
+/*
+ * Functions
+ */
+char* helper_Mono_Posix_GetGroupName (int gid);
+char* helper_Mono_Posix_GetUserName (int uid);
+char* helper_Mono_Posix_readdir (void* dir);
+int helper_Mono_Posix_Stat (const char* filename, int dereference, int* device, int* inode, int* mode, int* nlinks, int* uid, int* gid, int* rdev, gint64* size, gint64* blksize, gint64* blocks, gint64* atime, gint64* mtime, gint64* ctime);
+int map_Mono_Posix_AccessMode (int mode);
+int map_Mono_Posix_FileMode (int mode);
+int map_Mono_Posix_OpenFlags (int flags);
+int map_Mono_Posix_WaitOptions (int wait_options);
+int Mono_Posix_FromStatvfs (struct Mono_Posix_Statvfs* source, void* destination);
+int Mono_Posix_Stdlib__IOFBF (void);
+int Mono_Posix_Stdlib__IOLBF (void);
+int Mono_Posix_Stdlib__IONBF (void);
+int Mono_Posix_Stdlib_BUFSIZ (void);
+void* Mono_Posix_Stdlib_calloc (guint64 nmemb, guint64 size);
+int Mono_Posix_Stdlib_clearerr (void* stream);
+void* Mono_Posix_Stdlib_CreateFilePosition (void);
+int Mono_Posix_Stdlib_DumpFilePosition (char* buf, void* handle, int len);
+int Mono_Posix_Stdlib_EOF (void);
+int Mono_Posix_Stdlib_EXIT_FAILURE (void);
+int Mono_Posix_Stdlib_EXIT_SUCCESS (void);
+int Mono_Posix_Stdlib_fgetpos (void* stream, void* pos);
+guint64 Mono_Posix_Stdlib_fread (unsigned char* ptr, guint64 size, guint64 nmemb, void* stream);
+int Mono_Posix_Stdlib_fseek (void* stream, gint64 offset, int origin);
+int Mono_Posix_Stdlib_fsetpos (void* stream, void* pos);
+gint64 Mono_Posix_Stdlib_ftell (void* stream);
+guint64 Mono_Posix_Stdlib_fwrite (unsigned char* ptr, guint64 size, guint64 nmemb, void* stream);
+int Mono_Posix_Stdlib_FILENAME_MAX (void);
+int Mono_Posix_Stdlib_FOPEN_MAX (void);
+void Mono_Posix_Stdlib_InvokeSignalHandler (int signum, void* handler);
+int Mono_Posix_Stdlib_L_tmpnam (void);
+void* Mono_Posix_Stdlib_malloc (guint64 size);
+int Mono_Posix_Stdlib_MB_CUR_MAX (void);
+int Mono_Posix_Stdlib_perror (const char* s);
+void* Mono_Posix_Stdlib_realloc (void* ptr, guint64 size);
+int Mono_Posix_Stdlib_rewind (void* stream);
+int Mono_Posix_Stdlib_RAND_MAX (void);
+int Mono_Posix_Stdlib_setbuf (void* stream, void* buf);
+int Mono_Posix_Stdlib_setvbuf (void* stream, void* buf, int mode, guint64 size);
+void* Mono_Posix_Stdlib_stderr (void);
+void* Mono_Posix_Stdlib_stdin (void);
+void* Mono_Posix_Stdlib_stdout (void);
+guint64 Mono_Posix_Stdlib_strlen (void* s);
+void Mono_Posix_Stdlib_SetLastError (int error);
+void* Mono_Posix_Stdlib_SIG_DFL (void);
+void* Mono_Posix_Stdlib_SIG_ERR (void);
+void* Mono_Posix_Stdlib_SIG_IGN (void);
+int Mono_Posix_Stdlib_TMP_MAX (void);
+int Mono_Posix_Syscall_closelog (void);
+guint64 Mono_Posix_Syscall_confstr (int name, char* buf, guint64 len);
+int Mono_Posix_Syscall_creat (const char* pathname, unsigned int mode);
+int Mono_Posix_Syscall_endfsent (void);
+int Mono_Posix_Syscall_endgrent (void);
+int Mono_Posix_Syscall_endpwent (void);
+int Mono_Posix_Syscall_endusershell (void);
+int Mono_Posix_Syscall_fcntl (int fd, int cmd);
+int Mono_Posix_Syscall_fcntl_arg (int fd, int cmd, gint64 arg);
+int Mono_Posix_Syscall_fcntl_lock (int fd, int cmd, struct Mono_Posix_Flock* lock);
+int Mono_Posix_Syscall_fgetgrent (void* stream, struct Mono_Posix_Syscall__Group* grbuf);
+int Mono_Posix_Syscall_fgetpwent (void* stream, struct Mono_Posix_Syscall__Passwd* pwbuf);
+gint64 Mono_Posix_Syscall_fgetxattr (int fd, const char* name, unsigned char* value, guint64 size);
+gint64 Mono_Posix_Syscall_flistxattr (int fd, unsigned char* list, guint64 size);
+gint64 Mono_Posix_Syscall_fpathconf (int filedes, int name, int defaultError);
+int Mono_Posix_Syscall_fremovexattr (int fd, const char* name);
+int Mono_Posix_Syscall_fsetxattr (int fd, const char* name, unsigned char* value, guint64 size, int flags);
+int Mono_Posix_Syscall_fstat (int filedes, struct Mono_Posix_Stat* buf);
+int Mono_Posix_Syscall_fstatvfs (int fd, struct Mono_Posix_Statvfs* buf);
+int Mono_Posix_Syscall_ftruncate (int fd, gint64 length);
+int Mono_Posix_Syscall_futimes (int fd, struct Mono_Posix_Timeval* tvp);
+void* Mono_Posix_Syscall_getcwd (char* buf, guint64 size);
+int Mono_Posix_Syscall_getdomainname (char* name, guint64 len);
+int Mono_Posix_Syscall_getfsent (struct Mono_Posix_Syscall__Fstab* fs);
+int Mono_Posix_Syscall_getfsfile (const char* mount_point, struct Mono_Posix_Syscall__Fstab* fs);
+int Mono_Posix_Syscall_getfsspec (const char* special_file, struct Mono_Posix_Syscall__Fstab* fs);
+int Mono_Posix_Syscall_getgrent (struct Mono_Posix_Syscall__Group* grbuf);
+int Mono_Posix_Syscall_getgrgid (unsigned int uid, struct Mono_Posix_Syscall__Group* group);
+int Mono_Posix_Syscall_getgrgid_r (unsigned int uid, struct Mono_Posix_Syscall__Group* grbuf, void** grbufp);
+int Mono_Posix_Syscall_getgrnam (const char* name, struct Mono_Posix_Syscall__Group* group);
+int Mono_Posix_Syscall_getgrnam_r (const char* name, struct Mono_Posix_Syscall__Group* grbuf, void** grbufp);
+gint64 Mono_Posix_Syscall_gethostid (void);
+int Mono_Posix_Syscall_gethostname (char* name, guint64 len);
+int Mono_Posix_Syscall_getlogin_r (char* name, guint64 bufsize);
+int Mono_Posix_Syscall_getpwent (struct Mono_Posix_Syscall__Passwd* pwbuf);
+int Mono_Posix_Syscall_getpwnam (const char* name, struct Mono_Posix_Syscall__Passwd* passwd);
+int Mono_Posix_Syscall_getpwnam_r (const char* name, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
+int Mono_Posix_Syscall_getpwuid (unsigned int uid, struct Mono_Posix_Syscall__Passwd* passwd);
+int Mono_Posix_Syscall_getpwuid_r (unsigned int uid, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
+int Mono_Posix_Syscall_gettimeofday (struct Mono_Posix_Timeval* tv, void* ignore);
+gint64 Mono_Posix_Syscall_getxattr (const char* path, const char* name, unsigned char* value, guint64 size);
+gint64 Mono_Posix_Syscall_lgetxattr (const char* path, const char* name, unsigned char* value, guint64 size);
+gint64 Mono_Posix_Syscall_listxattr (const char* path, unsigned char* list, guint64 size);
+gint64 Mono_Posix_Syscall_llistxattr (const char* path, unsigned char* list, guint64 size);
+int Mono_Posix_Syscall_lockf (int fd, int cmd, gint64 len);
+int Mono_Posix_Syscall_lremovexattr (const char* path, const char* name);
+gint64 Mono_Posix_Syscall_lseek (int fd, gint64 offset, int whence);
+int Mono_Posix_Syscall_lsetxattr (const char* path, const char* name, unsigned char* value, guint64 size, int flags);
+int Mono_Posix_Syscall_lstat (const char* file_name, struct Mono_Posix_Stat* buf);
+int Mono_Posix_Syscall_lutimes (const char* filename, struct Mono_Posix_Timeval* tvp);
+int Mono_Posix_Syscall_L_ctermid (void);
+int Mono_Posix_Syscall_L_cuserid (void);
+int Mono_Posix_Syscall_mincore (void* start, guint64 length, unsigned char* vec);
+int Mono_Posix_Syscall_mknod (const char* pathname, unsigned int mode, guint64 dev);
+int Mono_Posix_Syscall_mlock (void* start, guint64 len);
+void* Mono_Posix_Syscall_mmap (void* start, guint64 length, int prot, int flags, int fd, gint64 offset);
+int Mono_Posix_Syscall_mprotect (void* start, guint64 len, int prot);
+void* Mono_Posix_Syscall_mremap (void* old_address, guint64 old_size, guint64 new_size, guint64 flags);
+int Mono_Posix_Syscall_msync (void* start, guint64 len, int flags);
+int Mono_Posix_Syscall_munlock (void* start, guint64 len);
+int Mono_Posix_Syscall_munmap (void* start, guint64 length);
+int Mono_Posix_Syscall_open (const char* pathname, int flags);
+int Mono_Posix_Syscall_open_mode (const char* pathname, int flags, unsigned int mode);
+int Mono_Posix_Syscall_openlog (void* ident, int option, int facility);
+gint64 Mono_Posix_Syscall_pathconf (const char* path, int name, int defaultError);
+int Mono_Posix_Syscall_pipe (int* reading, int* writing);
+int Mono_Posix_Syscall_posix_fadvise (int fd, gint64 offset, gint64 len, int advice);
+int Mono_Posix_Syscall_posix_fallocate (int fd, gint64 offset, guint64 len);
+int Mono_Posix_Syscall_posix_madvise (void* addr, guint64 len, int advice);
+gint64 Mono_Posix_Syscall_pread (int fd, void* buf, guint64 count, gint64 offset);
+int Mono_Posix_Syscall_psignal (int sig, const char* s);
+gint64 Mono_Posix_Syscall_pwrite (int fd, void* buf, guint64 count, gint64 offset);
+gint64 Mono_Posix_Syscall_read (int fd, void* buf, guint64 count);
+int Mono_Posix_Syscall_readdir (void* dir, struct Mono_Posix_Syscall__Dirent* dentry);
+int Mono_Posix_Syscall_readdir_r (void* dirp, struct Mono_Posix_Syscall__Dirent* entry, void** result);
+int Mono_Posix_Syscall_readlink (const char* path, char* buf, guint64 bufsiz);
+int Mono_Posix_Syscall_remap_file_pages (void* start, guint64 size, int prot, gint64 pgoff, int flags);
+int Mono_Posix_Syscall_removexattr (const char* path, const char* name);
+int Mono_Posix_Syscall_rewinddir (void* dir);
+int Mono_Posix_Syscall_seekdir (void* dir, gint64 offset);
+gint64 Mono_Posix_Syscall_sendfile (int out_fd, int in_fd, gint64* offset, guint64 count);
+int Mono_Posix_Syscall_setdomainname (const char* name, guint64 len);
+int Mono_Posix_Syscall_setfsent (void);
+int Mono_Posix_Syscall_setgrent (void);
+int Mono_Posix_Syscall_setgroups (guint64 size, unsigned int* list);
+int Mono_Posix_Syscall_sethostid (gint64 hostid);
+int Mono_Posix_Syscall_sethostname (const char* name, guint64 len);
+int Mono_Posix_Syscall_setpwent (void);
+int Mono_Posix_Syscall_settimeofday (struct Mono_Posix_Timeval* tv, struct Mono_Posix_Timezone* tz);
+int Mono_Posix_Syscall_setusershell (void);
+int Mono_Posix_Syscall_setxattr (const char* path, const char* name, unsigned char* value, guint64 size, int flags);
+int Mono_Posix_Syscall_stat (const char* file_name, struct Mono_Posix_Stat* buf);
+int Mono_Posix_Syscall_statvfs (const char* path, struct Mono_Posix_Statvfs* buf);
+int Mono_Posix_Syscall_stime (gint64* t);
+int Mono_Posix_Syscall_strerror_r (int errnum, char* buf, guint64 n);
+int Mono_Posix_Syscall_swab (void* from, void* to, gint64 n);
+int Mono_Posix_Syscall_sync (void);
+gint64 Mono_Posix_Syscall_sysconf (int name, int defaultError);
+int Mono_Posix_Syscall_syslog (int priority, const char* message);
+gint64 Mono_Posix_Syscall_telldir (void* dir);
+gint64 Mono_Posix_Syscall_time (gint64* t);
+int Mono_Posix_Syscall_truncate (const char* path, gint64 length);
+int Mono_Posix_Syscall_ttyname_r (int fd, char* buf, guint64 buflen);
+int Mono_Posix_Syscall_utime (const char* filename, struct Mono_Posix_Utimbuf* buf, int use_buf);
+int Mono_Posix_Syscall_utimes (const char* filename, struct Mono_Posix_Timeval* tvp);
+gint64 Mono_Posix_Syscall_write (int fd, void* buf, guint64 count);
+int Mono_Posix_Syscall_WEXITSTATUS (int status);
+int Mono_Posix_Syscall_WIFEXITED (int status);
+int Mono_Posix_Syscall_WIFSIGNALED (int status);
+int Mono_Posix_Syscall_WIFSTOPPED (int status);
+int Mono_Posix_Syscall_WSTOPSIG (int status);
+int Mono_Posix_Syscall_WTERMSIG (int status);
+int Mono_Posix_ToStatvfs (void* source, struct Mono_Posix_Statvfs* destination);
+int wexitstatus (int status);
+int wifexited (int status);
+int wifsignaled (int status);
+int wifstopped (int status);
+int wstopsig (int status);
+int wtermsig (int status);
 
 G_END_DECLS
 

+ 0 - 2
support/mph.h

@@ -35,8 +35,6 @@
 #include <stdint.h>             /* for SIZE_MAX */
 #endif
 
-#include "map-icalls.h"
-
 #if __APPLE__ || __BSD__ || __FreeBSD__
 #define MPH_ON_BSD
 #endif

+ 1 - 11
support/pwd.c

@@ -13,21 +13,11 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Syscall__Passwd {
-	/* string */ char      *pw_name;
-	/* string */ char      *pw_passwd;
-	/* uid_t  */ mph_uid_t  pw_uid;
-	/* gid_t  */ mph_gid_t  pw_gid;
-	/* string */ char      *pw_gecos;
-	/* string */ char      *pw_dir;
-	/* string */ char      *pw_shell;
-	/* string */ char      *_pw_buf_;
-};
-
 static const size_t
 passwd_offsets[] = {
 	offsetof (struct passwd, pw_name),

+ 1 - 0
support/signal.c

@@ -9,6 +9,7 @@
 
 #include <signal.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS

+ 4 - 3
support/stdio.c

@@ -4,13 +4,14 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004-2005 Jonathan Pryor
+ * Copyright (C) 2004-2006 Jonathan Pryor
  */
 
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS
@@ -30,7 +31,7 @@ Mono_Posix_Syscall_L_cuserid (void)
 #endif /* ndef PLATFORM_WIN32 */
 
 mph_size_t
-Mono_Posix_Stdlib_fread (void *ptr, mph_size_t size, mph_size_t nmemb, void *stream)
+Mono_Posix_Stdlib_fread (unsigned char *ptr, mph_size_t size, mph_size_t nmemb, void *stream)
 {
 	mph_return_if_size_t_overflow (size);
 	mph_return_if_size_t_overflow (nmemb);
@@ -39,7 +40,7 @@ Mono_Posix_Stdlib_fread (void *ptr, mph_size_t size, mph_size_t nmemb, void *str
 }
 
 mph_size_t
-Mono_Posix_Stdlib_fwrite (void *ptr, mph_size_t size, mph_size_t nmemb, void *stream)
+Mono_Posix_Stdlib_fwrite (unsigned char *ptr, mph_size_t size, mph_size_t nmemb, void *stream)
 {
 	mph_return_if_size_t_overflow (size);
 	mph_return_if_size_t_overflow (nmemb);

+ 1 - 0
support/stdlib.c

@@ -9,6 +9,7 @@
 
 #include <stdlib.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS

+ 1 - 0
support/string.c

@@ -9,6 +9,7 @@
 
 #include <string.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS

+ 6 - 6
support/sys-mman.c

@@ -4,7 +4,7 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004-2006 Jonathan Pryor
  */
 
 #define _XOPEN_SOURCE 600
@@ -27,7 +27,7 @@ Mono_Posix_Syscall_mmap (void *start, mph_size_t length, int prot, int flags,
 	mph_return_val_if_size_t_overflow (length, MAP_FAILED);
 	mph_return_val_if_off_t_overflow (offset, MAP_FAILED);
 
-	if (Mono_Posix_FromMmapProt (prot, &_prot) == -1)
+	if (Mono_Posix_FromMmapProts (prot, &_prot) == -1)
 		return MAP_FAILED;
 	if (Mono_Posix_FromMmapFlags (flags, &_flags) == -1)
 		return MAP_FAILED;
@@ -49,7 +49,7 @@ Mono_Posix_Syscall_mprotect (void *start, mph_size_t len, int prot)
 	int _prot;
 	mph_return_if_size_t_overflow (len);
 
-	if (Mono_Posix_FromMmapProt (prot, &_prot) == -1)
+	if (Mono_Posix_FromMmapProts (prot, &_prot) == -1)
 		return -1;
 
 	return mprotect (start, (size_t) len, _prot);
@@ -102,11 +102,11 @@ Mono_Posix_Syscall_mremap (void *old_address, mph_size_t old_size,
 #endif /* def HAVE_MREMAP */
 
 int
-Mono_Posix_Syscall_mincore (void *start, mph_size_t length, void *vec)
+Mono_Posix_Syscall_mincore (void *start, mph_size_t length, unsigned char *vec)
 {
 	mph_return_if_size_t_overflow (length);
 
-	return mincore (start, (size_t) length, (unsigned char*) vec);
+	return mincore (start, (size_t) length, vec);
 }
 
 #ifdef HAVE_POSIX_MADVISE
@@ -132,7 +132,7 @@ Mono_Posix_Syscall_remap_file_pages (void *start, mph_size_t size,
 	mph_return_if_size_t_overflow (size);
 	mph_return_if_ssize_t_overflow (pgoff);
 
-	if (Mono_Posix_FromMmapProt (prot, &_prot) == -1)
+	if (Mono_Posix_FromMmapProts (prot, &_prot) == -1)
 		return -1;
 	if (Mono_Posix_FromMmapFlags (flags, &_flags) == -1)
 		return -1;

+ 1 - 0
support/sys-sendfile.c

@@ -10,6 +10,7 @@
 #include <sys/types.h>
 #include <errno.h>
 
+#include "map.h"
 #include "mph.h"
 
 #ifdef HAVE_SYS_SENDFILE_H

+ 4 - 45
support/sys-stat.c

@@ -4,7 +4,7 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004-2006 Jonathan Pryor
  */
 
 #ifndef _GNU_SOURCE
@@ -22,47 +22,6 @@
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Stat {
-	/* dev_t */     mph_dev_t     st_dev;     /* device */
-	/* ino_t */     mph_ino_t     st_ino;     /* inode */
-	/* mode_t */    guint32       st_mode;    /* protection */
-	                guint32       _padding_;  /* structure padding */
-	/* nlink_t */   mph_nlink_t   st_nlink;   /* number of hard links */
-	/* uid_t */     mph_uid_t     st_uid;     /* user ID of owner */
-	/* gid_t */     mph_gid_t     st_gid;     /* group ID of owner */
-	/* dev_t */     mph_dev_t     st_rdev;    /* device type (if inode device) */
-	/* off_t */     mph_off_t     st_size;    /* total size, in bytes */
-	/* blksize_t */ mph_blksize_t st_blksize; /* blocksize for filesystem I/O */
-	/* blkcnt_t */  mph_blkcnt_t  st_blocks;  /* number of blocks allocated */
-
-	/* st_atime, st_mtime, and st_ctime are macros (!), so use a slightly
-	 * different name to appease CPP */
-
-	/* time_t */    mph_time_t    st_atime_;  /* time of last access */
-	/* time_t */    mph_time_t    st_mtime_;  /* time of last modification */
-	/* time_t */    mph_time_t    st_ctime_;  /* time of last status change */
-};
-
-static int
-copy_stat (struct Mono_Posix_Stat *to, struct stat *from)
-{
-	if (Mono_Posix_ToFilePermissions (from->st_mode, &to->st_mode) == -1)
-		return -1;
-	to->st_dev      = from->st_dev;
-	to->st_ino      = from->st_ino;
-	to->st_nlink    = from->st_nlink;
-	to->st_uid      = from->st_uid;
-	to->st_gid      = from->st_gid;
-	to->st_rdev     = from->st_rdev;
-	to->st_size     = from->st_size;
-	to->st_blksize  = from->st_blksize;
-	to->st_blocks   = from->st_blocks;
-	to->st_atime_   = from->st_atime;
-	to->st_mtime_   = from->st_mtime;
-	to->st_ctime_   = from->st_ctime;
-	return 0;
-}
-
 gint32
 Mono_Posix_Syscall_stat (const char *file_name, struct Mono_Posix_Stat *buf)
 {
@@ -74,7 +33,7 @@ Mono_Posix_Syscall_stat (const char *file_name, struct Mono_Posix_Stat *buf)
 		return -1;
 	}
 	r = stat (file_name, &_buf);
-	if (r != -1 && copy_stat (buf, &_buf) == -1)
+	if (r != -1 && Mono_Posix_ToStat (&_buf, buf) == -1)
 		r = -1;
 	return r;
 }
@@ -90,7 +49,7 @@ Mono_Posix_Syscall_fstat (int filedes, struct Mono_Posix_Stat *buf)
 		return -1;
 	}
 	r = fstat (filedes, &_buf);
-	if (r != -1 && copy_stat (buf, &_buf) == -1)
+	if (r != -1 && Mono_Posix_ToStat (&_buf, buf) == -1)
 		r = -1;
 	return r;
 }
@@ -106,7 +65,7 @@ Mono_Posix_Syscall_lstat (const char *file_name, struct Mono_Posix_Stat *buf)
 		return -1;
 	}
 	r = lstat (file_name, &_buf);
-	if (r != -1 && copy_stat (buf, &_buf) == -1)
+	if (r != -1 && Mono_Posix_ToStat (&_buf, buf) == -1)
 		r = -1;
 	return r;
 }

+ 92 - 45
support/sys-statvfs.c

@@ -4,7 +4,7 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004-2006 Jonathan Pryor
  */
 
 #include <errno.h>
@@ -27,35 +27,51 @@
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Statvfs {
-	guint64         f_bsize;    /* file system block size */
-	guint64         f_frsize;   /* fragment size */
-	mph_fsblkcnt_t  f_blocks;   /* size of fs in f_frsize units */
-	mph_fsblkcnt_t  f_bfree;    /* # free blocks */
-	mph_fsblkcnt_t  f_bavail;   /* # free blocks for non-root */
-	mph_fsfilcnt_t  f_files;    /* # inodes */
-	mph_fsfilcnt_t  f_ffree;    /* # free inodes */
-	mph_fsfilcnt_t  f_favail;   /* # free inodes for non-root */
-	guint64         f_fsid;     /* file system id */
-	guint64         f_flag;     /* mount flags */
-	guint64         f_namemax;  /* maximum filename length */
-};
-
 #ifdef HAVE_SYS_STATVFS_H
-static void
-copy_statvfs (struct Mono_Posix_Statvfs *to, struct statvfs *from)
+int
+Mono_Posix_ToStatvfs (void *_from, struct Mono_Posix_Statvfs *to)
 {
-  to->f_bsize   = from->f_bsize;
-  to->f_frsize  = from->f_frsize;
-  to->f_blocks  = from->f_blocks;
-  to->f_bfree   = from->f_bfree;
-  to->f_bavail  = from->f_bavail;
-  to->f_files   = from->f_files;
-  to->f_ffree   = from->f_ffree;
-  to->f_favail  = from->f_favail;
-  to->f_fsid    = from->f_fsid;
-  Mono_Posix_ToMountFlags (from->f_flag, &to->f_flag);
-  to->f_namemax =	from->f_namemax;
+	struct statvfs *from = _from;
+
+	to->f_bsize   = from->f_bsize;
+	to->f_frsize  = from->f_frsize;
+	to->f_blocks  = from->f_blocks;
+	to->f_bfree   = from->f_bfree;
+	to->f_bavail  = from->f_bavail;
+	to->f_files   = from->f_files;
+	to->f_ffree   = from->f_ffree;
+	to->f_favail  = from->f_favail;
+	to->f_fsid    = from->f_fsid;
+	to->f_namemax =	from->f_namemax;
+
+	if (Mono_Posix_ToMountFlags (from->f_flag, &to->f_flag) != 0)
+		return -1;
+
+	return 0;
+}
+
+int
+Mono_Posix_FromStatvfs (struct Mono_Posix_Statvfs *from, void *_to)
+{
+	struct statvfs *to = _to;
+	guint64 flag;
+
+	to->f_bsize   = from->f_bsize;
+	to->f_frsize  = from->f_frsize;
+	to->f_blocks  = from->f_blocks;
+	to->f_bfree   = from->f_bfree;
+	to->f_bavail  = from->f_bavail;
+	to->f_files   = from->f_files;
+	to->f_ffree   = from->f_ffree;
+	to->f_favail  = from->f_favail;
+	to->f_fsid    = from->f_fsid;
+	to->f_namemax =	from->f_namemax;
+
+	if (Mono_Posix_FromMountFlags (from->f_flag, &flag) != 0)
+		return -1;
+	to->f_flag = flag;
+
+	return 0;
 }
 #endif /* ndef HAVE_SYS_STATVFS_H */
 
@@ -76,7 +92,7 @@ Mono_Posix_Syscall_statvfs (const char *path, struct Mono_Posix_Statvfs *buf)
 	}
 
 	if ((r = statvfs (path, &s)) == 0)
-		copy_statvfs (buf, &s);
+		r = Mono_Posix_ToStatvfs (&s, buf);
 
 	return r;
 }
@@ -95,7 +111,7 @@ Mono_Posix_Syscall_fstatvfs (gint32 fd, struct Mono_Posix_Statvfs *buf)
 	}
 
 	if ((r = fstatvfs (fd, &s)) == 0)
-		copy_statvfs (buf, &s);
+		r = Mono_Posix_ToStatvfs (&s, buf);
 
 	return r;
 }
@@ -108,21 +124,52 @@ Mono_Posix_Syscall_fstatvfs (gint32 fd, struct Mono_Posix_Statvfs *buf)
  */
 
 #if (defined (HAVE_STATFS) || defined (HAVE_FSTATFS)) && !defined (HAVE_STATVFS)
-static void
-copy_statfs (struct Mono_Posix_Statvfs *to, struct statfs *from)
+int
+Mono_Posix_ToStatvfs (void *_from, struct Mono_Posix_Statvfs *to)
+{
+	struct statfs *from = _from;
+
+	to->f_bsize   = from->f_bsize;
+	to->f_frsize  = from->f_bsize;
+	to->f_blocks  = from->f_blocks;
+	to->f_bfree   = from->f_bfree;
+	to->f_bavail  = from->f_bavail;
+	to->f_files   = from->f_files;
+	to->f_ffree   = from->f_ffree;
+	to->f_favail  = from->f_ffree; /* OSX doesn't have f_avail */
+
+	// from->f_fsid is an int32[2], to->f_fsid is a uint64, 
+	// so this shouldn't lose anything.
+	memcpy (&to->f_fsid, &from->f_fsid, sizeof(to->f_fsid));
+
+	if (Mono_Posix_ToMountFlags (from->f_flags, &to->f_flag) != 0)
+		return -1;
+
+	return 0;
+}
+
+int
+Mono_Posix_FromStatvfs (struct Mono_Posix_Statvfs *from, void *to)
 {
-  to->f_bsize   = from->f_bsize;
-  to->f_frsize  = from->f_bsize;
-  to->f_blocks  = from->f_blocks;
-  to->f_bfree   = from->f_bfree;
-  to->f_bavail  = from->f_bavail;
-  to->f_files   = from->f_files;
-  to->f_ffree   = from->f_ffree;
-  to->f_favail  = from->f_ffree; /* OSX doesn't have f_avail */
-  Mono_Posix_ToMountFlags (from->f_flags, &to->f_flag);
+	struct statfs *to = _to;
+
+	to->f_bsize   = from->f_bsize;
+	to->f_frsize  = from->f_bsize;
+	to->f_blocks  = from->f_blocks;
+	to->f_bfree   = from->f_bfree;
+	to->f_bavail  = from->f_bavail;
+	to->f_files   = from->f_files;
+	to->f_ffree   = from->f_ffree;
+	to->f_favail  = from->f_ffree; /* OSX doesn't have f_avail */
+
 	// from->f_fsid is an int32[2], to->f_fsid is a uint64, 
 	// so this shouldn't lose anything.
 	memcpy (&to->f_fsid, &from->f_fsid, sizeof(to->f_fsid));
+
+	if (Mono_Posix_FromMountFlags (from->f_flags, &to->f_flag) != 0)
+		return -1;
+
+	return 0;
 }
 
 static void
@@ -150,8 +197,8 @@ Mono_Posix_Syscall_statvfs (const char *path, struct Mono_Posix_Statvfs *buf)
 		return -1;
 	}
 
-	if ((r = statfs (path, &s)) == 0) {
-		copy_statfs (buf, &s);
+	if ((r = statfs (path, &s)) == 0 &&
+			(r = Mono_Posix_ToStatvfs (&s, buf)) == 0) {
 		set_namemax (path, buf);
 	}
 
@@ -171,8 +218,8 @@ Mono_Posix_Syscall_fstatvfs (gint32 fd, struct Mono_Posix_Statvfs *buf)
 		return -1;
 	}
 
-	if ((r = fstatfs (fd, &s)) == 0) {
-		copy_statfs (buf, &s);
+	if ((r = statfs (path, &s)) == 0 &&
+			(r = Mono_Posix_ToStatvfs (&s, buf)) == 0) {
 		set_fnamemax (fd, buf);
 	}
 

+ 0 - 10
support/sys-time.c

@@ -16,16 +16,6 @@
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Timeval {
-	/* time_t */      mph_time_t  tv_sec;   /* seconds */
-	/* suseconds_t */ gint64      tv_usec;  /* microseconds */
-};
-
-struct Mono_Posix_Timezone {
-	int tz_minuteswest;  /* minutes W of Greenwich */
-	int tz_dsttime;      /* ignored */
-};
-
 gint32
 Mono_Posix_Syscall_gettimeofday (
 	struct Mono_Posix_Timeval *tv,

+ 16 - 14
support/sys-xattr.c

@@ -3,8 +3,10 @@
  *
  * Authors:
  *   Daniel Drake ([email protected])
+ *   Jonathan Pryor ([email protected])
  *
  * Copyright (C) 2005 Daniel Drake
+ * Copyright (C) 2006 Jonathan Pryor
  */
 
 #include <config.h>
@@ -327,7 +329,7 @@ bsd_flistxattr (int fd, void *list, mph_size_t size)
 //
 
 gint32
-Mono_Posix_Syscall_setxattr (const char *path, const char *name, void *value, mph_size_t size, gint32 flags)
+Mono_Posix_Syscall_setxattr (const char *path, const char *name, unsigned char *value, mph_size_t size, gint32 flags)
 {
 	gint32 ret;
 	mph_return_if_size_t_overflow (size);
@@ -361,7 +363,7 @@ Mono_Posix_Syscall_setxattr (const char *path, const char *name, void *value, mp
 
 #if !__APPLE__
 gint32
-Mono_Posix_Syscall_lsetxattr (const char *path, const char *name, void *value, mph_size_t size, gint32 flags)
+Mono_Posix_Syscall_lsetxattr (const char *path, const char *name, unsigned char *value, mph_size_t size, gint32 flags)
 {
 	gint32 ret;
 	mph_return_if_size_t_overflow (size);
@@ -391,7 +393,7 @@ Mono_Posix_Syscall_lsetxattr (const char *path, const char *name, void *value, m
 #endif /* !__APPLE__ */
 
 gint32
-Mono_Posix_Syscall_fsetxattr (int fd, const char *name, void *value, mph_size_t size, gint32 flags)
+Mono_Posix_Syscall_fsetxattr (int fd, const char *name, unsigned char *value, mph_size_t size, gint32 flags)
 {
 	gint32 ret;
 	mph_return_if_size_t_overflow (size);
@@ -424,7 +426,7 @@ Mono_Posix_Syscall_fsetxattr (int fd, const char *name, void *value, mph_size_t
 }
 
 mph_ssize_t
-Mono_Posix_Syscall_getxattr (const char *path, const char *name, void *value, mph_size_t size)
+Mono_Posix_Syscall_getxattr (const char *path, const char *name, unsigned char *value, mph_size_t size)
 {
 	mph_ssize_t ret;
 	mph_return_if_size_t_overflow (size);
@@ -451,7 +453,7 @@ Mono_Posix_Syscall_getxattr (const char *path, const char *name, void *value, mp
 
 #if !__APPLE__
 mph_ssize_t
-Mono_Posix_Syscall_lgetxattr (const char *path, const char *name, void *value, mph_size_t size)
+Mono_Posix_Syscall_lgetxattr (const char *path, const char *name, unsigned char *value, mph_size_t size)
 {
 	mph_ssize_t ret;
 	mph_return_if_size_t_overflow (size);
@@ -474,7 +476,7 @@ Mono_Posix_Syscall_lgetxattr (const char *path, const char *name, void *value, m
 #endif /* !__APPLE__ */
 
 mph_ssize_t
-Mono_Posix_Syscall_fgetxattr (int fd, const char *name, void *value, mph_size_t size)
+Mono_Posix_Syscall_fgetxattr (int fd, const char *name, unsigned char *value, mph_size_t size)
 {
 	mph_ssize_t ret;
 	mph_return_if_size_t_overflow (size);
@@ -500,15 +502,15 @@ Mono_Posix_Syscall_fgetxattr (int fd, const char *name, void *value, mph_size_t
 }
 
 mph_ssize_t
-Mono_Posix_Syscall_listxattr (const char *path, void *list, mph_size_t size)
+Mono_Posix_Syscall_listxattr (const char *path, unsigned char *list, mph_size_t size)
 {
 	mph_return_if_size_t_overflow (size);
 
 #ifdef EA_UNIX
 #if __APPLE__
-	return listxattr (path, list, (size_t) size, 0);
+	return listxattr (path, (char*) list, (size_t) size, 0);
 #else /* __APPLE__ */
-	return listxattr (path, list, (size_t) size);
+	return listxattr (path, (char*) list, (size_t) size);
 #endif /* __APPLE__ */
 #else /* EA_UNIX */
 	return bsd_listxattr (path, list, size);
@@ -517,12 +519,12 @@ Mono_Posix_Syscall_listxattr (const char *path, void *list, mph_size_t size)
 
 #if !__APPLE__
 mph_ssize_t
-Mono_Posix_Syscall_llistxattr (const char *path, void *list, mph_size_t size)
+Mono_Posix_Syscall_llistxattr (const char *path, unsigned char *list, mph_size_t size)
 {
 	mph_return_if_size_t_overflow (size);
 
 #ifdef EA_UNIX
-	return llistxattr (path, list, (size_t) size);
+	return llistxattr (path, (char*) list, (size_t) size);
 #else /* EA_UNIX */
 	return bsd_llistxattr (path, list, size);
 #endif /* EA_UNIX */
@@ -530,15 +532,15 @@ Mono_Posix_Syscall_llistxattr (const char *path, void *list, mph_size_t size)
 #endif /* !__APPLE__ */
 
 mph_ssize_t
-Mono_Posix_Syscall_flistxattr (int fd, void *list, mph_size_t size)
+Mono_Posix_Syscall_flistxattr (int fd, unsigned char *list, mph_size_t size)
 {
 	mph_return_if_size_t_overflow (size);
 
 #ifdef EA_UNIX
 #if __APPLE__
-	return flistxattr (fd, list, (size_t) size, 0);
+	return flistxattr (fd, (char*) list, (size_t) size, 0);
 #else /* __APPLE__ */
-	return flistxattr (fd, list, (size_t) size);
+	return flistxattr (fd, (char*) list, (size_t) size);
 #endif /* __APPLE__ */
 #else /* EA_UNIX */
 	return bsd_flistxattr (fd, list, size);

+ 1 - 0
support/syslog.c

@@ -11,6 +11,7 @@
 #include <syslog.h>
 #include <errno.h>
 
+#include "map.h"
 #include "mph.h"
 #include <glib.h>
 

+ 1 - 0
support/time.c

@@ -11,6 +11,7 @@
 #include <time.h>
 #include <errno.h>
 
+#include "map.h"
 #include "mph.h"
 #include <glib.h>
 

+ 4 - 3
support/unistd.c

@@ -4,7 +4,7 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004-2005 Jonathan Pryor
+ * Copyright (C) 2004-2006 Jonathan Pryor
  */
 
 #ifndef _GNU_SOURCE
@@ -227,12 +227,13 @@ Mono_Posix_Syscall_lockf (int fd, int cmd, mph_off_t len)
 	return lockf (fd, cmd, (off_t) len);
 }
 
-void
+int
 Mono_Posix_Syscall_swab (void *from, void *to, mph_ssize_t n)
 {
 	if (mph_have_long_overflow (n))
-		return;
+		return -1;
 	swab (from, to, (ssize_t) n);
+	return 0;
 }
 
 int

+ 2 - 6
support/utime.c

@@ -4,21 +4,17 @@
  * Authors:
  *   Jonathan Pryor ([email protected])
  *
- * Copyright (C) 2004 Jonathan Pryor
+ * Copyright (C) 2004-2006 Jonathan Pryor
  */
 
 #include <sys/types.h>
 #include <utime.h>
 
+#include "map.h"
 #include "mph.h"
 
 G_BEGIN_DECLS
 
-struct Mono_Posix_Utimbuf {
-	/* time_t */ mph_time_t actime;   /* access time */
-	/* time_t */ mph_time_t modtime;  /* modification time */
-};
-
 gint32
 Mono_Posix_Syscall_utime (const char *filename, struct Mono_Posix_Utimbuf *buf, 
 		int use_buf)