pthreadtypesh.inc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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 = record
  25. __c_lock : _pthread_fastlock;
  26. __c_waiting : _pthread_descr;
  27. end;
  28. Ppthread_condattr_t = ^pthread_condattr_t;
  29. pthread_condattr_t = record
  30. __dummy : longint;
  31. end;
  32. Ppthread_key_t = ^pthread_key_t;
  33. pthread_key_t = dword;
  34. Ppthread_mutex_t = ^pthread_mutex_t;
  35. pthread_mutex_t = record
  36. __m_reserved : longint;
  37. __m_count : longint;
  38. __m_owner : _pthread_descr;
  39. __m_kind : longint;
  40. __m_lock : _pthread_fastlock;
  41. end;
  42. Ppthread_mutexattr_t = ^pthread_mutexattr_t;
  43. pthread_mutexattr_t = record
  44. __mutexkind : longint;
  45. end;
  46. Ppthread_once_t = ^pthread_once_t;
  47. pthread_once_t = longint;
  48. P_pthread_rwlock_t = ^_pthread_rwlock_t;
  49. _pthread_rwlock_t = record
  50. __rw_lock : _pthread_fastlock;
  51. __rw_readers : longint;
  52. __rw_writer : _pthread_descr;
  53. __rw_read_waiting : _pthread_descr;
  54. __rw_write_waiting : _pthread_descr;
  55. __rw_kind : longint;
  56. __rw_pshared : longint;
  57. end;
  58. pthread_rwlock_t = _pthread_rwlock_t;
  59. Ppthread_rwlock_t = ^pthread_rwlock_t;
  60. Ppthread_rwlockattr_t = ^pthread_rwlockattr_t;
  61. pthread_rwlockattr_t = record
  62. __lockkind : longint;
  63. __pshared : longint;
  64. end;
  65. Ppthread_spinlock_t = ^pthread_spinlock_t;
  66. pthread_spinlock_t = longint;
  67. Ppthread_barrier_t = ^pthread_barrier_t;
  68. pthread_barrier_t = record
  69. __ba_lock : _pthread_fastlock;
  70. __ba_required : longint;
  71. __ba_present : longint;
  72. __ba_waiting : _pthread_descr;
  73. end;
  74. Ppthread_barrierattr_t = ^pthread_barrierattr_t;
  75. pthread_barrierattr_t = record
  76. __pshared : longint;
  77. end;
  78. Ppthread_t = ^pthread_t;
  79. pthread_t = dword;
  80. { ---------------------------------------------------------------------
  81. Borland compatibility types
  82. ---------------------------------------------------------------------}
  83. Type
  84. TPthreadFastlock = _pthread_fastlock;
  85. PPthreadFastlock = ^TPthreadFastlock;
  86. TCondVar = pthread_cond_t;
  87. PCondVar = ^TCondVar;
  88. TPthreadCondattr = pthread_condattr_t;
  89. PPthreadCondattr = ^TPthreadCondattr;
  90. TPthreadMutex = pthread_mutex_t;
  91. PPthreadMutex = ^TPthreadMutex;
  92. TRTLCriticalSection = TPthreadMutex;
  93. PRTLCriticalSection = ^TRTLCriticalSection;
  94. TMutexAttribute = pthread_mutexattr_t;
  95. PMutexAttribute = ^TMutexAttribute;
  96. TPThreadOnce = pthread_once_t;
  97. PPThreadOnce = ^pthread_once_t;
  98. TPthreadRWlock = pthread_rwlock_t;
  99. PPthreadRWlock = ^TPthreadRWlock;
  100. TPthreadRWlockAttribute = pthread_rwlockattr_t;
  101. PPthreadRWlockAttribute = ^TPthreadRWlockAttribute;
  102. TPthreadSpinlock = pthread_spinlock_t;
  103. PPthreadSpinlock = ^TPthreadSpinlock;
  104. TPthreadBarrier = pthread_barrier_t;
  105. PPthreadBarrier = ^TPthreadBarrier;
  106. TPthreadBarrierAttribute = pthread_barrierattr_t;
  107. PPthreadBarrierAttribute = ^TPthreadBarrierAttribute;
  108. TThreadID = pthread_t;
  109. TPThreadKey = pthread_key_t;