proc.h (42379) | proc.h (43208) |
---|---|
1/*- 2 * Copyright (c) 1986, 1989, 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)proc.h 8.15 (Berkeley) 5/19/95 | 1/*- 2 * Copyright (c) 1986, 1989, 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)proc.h 8.15 (Berkeley) 5/19/95 |
39 * $Id: proc.h,v 1.65 1998/12/31 13:23:16 bde Exp $ | 39 * $Id: proc.h,v 1.66 1999/01/07 21:23:45 julian Exp $ |
40 */ 41 42#ifndef _SYS_PROC_H_ 43#define _SYS_PROC_H_ 44 45#include <machine/proc.h> /* Machine-dependent proc substruct. */ 46#include <sys/callout.h> /* For struct callout_handle. */ 47#include <sys/rtprio.h> /* For struct rtprio. */ 48#include <sys/select.h> /* For struct selinfo. */ 49#include <sys/signal.h> | 40 */ 41 42#ifndef _SYS_PROC_H_ 43#define _SYS_PROC_H_ 44 45#include <machine/proc.h> /* Machine-dependent proc substruct. */ 46#include <sys/callout.h> /* For struct callout_handle. */ 47#include <sys/rtprio.h> /* For struct rtprio. */ 48#include <sys/select.h> /* For struct selinfo. */ 49#include <sys/signal.h> |
50#ifdef COMPAT_LINUX_THREADS | |
51#include <sys/signalvar.h> | 50#include <sys/signalvar.h> |
52#endif /* COMPAT_LINUX_THREADS */ | |
53#ifndef KERNEL 54#include <sys/time.h> /* For structs itimerval, timeval. */ 55#endif 56#include <sys/ucred.h> 57#include <sys/queue.h> 58#include <sys/filedesc.h> 59 60/* --- 15 unchanged lines hidden (view full) --- 76 LIST_ENTRY(pgrp) pg_hash; /* Hash chain. */ 77 LIST_HEAD(, proc) pg_members; /* Pointer to pgrp members. */ 78 struct session *pg_session; /* Pointer to session. */ 79 struct sigiolst pg_sigiolst; /* List of sigio sources. */ 80 pid_t pg_id; /* Pgrp id. */ 81 int pg_jobc; /* # procs qualifying pgrp for job control */ 82}; 83 | 51#ifndef KERNEL 52#include <sys/time.h> /* For structs itimerval, timeval. */ 53#endif 54#include <sys/ucred.h> 55#include <sys/queue.h> 56#include <sys/filedesc.h> 57 58/* --- 15 unchanged lines hidden (view full) --- 74 LIST_ENTRY(pgrp) pg_hash; /* Hash chain. */ 75 LIST_HEAD(, proc) pg_members; /* Pointer to pgrp members. */ 76 struct session *pg_session; /* Pointer to session. */ 77 struct sigiolst pg_sigiolst; /* List of sigio sources. */ 78 pid_t pg_id; /* Pgrp id. */ 79 int pg_jobc; /* # procs qualifying pgrp for job control */ 80}; 81 |
84#ifdef COMPAT_LINUX_THREADS | |
85struct procsig { 86#define ps_begincopy ps_sigignore 87 sigset_t ps_sigignore; /* Signals being ignored. */ 88 sigset_t ps_sigcatch; /* Signals being caught by user. */ 89 int ps_flag; 90 struct sigacts *ps_sigacts; 91#define ps_endcopy ps_refcnt 92 int ps_refcnt; 93}; | 82struct procsig { 83#define ps_begincopy ps_sigignore 84 sigset_t ps_sigignore; /* Signals being ignored. */ 85 sigset_t ps_sigcatch; /* Signals being caught by user. */ 86 int ps_flag; 87 struct sigacts *ps_sigacts; 88#define ps_endcopy ps_refcnt 89 int ps_refcnt; 90}; |
94#endif /* COMPAT_LINUX_THREADS */ | |
95 96/* 97 * pasleep structure, used by asleep() syscall to hold requested priority 98 * and timeout values for await(). 99 */ 100struct pasleep { 101 int as_priority; /* Async priority. */ 102 int as_timo; /* Async timeout. */ --- 15 unchanged lines hidden (view full) --- 118 LIST_ENTRY(proc) p_list; /* List of all processes. */ 119 120 /* substructures: */ 121 struct pcred *p_cred; /* Process owner's identity. */ 122 struct filedesc *p_fd; /* Ptr to open files structure. */ 123 struct pstats *p_stats; /* Accounting/statistics (PROC ONLY). */ 124 struct plimit *p_limit; /* Process limits. */ 125 struct vm_object *p_upages_obj;/* Upages object */ | 91 92/* 93 * pasleep structure, used by asleep() syscall to hold requested priority 94 * and timeout values for await(). 95 */ 96struct pasleep { 97 int as_priority; /* Async priority. */ 98 int as_timo; /* Async timeout. */ --- 15 unchanged lines hidden (view full) --- 114 LIST_ENTRY(proc) p_list; /* List of all processes. */ 115 116 /* substructures: */ 117 struct pcred *p_cred; /* Process owner's identity. */ 118 struct filedesc *p_fd; /* Ptr to open files structure. */ 119 struct pstats *p_stats; /* Accounting/statistics (PROC ONLY). */ 120 struct plimit *p_limit; /* Process limits. */ 121 struct vm_object *p_upages_obj;/* Upages object */ |
126#ifndef COMPAT_LINUX_THREADS 127 struct sigacts *p_sigacts; /* Signal actions, state (PROC ONLY). */ 128#else | |
129 struct procsig *p_procsig; 130#define p_sigacts p_procsig->ps_sigacts 131#define p_sigignore p_procsig->ps_sigignore 132#define p_sigcatch p_procsig->ps_sigcatch | 122 struct procsig *p_procsig; 123#define p_sigacts p_procsig->ps_sigacts 124#define p_sigignore p_procsig->ps_sigignore 125#define p_sigcatch p_procsig->ps_sigcatch |
133#endif | |
134 135#define p_ucred p_cred->pc_ucred 136#define p_rlimit p_limit->pl_rlimit 137 138 int p_flag; /* P_* flags. */ 139 char p_stat; /* S* process status. */ 140 char p_pad1[3]; 141 --- 48 unchanged lines hidden (view full) --- 190 short p_simple_locks; /* DEBUG: count of held simple locks */ 191 unsigned int p_stops; /* procfs event bitmask */ 192 unsigned int p_stype; /* procfs stop event type */ 193 char p_step; /* procfs stop *once* flag */ 194 unsigned char p_pfsflags; /* procfs flags */ 195 char p_pad3[2]; /* padding for alignment */ 196 register_t p_retval[2]; /* syscall aux returns */ 197 struct sigiolst p_sigiolst; /* list of sigio sources */ | 126 127#define p_ucred p_cred->pc_ucred 128#define p_rlimit p_limit->pl_rlimit 129 130 int p_flag; /* P_* flags. */ 131 char p_stat; /* S* process status. */ 132 char p_pad1[3]; 133 --- 48 unchanged lines hidden (view full) --- 182 short p_simple_locks; /* DEBUG: count of held simple locks */ 183 unsigned int p_stops; /* procfs event bitmask */ 184 unsigned int p_stype; /* procfs stop event type */ 185 char p_step; /* procfs stop *once* flag */ 186 unsigned char p_pfsflags; /* procfs flags */ 187 char p_pad3[2]; /* padding for alignment */ 188 register_t p_retval[2]; /* syscall aux returns */ 189 struct sigiolst p_sigiolst; /* list of sigio sources */ |
198#ifdef COMPAT_LINUX_THREADS | |
199 int p_sigparent; /* signal to parent on exit */ 200 sigset_t p_oldsigmask; /* saved mask from before sigpause */ 201 int p_sig; /* for core dump/debugger XXX */ 202 u_long p_code; /* for core dump/debugger XXX */ | 190 int p_sigparent; /* signal to parent on exit */ 191 sigset_t p_oldsigmask; /* saved mask from before sigpause */ 192 int p_sig; /* for core dump/debugger XXX */ 193 u_long p_code; /* for core dump/debugger XXX */ |
203#endif /* COMPAT_LINUX_THREADS */ | |
204 205/* End area that is zeroed on creation. */ 206#define p_endzero p_startcopy 207 208/* The following fields are all copied upon creation in fork. */ 209#define p_startcopy p_sigmask 210 211 sigset_t p_sigmask; /* Current signal mask. */ | 194 195/* End area that is zeroed on creation. */ 196#define p_endzero p_startcopy 197 198/* The following fields are all copied upon creation in fork. */ 199#define p_startcopy p_sigmask 200 201 sigset_t p_sigmask; /* Current signal mask. */ |
212#ifndef COMPAT_LINUX_THREADS 213 sigset_t p_sigignore; /* Signals being ignored. */ 214 sigset_t p_sigcatch; /* Signals being caught by user. */ 215#endif /* COMPAT_LINUX_THREADS */ | |
216 u_char p_priority; /* Process priority. */ 217 u_char p_usrpri; /* User-priority based on p_cpu and p_nice. */ 218 char p_nice; /* Process "nice" value. */ 219 char p_comm[MAXCOMLEN+1]; 220 221 struct pgrp *p_pgrp; /* Pointer to process group. */ 222 223 struct sysentvec *p_sysent; /* System call dispatch information. */ --- 159 unchanged lines hidden (view full) --- 383void remrq __P((struct proc *)); 384void cpu_switch __P((struct proc *)); 385void unsleep __P((struct proc *)); 386void wakeup_one __P((void *chan)); 387 388void cpu_exit __P((struct proc *)) __dead2; 389void exit1 __P((struct proc *, int)) __dead2; 390void cpu_fork __P((struct proc *, struct proc *)); | 202 u_char p_priority; /* Process priority. */ 203 u_char p_usrpri; /* User-priority based on p_cpu and p_nice. */ 204 char p_nice; /* Process "nice" value. */ 205 char p_comm[MAXCOMLEN+1]; 206 207 struct pgrp *p_pgrp; /* Pointer to process group. */ 208 209 struct sysentvec *p_sysent; /* System call dispatch information. */ --- 159 unchanged lines hidden (view full) --- 369void remrq __P((struct proc *)); 370void cpu_switch __P((struct proc *)); 371void unsleep __P((struct proc *)); 372void wakeup_one __P((void *chan)); 373 374void cpu_exit __P((struct proc *)) __dead2; 375void exit1 __P((struct proc *, int)) __dead2; 376void cpu_fork __P((struct proc *, struct proc *)); |
391#ifndef COMPAT_LINUX_THREADS 392int fork1 __P((struct proc *, int)); 393#else | |
394int fork1 __P((struct proc *, int)); | 377int fork1 __P((struct proc *, int)); |
395#endif /* COMPAT_LINUX_THREADS */ | |
396int trace_req __P((struct proc *)); 397void cpu_wait __P((struct proc *)); 398int cpu_coredump __P((struct proc *, struct vnode *, struct ucred *)); 399void setsugid __P((struct proc *p)); 400#endif /* KERNEL */ 401 402#endif /* !_SYS_PROC_H_ */ | 378int trace_req __P((struct proc *)); 379void cpu_wait __P((struct proc *)); 380int cpu_coredump __P((struct proc *, struct vnode *, struct ucred *)); 381void setsugid __P((struct proc *p)); 382#endif /* KERNEL */ 383 384#endif /* !_SYS_PROC_H_ */ |