#define __MONO_BITSET_H__
#include <glib.h>
+#include <mono/utils/mono-publib.h>
+/*
+ * When embedding, you have to define MONO_ZERO_LEN_ARRAY before including any
+ * other Mono header file if you use a different compiler from the one used to
+ * build Mono.
+ */
#ifndef MONO_ZERO_LEN_ARRAY
#ifdef __GNUC__
#define MONO_ZERO_LEN_ARRAY 0
* Interface documentation by Dennis Haney.
*/
-guint32 mono_bitset_alloc_size (guint32 max_size, guint32 flags);
+MONO_API guint32 mono_bitset_alloc_size (guint32 max_size, guint32 flags);
-MonoBitSet* mono_bitset_new (guint32 max_size, guint32 flags);
+MONO_API MonoBitSet* mono_bitset_new (guint32 max_size, guint32 flags);
-MonoBitSet* mono_bitset_mem_new (gpointer mem, guint32 max_size, guint32 flags);
+MONO_API MonoBitSet* mono_bitset_mem_new (gpointer mem, guint32 max_size, guint32 flags);
-void mono_bitset_free (MonoBitSet *set);
+MONO_API void mono_bitset_free (MonoBitSet *set);
-void mono_bitset_set (MonoBitSet *set, guint32 pos);
+MONO_API void mono_bitset_set (MonoBitSet *set, guint32 pos);
-void mono_bitset_set_all (MonoBitSet *set);
+MONO_API void mono_bitset_set_all (MonoBitSet *set);
-int mono_bitset_test (const MonoBitSet *set, guint32 pos);
+MONO_API int mono_bitset_test (const MonoBitSet *set, guint32 pos);
-gsize mono_bitset_test_bulk (const MonoBitSet *set, guint32 pos);
+MONO_API gsize mono_bitset_test_bulk (const MonoBitSet *set, guint32 pos);
-void mono_bitset_clear (MonoBitSet *set, guint32 pos);
+MONO_API void mono_bitset_clear (MonoBitSet *set, guint32 pos);
-void mono_bitset_clear_all (MonoBitSet *set);
+MONO_API void mono_bitset_clear_all (MonoBitSet *set);
-void mono_bitset_invert (MonoBitSet *set);
+MONO_API void mono_bitset_invert (MonoBitSet *set);
-guint32 mono_bitset_size (const MonoBitSet *set);
+MONO_API guint32 mono_bitset_size (const MonoBitSet *set);
-guint32 mono_bitset_count (const MonoBitSet *set);
+MONO_API guint32 mono_bitset_count (const MonoBitSet *set);
-void mono_bitset_low_high (const MonoBitSet *set, guint32 *low, guint32 *high);
+MONO_API void mono_bitset_low_high (const MonoBitSet *set, guint32 *low, guint32 *high);
-int mono_bitset_find_start (const MonoBitSet *set);
+MONO_API int mono_bitset_find_start (const MonoBitSet *set);
-int mono_bitset_find_first (const MonoBitSet *set, gint pos);
+MONO_API int mono_bitset_find_first (const MonoBitSet *set, gint pos);
-int mono_bitset_find_last (const MonoBitSet *set, gint pos);
+MONO_API int mono_bitset_find_last (const MonoBitSet *set, gint pos);
-int mono_bitset_find_first_unset (const MonoBitSet *set, gint pos);
+MONO_API int mono_bitset_find_first_unset (const MonoBitSet *set, gint pos);
-MonoBitSet* mono_bitset_clone (const MonoBitSet *set, guint32 new_size);
+MONO_API MonoBitSet* mono_bitset_clone (const MonoBitSet *set, guint32 new_size);
-void mono_bitset_copyto (const MonoBitSet *src, MonoBitSet *dest);
+MONO_API void mono_bitset_copyto (const MonoBitSet *src, MonoBitSet *dest);
-void mono_bitset_union (MonoBitSet *dest, const MonoBitSet *src);
+MONO_API void mono_bitset_union (MonoBitSet *dest, const MonoBitSet *src);
-void mono_bitset_intersection (MonoBitSet *dest, const MonoBitSet *src);
+MONO_API void mono_bitset_intersection (MonoBitSet *dest, const MonoBitSet *src);
-void mono_bitset_sub (MonoBitSet *dest, const MonoBitSet *src);
+MONO_API void mono_bitset_sub (MonoBitSet *dest, const MonoBitSet *src);
-gboolean mono_bitset_equal (const MonoBitSet *src, const MonoBitSet *src1);
+MONO_API gboolean mono_bitset_equal (const MonoBitSet *src, const MonoBitSet *src1);
-void mono_bitset_foreach (MonoBitSet *set, MonoBitSetFunc func, gpointer data);
+MONO_API void mono_bitset_foreach (MonoBitSet *set, MonoBitSetFunc func, gpointer data);
-void mono_bitset_intersection_2 (MonoBitSet *dest, const MonoBitSet *src1, const MonoBitSet *src2);
+MONO_API void mono_bitset_intersection_2 (MonoBitSet *dest, const MonoBitSet *src1, const MonoBitSet *src2);
#endif /* __MONO_BITSET_H__ */