00001 00018 #ifndef __RRES_CORE_KPI_H__ 00019 #define __RRES_CORE_KPI_H__ 00020 00021 #include "rres_config.h" 00022 #include "rres_server.h" 00023 #include "qos_types.h" 00024 #include "kal_sched.h" 00025 00031 #define QOS_F_DEFAULT 0x00000001 00032 00038 #define QOS_F_SOFT 0x00000002 00039 00041 static inline server_t * rres_find_by_task(struct task_struct *task); 00042 00043 typedef struct server_params_t { 00044 qres_time_t max_budget; 00045 qres_time_t period; 00046 unsigned long flags; 00047 } server_params_t; 00048 00050 qos_rv rres_init_server(server_t * p_server, server_params_t *p_params); 00051 00053 qos_rv rres_cleanup_server(server_t *rres); 00054 00056 qos_rv rres_attach_task(server_t *p_server, struct task_struct *task); 00057 00061 qos_rv rres_detach_task(server_t *p_server, struct task_struct *task); 00062 00064 qos_rv rres_get_params(server_t *p_server, server_params_t *p_params); 00065 00067 qos_rv rres_set_params(server_t *p_server, server_params_t *p_params); 00068 00070 qres_time_t rres_get_exec_time(server_t *rres); 00071 00074 server_t * rres_get_default_server(void); 00075 00077 qos_bool_t rres_has_server(struct task_struct *t); 00078 00080 qos_bool_t rres_empty(server_t *p_server); 00081 00082 #endif /* __RRES_CORE_KPI_H__ */ 00083