New files to implement atomic operations for different platforms. Fixes
[platform/upstream/glib.git] / docs / reference / glib / glib-overrides.txt
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_SOLARIS</NAME>
13 #define G_THREADS_IMPL_SOLARIS
14 </MACRO>
15
16 <MACRO>
17 <NAME>G_THREADS_IMPL_NONE</NAME>
18 #define G_THREADS_IMPL_NONE
19 </MACRO>
20
21 # threads supported?
22
23 <FUNCTION>
24 <NAME>g_thread_supported</NAME>
25 <RETURNS>gboolean</RETURNS>
26 </FUNCTION>
27
28 # GMutex
29
30 <FUNCTION>
31 <NAME>g_mutex_new</NAME>
32 <RETURNS>GMutex *</RETURNS>
33 </FUNCTION>
34
35 <FUNCTION>
36 <NAME>g_mutex_lock</NAME>
37 <RETURNS>void</RETURNS>
38 GMutex *mutex
39 </FUNCTION>
40
41 <FUNCTION>
42 <NAME>g_mutex_trylock</NAME>
43 <RETURNS>gboolean</RETURNS>
44 GMutex *mutex
45 </FUNCTION>
46
47 <FUNCTION>
48 <NAME>g_mutex_unlock</NAME>
49 <RETURNS>void</RETURNS>
50 GMutex *mutex
51 </FUNCTION>
52
53 <FUNCTION>
54 <NAME>g_mutex_free</NAME>
55 <RETURNS>void</RETURNS>
56 GMutex *mutex
57 </FUNCTION>
58
59 # GStaticMutex
60
61 <STRUCT>
62 <NAME>GStaticMutex</NAME>
63 </STRUCT>
64
65 <MACRO>
66 <NAME>G_STATIC_MUTEX_INIT</NAME>
67 #define G_STATIC_MUTEX_INIT
68 </MACRO>
69
70 <FUNCTION>
71 <NAME>g_static_mutex_lock</NAME>
72 <RETURNS>void</RETURNS>
73 GStaticMutex* mutex
74 </FUNCTION>
75
76 <FUNCTION>
77 <NAME>g_static_mutex_trylock</NAME>
78 <RETURNS>gboolean</RETURNS>
79 GStaticMutex* mutex
80 </FUNCTION>
81
82 <FUNCTION>
83 <NAME>g_static_mutex_unlock</NAME>
84 <RETURNS>void</RETURNS>
85 GStaticMutex* mutex
86 </FUNCTION>
87
88 <FUNCTION>
89 <NAME>g_static_mutex_get_mutex</NAME>
90 <RETURNS>GMutex *</RETURNS>
91 GStaticMutex* mutex
92 </FUNCTION>
93
94 # GThread
95
96 <FUNCTION>
97 <NAME>g_thread_yield</NAME>
98 <RETURNS>void</RETURNS>
99 </FUNCTION>
100
101 <FUNCTION>
102 <NAME>g_thread_create</NAME>
103 <RETURNS>GThread *</RETURNS>
104 GThreadFunc func
105 gpointer data,
106 gboolean joinable,
107 GError **error
108 </FUNCTION>
109
110 # G_LOCK_* macros
111
112 <MACRO>
113 <NAME>G_LOCK_DEFINE</NAME>
114 #define G_LOCK_DEFINE(name)    
115 </MACRO>
116
117 <MACRO>
118 <NAME>G_LOCK_DEFINE_STATIC</NAME>
119 #define G_LOCK_DEFINE_STATIC(name)
120 </MACRO>
121
122 <MACRO>
123 <NAME>G_LOCK_EXTERN</NAME>
124 #define G_LOCK_EXTERN(name)    
125 </MACRO>
126
127 <MACRO>
128 <NAME>G_LOCK</NAME>
129 #define G_LOCK(name)
130 </MACRO>
131
132 <MACRO>
133 <NAME>G_UNLOCK</NAME>
134 #define G_UNLOCK(name)
135 </MACRO>
136
137 <MACRO>
138 <NAME>G_TRYLOCK</NAME>
139 #define G_TRYLOCK(name)
140 </MACRO>
141
142 # GCond
143
144 <FUNCTION>
145 <NAME>g_cond_new</NAME>
146 <RETURNS>GCond*</RETURNS>
147 </FUNCTION>
148
149 <FUNCTION>
150 <NAME>g_cond_signal</NAME>
151 <RETURNS>void</RETURNS>
152 GCond *cond
153 </FUNCTION>
154
155 <FUNCTION>
156 <NAME>g_cond_broadcast</NAME>
157 <RETURNS>void</RETURNS>
158 GCond *cond
159 </FUNCTION>
160
161 <FUNCTION>
162 <NAME>g_cond_wait</NAME>
163 <RETURNS>void</RETURNS>
164 GCond *cond, GMutex *mutex
165 </FUNCTION>
166
167 <FUNCTION>
168 <NAME>g_cond_timed_wait</NAME>
169 <RETURNS>gboolean</RETURNS>
170 GCond *cond, GMutex *mutex, GTimeVal *abs_time
171 </FUNCTION>
172
173 <FUNCTION>
174 <NAME>g_cond_free</NAME>
175 <RETURNS>void</RETURNS>
176 GCond *cond
177 </FUNCTION>
178
179 # GPrivate
180
181 <FUNCTION>
182 <NAME>g_private_new</NAME>
183 <RETURNS>GPrivate*</RETURNS>
184 GDestroyNotify destructor
185 </FUNCTION>
186
187 <FUNCTION>
188 <NAME>g_private_get</NAME>
189 <RETURNS>gpointer</RETURNS>
190 GPrivate *private_key
191 </FUNCTION>
192
193 <FUNCTION>
194 <NAME>g_private_set</NAME>
195 <RETURNS>void</RETURNS>
196 GPrivate *private_key, gpointer data
197 </FUNCTION>
198
199 # GStaticPrivate
200
201 <MACRO>
202 <NAME>G_STATIC_PRIVATE_INIT</NAME>
203 #define G_STATIC_PRIVATE_INIT 
204 </MACRO>
205
206 # Definitions for different operating systems
207
208 <MACRO>
209 <NAME>G_OS_UNIX</NAME>
210 #define G_OS_UNIX
211 </MACRO>
212
213 <MACRO>
214 <NAME>G_OS_WIN32</NAME>
215 #define G_OS_WIN32
216 </MACRO>
217
218 <MACRO>
219 <NAME>G_OS_BEOS</NAME>
220 #define G_OS_BEOS
221 </MACRO>
222
223 # g_ascii_isxxx
224
225 <FUNCTION>
226 <NAME>g_ascii_isalnum</NAME>
227 <RETURNS>gboolean</RETURNS>
228 gchar c
229 </FUNCTION>
230
231 <FUNCTION>
232 <NAME>g_ascii_isalpha</NAME>
233 <RETURNS>gboolean</RETURNS>
234 gchar c
235 </FUNCTION>
236
237 <FUNCTION>
238 <NAME>g_ascii_iscntrl</NAME>
239 <RETURNS>gboolean</RETURNS>
240 gchar c
241 </FUNCTION>
242
243 <FUNCTION>
244 <NAME>g_ascii_isdigit</NAME>
245 <RETURNS>gboolean</RETURNS>
246 gchar c
247 </FUNCTION>
248
249 <FUNCTION>
250 <NAME>g_ascii_isgraph</NAME>
251 <RETURNS>gboolean</RETURNS>
252 gchar c
253 </FUNCTION>
254
255 <FUNCTION>
256 <NAME>g_ascii_islower</NAME>
257 <RETURNS>gboolean</RETURNS>
258 gchar c
259 </FUNCTION>
260
261 <FUNCTION>
262 <NAME>g_ascii_isprint</NAME>
263 <RETURNS>gboolean</RETURNS>
264 gchar c
265 </FUNCTION>
266
267 <FUNCTION>
268 <NAME>g_ascii_ispunct</NAME>
269 <RETURNS>gboolean</RETURNS>
270 gchar c
271 </FUNCTION>
272
273 <FUNCTION>
274 <NAME>g_ascii_isspace</NAME>
275 <RETURNS>gboolean</RETURNS>
276 gchar c
277 </FUNCTION>
278
279 <FUNCTION>
280 <NAME>g_ascii_isupper</NAME>
281 <RETURNS>gboolean</RETURNS>
282 gchar c
283 </FUNCTION>
284
285 <FUNCTION>
286 <NAME>g_ascii_isxdigit</NAME>
287 <RETURNS>gboolean</RETURNS>
288 gchar c
289 </FUNCTION>
290
291 # g_atomic
292
293 <FUNCTION>
294 <NAME>g_atomic_int_get</NAME>
295 <RETURNS>gint32</RETURNS>
296 gint32 *atomic
297 </FUNCTION>
298
299 <FUNCTION>
300 <NAME>g_atomic_int_exchange_and_add</NAME>
301 <RETURNS>gint32</RETURNS>
302 gint32 *atomic
303 gint32 val
304 </FUNCTION>
305  
306 <FUNCTION>
307 <NAME>g_atomic_int_add</NAME>
308 <RETURNS>void</RETURNS>
309 gint32 *atomic
310 gint32 val
311 </FUNCTION>
312  
313 <FUNCTION>
314 <NAME>g_atomic_int_compare_and_exchange</NAME>
315 <RETURNS>gboolean</RETURNS>
316 gint32 *atomic
317 gint32 oldval
318 gint32 newval
319 </FUNCTION>
320  
321 <FUNCTION>
322 <NAME>g_atomic_pointer_get</NAME>
323 <RETURNS>gpointer</RETURNS>
324 gpointer *atomic
325 </FUNCTION>
326
327 <FUNCTION>
328 <NAME>g_atomic_pointer_compare_and_exchange</NAME>
329 <RETURNS>gboolean</RETURNS>
330 gpointer *atomic
331 gpointer oldval
332 gpointer newval
333 </FUNCTION>
334
335 <FUNCTION>
336 <NAME>g_atomic_int_inc</NAME>
337 <RETURNS>void</RETURNS>
338 gint32 *atomic
339 </FUNCTION>
340
341 <FUNCTION>
342 <NAME>g_atomic_int_dec_and_test</NAME>
343 <RETURNS>gboolean</RETURNS>
344 gint32 *atomic
345 </FUNCTION>
346
347 <STRUCT>
348 <NAME>GIConv</NAME>
349 </STRUCT>