#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