xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/freebsd/pthread_np.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
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