1 /** fosa_app_def_sched.h
8 /********************************
9 * Application-defined scheduling
10 ********************************/
11 int fosa_ads_scheduler_create
12 (const fosa_ads_scheduler_ops_t * scheduler_ops,
13 size_t scheduler_data_size,
15 size_t init_args_size);
17 int fosa_thread_attr_set_appscheduled
18 (frsh_thread_attr_t *attr,
21 int fosa_thread_attr_get_appscheduled
22 (const frsh_thread_attr_t *attr,
25 int fosa_thread_attr_set_appsched_params
26 (frsh_thread_attr_t *attr,
30 int fosa_thread_attr_get_appsched_params
31 (const frsh_thread_attr_t *attr,
35 int fosa_ads_set_appscheduled
36 (frsh_thread_id_t thread,
39 int fosa_ads_get_appscheduled
40 (frsh_thread_id_t thread,
43 int fosa_ads_set_appsched_params
44 (frsh_thread_id_t thread,
48 int fosa_ads_get_appsched_params
49 (frsh_thread_id_t thread,
55 /*********************************
57 *********************************/
58 int fosa_adsactions_add_reject
59 (fosa_ads_actions_t *sched_actions,
60 frsh_thread_id_t thread);
62 int fosa_adsactions_add_activate
63 (fosa_ads_actions_t *sched_actions,
64 frsh_thread_id_t thread,
65 fosa_ads_urgency_t urgency);
67 int fosa_adsactions_add_suspend
68 (fosa_ads_actions_t *sched_actions,
69 frsh_thread_id_t thread);
71 int fosa_adsactions_add_timeout
72 (fosa_ads_actions_t *sched_actions,
73 fosa_clock_id_t clock_id,
74 const struct timespec *at_time);
76 int fosa_adsactions_add_thread_notification
77 (fosa_ads_actions_t *sched_actions,
78 frsh_thread_id_t thread,
79 fosa_clock_id_t clock_id,
80 const struct timespec *at_time);
82 int fosa_ads_set_handled_signal_set (frsh_signal_t set[], int size);
83 int fosa_signal_queue_scheduler (frsh_signal_t signal, frsh_signal_info_t info);
84 int fosa_ads_invoke_withdata
85 (const void *msg, size_t msg_size, void *reply, size_t *reply_size);