#ifndef FRSH_FOSA_H_
#define FRSH_FOSA_H_
+#include <stdlib.h> /* For size_t */
#include "frsh_fosa_opaque.h"
+/**
+ * @file frsh_fosa.h
+ **/
+
+
/**
* @defgroup frshfosa FRSH FOSA public interfaces
*
* -DRT_LINUX
* -DOSE
* -DMARTE_OS
+ * -DAQuoSA
+ * -DVIRTUAL_TIME
*
* This module contains the FOSA part exposed by the FRSH_API and
* visible for the application.
* @{
**/
+/**
+ * Bool as a byte value (char)
+ *
+ * We will revisit this if we have a problem with bool in C++
+ **/
/** 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;
* the default values defined by FRSH
*
* @return 0 if successful; otherwise it returns \n
- * ENOMEM: insufficient memory exists to initialize the thread
+ * FOSA_ENOMEM: insufficient memory exists to initialize the thread
* attributes object
**/
int frsh_thread_attr_init(frsh_thread_attr_t *attr);