cast and dirty things. So avoid using it unless you really know
what you are doing. */
+#ifndef _XBT_SWAG_H
+#define _XBT_SWAG_H
+
#include "xbt/sysdep.h"
/* This type should be added to a type that is to be used in such a swag */
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);
(obj)=obj_next, \
((obj)?(obj_next=xbt_swag_getNext((obj),(swag)->offset)): \
(obj_next=NULL)) )
+
+#endif /* _XBT_SWAG_H */