1 /** 2 * D header file for FreeBSD. 3 * 4 * Authors: Martin Nowak 5 */ 6 module core.sys.freebsd.pthread_np; 7 8 version (FreeBSD): 9 extern (C) nothrow @nogc: 10 11 public import core.sys.posix.sys.types; 12 // TODO: add full core.sys.freebsd.sys.cpuset; 13 public import core.sys.freebsd.sys._cpuset; 14 public import core.sys.posix.time; 15 16 enum __BSD_VISIBLE = true; 17 18 alias pthread_switch_routine_t = void function(pthread_t, pthread_t); 19 20 int pthread_attr_setcreatesuspend_np(pthread_attr_t *); 21 int pthread_attr_get_np(pthread_t, pthread_attr_t *); 22 int pthread_attr_getaffinity_np(const(pthread_attr_t)*, size_t, cpuset_t *); 23 int pthread_attr_setaffinity_np(pthread_attr_t *, size_t, const(cpuset_t)*); 24 int pthread_getaffinity_np(pthread_t, size_t, cpuset_t *); 25 int pthread_getthreadid_np(); 26 int pthread_main_np(); 27 int pthread_multi_np(); 28 int pthread_mutexattr_getkind_np(pthread_mutexattr_t); 29 int pthread_mutexattr_setkind_np(pthread_mutexattr_t *, int); 30 void pthread_resume_all_np(); 31 int pthread_resume_np(pthread_t); 32 void pthread_set_name_np(pthread_t, const(char)*); 33 int pthread_mutex_getspinloops_np(pthread_mutex_t *mutex, int *count); 34 int pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count); 35 int pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count); 36 int pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count); 37 int pthread_mutex_isowned_np(pthread_mutex_t *mutex); 38 int pthread_setaffinity_np(pthread_t, size_t, const(cpuset_t)*); 39 int pthread_single_np(); 40 void pthread_suspend_all_np(); 41 int pthread_suspend_np(pthread_t); 42 int pthread_switch_add_np(pthread_switch_routine_t); 43 int pthread_switch_delete_np(pthread_switch_routine_t); 44 int pthread_timedjoin_np(pthread_t, void **, const(timespec)*); 45