-/* This type should be added to a type that is to be used in such a swag */
-/* Whenever a new object with this struct is created, all fields have
- to be set to NULL */
+#ifndef _XBT_SWAG_H
+#define _XBT_SWAG_H
+
+#include "xbt/misc.h"
+#include "xbt/sysdep.h" /* sizeof */
+
+/**
+ * @addtogroup XBT_swag
+ * @brief a O(1) set based on linked lists
+ *
+ * Warning, this module is done to be efficient and performs tons of
+ * cast and dirty things. So make sure you know what you are doing while using it.
+ * It is basically a fifo but with restrictions so that
+ * it can be used as a set. Any operation (add, remove, belongs) is O(1) and
+ * no call to malloc/free is done.
+ *
+ */
+
+/** @defgroup XBT_swag_type Swag types
+ @ingroup XBT_swag
+
+ Specific set.