00001
00009 #ifndef __L4_RMGR_H
00010 #define __L4_RMGR_H
00011
00012 #include <l4/sys/compiler.h>
00013 #include <l4/sys/types.h>
00014 #include <l4/sys/l4int.h>
00015
00026 EXTERN_C_BEGIN
00027
00034 L4_CV l4_threadid_t rmgr_pager_id(void);
00035
00042 L4_CV l4_threadid_t rmgr_service_id(void);
00043
00052 L4_CV int rmgr_init(void);
00053
00063 L4_CV int rmgr_set_small_space(l4_threadid_t dest, int num);
00064
00079 L4_CV int rmgr_set_prio(l4_threadid_t dest, int num);
00080
00090 L4_CV int rmgr_get_prio(l4_threadid_t dest, int *num);
00091
00100 L4_CV int rmgr_get_task(int num);
00101
00110 L4_CV int rmgr_free_task(int num);
00111
00120 L4_CV int rmgr_free_task_all(l4_threadid_t client);
00121
00130 L4_CV int rmgr_get_irq(int num);
00131
00140 L4_CV int rmgr_free_irq(int num);
00141
00150 L4_CV int rmgr_free_irq_all(l4_threadid_t client);
00151
00158 L4_CV int rmgr_dump_mem(void);
00159
00169 L4_CV int rmgr_get_page0(void *address);
00170
00180 L4_CV int rmgr_get_task_id(const char *module_name, l4_threadid_t *thread_id);
00181
00191 L4_CV int rmgr_set_task_id(const char *module_name, l4_threadid_t thread_id);
00192
00205 L4_CV l4_taskid_t rmgr_task_new(l4_taskid_t dest, l4_umword_t mcp_or_new_chief,
00206 l4_umword_t esp, l4_umword_t eip,
00207 l4_threadid_t pager);
00208
00223 L4_CV l4_taskid_t rmgr_task_new_long(l4_taskid_t dest,
00224 l4_umword_t mcp_or_new_chief,
00225 l4_umword_t esp, l4_umword_t eip,
00226 l4_threadid_t pager,
00227 l4_threadid_t caphandler,
00228 l4_quota_desc_t kquota);
00229
00243 L4_CV l4_taskid_t rmgr_task_new_with_prio(l4_taskid_t dest,
00244 l4_umword_t mcp_or_new_chief,
00245 l4_umword_t esp, l4_umword_t eip,
00246 l4_threadid_t pager,
00247 l4_sched_param_t sched_param);
00248
00257 L4_CV int rmgr_free_fpage(l4_fpage_t fp);
00258
00267 L4_CV int rmgr_free_page(l4_umword_t address);
00268
00277 L4_CV int rmgr_free_mem_all(l4_threadid_t client);
00278
00291 L4_CV l4_umword_t rmgr_reserve_mem(l4_umword_t size, l4_umword_t align,
00292 l4_umword_t flags, l4_umword_t range_low,
00293 l4_umword_t range_high);
00294
00307 L4_CV int rmgr_privctrl(l4_umword_t cmd, l4_umword_t param);
00308
00309 EXTERN_C_END
00310
00311 #endif