proc.h File Reference

#include <minix/com.h>
#include "protect.h"
#include "const.h"
#include "priv.h"

Include dependency graph for proc.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  proc

Defines

#define SLOT_FREE   0x01
#define NO_MAP   0x02
#define SENDING   0x04
#define RECEIVING   0x08
#define SIGNALED   0x10
#define SIG_PENDING   0x20
#define P_STOP   0x40
#define NO_PRIV   0x80
#define NO_PRIORITY   0x100
#define NO_ENDPOINT   0x200
#define REPLY_PENDING   0x01
#define MF_VM   0x08
#define NR_SCHED_QUEUES   16
#define TASK_Q   0
#define MAX_USER_Q   0
#define USER_Q   7
#define MIN_USER_Q   14
#define IDLE_Q   15
#define BEG_PROC_ADDR   (&proc[0])
#define BEG_USER_ADDR   (&proc[NR_TASKS])
#define END_PROC_ADDR   (&proc[NR_TASKS + NR_PROCS])
#define NIL_PROC   ((struct proc *) 0)
#define NIL_SYS_PROC   ((struct proc *) 1)
#define cproc_addr(n)   (&(proc + NR_TASKS)[(n)])
#define proc_addr(n)   (pproc_addr + NR_TASKS)[(n)]
#define proc_nr(p)   ((p)->p_nr)
#define isokprocn(n)   ((unsigned) ((n) + NR_TASKS) < NR_PROCS + NR_TASKS)
#define isemptyn(n)   isemptyp(proc_addr(n))
#define isemptyp(p)   ((p)->p_rts_flags == SLOT_FREE)
#define iskernelp(p)   iskerneln((p)->p_nr)
#define iskerneln(n)   ((n) < 0)
#define isuserp(p)   isusern((p)->p_nr)
#define isusern(n)   ((n) >= 0)

Variables

EXTERN struct proc proc [NR_TASKS+NR_PROCS]
EXTERN struct procpproc_addr [NR_TASKS+NR_PROCS]
EXTERN struct procrdy_head [NR_SCHED_QUEUES]
EXTERN struct procrdy_tail [NR_SCHED_QUEUES]


Define Documentation

#define BEG_PROC_ADDR   (&proc[0])
 

Definition at line 91 of file proc.h.

Referenced by balance_queues(), clear_endpoint(), main(), prepare_shutdown(), privileges_dmp(), proctab_dmp(), prot_init(), sched_dmp(), and sendmask_dmp().

#define BEG_USER_ADDR   (&proc[NR_TASKS])
 

Definition at line 92 of file proc.h.

Referenced by do_getksig().

#define cproc_addr n   )     (&(proc + NR_TASKS)[(n)])
 

Definition at line 97 of file proc.h.

Referenced by proc_name().

#define END_PROC_ADDR   (&proc[NR_TASKS + NR_PROCS])
 

Definition at line 93 of file proc.h.

Referenced by balance_queues(), clear_endpoint(), do_getksig(), main(), prepare_shutdown(), privileges_dmp(), prot_init(), and sched_dmp().

#define IDLE_Q   15
 

Definition at line 88 of file proc.h.

Referenced by sched().

#define isemptyn n   )     isemptyp(proc_addr(n))
 

Definition at line 102 of file proc.h.

Referenced by isokendpt_f(), kputc(), and send_sig().

#define isemptyp p   )     ((p)->p_rts_flags == SLOT_FREE)
 

Definition at line 103 of file proc.h.

Referenced by balance_queues(), clear_endpoint(), clear_proc(), do_fork(), do_trace(), memmap_dmp(), prepare_shutdown(), privileges_dmp(), and proctab_dmp().

#define iskerneln n   )     ((n) < 0)
 

Definition at line 105 of file proc.h.

Referenced by do_kill(), do_newmap(), do_nice(), do_sdevio(), do_sigreturn(), do_sigsend(), do_trace(), and sys_call().

#define iskernelp p   )     iskerneln((p)->p_nr)
 

Definition at line 104 of file proc.h.

Referenced by alloc_segments(), dequeue(), exception(), and prepare_shutdown().

#define isokprocn n   )     ((unsigned) ((n) + NR_TASKS) < NR_PROCS + NR_TASKS)
 

Definition at line 101 of file proc.h.

Referenced by isokendpt_f(), kputc(), and send_sig().

#define isusern n   )     ((n) >= 0)
 

Definition at line 107 of file proc.h.

#define isuserp p   )     isusern((p)->p_nr)
 

Definition at line 106 of file proc.h.

#define MAX_USER_Q   0
 

Definition at line 85 of file proc.h.

Referenced by do_nice(), and get_nice_value().

#define MF_VM   0x08
 

Definition at line 76 of file proc.h.

Referenced by do_vm_map(), and vm_map_default().

#define MIN_USER_Q   14
 

Definition at line 87 of file proc.h.

Referenced by do_nice(), and get_nice_value().

#define NIL_PROC   ((struct proc *) 0)
 

