• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file makes most of the thread related macros look like
2# functions, which they really were, if possible easy.
3
4# default thread implementation
5
6<MACRO>
7<NAME>G_THREADS_IMPL_POSIX</NAME>
8#define G_THREADS_IMPL_POSIX
9</MACRO>
10
11<MACRO>
12<NAME>G_THREADS_IMPL_NONE</NAME>
13#define G_THREADS_IMPL_NONE
14</MACRO>
15
16# threads supported?
17
18<FUNCTION>
19<NAME>g_thread_supported</NAME>
20<RETURNS>gboolean</RETURNS>
21</FUNCTION>
22
23# GMutex
24
25<FUNCTION>
26<NAME>g_mutex_new</NAME>
27<RETURNS>GMutex *</RETURNS>
28</FUNCTION>
29
30<FUNCTION>
31<NAME>g_mutex_lock</NAME>
32<RETURNS>void</RETURNS>
33GMutex *mutex
34</FUNCTION>
35
36<FUNCTION>
37<NAME>g_mutex_trylock</NAME>
38<RETURNS>gboolean</RETURNS>
39GMutex *mutex
40</FUNCTION>
41
42<FUNCTION>
43<NAME>g_mutex_unlock</NAME>
44<RETURNS>void</RETURNS>
45GMutex *mutex
46</FUNCTION>
47
48<FUNCTION>
49<NAME>g_mutex_free</NAME>
50<RETURNS>void</RETURNS>
51GMutex *mutex
52</FUNCTION>
53
54# GStaticMutex
55
56<STRUCT>
57<NAME>GStaticMutex</NAME>
58</STRUCT>
59
60<MACRO>
61<NAME>G_STATIC_MUTEX_INIT</NAME>
62#define G_STATIC_MUTEX_INIT
63</MACRO>
64
65<FUNCTION>
66<NAME>g_static_mutex_lock</NAME>
67<RETURNS>void</RETURNS>
68GStaticMutex* mutex
69</FUNCTION>
70
71<FUNCTION>
72<NAME>g_static_mutex_trylock</NAME>
73<RETURNS>gboolean</RETURNS>
74GStaticMutex* mutex
75</FUNCTION>
76
77<FUNCTION>
78<NAME>g_static_mutex_unlock</NAME>
79<RETURNS>void</RETURNS>
80GStaticMutex* mutex
81</FUNCTION>
82
83<FUNCTION>
84<NAME>g_static_mutex_get_mutex</NAME>
85<RETURNS>GMutex *</RETURNS>
86GStaticMutex* mutex
87</FUNCTION>
88
89# GThread
90
91<FUNCTION>
92<NAME>g_thread_yield</NAME>
93<RETURNS>void</RETURNS>
94</FUNCTION>
95
96<FUNCTION>
97<NAME>g_thread_create</NAME>
98<RETURNS>GThread *</RETURNS>
99GThreadFunc func
100gpointer data,
101gboolean joinable,
102GError **error
103</FUNCTION>
104
105# G_LOCK_* macros
106
107<MACRO>
108<NAME>G_LOCK_DEFINE</NAME>
109#define G_LOCK_DEFINE(name)
110</MACRO>
111
112<MACRO>
113<NAME>G_LOCK_DEFINE_STATIC</NAME>
114#define G_LOCK_DEFINE_STATIC(name)
115</MACRO>
116
117<MACRO>
118<NAME>G_LOCK_EXTERN</NAME>
119#define G_LOCK_EXTERN(name)
120</MACRO>
121
122<MACRO>
123<NAME>G_LOCK</NAME>
124#define G_LOCK(name)
125</MACRO>
126
127<MACRO>
128<NAME>G_UNLOCK</NAME>
129#define G_UNLOCK(name)
130</MACRO>
131
132<MACRO>
133<NAME>G_TRYLOCK</NAME>
134#define G_TRYLOCK(name)
135</MACRO>
136
137# GCond
138
139<FUNCTION>
140<NAME>g_cond_new</NAME>
141<RETURNS>GCond*</RETURNS>
142</FUNCTION>
143
144<FUNCTION>
145<NAME>g_cond_signal</NAME>
146<RETURNS>void</RETURNS>
147GCond *cond
148</FUNCTION>
149
150<FUNCTION>
151<NAME>g_cond_broadcast</NAME>
152<RETURNS>void</RETURNS>
153GCond *cond
154</FUNCTION>
155
156<FUNCTION>
157<NAME>g_cond_wait</NAME>
158<RETURNS>void</RETURNS>
159GCond *cond, GMutex *mutex
160</FUNCTION>
161
162<FUNCTION>
163<NAME>g_cond_timed_wait</NAME>
164<RETURNS>gboolean</RETURNS>
165GCond *cond, GMutex *mutex, GTimeVal *abs_time
166</FUNCTION>
167
168<FUNCTION>
169<NAME>g_cond_free</NAME>
170<RETURNS>void</RETURNS>
171GCond *cond
172</FUNCTION>
173
174# GPrivate
175
176<FUNCTION>
177<NAME>g_private_new</NAME>
178<RETURNS>GPrivate*</RETURNS>
179GDestroyNotify destructor
180</FUNCTION>
181
182<FUNCTION>
183<NAME>g_private_get</NAME>
184<RETURNS>gpointer</RETURNS>
185GPrivate *private_key
186</FUNCTION>
187
188<FUNCTION>
189<NAME>g_private_set</NAME>
190<RETURNS>void</RETURNS>
191GPrivate *private_key, gpointer data
192</FUNCTION>
193
194# GStaticPrivate
195
196<MACRO>
197<NAME>G_STATIC_PRIVATE_INIT</NAME>
198#define G_STATIC_PRIVATE_INIT
199</MACRO>
200
201# Definitions for different operating systems
202
203<MACRO>
204<NAME>G_OS_UNIX</NAME>
205#define G_OS_UNIX
206</MACRO>
207
208<MACRO>
209<NAME>G_OS_WIN32</NAME>
210#define G_OS_WIN32
211</MACRO>
212
213<MACRO>
214<NAME>G_OS_BEOS</NAME>
215#define G_OS_BEOS
216</MACRO>
217
218# g_ascii_isxxx
219
220<FUNCTION>
221<NAME>g_ascii_isalnum</NAME>
222<RETURNS>gboolean</RETURNS>
223gchar c
224</FUNCTION>
225
226<FUNCTION>
227<NAME>g_ascii_isalpha</NAME>
228<RETURNS>gboolean</RETURNS>
229gchar c
230</FUNCTION>
231
232<FUNCTION>
233<NAME>g_ascii_iscntrl</NAME>
234<RETURNS>gboolean</RETURNS>
235gchar c
236</FUNCTION>
237
238<FUNCTION>
239<NAME>g_ascii_isdigit</NAME>
240<RETURNS>gboolean</RETURNS>
241gchar c
242</FUNCTION>
243
244<FUNCTION>
245<NAME>g_ascii_isgraph</NAME>
246<RETURNS>gboolean</RETURNS>
247gchar c
248</FUNCTION>
249
250<FUNCTION>
251<NAME>g_ascii_islower</NAME>
252<RETURNS>gboolean</RETURNS>
253gchar c
254</FUNCTION>
255
256<FUNCTION>
257<NAME>g_ascii_isprint</NAME>
258<RETURNS>gboolean</RETURNS>
259gchar c
260</FUNCTION>
261
262<FUNCTION>
263<NAME>g_ascii_ispunct</NAME>
264<RETURNS>gboolean</RETURNS>
265gchar c
266</FUNCTION>
267
268<FUNCTION>
269<NAME>g_ascii_isspace</NAME>
270<RETURNS>gboolean</RETURNS>
271gchar c
272</FUNCTION>
273
274<FUNCTION>
275<NAME>g_ascii_isupper</NAME>
276<RETURNS>gboolean</RETURNS>
277gchar c
278</FUNCTION>
279
280<FUNCTION>
281<NAME>g_ascii_isxdigit</NAME>
282<RETURNS>gboolean</RETURNS>
283gchar c
284</FUNCTION>
285
286# g_atomic
287
288<FUNCTION>
289<NAME>g_atomic_int_inc</NAME>
290<RETURNS>void</RETURNS>
291gint *atomic
292</FUNCTION>
293
294<FUNCTION>
295<NAME>g_atomic_int_dec_and_test</NAME>
296<RETURNS>gboolean</RETURNS>
297gint *atomic
298</FUNCTION>
299
300<STRUCT>
301<NAME>GIConv</NAME>
302</STRUCT>
303
304<MACRO>
305<NAME>G_VA_COPY</NAME>
306#define G_VA_COPY(ap1,ap2)
307</MACRO>
308