Merge pull request #1949 from lewurm/fixtype
[mono.git] / support / map.h
index a2e59fd9309929873655afc9a2e39175216f6832..34cdb68ab4da8bab5ff81cddbf5c53e4e976b712 100644 (file)
@@ -35,6 +35,21 @@ enum Mono_Posix_AccessModes {
 int Mono_Posix_FromAccessModes (int x, int *r);
 int Mono_Posix_ToAccessModes (int x, int *r);
 
+enum Mono_Posix_AtFlags {
+       Mono_Posix_AtFlags_AT_EMPTY_PATH             = 0x00001000,
+       #define Mono_Posix_AtFlags_AT_EMPTY_PATH       Mono_Posix_AtFlags_AT_EMPTY_PATH
+       Mono_Posix_AtFlags_AT_NO_AUTOMOUNT           = 0x00000800,
+       #define Mono_Posix_AtFlags_AT_NO_AUTOMOUNT     Mono_Posix_AtFlags_AT_NO_AUTOMOUNT
+       Mono_Posix_AtFlags_AT_REMOVEDIR              = 0x00000200,
+       #define Mono_Posix_AtFlags_AT_REMOVEDIR        Mono_Posix_AtFlags_AT_REMOVEDIR
+       Mono_Posix_AtFlags_AT_SYMLINK_FOLLOW         = 0x00000400,
+       #define Mono_Posix_AtFlags_AT_SYMLINK_FOLLOW   Mono_Posix_AtFlags_AT_SYMLINK_FOLLOW
+       Mono_Posix_AtFlags_AT_SYMLINK_NOFOLLOW       = 0x00000100,
+       #define Mono_Posix_AtFlags_AT_SYMLINK_NOFOLLOW Mono_Posix_AtFlags_AT_SYMLINK_NOFOLLOW
+};
+int Mono_Posix_FromAtFlags (int x, int *r);
+int Mono_Posix_ToAtFlags (int x, int *r);
+
 enum Mono_Posix_ConfstrName {
        Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION                      = 0x00000002,
        #define Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION                Mono_Posix_ConfstrName__CS_GNU_LIBC_VERSION
@@ -147,6 +162,46 @@ enum Mono_Posix_DirectoryNotifyFlags {
 int Mono_Posix_FromDirectoryNotifyFlags (int x, int *r);
 int Mono_Posix_ToDirectoryNotifyFlags (int x, int *r);
 
+enum Mono_Posix_EpollEvents {
+       Mono_Posix_EpollEvents_EPOLLERR           = 0x00000008,
+       #define Mono_Posix_EpollEvents_EPOLLERR     Mono_Posix_EpollEvents_EPOLLERR
+       Mono_Posix_EpollEvents_EPOLLET            = 0x80000000,
+       #define Mono_Posix_EpollEvents_EPOLLET      Mono_Posix_EpollEvents_EPOLLET
+       Mono_Posix_EpollEvents_EPOLLHUP           = 0x00000010,
+       #define Mono_Posix_EpollEvents_EPOLLHUP     Mono_Posix_EpollEvents_EPOLLHUP
+       Mono_Posix_EpollEvents_EPOLLIN            = 0x00000001,
+       #define Mono_Posix_EpollEvents_EPOLLIN      Mono_Posix_EpollEvents_EPOLLIN
+       Mono_Posix_EpollEvents_EPOLLMSG           = 0x00000400,
+       #define Mono_Posix_EpollEvents_EPOLLMSG     Mono_Posix_EpollEvents_EPOLLMSG
+       Mono_Posix_EpollEvents_EPOLLONESHOT       = 0x40000000,
+       #define Mono_Posix_EpollEvents_EPOLLONESHOT Mono_Posix_EpollEvents_EPOLLONESHOT
+       Mono_Posix_EpollEvents_EPOLLOUT           = 0x00000004,
+       #define Mono_Posix_EpollEvents_EPOLLOUT     Mono_Posix_EpollEvents_EPOLLOUT
+       Mono_Posix_EpollEvents_EPOLLPRI           = 0x00000002,
+       #define Mono_Posix_EpollEvents_EPOLLPRI     Mono_Posix_EpollEvents_EPOLLPRI
+       Mono_Posix_EpollEvents_EPOLLRDBAND        = 0x00000080,
+       #define Mono_Posix_EpollEvents_EPOLLRDBAND  Mono_Posix_EpollEvents_EPOLLRDBAND
+       Mono_Posix_EpollEvents_EPOLLRDHUP         = 0x00002000,
+       #define Mono_Posix_EpollEvents_EPOLLRDHUP   Mono_Posix_EpollEvents_EPOLLRDHUP
+       Mono_Posix_EpollEvents_EPOLLRDNORM        = 0x00000040,
+       #define Mono_Posix_EpollEvents_EPOLLRDNORM  Mono_Posix_EpollEvents_EPOLLRDNORM
+       Mono_Posix_EpollEvents_EPOLLWRBAND        = 0x00000200,
+       #define Mono_Posix_EpollEvents_EPOLLWRBAND  Mono_Posix_EpollEvents_EPOLLWRBAND
+       Mono_Posix_EpollEvents_EPOLLWRNORM        = 0x00000100,
+       #define Mono_Posix_EpollEvents_EPOLLWRNORM  Mono_Posix_EpollEvents_EPOLLWRNORM
+};
+int Mono_Posix_FromEpollEvents (unsigned int x, unsigned int *r);
+int Mono_Posix_ToEpollEvents (unsigned int x, unsigned int *r);
+
+enum Mono_Posix_EpollFlags {
+       Mono_Posix_EpollFlags_EPOLL_CLOEXEC        = 0x001e8480,
+       #define Mono_Posix_EpollFlags_EPOLL_CLOEXEC  Mono_Posix_EpollFlags_EPOLL_CLOEXEC
+       Mono_Posix_EpollFlags_EPOLL_NONBLOCK       = 0x00000fa0,
+       #define Mono_Posix_EpollFlags_EPOLL_NONBLOCK Mono_Posix_EpollFlags_EPOLL_NONBLOCK
+};
+int Mono_Posix_FromEpollFlags (int x, int *r);
+int Mono_Posix_ToEpollFlags (int x, int *r);
+
 enum Mono_Posix_Errno {
        Mono_Posix_Errno_E2BIG                 = 0x00000007,
        #define Mono_Posix_Errno_E2BIG           Mono_Posix_Errno_E2BIG
@@ -164,16 +219,26 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_EAGAIN          Mono_Posix_Errno_EAGAIN
        Mono_Posix_Errno_EALREADY              = 0x00000072,
        #define Mono_Posix_Errno_EALREADY        Mono_Posix_Errno_EALREADY
+       Mono_Posix_Errno_EAUTH                 = 0x00000438,
+       #define Mono_Posix_Errno_EAUTH           Mono_Posix_Errno_EAUTH
+       Mono_Posix_Errno_EBADARCH              = 0x0000043e,
+       #define Mono_Posix_Errno_EBADARCH        Mono_Posix_Errno_EBADARCH
        Mono_Posix_Errno_EBADE                 = 0x00000034,
        #define Mono_Posix_Errno_EBADE           Mono_Posix_Errno_EBADE
+       Mono_Posix_Errno_EBADEXEC              = 0x0000043d,
+       #define Mono_Posix_Errno_EBADEXEC        Mono_Posix_Errno_EBADEXEC
        Mono_Posix_Errno_EBADF                 = 0x00000009,
        #define Mono_Posix_Errno_EBADF           Mono_Posix_Errno_EBADF
        Mono_Posix_Errno_EBADFD                = 0x0000004d,
        #define Mono_Posix_Errno_EBADFD          Mono_Posix_Errno_EBADFD
+       Mono_Posix_Errno_EBADMACHO             = 0x00000440,
+       #define Mono_Posix_Errno_EBADMACHO       Mono_Posix_Errno_EBADMACHO
        Mono_Posix_Errno_EBADMSG               = 0x0000004a,
        #define Mono_Posix_Errno_EBADMSG         Mono_Posix_Errno_EBADMSG
        Mono_Posix_Errno_EBADR                 = 0x00000035,
        #define Mono_Posix_Errno_EBADR           Mono_Posix_Errno_EBADR
+       Mono_Posix_Errno_EBADRPC               = 0x00000430,
+       #define Mono_Posix_Errno_EBADRPC         Mono_Posix_Errno_EBADRPC
        Mono_Posix_Errno_EBADRQC               = 0x00000038,
        #define Mono_Posix_Errno_EBADRQC         Mono_Posix_Errno_EBADRQC
        Mono_Posix_Errno_EBADSLT               = 0x00000039,
@@ -182,6 +247,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_EBFONT          Mono_Posix_Errno_EBFONT
        Mono_Posix_Errno_EBUSY                 = 0x00000010,
        #define Mono_Posix_Errno_EBUSY           Mono_Posix_Errno_EBUSY
+       Mono_Posix_Errno_ECANCELED             = 0x0000007d,
+       #define Mono_Posix_Errno_ECANCELED       Mono_Posix_Errno_ECANCELED
        Mono_Posix_Errno_ECHILD                = 0x0000000a,
        #define Mono_Posix_Errno_ECHILD          Mono_Posix_Errno_ECHILD
        Mono_Posix_Errno_ECHRNG                = 0x0000002c,
@@ -200,6 +267,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_EDEADLOCK       Mono_Posix_Errno_EDEADLOCK
        Mono_Posix_Errno_EDESTADDRREQ          = 0x00000059,
        #define Mono_Posix_Errno_EDESTADDRREQ    Mono_Posix_Errno_EDESTADDRREQ
+       Mono_Posix_Errno_EDEVERR               = 0x0000043b,
+       #define Mono_Posix_Errno_EDEVERR         Mono_Posix_Errno_EDEVERR
        Mono_Posix_Errno_EDOM                  = 0x00000021,
        #define Mono_Posix_Errno_EDOM            Mono_Posix_Errno_EDOM
        Mono_Posix_Errno_EDOTDOT               = 0x00000049,
@@ -212,6 +281,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_EFAULT          Mono_Posix_Errno_EFAULT
        Mono_Posix_Errno_EFBIG                 = 0x0000001b,
        #define Mono_Posix_Errno_EFBIG           Mono_Posix_Errno_EFBIG
+       Mono_Posix_Errno_EFTYPE                = 0x00000437,
+       #define Mono_Posix_Errno_EFTYPE          Mono_Posix_Errno_EFTYPE
        Mono_Posix_Errno_EHOSTDOWN             = 0x00000070,
        #define Mono_Posix_Errno_EHOSTDOWN       Mono_Posix_Errno_EHOSTDOWN
        Mono_Posix_Errno_EHOSTUNREACH          = 0x00000071,
@@ -234,6 +305,12 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_EISDIR          Mono_Posix_Errno_EISDIR
        Mono_Posix_Errno_EISNAM                = 0x00000078,
        #define Mono_Posix_Errno_EISNAM          Mono_Posix_Errno_EISNAM
+       Mono_Posix_Errno_EKEYEXPIRED           = 0x0000007f,
+       #define Mono_Posix_Errno_EKEYEXPIRED     Mono_Posix_Errno_EKEYEXPIRED
+       Mono_Posix_Errno_EKEYREJECTED          = 0x00000081,
+       #define Mono_Posix_Errno_EKEYREJECTED    Mono_Posix_Errno_EKEYREJECTED
+       Mono_Posix_Errno_EKEYREVOKED           = 0x00000080,
+       #define Mono_Posix_Errno_EKEYREVOKED     Mono_Posix_Errno_EKEYREVOKED
        Mono_Posix_Errno_EL2HLT                = 0x00000033,
        #define Mono_Posix_Errno_EL2HLT          Mono_Posix_Errno_EL2HLT
        Mono_Posix_Errno_EL2NSYNC              = 0x0000002d,
@@ -270,6 +347,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_ENAMETOOLONG    Mono_Posix_Errno_ENAMETOOLONG
        Mono_Posix_Errno_ENAVAIL               = 0x00000077,
        #define Mono_Posix_Errno_ENAVAIL         Mono_Posix_Errno_ENAVAIL
+       Mono_Posix_Errno_ENEEDAUTH             = 0x00000439,
+       #define Mono_Posix_Errno_ENEEDAUTH       Mono_Posix_Errno_ENEEDAUTH
        Mono_Posix_Errno_ENETDOWN              = 0x00000064,
        #define Mono_Posix_Errno_ENETDOWN        Mono_Posix_Errno_ENETDOWN
        Mono_Posix_Errno_ENETRESET             = 0x00000066,
@@ -280,6 +359,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_ENFILE          Mono_Posix_Errno_ENFILE
        Mono_Posix_Errno_ENOANO                = 0x00000037,
        #define Mono_Posix_Errno_ENOANO          Mono_Posix_Errno_ENOANO
+       Mono_Posix_Errno_ENOATTR               = 0x00000445,
+       #define Mono_Posix_Errno_ENOATTR         Mono_Posix_Errno_ENOATTR
        Mono_Posix_Errno_ENOBUFS               = 0x00000069,
        #define Mono_Posix_Errno_ENOBUFS         Mono_Posix_Errno_ENOBUFS
        Mono_Posix_Errno_ENOCSI                = 0x00000032,
@@ -292,6 +373,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_ENOENT          Mono_Posix_Errno_ENOENT
        Mono_Posix_Errno_ENOEXEC               = 0x00000008,
        #define Mono_Posix_Errno_ENOEXEC         Mono_Posix_Errno_ENOEXEC
+       Mono_Posix_Errno_ENOKEY                = 0x0000007e,
+       #define Mono_Posix_Errno_ENOKEY          Mono_Posix_Errno_ENOKEY
        Mono_Posix_Errno_ENOLCK                = 0x00000025,
        #define Mono_Posix_Errno_ENOLCK          Mono_Posix_Errno_ENOLCK
        Mono_Posix_Errno_ENOLINK               = 0x00000043,
@@ -306,6 +389,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_ENONET          Mono_Posix_Errno_ENONET
        Mono_Posix_Errno_ENOPKG                = 0x00000041,
        #define Mono_Posix_Errno_ENOPKG          Mono_Posix_Errno_ENOPKG
+       Mono_Posix_Errno_ENOPOLICY             = 0x0000044f,
+       #define Mono_Posix_Errno_ENOPOLICY       Mono_Posix_Errno_ENOPOLICY
        Mono_Posix_Errno_ENOPROTOOPT           = 0x0000005c,
        #define Mono_Posix_Errno_ENOPROTOOPT     Mono_Posix_Errno_ENOPROTOOPT
        Mono_Posix_Errno_ENOSPC                = 0x0000001c,
@@ -326,6 +411,8 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_ENOTEMPTY       Mono_Posix_Errno_ENOTEMPTY
        Mono_Posix_Errno_ENOTNAM               = 0x00000076,
        #define Mono_Posix_Errno_ENOTNAM         Mono_Posix_Errno_ENOTNAM
+       Mono_Posix_Errno_ENOTRECOVERABLE       = 0x00000083,
+       #define Mono_Posix_Errno_ENOTRECOVERABLE Mono_Posix_Errno_ENOTRECOVERABLE
        Mono_Posix_Errno_ENOTSOCK              = 0x00000058,
        #define Mono_Posix_Errno_ENOTSOCK        Mono_Posix_Errno_ENOTSOCK
        Mono_Posix_Errno_ENOTTY                = 0x00000019,
@@ -338,18 +425,30 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_EOPNOTSUPP      Mono_Posix_Errno_EOPNOTSUPP
        Mono_Posix_Errno_EOVERFLOW             = 0x0000004b,
        #define Mono_Posix_Errno_EOVERFLOW       Mono_Posix_Errno_EOVERFLOW
+       Mono_Posix_Errno_EOWNERDEAD            = 0x00000082,
+       #define Mono_Posix_Errno_EOWNERDEAD      Mono_Posix_Errno_EOWNERDEAD
        Mono_Posix_Errno_EPERM                 = 0x00000001,
        #define Mono_Posix_Errno_EPERM           Mono_Posix_Errno_EPERM
        Mono_Posix_Errno_EPFNOSUPPORT          = 0x00000060,
        #define Mono_Posix_Errno_EPFNOSUPPORT    Mono_Posix_Errno_EPFNOSUPPORT
        Mono_Posix_Errno_EPIPE                 = 0x00000020,
        #define Mono_Posix_Errno_EPIPE           Mono_Posix_Errno_EPIPE
+       Mono_Posix_Errno_EPROCLIM              = 0x0000042b,
+       #define Mono_Posix_Errno_EPROCLIM        Mono_Posix_Errno_EPROCLIM
+       Mono_Posix_Errno_EPROCUNAVAIL          = 0x00000434,
+       #define Mono_Posix_Errno_EPROCUNAVAIL    Mono_Posix_Errno_EPROCUNAVAIL
+       Mono_Posix_Errno_EPROGMISMATCH         = 0x00000433,
+       #define Mono_Posix_Errno_EPROGMISMATCH   Mono_Posix_Errno_EPROGMISMATCH
+       Mono_Posix_Errno_EPROGUNAVAIL          = 0x00000432,
+       #define Mono_Posix_Errno_EPROGUNAVAIL    Mono_Posix_Errno_EPROGUNAVAIL
        Mono_Posix_Errno_EPROTO                = 0x00000047,
        #define Mono_Posix_Errno_EPROTO          Mono_Posix_Errno_EPROTO
        Mono_Posix_Errno_EPROTONOSUPPORT       = 0x0000005d,
        #define Mono_Posix_Errno_EPROTONOSUPPORT Mono_Posix_Errno_EPROTONOSUPPORT
        Mono_Posix_Errno_EPROTOTYPE            = 0x0000005b,
        #define Mono_Posix_Errno_EPROTOTYPE      Mono_Posix_Errno_EPROTOTYPE
+       Mono_Posix_Errno_EPWROFF               = 0x0000043a,
+       #define Mono_Posix_Errno_EPWROFF         Mono_Posix_Errno_EPWROFF
        Mono_Posix_Errno_ERANGE                = 0x00000022,
        #define Mono_Posix_Errno_ERANGE          Mono_Posix_Errno_ERANGE
        Mono_Posix_Errno_EREMCHG               = 0x0000004e,
@@ -362,6 +461,10 @@ enum Mono_Posix_Errno {
        #define Mono_Posix_Errno_ERESTART        Mono_Posix_Errno_ERESTART
        Mono_Posix_Errno_EROFS                 = 0x0000001e,
        #define Mono_Posix_Errno_EROFS           Mono_Posix_Errno_EROFS
+       Mono_Posix_Errno_ERPCMISMATCH          = 0x00000431,
+       #define Mono_Posix_Errno_ERPCMISMATCH    Mono_Posix_Errno_ERPCMISMATCH
+       Mono_Posix_Errno_ESHLIBVERS            = 0x0000043f,
+       #define Mono_Posix_Errno_ESHLIBVERS      Mono_Posix_Errno_ESHLIBVERS
        Mono_Posix_Errno_ESHUTDOWN             = 0x0000006c,
        #define Mono_Posix_Errno_ESHUTDOWN       Mono_Posix_Errno_ESHUTDOWN
        Mono_Posix_Errno_ESOCKTNOSUPPORT       = 0x0000005e,
@@ -415,6 +518,8 @@ enum Mono_Posix_FcntlCommand {
        #define Mono_Posix_FcntlCommand_F_GETOWN   Mono_Posix_FcntlCommand_F_GETOWN
        Mono_Posix_FcntlCommand_F_GETSIG         = 0x0000000b,
        #define Mono_Posix_FcntlCommand_F_GETSIG   Mono_Posix_FcntlCommand_F_GETSIG
+       Mono_Posix_FcntlCommand_F_NOCACHE        = 0x00000030,
+       #define Mono_Posix_FcntlCommand_F_NOCACHE  Mono_Posix_FcntlCommand_F_NOCACHE
        Mono_Posix_FcntlCommand_F_NOTIFY         = 0x00000402,
        #define Mono_Posix_FcntlCommand_F_NOTIFY   Mono_Posix_FcntlCommand_F_NOTIFY
        Mono_Posix_FcntlCommand_F_SETFD          = 0x00000002,
@@ -516,6 +621,49 @@ enum Mono_Posix_LockfCommand {
 int Mono_Posix_FromLockfCommand (int x, int *r);
 int Mono_Posix_ToLockfCommand (int x, int *r);
 
+enum Mono_Posix_MessageFlags {
+       Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC       = 0x40000000,
+       #define Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC
+       Mono_Posix_MessageFlags_MSG_CONFIRM            = 0x00000800,
+       #define Mono_Posix_MessageFlags_MSG_CONFIRM      Mono_Posix_MessageFlags_MSG_CONFIRM
+       Mono_Posix_MessageFlags_MSG_CTRUNC             = 0x00000008,
+       #define Mono_Posix_MessageFlags_MSG_CTRUNC       Mono_Posix_MessageFlags_MSG_CTRUNC
+       Mono_Posix_MessageFlags_MSG_DONTROUTE          = 0x00000004,
+       #define Mono_Posix_MessageFlags_MSG_DONTROUTE    Mono_Posix_MessageFlags_MSG_DONTROUTE
+       Mono_Posix_MessageFlags_MSG_DONTWAIT           = 0x00000040,
+       #define Mono_Posix_MessageFlags_MSG_DONTWAIT     Mono_Posix_MessageFlags_MSG_DONTWAIT
+       Mono_Posix_MessageFlags_MSG_EOR                = 0x00000080,
+       #define Mono_Posix_MessageFlags_MSG_EOR          Mono_Posix_MessageFlags_MSG_EOR
+       Mono_Posix_MessageFlags_MSG_ERRQUEUE           = 0x00002000,
+       #define Mono_Posix_MessageFlags_MSG_ERRQUEUE     Mono_Posix_MessageFlags_MSG_ERRQUEUE
+       Mono_Posix_MessageFlags_MSG_FASTOPEN           = 0x20000000,
+       #define Mono_Posix_MessageFlags_MSG_FASTOPEN     Mono_Posix_MessageFlags_MSG_FASTOPEN
+       Mono_Posix_MessageFlags_MSG_FIN                = 0x00000200,
+       #define Mono_Posix_MessageFlags_MSG_FIN          Mono_Posix_MessageFlags_MSG_FIN
+       Mono_Posix_MessageFlags_MSG_MORE               = 0x00008000,
+       #define Mono_Posix_MessageFlags_MSG_MORE         Mono_Posix_MessageFlags_MSG_MORE
+       Mono_Posix_MessageFlags_MSG_NOSIGNAL           = 0x00004000,
+       #define Mono_Posix_MessageFlags_MSG_NOSIGNAL     Mono_Posix_MessageFlags_MSG_NOSIGNAL
+       Mono_Posix_MessageFlags_MSG_OOB                = 0x00000001,
+       #define Mono_Posix_MessageFlags_MSG_OOB          Mono_Posix_MessageFlags_MSG_OOB
+       Mono_Posix_MessageFlags_MSG_PEEK               = 0x00000002,
+       #define Mono_Posix_MessageFlags_MSG_PEEK         Mono_Posix_MessageFlags_MSG_PEEK
+       Mono_Posix_MessageFlags_MSG_PROXY              = 0x00000010,
+       #define Mono_Posix_MessageFlags_MSG_PROXY        Mono_Posix_MessageFlags_MSG_PROXY
+       Mono_Posix_MessageFlags_MSG_RST                = 0x00001000,
+       #define Mono_Posix_MessageFlags_MSG_RST          Mono_Posix_MessageFlags_MSG_RST
+       Mono_Posix_MessageFlags_MSG_SYN                = 0x00000400,
+       #define Mono_Posix_MessageFlags_MSG_SYN          Mono_Posix_MessageFlags_MSG_SYN
+       Mono_Posix_MessageFlags_MSG_TRUNC              = 0x00000020,
+       #define Mono_Posix_MessageFlags_MSG_TRUNC        Mono_Posix_MessageFlags_MSG_TRUNC
+       Mono_Posix_MessageFlags_MSG_WAITALL            = 0x00000100,
+       #define Mono_Posix_MessageFlags_MSG_WAITALL      Mono_Posix_MessageFlags_MSG_WAITALL
+       Mono_Posix_MessageFlags_MSG_WAITFORONE         = 0x00010000,
+       #define Mono_Posix_MessageFlags_MSG_WAITFORONE   Mono_Posix_MessageFlags_MSG_WAITFORONE
+};
+int Mono_Posix_FromMessageFlags (int x, int *r);
+int Mono_Posix_ToMessageFlags (int x, int *r);
+
 enum Mono_Posix_MlockallFlags {
        Mono_Posix_MlockallFlags_MCL_CURRENT       = 0x00000001,
        #define Mono_Posix_MlockallFlags_MCL_CURRENT Mono_Posix_MlockallFlags_MCL_CURRENT
@@ -629,6 +777,8 @@ enum Mono_Posix_OpenFlags {
        #define Mono_Posix_OpenFlags_O_APPEND    Mono_Posix_OpenFlags_O_APPEND
        Mono_Posix_OpenFlags_O_ASYNC           = 0x00002000,
        #define Mono_Posix_OpenFlags_O_ASYNC     Mono_Posix_OpenFlags_O_ASYNC
+       Mono_Posix_OpenFlags_O_CLOEXEC         = 0x00080000,
+       #define Mono_Posix_OpenFlags_O_CLOEXEC   Mono_Posix_OpenFlags_O_CLOEXEC
        Mono_Posix_OpenFlags_O_CREAT           = 0x00000040,
        #define Mono_Posix_OpenFlags_O_CREAT     Mono_Posix_OpenFlags_O_CREAT
        Mono_Posix_OpenFlags_O_DIRECT          = 0x00004000,
@@ -645,6 +795,8 @@ enum Mono_Posix_OpenFlags {
        #define Mono_Posix_OpenFlags_O_NOFOLLOW  Mono_Posix_OpenFlags_O_NOFOLLOW
        Mono_Posix_OpenFlags_O_NONBLOCK        = 0x00000800,
        #define Mono_Posix_OpenFlags_O_NONBLOCK  Mono_Posix_OpenFlags_O_NONBLOCK
+       Mono_Posix_OpenFlags_O_PATH            = 0x00200000,
+       #define Mono_Posix_OpenFlags_O_PATH      Mono_Posix_OpenFlags_O_PATH
        Mono_Posix_OpenFlags_O_RDONLY          = 0x00000000,
        #define Mono_Posix_OpenFlags_O_RDONLY    Mono_Posix_OpenFlags_O_RDONLY
        Mono_Posix_OpenFlags_O_RDWR            = 0x00000002,
@@ -780,6 +932,17 @@ enum Mono_Posix_SeekFlags {
 int Mono_Posix_FromSeekFlags (short x, short *r);
 int Mono_Posix_ToSeekFlags (short x, short *r);
 
+enum Mono_Posix_ShutdownOption {
+       Mono_Posix_ShutdownOption_SHUT_RD         = 0x00000001,
+       #define Mono_Posix_ShutdownOption_SHUT_RD   Mono_Posix_ShutdownOption_SHUT_RD
+       Mono_Posix_ShutdownOption_SHUT_RDWR       = 0x00000003,
+       #define Mono_Posix_ShutdownOption_SHUT_RDWR Mono_Posix_ShutdownOption_SHUT_RDWR
+       Mono_Posix_ShutdownOption_SHUT_WR         = 0x00000002,
+       #define Mono_Posix_ShutdownOption_SHUT_WR   Mono_Posix_ShutdownOption_SHUT_WR
+};
+int Mono_Posix_FromShutdownOption (int x, int *r);
+int Mono_Posix_ToShutdownOption (int x, int *r);
+
 enum Mono_Posix_Signum {
        Mono_Posix_Signum_SIGABRT         = 0x00000006,
        #define Mono_Posix_Signum_SIGABRT   Mono_Posix_Signum_SIGABRT
@@ -1345,6 +1508,271 @@ enum Mono_Posix_SyslogOptions {
 int Mono_Posix_FromSyslogOptions (int x, int *r);
 int Mono_Posix_ToSyslogOptions (int x, int *r);
 
+enum Mono_Posix_UnixAddressFamily {
+       Mono_Posix_UnixAddressFamily_AF_ALG              = 0x00000026,
+       #define Mono_Posix_UnixAddressFamily_AF_ALG        Mono_Posix_UnixAddressFamily_AF_ALG
+       Mono_Posix_UnixAddressFamily_AF_APPLETALK        = 0x00000005,
+       #define Mono_Posix_UnixAddressFamily_AF_APPLETALK  Mono_Posix_UnixAddressFamily_AF_APPLETALK
+       Mono_Posix_UnixAddressFamily_AF_ASH              = 0x00000012,
+       #define Mono_Posix_UnixAddressFamily_AF_ASH        Mono_Posix_UnixAddressFamily_AF_ASH
+       Mono_Posix_UnixAddressFamily_AF_ATMPVC           = 0x00000008,
+       #define Mono_Posix_UnixAddressFamily_AF_ATMPVC     Mono_Posix_UnixAddressFamily_AF_ATMPVC
+       Mono_Posix_UnixAddressFamily_AF_ATMSVC           = 0x00000014,
+       #define Mono_Posix_UnixAddressFamily_AF_ATMSVC     Mono_Posix_UnixAddressFamily_AF_ATMSVC
+       Mono_Posix_UnixAddressFamily_AF_AX25             = 0x00000003,
+       #define Mono_Posix_UnixAddressFamily_AF_AX25       Mono_Posix_UnixAddressFamily_AF_AX25
+       Mono_Posix_UnixAddressFamily_AF_BLUETOOTH        = 0x0000001f,
+       #define Mono_Posix_UnixAddressFamily_AF_BLUETOOTH  Mono_Posix_UnixAddressFamily_AF_BLUETOOTH
+       Mono_Posix_UnixAddressFamily_AF_BRIDGE           = 0x00000007,
+       #define Mono_Posix_UnixAddressFamily_AF_BRIDGE     Mono_Posix_UnixAddressFamily_AF_BRIDGE
+       Mono_Posix_UnixAddressFamily_AF_CAIF             = 0x00000025,
+       #define Mono_Posix_UnixAddressFamily_AF_CAIF       Mono_Posix_UnixAddressFamily_AF_CAIF
+       Mono_Posix_UnixAddressFamily_AF_CAN              = 0x0000001d,
+       #define Mono_Posix_UnixAddressFamily_AF_CAN        Mono_Posix_UnixAddressFamily_AF_CAN
+       Mono_Posix_UnixAddressFamily_AF_DECnet           = 0x0000000c,
+       #define Mono_Posix_UnixAddressFamily_AF_DECnet     Mono_Posix_UnixAddressFamily_AF_DECnet
+       Mono_Posix_UnixAddressFamily_AF_ECONET           = 0x00000013,
+       #define Mono_Posix_UnixAddressFamily_AF_ECONET     Mono_Posix_UnixAddressFamily_AF_ECONET
+       Mono_Posix_UnixAddressFamily_AF_IEEE802154       = 0x00000024,
+       #define Mono_Posix_UnixAddressFamily_AF_IEEE802154 Mono_Posix_UnixAddressFamily_AF_IEEE802154
+       Mono_Posix_UnixAddressFamily_AF_INET             = 0x00000002,
+       #define Mono_Posix_UnixAddressFamily_AF_INET       Mono_Posix_UnixAddressFamily_AF_INET
+       Mono_Posix_UnixAddressFamily_AF_INET6            = 0x0000000a,
+       #define Mono_Posix_UnixAddressFamily_AF_INET6      Mono_Posix_UnixAddressFamily_AF_INET6
+       Mono_Posix_UnixAddressFamily_AF_IPX              = 0x00000004,
+       #define Mono_Posix_UnixAddressFamily_AF_IPX        Mono_Posix_UnixAddressFamily_AF_IPX
+       Mono_Posix_UnixAddressFamily_AF_IRDA             = 0x00000017,
+       #define Mono_Posix_UnixAddressFamily_AF_IRDA       Mono_Posix_UnixAddressFamily_AF_IRDA
+       Mono_Posix_UnixAddressFamily_AF_ISDN             = 0x00000022,
+       #define Mono_Posix_UnixAddressFamily_AF_ISDN       Mono_Posix_UnixAddressFamily_AF_ISDN
+       Mono_Posix_UnixAddressFamily_AF_IUCV             = 0x00000020,
+       #define Mono_Posix_UnixAddressFamily_AF_IUCV       Mono_Posix_UnixAddressFamily_AF_IUCV
+       Mono_Posix_UnixAddressFamily_AF_KEY              = 0x0000000f,
+       #define Mono_Posix_UnixAddressFamily_AF_KEY        Mono_Posix_UnixAddressFamily_AF_KEY
+       Mono_Posix_UnixAddressFamily_AF_LLC              = 0x0000001a,
+       #define Mono_Posix_UnixAddressFamily_AF_LLC        Mono_Posix_UnixAddressFamily_AF_LLC
+       Mono_Posix_UnixAddressFamily_AF_NETBEUI          = 0x0000000d,
+       #define Mono_Posix_UnixAddressFamily_AF_NETBEUI    Mono_Posix_UnixAddressFamily_AF_NETBEUI
+       Mono_Posix_UnixAddressFamily_AF_NETLINK          = 0x00000010,
+       #define Mono_Posix_UnixAddressFamily_AF_NETLINK    Mono_Posix_UnixAddressFamily_AF_NETLINK
+       Mono_Posix_UnixAddressFamily_AF_NETROM           = 0x00000006,
+       #define Mono_Posix_UnixAddressFamily_AF_NETROM     Mono_Posix_UnixAddressFamily_AF_NETROM
+       Mono_Posix_UnixAddressFamily_AF_NFC              = 0x00000027,
+       #define Mono_Posix_UnixAddressFamily_AF_NFC        Mono_Posix_UnixAddressFamily_AF_NFC
+       Mono_Posix_UnixAddressFamily_AF_PACKET           = 0x00000011,
+       #define Mono_Posix_UnixAddressFamily_AF_PACKET     Mono_Posix_UnixAddressFamily_AF_PACKET
+       Mono_Posix_UnixAddressFamily_AF_PHONET           = 0x00000023,
+       #define Mono_Posix_UnixAddressFamily_AF_PHONET     Mono_Posix_UnixAddressFamily_AF_PHONET
+       Mono_Posix_UnixAddressFamily_AF_PPPOX            = 0x00000018,
+       #define Mono_Posix_UnixAddressFamily_AF_PPPOX      Mono_Posix_UnixAddressFamily_AF_PPPOX
+       Mono_Posix_UnixAddressFamily_AF_RDS              = 0x00000015,
+       #define Mono_Posix_UnixAddressFamily_AF_RDS        Mono_Posix_UnixAddressFamily_AF_RDS
+       Mono_Posix_UnixAddressFamily_AF_ROSE             = 0x0000000b,
+       #define Mono_Posix_UnixAddressFamily_AF_ROSE       Mono_Posix_UnixAddressFamily_AF_ROSE
+       Mono_Posix_UnixAddressFamily_AF_RXRPC            = 0x00000021,
+       #define Mono_Posix_UnixAddressFamily_AF_RXRPC      Mono_Posix_UnixAddressFamily_AF_RXRPC
+       Mono_Posix_UnixAddressFamily_AF_SECURITY         = 0x0000000e,
+       #define Mono_Posix_UnixAddressFamily_AF_SECURITY   Mono_Posix_UnixAddressFamily_AF_SECURITY
+       Mono_Posix_UnixAddressFamily_AF_SNA              = 0x00000016,
+       #define Mono_Posix_UnixAddressFamily_AF_SNA        Mono_Posix_UnixAddressFamily_AF_SNA
+       Mono_Posix_UnixAddressFamily_AF_TIPC             = 0x0000001e,
+       #define Mono_Posix_UnixAddressFamily_AF_TIPC       Mono_Posix_UnixAddressFamily_AF_TIPC
+       Mono_Posix_UnixAddressFamily_AF_UNIX             = 0x00000001,
+       #define Mono_Posix_UnixAddressFamily_AF_UNIX       Mono_Posix_UnixAddressFamily_AF_UNIX
+       Mono_Posix_UnixAddressFamily_AF_UNSPEC           = 0x00000000,
+       #define Mono_Posix_UnixAddressFamily_AF_UNSPEC     Mono_Posix_UnixAddressFamily_AF_UNSPEC
+       Mono_Posix_UnixAddressFamily_AF_VSOCK            = 0x00000028,
+       #define Mono_Posix_UnixAddressFamily_AF_VSOCK      Mono_Posix_UnixAddressFamily_AF_VSOCK
+       Mono_Posix_UnixAddressFamily_AF_WANPIPE          = 0x00000019,
+       #define Mono_Posix_UnixAddressFamily_AF_WANPIPE    Mono_Posix_UnixAddressFamily_AF_WANPIPE
+       Mono_Posix_UnixAddressFamily_AF_X25              = 0x00000009,
+       #define Mono_Posix_UnixAddressFamily_AF_X25        Mono_Posix_UnixAddressFamily_AF_X25
+};
+int Mono_Posix_FromUnixAddressFamily (int x, int *r);
+int Mono_Posix_ToUnixAddressFamily (int x, int *r);
+
+enum Mono_Posix_UnixSocketFlags {
+       Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC        = 0x00080000,
+       #define Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC  Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC
+       Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK       = 0x00000800,
+       #define Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK
+};
+int Mono_Posix_FromUnixSocketFlags (int x, int *r);
+int Mono_Posix_ToUnixSocketFlags (int x, int *r);
+
+enum Mono_Posix_UnixSocketOptionName {
+       Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN                          = 0x0000001e,
+       #define Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN                    Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN
+       Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER                       = 0x0000001a,
+       #define Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER                 Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER
+       Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE                        = 0x00000019,
+       #define Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE                  Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE
+       Mono_Posix_UnixSocketOptionName_SO_BROADCAST                           = 0x00000006,
+       #define Mono_Posix_UnixSocketOptionName_SO_BROADCAST                     Mono_Posix_UnixSocketOptionName_SO_BROADCAST
+       Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT                           = 0x0000000e,
+       #define Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT                     Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT
+       Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL                           = 0x0000002e,
+       #define Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL                     Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL
+       Mono_Posix_UnixSocketOptionName_SO_DEBUG                               = 0x00000001,
+       #define Mono_Posix_UnixSocketOptionName_SO_DEBUG                         Mono_Posix_UnixSocketOptionName_SO_DEBUG
+       Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER                       = 0x0000001b,
+       #define Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER                 Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER
+       Mono_Posix_UnixSocketOptionName_SO_DOMAIN                              = 0x00000027,
+       #define Mono_Posix_UnixSocketOptionName_SO_DOMAIN                        Mono_Posix_UnixSocketOptionName_SO_DOMAIN
+       Mono_Posix_UnixSocketOptionName_SO_DONTROUTE                           = 0x00000005,
+       #define Mono_Posix_UnixSocketOptionName_SO_DONTROUTE                     Mono_Posix_UnixSocketOptionName_SO_DONTROUTE
+       Mono_Posix_UnixSocketOptionName_SO_ERROR                               = 0x00000004,
+       #define Mono_Posix_UnixSocketOptionName_SO_ERROR                         Mono_Posix_UnixSocketOptionName_SO_ERROR
+       Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE                           = 0x00000009,
+       #define Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE                     Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE
+       Mono_Posix_UnixSocketOptionName_SO_LINGER                              = 0x0000000d,
+       #define Mono_Posix_UnixSocketOptionName_SO_LINGER                        Mono_Posix_UnixSocketOptionName_SO_LINGER
+       Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER                         = 0x0000002c,
+       #define Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER                   Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER
+       Mono_Posix_UnixSocketOptionName_SO_MARK                                = 0x00000024,
+       #define Mono_Posix_UnixSocketOptionName_SO_MARK                          Mono_Posix_UnixSocketOptionName_SO_MARK
+       Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE                     = 0x0000002f,
+       #define Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE               Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE
+       Mono_Posix_UnixSocketOptionName_SO_NOFCS                               = 0x0000002b,
+       #define Mono_Posix_UnixSocketOptionName_SO_NOFCS                         Mono_Posix_UnixSocketOptionName_SO_NOFCS
+       Mono_Posix_UnixSocketOptionName_SO_NO_CHECK                            = 0x0000000b,
+       #define Mono_Posix_UnixSocketOptionName_SO_NO_CHECK                      Mono_Posix_UnixSocketOptionName_SO_NO_CHECK
+       Mono_Posix_UnixSocketOptionName_SO_OOBINLINE                           = 0x0000000a,
+       #define Mono_Posix_UnixSocketOptionName_SO_OOBINLINE                     Mono_Posix_UnixSocketOptionName_SO_OOBINLINE
+       Mono_Posix_UnixSocketOptionName_SO_PASSCRED                            = 0x00000010,
+       #define Mono_Posix_UnixSocketOptionName_SO_PASSCRED                      Mono_Posix_UnixSocketOptionName_SO_PASSCRED
+       Mono_Posix_UnixSocketOptionName_SO_PASSSEC                             = 0x00000022,
+       #define Mono_Posix_UnixSocketOptionName_SO_PASSSEC                       Mono_Posix_UnixSocketOptionName_SO_PASSSEC
+       Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF                            = 0x0000002a,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF                      Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF
+       Mono_Posix_UnixSocketOptionName_SO_PEERCRED                            = 0x00000011,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEERCRED                      Mono_Posix_UnixSocketOptionName_SO_PEERCRED
+       Mono_Posix_UnixSocketOptionName_SO_PEERNAME                            = 0x0000001c,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEERNAME                      Mono_Posix_UnixSocketOptionName_SO_PEERNAME
+       Mono_Posix_UnixSocketOptionName_SO_PEERSEC                             = 0x0000001f,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEERSEC                       Mono_Posix_UnixSocketOptionName_SO_PEERSEC
+       Mono_Posix_UnixSocketOptionName_SO_PRIORITY                            = 0x0000000c,
+       #define Mono_Posix_UnixSocketOptionName_SO_PRIORITY                      Mono_Posix_UnixSocketOptionName_SO_PRIORITY
+       Mono_Posix_UnixSocketOptionName_SO_PROTOCOL                            = 0x00000026,
+       #define Mono_Posix_UnixSocketOptionName_SO_PROTOCOL                      Mono_Posix_UnixSocketOptionName_SO_PROTOCOL
+       Mono_Posix_UnixSocketOptionName_SO_RCVBUF                              = 0x00000008,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVBUF                        Mono_Posix_UnixSocketOptionName_SO_RCVBUF
+       Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE                         = 0x00000021,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE                   Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE
+       Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT                            = 0x00000012,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT                      Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT
+       Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO                            = 0x00000014,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO                      Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO
+       Mono_Posix_UnixSocketOptionName_SO_REUSEADDR                           = 0x00000002,
+       #define Mono_Posix_UnixSocketOptionName_SO_REUSEADDR                     Mono_Posix_UnixSocketOptionName_SO_REUSEADDR
+       Mono_Posix_UnixSocketOptionName_SO_REUSEPORT                           = 0x0000000f,
+       #define Mono_Posix_UnixSocketOptionName_SO_REUSEPORT                     Mono_Posix_UnixSocketOptionName_SO_REUSEPORT
+       Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL                            = 0x00000028,
+       #define Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL                      Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL
+       Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION             = 0x00000016,
+       #define Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION       Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION
+       Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK         = 0x00000018,
+       #define Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK   Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK
+       Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT       = 0x00000017,
+       #define Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT
+       Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE                    = 0x0000002d,
+       #define Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE              Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE
+       Mono_Posix_UnixSocketOptionName_SO_SNDBUF                              = 0x00000007,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDBUF                        Mono_Posix_UnixSocketOptionName_SO_SNDBUF
+       Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE                         = 0x00000020,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE                   Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE
+       Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT                            = 0x00000013,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT                      Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT
+       Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO                            = 0x00000015,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO                      Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO
+       Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP                           = 0x0000001d,
+       #define Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP                     Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP
+       Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING                        = 0x00000025,
+       #define Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING                  Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING
+       Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS                         = 0x00000023,
+       #define Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS                   Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS
+       Mono_Posix_UnixSocketOptionName_SO_TYPE                                = 0x00000003,
+       #define Mono_Posix_UnixSocketOptionName_SO_TYPE                          Mono_Posix_UnixSocketOptionName_SO_TYPE
+       Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS                         = 0x00000029,
+       #define Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS                   Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS
+};
+int Mono_Posix_FromUnixSocketOptionName (int x, int *r);
+int Mono_Posix_ToUnixSocketOptionName (int x, int *r);
+
+enum Mono_Posix_UnixSocketProtocol {
+       Mono_Posix_UnixSocketProtocol_IPPROTO_AH            = 0x00000033,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_AH      Mono_Posix_UnixSocketProtocol_IPPROTO_AH
+       Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH        = 0x0000005e,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH  Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH
+       Mono_Posix_UnixSocketProtocol_IPPROTO_COMP          = 0x0000006c,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_COMP    Mono_Posix_UnixSocketProtocol_IPPROTO_COMP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP          = 0x00000021,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP    Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_EGP           = 0x00000008,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_EGP     Mono_Posix_UnixSocketProtocol_IPPROTO_EGP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP         = 0x00000062,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP   Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_ESP           = 0x00000032,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_ESP     Mono_Posix_UnixSocketProtocol_IPPROTO_ESP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_GRE           = 0x0000002f,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_GRE     Mono_Posix_UnixSocketProtocol_IPPROTO_GRE
+       Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP          = 0x00000001,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP    Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IDP           = 0x00000016,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IDP     Mono_Posix_UnixSocketProtocol_IPPROTO_IDP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP          = 0x00000002,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP    Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IP            = 0x00000400,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IP      Mono_Posix_UnixSocketProtocol_IPPROTO_IP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP          = 0x00000004,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP    Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6          = 0x00000029,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6    Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6
+       Mono_Posix_UnixSocketProtocol_IPPROTO_MTP           = 0x0000005c,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_MTP     Mono_Posix_UnixSocketProtocol_IPPROTO_MTP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_PIM           = 0x00000067,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_PIM     Mono_Posix_UnixSocketProtocol_IPPROTO_PIM
+       Mono_Posix_UnixSocketProtocol_IPPROTO_PUP           = 0x0000000c,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_PUP     Mono_Posix_UnixSocketProtocol_IPPROTO_PUP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_RAW           = 0x000000ff,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_RAW     Mono_Posix_UnixSocketProtocol_IPPROTO_RAW
+       Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP          = 0x0000002e,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP    Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP          = 0x00000084,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP    Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_TCP           = 0x00000006,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_TCP     Mono_Posix_UnixSocketProtocol_IPPROTO_TCP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_TP            = 0x0000001d,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_TP      Mono_Posix_UnixSocketProtocol_IPPROTO_TP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_UDP           = 0x00000011,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_UDP     Mono_Posix_UnixSocketProtocol_IPPROTO_UDP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE       = 0x00000088,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE
+       Mono_Posix_UnixSocketProtocol_SOL_SOCKET            = 0x00000800,
+       #define Mono_Posix_UnixSocketProtocol_SOL_SOCKET      Mono_Posix_UnixSocketProtocol_SOL_SOCKET
+};
+int Mono_Posix_FromUnixSocketProtocol (int x, int *r);
+int Mono_Posix_ToUnixSocketProtocol (int x, int *r);
+
+enum Mono_Posix_UnixSocketType {
+       Mono_Posix_UnixSocketType_SOCK_DCCP            = 0x00000006,
+       #define Mono_Posix_UnixSocketType_SOCK_DCCP      Mono_Posix_UnixSocketType_SOCK_DCCP
+       Mono_Posix_UnixSocketType_SOCK_DGRAM           = 0x00000002,
+       #define Mono_Posix_UnixSocketType_SOCK_DGRAM     Mono_Posix_UnixSocketType_SOCK_DGRAM
+       Mono_Posix_UnixSocketType_SOCK_PACKET          = 0x0000000a,
+       #define Mono_Posix_UnixSocketType_SOCK_PACKET    Mono_Posix_UnixSocketType_SOCK_PACKET
+       Mono_Posix_UnixSocketType_SOCK_RAW             = 0x00000003,
+       #define Mono_Posix_UnixSocketType_SOCK_RAW       Mono_Posix_UnixSocketType_SOCK_RAW
+       Mono_Posix_UnixSocketType_SOCK_RDM             = 0x00000004,
+       #define Mono_Posix_UnixSocketType_SOCK_RDM       Mono_Posix_UnixSocketType_SOCK_RDM
+       Mono_Posix_UnixSocketType_SOCK_SEQPACKET       = 0x00000005,
+       #define Mono_Posix_UnixSocketType_SOCK_SEQPACKET Mono_Posix_UnixSocketType_SOCK_SEQPACKET
+       Mono_Posix_UnixSocketType_SOCK_STREAM          = 0x00000001,
+       #define Mono_Posix_UnixSocketType_SOCK_STREAM    Mono_Posix_UnixSocketType_SOCK_STREAM
+};
+int Mono_Posix_FromUnixSocketType (int x, int *r);
+int Mono_Posix_ToUnixSocketType (int x, int *r);
+
 enum Mono_Posix_WaitOptions {
        Mono_Posix_WaitOptions_WNOHANG         = 0x00000001,
        #define Mono_Posix_WaitOptions_WNOHANG   Mono_Posix_WaitOptions_WNOHANG
@@ -1371,6 +1799,8 @@ int Mono_Posix_ToXattrFlags (int x, int *r);
  */
 
 struct Mono_Posix_Flock;
+struct Mono_Posix_Iovec;
+struct Mono_Posix_Linger;
 struct Mono_Posix_Pollfd;
 struct Mono_Posix_Stat;
 struct Mono_Posix_Statvfs;
@@ -1390,8 +1820,9 @@ struct Mono_Unix_UnixSignal_SignalInfo;
  */
 
 struct flock;
+struct iovec;
+struct linger;
 struct pollfd;
-struct stat;
 struct timespec;
 struct timeval;
 struct timezone;
@@ -1421,6 +1852,28 @@ int
 Mono_Posix_ToFlock (struct flock *from, struct Mono_Posix_Flock* to);
 
 
+struct Mono_Posix_Iovec {
+       void*   iov_base;
+       guint64 iov_len;
+};
+
+int
+Mono_Posix_FromIovec (struct Mono_Posix_Iovec* from, struct iovec *to);
+int
+Mono_Posix_ToIovec (struct iovec *from, struct Mono_Posix_Iovec* to);
+
+
+struct Mono_Posix_Linger {
+       int l_onoff;
+       int l_linger;
+};
+
+int
+Mono_Posix_FromLinger (struct Mono_Posix_Linger* from, struct linger *to);
+int
+Mono_Posix_ToLinger (struct linger *from, struct Mono_Posix_Linger* to);
+
+
 struct Mono_Posix_Pollfd {
        int   fd;
        short events;
@@ -1434,28 +1887,25 @@ Mono_Posix_ToPollfd (struct pollfd *from, struct Mono_Posix_Pollfd* to);
 
 
 struct Mono_Posix_Stat {
-       guint64      st_dev;      /* dev_t     */
-       guint64      st_ino;      /* ino_t     */
+       guint64      st_dev;         /* dev_t     */
+       guint64      st_ino;         /* ino_t     */
        unsigned int st_mode;
        unsigned int _padding_;
-       guint64      st_nlink;    /* nlink_t   */
-       unsigned int st_uid;      /* uid_t     */
-       unsigned int st_gid;      /* gid_t     */
-       guint64      st_rdev;     /* dev_t     */
-       gint64       st_size;     /* off_t     */
-       gint64       st_blksize;  /* blksize_t */
-       gint64       st_blocks;   /* blkcnt_t  */
-       gint64       st_atime_;   /* time_t    */
-       gint64       st_mtime_;   /* time_t    */
-       gint64       st_ctime_;   /* time_t    */
+       guint64      st_nlink;       /* nlink_t   */
+       unsigned int st_uid;         /* uid_t     */
+       unsigned int st_gid;         /* gid_t     */
+       guint64      st_rdev;        /* dev_t     */
+       gint64       st_size;        /* off_t     */
+       gint64       st_blksize;     /* blksize_t */
+       gint64       st_blocks;      /* blkcnt_t  */
+       gint64       st_atime_;      /* time_t    */
+       gint64       st_mtime_;      /* time_t    */
+       gint64       st_ctime_;      /* time_t    */
+       gint64       st_atime_nsec;
+       gint64       st_mtime_nsec;
+       gint64       st_ctime_nsec;
 };
 
-int
-Mono_Posix_FromStat (struct Mono_Posix_Stat* from, struct stat *to);
-int
-Mono_Posix_ToStat (struct stat *from, struct Mono_Posix_Stat* to);
-
-
 struct Mono_Posix_Statvfs {
        guint64 f_bsize;
        guint64 f_frsize;
@@ -1586,6 +2036,7 @@ int map_Mono_Posix_FileMode (int mode);
 int map_Mono_Posix_OpenFlags (int flags);
 int map_Mono_Posix_WaitOptions (int wait_options);
 int Mono_Posix_FromRealTimeSignum (int offset, int* rval);
+int Mono_Posix_FromStat (struct Mono_Posix_Stat* source, void* destination);
 int Mono_Posix_FromStatvfs (struct Mono_Posix_Statvfs* source, void* destination);
 int Mono_Posix_SIGRTMAX (void);
 int Mono_Posix_SIGRTMIN (void);
@@ -1636,6 +2087,8 @@ int Mono_Posix_Syscall_endpwent (void);
 int Mono_Posix_Syscall_endusershell (void);
 int Mono_Posix_Syscall_fcntl (int fd, int cmd);
 int Mono_Posix_Syscall_fcntl_arg (int fd, int cmd, gint64 arg);
+int Mono_Posix_Syscall_fcntl_arg_int (int fd, int cmd, int arg);
+int Mono_Posix_Syscall_fcntl_arg_ptr (int fd, int cmd, void* ptr);
 int Mono_Posix_Syscall_fcntl_lock (int fd, int cmd, struct Mono_Posix_Flock* lock);
 int Mono_Posix_Syscall_fgetgrent (void* stream, struct Mono_Posix_Syscall__Group* grbuf);
 int Mono_Posix_Syscall_fgetpwent (void* stream, struct Mono_Posix_Syscall__Passwd* pwbuf);
@@ -1645,9 +2098,14 @@ gint64 Mono_Posix_Syscall_fpathconf (int filedes, int name, int defaultError);
 int Mono_Posix_Syscall_fremovexattr (int fd, const char* name);
 int Mono_Posix_Syscall_fsetxattr (int fd, const char* name, unsigned char* value, guint64 size, int flags);
 int Mono_Posix_Syscall_fstat (int filedes, struct Mono_Posix_Stat* buf);
+int Mono_Posix_Syscall_fstatat (int dirfd, const char* file_name, struct Mono_Posix_Stat* buf, int flags);
 int Mono_Posix_Syscall_fstatvfs (int fd, struct Mono_Posix_Statvfs* buf);
 int Mono_Posix_Syscall_ftruncate (int fd, gint64 length);
+int Mono_Posix_Syscall_futimens (int fd, struct Mono_Posix_Timespec* times);
 int Mono_Posix_Syscall_futimes (int fd, struct Mono_Posix_Timeval* tvp);
+int Mono_Posix_Syscall_get_at_fdcwd (void);
+gint64 Mono_Posix_Syscall_get_utime_now (void);
+gint64 Mono_Posix_Syscall_get_utime_omit (void);
 void* Mono_Posix_Syscall_getcwd (char* buf, guint64 size);
 int Mono_Posix_Syscall_getdomainname (char* name, guint64 len);
 int Mono_Posix_Syscall_getfsent (struct Mono_Posix_Syscall__Fstab* fs);
@@ -1666,6 +2124,9 @@ int Mono_Posix_Syscall_getpwnam (const char* name, struct Mono_Posix_Syscall__Pa
 int Mono_Posix_Syscall_getpwnam_r (const char* name, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
 int Mono_Posix_Syscall_getpwuid (unsigned int uid, struct Mono_Posix_Syscall__Passwd* passwd);
 int Mono_Posix_Syscall_getpwuid_r (unsigned int uid, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
+int Mono_Posix_Syscall_getsockopt (int socket, int level, int option_name, void* option_value, gint64* option_len);
+int Mono_Posix_Syscall_getsockopt_linger (int socket, int level, int option_name, struct Mono_Posix_Linger* option_value);
+int Mono_Posix_Syscall_getsockopt_timeval (int socket, int level, int option_name, struct Mono_Posix_Timeval* option_value);
 int Mono_Posix_Syscall_gettimeofday (struct Mono_Posix_Timeval* tv, void* ignore);
 gint64 Mono_Posix_Syscall_getxattr (const char* path, const char* name, unsigned char* value, guint64 size);
 int Mono_Posix_Syscall_L_ctermid (void);
@@ -1681,6 +2142,7 @@ int Mono_Posix_Syscall_lstat (const char* file_name, struct Mono_Posix_Stat* buf
 int Mono_Posix_Syscall_lutimes (const char* filename, struct Mono_Posix_Timeval* tvp);
 int Mono_Posix_Syscall_mincore (void* start, guint64 length, unsigned char* vec);
 int Mono_Posix_Syscall_mknod (const char* pathname, unsigned int mode, guint64 dev);
+int Mono_Posix_Syscall_mknodat (int dirfd, const char* pathname, unsigned int mode, guint64 dev);
 int Mono_Posix_Syscall_mlock (void* start, guint64 len);
 void* Mono_Posix_Syscall_mmap (void* start, guint64 length, int prot, int flags, int fd, gint64 offset);
 int Mono_Posix_Syscall_mprotect (void* start, guint64 len, int prot);
@@ -1698,16 +2160,22 @@ int Mono_Posix_Syscall_posix_fadvise (int fd, gint64 offset, gint64 len, int adv
 int Mono_Posix_Syscall_posix_fallocate (int fd, gint64 offset, guint64 len);
 int Mono_Posix_Syscall_posix_madvise (void* addr, guint64 len, int advice);
 gint64 Mono_Posix_Syscall_pread (int fd, void* buf, guint64 count, gint64 offset);
+gint64 Mono_Posix_Syscall_preadv (int fd, struct Mono_Posix_Iovec* iov, int iovcnt, gint64 offset);
 int Mono_Posix_Syscall_psignal (int sig, const char* s);
 gint64 Mono_Posix_Syscall_pwrite (int fd, void* buf, guint64 count, gint64 offset);
+gint64 Mono_Posix_Syscall_pwritev (int fd, struct Mono_Posix_Iovec* iov, int iovcnt, gint64 offset);
 gint64 Mono_Posix_Syscall_read (int fd, void* buf, guint64 count);
 int Mono_Posix_Syscall_readdir (void* dir, struct Mono_Posix_Syscall__Dirent* dentry);
 int Mono_Posix_Syscall_readdir_r (void* dirp, struct Mono_Posix_Syscall__Dirent* entry, void** result);
-int Mono_Posix_Syscall_readlink (const char* path, char* buf, guint64 bufsiz);
+gint64 Mono_Posix_Syscall_readlink (const char* path, unsigned char* buf, guint64 bufsiz);
+gint64 Mono_Posix_Syscall_readlinkat (int dirfd, const char* pathname, unsigned char* buf, guint64 bufsiz);
+gint64 Mono_Posix_Syscall_readv (int fd, struct Mono_Posix_Iovec* iov, int iovcnt);
+gint64 Mono_Posix_Syscall_recv (int socket, void* buffer, guint64 length, int flags);
 int Mono_Posix_Syscall_remap_file_pages (void* start, guint64 size, int prot, gint64 pgoff, int flags);
 int Mono_Posix_Syscall_removexattr (const char* path, const char* name);
 int Mono_Posix_Syscall_rewinddir (void* dir);
 int Mono_Posix_Syscall_seekdir (void* dir, gint64 offset);
+gint64 Mono_Posix_Syscall_send (int socket, void* message, guint64 length, int flags);
 gint64 Mono_Posix_Syscall_sendfile (int out_fd, int in_fd, gint64* offset, guint64 count);
 int Mono_Posix_Syscall_setdomainname (const char* name, guint64 len);
 int Mono_Posix_Syscall_setfsent (void);
@@ -1716,9 +2184,13 @@ int Mono_Posix_Syscall_setgroups (guint64 size, unsigned int* list);
 int Mono_Posix_Syscall_sethostid (gint64 hostid);
 int Mono_Posix_Syscall_sethostname (const char* name, guint64 len);
 int Mono_Posix_Syscall_setpwent (void);
+int Mono_Posix_Syscall_setsockopt (int socket, int level, int option_name, void* option_value, gint64 option_len);
+int Mono_Posix_Syscall_setsockopt_linger (int socket, int level, int option_name, struct Mono_Posix_Linger* option_value);
+int Mono_Posix_Syscall_setsockopt_timeval (int socket, int level, int option_name, struct Mono_Posix_Timeval* option_value);
 int Mono_Posix_Syscall_settimeofday (struct Mono_Posix_Timeval* tv, struct Mono_Posix_Timezone* tz);
 int Mono_Posix_Syscall_setusershell (void);
 int Mono_Posix_Syscall_setxattr (const char* path, const char* name, unsigned char* value, guint64 size, int flags);
+int Mono_Posix_Syscall_socketpair (int domain, int type, int protocol, int* socket1, int* socket2);
 int Mono_Posix_Syscall_stat (const char* file_name, struct Mono_Posix_Stat* buf);
 int Mono_Posix_Syscall_statvfs (const char* path, struct Mono_Posix_Statvfs* buf);
 int Mono_Posix_Syscall_stime (gint64* t);
@@ -1733,14 +2205,17 @@ int Mono_Posix_Syscall_truncate (const char* path, gint64 length);
 int Mono_Posix_Syscall_ttyname_r (int fd, char* buf, guint64 buflen);
 int Mono_Posix_Syscall_uname (struct Mono_Posix_Syscall__Utsname* buf);
 int Mono_Posix_Syscall_utime (const char* filename, struct Mono_Posix_Utimbuf* buf, int use_buf);
+int Mono_Posix_Syscall_utimensat (int dirfd, const char* pathname, struct Mono_Posix_Timespec* times, int flags);
 int Mono_Posix_Syscall_utimes (const char* filename, struct Mono_Posix_Timeval* tvp);
 int Mono_Posix_Syscall_WEXITSTATUS (int status);
 int Mono_Posix_Syscall_WIFEXITED (int status);
 int Mono_Posix_Syscall_WIFSIGNALED (int status);
 int Mono_Posix_Syscall_WIFSTOPPED (int status);
 gint64 Mono_Posix_Syscall_write (int fd, void* buf, guint64 count);
+gint64 Mono_Posix_Syscall_writev (int fd, struct Mono_Posix_Iovec* iov, int iovcnt);
 int Mono_Posix_Syscall_WSTOPSIG (int status);
 int Mono_Posix_Syscall_WTERMSIG (int status);
+int Mono_Posix_ToStat (void* source, struct Mono_Posix_Stat* destination);
 int Mono_Posix_ToStatvfs (void* source, struct Mono_Posix_Statvfs* destination);
 void* Mono_Unix_UnixSignal_install (int signum);
 int Mono_Unix_UnixSignal_uninstall (void* info);