1 /** fosa_threads_and_signals.h
8 #include <fosa_threads_and_signals.h>
10 /*************************
11 * Thread identification
12 *************************/
13 bool fosa_thread_equal(frsh_thread_id_t t1, frsh_thread_id_t t2);
14 frsh_thread_id_t fosa_thread_self();
16 /*************************
17 * Thread creation and termination
18 *************************/
19 int fosa_thread_create
20 (frsh_thread_id_t *tid, const frsh_thread_attr_t *attr,
21 frsh_thread_code_t code, void * arg);
24 /**************************************************
25 * Thread-specific data
26 * (extended with access from a different thread)
27 **************************************************/
28 int fosa_key_create(int *key);
29 int fosa_key_destroy(int key);
30 int fosa_thread_set_specific_data
31 (int key, frsh_thread_id_t tid, const void * value);
32 int fosa_thread_get_specific_data(int key, frsh_thread_id_t tid,
35 /**********************
37 **********************/
38 int fosa_get_priority_max();
39 int fosa_get_priority_min();
40 int fosa_thread_attr_set_prio(frsh_thread_attr_t *attr, int prio);
41 int fosa_thread_attr_get_prio
42 (const frsh_thread_attr_t *attr, int *prio);
43 int fosa_thread_set_prio(frsh_thread_id_t tid, int prio);
44 int fosa_thread_get_prio (frsh_thread_id_t tid, int *prio);
50 int fosa_set_accepted_signals(frsh_signal_t set[], int size);
52 (frsh_signal_t signal, frsh_signal_info_t info,
53 frsh_thread_id_t receiver);
55 (frsh_signal_t set[], int size, frsh_signal_t *signal_received,
56 frsh_signal_info_t *info);
57 int fosa_signal_timedwait
58 (frsh_signal_t set[], int size, frsh_signal_t *signal_received,
59 frsh_signal_info_t *info, const struct timespec *timeout);