Pat Tullmann 0cb742dafb binfmt-detector-cli: rewrite to support PE32+ binaries (#38)
Rewrite with hard-coded offsets into the PE file format to discern
if a binary is PE32 or PE32+, and then to determine if it contains
a "CLR Data Directory" entry that looks valid.

Tested with PE32 and PE32+ compiled Mono binaries, PE32 and PE32+ native
binaries, and a random assortment of garbage files.

Former-commit-id: 9e7ac86ec84f653a2f79b87183efd5b0ebda001b
2023-10-16 20:16:47 +02:00

9585 lines
292 KiB
C

/*
* This file was automatically generated by create-native-map from ../mcs/class/lib/net_4_x/Mono.Posix.dll.
*
* DO NOT MODIFY.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif /* ndef HAVE_CONFIG_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>
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif /* ndef HAVE_NETINET_IN_H */
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* ndef HAVE_SYS_TIME_H */
#ifdef HAVE_SYS_POLL_H
#include <sys/poll.h>
#endif /* ndef HAVE_SYS_POLL_H */
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
#endif /* ndef HAVE_SYS_WAIT_H */
#ifdef HAVE_SYS_STATVFS_H
#include <sys/statvfs.h>
#endif /* ndef HAVE_SYS_STATVFS_H */
#ifdef HAVE_SYS_XATTR_H
#include <sys/xattr.h>
#endif /* ndef HAVE_SYS_XATTR_H */
#ifdef HAVE_SYS_MMAN_H
#include <sys/mman.h>
#endif /* ndef HAVE_SYS_MMAN_H */
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif /* ndef HAVE_SYS_SOCKET_H */
#ifdef HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif /* ndef HAVE_SYS_UIO_H */
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* ndef HAVE_UNISTD_H */
#include <fcntl.h>
#include <signal.h>
#ifdef HAVE_POLL_H
#include <poll.h>
#endif /* ndef HAVE_POLL_H */
#ifdef HAVE_GRP_H
#include <grp.h>
#endif /* ndef HAVE_GRP_H */
#include <errno.h>
#ifdef HAVE_SYSLOG_H
#include <syslog.h>
#endif /* ndef HAVE_SYSLOG_H */
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif /* ndef HAVE_DIRENT_H */
#ifdef HAVE_UTIME_H
#include <utime.h>
#endif /* ndef HAVE_UTIME_H */
#include <time.h>
#include "mph.h"
#include "map-impl.h"
#include "map.h"
#include <errno.h> /* errno, EOVERFLOW */
#include <glib.h> /* g* types, g_assert_not_reached() */
#if defined (G_MININT8)
#define CNM_MININT8 G_MININT8
#else
#define CNM_MININT8 (-128)
#endif
#if defined (G_MAXINT8)
#define CNM_MAXINT8 G_MAXINT8
#else
#define CNM_MAXINT8 (127)
#endif
#if defined (G_MAXUINT8)
#define CNM_MAXUINT8 G_MAXUINT8
#else
#define CNM_MAXUINT8 (255)
#endif
#if defined (G_MININT16)
#define CNM_MININT16 G_MININT16
#else
#define CNM_MININT16 (-32768)
#endif
#if defined (G_MAXINT16)
#define CNM_MAXINT16 G_MAXINT16
#else
#define CNM_MAXINT16 (32767)
#endif
#if defined (G_MAXUINT16)
#define CNM_MAXUINT16 G_MAXUINT16
#else
#define CNM_MAXUINT16 (65535)
#endif
#if defined (G_MININT32)
#define CNM_MININT32 G_MININT32
#else
#define CNM_MININT32 (-2147483648)
#endif
#if defined (G_MAXINT32)
#define CNM_MAXINT32 G_MAXINT32
#else
#define CNM_MAXINT32 (2147483647)
#endif
#if defined (G_MAXUINT32)
#define CNM_MAXUINT32 G_MAXUINT32
#else
#define CNM_MAXUINT32 (4294967295U)
#endif
#if defined (G_MININT64)
#define CNM_MININT64 G_MININT64
#else
#define CNM_MININT64 (-9223372036854775808LL)
#endif
#if defined (G_MAXINT64)
#define CNM_MAXINT64 G_MAXINT64
#else
#define CNM_MAXINT64 (9223372036854775807LL)
#endif
#if defined (G_MAXUINT64)
#define CNM_MAXUINT64 G_MAXUINT64
#else
#define CNM_MAXUINT64 (18446744073709551615ULL)
#endif
/* returns TRUE if @type is an unsigned type */
#define _cnm_integral_type_is_unsigned(type) \
(sizeof(type) == sizeof(gint8) \
? (((type)-1) > CNM_MAXINT8) \
: sizeof(type) == sizeof(gint16) \
? (((type)-1) > CNM_MAXINT16) \
: sizeof(type) == sizeof(gint32) \
? (((type)-1) > CNM_MAXINT32) \
: sizeof(type) == sizeof(gint64) \
? (((type)-1) > CNM_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) \
? CNM_MININT8 \
: sizeof(type) == sizeof(gint16) \
? CNM_MININT16 \
: sizeof(type) == sizeof(gint32) \
? CNM_MININT32 \
: sizeof(type) == sizeof(gint64) \
? CNM_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) \
? CNM_MAXUINT8 \
: sizeof(type) == sizeof(gint16) \
? CNM_MAXUINT16 \
: sizeof(type) == sizeof(gint32) \
? CNM_MAXUINT32 \
: sizeof(type) == sizeof(gint64) \
? CNM_MAXUINT64 \
: (g_assert_not_reached (), 0) \
: sizeof(type) == sizeof(gint8) \
? CNM_MAXINT8 \
: sizeof(type) == sizeof(gint16) \
? CNM_MAXINT16 \
: sizeof(type) == sizeof(gint32) \
? CNM_MAXINT32 \
: sizeof(type) == sizeof(gint64) \
? CNM_MAXINT64 \
: (g_assert_not_reached (), 0))
#ifdef _CNM_DUMP
#define _cnm_dump(to_t,from) \
printf ("# %s -> %s: uns=%i; min=%llx; max=%llx; value=%llx; lt=%i; l0=%i; gt=%i; e=%i\n", \
#from, #to_t, \
(int) _cnm_integral_type_is_unsigned (to_t), \
(gint64) (_cnm_integral_type_min (to_t)), \
(gint64) (_cnm_integral_type_max (to_t)), \
(gint64) (from), \
(((gint64) _cnm_integral_type_min (to_t)) <= (gint64) from), \
(from < 0), \
(((guint64) from) <= (guint64) _cnm_integral_type_max (to_t)), \
!((int) _cnm_integral_type_is_unsigned (to_t) \
? ((0 <= from) && \
((guint64) from <= (guint64) _cnm_integral_type_max (to_t))) \
: ((gint64) _cnm_integral_type_min(to_t) <= (gint64) from && \
(guint64) from <= (guint64) _cnm_integral_type_max (to_t))) \
)
#else /* ndef _CNM_DUMP */
#define _cnm_dump(to_t, from) do {} while (0)
#endif /* def _CNM_DUMP */
#ifdef DEBUG
#define _cnm_return_val_if_overflow(to_t,from,val) G_STMT_START { \
int uns = _cnm_integral_type_is_unsigned (to_t); \
gint64 min = (gint64) _cnm_integral_type_min (to_t); \
guint64 max = (guint64) _cnm_integral_type_max (to_t); \
gint64 sf = (gint64) from; \
guint64 uf = (guint64) from; \
if (!(uns ? ((0 <= from) && (uf <= max)) \
: (min <= sf && (from < 0 || uf <= max)))) { \
_cnm_dump(to_t, from); \
errno = EOVERFLOW; \
return (val); \
} \
} G_STMT_END
#else /* !def DEBUG */
/* don't do any overflow checking */
#define _cnm_return_val_if_overflow(to_t,from,val) G_STMT_START { \
} G_STMT_END
#endif /* def DEBUG */
int Mono_Posix_FromAccessModes (int x, int *r)
{
*r = 0;
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_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_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_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_ToAccessModes (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;
}
int Mono_Posix_FromAtFlags (int x, int *r)
{
*r = 0;
if ((x & Mono_Posix_AtFlags_AT_EMPTY_PATH) == Mono_Posix_AtFlags_AT_EMPTY_PATH)
#ifdef AT_EMPTY_PATH
*r |= AT_EMPTY_PATH;
#else /* def AT_EMPTY_PATH */
{errno = EINVAL; return -1;}
#endif /* ndef AT_EMPTY_PATH */
if ((x & Mono_Posix_AtFlags_AT_NO_AUTOMOUNT) == Mono_Posix_AtFlags_AT_NO_AUTOMOUNT)
#ifdef AT_NO_AUTOMOUNT
*r |= AT_NO_AUTOMOUNT;
#else /* def AT_NO_AUTOMOUNT */
{errno = EINVAL; return -1;}
#endif /* ndef AT_NO_AUTOMOUNT */
if ((x & Mono_Posix_AtFlags_AT_REMOVEDIR) == Mono_Posix_AtFlags_AT_REMOVEDIR)
#ifdef AT_REMOVEDIR
*r |= AT_REMOVEDIR;
#else /* def AT_REMOVEDIR */
{errno = EINVAL; return -1;}
#endif /* ndef AT_REMOVEDIR */
if ((x & Mono_Posix_AtFlags_AT_SYMLINK_FOLLOW) == Mono_Posix_AtFlags_AT_SYMLINK_FOLLOW)
#ifdef AT_SYMLINK_FOLLOW
*r |= AT_SYMLINK_FOLLOW;
#else /* def AT_SYMLINK_FOLLOW */
{errno = EINVAL; return -1;}
#endif /* ndef AT_SYMLINK_FOLLOW */
if ((x & Mono_Posix_AtFlags_AT_SYMLINK_NOFOLLOW) == Mono_Posix_AtFlags_AT_SYMLINK_NOFOLLOW)
#ifdef AT_SYMLINK_NOFOLLOW
*r |= AT_SYMLINK_NOFOLLOW;
#else /* def AT_SYMLINK_NOFOLLOW */
{errno = EINVAL; return -1;}
#endif /* ndef AT_SYMLINK_NOFOLLOW */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToAtFlags (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef AT_EMPTY_PATH
if ((x & AT_EMPTY_PATH) == AT_EMPTY_PATH)
*r |= Mono_Posix_AtFlags_AT_EMPTY_PATH;
#endif /* ndef AT_EMPTY_PATH */
#ifdef AT_NO_AUTOMOUNT
if ((x & AT_NO_AUTOMOUNT) == AT_NO_AUTOMOUNT)
*r |= Mono_Posix_AtFlags_AT_NO_AUTOMOUNT;
#endif /* ndef AT_NO_AUTOMOUNT */
#ifdef AT_REMOVEDIR
if ((x & AT_REMOVEDIR) == AT_REMOVEDIR)
*r |= Mono_Posix_AtFlags_AT_REMOVEDIR;
#endif /* ndef AT_REMOVEDIR */
#ifdef AT_SYMLINK_FOLLOW
if ((x & AT_SYMLINK_FOLLOW) == AT_SYMLINK_FOLLOW)
*r |= Mono_Posix_AtFlags_AT_SYMLINK_FOLLOW;
#endif /* ndef AT_SYMLINK_FOLLOW */
#ifdef AT_SYMLINK_NOFOLLOW
if ((x & AT_SYMLINK_NOFOLLOW) == AT_SYMLINK_NOFOLLOW)
*r |= Mono_Posix_AtFlags_AT_SYMLINK_NOFOLLOW;
#endif /* ndef AT_SYMLINK_NOFOLLOW */
return 0;
}
#ifdef HAVE_STRUCT_CMSGHDR
int
Mono_Posix_FromCmsghdr (struct Mono_Posix_Cmsghdr *from, struct cmsghdr *to)
{
_cnm_return_val_if_overflow (gint64, from->cmsg_len, -1);
memset (to, 0, sizeof(*to));
to->cmsg_len = from->cmsg_len;
if (Mono_Posix_FromUnixSocketProtocol (from->cmsg_level, &to->cmsg_level) != 0) {
return -1;
}
if (Mono_Posix_FromUnixSocketControlMessage (from->cmsg_type, &to->cmsg_type) != 0) {
return -1;
}
return 0;
}
#endif /* ndef HAVE_STRUCT_CMSGHDR */
#ifdef HAVE_STRUCT_CMSGHDR
int
Mono_Posix_ToCmsghdr (struct cmsghdr *from, struct Mono_Posix_Cmsghdr *to)
{
_cnm_return_val_if_overflow (gint64, from->cmsg_len, -1);
memset (to, 0, sizeof(*to));
to->cmsg_len = from->cmsg_len;
if (Mono_Posix_ToUnixSocketProtocol (from->cmsg_level, &to->cmsg_level) != 0) {
return -1;
}
if (Mono_Posix_ToUnixSocketControlMessage (from->cmsg_type, &to->cmsg_type) != 0) {
return -1;
}
return 0;
}
#endif /* ndef HAVE_STRUCT_CMSGHDR */
int Mono_Posix_FromConfstrName (int x, int *r)
{
*r = 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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{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 */
{errno = EINVAL; return -1;}
#endif /* ndef _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
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_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 */
errno = EINVAL; return -1;
}
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;
#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_FromEpollEvents (unsigned int x, unsigned int *r)
{
*r = 0;
if ((x & Mono_Posix_EpollEvents_EPOLLERR) == Mono_Posix_EpollEvents_EPOLLERR)
#ifdef EPOLLERR
*r |= EPOLLERR;
#else /* def EPOLLERR */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLERR */
if ((x & Mono_Posix_EpollEvents_EPOLLET) == Mono_Posix_EpollEvents_EPOLLET)
#ifdef EPOLLET
*r |= EPOLLET;
#else /* def EPOLLET */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLET */
if ((x & Mono_Posix_EpollEvents_EPOLLHUP) == Mono_Posix_EpollEvents_EPOLLHUP)
#ifdef EPOLLHUP
*r |= EPOLLHUP;
#else /* def EPOLLHUP */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLHUP */
if ((x & Mono_Posix_EpollEvents_EPOLLIN) == Mono_Posix_EpollEvents_EPOLLIN)
#ifdef EPOLLIN
*r |= EPOLLIN;
#else /* def EPOLLIN */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLIN */
if ((x & Mono_Posix_EpollEvents_EPOLLMSG) == Mono_Posix_EpollEvents_EPOLLMSG)
#ifdef EPOLLMSG
*r |= EPOLLMSG;
#else /* def EPOLLMSG */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLMSG */
if ((x & Mono_Posix_EpollEvents_EPOLLONESHOT) == Mono_Posix_EpollEvents_EPOLLONESHOT)
#ifdef EPOLLONESHOT
*r |= EPOLLONESHOT;
#else /* def EPOLLONESHOT */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLONESHOT */
if ((x & Mono_Posix_EpollEvents_EPOLLOUT) == Mono_Posix_EpollEvents_EPOLLOUT)
#ifdef EPOLLOUT
*r |= EPOLLOUT;
#else /* def EPOLLOUT */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLOUT */
if ((x & Mono_Posix_EpollEvents_EPOLLPRI) == Mono_Posix_EpollEvents_EPOLLPRI)
#ifdef EPOLLPRI
*r |= EPOLLPRI;
#else /* def EPOLLPRI */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLPRI */
if ((x & Mono_Posix_EpollEvents_EPOLLRDBAND) == Mono_Posix_EpollEvents_EPOLLRDBAND)
#ifdef EPOLLRDBAND
*r |= EPOLLRDBAND;
#else /* def EPOLLRDBAND */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLRDBAND */
if ((x & Mono_Posix_EpollEvents_EPOLLRDHUP) == Mono_Posix_EpollEvents_EPOLLRDHUP)
#ifdef EPOLLRDHUP
*r |= EPOLLRDHUP;
#else /* def EPOLLRDHUP */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLRDHUP */
if ((x & Mono_Posix_EpollEvents_EPOLLRDNORM) == Mono_Posix_EpollEvents_EPOLLRDNORM)
#ifdef EPOLLRDNORM
*r |= EPOLLRDNORM;
#else /* def EPOLLRDNORM */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLRDNORM */
if ((x & Mono_Posix_EpollEvents_EPOLLWRBAND) == Mono_Posix_EpollEvents_EPOLLWRBAND)
#ifdef EPOLLWRBAND
*r |= EPOLLWRBAND;
#else /* def EPOLLWRBAND */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLWRBAND */
if ((x & Mono_Posix_EpollEvents_EPOLLWRNORM) == Mono_Posix_EpollEvents_EPOLLWRNORM)
#ifdef EPOLLWRNORM
*r |= EPOLLWRNORM;
#else /* def EPOLLWRNORM */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLLWRNORM */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToEpollEvents (unsigned int x, unsigned int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef EPOLLERR
if ((x & EPOLLERR) == EPOLLERR)
*r |= Mono_Posix_EpollEvents_EPOLLERR;
#endif /* ndef EPOLLERR */
#ifdef EPOLLET
if ((x & EPOLLET) == EPOLLET)
*r |= Mono_Posix_EpollEvents_EPOLLET;
#endif /* ndef EPOLLET */
#ifdef EPOLLHUP
if ((x & EPOLLHUP) == EPOLLHUP)
*r |= Mono_Posix_EpollEvents_EPOLLHUP;
#endif /* ndef EPOLLHUP */
#ifdef EPOLLIN
if ((x & EPOLLIN) == EPOLLIN)
*r |= Mono_Posix_EpollEvents_EPOLLIN;
#endif /* ndef EPOLLIN */
#ifdef EPOLLMSG
if ((x & EPOLLMSG) == EPOLLMSG)
*r |= Mono_Posix_EpollEvents_EPOLLMSG;
#endif /* ndef EPOLLMSG */
#ifdef EPOLLONESHOT
if ((x & EPOLLONESHOT) == EPOLLONESHOT)
*r |= Mono_Posix_EpollEvents_EPOLLONESHOT;
#endif /* ndef EPOLLONESHOT */
#ifdef EPOLLOUT
if ((x & EPOLLOUT) == EPOLLOUT)
*r |= Mono_Posix_EpollEvents_EPOLLOUT;
#endif /* ndef EPOLLOUT */
#ifdef EPOLLPRI
if ((x & EPOLLPRI) == EPOLLPRI)
*r |= Mono_Posix_EpollEvents_EPOLLPRI;
#endif /* ndef EPOLLPRI */
#ifdef EPOLLRDBAND
if ((x & EPOLLRDBAND) == EPOLLRDBAND)
*r |= Mono_Posix_EpollEvents_EPOLLRDBAND;
#endif /* ndef EPOLLRDBAND */
#ifdef EPOLLRDHUP
if ((x & EPOLLRDHUP) == EPOLLRDHUP)
*r |= Mono_Posix_EpollEvents_EPOLLRDHUP;
#endif /* ndef EPOLLRDHUP */
#ifdef EPOLLRDNORM
if ((x & EPOLLRDNORM) == EPOLLRDNORM)
*r |= Mono_Posix_EpollEvents_EPOLLRDNORM;
#endif /* ndef EPOLLRDNORM */
#ifdef EPOLLWRBAND
if ((x & EPOLLWRBAND) == EPOLLWRBAND)
*r |= Mono_Posix_EpollEvents_EPOLLWRBAND;
#endif /* ndef EPOLLWRBAND */
#ifdef EPOLLWRNORM
if ((x & EPOLLWRNORM) == EPOLLWRNORM)
*r |= Mono_Posix_EpollEvents_EPOLLWRNORM;
#endif /* ndef EPOLLWRNORM */
return 0;
}
int Mono_Posix_FromEpollFlags (int x, int *r)
{
*r = 0;
if ((x & Mono_Posix_EpollFlags_EPOLL_CLOEXEC) == Mono_Posix_EpollFlags_EPOLL_CLOEXEC)
#ifdef EPOLL_CLOEXEC
*r |= EPOLL_CLOEXEC;
#else /* def EPOLL_CLOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLL_CLOEXEC */
if ((x & Mono_Posix_EpollFlags_EPOLL_NONBLOCK) == Mono_Posix_EpollFlags_EPOLL_NONBLOCK)
#ifdef EPOLL_NONBLOCK
*r |= EPOLL_NONBLOCK;
#else /* def EPOLL_NONBLOCK */
{errno = EINVAL; return -1;}
#endif /* ndef EPOLL_NONBLOCK */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToEpollFlags (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef EPOLL_CLOEXEC
if ((x & EPOLL_CLOEXEC) == EPOLL_CLOEXEC)
*r |= Mono_Posix_EpollFlags_EPOLL_CLOEXEC;
#endif /* ndef EPOLL_CLOEXEC */
#ifdef EPOLL_NONBLOCK
if ((x & EPOLL_NONBLOCK) == EPOLL_NONBLOCK)
*r |= Mono_Posix_EpollFlags_EPOLL_NONBLOCK;
#endif /* ndef EPOLL_NONBLOCK */
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_Errno_EACCES)
#ifdef EACCES
{*r = EACCES; return 0;}
#else /* def EACCES */
{errno = EINVAL; return -1;}
#endif /* ndef EACCES */
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_Errno_EADDRNOTAVAIL)
#ifdef EADDRNOTAVAIL
{*r = EADDRNOTAVAIL; return 0;}
#else /* def EADDRNOTAVAIL */
{errno = EINVAL; return -1;}
#endif /* ndef EADDRNOTAVAIL */
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_Errno_EAFNOSUPPORT)
#ifdef EAFNOSUPPORT
{*r = EAFNOSUPPORT; return 0;}
#else /* def EAFNOSUPPORT */
{errno = EINVAL; return -1;}
#endif /* ndef EAFNOSUPPORT */
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_Errno_EALREADY)
#ifdef EALREADY
{*r = EALREADY; return 0;}
#else /* def EALREADY */
{errno = EINVAL; return -1;}
#endif /* ndef EALREADY */
if (x == Mono_Posix_Errno_EAUTH)
#ifdef EAUTH
{*r = EAUTH; return 0;}
#else /* def EAUTH */
{errno = EINVAL; return -1;}
#endif /* ndef EAUTH */
if (x == Mono_Posix_Errno_EBADARCH)
#ifdef EBADARCH
{*r = EBADARCH; return 0;}
#else /* def EBADARCH */
{errno = EINVAL; return -1;}
#endif /* ndef EBADARCH */
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_Errno_EBADEXEC)
#ifdef EBADEXEC
{*r = EBADEXEC; return 0;}
#else /* def EBADEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef EBADEXEC */
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_Errno_EBADFD)
#ifdef EBADFD
{*r = EBADFD; return 0;}
#else /* def EBADFD */
{errno = EINVAL; return -1;}
#endif /* ndef EBADFD */
if (x == Mono_Posix_Errno_EBADMACHO)
#ifdef EBADMACHO
{*r = EBADMACHO; return 0;}
#else /* def EBADMACHO */
{errno = EINVAL; return -1;}
#endif /* ndef EBADMACHO */
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_Errno_EBADR)
#ifdef EBADR
{*r = EBADR; return 0;}
#else /* def EBADR */
{errno = EINVAL; return -1;}
#endif /* ndef EBADR */
if (x == Mono_Posix_Errno_EBADRPC)
#ifdef EBADRPC
{*r = EBADRPC; return 0;}
#else /* def EBADRPC */
{errno = EINVAL; return -1;}
#endif /* ndef EBADRPC */
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_Errno_EBADSLT)
#ifdef EBADSLT
{*r = EBADSLT; return 0;}
#else /* def EBADSLT */
{errno = EINVAL; return -1;}
#endif /* ndef EBADSLT */
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_Errno_EBUSY)
#ifdef EBUSY
{*r = EBUSY; return 0;}
#else /* def EBUSY */
{errno = EINVAL; return -1;}
#endif /* ndef EBUSY */
if (x == Mono_Posix_Errno_ECANCELED)
#ifdef ECANCELED
{*r = ECANCELED; return 0;}
#else /* def ECANCELED */
{errno = EINVAL; return -1;}
#endif /* ndef ECANCELED */
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 */
{errno = EINVAL; return -1;}
#endif /* ndef ECHRNG */
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_Errno_ECONNABORTED)
#ifdef ECONNABORTED
{*r = ECONNABORTED; return 0;}
#else /* def ECONNABORTED */
{errno = EINVAL; return -1;}
#endif /* ndef ECONNABORTED */
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_Errno_ECONNRESET)
#ifdef ECONNRESET
{*r = ECONNRESET; return 0;}
#else /* def ECONNRESET */
{errno = EINVAL; return -1;}
#endif /* ndef ECONNRESET */
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_Errno_EDEADLOCK)
#ifdef EDEADLOCK
{*r = EDEADLOCK; return 0;}
#else /* def EDEADLOCK */
{errno = EINVAL; return -1;}
#endif /* ndef EDEADLOCK */
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_Errno_EDEVERR)
#ifdef EDEVERR
{*r = EDEVERR; return 0;}
#else /* def EDEVERR */
{errno = EINVAL; return -1;}
#endif /* ndef EDEVERR */
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_Errno_EDOTDOT)
#ifdef EDOTDOT
{*r = EDOTDOT; return 0;}
#else /* def EDOTDOT */
{errno = EINVAL; return -1;}
#endif /* ndef EDOTDOT */
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_Errno_EEXIST)
#ifdef EEXIST
{*r = EEXIST; return 0;}
#else /* def EEXIST */
{errno = EINVAL; return -1;}
#endif /* ndef EEXIST */
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_Errno_EFBIG)
#ifdef EFBIG
{*r = EFBIG; return 0;}
#else /* def EFBIG */
{errno = EINVAL; return -1;}
#endif /* ndef EFBIG */
if (x == Mono_Posix_Errno_EFTYPE)
#ifdef EFTYPE
{*r = EFTYPE; return 0;}
#else /* def EFTYPE */
{errno = EINVAL; return -1;}
#endif /* ndef EFTYPE */
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_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 */
{errno = EINVAL; return -1;}
#endif /* ndef EINVAL */
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_Errno_EISCONN)
#ifdef EISCONN
{*r = EISCONN; return 0;}
#else /* def EISCONN */
{errno = EINVAL; return -1;}
#endif /* ndef EISCONN */
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_Errno_EISNAM)
#ifdef EISNAM
{*r = EISNAM; return 0;}
#else /* def EISNAM */
{errno = EINVAL; return -1;}
#endif /* ndef EISNAM */
if (x == Mono_Posix_Errno_EKEYEXPIRED)
#ifdef EKEYEXPIRED
{*r = EKEYEXPIRED; return 0;}
#else /* def EKEYEXPIRED */
{errno = EINVAL; return -1;}
#endif /* ndef EKEYEXPIRED */
if (x == Mono_Posix_Errno_EKEYREJECTED)
#ifdef EKEYREJECTED
{*r = EKEYREJECTED; return 0;}
#else /* def EKEYREJECTED */
{errno = EINVAL; return -1;}
#endif /* ndef EKEYREJECTED */
if (x == Mono_Posix_Errno_EKEYREVOKED)
#ifdef EKEYREVOKED
{*r = EKEYREVOKED; return 0;}
#else /* def EKEYREVOKED */
{errno = EINVAL; return -1;}
#endif /* ndef EKEYREVOKED */
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_Errno_EL2NSYNC)
#ifdef EL2NSYNC
{*r = EL2NSYNC; return 0;}
#else /* def EL2NSYNC */
{errno = EINVAL; return -1;}
#endif /* ndef EL2NSYNC */
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_Errno_EL3RST)
#ifdef EL3RST
{*r = EL3RST; return 0;}
#else /* def EL3RST */
{errno = EINVAL; return -1;}
#endif /* ndef EL3RST */
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_Errno_ELIBBAD)
#ifdef ELIBBAD
{*r = ELIBBAD; return 0;}
#else /* def ELIBBAD */
{errno = EINVAL; return -1;}
#endif /* ndef ELIBBAD */
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_Errno_ELIBMAX)
#ifdef ELIBMAX
{*r = ELIBMAX; return 0;}
#else /* def ELIBMAX */
{errno = EINVAL; return -1;}
#endif /* ndef ELIBMAX */
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_Errno_ELNRNG)
#ifdef ELNRNG
{*r = ELNRNG; return 0;}
#else /* def ELNRNG */
{errno = EINVAL; return -1;}
#endif /* ndef ELNRNG */
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_Errno_EMEDIUMTYPE)
#ifdef EMEDIUMTYPE
{*r = EMEDIUMTYPE; return 0;}
#else /* def EMEDIUMTYPE */
{errno = EINVAL; return -1;}
#endif /* ndef EMEDIUMTYPE */
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_Errno_EMLINK)
#ifdef EMLINK
{*r = EMLINK; return 0;}
#else /* def EMLINK */
{errno = EINVAL; return -1;}
#endif /* ndef EMLINK */
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_Errno_EMULTIHOP)
#ifdef EMULTIHOP
{*r = EMULTIHOP; return 0;}
#else /* def EMULTIHOP */
{errno = EINVAL; return -1;}
#endif /* ndef EMULTIHOP */
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_Errno_ENAVAIL)
#ifdef ENAVAIL
{*r = ENAVAIL; return 0;}
#else /* def ENAVAIL */
{errno = EINVAL; return -1;}
#endif /* ndef ENAVAIL */
if (x == Mono_Posix_Errno_ENEEDAUTH)
#ifdef ENEEDAUTH
{*r = ENEEDAUTH; return 0;}
#else /* def ENEEDAUTH */
{errno = EINVAL; return -1;}
#endif /* ndef ENEEDAUTH */
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_Errno_ENETRESET)
#ifdef ENETRESET
{*r = ENETRESET; return 0;}
#else /* def ENETRESET */
{errno = EINVAL; return -1;}
#endif /* ndef ENETRESET */
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_Errno_ENFILE)
#ifdef ENFILE
{*r = ENFILE; return 0;}
#else /* def ENFILE */
{errno = EINVAL; return -1;}
#endif /* ndef ENFILE */
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_Errno_ENOATTR)
#ifdef ENOATTR
{*r = ENOATTR; return 0;}
#else /* def ENOATTR */
{errno = EINVAL; return -1;}
#endif /* ndef ENOATTR */
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_Errno_ENOCSI)
#ifdef ENOCSI
{*r = ENOCSI; return 0;}
#else /* def ENOCSI */
{errno = EINVAL; return -1;}
#endif /* ndef ENOCSI */
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_Errno_ENODEV)
#ifdef ENODEV
{*r = ENODEV; return 0;}
#else /* def ENODEV */
{errno = EINVAL; return -1;}
#endif /* ndef ENODEV */
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_Errno_ENOEXEC)
#ifdef ENOEXEC
{*r = ENOEXEC; return 0;}
#else /* def ENOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef ENOEXEC */
if (x == Mono_Posix_Errno_ENOKEY)
#ifdef ENOKEY
{*r = ENOKEY; return 0;}
#else /* def ENOKEY */
{errno = EINVAL; return -1;}
#endif /* ndef ENOKEY */
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_Errno_ENOLINK)
#ifdef ENOLINK
{*r = ENOLINK; return 0;}
#else /* def ENOLINK */
{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 */
{errno = EINVAL; return -1;}
#endif /* ndef ENOPKG */
if (x == Mono_Posix_Errno_ENOPOLICY)
#ifdef ENOPOLICY
{*r = ENOPOLICY; return 0;}
#else /* def ENOPOLICY */
{errno = EINVAL; return -1;}
#endif /* ndef ENOPOLICY */
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_Errno_ENOSPC)
#ifdef ENOSPC
{*r = ENOSPC; return 0;}
#else /* def ENOSPC */
{errno = EINVAL; return -1;}
#endif /* ndef ENOSPC */
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_Errno_ENOSTR)
#ifdef ENOSTR
{*r = ENOSTR; return 0;}
#else /* def ENOSTR */
{errno = EINVAL; return -1;}
#endif /* ndef ENOSTR */
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_Errno_ENOTBLK)
#ifdef ENOTBLK
{*r = ENOTBLK; return 0;}
#else /* def ENOTBLK */
{errno = EINVAL; return -1;}
#endif /* ndef ENOTBLK */
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_Errno_ENOTDIR)
#ifdef ENOTDIR
{*r = ENOTDIR; return 0;}
#else /* def ENOTDIR */
{errno = EINVAL; return -1;}
#endif /* ndef ENOTDIR */
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_Errno_ENOTNAM)
#ifdef ENOTNAM
{*r = ENOTNAM; return 0;}
#else /* def ENOTNAM */
{errno = EINVAL; return -1;}
#endif /* ndef ENOTNAM */
if (x == Mono_Posix_Errno_ENOTRECOVERABLE)
#ifdef ENOTRECOVERABLE
{*r = ENOTRECOVERABLE; return 0;}
#else /* def ENOTRECOVERABLE */
{errno = EINVAL; return -1;}
#endif /* ndef ENOTRECOVERABLE */
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_Errno_ENOTTY)
#ifdef ENOTTY
{*r = ENOTTY; return 0;}
#else /* def ENOTTY */
{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_EOWNERDEAD)
#ifdef EOWNERDEAD
{*r = EOWNERDEAD; return 0;}
#else /* def EOWNERDEAD */
{errno = EINVAL; return -1;}
#endif /* ndef EOWNERDEAD */
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 */
{errno = EINVAL; return -1;}
#endif /* ndef EPIPE */
if (x == Mono_Posix_Errno_EPROCLIM)
#ifdef EPROCLIM
{*r = EPROCLIM; return 0;}
#else /* def EPROCLIM */
{errno = EINVAL; return -1;}
#endif /* ndef EPROCLIM */
if (x == Mono_Posix_Errno_EPROCUNAVAIL)
#ifdef EPROCUNAVAIL
{*r = EPROCUNAVAIL; return 0;}
#else /* def EPROCUNAVAIL */
{errno = EINVAL; return -1;}
#endif /* ndef EPROCUNAVAIL */
if (x == Mono_Posix_Errno_EPROGMISMATCH)
#ifdef EPROGMISMATCH
{*r = EPROGMISMATCH; return 0;}
#else /* def EPROGMISMATCH */
{errno = EINVAL; return -1;}
#endif /* ndef EPROGMISMATCH */
if (x == Mono_Posix_Errno_EPROGUNAVAIL)
#ifdef EPROGUNAVAIL
{*r = EPROGUNAVAIL; return 0;}
#else /* def EPROGUNAVAIL */
{errno = EINVAL; return -1;}
#endif /* ndef EPROGUNAVAIL */
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_Errno_EPROTONOSUPPORT)
#ifdef EPROTONOSUPPORT
{*r = EPROTONOSUPPORT; return 0;}
#else /* def EPROTONOSUPPORT */
{errno = EINVAL; return -1;}
#endif /* ndef EPROTONOSUPPORT */
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_Errno_EPWROFF)
#ifdef EPWROFF
{*r = EPWROFF; return 0;}
#else /* def EPWROFF */
{errno = EINVAL; return -1;}
#endif /* ndef EPWROFF */
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_Errno_EREMCHG)
#ifdef EREMCHG
{*r = EREMCHG; return 0;}
#else /* def EREMCHG */
{errno = EINVAL; return -1;}
#endif /* ndef EREMCHG */
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_Errno_EREMOTEIO)
#ifdef EREMOTEIO
{*r = EREMOTEIO; return 0;}
#else /* def EREMOTEIO */
{errno = EINVAL; return -1;}
#endif /* ndef EREMOTEIO */
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_Errno_EROFS)
#ifdef EROFS
{*r = EROFS; return 0;}
#else /* def EROFS */
{errno = EINVAL; return -1;}
#endif /* ndef EROFS */
if (x == Mono_Posix_Errno_ERPCMISMATCH)
#ifdef ERPCMISMATCH
{*r = ERPCMISMATCH; return 0;}
#else /* def ERPCMISMATCH */
{errno = EINVAL; return -1;}
#endif /* ndef ERPCMISMATCH */
if (x == Mono_Posix_Errno_ESHLIBVERS)
#ifdef ESHLIBVERS
{*r = ESHLIBVERS; return 0;}
#else /* def ESHLIBVERS */
{errno = EINVAL; return -1;}
#endif /* ndef ESHLIBVERS */
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_Errno_ESOCKTNOSUPPORT)
#ifdef ESOCKTNOSUPPORT
{*r = ESOCKTNOSUPPORT; return 0;}
#else /* def ESOCKTNOSUPPORT */
{errno = EINVAL; return -1;}
#endif /* ndef ESOCKTNOSUPPORT */
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_Errno_ESRCH)
#ifdef ESRCH
{*r = ESRCH; return 0;}
#else /* def ESRCH */
{errno = EINVAL; return -1;}
#endif /* ndef ESRCH */
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_Errno_ESTALE)
#ifdef ESTALE
{*r = ESTALE; return 0;}
#else /* def ESTALE */
{errno = EINVAL; return -1;}
#endif /* ndef ESTALE */
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_Errno_ETIME)
#ifdef ETIME
{*r = ETIME; return 0;}
#else /* def ETIME */
{errno = EINVAL; return -1;}
#endif /* ndef ETIME */
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_Errno_ETOOMANYREFS)
#ifdef ETOOMANYREFS
{*r = ETOOMANYREFS; return 0;}
#else /* def ETOOMANYREFS */
{errno = EINVAL; return -1;}
#endif /* ndef ETOOMANYREFS */
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_Errno_EUCLEAN)
#ifdef EUCLEAN
{*r = EUCLEAN; return 0;}
#else /* def EUCLEAN */
{errno = EINVAL; return -1;}
#endif /* ndef EUCLEAN */
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_Errno_EUSERS)
#ifdef EUSERS
{*r = EUSERS; return 0;}
#else /* def EUSERS */
{errno = EINVAL; return -1;}
#endif /* ndef EUSERS */
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_Errno_EXDEV)
#ifdef EXDEV
{*r = EXDEV; return 0;}
#else /* def EXDEV */
{errno = EINVAL; return -1;}
#endif /* ndef EXDEV */
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_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 EAUTH
if (x == EAUTH)
{*r = Mono_Posix_Errno_EAUTH; return 0;}
#endif /* ndef EAUTH */
#ifdef EBADARCH
if (x == EBADARCH)
{*r = Mono_Posix_Errno_EBADARCH; return 0;}
#endif /* ndef EBADARCH */
#ifdef EBADE
if (x == EBADE)
{*r = Mono_Posix_Errno_EBADE; return 0;}
#endif /* ndef EBADE */
#ifdef EBADEXEC
if (x == EBADEXEC)
{*r = Mono_Posix_Errno_EBADEXEC; return 0;}
#endif /* ndef EBADEXEC */
#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 EBADMACHO
if (x == EBADMACHO)
{*r = Mono_Posix_Errno_EBADMACHO; return 0;}
#endif /* ndef EBADMACHO */
#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 EBADRPC
if (x == EBADRPC)
{*r = Mono_Posix_Errno_EBADRPC; return 0;}
#endif /* ndef EBADRPC */
#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 ECANCELED
if (x == ECANCELED)
{*r = Mono_Posix_Errno_ECANCELED; return 0;}
#endif /* ndef ECANCELED */
#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 EDEVERR
if (x == EDEVERR)
{*r = Mono_Posix_Errno_EDEVERR; return 0;}
#endif /* ndef EDEVERR */
#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 EFTYPE
if (x == EFTYPE)
{*r = Mono_Posix_Errno_EFTYPE; return 0;}
#endif /* ndef EFTYPE */
#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 EKEYEXPIRED
if (x == EKEYEXPIRED)
{*r = Mono_Posix_Errno_EKEYEXPIRED; return 0;}
#endif /* ndef EKEYEXPIRED */
#ifdef EKEYREJECTED
if (x == EKEYREJECTED)
{*r = Mono_Posix_Errno_EKEYREJECTED; return 0;}
#endif /* ndef EKEYREJECTED */
#ifdef EKEYREVOKED
if (x == EKEYREVOKED)
{*r = Mono_Posix_Errno_EKEYREVOKED; return 0;}
#endif /* ndef EKEYREVOKED */
#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 ENEEDAUTH
if (x == ENEEDAUTH)
{*r = Mono_Posix_Errno_ENEEDAUTH; return 0;}
#endif /* ndef ENEEDAUTH */
#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 ENOATTR
if (x == ENOATTR)
{*r = Mono_Posix_Errno_ENOATTR; return 0;}
#endif /* ndef ENOATTR */
#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 ENOKEY
if (x == ENOKEY)
{*r = Mono_Posix_Errno_ENOKEY; return 0;}
#endif /* ndef ENOKEY */
#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 ENOPOLICY
if (x == ENOPOLICY)
{*r = Mono_Posix_Errno_ENOPOLICY; return 0;}
#endif /* ndef ENOPOLICY */
#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 ENOTRECOVERABLE
if (x == ENOTRECOVERABLE)
{*r = Mono_Posix_Errno_ENOTRECOVERABLE; return 0;}
#endif /* ndef ENOTRECOVERABLE */
#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 EOWNERDEAD
if (x == EOWNERDEAD)
{*r = Mono_Posix_Errno_EOWNERDEAD; return 0;}
#endif /* ndef EOWNERDEAD */
#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 EPROCLIM
if (x == EPROCLIM)
{*r = Mono_Posix_Errno_EPROCLIM; return 0;}
#endif /* ndef EPROCLIM */
#ifdef EPROCUNAVAIL
if (x == EPROCUNAVAIL)
{*r = Mono_Posix_Errno_EPROCUNAVAIL; return 0;}
#endif /* ndef EPROCUNAVAIL */
#ifdef EPROGMISMATCH
if (x == EPROGMISMATCH)
{*r = Mono_Posix_Errno_EPROGMISMATCH; return 0;}
#endif /* ndef EPROGMISMATCH */
#ifdef EPROGUNAVAIL
if (x == EPROGUNAVAIL)
{*r = Mono_Posix_Errno_EPROGUNAVAIL; return 0;}
#endif /* ndef EPROGUNAVAIL */
#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 EPWROFF
if (x == EPWROFF)
{*r = Mono_Posix_Errno_EPWROFF; return 0;}
#endif /* ndef EPWROFF */
#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 ERPCMISMATCH
if (x == ERPCMISMATCH)
{*r = Mono_Posix_Errno_ERPCMISMATCH; return 0;}
#endif /* ndef ERPCMISMATCH */
#ifdef ESHLIBVERS
if (x == ESHLIBVERS)
{*r = Mono_Posix_Errno_ESHLIBVERS; return 0;}
#endif /* ndef ESHLIBVERS */
#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 == Mono_Posix_FcntlCommand_F_ADD_SEALS)
#ifdef F_ADD_SEALS
{*r = F_ADD_SEALS; return 0;}
#else /* def F_ADD_SEALS */
{errno = EINVAL; return -1;}
#endif /* ndef F_ADD_SEALS */
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_GET_SEALS)
#ifdef F_GET_SEALS
{*r = F_GET_SEALS; return 0;}
#else /* def F_GET_SEALS */
{errno = EINVAL; return -1;}
#endif /* ndef F_GET_SEALS */
if (x == Mono_Posix_FcntlCommand_F_NOCACHE)
#ifdef F_NOCACHE
{*r = F_NOCACHE; return 0;}
#else /* def F_NOCACHE */
{errno = EINVAL; return -1;}
#endif /* ndef F_NOCACHE */
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_OFD_GETLK)
#ifdef F_OFD_GETLK
{*r = F_OFD_GETLK; return 0;}
#else /* def F_OFD_GETLK */
{errno = EINVAL; return -1;}
#endif /* ndef F_OFD_GETLK */
if (x == Mono_Posix_FcntlCommand_F_OFD_SETLK)
#ifdef F_OFD_SETLK
{*r = F_OFD_SETLK; return 0;}
#else /* def F_OFD_SETLK */
{errno = EINVAL; return -1;}
#endif /* ndef F_OFD_SETLK */
if (x == Mono_Posix_FcntlCommand_F_OFD_SETLKW)
#ifdef F_OFD_SETLKW
{*r = F_OFD_SETLKW; return 0;}
#else /* def F_OFD_SETLKW */
{errno = EINVAL; return -1;}
#endif /* ndef F_OFD_SETLKW */
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 */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToFcntlCommand (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef F_ADD_SEALS
if (x == F_ADD_SEALS)
{*r = Mono_Posix_FcntlCommand_F_ADD_SEALS; return 0;}
#endif /* ndef F_ADD_SEALS */
#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_GET_SEALS
if (x == F_GET_SEALS)
{*r = Mono_Posix_FcntlCommand_F_GET_SEALS; return 0;}
#endif /* ndef F_GET_SEALS */
#ifdef F_NOCACHE
if (x == F_NOCACHE)
{*r = Mono_Posix_FcntlCommand_F_NOCACHE; return 0;}
#endif /* ndef F_NOCACHE */
#ifdef F_NOTIFY
if (x == F_NOTIFY)
{*r = Mono_Posix_FcntlCommand_F_NOTIFY; return 0;}
#endif /* ndef F_NOTIFY */
#ifdef F_OFD_GETLK
if (x == F_OFD_GETLK)
{*r = Mono_Posix_FcntlCommand_F_OFD_GETLK; return 0;}
#endif /* ndef F_OFD_GETLK */
#ifdef F_OFD_SETLK
if (x == F_OFD_SETLK)
{*r = Mono_Posix_FcntlCommand_F_OFD_SETLK; return 0;}
#endif /* ndef F_OFD_SETLK */
#ifdef F_OFD_SETLKW
if (x == F_OFD_SETLKW)
{*r = Mono_Posix_FcntlCommand_F_OFD_SETLKW; return 0;}
#endif /* ndef F_OFD_SETLKW */
#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 & Mono_Posix_FilePermissions_ACCESSPERMS) == Mono_Posix_FilePermissions_ACCESSPERMS)
#ifdef ACCESSPERMS
*r |= ACCESSPERMS;
#else /* def ACCESSPERMS */
{/* Ignoring Mono_Posix_FilePermissions_ACCESSPERMS, as it is constructed from other values */}
#endif /* ndef ACCESSPERMS */
if ((x & Mono_Posix_FilePermissions_ALLPERMS) == Mono_Posix_FilePermissions_ALLPERMS)
#ifdef ALLPERMS
*r |= ALLPERMS;
#else /* def ALLPERMS */
{/* Ignoring Mono_Posix_FilePermissions_ALLPERMS, as it is constructed from other values */}
#endif /* ndef ALLPERMS */
if ((x & Mono_Posix_FilePermissions_DEFFILEMODE) == Mono_Posix_FilePermissions_DEFFILEMODE)
#ifdef DEFFILEMODE
*r |= DEFFILEMODE;
#else /* def DEFFILEMODE */
{/* Ignoring Mono_Posix_FilePermissions_DEFFILEMODE, as it is constructed from other values */}
#endif /* ndef DEFFILEMODE */
if ((x & Mono_Posix_FilePermissions_S_IFMT) == 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_IFMT) == 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_IFMT) == 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_IFMT) == 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_IFMT) == 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 */
{/* Ignoring Mono_Posix_FilePermissions_S_IFMT, as it is constructed from other values */}
#endif /* ndef S_IFMT */
if ((x & Mono_Posix_FilePermissions_S_IFMT) == 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_IFMT) == 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 */
{/* Ignoring Mono_Posix_FilePermissions_S_IRWXG, as it is constructed from other values */}
#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 */
{/* Ignoring Mono_Posix_FilePermissions_S_IRWXO, as it is constructed from other values */}
#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 */
{/* Ignoring Mono_Posix_FilePermissions_S_IRWXU, as it is constructed from other values */}
#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 */
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_IFMT) == S_IFBLK)
*r |= Mono_Posix_FilePermissions_S_IFBLK;
#endif /* ndef S_IFBLK */
#ifdef S_IFCHR
if ((x & S_IFMT) == S_IFCHR)
*r |= Mono_Posix_FilePermissions_S_IFCHR;
#endif /* ndef S_IFCHR */
#ifdef S_IFDIR
if ((x & S_IFMT) == S_IFDIR)
*r |= Mono_Posix_FilePermissions_S_IFDIR;
#endif /* ndef S_IFDIR */
#ifdef S_IFIFO
if ((x & S_IFMT) == S_IFIFO)
*r |= Mono_Posix_FilePermissions_S_IFIFO;
#endif /* ndef S_IFIFO */
#ifdef S_IFLNK
if ((x & S_IFMT) == 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_IFMT) == S_IFREG)
*r |= Mono_Posix_FilePermissions_S_IFREG;
#endif /* ndef S_IFREG */
#ifdef S_IFSOCK
if ((x & S_IFMT) == 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;
}
#ifdef HAVE_STRUCT_FLOCK
int
Mono_Posix_FromFlock (struct Mono_Posix_Flock *from, struct flock *to)
{
_cnm_return_val_if_overflow (off_t, from->l_start, -1);
_cnm_return_val_if_overflow (off_t, from->l_len, -1);
_cnm_return_val_if_overflow (pid_t, from->l_pid, -1);
memset (to, 0, sizeof(*to));
if (Mono_Posix_FromLockType (from->l_type, &to->l_type) != 0) {
return -1;
}
if (Mono_Posix_FromSeekFlags (from->l_whence, &to->l_whence) != 0) {
return -1;
}
to->l_start = from->l_start;
to->l_len = from->l_len;
to->l_pid = from->l_pid;
return 0;
}
#endif /* ndef HAVE_STRUCT_FLOCK */
#ifdef HAVE_STRUCT_FLOCK
int
Mono_Posix_ToFlock (struct flock *from, struct Mono_Posix_Flock *to)
{
_cnm_return_val_if_overflow (gint64, from->l_start, -1);
_cnm_return_val_if_overflow (gint64, from->l_len, -1);
_cnm_return_val_if_overflow (int, from->l_pid, -1);
memset (to, 0, sizeof(*to));
if (Mono_Posix_ToLockType (from->l_type, &to->l_type) != 0) {
return -1;
}
if (Mono_Posix_ToSeekFlags (from->l_whence, &to->l_whence) != 0) {
return -1;
}
to->l_start = from->l_start;
to->l_len = from->l_len;
to->l_pid = from->l_pid;
return 0;
}
#endif /* ndef HAVE_STRUCT_FLOCK */
#ifdef HAVE_STRUCT_IOVEC
int
Mono_Posix_FromIovec (struct Mono_Posix_Iovec *from, struct iovec *to)
{
_cnm_return_val_if_overflow (guint64, from->iov_len, -1);
memset (to, 0, sizeof(*to));
to->iov_base = from->iov_base;
to->iov_len = from->iov_len;
return 0;
}
#endif /* ndef HAVE_STRUCT_IOVEC */
#ifdef HAVE_STRUCT_IOVEC
int
Mono_Posix_ToIovec (struct iovec *from, struct Mono_Posix_Iovec *to)
{
_cnm_return_val_if_overflow (guint64, from->iov_len, -1);
memset (to, 0, sizeof(*to));
to->iov_base = from->iov_base;
to->iov_len = from->iov_len;
return 0;
}
#endif /* ndef HAVE_STRUCT_IOVEC */
#ifdef HAVE_STRUCT_LINGER
int
Mono_Posix_FromLinger (struct Mono_Posix_Linger *from, struct linger *to)
{
_cnm_return_val_if_overflow (int, from->l_onoff, -1);
_cnm_return_val_if_overflow (int, from->l_linger, -1);
memset (to, 0, sizeof(*to));
to->l_onoff = from->l_onoff;
to->l_linger = from->l_linger;
return 0;
}
#endif /* ndef HAVE_STRUCT_LINGER */
#ifdef HAVE_STRUCT_LINGER
int
Mono_Posix_ToLinger (struct linger *from, struct Mono_Posix_Linger *to)
{
_cnm_return_val_if_overflow (int, from->l_onoff, -1);
_cnm_return_val_if_overflow (int, from->l_linger, -1);
memset (to, 0, sizeof(*to));
to->l_onoff = from->l_onoff;
to->l_linger = from->l_linger;
return 0;
}
#endif /* ndef HAVE_STRUCT_LINGER */
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 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 */
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 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 */
if (x == 0)
return 0;
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_FromMemfdFlags (unsigned int x, unsigned int *r)
{
*r = 0;
if ((x & Mono_Posix_MemfdFlags_MFD_ALLOW_SEALING) == Mono_Posix_MemfdFlags_MFD_ALLOW_SEALING)
#ifdef MFD_ALLOW_SEALING
*r |= MFD_ALLOW_SEALING;
#else /* def MFD_ALLOW_SEALING */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_ALLOW_SEALING */
if ((x & Mono_Posix_MemfdFlags_MFD_CLOEXEC) == Mono_Posix_MemfdFlags_MFD_CLOEXEC)
#ifdef MFD_CLOEXEC
*r |= MFD_CLOEXEC;
#else /* def MFD_CLOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_CLOEXEC */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGETLB) == Mono_Posix_MemfdFlags_MFD_HUGETLB)
#ifdef MFD_HUGETLB
*r |= MFD_HUGETLB;
#else /* def MFD_HUGETLB */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_HUGETLB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_16GB) == Mono_Posix_MemfdFlags_MFD_HUGE_16GB)
#ifdef MFD_HUGE_16GB
*r |= MFD_HUGE_16GB;
#else /* def MFD_HUGE_16GB */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_HUGE_16GB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_16MB) == Mono_Posix_MemfdFlags_MFD_HUGE_16MB)
#ifdef MFD_HUGE_16MB
*r |= MFD_HUGE_16MB;
#else /* def MFD_HUGE_16MB */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_HUGE_16MB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_1GB) == Mono_Posix_MemfdFlags_MFD_HUGE_1GB)
#ifdef MFD_HUGE_1GB
*r |= MFD_HUGE_1GB;
#else /* def MFD_HUGE_1GB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_1GB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_1GB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_1MB) == Mono_Posix_MemfdFlags_MFD_HUGE_1MB)
#ifdef MFD_HUGE_1MB
*r |= MFD_HUGE_1MB;
#else /* def MFD_HUGE_1MB */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_HUGE_1MB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_256MB) == Mono_Posix_MemfdFlags_MFD_HUGE_256MB)
#ifdef MFD_HUGE_256MB
*r |= MFD_HUGE_256MB;
#else /* def MFD_HUGE_256MB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_256MB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_256MB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_2GB) == Mono_Posix_MemfdFlags_MFD_HUGE_2GB)
#ifdef MFD_HUGE_2GB
*r |= MFD_HUGE_2GB;
#else /* def MFD_HUGE_2GB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_2GB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_2GB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_2MB) == Mono_Posix_MemfdFlags_MFD_HUGE_2MB)
#ifdef MFD_HUGE_2MB
*r |= MFD_HUGE_2MB;
#else /* def MFD_HUGE_2MB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_2MB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_2MB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_32MB) == Mono_Posix_MemfdFlags_MFD_HUGE_32MB)
#ifdef MFD_HUGE_32MB
*r |= MFD_HUGE_32MB;
#else /* def MFD_HUGE_32MB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_32MB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_32MB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_512KB) == Mono_Posix_MemfdFlags_MFD_HUGE_512KB)
#ifdef MFD_HUGE_512KB
*r |= MFD_HUGE_512KB;
#else /* def MFD_HUGE_512KB */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_HUGE_512KB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_512MB) == Mono_Posix_MemfdFlags_MFD_HUGE_512MB)
#ifdef MFD_HUGE_512MB
*r |= MFD_HUGE_512MB;
#else /* def MFD_HUGE_512MB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_512MB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_512MB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_64KB) == Mono_Posix_MemfdFlags_MFD_HUGE_64KB)
#ifdef MFD_HUGE_64KB
*r |= MFD_HUGE_64KB;
#else /* def MFD_HUGE_64KB */
{errno = EINVAL; return -1;}
#endif /* ndef MFD_HUGE_64KB */
if ((x & Mono_Posix_MemfdFlags_MFD_HUGE_8MB) == Mono_Posix_MemfdFlags_MFD_HUGE_8MB)
#ifdef MFD_HUGE_8MB
*r |= MFD_HUGE_8MB;
#else /* def MFD_HUGE_8MB */
{/* Ignoring Mono_Posix_MemfdFlags_MFD_HUGE_8MB, as it is constructed from other values */}
#endif /* ndef MFD_HUGE_8MB */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToMemfdFlags (unsigned int x, unsigned int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef MFD_ALLOW_SEALING
if ((x & MFD_ALLOW_SEALING) == MFD_ALLOW_SEALING)
*r |= Mono_Posix_MemfdFlags_MFD_ALLOW_SEALING;
#endif /* ndef MFD_ALLOW_SEALING */
#ifdef MFD_CLOEXEC
if ((x & MFD_CLOEXEC) == MFD_CLOEXEC)
*r |= Mono_Posix_MemfdFlags_MFD_CLOEXEC;
#endif /* ndef MFD_CLOEXEC */
#ifdef MFD_HUGETLB
if ((x & MFD_HUGETLB) == MFD_HUGETLB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGETLB;
#endif /* ndef MFD_HUGETLB */
#ifdef MFD_HUGE_16GB
if ((x & MFD_HUGE_16GB) == MFD_HUGE_16GB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_16GB;
#endif /* ndef MFD_HUGE_16GB */
#ifdef MFD_HUGE_16MB
if ((x & MFD_HUGE_16MB) == MFD_HUGE_16MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_16MB;
#endif /* ndef MFD_HUGE_16MB */
#ifdef MFD_HUGE_1GB
if ((x & MFD_HUGE_1GB) == MFD_HUGE_1GB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_1GB;
#endif /* ndef MFD_HUGE_1GB */
#ifdef MFD_HUGE_1MB
if ((x & MFD_HUGE_1MB) == MFD_HUGE_1MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_1MB;
#endif /* ndef MFD_HUGE_1MB */
#ifdef MFD_HUGE_256MB
if ((x & MFD_HUGE_256MB) == MFD_HUGE_256MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_256MB;
#endif /* ndef MFD_HUGE_256MB */
#ifdef MFD_HUGE_2GB
if ((x & MFD_HUGE_2GB) == MFD_HUGE_2GB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_2GB;
#endif /* ndef MFD_HUGE_2GB */
#ifdef MFD_HUGE_2MB
if ((x & MFD_HUGE_2MB) == MFD_HUGE_2MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_2MB;
#endif /* ndef MFD_HUGE_2MB */
#ifdef MFD_HUGE_32MB
if ((x & MFD_HUGE_32MB) == MFD_HUGE_32MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_32MB;
#endif /* ndef MFD_HUGE_32MB */
#ifdef MFD_HUGE_512KB
if ((x & MFD_HUGE_512KB) == MFD_HUGE_512KB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_512KB;
#endif /* ndef MFD_HUGE_512KB */
#ifdef MFD_HUGE_512MB
if ((x & MFD_HUGE_512MB) == MFD_HUGE_512MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_512MB;
#endif /* ndef MFD_HUGE_512MB */
#ifdef MFD_HUGE_64KB
if ((x & MFD_HUGE_64KB) == MFD_HUGE_64KB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_64KB;
#endif /* ndef MFD_HUGE_64KB */
#ifdef MFD_HUGE_8MB
if ((x & MFD_HUGE_8MB) == MFD_HUGE_8MB)
*r |= Mono_Posix_MemfdFlags_MFD_HUGE_8MB;
#endif /* ndef MFD_HUGE_8MB */
return 0;
}
int Mono_Posix_FromMessageFlags (int x, int *r)
{
*r = 0;
if ((x & Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC) == Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC)
#ifdef MSG_CMSG_CLOEXEC
*r |= MSG_CMSG_CLOEXEC;
#else /* def MSG_CMSG_CLOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_CMSG_CLOEXEC */
if ((x & Mono_Posix_MessageFlags_MSG_CONFIRM) == Mono_Posix_MessageFlags_MSG_CONFIRM)
#ifdef MSG_CONFIRM
*r |= MSG_CONFIRM;
#else /* def MSG_CONFIRM */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_CONFIRM */
if ((x & Mono_Posix_MessageFlags_MSG_CTRUNC) == Mono_Posix_MessageFlags_MSG_CTRUNC)
#ifdef MSG_CTRUNC
*r |= MSG_CTRUNC;
#else /* def MSG_CTRUNC */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_CTRUNC */
if ((x & Mono_Posix_MessageFlags_MSG_DONTROUTE) == Mono_Posix_MessageFlags_MSG_DONTROUTE)
#ifdef MSG_DONTROUTE
*r |= MSG_DONTROUTE;
#else /* def MSG_DONTROUTE */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_DONTROUTE */
if ((x & Mono_Posix_MessageFlags_MSG_DONTWAIT) == Mono_Posix_MessageFlags_MSG_DONTWAIT)
#ifdef MSG_DONTWAIT
*r |= MSG_DONTWAIT;
#else /* def MSG_DONTWAIT */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_DONTWAIT */
if ((x & Mono_Posix_MessageFlags_MSG_EOR) == Mono_Posix_MessageFlags_MSG_EOR)
#ifdef MSG_EOR
*r |= MSG_EOR;
#else /* def MSG_EOR */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_EOR */
if ((x & Mono_Posix_MessageFlags_MSG_ERRQUEUE) == Mono_Posix_MessageFlags_MSG_ERRQUEUE)
#ifdef MSG_ERRQUEUE
*r |= MSG_ERRQUEUE;
#else /* def MSG_ERRQUEUE */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_ERRQUEUE */
if ((x & Mono_Posix_MessageFlags_MSG_FASTOPEN) == Mono_Posix_MessageFlags_MSG_FASTOPEN)
#ifdef MSG_FASTOPEN
*r |= MSG_FASTOPEN;
#else /* def MSG_FASTOPEN */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_FASTOPEN */
if ((x & Mono_Posix_MessageFlags_MSG_FIN) == Mono_Posix_MessageFlags_MSG_FIN)
#ifdef MSG_FIN
*r |= MSG_FIN;
#else /* def MSG_FIN */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_FIN */
if ((x & Mono_Posix_MessageFlags_MSG_MORE) == Mono_Posix_MessageFlags_MSG_MORE)
#ifdef MSG_MORE
*r |= MSG_MORE;
#else /* def MSG_MORE */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_MORE */
if ((x & Mono_Posix_MessageFlags_MSG_NOSIGNAL) == Mono_Posix_MessageFlags_MSG_NOSIGNAL)
#ifdef MSG_NOSIGNAL
*r |= MSG_NOSIGNAL;
#else /* def MSG_NOSIGNAL */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_NOSIGNAL */
if ((x & Mono_Posix_MessageFlags_MSG_OOB) == Mono_Posix_MessageFlags_MSG_OOB)
#ifdef MSG_OOB
*r |= MSG_OOB;
#else /* def MSG_OOB */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_OOB */
if ((x & Mono_Posix_MessageFlags_MSG_PEEK) == Mono_Posix_MessageFlags_MSG_PEEK)
#ifdef MSG_PEEK
*r |= MSG_PEEK;
#else /* def MSG_PEEK */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_PEEK */
if ((x & Mono_Posix_MessageFlags_MSG_PROXY) == Mono_Posix_MessageFlags_MSG_PROXY)
#ifdef MSG_PROXY
*r |= MSG_PROXY;
#else /* def MSG_PROXY */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_PROXY */
if ((x & Mono_Posix_MessageFlags_MSG_RST) == Mono_Posix_MessageFlags_MSG_RST)
#ifdef MSG_RST
*r |= MSG_RST;
#else /* def MSG_RST */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_RST */
if ((x & Mono_Posix_MessageFlags_MSG_SYN) == Mono_Posix_MessageFlags_MSG_SYN)
#ifdef MSG_SYN
*r |= MSG_SYN;
#else /* def MSG_SYN */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_SYN */
if ((x & Mono_Posix_MessageFlags_MSG_TRUNC) == Mono_Posix_MessageFlags_MSG_TRUNC)
#ifdef MSG_TRUNC
*r |= MSG_TRUNC;
#else /* def MSG_TRUNC */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_TRUNC */
if ((x & Mono_Posix_MessageFlags_MSG_WAITALL) == Mono_Posix_MessageFlags_MSG_WAITALL)
#ifdef MSG_WAITALL
*r |= MSG_WAITALL;
#else /* def MSG_WAITALL */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_WAITALL */
if ((x & Mono_Posix_MessageFlags_MSG_WAITFORONE) == Mono_Posix_MessageFlags_MSG_WAITFORONE)
#ifdef MSG_WAITFORONE
*r |= MSG_WAITFORONE;
#else /* def MSG_WAITFORONE */
{errno = EINVAL; return -1;}
#endif /* ndef MSG_WAITFORONE */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToMessageFlags (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef MSG_CMSG_CLOEXEC
if ((x & MSG_CMSG_CLOEXEC) == MSG_CMSG_CLOEXEC)
*r |= Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC;
#endif /* ndef MSG_CMSG_CLOEXEC */
#ifdef MSG_CONFIRM
if ((x & MSG_CONFIRM) == MSG_CONFIRM)
*r |= Mono_Posix_MessageFlags_MSG_CONFIRM;
#endif /* ndef MSG_CONFIRM */
#ifdef MSG_CTRUNC
if ((x & MSG_CTRUNC) == MSG_CTRUNC)
*r |= Mono_Posix_MessageFlags_MSG_CTRUNC;
#endif /* ndef MSG_CTRUNC */
#ifdef MSG_DONTROUTE
if ((x & MSG_DONTROUTE) == MSG_DONTROUTE)
*r |= Mono_Posix_MessageFlags_MSG_DONTROUTE;
#endif /* ndef MSG_DONTROUTE */
#ifdef MSG_DONTWAIT
if ((x & MSG_DONTWAIT) == MSG_DONTWAIT)
*r |= Mono_Posix_MessageFlags_MSG_DONTWAIT;
#endif /* ndef MSG_DONTWAIT */
#ifdef MSG_EOR
if ((x & MSG_EOR) == MSG_EOR)
*r |= Mono_Posix_MessageFlags_MSG_EOR;
#endif /* ndef MSG_EOR */
#ifdef MSG_ERRQUEUE
if ((x & MSG_ERRQUEUE) == MSG_ERRQUEUE)
*r |= Mono_Posix_MessageFlags_MSG_ERRQUEUE;
#endif /* ndef MSG_ERRQUEUE */
#ifdef MSG_FASTOPEN
if ((x & MSG_FASTOPEN) == MSG_FASTOPEN)
*r |= Mono_Posix_MessageFlags_MSG_FASTOPEN;
#endif /* ndef MSG_FASTOPEN */
#ifdef MSG_FIN
if ((x & MSG_FIN) == MSG_FIN)
*r |= Mono_Posix_MessageFlags_MSG_FIN;
#endif /* ndef MSG_FIN */
#ifdef MSG_MORE
if ((x & MSG_MORE) == MSG_MORE)
*r |= Mono_Posix_MessageFlags_MSG_MORE;
#endif /* ndef MSG_MORE */
#ifdef MSG_NOSIGNAL
if ((x & MSG_NOSIGNAL) == MSG_NOSIGNAL)
*r |= Mono_Posix_MessageFlags_MSG_NOSIGNAL;
#endif /* ndef MSG_NOSIGNAL */
#ifdef MSG_OOB
if ((x & MSG_OOB) == MSG_OOB)
*r |= Mono_Posix_MessageFlags_MSG_OOB;
#endif /* ndef MSG_OOB */
#ifdef MSG_PEEK
if ((x & MSG_PEEK) == MSG_PEEK)
*r |= Mono_Posix_MessageFlags_MSG_PEEK;
#endif /* ndef MSG_PEEK */
#ifdef MSG_PROXY
if ((x & MSG_PROXY) == MSG_PROXY)
*r |= Mono_Posix_MessageFlags_MSG_PROXY;
#endif /* ndef MSG_PROXY */
#ifdef MSG_RST
if ((x & MSG_RST) == MSG_RST)
*r |= Mono_Posix_MessageFlags_MSG_RST;
#endif /* ndef MSG_RST */
#ifdef MSG_SYN
if ((x & MSG_SYN) == MSG_SYN)
*r |= Mono_Posix_MessageFlags_MSG_SYN;
#endif /* ndef MSG_SYN */
#ifdef MSG_TRUNC
if ((x & MSG_TRUNC) == MSG_TRUNC)
*r |= Mono_Posix_MessageFlags_MSG_TRUNC;
#endif /* ndef MSG_TRUNC */
#ifdef MSG_WAITALL
if ((x & MSG_WAITALL) == MSG_WAITALL)
*r |= Mono_Posix_MessageFlags_MSG_WAITALL;
#endif /* ndef MSG_WAITALL */
#ifdef MSG_WAITFORONE
if ((x & MSG_WAITFORONE) == MSG_WAITFORONE)
*r |= Mono_Posix_MessageFlags_MSG_WAITFORONE;
#endif /* ndef MSG_WAITFORONE */
return 0;
}
int Mono_Posix_FromMlockallFlags (int x, int *r)
{
*r = 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 */
if (x == 0)
return 0;
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 & 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 */
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 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 */
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 ST_APPEND */
if ((x & Mono_Posix_MountFlags_ST_BIND) == Mono_Posix_MountFlags_ST_BIND)
#ifdef ST_BIND
*r |= ST_BIND;
#else /* def ST_BIND */
{errno = EINVAL; return -1;}
#endif /* ndef ST_BIND */
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_NOEXEC) == Mono_Posix_MountFlags_ST_NOEXEC)
#ifdef ST_NOEXEC
*r |= ST_NOEXEC;
#else /* def ST_NOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef ST_NOEXEC */
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_REMOUNT) == Mono_Posix_MountFlags_ST_REMOUNT)
#ifdef ST_REMOUNT
*r |= ST_REMOUNT;
#else /* def ST_REMOUNT */
{errno = EINVAL; return -1;}
#endif /* ndef ST_REMOUNT */
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 */
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_BIND
if ((x & ST_BIND) == ST_BIND)
*r |= Mono_Posix_MountFlags_ST_BIND;
#endif /* ndef ST_BIND */
#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_NOEXEC
if ((x & ST_NOEXEC) == ST_NOEXEC)
*r |= Mono_Posix_MountFlags_ST_NOEXEC;
#endif /* ndef ST_NOEXEC */
#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_REMOUNT
if ((x & ST_REMOUNT) == ST_REMOUNT)
*r |= Mono_Posix_MountFlags_ST_REMOUNT;
#endif /* ndef ST_REMOUNT */
#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_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 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 */
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 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_CLOEXEC) == Mono_Posix_OpenFlags_O_CLOEXEC)
#ifdef O_CLOEXEC
*r |= O_CLOEXEC;
#else /* def O_CLOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef O_CLOEXEC */
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_NOATIME) == Mono_Posix_OpenFlags_O_NOATIME)
#ifdef O_NOATIME
*r |= O_NOATIME;
#else /* def O_NOATIME */
{errno = EINVAL; return -1;}
#endif /* ndef O_NOATIME */
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_PATH) == Mono_Posix_OpenFlags_O_PATH)
#ifdef O_PATH
*r |= O_PATH;
#else /* def O_PATH */
{errno = EINVAL; return -1;}
#endif /* ndef O_PATH */
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 */
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_CLOEXEC
if ((x & O_CLOEXEC) == O_CLOEXEC)
*r |= Mono_Posix_OpenFlags_O_CLOEXEC;
#endif /* ndef O_CLOEXEC */
#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_NOATIME
if ((x & O_NOATIME) == O_NOATIME)
*r |= Mono_Posix_OpenFlags_O_NOATIME;
#endif /* ndef O_NOATIME */
#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_PATH
if ((x & O_PATH) == O_PATH)
*r |= Mono_Posix_OpenFlags_O_PATH;
#endif /* ndef O_PATH */
#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 _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 */
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 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 */
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;
}
#ifdef HAVE_STRUCT_POLLFD
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;
}
#endif /* ndef HAVE_STRUCT_POLLFD */
#ifdef HAVE_STRUCT_POLLFD
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;
}
#endif /* ndef HAVE_STRUCT_POLLFD */
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 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 */
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 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 */
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_FromSealType (int x, int *r)
{
*r = 0;
if ((x & Mono_Posix_SealType_F_SEAL_FUTURE_WRITE) == Mono_Posix_SealType_F_SEAL_FUTURE_WRITE)
#ifdef F_SEAL_FUTURE_WRITE
*r |= F_SEAL_FUTURE_WRITE;
#else /* def F_SEAL_FUTURE_WRITE */
{errno = EINVAL; return -1;}
#endif /* ndef F_SEAL_FUTURE_WRITE */
if ((x & Mono_Posix_SealType_F_SEAL_GROW) == Mono_Posix_SealType_F_SEAL_GROW)
#ifdef F_SEAL_GROW
*r |= F_SEAL_GROW;
#else /* def F_SEAL_GROW */
{errno = EINVAL; return -1;}
#endif /* ndef F_SEAL_GROW */
if ((x & Mono_Posix_SealType_F_SEAL_SEAL) == Mono_Posix_SealType_F_SEAL_SEAL)
#ifdef F_SEAL_SEAL
*r |= F_SEAL_SEAL;
#else /* def F_SEAL_SEAL */
{errno = EINVAL; return -1;}
#endif /* ndef F_SEAL_SEAL */
if ((x & Mono_Posix_SealType_F_SEAL_SHRINK) == Mono_Posix_SealType_F_SEAL_SHRINK)
#ifdef F_SEAL_SHRINK
*r |= F_SEAL_SHRINK;
#else /* def F_SEAL_SHRINK */
{errno = EINVAL; return -1;}
#endif /* ndef F_SEAL_SHRINK */
if ((x & Mono_Posix_SealType_F_SEAL_WRITE) == Mono_Posix_SealType_F_SEAL_WRITE)
#ifdef F_SEAL_WRITE
*r |= F_SEAL_WRITE;
#else /* def F_SEAL_WRITE */
{errno = EINVAL; return -1;}
#endif /* ndef F_SEAL_WRITE */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToSealType (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef F_SEAL_FUTURE_WRITE
if ((x & F_SEAL_FUTURE_WRITE) == F_SEAL_FUTURE_WRITE)
*r |= Mono_Posix_SealType_F_SEAL_FUTURE_WRITE;
#endif /* ndef F_SEAL_FUTURE_WRITE */
#ifdef F_SEAL_GROW
if ((x & F_SEAL_GROW) == F_SEAL_GROW)
*r |= Mono_Posix_SealType_F_SEAL_GROW;
#endif /* ndef F_SEAL_GROW */
#ifdef F_SEAL_SEAL
if ((x & F_SEAL_SEAL) == F_SEAL_SEAL)
*r |= Mono_Posix_SealType_F_SEAL_SEAL;
#endif /* ndef F_SEAL_SEAL */
#ifdef F_SEAL_SHRINK
if ((x & F_SEAL_SHRINK) == F_SEAL_SHRINK)
*r |= Mono_Posix_SealType_F_SEAL_SHRINK;
#endif /* ndef F_SEAL_SHRINK */
#ifdef F_SEAL_WRITE
if ((x & F_SEAL_WRITE) == F_SEAL_WRITE)
*r |= Mono_Posix_SealType_F_SEAL_WRITE;
#endif /* ndef F_SEAL_WRITE */
return 0;
}
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 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 */
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_FromShutdownOption (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_ShutdownOption_SHUT_RD)
#ifdef SHUT_RD
{*r = SHUT_RD; return 0;}
#else /* def SHUT_RD */
{errno = EINVAL; return -1;}
#endif /* ndef SHUT_RD */
if (x == Mono_Posix_ShutdownOption_SHUT_RDWR)
#ifdef SHUT_RDWR
{*r = SHUT_RDWR; return 0;}
#else /* def SHUT_RDWR */
{errno = EINVAL; return -1;}
#endif /* ndef SHUT_RDWR */
if (x == Mono_Posix_ShutdownOption_SHUT_WR)
#ifdef SHUT_WR
{*r = SHUT_WR; return 0;}
#else /* def SHUT_WR */
{errno = EINVAL; return -1;}
#endif /* ndef SHUT_WR */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToShutdownOption (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef SHUT_RD
if (x == SHUT_RD)
{*r = Mono_Posix_ShutdownOption_SHUT_RD; return 0;}
#endif /* ndef SHUT_RD */
#ifdef SHUT_RDWR
if (x == SHUT_RDWR)
{*r = Mono_Posix_ShutdownOption_SHUT_RDWR; return 0;}
#endif /* ndef SHUT_RDWR */
#ifdef SHUT_WR
if (x == SHUT_WR)
{*r = Mono_Posix_ShutdownOption_SHUT_WR; return 0;}
#endif /* ndef SHUT_WR */
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 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 */
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;
}
#ifdef HAVE_STRUCT_SOCKADDR_IN
int
Mono_Posix_FromSockaddrIn (struct Mono_Posix_SockaddrIn *from, struct sockaddr_in *to)
{
_cnm_return_val_if_overflow (unsigned short, from->sin_port, -1);
memset (to, 0, sizeof(*to));
to->sin_port = from->sin_port;
if (Mono_Posix_FromInAddr (&from->sin_addr, &to->sin_addr) != 0) {
return -1;
}
return 0;
}
#endif /* ndef HAVE_STRUCT_SOCKADDR_IN */
#ifdef HAVE_STRUCT_SOCKADDR_IN
int
Mono_Posix_ToSockaddrIn (struct sockaddr_in *from, struct Mono_Posix_SockaddrIn *to)
{
_cnm_return_val_if_overflow (unsigned short, from->sin_port, -1);
memset (to, 0, sizeof(*to));
to->sin_port = from->sin_port;
if (Mono_Posix_ToInAddr (&from->sin_addr, &to->sin_addr) != 0) {
return -1;
}
return 0;
}
#endif /* ndef HAVE_STRUCT_SOCKADDR_IN */
#ifdef HAVE_STRUCT_SOCKADDR_IN6
int
Mono_Posix_FromSockaddrIn6 (struct Mono_Posix_SockaddrIn6 *from, struct sockaddr_in6 *to)
{
_cnm_return_val_if_overflow (unsigned short, from->sin6_port, -1);
_cnm_return_val_if_overflow (unsigned int, from->sin6_flowinfo, -1);
_cnm_return_val_if_overflow (unsigned int, from->sin6_scope_id, -1);
memset (to, 0, sizeof(*to));
to->sin6_port = from->sin6_port;
to->sin6_flowinfo = from->sin6_flowinfo;
if (Mono_Posix_FromIn6Addr (&from->sin6_addr, &to->sin6_addr) != 0) {
return -1;
}
to->sin6_scope_id = from->sin6_scope_id;
return 0;
}
#endif /* ndef HAVE_STRUCT_SOCKADDR_IN6 */
#ifdef HAVE_STRUCT_SOCKADDR_IN6
int
Mono_Posix_ToSockaddrIn6 (struct sockaddr_in6 *from, struct Mono_Posix_SockaddrIn6 *to)
{
_cnm_return_val_if_overflow (unsigned short, from->sin6_port, -1);
_cnm_return_val_if_overflow (unsigned int, from->sin6_flowinfo, -1);
_cnm_return_val_if_overflow (unsigned int, from->sin6_scope_id, -1);
memset (to, 0, sizeof(*to));
to->sin6_port = from->sin6_port;
to->sin6_flowinfo = from->sin6_flowinfo;
if (Mono_Posix_ToIn6Addr (&from->sin6_addr, &to->sin6_addr) != 0) {
return -1;
}
to->sin6_scope_id = from->sin6_scope_id;
return 0;
}
#endif /* ndef HAVE_STRUCT_SOCKADDR_IN6 */
int Mono_Posix_FromSockaddrType (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_SockaddrType_Invalid)
#ifdef Invalid
{*r = Invalid; return 0;}
#else /* def Invalid */
{errno = EINVAL; return -1;}
#endif /* ndef Invalid */
if (x == Mono_Posix_SockaddrType_MustBeWrapped)
#ifdef MustBeWrapped
{*r = MustBeWrapped; return 0;}
#else /* def MustBeWrapped */
{errno = EINVAL; return -1;}
#endif /* ndef MustBeWrapped */
if (x == Mono_Posix_SockaddrType_Sockaddr)
#ifdef Sockaddr
{*r = Sockaddr; return 0;}
#else /* def Sockaddr */
{errno = EINVAL; return -1;}
#endif /* ndef Sockaddr */
if (x == Mono_Posix_SockaddrType_SockaddrIn)
#ifdef SockaddrIn
{*r = SockaddrIn; return 0;}
#else /* def SockaddrIn */
{errno = EINVAL; return -1;}
#endif /* ndef SockaddrIn */
if (x == Mono_Posix_SockaddrType_SockaddrIn6)
#ifdef SockaddrIn6
{*r = SockaddrIn6; return 0;}
#else /* def SockaddrIn6 */
{errno = EINVAL; return -1;}
#endif /* ndef SockaddrIn6 */
if (x == Mono_Posix_SockaddrType_SockaddrStorage)
#ifdef SockaddrStorage
{*r = SockaddrStorage; return 0;}
#else /* def SockaddrStorage */
{errno = EINVAL; return -1;}
#endif /* ndef SockaddrStorage */
if (x == Mono_Posix_SockaddrType_SockaddrUn)
#ifdef SockaddrUn
{*r = SockaddrUn; return 0;}
#else /* def SockaddrUn */
{errno = EINVAL; return -1;}
#endif /* ndef SockaddrUn */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToSockaddrType (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef Invalid
if (x == Invalid)
{*r = Mono_Posix_SockaddrType_Invalid; return 0;}
#endif /* ndef Invalid */
#ifdef MustBeWrapped
if (x == MustBeWrapped)
{*r = Mono_Posix_SockaddrType_MustBeWrapped; return 0;}
#endif /* ndef MustBeWrapped */
#ifdef Sockaddr
if (x == Sockaddr)
{*r = Mono_Posix_SockaddrType_Sockaddr; return 0;}
#endif /* ndef Sockaddr */
#ifdef SockaddrIn
if (x == SockaddrIn)
{*r = Mono_Posix_SockaddrType_SockaddrIn; return 0;}
#endif /* ndef SockaddrIn */
#ifdef SockaddrIn6
if (x == SockaddrIn6)
{*r = Mono_Posix_SockaddrType_SockaddrIn6; return 0;}
#endif /* ndef SockaddrIn6 */
#ifdef SockaddrStorage
if (x == SockaddrStorage)
{*r = Mono_Posix_SockaddrType_SockaddrStorage; return 0;}
#endif /* ndef SockaddrStorage */
#ifdef SockaddrUn
if (x == SockaddrUn)
{*r = Mono_Posix_SockaddrType_SockaddrUn; return 0;}
#endif /* ndef SockaddrUn */
errno = EINVAL; return -1;
}
int Mono_Posix_FromSysconfName (int x, int *r)
{
*r = 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 */
if (x == 0)
return 0;
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 == 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;
}
#ifdef HAVE_STRUCT_TIMESPEC
int
Mono_Posix_FromTimespec (struct Mono_Posix_Timespec *from, struct timespec *to)
{
_cnm_return_val_if_overflow (time_t, from->tv_sec, -1);
_cnm_return_val_if_overflow (gint64, from->tv_nsec, -1);
memset (to, 0, sizeof(*to));
to->tv_sec = from->tv_sec;
to->tv_nsec = from->tv_nsec;
return 0;
}
#endif /* ndef HAVE_STRUCT_TIMESPEC */
#ifdef HAVE_STRUCT_TIMESPEC
int
Mono_Posix_ToTimespec (struct timespec *from, struct Mono_Posix_Timespec *to)
{
_cnm_return_val_if_overflow (gint64, from->tv_sec, -1);
_cnm_return_val_if_overflow (gint64, from->tv_nsec, -1);
memset (to, 0, sizeof(*to));
to->tv_sec = from->tv_sec;
to->tv_nsec = from->tv_nsec;
return 0;
}
#endif /* ndef HAVE_STRUCT_TIMESPEC */
#ifdef HAVE_STRUCT_TIMEVAL
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;
}
#endif /* ndef HAVE_STRUCT_TIMEVAL */
#ifdef HAVE_STRUCT_TIMEVAL
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;
}
#endif /* ndef HAVE_STRUCT_TIMEVAL */
#ifdef HAVE_STRUCT_TIMEZONE
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;
}
#endif /* ndef HAVE_STRUCT_TIMEZONE */
#ifdef HAVE_STRUCT_TIMEZONE
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;
}
#endif /* ndef HAVE_STRUCT_TIMEZONE */
int Mono_Posix_FromUnixAddressFamily (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_UnixAddressFamily_AF_ALG)
#ifdef AF_ALG
{*r = AF_ALG; return 0;}
#else /* def AF_ALG */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ALG */
if (x == Mono_Posix_UnixAddressFamily_AF_APPLETALK)
#ifdef AF_APPLETALK
{*r = AF_APPLETALK; return 0;}
#else /* def AF_APPLETALK */
{errno = EINVAL; return -1;}
#endif /* ndef AF_APPLETALK */
if (x == Mono_Posix_UnixAddressFamily_AF_ASH)
#ifdef AF_ASH
{*r = AF_ASH; return 0;}
#else /* def AF_ASH */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ASH */
if (x == Mono_Posix_UnixAddressFamily_AF_ATMPVC)
#ifdef AF_ATMPVC
{*r = AF_ATMPVC; return 0;}
#else /* def AF_ATMPVC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ATMPVC */
if (x == Mono_Posix_UnixAddressFamily_AF_ATMSVC)
#ifdef AF_ATMSVC
{*r = AF_ATMSVC; return 0;}
#else /* def AF_ATMSVC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ATMSVC */
if (x == Mono_Posix_UnixAddressFamily_AF_AX25)
#ifdef AF_AX25
{*r = AF_AX25; return 0;}
#else /* def AF_AX25 */
{errno = EINVAL; return -1;}
#endif /* ndef AF_AX25 */
if (x == Mono_Posix_UnixAddressFamily_AF_BLUETOOTH)
#ifdef AF_BLUETOOTH
{*r = AF_BLUETOOTH; return 0;}
#else /* def AF_BLUETOOTH */
{errno = EINVAL; return -1;}
#endif /* ndef AF_BLUETOOTH */
if (x == Mono_Posix_UnixAddressFamily_AF_BRIDGE)
#ifdef AF_BRIDGE
{*r = AF_BRIDGE; return 0;}
#else /* def AF_BRIDGE */
{errno = EINVAL; return -1;}
#endif /* ndef AF_BRIDGE */
if (x == Mono_Posix_UnixAddressFamily_AF_CAIF)
#ifdef AF_CAIF
{*r = AF_CAIF; return 0;}
#else /* def AF_CAIF */
{errno = EINVAL; return -1;}
#endif /* ndef AF_CAIF */
if (x == Mono_Posix_UnixAddressFamily_AF_CAN)
#ifdef AF_CAN
{*r = AF_CAN; return 0;}
#else /* def AF_CAN */
{errno = EINVAL; return -1;}
#endif /* ndef AF_CAN */
if (x == Mono_Posix_UnixAddressFamily_AF_DECnet)
#ifdef AF_DECnet
{*r = AF_DECnet; return 0;}
#else /* def AF_DECnet */
{errno = EINVAL; return -1;}
#endif /* ndef AF_DECnet */
if (x == Mono_Posix_UnixAddressFamily_AF_ECONET)
#ifdef AF_ECONET
{*r = AF_ECONET; return 0;}
#else /* def AF_ECONET */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ECONET */
if (x == Mono_Posix_UnixAddressFamily_AF_IEEE802154)
#ifdef AF_IEEE802154
{*r = AF_IEEE802154; return 0;}
#else /* def AF_IEEE802154 */
{errno = EINVAL; return -1;}
#endif /* ndef AF_IEEE802154 */
if (x == Mono_Posix_UnixAddressFamily_AF_INET)
#ifdef AF_INET
{*r = AF_INET; return 0;}
#else /* def AF_INET */
{errno = EINVAL; return -1;}
#endif /* ndef AF_INET */
if (x == Mono_Posix_UnixAddressFamily_AF_INET6)
#ifdef AF_INET6
{*r = AF_INET6; return 0;}
#else /* def AF_INET6 */
{errno = EINVAL; return -1;}
#endif /* ndef AF_INET6 */
if (x == Mono_Posix_UnixAddressFamily_AF_IPX)
#ifdef AF_IPX
{*r = AF_IPX; return 0;}
#else /* def AF_IPX */
{errno = EINVAL; return -1;}
#endif /* ndef AF_IPX */
if (x == Mono_Posix_UnixAddressFamily_AF_IRDA)
#ifdef AF_IRDA
{*r = AF_IRDA; return 0;}
#else /* def AF_IRDA */
{errno = EINVAL; return -1;}
#endif /* ndef AF_IRDA */
if (x == Mono_Posix_UnixAddressFamily_AF_ISDN)
#ifdef AF_ISDN
{*r = AF_ISDN; return 0;}
#else /* def AF_ISDN */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ISDN */
if (x == Mono_Posix_UnixAddressFamily_AF_IUCV)
#ifdef AF_IUCV
{*r = AF_IUCV; return 0;}
#else /* def AF_IUCV */
{errno = EINVAL; return -1;}
#endif /* ndef AF_IUCV */
if (x == Mono_Posix_UnixAddressFamily_AF_KEY)
#ifdef AF_KEY
{*r = AF_KEY; return 0;}
#else /* def AF_KEY */
{errno = EINVAL; return -1;}
#endif /* ndef AF_KEY */
if (x == Mono_Posix_UnixAddressFamily_AF_LLC)
#ifdef AF_LLC
{*r = AF_LLC; return 0;}
#else /* def AF_LLC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_LLC */
if (x == Mono_Posix_UnixAddressFamily_AF_NETBEUI)
#ifdef AF_NETBEUI
{*r = AF_NETBEUI; return 0;}
#else /* def AF_NETBEUI */
{errno = EINVAL; return -1;}
#endif /* ndef AF_NETBEUI */
if (x == Mono_Posix_UnixAddressFamily_AF_NETLINK)
#ifdef AF_NETLINK
{*r = AF_NETLINK; return 0;}
#else /* def AF_NETLINK */
{errno = EINVAL; return -1;}
#endif /* ndef AF_NETLINK */
if (x == Mono_Posix_UnixAddressFamily_AF_NETROM)
#ifdef AF_NETROM
{*r = AF_NETROM; return 0;}
#else /* def AF_NETROM */
{errno = EINVAL; return -1;}
#endif /* ndef AF_NETROM */
if (x == Mono_Posix_UnixAddressFamily_AF_NFC)
#ifdef AF_NFC
{*r = AF_NFC; return 0;}
#else /* def AF_NFC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_NFC */
if (x == Mono_Posix_UnixAddressFamily_AF_PACKET)
#ifdef AF_PACKET
{*r = AF_PACKET; return 0;}
#else /* def AF_PACKET */
{errno = EINVAL; return -1;}
#endif /* ndef AF_PACKET */
if (x == Mono_Posix_UnixAddressFamily_AF_PHONET)
#ifdef AF_PHONET
{*r = AF_PHONET; return 0;}
#else /* def AF_PHONET */
{errno = EINVAL; return -1;}
#endif /* ndef AF_PHONET */
if (x == Mono_Posix_UnixAddressFamily_AF_PPPOX)
#ifdef AF_PPPOX
{*r = AF_PPPOX; return 0;}
#else /* def AF_PPPOX */
{errno = EINVAL; return -1;}
#endif /* ndef AF_PPPOX */
if (x == Mono_Posix_UnixAddressFamily_AF_RDS)
#ifdef AF_RDS
{*r = AF_RDS; return 0;}
#else /* def AF_RDS */
{errno = EINVAL; return -1;}
#endif /* ndef AF_RDS */
if (x == Mono_Posix_UnixAddressFamily_AF_ROSE)
#ifdef AF_ROSE
{*r = AF_ROSE; return 0;}
#else /* def AF_ROSE */
{errno = EINVAL; return -1;}
#endif /* ndef AF_ROSE */
if (x == Mono_Posix_UnixAddressFamily_AF_RXRPC)
#ifdef AF_RXRPC
{*r = AF_RXRPC; return 0;}
#else /* def AF_RXRPC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_RXRPC */
if (x == Mono_Posix_UnixAddressFamily_AF_SECURITY)
#ifdef AF_SECURITY
{*r = AF_SECURITY; return 0;}
#else /* def AF_SECURITY */
{errno = EINVAL; return -1;}
#endif /* ndef AF_SECURITY */
if (x == Mono_Posix_UnixAddressFamily_AF_SNA)
#ifdef AF_SNA
{*r = AF_SNA; return 0;}
#else /* def AF_SNA */
{errno = EINVAL; return -1;}
#endif /* ndef AF_SNA */
if (x == Mono_Posix_UnixAddressFamily_AF_TIPC)
#ifdef AF_TIPC
{*r = AF_TIPC; return 0;}
#else /* def AF_TIPC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_TIPC */
if (x == Mono_Posix_UnixAddressFamily_AF_UNIX)
#ifdef AF_UNIX
{*r = AF_UNIX; return 0;}
#else /* def AF_UNIX */
{errno = EINVAL; return -1;}
#endif /* ndef AF_UNIX */
if (x == Mono_Posix_UnixAddressFamily_AF_UNSPEC)
#ifdef AF_UNSPEC
{*r = AF_UNSPEC; return 0;}
#else /* def AF_UNSPEC */
{errno = EINVAL; return -1;}
#endif /* ndef AF_UNSPEC */
if (x == Mono_Posix_UnixAddressFamily_AF_VSOCK)
#ifdef AF_VSOCK
{*r = AF_VSOCK; return 0;}
#else /* def AF_VSOCK */
{errno = EINVAL; return -1;}
#endif /* ndef AF_VSOCK */
if (x == Mono_Posix_UnixAddressFamily_AF_WANPIPE)
#ifdef AF_WANPIPE
{*r = AF_WANPIPE; return 0;}
#else /* def AF_WANPIPE */
{errno = EINVAL; return -1;}
#endif /* ndef AF_WANPIPE */
if (x == Mono_Posix_UnixAddressFamily_AF_X25)
#ifdef AF_X25
{*r = AF_X25; return 0;}
#else /* def AF_X25 */
{errno = EINVAL; return -1;}
#endif /* ndef AF_X25 */
if (x == Mono_Posix_UnixAddressFamily_Unknown)
#ifdef Unknown
{*r = Unknown; return 0;}
#else /* def Unknown */
{errno = EINVAL; return -1;}
#endif /* ndef Unknown */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToUnixAddressFamily (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef AF_ALG
if (x == AF_ALG)
{*r = Mono_Posix_UnixAddressFamily_AF_ALG; return 0;}
#endif /* ndef AF_ALG */
#ifdef AF_APPLETALK
if (x == AF_APPLETALK)
{*r = Mono_Posix_UnixAddressFamily_AF_APPLETALK; return 0;}
#endif /* ndef AF_APPLETALK */
#ifdef AF_ASH
if (x == AF_ASH)
{*r = Mono_Posix_UnixAddressFamily_AF_ASH; return 0;}
#endif /* ndef AF_ASH */
#ifdef AF_ATMPVC
if (x == AF_ATMPVC)
{*r = Mono_Posix_UnixAddressFamily_AF_ATMPVC; return 0;}
#endif /* ndef AF_ATMPVC */
#ifdef AF_ATMSVC
if (x == AF_ATMSVC)
{*r = Mono_Posix_UnixAddressFamily_AF_ATMSVC; return 0;}
#endif /* ndef AF_ATMSVC */
#ifdef AF_AX25
if (x == AF_AX25)
{*r = Mono_Posix_UnixAddressFamily_AF_AX25; return 0;}
#endif /* ndef AF_AX25 */
#ifdef AF_BLUETOOTH
if (x == AF_BLUETOOTH)
{*r = Mono_Posix_UnixAddressFamily_AF_BLUETOOTH; return 0;}
#endif /* ndef AF_BLUETOOTH */
#ifdef AF_BRIDGE
if (x == AF_BRIDGE)
{*r = Mono_Posix_UnixAddressFamily_AF_BRIDGE; return 0;}
#endif /* ndef AF_BRIDGE */
#ifdef AF_CAIF
if (x == AF_CAIF)
{*r = Mono_Posix_UnixAddressFamily_AF_CAIF; return 0;}
#endif /* ndef AF_CAIF */
#ifdef AF_CAN
if (x == AF_CAN)
{*r = Mono_Posix_UnixAddressFamily_AF_CAN; return 0;}
#endif /* ndef AF_CAN */
#ifdef AF_DECnet
if (x == AF_DECnet)
{*r = Mono_Posix_UnixAddressFamily_AF_DECnet; return 0;}
#endif /* ndef AF_DECnet */
#ifdef AF_ECONET
if (x == AF_ECONET)
{*r = Mono_Posix_UnixAddressFamily_AF_ECONET; return 0;}
#endif /* ndef AF_ECONET */
#ifdef AF_IEEE802154
if (x == AF_IEEE802154)
{*r = Mono_Posix_UnixAddressFamily_AF_IEEE802154; return 0;}
#endif /* ndef AF_IEEE802154 */
#ifdef AF_INET
if (x == AF_INET)
{*r = Mono_Posix_UnixAddressFamily_AF_INET; return 0;}
#endif /* ndef AF_INET */
#ifdef AF_INET6
if (x == AF_INET6)
{*r = Mono_Posix_UnixAddressFamily_AF_INET6; return 0;}
#endif /* ndef AF_INET6 */
#ifdef AF_IPX
if (x == AF_IPX)
{*r = Mono_Posix_UnixAddressFamily_AF_IPX; return 0;}
#endif /* ndef AF_IPX */
#ifdef AF_IRDA
if (x == AF_IRDA)
{*r = Mono_Posix_UnixAddressFamily_AF_IRDA; return 0;}
#endif /* ndef AF_IRDA */
#ifdef AF_ISDN
if (x == AF_ISDN)
{*r = Mono_Posix_UnixAddressFamily_AF_ISDN; return 0;}
#endif /* ndef AF_ISDN */
#ifdef AF_IUCV
if (x == AF_IUCV)
{*r = Mono_Posix_UnixAddressFamily_AF_IUCV; return 0;}
#endif /* ndef AF_IUCV */
#ifdef AF_KEY
if (x == AF_KEY)
{*r = Mono_Posix_UnixAddressFamily_AF_KEY; return 0;}
#endif /* ndef AF_KEY */
#ifdef AF_LLC
if (x == AF_LLC)
{*r = Mono_Posix_UnixAddressFamily_AF_LLC; return 0;}
#endif /* ndef AF_LLC */
#ifdef AF_NETBEUI
if (x == AF_NETBEUI)
{*r = Mono_Posix_UnixAddressFamily_AF_NETBEUI; return 0;}
#endif /* ndef AF_NETBEUI */
#ifdef AF_NETLINK
if (x == AF_NETLINK)
{*r = Mono_Posix_UnixAddressFamily_AF_NETLINK; return 0;}
#endif /* ndef AF_NETLINK */
#ifdef AF_NETROM
if (x == AF_NETROM)
{*r = Mono_Posix_UnixAddressFamily_AF_NETROM; return 0;}
#endif /* ndef AF_NETROM */
#ifdef AF_NFC
if (x == AF_NFC)
{*r = Mono_Posix_UnixAddressFamily_AF_NFC; return 0;}
#endif /* ndef AF_NFC */
#ifdef AF_PACKET
if (x == AF_PACKET)
{*r = Mono_Posix_UnixAddressFamily_AF_PACKET; return 0;}
#endif /* ndef AF_PACKET */
#ifdef AF_PHONET
if (x == AF_PHONET)
{*r = Mono_Posix_UnixAddressFamily_AF_PHONET; return 0;}
#endif /* ndef AF_PHONET */
#ifdef AF_PPPOX
if (x == AF_PPPOX)
{*r = Mono_Posix_UnixAddressFamily_AF_PPPOX; return 0;}
#endif /* ndef AF_PPPOX */
#ifdef AF_RDS
if (x == AF_RDS)
{*r = Mono_Posix_UnixAddressFamily_AF_RDS; return 0;}
#endif /* ndef AF_RDS */
#ifdef AF_ROSE
if (x == AF_ROSE)
{*r = Mono_Posix_UnixAddressFamily_AF_ROSE; return 0;}
#endif /* ndef AF_ROSE */
#ifdef AF_RXRPC
if (x == AF_RXRPC)
{*r = Mono_Posix_UnixAddressFamily_AF_RXRPC; return 0;}
#endif /* ndef AF_RXRPC */
#ifdef AF_SECURITY
if (x == AF_SECURITY)
{*r = Mono_Posix_UnixAddressFamily_AF_SECURITY; return 0;}
#endif /* ndef AF_SECURITY */
#ifdef AF_SNA
if (x == AF_SNA)
{*r = Mono_Posix_UnixAddressFamily_AF_SNA; return 0;}
#endif /* ndef AF_SNA */
#ifdef AF_TIPC
if (x == AF_TIPC)
{*r = Mono_Posix_UnixAddressFamily_AF_TIPC; return 0;}
#endif /* ndef AF_TIPC */
#ifdef AF_UNIX
if (x == AF_UNIX)
{*r = Mono_Posix_UnixAddressFamily_AF_UNIX; return 0;}
#endif /* ndef AF_UNIX */
#ifdef AF_UNSPEC
if (x == AF_UNSPEC)
{*r = Mono_Posix_UnixAddressFamily_AF_UNSPEC; return 0;}
#endif /* ndef AF_UNSPEC */
#ifdef AF_VSOCK
if (x == AF_VSOCK)
{*r = Mono_Posix_UnixAddressFamily_AF_VSOCK; return 0;}
#endif /* ndef AF_VSOCK */
#ifdef AF_WANPIPE
if (x == AF_WANPIPE)
{*r = Mono_Posix_UnixAddressFamily_AF_WANPIPE; return 0;}
#endif /* ndef AF_WANPIPE */
#ifdef AF_X25
if (x == AF_X25)
{*r = Mono_Posix_UnixAddressFamily_AF_X25; return 0;}
#endif /* ndef AF_X25 */
#ifdef Unknown
if (x == Unknown)
{*r = Mono_Posix_UnixAddressFamily_Unknown; return 0;}
#endif /* ndef Unknown */
errno = EINVAL; return -1;
}
int Mono_Posix_FromUnixSocketControlMessage (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_UnixSocketControlMessage_SCM_CREDENTIALS)
#ifdef SCM_CREDENTIALS
{*r = SCM_CREDENTIALS; return 0;}
#else /* def SCM_CREDENTIALS */
{errno = EINVAL; return -1;}
#endif /* ndef SCM_CREDENTIALS */
if (x == Mono_Posix_UnixSocketControlMessage_SCM_RIGHTS)
#ifdef SCM_RIGHTS
{*r = SCM_RIGHTS; return 0;}
#else /* def SCM_RIGHTS */
{errno = EINVAL; return -1;}
#endif /* ndef SCM_RIGHTS */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToUnixSocketControlMessage (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef SCM_CREDENTIALS
if (x == SCM_CREDENTIALS)
{*r = Mono_Posix_UnixSocketControlMessage_SCM_CREDENTIALS; return 0;}
#endif /* ndef SCM_CREDENTIALS */
#ifdef SCM_RIGHTS
if (x == SCM_RIGHTS)
{*r = Mono_Posix_UnixSocketControlMessage_SCM_RIGHTS; return 0;}
#endif /* ndef SCM_RIGHTS */
errno = EINVAL; return -1;
}
int Mono_Posix_FromUnixSocketFlags (int x, int *r)
{
*r = 0;
if ((x & Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC) == Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC)
#ifdef SOCK_CLOEXEC
*r |= SOCK_CLOEXEC;
#else /* def SOCK_CLOEXEC */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_CLOEXEC */
if ((x & Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK) == Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK)
#ifdef SOCK_NONBLOCK
*r |= SOCK_NONBLOCK;
#else /* def SOCK_NONBLOCK */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_NONBLOCK */
if (x == 0)
return 0;
return 0;
}
int Mono_Posix_ToUnixSocketFlags (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef SOCK_CLOEXEC
if ((x & SOCK_CLOEXEC) == SOCK_CLOEXEC)
*r |= Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC;
#endif /* ndef SOCK_CLOEXEC */
#ifdef SOCK_NONBLOCK
if ((x & SOCK_NONBLOCK) == SOCK_NONBLOCK)
*r |= Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK;
#endif /* ndef SOCK_NONBLOCK */
return 0;
}
int Mono_Posix_FromUnixSocketOptionName (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN)
#ifdef SO_ACCEPTCONN
{*r = SO_ACCEPTCONN; return 0;}
#else /* def SO_ACCEPTCONN */
{errno = EINVAL; return -1;}
#endif /* ndef SO_ACCEPTCONN */
if (x == Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER)
#ifdef SO_ATTACH_FILTER
{*r = SO_ATTACH_FILTER; return 0;}
#else /* def SO_ATTACH_FILTER */
{errno = EINVAL; return -1;}
#endif /* ndef SO_ATTACH_FILTER */
if (x == Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE)
#ifdef SO_BINDTODEVICE
{*r = SO_BINDTODEVICE; return 0;}
#else /* def SO_BINDTODEVICE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_BINDTODEVICE */
if (x == Mono_Posix_UnixSocketOptionName_SO_BROADCAST)
#ifdef SO_BROADCAST
{*r = SO_BROADCAST; return 0;}
#else /* def SO_BROADCAST */
{errno = EINVAL; return -1;}
#endif /* ndef SO_BROADCAST */
if (x == Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT)
#ifdef SO_BSDCOMPAT
{*r = SO_BSDCOMPAT; return 0;}
#else /* def SO_BSDCOMPAT */
{errno = EINVAL; return -1;}
#endif /* ndef SO_BSDCOMPAT */
if (x == Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL)
#ifdef SO_BUSY_POLL
{*r = SO_BUSY_POLL; return 0;}
#else /* def SO_BUSY_POLL */
{errno = EINVAL; return -1;}
#endif /* ndef SO_BUSY_POLL */
if (x == Mono_Posix_UnixSocketOptionName_SO_DEBUG)
#ifdef SO_DEBUG
{*r = SO_DEBUG; return 0;}
#else /* def SO_DEBUG */
{errno = EINVAL; return -1;}
#endif /* ndef SO_DEBUG */
if (x == Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER)
#ifdef SO_DETACH_FILTER
{*r = SO_DETACH_FILTER; return 0;}
#else /* def SO_DETACH_FILTER */
{errno = EINVAL; return -1;}
#endif /* ndef SO_DETACH_FILTER */
if (x == Mono_Posix_UnixSocketOptionName_SO_DOMAIN)
#ifdef SO_DOMAIN
{*r = SO_DOMAIN; return 0;}
#else /* def SO_DOMAIN */
{errno = EINVAL; return -1;}
#endif /* ndef SO_DOMAIN */
if (x == Mono_Posix_UnixSocketOptionName_SO_DONTROUTE)
#ifdef SO_DONTROUTE
{*r = SO_DONTROUTE; return 0;}
#else /* def SO_DONTROUTE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_DONTROUTE */
if (x == Mono_Posix_UnixSocketOptionName_SO_ERROR)
#ifdef SO_ERROR
{*r = SO_ERROR; return 0;}
#else /* def SO_ERROR */
{errno = EINVAL; return -1;}
#endif /* ndef SO_ERROR */
if (x == Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE)
#ifdef SO_KEEPALIVE
{*r = SO_KEEPALIVE; return 0;}
#else /* def SO_KEEPALIVE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_KEEPALIVE */
if (x == Mono_Posix_UnixSocketOptionName_SO_LINGER)
#ifdef SO_LINGER
{*r = SO_LINGER; return 0;}
#else /* def SO_LINGER */
{errno = EINVAL; return -1;}
#endif /* ndef SO_LINGER */
if (x == Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER)
#ifdef SO_LOCK_FILTER
{*r = SO_LOCK_FILTER; return 0;}
#else /* def SO_LOCK_FILTER */
{errno = EINVAL; return -1;}
#endif /* ndef SO_LOCK_FILTER */
if (x == Mono_Posix_UnixSocketOptionName_SO_MARK)
#ifdef SO_MARK
{*r = SO_MARK; return 0;}
#else /* def SO_MARK */
{errno = EINVAL; return -1;}
#endif /* ndef SO_MARK */
if (x == Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE)
#ifdef SO_MAX_PACING_RATE
{*r = SO_MAX_PACING_RATE; return 0;}
#else /* def SO_MAX_PACING_RATE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_MAX_PACING_RATE */
if (x == Mono_Posix_UnixSocketOptionName_SO_NOFCS)
#ifdef SO_NOFCS
{*r = SO_NOFCS; return 0;}
#else /* def SO_NOFCS */
{errno = EINVAL; return -1;}
#endif /* ndef SO_NOFCS */
if (x == Mono_Posix_UnixSocketOptionName_SO_NO_CHECK)
#ifdef SO_NO_CHECK
{*r = SO_NO_CHECK; return 0;}
#else /* def SO_NO_CHECK */
{errno = EINVAL; return -1;}
#endif /* ndef SO_NO_CHECK */
if (x == Mono_Posix_UnixSocketOptionName_SO_OOBINLINE)
#ifdef SO_OOBINLINE
{*r = SO_OOBINLINE; return 0;}
#else /* def SO_OOBINLINE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_OOBINLINE */
if (x == Mono_Posix_UnixSocketOptionName_SO_PASSCRED)
#ifdef SO_PASSCRED
{*r = SO_PASSCRED; return 0;}
#else /* def SO_PASSCRED */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PASSCRED */
if (x == Mono_Posix_UnixSocketOptionName_SO_PASSSEC)
#ifdef SO_PASSSEC
{*r = SO_PASSSEC; return 0;}
#else /* def SO_PASSSEC */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PASSSEC */
if (x == Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF)
#ifdef SO_PEEK_OFF
{*r = SO_PEEK_OFF; return 0;}
#else /* def SO_PEEK_OFF */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PEEK_OFF */
if (x == Mono_Posix_UnixSocketOptionName_SO_PEERCRED)
#ifdef SO_PEERCRED
{*r = SO_PEERCRED; return 0;}
#else /* def SO_PEERCRED */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PEERCRED */
if (x == Mono_Posix_UnixSocketOptionName_SO_PEERNAME)
#ifdef SO_PEERNAME
{*r = SO_PEERNAME; return 0;}
#else /* def SO_PEERNAME */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PEERNAME */
if (x == Mono_Posix_UnixSocketOptionName_SO_PEERSEC)
#ifdef SO_PEERSEC
{*r = SO_PEERSEC; return 0;}
#else /* def SO_PEERSEC */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PEERSEC */
if (x == Mono_Posix_UnixSocketOptionName_SO_PRIORITY)
#ifdef SO_PRIORITY
{*r = SO_PRIORITY; return 0;}
#else /* def SO_PRIORITY */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PRIORITY */
if (x == Mono_Posix_UnixSocketOptionName_SO_PROTOCOL)
#ifdef SO_PROTOCOL
{*r = SO_PROTOCOL; return 0;}
#else /* def SO_PROTOCOL */
{errno = EINVAL; return -1;}
#endif /* ndef SO_PROTOCOL */
if (x == Mono_Posix_UnixSocketOptionName_SO_RCVBUF)
#ifdef SO_RCVBUF
{*r = SO_RCVBUF; return 0;}
#else /* def SO_RCVBUF */
{errno = EINVAL; return -1;}
#endif /* ndef SO_RCVBUF */
if (x == Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE)
#ifdef SO_RCVBUFFORCE
{*r = SO_RCVBUFFORCE; return 0;}
#else /* def SO_RCVBUFFORCE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_RCVBUFFORCE */
if (x == Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT)
#ifdef SO_RCVLOWAT
{*r = SO_RCVLOWAT; return 0;}
#else /* def SO_RCVLOWAT */
{errno = EINVAL; return -1;}
#endif /* ndef SO_RCVLOWAT */
if (x == Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO)
#ifdef SO_RCVTIMEO
{*r = SO_RCVTIMEO; return 0;}
#else /* def SO_RCVTIMEO */
{errno = EINVAL; return -1;}
#endif /* ndef SO_RCVTIMEO */
if (x == Mono_Posix_UnixSocketOptionName_SO_REUSEADDR)
#ifdef SO_REUSEADDR
{*r = SO_REUSEADDR; return 0;}
#else /* def SO_REUSEADDR */
{errno = EINVAL; return -1;}
#endif /* ndef SO_REUSEADDR */
if (x == Mono_Posix_UnixSocketOptionName_SO_REUSEPORT)
#ifdef SO_REUSEPORT
{*r = SO_REUSEPORT; return 0;}
#else /* def SO_REUSEPORT */
{errno = EINVAL; return -1;}
#endif /* ndef SO_REUSEPORT */
if (x == Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL)
#ifdef SO_RXQ_OVFL
{*r = SO_RXQ_OVFL; return 0;}
#else /* def SO_RXQ_OVFL */
{errno = EINVAL; return -1;}
#endif /* ndef SO_RXQ_OVFL */
if (x == Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION)
#ifdef SO_SECURITY_AUTHENTICATION
{*r = SO_SECURITY_AUTHENTICATION; return 0;}
#else /* def SO_SECURITY_AUTHENTICATION */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SECURITY_AUTHENTICATION */
if (x == Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK)
#ifdef SO_SECURITY_ENCRYPTION_NETWORK
{*r = SO_SECURITY_ENCRYPTION_NETWORK; return 0;}
#else /* def SO_SECURITY_ENCRYPTION_NETWORK */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SECURITY_ENCRYPTION_NETWORK */
if (x == Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT)
#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
{*r = SO_SECURITY_ENCRYPTION_TRANSPORT; return 0;}
#else /* def SO_SECURITY_ENCRYPTION_TRANSPORT */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SECURITY_ENCRYPTION_TRANSPORT */
if (x == Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE)
#ifdef SO_SELECT_ERR_QUEUE
{*r = SO_SELECT_ERR_QUEUE; return 0;}
#else /* def SO_SELECT_ERR_QUEUE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SELECT_ERR_QUEUE */
if (x == Mono_Posix_UnixSocketOptionName_SO_SNDBUF)
#ifdef SO_SNDBUF
{*r = SO_SNDBUF; return 0;}
#else /* def SO_SNDBUF */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SNDBUF */
if (x == Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE)
#ifdef SO_SNDBUFFORCE
{*r = SO_SNDBUFFORCE; return 0;}
#else /* def SO_SNDBUFFORCE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SNDBUFFORCE */
if (x == Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT)
#ifdef SO_SNDLOWAT
{*r = SO_SNDLOWAT; return 0;}
#else /* def SO_SNDLOWAT */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SNDLOWAT */
if (x == Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO)
#ifdef SO_SNDTIMEO
{*r = SO_SNDTIMEO; return 0;}
#else /* def SO_SNDTIMEO */
{errno = EINVAL; return -1;}
#endif /* ndef SO_SNDTIMEO */
if (x == Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP)
#ifdef SO_TIMESTAMP
{*r = SO_TIMESTAMP; return 0;}
#else /* def SO_TIMESTAMP */
{errno = EINVAL; return -1;}
#endif /* ndef SO_TIMESTAMP */
if (x == Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING)
#ifdef SO_TIMESTAMPING
{*r = SO_TIMESTAMPING; return 0;}
#else /* def SO_TIMESTAMPING */
{errno = EINVAL; return -1;}
#endif /* ndef SO_TIMESTAMPING */
if (x == Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS)
#ifdef SO_TIMESTAMPNS
{*r = SO_TIMESTAMPNS; return 0;}
#else /* def SO_TIMESTAMPNS */
{errno = EINVAL; return -1;}
#endif /* ndef SO_TIMESTAMPNS */
if (x == Mono_Posix_UnixSocketOptionName_SO_TYPE)
#ifdef SO_TYPE
{*r = SO_TYPE; return 0;}
#else /* def SO_TYPE */
{errno = EINVAL; return -1;}
#endif /* ndef SO_TYPE */
if (x == Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS)
#ifdef SO_WIFI_STATUS
{*r = SO_WIFI_STATUS; return 0;}
#else /* def SO_WIFI_STATUS */
{errno = EINVAL; return -1;}
#endif /* ndef SO_WIFI_STATUS */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToUnixSocketOptionName (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef SO_ACCEPTCONN
if (x == SO_ACCEPTCONN)
{*r = Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN; return 0;}
#endif /* ndef SO_ACCEPTCONN */
#ifdef SO_ATTACH_FILTER
if (x == SO_ATTACH_FILTER)
{*r = Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER; return 0;}
#endif /* ndef SO_ATTACH_FILTER */
#ifdef SO_BINDTODEVICE
if (x == SO_BINDTODEVICE)
{*r = Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE; return 0;}
#endif /* ndef SO_BINDTODEVICE */
#ifdef SO_BROADCAST
if (x == SO_BROADCAST)
{*r = Mono_Posix_UnixSocketOptionName_SO_BROADCAST; return 0;}
#endif /* ndef SO_BROADCAST */
#ifdef SO_BSDCOMPAT
if (x == SO_BSDCOMPAT)
{*r = Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT; return 0;}
#endif /* ndef SO_BSDCOMPAT */
#ifdef SO_BUSY_POLL
if (x == SO_BUSY_POLL)
{*r = Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL; return 0;}
#endif /* ndef SO_BUSY_POLL */
#ifdef SO_DEBUG
if (x == SO_DEBUG)
{*r = Mono_Posix_UnixSocketOptionName_SO_DEBUG; return 0;}
#endif /* ndef SO_DEBUG */
#ifdef SO_DETACH_FILTER
if (x == SO_DETACH_FILTER)
{*r = Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER; return 0;}
#endif /* ndef SO_DETACH_FILTER */
#ifdef SO_DOMAIN
if (x == SO_DOMAIN)
{*r = Mono_Posix_UnixSocketOptionName_SO_DOMAIN; return 0;}
#endif /* ndef SO_DOMAIN */
#ifdef SO_DONTROUTE
if (x == SO_DONTROUTE)
{*r = Mono_Posix_UnixSocketOptionName_SO_DONTROUTE; return 0;}
#endif /* ndef SO_DONTROUTE */
#ifdef SO_ERROR
if (x == SO_ERROR)
{*r = Mono_Posix_UnixSocketOptionName_SO_ERROR; return 0;}
#endif /* ndef SO_ERROR */
#ifdef SO_KEEPALIVE
if (x == SO_KEEPALIVE)
{*r = Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE; return 0;}
#endif /* ndef SO_KEEPALIVE */
#ifdef SO_LINGER
if (x == SO_LINGER)
{*r = Mono_Posix_UnixSocketOptionName_SO_LINGER; return 0;}
#endif /* ndef SO_LINGER */
#ifdef SO_LOCK_FILTER
if (x == SO_LOCK_FILTER)
{*r = Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER; return 0;}
#endif /* ndef SO_LOCK_FILTER */
#ifdef SO_MARK
if (x == SO_MARK)
{*r = Mono_Posix_UnixSocketOptionName_SO_MARK; return 0;}
#endif /* ndef SO_MARK */
#ifdef SO_MAX_PACING_RATE
if (x == SO_MAX_PACING_RATE)
{*r = Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE; return 0;}
#endif /* ndef SO_MAX_PACING_RATE */
#ifdef SO_NOFCS
if (x == SO_NOFCS)
{*r = Mono_Posix_UnixSocketOptionName_SO_NOFCS; return 0;}
#endif /* ndef SO_NOFCS */
#ifdef SO_NO_CHECK
if (x == SO_NO_CHECK)
{*r = Mono_Posix_UnixSocketOptionName_SO_NO_CHECK; return 0;}
#endif /* ndef SO_NO_CHECK */
#ifdef SO_OOBINLINE
if (x == SO_OOBINLINE)
{*r = Mono_Posix_UnixSocketOptionName_SO_OOBINLINE; return 0;}
#endif /* ndef SO_OOBINLINE */
#ifdef SO_PASSCRED
if (x == SO_PASSCRED)
{*r = Mono_Posix_UnixSocketOptionName_SO_PASSCRED; return 0;}
#endif /* ndef SO_PASSCRED */
#ifdef SO_PASSSEC
if (x == SO_PASSSEC)
{*r = Mono_Posix_UnixSocketOptionName_SO_PASSSEC; return 0;}
#endif /* ndef SO_PASSSEC */
#ifdef SO_PEEK_OFF
if (x == SO_PEEK_OFF)
{*r = Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF; return 0;}
#endif /* ndef SO_PEEK_OFF */
#ifdef SO_PEERCRED
if (x == SO_PEERCRED)
{*r = Mono_Posix_UnixSocketOptionName_SO_PEERCRED; return 0;}
#endif /* ndef SO_PEERCRED */
#ifdef SO_PEERNAME
if (x == SO_PEERNAME)
{*r = Mono_Posix_UnixSocketOptionName_SO_PEERNAME; return 0;}
#endif /* ndef SO_PEERNAME */
#ifdef SO_PEERSEC
if (x == SO_PEERSEC)
{*r = Mono_Posix_UnixSocketOptionName_SO_PEERSEC; return 0;}
#endif /* ndef SO_PEERSEC */
#ifdef SO_PRIORITY
if (x == SO_PRIORITY)
{*r = Mono_Posix_UnixSocketOptionName_SO_PRIORITY; return 0;}
#endif /* ndef SO_PRIORITY */
#ifdef SO_PROTOCOL
if (x == SO_PROTOCOL)
{*r = Mono_Posix_UnixSocketOptionName_SO_PROTOCOL; return 0;}
#endif /* ndef SO_PROTOCOL */
#ifdef SO_RCVBUF
if (x == SO_RCVBUF)
{*r = Mono_Posix_UnixSocketOptionName_SO_RCVBUF; return 0;}
#endif /* ndef SO_RCVBUF */
#ifdef SO_RCVBUFFORCE
if (x == SO_RCVBUFFORCE)
{*r = Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE; return 0;}
#endif /* ndef SO_RCVBUFFORCE */
#ifdef SO_RCVLOWAT
if (x == SO_RCVLOWAT)
{*r = Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT; return 0;}
#endif /* ndef SO_RCVLOWAT */
#ifdef SO_RCVTIMEO
if (x == SO_RCVTIMEO)
{*r = Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO; return 0;}
#endif /* ndef SO_RCVTIMEO */
#ifdef SO_REUSEADDR
if (x == SO_REUSEADDR)
{*r = Mono_Posix_UnixSocketOptionName_SO_REUSEADDR; return 0;}
#endif /* ndef SO_REUSEADDR */
#ifdef SO_REUSEPORT
if (x == SO_REUSEPORT)
{*r = Mono_Posix_UnixSocketOptionName_SO_REUSEPORT; return 0;}
#endif /* ndef SO_REUSEPORT */
#ifdef SO_RXQ_OVFL
if (x == SO_RXQ_OVFL)
{*r = Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL; return 0;}
#endif /* ndef SO_RXQ_OVFL */
#ifdef SO_SECURITY_AUTHENTICATION
if (x == SO_SECURITY_AUTHENTICATION)
{*r = Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION; return 0;}
#endif /* ndef SO_SECURITY_AUTHENTICATION */
#ifdef SO_SECURITY_ENCRYPTION_NETWORK
if (x == SO_SECURITY_ENCRYPTION_NETWORK)
{*r = Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK; return 0;}
#endif /* ndef SO_SECURITY_ENCRYPTION_NETWORK */
#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
if (x == SO_SECURITY_ENCRYPTION_TRANSPORT)
{*r = Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT; return 0;}
#endif /* ndef SO_SECURITY_ENCRYPTION_TRANSPORT */
#ifdef SO_SELECT_ERR_QUEUE
if (x == SO_SELECT_ERR_QUEUE)
{*r = Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE; return 0;}
#endif /* ndef SO_SELECT_ERR_QUEUE */
#ifdef SO_SNDBUF
if (x == SO_SNDBUF)
{*r = Mono_Posix_UnixSocketOptionName_SO_SNDBUF; return 0;}
#endif /* ndef SO_SNDBUF */
#ifdef SO_SNDBUFFORCE
if (x == SO_SNDBUFFORCE)
{*r = Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE; return 0;}
#endif /* ndef SO_SNDBUFFORCE */
#ifdef SO_SNDLOWAT
if (x == SO_SNDLOWAT)
{*r = Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT; return 0;}
#endif /* ndef SO_SNDLOWAT */
#ifdef SO_SNDTIMEO
if (x == SO_SNDTIMEO)
{*r = Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO; return 0;}
#endif /* ndef SO_SNDTIMEO */
#ifdef SO_TIMESTAMP
if (x == SO_TIMESTAMP)
{*r = Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP; return 0;}
#endif /* ndef SO_TIMESTAMP */
#ifdef SO_TIMESTAMPING
if (x == SO_TIMESTAMPING)
{*r = Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING; return 0;}
#endif /* ndef SO_TIMESTAMPING */
#ifdef SO_TIMESTAMPNS
if (x == SO_TIMESTAMPNS)
{*r = Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS; return 0;}
#endif /* ndef SO_TIMESTAMPNS */
#ifdef SO_TYPE
if (x == SO_TYPE)
{*r = Mono_Posix_UnixSocketOptionName_SO_TYPE; return 0;}
#endif /* ndef SO_TYPE */
#ifdef SO_WIFI_STATUS
if (x == SO_WIFI_STATUS)
{*r = Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS; return 0;}
#endif /* ndef SO_WIFI_STATUS */
errno = EINVAL; return -1;
}
int Mono_Posix_FromUnixSocketProtocol (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_AH)
#ifdef IPPROTO_AH
{*r = IPPROTO_AH; return 0;}
#else /* def IPPROTO_AH */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_AH */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH)
#ifdef IPPROTO_BEETPH
{*r = IPPROTO_BEETPH; return 0;}
#else /* def IPPROTO_BEETPH */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_BEETPH */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_COMP)
#ifdef IPPROTO_COMP
{*r = IPPROTO_COMP; return 0;}
#else /* def IPPROTO_COMP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_COMP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP)
#ifdef IPPROTO_DCCP
{*r = IPPROTO_DCCP; return 0;}
#else /* def IPPROTO_DCCP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_DCCP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_EGP)
#ifdef IPPROTO_EGP
{*r = IPPROTO_EGP; return 0;}
#else /* def IPPROTO_EGP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_EGP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP)
#ifdef IPPROTO_ENCAP
{*r = IPPROTO_ENCAP; return 0;}
#else /* def IPPROTO_ENCAP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_ENCAP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_ESP)
#ifdef IPPROTO_ESP
{*r = IPPROTO_ESP; return 0;}
#else /* def IPPROTO_ESP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_ESP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_GRE)
#ifdef IPPROTO_GRE
{*r = IPPROTO_GRE; return 0;}
#else /* def IPPROTO_GRE */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_GRE */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP)
#ifdef IPPROTO_ICMP
{*r = IPPROTO_ICMP; return 0;}
#else /* def IPPROTO_ICMP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_ICMP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IDP)
#ifdef IPPROTO_IDP
{*r = IPPROTO_IDP; return 0;}
#else /* def IPPROTO_IDP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_IDP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP)
#ifdef IPPROTO_IGMP
{*r = IPPROTO_IGMP; return 0;}
#else /* def IPPROTO_IGMP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_IGMP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IP)
#ifdef IPPROTO_IP
{*r = IPPROTO_IP; return 0;}
#else /* def IPPROTO_IP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_IP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP)
#ifdef IPPROTO_IPIP
{*r = IPPROTO_IPIP; return 0;}
#else /* def IPPROTO_IPIP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_IPIP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6)
#ifdef IPPROTO_IPV6
{*r = IPPROTO_IPV6; return 0;}
#else /* def IPPROTO_IPV6 */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_IPV6 */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_MTP)
#ifdef IPPROTO_MTP
{*r = IPPROTO_MTP; return 0;}
#else /* def IPPROTO_MTP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_MTP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_PIM)
#ifdef IPPROTO_PIM
{*r = IPPROTO_PIM; return 0;}
#else /* def IPPROTO_PIM */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_PIM */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_PUP)
#ifdef IPPROTO_PUP
{*r = IPPROTO_PUP; return 0;}
#else /* def IPPROTO_PUP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_PUP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_RAW)
#ifdef IPPROTO_RAW
{*r = IPPROTO_RAW; return 0;}
#else /* def IPPROTO_RAW */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_RAW */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP)
#ifdef IPPROTO_RSVP
{*r = IPPROTO_RSVP; return 0;}
#else /* def IPPROTO_RSVP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_RSVP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP)
#ifdef IPPROTO_SCTP
{*r = IPPROTO_SCTP; return 0;}
#else /* def IPPROTO_SCTP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_SCTP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_TCP)
#ifdef IPPROTO_TCP
{*r = IPPROTO_TCP; return 0;}
#else /* def IPPROTO_TCP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_TCP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_TP)
#ifdef IPPROTO_TP
{*r = IPPROTO_TP; return 0;}
#else /* def IPPROTO_TP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_TP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_UDP)
#ifdef IPPROTO_UDP
{*r = IPPROTO_UDP; return 0;}
#else /* def IPPROTO_UDP */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_UDP */
if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE)
#ifdef IPPROTO_UDPLITE
{*r = IPPROTO_UDPLITE; return 0;}
#else /* def IPPROTO_UDPLITE */
{errno = EINVAL; return -1;}
#endif /* ndef IPPROTO_UDPLITE */
if (x == Mono_Posix_UnixSocketProtocol_SOL_SOCKET)
#ifdef SOL_SOCKET
{*r = SOL_SOCKET; return 0;}
#else /* def SOL_SOCKET */
{errno = EINVAL; return -1;}
#endif /* ndef SOL_SOCKET */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToUnixSocketProtocol (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef IPPROTO_AH
if (x == IPPROTO_AH)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_AH; return 0;}
#endif /* ndef IPPROTO_AH */
#ifdef IPPROTO_BEETPH
if (x == IPPROTO_BEETPH)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH; return 0;}
#endif /* ndef IPPROTO_BEETPH */
#ifdef IPPROTO_COMP
if (x == IPPROTO_COMP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_COMP; return 0;}
#endif /* ndef IPPROTO_COMP */
#ifdef IPPROTO_DCCP
if (x == IPPROTO_DCCP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP; return 0;}
#endif /* ndef IPPROTO_DCCP */
#ifdef IPPROTO_EGP
if (x == IPPROTO_EGP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_EGP; return 0;}
#endif /* ndef IPPROTO_EGP */
#ifdef IPPROTO_ENCAP
if (x == IPPROTO_ENCAP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP; return 0;}
#endif /* ndef IPPROTO_ENCAP */
#ifdef IPPROTO_ESP
if (x == IPPROTO_ESP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_ESP; return 0;}
#endif /* ndef IPPROTO_ESP */
#ifdef IPPROTO_GRE
if (x == IPPROTO_GRE)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_GRE; return 0;}
#endif /* ndef IPPROTO_GRE */
#ifdef IPPROTO_ICMP
if (x == IPPROTO_ICMP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP; return 0;}
#endif /* ndef IPPROTO_ICMP */
#ifdef IPPROTO_IDP
if (x == IPPROTO_IDP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IDP; return 0;}
#endif /* ndef IPPROTO_IDP */
#ifdef IPPROTO_IGMP
if (x == IPPROTO_IGMP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP; return 0;}
#endif /* ndef IPPROTO_IGMP */
#ifdef IPPROTO_IP
if (x == IPPROTO_IP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IP; return 0;}
#endif /* ndef IPPROTO_IP */
#ifdef IPPROTO_IPIP
if (x == IPPROTO_IPIP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP; return 0;}
#endif /* ndef IPPROTO_IPIP */
#ifdef IPPROTO_IPV6
if (x == IPPROTO_IPV6)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6; return 0;}
#endif /* ndef IPPROTO_IPV6 */
#ifdef IPPROTO_MTP
if (x == IPPROTO_MTP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_MTP; return 0;}
#endif /* ndef IPPROTO_MTP */
#ifdef IPPROTO_PIM
if (x == IPPROTO_PIM)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_PIM; return 0;}
#endif /* ndef IPPROTO_PIM */
#ifdef IPPROTO_PUP
if (x == IPPROTO_PUP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_PUP; return 0;}
#endif /* ndef IPPROTO_PUP */
#ifdef IPPROTO_RAW
if (x == IPPROTO_RAW)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_RAW; return 0;}
#endif /* ndef IPPROTO_RAW */
#ifdef IPPROTO_RSVP
if (x == IPPROTO_RSVP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP; return 0;}
#endif /* ndef IPPROTO_RSVP */
#ifdef IPPROTO_SCTP
if (x == IPPROTO_SCTP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP; return 0;}
#endif /* ndef IPPROTO_SCTP */
#ifdef IPPROTO_TCP
if (x == IPPROTO_TCP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_TCP; return 0;}
#endif /* ndef IPPROTO_TCP */
#ifdef IPPROTO_TP
if (x == IPPROTO_TP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_TP; return 0;}
#endif /* ndef IPPROTO_TP */
#ifdef IPPROTO_UDP
if (x == IPPROTO_UDP)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_UDP; return 0;}
#endif /* ndef IPPROTO_UDP */
#ifdef IPPROTO_UDPLITE
if (x == IPPROTO_UDPLITE)
{*r = Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE; return 0;}
#endif /* ndef IPPROTO_UDPLITE */
#ifdef SOL_SOCKET
if (x == SOL_SOCKET)
{*r = Mono_Posix_UnixSocketProtocol_SOL_SOCKET; return 0;}
#endif /* ndef SOL_SOCKET */
errno = EINVAL; return -1;
}
int Mono_Posix_FromUnixSocketType (int x, int *r)
{
*r = 0;
if (x == Mono_Posix_UnixSocketType_SOCK_DCCP)
#ifdef SOCK_DCCP
{*r = SOCK_DCCP; return 0;}
#else /* def SOCK_DCCP */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_DCCP */
if (x == Mono_Posix_UnixSocketType_SOCK_DGRAM)
#ifdef SOCK_DGRAM
{*r = SOCK_DGRAM; return 0;}
#else /* def SOCK_DGRAM */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_DGRAM */
if (x == Mono_Posix_UnixSocketType_SOCK_PACKET)
#ifdef SOCK_PACKET
{*r = SOCK_PACKET; return 0;}
#else /* def SOCK_PACKET */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_PACKET */
if (x == Mono_Posix_UnixSocketType_SOCK_RAW)
#ifdef SOCK_RAW
{*r = SOCK_RAW; return 0;}
#else /* def SOCK_RAW */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_RAW */
if (x == Mono_Posix_UnixSocketType_SOCK_RDM)
#ifdef SOCK_RDM
{*r = SOCK_RDM; return 0;}
#else /* def SOCK_RDM */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_RDM */
if (x == Mono_Posix_UnixSocketType_SOCK_SEQPACKET)
#ifdef SOCK_SEQPACKET
{*r = SOCK_SEQPACKET; return 0;}
#else /* def SOCK_SEQPACKET */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_SEQPACKET */
if (x == Mono_Posix_UnixSocketType_SOCK_STREAM)
#ifdef SOCK_STREAM
{*r = SOCK_STREAM; return 0;}
#else /* def SOCK_STREAM */
{errno = EINVAL; return -1;}
#endif /* ndef SOCK_STREAM */
if (x == 0)
return 0;
errno = EINVAL; return -1;
}
int Mono_Posix_ToUnixSocketType (int x, int *r)
{
*r = 0;
if (x == 0)
return 0;
#ifdef SOCK_DCCP
if (x == SOCK_DCCP)
{*r = Mono_Posix_UnixSocketType_SOCK_DCCP; return 0;}
#endif /* ndef SOCK_DCCP */
#ifdef SOCK_DGRAM
if (x == SOCK_DGRAM)
{*r = Mono_Posix_UnixSocketType_SOCK_DGRAM; return 0;}
#endif /* ndef SOCK_DGRAM */
#ifdef SOCK_PACKET
if (x == SOCK_PACKET)
{*r = Mono_Posix_UnixSocketType_SOCK_PACKET; return 0;}
#endif /* ndef SOCK_PACKET */
#ifdef SOCK_RAW
if (x == SOCK_RAW)
{*r = Mono_Posix_UnixSocketType_SOCK_RAW; return 0;}
#endif /* ndef SOCK_RAW */
#ifdef SOCK_RDM
if (x == SOCK_RDM)
{*r = Mono_Posix_UnixSocketType_SOCK_RDM; return 0;}
#endif /* ndef SOCK_RDM */
#ifdef SOCK_SEQPACKET
if (x == SOCK_SEQPACKET)
{*r = Mono_Posix_UnixSocketType_SOCK_SEQPACKET; return 0;}
#endif /* ndef SOCK_SEQPACKET */
#ifdef SOCK_STREAM
if (x == SOCK_STREAM)
{*r = Mono_Posix_UnixSocketType_SOCK_STREAM; return 0;}
#endif /* ndef SOCK_STREAM */
errno = EINVAL; return -1;
}
#ifdef HAVE_STRUCT_UTIMBUF
int
Mono_Posix_FromUtimbuf (struct Mono_Posix_Utimbuf *from, struct utimbuf *to)
{
_cnm_return_val_if_overflow (time_t, from->actime, -1);
_cnm_return_val_if_overflow (time_t, from->modtime, -1);
memset (to, 0, sizeof(*to));
to->actime = from->actime;
to->modtime = from->modtime;
return 0;
}
#endif /* ndef HAVE_STRUCT_UTIMBUF */
#ifdef HAVE_STRUCT_UTIMBUF
int
Mono_Posix_ToUtimbuf (struct utimbuf *from, struct Mono_Posix_Utimbuf *to)
{
_cnm_return_val_if_overflow (gint64, from->actime, -1);
_cnm_return_val_if_overflow (gint64, from->modtime, -1);
memset (to, 0, sizeof(*to));
to->actime = from->actime;
to->modtime = from->modtime;
return 0;
}
#endif /* ndef HAVE_STRUCT_UTIMBUF */
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;
}