From: telleriam Date: Fri, 16 Feb 2007 18:30:13 +0000 (+0000) Subject: Commit to rename the file frsh_adaption.h X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/frsh-include.git/commitdiff_plain/945a294ad0c0b3831726e96a4e176471ed343ff8 Commit to rename the file frsh_adaption.h git-svn-id: http://www.frescor.org/private/svn/frescor/frsh/trunk/include@300 35b4ef3e-fd22-0410-ab77-dab3279adceb --- diff --git a/frsh_adaption.h b/frsh_adaption.h index 1dd6edd..1689064 100644 --- a/frsh_adaption.h +++ b/frsh_adaption.h @@ -48,8 +48,103 @@ #ifndef FRSH_ADAPTION_H_ #define FRSH_ADAPTION_H_ -#include -#include +#include "frsh_fosa_opaque.h" + +/** + * Public Frsh OS Adaption types + **/ +#define FRSH_NULL_SIGNAL FOSA_NULL_SIGNAL + +// identifier of a frsh thread +typedef FOSA_THREAD_ID_T_OPAQUE frsh_thread_id_t; + +// thread attributes object +typedef FOSA_THREAD_ATTR_T_OPAQUE frsh_thread_attr_t; + +// signal number; it is an integer type +typedef FOSA_SIGNAL_T_OPAQUE frsh_signal_t; + +// information associated to a signal +typedef union {int value; void * area; } frsh_signal_info_t; + +// frsh mutex +typedef FOSA_MUTEX_T_OPAQUE frsh_mutex_t; + + + + +/************************* + * Thread identification + *************************/ + +/** + * Compare two thread identifiers to determine if they refer to the + * same thread + */ +bool fosa_thread_equal(frsh_thread_id_t t1, frsh_thread_id_t t2); + + +/** + * Return the thread id of the calling thread + */ +frsh_thread_id_t fosa_thread_self(); + + +/************************* + * Thread creation and termination + *************************/ + +/** + * Initialize a thread attributes object + * + * This function initializes the object pointed to by attr to all + * the default values defined by FRSH + * + * Returns 0 if successful; otherwise it returns + * ENOMEM: insufficient memory exists to initialize the thread + * attributes object + */ +int frsh_thread_attr_init(frsh_thread_attr_t *attr); + +/** + * Destroy a thread attributes object + * + * This function is used to destroy the thread attributes object, + * pointed to by attr, and deallocate any system resources allocated for it + * + * Returns 0 + */ +int frsh_thread_attr_destroy(frsh_thread_attr_t *attr); + +/** + * Set the thread minimum stack size in a thread attributes object + * + * This function sets the minimum stack size of the thread attributes + * object attr to the value given by stacksize, in bytes. This + * function has no runtime effect on the stack size, except when the + * 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 + * this implementation + */ +int frsh_thread_attr_set_stacksize(frsh_thread_attr_t *attr, size_t stacksize); + +/** + * Get the thread minimum stack size from a thread attributes object + * + * This function sets the variable pointed to by stacksize to the + * minimum stack size stored in the thread attributes object attr. + * + * Returns 0 + */ +int frsh_thread_attr_get_stacksize + (const frsh_thread_attr_t *attr, size_t *stacksize); + + + + typedef pthread_t frsh_thread_id_t;