15f864214SDaniel Eischen/* 25f864214SDaniel Eischen */ 35f864214SDaniel Eischen 45f864214SDaniel Eischen/* 55f864214SDaniel Eischen * Use the same naming scheme as libc. 65f864214SDaniel Eischen */ 7e92b415cSDavid XuFBSD_1.0 { 8e92b415cSDavid Xu pthread_atfork; 9e92b415cSDavid Xu pthread_barrier_destroy; 10e92b415cSDavid Xu pthread_barrier_init; 11e92b415cSDavid Xu pthread_barrier_wait; 12e92b415cSDavid Xu pthread_barrierattr_destroy; 13e92b415cSDavid Xu pthread_barrierattr_getpshared; 14e92b415cSDavid Xu pthread_barrierattr_init; 15e92b415cSDavid Xu pthread_barrierattr_setpshared; 16e92b415cSDavid Xu pthread_attr_destroy; 17e92b415cSDavid Xu pthread_attr_get_np; 18e92b415cSDavid Xu pthread_attr_getdetachstate; 19e92b415cSDavid Xu pthread_attr_getguardsize; 20e92b415cSDavid Xu pthread_attr_getinheritsched; 21e92b415cSDavid Xu pthread_attr_getschedparam; 22e92b415cSDavid Xu pthread_attr_getschedpolicy; 23e92b415cSDavid Xu pthread_attr_getscope; 24e92b415cSDavid Xu pthread_attr_getstack; 25e92b415cSDavid Xu pthread_attr_getstackaddr; 26e92b415cSDavid Xu pthread_attr_getstacksize; 27e92b415cSDavid Xu pthread_attr_init; 28e92b415cSDavid Xu pthread_attr_setcreatesuspend_np; 29e92b415cSDavid Xu pthread_attr_setdetachstate; 30e92b415cSDavid Xu pthread_attr_setguardsize; 31e92b415cSDavid Xu pthread_attr_setinheritsched; 32e92b415cSDavid Xu pthread_attr_setschedparam; 33e92b415cSDavid Xu pthread_attr_setschedpolicy; 34e92b415cSDavid Xu pthread_attr_setscope; 35e92b415cSDavid Xu pthread_attr_setstack; 36e92b415cSDavid Xu pthread_attr_setstackaddr; 37e92b415cSDavid Xu pthread_attr_setstacksize; 38e92b415cSDavid Xu pthread_cancel; 39e92b415cSDavid Xu pthread_cleanup_pop; 40e92b415cSDavid Xu pthread_cleanup_push; 41e92b415cSDavid Xu pthread_cond_broadcast; 42e92b415cSDavid Xu pthread_cond_destroy; 43e92b415cSDavid Xu pthread_cond_init; 44e92b415cSDavid Xu pthread_cond_signal; 45e92b415cSDavid Xu pthread_cond_timedwait; 46e92b415cSDavid Xu pthread_cond_wait; 47e92b415cSDavid Xu pthread_condattr_destroy; 48e92b415cSDavid Xu pthread_condattr_getclock; 49e92b415cSDavid Xu pthread_condattr_getpshared; 50e92b415cSDavid Xu pthread_condattr_init; 51e92b415cSDavid Xu pthread_condattr_setclock; 52e92b415cSDavid Xu pthread_condattr_setpshared; 53e92b415cSDavid Xu pthread_create; 54e92b415cSDavid Xu pthread_detach; 55e92b415cSDavid Xu pthread_equal; 56e92b415cSDavid Xu pthread_exit; 57e92b415cSDavid Xu pthread_getconcurrency; 58e92b415cSDavid Xu pthread_getprio; 59e92b415cSDavid Xu pthread_getschedparam; 60e92b415cSDavid Xu pthread_getspecific; 61e92b415cSDavid Xu pthread_join; 62e92b415cSDavid Xu pthread_key_create; 63e92b415cSDavid Xu pthread_key_delete; 64e92b415cSDavid Xu pthread_kill; 65e92b415cSDavid Xu pthread_main_np; 66e92b415cSDavid Xu pthread_multi_np; 67e92b415cSDavid Xu pthread_mutex_destroy; 68e92b415cSDavid Xu pthread_mutex_getprioceiling; 69e92b415cSDavid Xu pthread_mutex_init; 70e92b415cSDavid Xu pthread_mutex_lock; 71e92b415cSDavid Xu pthread_mutex_setprioceiling; 72e92b415cSDavid Xu pthread_mutex_timedlock; 73e92b415cSDavid Xu pthread_mutex_trylock; 74e92b415cSDavid Xu pthread_mutex_unlock; 75e92b415cSDavid Xu pthread_mutexattr_destroy; 76e92b415cSDavid Xu pthread_mutexattr_getkind_np; 77e92b415cSDavid Xu pthread_mutexattr_getprioceiling; 78e92b415cSDavid Xu pthread_mutexattr_getpshared; 79e92b415cSDavid Xu pthread_mutexattr_getprotocol; 80e92b415cSDavid Xu pthread_mutexattr_gettype; 81e92b415cSDavid Xu pthread_mutexattr_init; 82e92b415cSDavid Xu pthread_mutexattr_setkind_np; 83e92b415cSDavid Xu pthread_mutexattr_setprioceiling; 84e92b415cSDavid Xu pthread_mutexattr_setprotocol; 85e92b415cSDavid Xu pthread_mutexattr_setpshared; 86e92b415cSDavid Xu pthread_mutexattr_settype; 87e92b415cSDavid Xu pthread_once; 88e92b415cSDavid Xu pthread_resume_all_np; 89e92b415cSDavid Xu pthread_resume_np; 90e92b415cSDavid Xu pthread_rwlock_destroy; 91e92b415cSDavid Xu pthread_rwlock_init; 92e92b415cSDavid Xu pthread_rwlock_rdlock; 93e92b415cSDavid Xu pthread_rwlock_timedrdlock; 94e92b415cSDavid Xu pthread_rwlock_timedwrlock; 95e92b415cSDavid Xu pthread_rwlock_tryrdlock; 96e92b415cSDavid Xu pthread_rwlock_trywrlock; 97e92b415cSDavid Xu pthread_rwlock_unlock; 98e92b415cSDavid Xu pthread_rwlock_wrlock; 99e92b415cSDavid Xu pthread_rwlockattr_destroy; 100e92b415cSDavid Xu pthread_rwlockattr_getpshared; 101e92b415cSDavid Xu pthread_rwlockattr_init; 102e92b415cSDavid Xu pthread_rwlockattr_setpshared; 103e92b415cSDavid Xu pthread_set_name_np; 10457030e10SDavid Xu pthread_self; 105e92b415cSDavid Xu pthread_setcancelstate; 106e92b415cSDavid Xu pthread_setcanceltype; 107e92b415cSDavid Xu pthread_setconcurrency; 108e92b415cSDavid Xu pthread_setprio; 109e92b415cSDavid Xu pthread_setschedparam; 110e92b415cSDavid Xu pthread_setspecific; 111e92b415cSDavid Xu pthread_sigmask; 112e92b415cSDavid Xu pthread_single_np; 113e92b415cSDavid Xu pthread_spin_destroy; 114e92b415cSDavid Xu pthread_spin_init; 115e92b415cSDavid Xu pthread_spin_lock; 116e92b415cSDavid Xu pthread_spin_trylock; 117e92b415cSDavid Xu pthread_spin_unlock; 118e92b415cSDavid Xu pthread_suspend_all_np; 119e92b415cSDavid Xu pthread_suspend_np; 120e92b415cSDavid Xu pthread_switch_add_np; 121e92b415cSDavid Xu pthread_switch_delete_np; 122e92b415cSDavid Xu pthread_testcancel; 123e92b415cSDavid Xu pthread_timedjoin_np; 124e92b415cSDavid Xu pthread_yield; 125e92b415cSDavid Xu}; 126e92b415cSDavid Xu 1275f864214SDaniel Eischen/* 1285f864214SDaniel Eischen * List the private interfaces reserved for use in FreeBSD libraries. 1295f864214SDaniel Eischen * These are not part of our application ABI. 1305f864214SDaniel Eischen */ 1315f864214SDaniel EischenFBSDprivate_1.0 { 132e92b415cSDavid Xu __pthread_cond_timedwait; 133e92b415cSDavid Xu __pthread_cond_wait; 134ea246b63SKonstantin Belousov __pthread_cxa_finalize; 135e92b415cSDavid Xu __pthread_mutex_init; 136e92b415cSDavid Xu __pthread_mutex_lock; 137e92b415cSDavid Xu __pthread_mutex_timedlock; 138e92b415cSDavid Xu __pthread_mutex_trylock; 1395d00c5a6SKonstantin Belousov __pthread_distribute_static_tls; 140e92b415cSDavid Xu _pthread_atfork; 141e92b415cSDavid Xu _pthread_barrier_destroy; 142e92b415cSDavid Xu _pthread_barrier_init; 143e92b415cSDavid Xu _pthread_barrier_wait; 144e92b415cSDavid Xu _pthread_barrierattr_destroy; 145e92b415cSDavid Xu _pthread_barrierattr_getpshared; 146e92b415cSDavid Xu _pthread_barrierattr_init; 147e92b415cSDavid Xu _pthread_barrierattr_setpshared; 148e92b415cSDavid Xu _pthread_attr_destroy; 149e92b415cSDavid Xu _pthread_attr_get_np; 15007bbb166SDavid Xu _pthread_attr_getaffinity_np; 151e92b415cSDavid Xu _pthread_attr_getdetachstate; 152e92b415cSDavid Xu _pthread_attr_getguardsize; 153e92b415cSDavid Xu _pthread_attr_getinheritsched; 154e92b415cSDavid Xu _pthread_attr_getschedparam; 155e92b415cSDavid Xu _pthread_attr_getschedpolicy; 156e92b415cSDavid Xu _pthread_attr_getscope; 157e92b415cSDavid Xu _pthread_attr_getstack; 158e92b415cSDavid Xu _pthread_attr_getstackaddr; 159e92b415cSDavid Xu _pthread_attr_getstacksize; 160e92b415cSDavid Xu _pthread_attr_init; 16107bbb166SDavid Xu _pthread_attr_setaffinity_np; 162e92b415cSDavid Xu _pthread_attr_setcreatesuspend_np; 163e92b415cSDavid Xu _pthread_attr_setdetachstate; 164e92b415cSDavid Xu _pthread_attr_setguardsize; 165e92b415cSDavid Xu _pthread_attr_setinheritsched; 166e92b415cSDavid Xu _pthread_attr_setschedparam; 167e92b415cSDavid Xu _pthread_attr_setschedpolicy; 168e92b415cSDavid Xu _pthread_attr_setscope; 169e92b415cSDavid Xu _pthread_attr_setstack; 170e92b415cSDavid Xu _pthread_attr_setstackaddr; 171e92b415cSDavid Xu _pthread_attr_setstacksize; 172e92b415cSDavid Xu _pthread_cancel; 173f4213b90SDavid Xu _pthread_cancel_enter; 174f4213b90SDavid Xu _pthread_cancel_leave; 175e92b415cSDavid Xu _pthread_cleanup_pop; 176e92b415cSDavid Xu _pthread_cleanup_push; 177e92b415cSDavid Xu _pthread_cond_broadcast; 178e92b415cSDavid Xu _pthread_cond_destroy; 179e92b415cSDavid Xu _pthread_cond_init; 180e92b415cSDavid Xu _pthread_cond_signal; 181e92b415cSDavid Xu _pthread_cond_timedwait; 182e92b415cSDavid Xu _pthread_cond_wait; 183e92b415cSDavid Xu _pthread_condattr_destroy; 184e92b415cSDavid Xu _pthread_condattr_getclock; 185e92b415cSDavid Xu _pthread_condattr_getpshared; 186e92b415cSDavid Xu _pthread_condattr_init; 187e92b415cSDavid Xu _pthread_condattr_setclock; 188e92b415cSDavid Xu _pthread_condattr_setpshared; 189e92b415cSDavid Xu _pthread_create; 190e92b415cSDavid Xu _pthread_detach; 191e92b415cSDavid Xu _pthread_equal; 192e92b415cSDavid Xu _pthread_exit; 19307bbb166SDavid Xu _pthread_getaffinity_np; 194e92b415cSDavid Xu _pthread_getconcurrency; 1959939a136SDavid Xu _pthread_getcpuclockid; 196e92b415cSDavid Xu _pthread_getprio; 197e92b415cSDavid Xu _pthread_getschedparam; 198e92b415cSDavid Xu _pthread_getspecific; 199678b238cSJung-uk Kim _pthread_getthreadid_np; 200e92b415cSDavid Xu _pthread_join; 201e92b415cSDavid Xu _pthread_key_create; 202e92b415cSDavid Xu _pthread_key_delete; 203e92b415cSDavid Xu _pthread_kill; 204e92b415cSDavid Xu _pthread_main_np; 205e92b415cSDavid Xu _pthread_multi_np; 206e92b415cSDavid Xu _pthread_mutex_destroy; 207e92b415cSDavid Xu _pthread_mutex_getprioceiling; 208093fcf16SDavid Xu _pthread_mutex_getspinloops_np; 209093fcf16SDavid Xu _pthread_mutex_getyieldloops_np; 210e92b415cSDavid Xu _pthread_mutex_init; 211e1636e1fSJason Evans _pthread_mutex_init_calloc_cb; 21247252f4eSDag-Erling Smørgrav _pthread_mutex_isowned_np; 213e92b415cSDavid Xu _pthread_mutex_lock; 214e92b415cSDavid Xu _pthread_mutex_setprioceiling; 215093fcf16SDavid Xu _pthread_mutex_setspinloops_np; 216093fcf16SDavid Xu _pthread_mutex_setyieldloops_np; 217e92b415cSDavid Xu _pthread_mutex_timedlock; 218e92b415cSDavid Xu _pthread_mutex_trylock; 219e92b415cSDavid Xu _pthread_mutex_unlock; 220e92b415cSDavid Xu _pthread_mutexattr_destroy; 221e92b415cSDavid Xu _pthread_mutexattr_getkind_np; 222e92b415cSDavid Xu _pthread_mutexattr_getprioceiling; 223e92b415cSDavid Xu _pthread_mutexattr_getprotocol; 224e92b415cSDavid Xu _pthread_mutexattr_getpshared; 225e92b415cSDavid Xu _pthread_mutexattr_gettype; 226e92b415cSDavid Xu _pthread_mutexattr_init; 227e92b415cSDavid Xu _pthread_mutexattr_setkind_np; 228e92b415cSDavid Xu _pthread_mutexattr_setprioceiling; 229e92b415cSDavid Xu _pthread_mutexattr_setprotocol; 230e92b415cSDavid Xu _pthread_mutexattr_setpshared; 231e92b415cSDavid Xu _pthread_mutexattr_settype; 232e92b415cSDavid Xu _pthread_once; 233e92b415cSDavid Xu _pthread_resume_all_np; 234e92b415cSDavid Xu _pthread_resume_np; 235e92b415cSDavid Xu _pthread_rwlock_destroy; 236e92b415cSDavid Xu _pthread_rwlock_init; 237e92b415cSDavid Xu _pthread_rwlock_rdlock; 238e92b415cSDavid Xu _pthread_rwlock_timedrdlock; 239e92b415cSDavid Xu _pthread_rwlock_timedwrlock; 240e92b415cSDavid Xu _pthread_rwlock_tryrdlock; 241e92b415cSDavid Xu _pthread_rwlock_trywrlock; 242e92b415cSDavid Xu _pthread_rwlock_unlock; 243e92b415cSDavid Xu _pthread_rwlock_wrlock; 244e92b415cSDavid Xu _pthread_rwlockattr_destroy; 245e92b415cSDavid Xu _pthread_rwlockattr_getpshared; 246e92b415cSDavid Xu _pthread_rwlockattr_init; 247e92b415cSDavid Xu _pthread_rwlockattr_setpshared; 248e92b415cSDavid Xu _pthread_self; 249e92b415cSDavid Xu _pthread_set_name_np; 25007bbb166SDavid Xu _pthread_setaffinity_np; 251e92b415cSDavid Xu _pthread_setcancelstate; 252e92b415cSDavid Xu _pthread_setcanceltype; 253e92b415cSDavid Xu _pthread_setconcurrency; 254e92b415cSDavid Xu _pthread_setprio; 255e92b415cSDavid Xu _pthread_setschedparam; 256e92b415cSDavid Xu _pthread_setspecific; 257e92b415cSDavid Xu _pthread_sigmask; 258e92b415cSDavid Xu _pthread_single_np; 259e92b415cSDavid Xu _pthread_spin_destroy; 260e92b415cSDavid Xu _pthread_spin_init; 261e92b415cSDavid Xu _pthread_spin_lock; 262e92b415cSDavid Xu _pthread_spin_trylock; 263e92b415cSDavid Xu _pthread_spin_unlock; 264e92b415cSDavid Xu _pthread_suspend_all_np; 265e92b415cSDavid Xu _pthread_suspend_np; 266e92b415cSDavid Xu _pthread_switch_add_np; 267e92b415cSDavid Xu _pthread_switch_delete_np; 268e92b415cSDavid Xu _pthread_testcancel; 269e92b415cSDavid Xu _pthread_timedjoin_np; 270e92b415cSDavid Xu _pthread_yield; 271e92b415cSDavid Xu 2725f864214SDaniel Eischen /* Debugger needs these. */ 273e92b415cSDavid Xu _libthr_debug; 274e92b415cSDavid Xu _thread_active_threads; 275e92b415cSDavid Xu _thread_bp_create; 276e92b415cSDavid Xu _thread_bp_death; 277e92b415cSDavid Xu _thread_event_mask; 278e92b415cSDavid Xu _thread_keytable; 279e92b415cSDavid Xu _thread_last_event; 280e92b415cSDavid Xu _thread_list; 281e92b415cSDavid Xu _thread_max_keys; 282e92b415cSDavid Xu _thread_off_attr_flags; 283e92b415cSDavid Xu _thread_off_dtv; 284e92b415cSDavid Xu _thread_off_event_buf; 285e92b415cSDavid Xu _thread_off_event_mask; 286e92b415cSDavid Xu _thread_off_key_allocated; 287e92b415cSDavid Xu _thread_off_key_destructor; 288e92b415cSDavid Xu _thread_off_linkmap; 289e92b415cSDavid Xu _thread_off_next; 290e92b415cSDavid Xu _thread_off_report_events; 291e92b415cSDavid Xu _thread_off_state; 292e92b415cSDavid Xu _thread_off_tcb; 293e92b415cSDavid Xu _thread_off_tid; 294e92b415cSDavid Xu _thread_off_tlsindex; 295e92b415cSDavid Xu _thread_size_key; 296e92b415cSDavid Xu _thread_state_running; 297e92b415cSDavid Xu _thread_state_zoombie; 29808bfbd43SKonstantin Belousov 29908bfbd43SKonstantin Belousov /* ABI bug workaround, indicate that pli->rtli_version is valid */ 30008bfbd43SKonstantin Belousov _pli_rtli_version; 30149d68436SBrooks Davis 30249d68436SBrooks Davis /* Expose stub for libsys filter */ 30349d68436SBrooks Davis _umtx_op_err; 304e92b415cSDavid Xu}; 3055fd410a7SDag-Erling Smørgrav 3065fd410a7SDag-Erling SmørgravFBSD_1.1 { 30783a07587SDavid Xu __pthread_cleanup_pop_imp; 30883a07587SDavid Xu __pthread_cleanup_push_imp; 30907bbb166SDavid Xu pthread_attr_getaffinity_np; 31007bbb166SDavid Xu pthread_attr_setaffinity_np; 31157030e10SDavid Xu pthread_getaffinity_np; 3129939a136SDavid Xu pthread_getcpuclockid; 31357030e10SDavid Xu pthread_setaffinity_np; 314facfc982SDag-Erling Smørgrav pthread_mutex_getspinloops_np; 315facfc982SDag-Erling Smørgrav pthread_mutex_getyieldloops_np; 3161cbdac26SDag-Erling Smørgrav pthread_mutex_isowned_np; 317facfc982SDag-Erling Smørgrav pthread_mutex_setspinloops_np; 318facfc982SDag-Erling Smørgrav pthread_mutex_setyieldloops_np; 319a9b9744fSDag-Erling Smørgrav}; 32029670497SJilles Tjoelker 32129670497SJilles TjoelkerFBSD_1.2 { 322678b238cSJung-uk Kim pthread_getthreadid_np; 323da7d2afbSJilles Tjoelker}; 3242a339d9eSKonstantin Belousov 3252a339d9eSKonstantin BelousovFBSD_1.4 { 3262a339d9eSKonstantin Belousov pthread_mutex_consistent; 3272a339d9eSKonstantin Belousov pthread_mutexattr_getrobust; 3282a339d9eSKonstantin Belousov pthread_mutexattr_setrobust; 3292a339d9eSKonstantin Belousov}; 3304627d47bSKonstantin Belousov 3314627d47bSKonstantin BelousovFBSD_1.5 { 3324627d47bSKonstantin Belousov pthread_get_name_np; 3334627d47bSKonstantin Belousov}; 334132fb3dcSKonstantin Belousov 335132fb3dcSKonstantin BelousovFBSD_1.6 { 3362ef84b7dSKonstantin Belousov pthread_getname_np; 337132fb3dcSKonstantin Belousov pthread_peekjoin_np; 3382ef84b7dSKonstantin Belousov pthread_setname_np; 339132fb3dcSKonstantin Belousov}; 340220aa0f4SKonstantin Belousov 341220aa0f4SKonstantin BelousovFBSD_1.8 { 342220aa0f4SKonstantin Belousov pthread_sigqueue; 343220aa0f4SKonstantin Belousov}; 344