summaryrefslogtreecommitdiff
path: root/libphobos/libdruntime/core/sys/posix/sys/types.d
diff options
context:
space:
mode:
Diffstat (limited to 'libphobos/libdruntime/core/sys/posix/sys/types.d')
-rw-r--r--libphobos/libdruntime/core/sys/posix/sys/types.d118
1 files changed, 94 insertions, 24 deletions
diff --git a/libphobos/libdruntime/core/sys/posix/sys/types.d b/libphobos/libdruntime/core/sys/posix/sys/types.d
index 9270bf53ca9..6188047cf0e 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/types.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/types.d
@@ -112,20 +112,25 @@ version (CRuntime_Glibc)
}
else version (CRuntime_Musl)
{
- alias long blksize_t;
- alias ulong nlink_t;
- alias long dev_t;
- alias long blkcnt_t;
- alias ulong ino_t;
- alias long off_t;
- alias long _Addr;
- alias int pid_t;
- alias uint uid_t;
- alias uint gid_t;
- alias long time_t;
- alias long clock_t;
- alias ulong pthread_t;
- alias _Addr ssize_t;
+ alias c_long blksize_t;
+ alias c_ulong nlink_t;
+ alias long dev_t;
+ alias long blkcnt_t;
+ alias ulong ino_t;
+ alias long off_t;
+ alias int pid_t;
+ alias uint uid_t;
+ alias uint gid_t;
+ version (D_X32)
+ alias long time_t;
+ else
+ alias c_long time_t;
+ alias c_long clock_t;
+ alias c_ulong pthread_t;
+ version (D_LP64)
+ alias c_long ssize_t;
+ else
+ alias int ssize_t;
}
else version (Darwin)
{
@@ -447,7 +452,10 @@ else version (CRuntime_Musl)
}
alias uint mode_t;
alias uint id_t;
- alias long suseconds_t;
+ version (D_X32)
+ alias long susseconds_t;
+ else
+ alias c_long suseconds_t;
}
else version (CRuntime_UClibc)
{
@@ -750,40 +758,77 @@ version (CRuntime_Glibc)
}
else version (CRuntime_Musl)
{
- version (X86_64) {
+ version (D_LP64)
+ {
union pthread_attr_t
{
int[14] __i;
ulong[7] __s;
}
+
union pthread_cond_t
{
int[12] __i;
void*[6] __p;
}
+
union pthread_mutex_t
{
int[10] __i;
void*[5] __p;
}
+
union pthread_rwlock_t
{
int[14] __i;
void*[7] __p;
}
- struct pthread_rwlockattr_t
+ }
+ else
+ {
+ union pthread_attr_t
+ {
+ int[9] __i;
+ uint[9] __s;
+ }
+
+ union pthread_cond_t
+ {
+ int[12] __i;
+ void*[12] __p;
+ }
+
+ union pthread_mutex_t
+ {
+ int[6] __i;
+ void*[6] __p;
+ }
+
+ union pthread_rwlock_t
{
- uint[2] __attr;
+ int[8] __i;
+ void*[8] __p;
}
- alias uint pthread_key_t;
- alias uint pthread_condattr_t;
- alias uint pthread_mutexattr_t;
- alias int pthread_once_t;
}
- else
+
+ struct pthread_rwlockattr_t
{
- static assert (false, "Architecture unsupported");
+ uint[2] __attr;
+ }
+
+ alias uint pthread_key_t;
+
+ struct pthread_condattr_t
+ {
+ uint __attr;
}
+
+ struct pthread_mutexattr_t
+ {
+ uint __attr;
+ }
+
+ alias int pthread_once_t;
}
else version (Darwin)
{
@@ -1352,6 +1397,27 @@ else version (CRuntime_Bionic)
}
else version (CRuntime_Musl)
{
+ version (D_LP64)
+ {
+ union pthread_barrier_t
+ {
+ int[8] __i;
+ void*[4] __p;
+ }
+ }
+ else
+ {
+ union pthread_barrier_t
+ {
+ int[5] __i;
+ void*[5] __p;
+ }
+ }
+
+ struct pthread_barrierattr_t
+ {
+ uint __attr;
+ }
}
else version (CRuntime_UClibc)
{
@@ -1407,6 +1473,10 @@ else version (CRuntime_UClibc)
{
alias int pthread_spinlock_t; // volatile
}
+else version (CRuntime_Musl)
+{
+ alias int pthread_spinlock_t;
+}
//
// Timer (TMR)