/** thread attributes object **/
typedef FOSA_THREAD_ATTR_T_OPAQUE frsh_thread_attr_t;
+/**
+ * The type references a function that may become a thread's
+ * code
+ **/
+typedef void * (*frsh_thread_code_t) (void *);
+
+
/** signal number; it is an integer type **/
typedef FOSA_SIGNAL_T_OPAQUE frsh_signal_t;
#define FRSH_NULL_SIGNAL FOSA_NULL_SIGNAL
#define FRSH_SIGNAL_MIN FOSA_SIGNAL_MIN
#define FRSH_SIGNAL_MAX FOSA_SIGNAL_MAX
+
+
/** information associated to a signal **/
typedef union {int value; void * area; } frsh_signal_info_t;
* This function initializes the object pointed to by attr to all
* the default values defined by FRSH
*
- * Returns 0 if successful; otherwise it returns
+ * @return 0 if successful; otherwise it returns \n
* ENOMEM: insufficient memory exists to initialize the thread
* attributes object
**/
* attributes object is used to create a thread, when it will be
* created with the specified minimum stack size
*
- * Returns 0 if successful, or the following error code:
- * EINVAL: the specified stacksize value is not supported in
+ * @return 0 if successful, or the following error code:
+ * FOSA_EINVAL: the specified stacksize value is not supported in
* this implementation
*/
int frsh_thread_attr_set_stacksize(frsh_thread_attr_t *attr, size_t stacksize);
* This function sets the variable pointed to by stacksize to the
* minimum stack size stored in the thread attributes object attr.
*
- * Returns 0
+ * @return 0
*/
int frsh_thread_attr_get_stacksize
(const frsh_thread_attr_t *attr, size_t *stacksize);
#ifndef FRSH_FOSA_OPAQUE_H_
#define FRSH_FOSA_OPAQUE_H_
+/**
+ * \addtogroup frshfosa
+ *
+ * @{
+ **/
+
+
//////////////////////////MaRTE OS & RT_LINUX /////////////////////////
#if defined(MARTE_OS) || defined(RT_LINUX)
#define FOSA_NULL_SIGNAL 0
+/* FOSA Errors */
+
+#include <error.h>
+
+/** Not enough memory available **/
+#define FOSA_ENOMEM ENOMEM
+
+/** Invalid parameter **/
+#define FOSA_EINVAL EINVAL
+
+/** Still pending information **/
+#define FOSA_EAGAIN EAGAIN
+
+/** FOSA ADS errors **/
+#define FOSA_EREJECT EREJECT
+#define FOSA_EMASKED EMASKED
+
+
#endif /* MARTE_OS || RT_LINUX */
//////////////////////////End of MaRTE OS & RT_LINUX ///////////////////