]> rtime.felk.cvut.cz Git - frescor/fosa.git/blob - src_partikle/fosa_app_def_sched.c
PaRTiKle FOSA - initial
[frescor/fosa.git] / src_partikle / fosa_app_def_sched.c
1 /** fosa_app_def_sched.h
2  *
3  * < description >
4  * < author >
5  * < date >
6  */
7
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,
14                  void * init_args, 
15                  size_t init_args_size);
16
17 int fosa_thread_attr_set_appscheduled
18                 (frsh_thread_attr_t *attr,
19                  bool appscheduled);
20
21 int fosa_thread_attr_get_appscheduled
22                 (const frsh_thread_attr_t *attr,
23                  bool *appscheduled);
24                  
25 int fosa_thread_attr_set_appsched_params
26                 (frsh_thread_attr_t *attr,
27                  const void *param,
28                  size_t paramsize);
29
30 int fosa_thread_attr_get_appsched_params
31                 (const frsh_thread_attr_t *attr,
32                  void *param,
33                 size_t *paramsize);
34
35 int fosa_ads_set_appscheduled
36                 (frsh_thread_id_t thread,
37                  bool appscheduled);
38
39 int fosa_ads_get_appscheduled
40                 (frsh_thread_id_t thread,
41                  bool *appscheduled);
42
43 int fosa_ads_set_appsched_params
44                 (frsh_thread_id_t thread,
45                  const void *param,
46                  size_t paramsize);
47
48 int fosa_ads_get_appsched_params
49                 (frsh_thread_id_t thread,
50                  void *param,
51                  size_t *paramsize);
52
53
54
55 /*********************************
56  * ADS actions
57  *********************************/
58 int fosa_adsactions_add_reject 
59                 (fosa_ads_actions_t *sched_actions,
60                  frsh_thread_id_t thread);
61
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);
66
67 int fosa_adsactions_add_suspend 
68                 (fosa_ads_actions_t *sched_actions,
69                  frsh_thread_id_t thread);
70
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);
75
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);
81
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);