/* 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 proc_struct; struct proc_group_struct; void proc_table_init(); void proc_table_add(struct proc_struct *proc); void proc_table_remove(struct proc_struct *proc); extern struct proc_struct *proc_list_first; void proc_list_init(); void proc_list_add(struct proc_struct *proc); void proc_list_remove(struct proc_struct *proc); void proc_tree_init(); void proc_tree_add(struct proc_struct *proc, struct proc_struct *parent); void proc_tree_dishinerit_children(struct proc_struct *proc); void proc_tree_remove(struct proc_struct *proc); void proc_group_init(); int proc_create_proc_group(struct proc_struct *proc); void proc_group_add(struct proc_struct *proc, struct proc_group_struct *proc_group); void proc_group_remove(struct proc_struct *proc); void proc_change_set_proc_group(struct proc_struct *proc, struct proc_group_struct *proc_group); int proc_change_create_proc_group(struct proc_struct *proc); int is_orphan(const struct proc_struct *proc); void signal_init(struct proc_struct *proc, int system); void status_init(struct proc_struct *proc); void sleep_init(struct proc_struct *proc); void sleep_interrupt(struct proc_struct *proc); void condition_interrupt(struct proc_struct *proc); void stop_continue(struct proc_struct *proc); #endif