View of xos/include/proc.h


XOS | Parent Directory | View | Download

/* 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 <http://www.gnu.org/licenses/>. */
 
#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