libc/new/apple/libpthread/sys/_pthread/
_pthread_types.rs1use crate::prelude::*;
10
11cfg_if! {
12 if #[cfg(target_pointer_width = "64")] {
13 pub const __PTHREAD_SIZE__: usize = 8176;
14 pub const __PTHREAD_ATTR_SIZE__: usize = 56;
15 pub const __PTHREAD_MUTEXATTR_SIZE__: usize = 8;
16 pub const __PTHREAD_MUTEX_SIZE__: usize = 56;
17 pub const __PTHREAD_CONDATTR_SIZE__: usize = 8;
18 pub const __PTHREAD_COND_SIZE__: usize = 40;
19 pub const __PTHREAD_ONCE_SIZE__: usize = 8;
20 pub const __PTHREAD_RWLOCK_SIZE__: usize = 192;
21 pub const __PTHREAD_RWLOCKATTR_SIZE__: usize = 16;
22 } else {
23 pub const __PTHREAD_SIZE__: usize = 4088;
24 pub const __PTHREAD_ATTR_SIZE__: usize = 36;
25 pub const __PTHREAD_MUTEXATTR_SIZE__: usize = 8;
26 pub const __PTHREAD_MUTEX_SIZE__: usize = 40;
27 pub const __PTHREAD_CONDATTR_SIZE__: usize = 4;
28 pub const __PTHREAD_COND_SIZE__: usize = 24;
29 pub const __PTHREAD_ONCE_SIZE__: usize = 4;
30 pub const __PTHREAD_RWLOCK_SIZE__: usize = 124;
31 pub const __PTHREAD_RWLOCKATTR_SIZE__: usize = 12;
32 }
33}
34
35s! {
36 pub struct pthread_attr_t {
37 pub(crate) __sig: c_long,
38 pub(crate) __opaque: [c_char; __PTHREAD_ATTR_SIZE__],
39 }
40
41 pub struct pthread_cond_t {
42 pub(crate) __sig: c_long,
43 pub(crate) __opaque: [u8; __PTHREAD_COND_SIZE__],
44 }
45
46 pub struct pthread_condattr_t {
47 pub(crate) __sig: c_long,
48 pub(crate) __opaque: [u8; __PTHREAD_CONDATTR_SIZE__],
49 }
50
51 pub struct pthread_mutex_t {
52 pub(crate) __sig: c_long,
53 pub(crate) __opaque: [u8; __PTHREAD_MUTEX_SIZE__],
54 }
55
56 pub struct pthread_mutexattr_t {
57 pub(crate) __sig: c_long,
58 pub(crate) __opaque: [u8; __PTHREAD_MUTEXATTR_SIZE__],
59 }
60
61 pub struct pthread_once_t {
62 pub(crate) __sig: c_long,
63 pub(crate) __opaque: [c_char; __PTHREAD_ONCE_SIZE__],
64 }
65
66 pub struct pthread_rwlock_t {
67 pub(crate) __sig: c_long,
68 pub(crate) __opaque: [u8; __PTHREAD_RWLOCK_SIZE__],
69 }
70
71 pub struct pthread_rwlockattr_t {
72 pub(crate) __sig: c_long,
73 pub(crate) __opaque: [u8; __PTHREAD_RWLOCKATTR_SIZE__],
74 }
75}
76
77pub type pthread_key_t = c_ulong;
78
79pub use crate::pthread_t;