9 #define REPS_E_MISSING_COMPONENT 1
10 #define REPS_E_NOT_IMPLEMENTED 2
13 typedef uint32_t reps_sid_t;
18 typedef long reps_time_t;
25 typedef rtems_id tid_t;
28 /// creates a server == allocates an empty bandwidth in the scheduler
29 reps_rv reps_create_server(reps_params_t *p_params, reps_sid_t *p_sid);
31 reps_rv reps_destroy_server(reps_sid_t sid);
33 /// set budget and period (e.g. when changing a resource)
34 reps_rv reps_set_params(reps_sid_t sid, reps_params_t *p_params);
36 /// when binding a thread
37 reps_rv reps_attach_thread(reps_sid_t server_id, tid_t tid);
39 /// server id dedicated to a thread
40 reps_rv reps_get_sid(tid_t tid, reps_sid_t *p_sid);
42 /// remove thread from server
43 reps_rv reps_detach_thread(reps_sid_t sid, tid_t tid);
45 /// cpu usage relative to the current server
46 reps_rv reps_get_exec_time (reps_sid_t sid, reps_time_t *exec_time);
48 /// get params of a server (budget and period)
49 reps_rv reps_get_params(reps_sid_t sid, reps_params_t *p_params);
51 /// remaining budget for the current server instance
52 reps_rv reps_get_curr_budget(reps_sid_t sid, reps_time_t *curr_budget);
54 /// set the spare bandwidth ??
55 reps_rv reps_reserve_spare(reps_params_t *p_params);
57 /// get approved budget for subsequent server instances
58 reps_rv reps_get_appr_budget (reps_sid_t sid, reps_time_t *appr_budget);
60 reps_rv reps_init(void);
62 reps_rv reps_cleanup(void);
65 #endif /*_REPS_LIB_H*/