1 /* 2 * Copyright (c) 1982, 1986, 1989 Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)user.h 7.17 (Berkeley) 03/17/91 8 */ 9 10 #ifndef KERNEL 11 #include <sys/time.h> 12 #include <sys/resource.h> 13 #include <sys/uio.h> 14 #endif 15 #include <machine/pcb.h> 16 #include <sys/signalvar.h> 17 #include <sys/resourcevar.h> 18 #include <sys/namei.h> 19 20 /* 21 * Per process structure containing data that 22 * isn't needed in core when the process is swapped out. 23 */ 24 25 struct user { 26 struct pcb u_pcb; 27 struct proc *u_procp; /* pointer to proc structure XXX */ 28 label_t u_ssave; /* label variable for swapping XXX */ 29 #define curproc u.u_procp /* XXX */ 30 31 struct sigacts u_sigacts; /* p_sigacts points here (use it!) */ 32 struct pstats u_stats; /* rusage, profiling & timers */ 33 34 /* 1.6 - resource controls */ 35 36 int u_spare[1]; 37 38 }; 39 40 /* u_error codes */ 41 #ifndef KERNEL 42 #include <errno.h> 43 #endif 44 45 #ifdef KERNEL 46 extern struct user u; 47 extern struct user *swaputl; 48 extern struct user *forkutl; 49 extern struct user *xswaputl; 50 extern struct user *xswap2utl; 51 extern struct user *pushutl; 52 extern struct user *vfutl; 53 #endif 54