#ifndef FRSH_FOSA_H_
#define FRSH_FOSA_H_
+#include <stdlib.h> /* For size_t */
#include "frsh_fosa_opaque.h"
/**
* -DRT_LINUX
* -DOSE
* -DMARTE_OS
+ * -DAQuoSA
+ * -DVIRTUAL_TIME
*
* This module contains the FOSA part exposed by the FRSH_API and
* visible for the application.
*
* We will revisit this if we have a problem with bool in C++
**/
-typedef char bool;
-#define true 1
-#define false 0
-
/** identifier of a frsh thread **/
/** information associated to a signal **/
-typedef union {int value; void * area; } frsh_signal_info_t;
+#if defined(VIRTUAL_TIME)
+
+#include <vt_ose.h>
+typedef vt_posix_signal_info_t frsh_signal_info_t;
+
+#else
+
+typedef union {int sival_int; void * sival_ptr; } frsh_signal_info_t;
+/* typedef FRSH_SIGNAL_INFO_T_OPAQUE frsh_signal_info_t; */
+
+#endif
+
+
+
/** Mutex object. Attributes are handled by FOSA **/
typedef FOSA_MUTEX_T_OPAQUE frsh_mutex_t;