[runtime] Remove the usage of MONO_INTERNAL, use MONO_API to mark exported functions...
[mono.git] / mono / metadata / mono-wsq.h
1 #ifndef _MONO_WSQ_H
2 #define _MONO_WSQ_H
3
4 #include <config.h>
5 #include <glib.h>
6 #include <mono/metadata/object.h>
7 #include <mono/metadata/gc-internal.h>
8 #include <mono/io-layer/io-layer.h>
9
10 G_BEGIN_DECLS
11
12 typedef struct _MonoWSQ MonoWSQ;
13
14 void mono_wsq_init (void);
15 void mono_wsq_cleanup (void);
16
17 MonoWSQ *mono_wsq_create (void);
18 void mono_wsq_destroy (MonoWSQ *wsq);
19 gboolean mono_wsq_local_push (void *obj);
20 gboolean mono_wsq_local_pop (void **ptr);
21 void mono_wsq_try_steal (MonoWSQ *wsq, void **ptr, guint32 ms_timeout);
22 gint mono_wsq_count (MonoWSQ *wsq);
23 gboolean mono_wsq_suspend (MonoWSQ *wsq);
24
25 G_END_DECLS
26
27 #endif