Deleted Added
full compact
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_ */