+#include "xbt/context.h"
+#include "xbt/ex.h"
+
+#ifdef S_SPLINT_S
+/* Dummy definition for splint since it chokes on ucontext.h */
+typedef struct ucontext {
+ struct ucontext *uc_link;
+ sigset_t uc_sigmask;
+ int uc_stack;
+ int uc_mcontext;
+} ucontext_t;
+typedef int CONTEXT;
+#endif
+
+#ifdef USE_PTHREADS
+# include <pthread.h>
+#else
+# define STACK_SIZE 524288
+#endif /* USE_PTHREADS */
+
+typedef struct s_xbt_context {
+ s_xbt_swag_hookup_t hookup;
+#ifdef USE_PTHREADS