/* Copyright (C) 2008 Emmanuel Varoquaux This file is part of XOS. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _PROC_H #define _PROC_H struct string_table_struct; struct file_struct; struct map_info_struct; struct interrupted_instruction_struct; /* Initialisation */ void proc_init(); void proc_print_info(); int spawn_init(); /* Informations sur les processus */ int proc_get_pid_table(int **pid_table, unsigned int *size); int proc_get_ppid_pid(int pid, int *ppid); int proc_get_pgid_pid(int pid, int *pgid); int proc_get_state_pid(int pid, int *state); int proc_get_cmdline_pid(int pid, struct string_table_struct *cmdline); int proc_get_wd_pid(int pid, struct file_struct **wd); int proc_get_maps(int pid, struct map_info_struct **map_info_array, unsigned int *count); /* Controle des processus */ int is_orphaned_pg(int pgid); void signal_pg(int pgid, int sig); void preempt(const struct interrupted_instruction_struct *interrupted_instruction); #endif