Definition at line 95 of file proc.h.

Referenced by clear_endpoint(), dequeue(), enqueue(), load_update(), mini_receive(), mini_send(), pick_proc(), and sched_dmp().

#define NIL_SYS_PROC   ((struct proc *) 1)
 

Definition at line 96 of file proc.h.

#define NO_ENDPOINT   0x200
 

Definition at line 72 of file proc.h.

Referenced by clear_endpoint(), mini_receive(), and mini_send().

#define NO_MAP   0x02
 

Definition at line 64 of file proc.h.

Referenced by do_fork(), do_newmap(), and p_rts_flags_str().

#define NO_PRIORITY   0x100
 

Definition at line 71 of file proc.h.

Referenced by do_nice().

#define NO_PRIV   0x80
 

Definition at line 70 of file proc.h.

#define NR_SCHED_QUEUES   16
 

Definition at line 83 of file proc.h.

Referenced by do_getinfo(), load_update(), pick_proc(), and sched_dmp().

#define P_STOP   0x40
 

Definition at line 69 of file proc.h.

Referenced by do_fork(), do_trace(), and p_rts_flags_str().

#define proc_addr n   )     (pproc_addr + NR_TASKS)[(n)]
 

Definition at line 98 of file proc.h.

Referenced by cause_sig(), clear_endpoint(), deadlock(), do_devio(), do_endksig(), do_exec(), do_exit(), do_fork(), do_getinfo(), do_getsysinfo(), do_int86(), do_iopenable(), do_irqctl(), do_kill(), do_newmap(), do_nice(), do_privctl(), do_segctl(), do_setalarm(), do_sigreturn(), do_sigsend(), do_times(), do_trace(), do_umap(), do_vcopy(), do_vdevio(), do_vm_map(), generic_handler(), isokendpt_f(), lock_notify(), mini_notify(), mini_receive(), mini_send(), send_sig(), sys_task(), and virtual_copy().

#define proc_nr p   )     ((p)->p_nr)
 

Definition at line 99 of file proc.h.

Referenced by clear_endpoint(), deadlock(), dequeue(), do_abort(), do_cancel(), do_diagnostics(), do_fkey_ctl(), do_getinfo(), do_iopenable(), do_kill(), do_nice(), do_privctl(), do_sdevio(), do_status(), do_times(), do_umap(), do_vm_map(), do_write(), driver_task(), exception(), func_key(), get_priv(), handle_ksig(), kb_init_once(), main(), memmap_dmp(), mini_notify(), mini_receive(), pm_exit(), prepare_output(), prepare_shutdown(), privileges_dmp(), proctab_dmp(), revive(), sendmask_dmp(), show_key_mappings(), sr_cancel(), sys_call(), and virtual_copy().

#define RECEIVING   0x08
 

Definition at line 66 of file proc.h.

Referenced by clear_endpoint(), deadlock(), do_exec(), mini_notify(), mini_receive(), mini_send(), p_rts_flags_str(), and proctab_dmp().

#define REPLY_PENDING   0x01
 

Definition at line 75 of file proc.h.

Referenced by mini_notify(), mini_receive(), and sys_call().

#define SENDING   0x04
 

Definition at line 65 of file proc.h.

Referenced by clear_endpoint(), deadlock(), mini_notify(), mini_receive(), mini_send(), p_rts_flags_str(), and proctab_dmp().

#define SIG_PENDING   0x20
 

Definition at line 68 of file proc.h.

Referenced by cause_sig(), do_endksig(), do_fork(), and p_rts_flags_str().

#define SIGNALED   0x10
 

Definition at line 67 of file proc.h.

Referenced by cause_sig(), do_endksig(), do_fork(), do_getksig(), and p_rts_flags_str().

#define SLOT_FREE   0x01
 

Definition at line 63 of file proc.h.

Referenced by main(), mini_receive(), print_proc_summary(), print_procs(), pstat(), and sys_call().

#define TASK_Q   0
 

Definition at line 84 of file proc.h.

#define USER_Q   7
 

Definition at line 86 of file proc.h.

Referenced by get_nice_value().


Variable Documentation

EXTERN struct proc* pproc_addr[NR_TASKS+NR_PROCS]
 

Definition at line 115 of file proc.h.

Referenced by main().

EXTERN struct proc proc[NR_TASKS+NR_PROCS]
 

Definition at line 114 of file proc.h.

Referenced by print_proc_summary(), show_key_mappings(), and showtop().

EXTERN struct proc* rdy_head[NR_SCHED_QUEUES]
 

Definition at line 116 of file proc.h.

Referenced by dequeue(), do_getinfo(), enqueue(), load_update(), pick_proc(), and sched_dmp().

EXTERN struct proc* rdy_tail[NR_SCHED_QUEUES]
 

Definition at line 117 of file proc.h.

Referenced by dequeue(), and enqueue().


Generated on Fri Apr 14 23:14:13 2006 for minix by  doxygen 1.4.6