00001 #ifndef __QMGR_LIB_H__ 00002 #define __QMGR_LIB_H__ 00003 00060 #include <linux/aquosa/qmgr.h> 00061 #include <linux/aquosa/submodules_internal_ks.h> 00062 #include <linux/aquosa/submodules_internal_us.h> 00063 #include <linux/aquosa/qmgr_params.h> 00064 00073 qos_rv qmgr_init(void); 00074 00080 qos_rv qmgr_cleanup(void); 00081 00083 qos_rv qmgr_get_ctrl_location(int ctrl_type, qmgr_location_t *location); 00085 qos_rv qmgr_get_pred_location(int pred_type, qmgr_location_t *location); 00086 00088 qos_rv qmgr_set_predictor(qmgr_pred_type_t type); 00089 00096 qmgr_pred_type_t qmgr_get_predictor(void); 00097 00104 qos_rv qmgr_set_controller(qmgr_ctrl_type_t type); 00105 00111 qmgr_ctrl_type_t qmgr_get_controller(void); 00112 00123 qos_rv qmgr_start(void); 00124 00128 qos_rv qmgr_stop(void); 00129 00137 qos_rv qmgr_pause(void); 00138 00147 qos_rv qmgr_continue(void); 00148 00176 qos_rv qmgr_begin_cycle(void); 00177 00178 qos_rv qmgr_begin_cycle_deadline(struct timespec *abs_dl); 00179 00185 qos_rv qmgr_set_max_bandwidth(float max_bw); 00186 00188 qos_rv qmgr_set_min_bandwidth(float min_bw); 00189 00195 float qmgr_get_max_bandwidth(void); 00196 00198 qos_rv qmgr_set_task_period(qres_time_t usecs); 00199 00201 qres_time_t qmgr_get_task_period(void); 00202 00204 qos_rv qmgr_set_server_period(qres_time_t usecs); 00205 00207 qres_time_t qmgr_get_server_period(void); 00208 00217 qos_rv qmgr_begin_cycle(void); 00218 00236 qos_rv qmgr_end_cycle(qres_time_t *p_sched_error, qres_time_t *p_exec_time); 00237 00239 qos_rv qmgr_end_cycle_skip(qres_time_t *p_sched_error, qres_time_t *p_exec_time); 00240 00244 qos_rv qmgr_end_cycle_param(qres_time_t *p_sched_error, qres_time_t *p_exec_time, void *); 00245 00252 qos_rv qmgr_get_deadline(struct timespec *p_deadline); 00253 00259 #ifdef QMGR_KERNEL_SPACE 00260 extern int qmgr_created; 00261 #endif 00262 00264 extern qmgr_lib_descriptor_t pred_lib_descriptors[QMGR_NUM_PREDS]; 00265 00267 extern qmgr_lib_descriptor_t ctrl_lib_descriptors[QMGR_NUM_CTRLS]; 00268 00269 extern qmgr_params_t qmgr_params; 00270 00271 #endif