diff druntime/import/stdc/posix/sys/types.d @ 760:6f33b427bfd1

Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Wed, 12 Nov 2008 00:19:18 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/druntime/import/stdc/posix/sys/types.d	Wed Nov 12 00:19:18 2008 +0100
@@ -0,0 +1,429 @@
+/**
+ * D header file for POSIX.
+ *
+ * Copyright: Public Domain
+ * License:   Public Domain
+ * Authors:   Sean Kelly
+ * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
+ */
+module stdc.posix.sys.types;
+
+private import stdc.posix.config;
+private import stdc.stdint;
+public import stdc.stddef; // for size_t
+public import stdc.time;   // for clock_t, time_t
+
+extern (C):
+
+//
+// Required
+//
+/*
+blkcnt_t
+blksize_t
+dev_t
+gid_t
+ino_t
+mode_t
+nlink_t
+off_t
+pid_t
+size_t
+ssize_t
+time_t
+uid_t
+*/
+
+version( linux )
+{
+  static if( __USE_FILE_OFFSET64 )
+  {
+    alias long      blkcnt_t;
+    alias ulong     ino_t;
+    alias long      off_t;
+  }
+  else
+  {
+    alias c_long    blkcnt_t;
+    alias c_ulong   ino_t;
+    alias c_long    off_t;
+  }
+    alias c_long    blksize_t;
+    alias ulong     dev_t;
+    alias uint      gid_t;
+    alias uint      mode_t;
+    alias c_ulong   nlink_t;
+    alias int       pid_t;
+    //size_t (defined in stdc.stddef)
+    alias c_long    ssize_t;
+    //time_t (defined in stdc.time)
+    alias uint      uid_t;
+}
+else version( darwin )
+{
+    alias long      blkcnt_t;
+    alias int       blksize_t;
+    alias int       dev_t;
+    alias uint      gid_t;
+    alias uint      ino_t;
+    alias ushort    mode_t;
+    alias ushort    nlink_t;
+    alias long      off_t;
+    alias int       pid_t;
+    //size_t (defined in stdc.stddef)
+    alias size_t    ssize_t;
+    //time_t (defined in stdc.time)
+    alias uint      uid_t;
+}
+else version( freebsd )
+{
+    alias long      blkcnt_t;
+    alias uint      blksize_t;
+    alias uint      dev_t;
+    alias uint      gid_t;
+    alias uint      ino_t;
+    alias ushort    mode_t;
+    alias ushort    nlink_t;
+    alias long      off_t;
+    alias int       pid_t;
+    //size_t (defined in stdc.stddef)
+    alias size_t    ssize_t;
+    //time_t (defined in stdc.time)
+    alias uint      uid_t;
+    alias uint      fflags_t;
+}
+
+//
+// XOpen (XSI)
+//
+/*
+clock_t
+fsblkcnt_t
+fsfilcnt_t
+id_t
+key_t
+suseconds_t
+useconds_t
+*/
+
+version( linux )
+{
+  static if( __USE_FILE_OFFSET64 )
+  {
+    alias ulong     fsblkcnt_t;
+    alias ulong     fsfilcnt_t;
+  }
+  else
+  {
+    alias c_ulong   fsblkcnt_t;
+    alias c_ulong   fsfilcnt_t;
+  }
+    // clock_t (defined in stdc.time)
+    alias uint      id_t;
+    alias int       key_t;
+    alias c_long    suseconds_t;
+    alias uint      useconds_t;
+}
+else version( darwin )
+{
+    //clock_t
+    alias uint  fsblkcnt_t;
+    alias uint  fsfilcnt_t;
+    alias uint  id_t;
+    // key_t
+    alias int   suseconds_t;
+    alias uint  useconds_t;
+}
+else version( freebsd )
+{
+    //clock_t
+    alias ulong     fsblkcnt_t;
+    alias ulong     fsfilcnt_t;
+    alias long      id_t;
+    alias c_long    key_t;
+    alias c_long    suseconds_t;
+    alias uint      useconds_t;
+}
+
+//
+// Thread (THR)
+//
+/*
+pthread_attr_t
+pthread_cond_t
+pthread_condattr_t
+pthread_key_t
+pthread_mutex_t
+pthread_mutexattr_t
+pthread_once_t
+pthread_rwlock_t
+pthread_rwlockattr_t
+pthread_t
+*/
+
+version( linux )
+{
+    private struct __sched_param
+    {
+        int __sched_priority;
+    }
+
+    struct pthread_attr_t
+    {
+        int             __detachstate;
+        int             __schedpolicy;
+        __sched_param   __schedparam;
+        int             __inheritsched;
+        int             __scope;
+        size_t          __guardsize;
+        int             __stackaddr_set;
+        void*           __stackaddr;
+        size_t          __stacksize;
+    }
+
+    private alias int __atomic_lock_t;
+
+    private struct _pthread_fastlock
+    {
+        c_long          __status;
+        __atomic_lock_t __spinlock;
+    }
+
+    private alias void* _pthread_descr;
+
+    private alias long __pthread_cond_align_t;
+
+    struct pthread_cond_t
+    {
+        _pthread_fastlock       __c_lock;
+        _pthread_descr          __c_waiting;
+        char[48 -
+             _pthread_fastlock.sizeof -
+             _pthread_descr.sizeof -
+             __pthread_cond_align_t.sizeof]
+                                __padding;
+        __pthread_cond_align_t  __align;
+    }
+
+    struct pthread_condattr_t
+    {
+        int __dummy;
+    }
+
+    alias uint pthread_key_t;
+
+    struct pthread_mutex_t
+    {
+        int                 __m_reserved;
+        int                 __m_count;
+        _pthread_descr      __m_owner;
+        int                 __m_kind;
+        _pthread_fastlock   __m_lock;
+    }
+
+    struct pthread_mutexattr_t
+    {
+        int __mutexkind;
+    }
+
+    alias int pthread_once_t;
+
+    struct pthread_rwlock_t
+    {
+        _pthread_fastlock   __rw_lock;
+        int                 __rw_readers;
+        _pthread_descr      __rw_writer;
+        _pthread_descr      __rw_read_waiting;
+        _pthread_descr      __rw_write_waiting;
+        int                 __rw_kind;
+        int                 __rw_pshared;
+    }
+
+    struct pthread_rwlockattr_t
+    {
+        int __lockkind;
+        int __pshared;
+    }
+
+    alias c_ulong pthread_t;
+}
+else version( darwin )
+{
+    private
+    {
+        // #if defined(__LP64__)
+        // FIXME: what is LP64, is it important enough to be included?
+        version( LP64 )
+        {
+            const __PTHREAD_SIZE__              = 1168;
+            const __PTHREAD_ATTR_SIZE__         = 56;
+            const __PTHREAD_MUTEXATTR_SIZE__    = 8;
+            const __PTHREAD_MUTEX_SIZE__        = 56;
+            const __PTHREAD_CONDATTR_SIZE__     = 8;
+            const __PTHREAD_COND_SIZE__         = 40;
+            const __PTHREAD_ONCE_SIZE__         = 8;
+            const __PTHREAD_RWLOCK_SIZE__       = 192;
+            const __PTHREAD_RWLOCKATTR_SIZE__   = 16;
+        }
+        else
+        {
+            const __PTHREAD_SIZE__              = 596;
+            const __PTHREAD_ATTR_SIZE__         = 36;
+            const __PTHREAD_MUTEXATTR_SIZE__    = 8;
+            const __PTHREAD_MUTEX_SIZE__        = 40;
+            const __PTHREAD_CONDATTR_SIZE__     = 4;
+            const __PTHREAD_COND_SIZE__         = 24;
+            const __PTHREAD_ONCE_SIZE__         = 4;
+            const __PTHREAD_RWLOCK_SIZE__       = 124;
+            const __PTHREAD_RWLOCKATTR_SIZE__   = 12;
+        }
+    }
+
+    struct pthread_handler_rec
+    {
+      void function(void*)  __routine;
+      void*                 __arg;
+      pthread_handler_rec*  __next;
+    }
+
+    struct pthread_attr_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_ATTR_SIZE__]         __opaque;
+    }
+
+    struct pthread_cond_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_COND_SIZE__]         __opaque;
+    }
+
+    struct pthread_condattr_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_CONDATTR_SIZE__]     __opaque;
+    }
+
+    alias c_ulong pthread_key_t;
+
+    struct pthread_mutex_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_MUTEX_SIZE__]        __opaque;
+    }
+
+    struct pthread_mutexattr_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_MUTEXATTR_SIZE__]    __opaque;
+    }
+
+    struct pthread_once_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_ONCE_SIZE__]         __opaque;
+    }
+
+    struct pthread_rwlock_t
+    {
+        c_long                              __sig;
+        byte[__PTHREAD_RWLOCK_SIZE__]       __opaque;
+    }
+
+    struct pthread_rwlockattr_t
+    {
+        c_long                             __sig;
+        byte[__PTHREAD_RWLOCKATTR_SIZE__]   __opaque;
+    }
+
+    private struct _opaque_pthread_t
+    {
+        c_long                  __sig;
+        pthread_handler_rec*    __cleanup_stack;
+        byte[__PTHREAD_SIZE__]  __opaque;
+    }
+
+    alias _opaque_pthread_t* pthread_t;
+}
+else version( freebsd )
+{
+    alias int lwpid_t;
+
+    alias void* pthread_attr_t;
+    alias void* pthread_cond_t;
+    alias void* pthread_condattr_t;
+    alias void* pthread_key_t;
+    alias void* pthread_mutex_t;
+    alias void* pthread_mutexattr_t;
+    alias void* pthread_once_t;
+    alias void* pthread_rwlock_t;
+    alias void* pthread_rwlockattr_t;
+    alias void* pthread_t;
+}
+
+//
+// Barrier (BAR)
+//
+/*
+pthread_barrier_t
+pthread_barrierattr_t
+*/
+
+version( linux )
+{
+    struct pthread_barrier_t
+    {
+        _pthread_fastlock   __ba_lock;
+        int                 __ba_required;
+        int                 __ba_present;
+        _pthread_descr      __ba_waiting;
+    }
+
+    struct pthread_barrierattr_t
+    {
+        int __pshared;
+    }
+}
+else version( freebsd )
+{
+    alias void* pthread_barrier_t;
+    alias void* pthread_barrierattr_t;
+}
+
+//
+// Spin (SPN)
+//
+/*
+pthread_spinlock_t
+*/
+
+version( linux )
+{
+    alias int pthread_spinlock_t; // volatile
+}
+else version( darwin )
+{
+    struct pthread_spinlock_t;
+}
+else version( freebsd )
+{
+    alias void* pthread_spinlock_t;
+}
+
+//
+// Timer (TMR)
+//
+/*
+clockid_t
+timer_t
+*/
+
+//
+// Trace (TRC)
+//
+/*
+trace_attr_t
+trace_event_id_t
+trace_event_set_t
+trace_id_t
+*/