Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Oups, commited a stupid check which will help me one day for the portability to AIX...
[simgrid.git] / include / xbt / swag.h
index 9956825..135b041 100644 (file)
@@ -13,7 +13,9 @@
 #define _XBT_SWAG_H
 
 #include "xbt/misc.h"
-#include "xbt/sysdep.h" /* sizeof */
+#include "xbt/sysdep.h" /* size_t */
+
+SG_BEGIN_DECL()
 
 /** 
  * @addtogroup XBT_swag
@@ -86,18 +88,18 @@ typedef struct xbt_swag {
  *  @{
  */
 
-xbt_swag_t xbt_swag_new(size_t offset);
-void xbt_swag_free(xbt_swag_t swag);
-void xbt_swag_init(xbt_swag_t swag, size_t offset);
-void xbt_swag_insert(void *obj, xbt_swag_t swag);
-void xbt_swag_insert_at_head(void *obj, xbt_swag_t swag);
-void xbt_swag_insert_at_tail(void *obj, xbt_swag_t swag);
-void *xbt_swag_remove(void *obj, xbt_swag_t swag);
-void *xbt_swag_extract(xbt_swag_t swag);
-int xbt_swag_size(xbt_swag_t swag);
-int xbt_swag_belongs(void *obj, xbt_swag_t swag);
-
-static _XBT_INLINE void *xbt_swag_getFirst(xbt_swag_t swag)
+XBT_PUBLIC(xbt_swag_t) xbt_swag_new(size_t offset);
+XBT_PUBLIC(void) xbt_swag_free(xbt_swag_t swag);
+XBT_PUBLIC(void) xbt_swag_init(xbt_swag_t swag, size_t offset);
+XBT_PUBLIC(void) xbt_swag_insert(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void) xbt_swag_insert_at_head(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void) xbt_swag_insert_at_tail(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void*) xbt_swag_remove(void *obj, xbt_swag_t swag);
+XBT_PUBLIC(void*)xbt_swag_extract(xbt_swag_t swag);
+XBT_PUBLIC(int) xbt_swag_size(xbt_swag_t swag);
+XBT_PUBLIC(int) xbt_swag_belongs(void *obj, xbt_swag_t swag);
+
+static XBT_INLINE void *xbt_swag_getFirst(xbt_swag_t swag)
 {
   return (swag->head);
 }
@@ -158,4 +160,6 @@ static _XBT_INLINE void *xbt_swag_getFirst(xbt_swag_t swag)
                  (obj_next=NULL))     )
 /* @} */
 
+SG_END_DECL()
+
 #endif    /* _XBT_SWAG_H */