libphobos: Add OSX bindings for core.sys.posix.aio
authorIain Buclaw <ibuclaw@gcc.gnu.org>
Fri, 18 Jan 2019 00:05:51 +0000 (00:05 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Fri, 18 Jan 2019 00:05:51 +0000 (00:05 +0000)
Backported from upstream druntime 2.084

Reviewed-on: https://github.com/dlang/druntime/pull/2342

From-SVN: r268050

libphobos/libdruntime/core/sys/posix/aio.d
libphobos/libdruntime/core/sys/posix/signal.d

index 99bd0b3475b227c8bd22ee1ef372e7eb674ba822..8300d920ca98adaa4517608a121d98b3ccb4f643 100644 (file)
@@ -63,6 +63,19 @@ version (CRuntime_Glibc)
         }
     }
 }
+else version (OSX)
+{
+    struct aiocb
+    {
+        int aio_filedes;
+        off_t aio_offset;
+        void* aio_buf;   // volatile
+        size_t aio_nbytes;
+        int reqprio;
+        sigevent aio_sigevent;
+        int aio_lio_opcode;
+    }
+}
 else version (FreeBSD)
 {
     struct __aiocb_private
@@ -158,6 +171,15 @@ version (CRuntime_Glibc)
         AIO_ALLDONE
     }
 }
+else version (OSX)
+{
+    enum
+    {
+        AIO_ALLDONE = 0x1,
+        AIO_CANCELED = 0x2,
+        AIO_NOTCANCELED = 0x4,
+    }
+}
 else version (Solaris)
 {
     enum
@@ -187,6 +209,15 @@ version (CRuntime_Glibc)
         LIO_NOP
     }
 }
+else version (OSX)
+{
+    enum
+    {
+        LIO_NOP = 0x0,
+        LIO_READ = 0x1,
+        LIO_WRITE = 0x2,
+    }
+}
 else version (Solaris)
 {
     enum
@@ -215,6 +246,14 @@ version (CRuntime_Glibc)
         LIO_NOWAIT
     }
 }
+else version (OSX)
+{
+    enum
+    {
+        LIO_NOWAIT = 0x1,
+        LIO_WAIT = 0x2,
+    }
+}
 else version (Solaris)
 {
     enum
index a592f6f1eb04a8c065931d1d757a97b3e373802b..1ddcba91049947e8a2fe3e4d115b7b8e67e3dd91 100644 (file)
@@ -3465,6 +3465,14 @@ else version (DragonFlyBSD)
 }
 else version (Darwin)
 {
+    struct sigevent
+    {
+        int sigev_notify;
+        int sigev_signo;
+        sigval sigev_value;
+        void function(sigval) sigev_notify_function;
+        pthread_attr_t* sigev_notify_attributes;
+    }
 }
 else version (Solaris)
 {