15#define MAX_PROCESSES 10
24static int process_count = 0;
27static void (*qt_print_function)(
const char *str) = NULL;
32 if (qt_print_function)
36 va_start(args, format);
37 vsnprintf(buffer,
sizeof(buffer), format, args);
39 qt_print_function(buffer);
46 qt_print_function = print_function;
54 az_printf(
"\nError: Process table is full.");
60 strncpy(new_process.
name, process_name,
sizeof(new_process.
name) - 1);
61 new_process.
name[
sizeof(new_process.
name) - 1] =
'\0';
65 process_table[process_count++] = new_process;
67 az_printf(
"\nProcess created: %s", process_name);
75 for (
int i = 0; i < process_count; i++)
77 az_printf(
" - %s (%s)\n", process_table[i].name, process_table[i].running ?
"Running" :
"Stopped");
84 for (
int i = 0; i < process_count; i++)
86 if (strcmp(process_table[i].name, process_name) == 0)
89 az_printf(
"\nProcess killed: %s", process_name);
93 az_printf(
"\nError: Process not found: %s", process_name);
void register_print_function(void(*print_function)(const char *str))
void az_printf(const char *format,...)
int kernel_create_process(const char *process_name)
int kernel_kill_process(const char *process_name)
void kernel_list_processes()