MicrOS
process_manager.h
Go to the documentation of this file.
1 #ifndef PROCESS_MANAGER_H
2 #define PROCESS_MANAGER_H
3 
4 #include <stdlib.h>
5 #include <kvector.h>
6 #include "process_info.h"
7 #include "process_user_info.h"
8 #include "cpu/paging/paging.h"
11 #include "filesystems/fat/fat.h"
12 #include "assembly/io.h"
13 #include "cpu/idt/idt.h"
16 #include "memory/heap/heap.h"
17 #include "filesystems/filesystem.h"
19 
21 uint32_t process_manager_create_process(char *path, char *parameters, uint32_t parent_id, bool active);
22 uint32_t process_manager_create_thread(uint32_t process_id, void *entry_point, void *stack);
25 
28 
31 void process_manager_close_current_process(bool is_thread);
32 void process_manager_close_process(uint32_t process_id, bool is_thread, bool allow_to_switch);
42 
46 
50 
53 
56 
58 
59 void process_manager_run();
60 
61 #endif
Definition: interrupt_state.h:8
void process_manager_current_process_wait_for_key_press()
Definition: process_manager.c:463
void process_manager_save_current_process_state(interrupt_state *state, uint32_t delta)
Definition: process_manager.c:213
uint32_t process_manager_get_process_index(uint32_t process_id)
Definition: process_manager.c:359
Definition: signal_params.h:7
void process_manager_current_process_wait_for_process(uint32_t process_id_to_wait)
Definition: process_manager.c:473
void process_manager_current_process_sleep(uint32_t milliseconds)
Definition: process_manager.c:452
Definition: process_info.h:16
Definition: process_user_info.h:4
void process_manager_finish_signal_handler(signal_params *old_state)
Definition: process_manager.c:437
uint32_t process_manager_get_root_process()
Definition: process_manager.c:208
process_info * process_manager_get_process(uint32_t process_id)
Definition: process_manager.c:185
void process_manager_close_process(uint32_t process_id, bool is_thread, bool allow_to_switch)
Definition: process_manager.c:287
uint32_t process_manager_get_active_process_id(uint32_t process_id)
void process_manager_get_all_processes_user_info(process_user_info *user_info)
Definition: process_manager.c:404
process_info * process_manager_get_process_info(uint32_t id)
Definition: process_manager.c:373
void process_manager_close_current_process(bool is_thread)
Definition: process_manager.c:281
void process_manager_convert_process_info_to_user_info(process_info *process, process_user_info *user_info)
Definition: process_manager.c:485
void signal_handler(micros_signal_params *old_state)
Definition: crt0.c:94
bool process_manager_keyboard_interrupt_handler(interrupt_state *state)
Definition: process_manager.c:543
void process_manager_refresh_kernel_pages(uint32_t page_number)
Definition: process_manager.c:561
void process_manager_set_root_process(uint32_t process_id)
Definition: process_manager.c:203
uint32_t process_manager_create_thread(uint32_t process_id, void *entry_point, void *stack)
Definition: process_manager.c:132
void process_manager_interrupt_handler(interrupt_state *state)
Definition: process_manager.c:512
bool process_manager_get_process_user_info(uint32_t id, process_user_info *user_info)
Definition: process_manager.c:392
bool process_manager_is_current_process_active()
void process_manager_get_current_process_user_info(process_user_info *user_info)
Definition: process_manager.c:387
uint32_t process_manager_get_processes_count()
Definition: process_manager.c:354
process_info * process_manager_get_current_process()
Definition: process_manager.c:198
void process_manager_switch_to_next_process()
Definition: process_manager.c:227
void process_manager_run()
Definition: process_manager.c:572
void process_manager_init()
Definition: process_manager.c:13
uint32_t process_manager_get_process_memory_usage(process_info *process)
Definition: process_manager.c:497
uint32_t process_manager_create_process(char *path, char *parameters, uint32_t parent_id, bool active)
Definition: process_manager.c:23
bool process_manager_set_current_process_signal_handler(void(*signal_handler)(int))
Definition: process_manager.c:425
bool process_manager_set_current_process_name(char *name)
Definition: process_manager.c:413
void process_manager_set_active_process_id(uint32_t process_id)
size_t uint32_t
Unsigned integral type.
Definition: string.h:8