1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source.  A copy of the CDDL is also available via the Internet at
9# http://www.illumos.org/license/CDDL.
10#
11
12#
13# Copyright 2016 Joyent, Inc.
14#
15
16#
17# Definitions found in stddef.h
18#
19
20#
21# Types
22#
23type | cnd_t		| threads.h | -ALL +C11
24type | thrd_t		| threads.h | -ALL +C11
25type | tss_t		| threads.h | -ALL +C11
26type | mtx_t		| threads.h | -ALL +C11
27type | once_flag	| threads.h | -ALL +C11
28type | tss_dtor_t	| threads.h | -ALL +C11
29type | thrd_start_t	| threads.h | -ALL +C11
30
31#
32# Values.
33#
34value | mtx_plain	| int	| threads.h	| -ALL +C11
35value | mtx_recursive	| int	| threads.h	| -ALL +C11
36value | mtx_timed	| int	| threads.h	| -ALL +C11
37value | thrd_success	| int	| threads.h	| -ALL +C11
38value | thrd_error	| int	| threads.h	| -ALL +C11
39value | thrd_busy	| int	| threads.h	| -ALL +C11
40value | thrd_timedout	| int	| threads.h	| -ALL +C11
41value | thrd_nomem	| int	| threads.h	| -ALL +C11
42
43#
44# Defines
45#
46define | thread_local		|	| threads.h	| -ALL +C11
47define | ONCE_FLAG_INIT 	|	| threads.h	| -ALL +C11
48define | TSS_DTOR_ITERATIONS	|	| threads.h	| -ALL +C11
49
50#
51# Functions
52#
53func | call_once					|\
54	void						|\
55	once_flag *; void (*)(void)			|\
56	threads.h | -ALL +C11
57
58func | cnd_broadcast					|\
59	int						|\
60	cnd_t *						|\
61	threads.h | -ALL +C11
62
63func | cnd_destroy					|\
64	void						|\
65	cnd_t *						|\
66	threads.h | -ALL +C11
67
68func | cnd_init						|\
69	int						|\
70	cnd_t *						|\
71	threads.h | -ALL +C11
72
73func | cnd_signal					|\
74	int						|\
75	cnd_t *						|\
76	threads.h | -ALL +C11
77
78func | cnd_timedwait					|\
79	int						|\
80	cnd_t *; mtx_t *; const struct timespec *	|\
81	threads.h | -ALL +C11
82
83func | cnd_wait						|\
84	int						|\
85	cnd_t *; mtx_t *				|\
86	threads.h | -ALL +C11
87
88func | mtx_destroy					|\
89	void						|\
90	mtx_t *						|\
91	threads.h | -ALL +C11
92
93func | mtx_init						|\
94	int						|\
95	mtx_t *; int					|\
96	threads.h | -ALL +C11
97
98func | mtx_lock						|\
99	int						|\
100	mtx_t *						|\
101	threads.h | -ALL +C11
102
103func | mtx_timedlock					|\
104	int						|\
105	mtx_t *; const struct timespec *		|\
106	threads.h | -ALL +C11
107
108func | mtx_trylock					|\
109	int						|\
110	mtx_t *						|\
111	threads.h | -ALL +C11
112
113func | mtx_unlock					|\
114	int						|\
115	mtx_t *						|\
116	threads.h | -ALL +C11
117
118func | thrd_create					|\
119	int						|\
120	thrd_t *; thrd_start_t; void *			|\
121	threads.h | -ALL +C11
122
123func | thrd_current					|\
124	thrd_t						|\
125	void						|\
126	threads.h | -ALL +C11
127
128func | thrd_detach					|\
129	int						|\
130	thrd_t						|\
131	threads.h | -ALL +C11
132
133func | thrd_equal					|\
134	int						|\
135	thrd_t; thrd_t					|\
136	threads.h | -ALL +C11
137
138func | thrd_exit					|\
139	void						|\
140	int						|\
141	threads.h | -ALL +C11
142
143func | thrd_join					|\
144	int						|\
145	thrd_t; int *					|\
146	threads.h | -ALL +C11
147
148func | thrd_sleep					|\
149	int						|\
150	const struct timespec *; struct timespec *	|\
151	threads.h | -ALL +C11
152
153func | thrd_yield				|\
154	void					|\
155	void					|\
156	threads.h | -ALL +C11
157
158func | tss_create				|\
159	int					|\
160	tss_t *; tss_dtor_t			|\
161	threads.h | -ALL +C11
162
163func | tss_delete				|\
164	void					|\
165	tss_t					|\
166	threads.h | -ALL +C11
167
168func | tss_get					|\
169	void *					|\
170	tss_t					|\
171	threads.h | -ALL +C11
172
173func | tss_set					|\
174	int					|\
175	tss_t; void *				|\
176	threads.h | -ALL +C11
177