[networking] mono_socket_address_init should set len to the size of sockaddr_* and...
[mono.git] / mono / utils / monobitset.h
index 8dac35b50d36d9ebe89a8dcfd8a993a5dca4982e..5bea9278394d1e7dd1a2f033c71cb2a47517807b 100644 (file)
@@ -2,7 +2,13 @@
 #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
@@ -57,56 +63,56 @@ enum {
  * 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__ */