pthreadtypesh.inc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. type
  2. P_pthread_fastlock = ^_pthread_fastlock;
  3. _pthread_fastlock = record
  4. __status : longint;
  5. __spinlock : longint;
  6. end;
  7. P_pthread_descr = ^_pthread_descr;
  8. _pthread_descr = pointer; // Opaque type.
  9. P__pthread_attr_s = ^__pthread_attr_s;
  10. __pthread_attr_s = record
  11. __detachstate : longint;
  12. __schedpolicy : longint;
  13. __schedparam : __sched_param;
  14. __inheritsched : longint;
  15. __scope : longint;
  16. __guardsize : size_t;
  17. __stackaddr_set : longint;
  18. __stackaddr : pointer;
  19. __stacksize : size_t;
  20. end;
  21. pthread_attr_t = __pthread_attr_s;
  22. Ppthread_attr_t = ^pthread_attr_t;
  23. Ppthread_cond_t = ^pthread_cond_t;
  24. pthread_cond_t = unixtype.pthread_cond_t;
  25. {record
  26. __c_lock : _pthread_fastlock;
  27. __c_waiting : _pthread_descr;
  28. end;}
  29. Ppthread_condattr_t = ^pthread_condattr_t;
  30. pthread_condattr_t = record
  31. __dummy : longint;
  32. end;
  33. Ppthread_key_t = ^pthread_key_t;
  34. pthread_key_t = dword;
  35. Ppthread_mutex_t = ^pthread_mutex_t;
  36. pthread_mutex_t = record
  37. __m_reserved : longint;
  38. __m_count : longint;
  39. __m_owner : _pthread_descr;
  40. __m_kind : longint;
  41. __m_lock : _pthread_fastlock;
  42. end;
  43. Ppthread_mutexattr_t = ^pthread_mutexattr_t;
  44. pthread_mutexattr_t = record
  45. __mutexkind : longint;
  46. end;
  47. Ppthread_once_t = ^pthread_once_t;
  48. pthread_once_t = longint;
  49. P_pthread_rwlock_t = ^_pthread_rwlock_t;
  50. _pthread_rwlock_t = record
  51. __rw_lock : _pthread_fastlock;
  52. __rw_readers : longint;
  53. __rw_writer : _pthread_descr;
  54. __rw_read_waiting : _pthread_descr;
  55. __rw_write_waiting : _pthread_descr;
  56. __rw_kind : longint;
  57. __rw_pshared : longint;
  58. end;
  59. pthread_rwlock_t = _pthread_rwlock_t;
  60. Ppthread_rwlock_t = ^pthread_rwlock_t;
  61. Ppthread_rwlockattr_t = ^pthread_rwlockattr_t;
  62. pthread_rwlockattr_t = record
  63. __lockkind : longint;
  64. __pshared : longint;
  65. end;
  66. Ppthread_spinlock_t = ^pthread_spinlock_t;
  67. pthread_spinlock_t = longint;
  68. Ppthread_barrier_t = ^pthread_barrier_t;
  69. pthread_barrier_t = record
  70. __ba_lock : _pthread_fastlock;
  71. __ba_required : longint;
  72. __ba_present : longint;
  73. __ba_waiting : _pthread_descr;
  74. end;
  75. Ppthread_barrierattr_t = ^pthread_barrierattr_t;
  76. pthread_barrierattr_t = record
  77. __pshared : longint;
  78. end;
  79. Ppthread_t = ^pthread_t;
  80. pthread_t = dword;
  81. { ---------------------------------------------------------------------
  82. Borland compatibility types
  83. ---------------------------------------------------------------------}
  84. Type
  85. TPthreadFastlock = _pthread_fastlock;
  86. PPthreadFastlock = ^TPthreadFastlock;
  87. TCondVar = pthread_cond_t;
  88. PCondVar = ^TCondVar;
  89. TPthreadCondattr = pthread_condattr_t;
  90. PPthreadCondattr = ^TPthreadCondattr;
  91. TPthreadMutex = pthread_mutex_t;
  92. PPthreadMutex = ^TPthreadMutex;
  93. TRTLCriticalSection = TPthreadMutex;
  94. PRTLCriticalSection = ^TRTLCriticalSection;
  95. TMutexAttribute = pthread_mutexattr_t;
  96. PMutexAttribute = ^TMutexAttribute;
  97. TPThreadOnce = pthread_once_t;
  98. PPThreadOnce = ^pthread_once_t;
  99. TPthreadRWlock = pthread_rwlock_t;
  100. PPthreadRWlock = ^TPthreadRWlock;
  101. TPthreadRWlockAttribute = pthread_rwlockattr_t;
  102. PPthreadRWlockAttribute = ^TPthreadRWlockAttribute;
  103. TPthreadSpinlock = pthread_spinlock_t;
  104. PPthreadSpinlock = ^TPthreadSpinlock;
  105. TPthreadBarrier = pthread_barrier_t;
  106. PPthreadBarrier = ^TPthreadBarrier;
  107. TPthreadBarrierAttribute = pthread_barrierattr_t;
  108. PPthreadBarrierAttribute = ^TPthreadBarrierAttribute;
  109. TThreadID = pthread_t;
  110. TPThreadKey = pthread_key_t;