BSD 4_3_Reno release
[unix-history] / usr / src / sys / sys / user.h
index 797a6e1..485de76 100644 (file)
@@ -2,17 +2,39 @@
  * Copyright (c) 1982, 1986, 1989 Regents of the University of California.
  * All rights reserved.
  *
  * Copyright (c) 1982, 1986, 1989 Regents of the University of California.
  * All rights reserved.
  *
- * %sccs.include.redist.c%
+ * Redistribution is only permitted until one year after the first shipment
+ * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
+ * binary forms are permitted provided that: (1) source distributions retain
+ * this entire copyright notice and comment, and (2) distributions including
+ * binaries display the following acknowledgement:  This product includes
+ * software developed by the University of California, Berkeley and its
+ * contributors'' in the documentation or other materials provided with the
+ * distribution and in all advertising materials mentioning features or use
+ * of this software.  Neither the name of the University nor the names of
+ * its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  *
- *     @(#)user.h      7.15 (Berkeley) %G%
+ *     @(#)user.h      7.13 (Berkeley) 6/28/90
  */
 
  */
 
+#ifdef KERNEL
+#include "machine/pcb.h"
+#include "dmap.h"
+#include "time.h"
+#include "resource.h"
+#include "namei.h"
+#include "ucred.h"
+#else
 #include <machine/pcb.h>
 #include <sys/dmap.h>
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <sys/namei.h>
 #include <sys/ucred.h>
 #include <machine/pcb.h>
 #include <sys/dmap.h>
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <sys/namei.h>
 #include <sys/ucred.h>
+#endif
 
 /*
  * Per process structure containing data that
 
 /*
  * Per process structure containing data that
@@ -33,12 +55,14 @@ struct      user {
        segsz_t u_tsize;                /* text size (clicks) */
        segsz_t u_dsize;                /* data size (clicks) */
        segsz_t u_ssize;                /* stack size (clicks) */
        segsz_t u_tsize;                /* text size (clicks) */
        segsz_t u_dsize;                /* data size (clicks) */
        segsz_t u_ssize;                /* stack size (clicks) */
-       struct  dmap u_pad1[4];
-       label_t u_ssave;                /* label variable for swapping */
-       caddr_t u_taddr;                /* user virtual address of text */
-       caddr_t u_daddr;                /* user virtual address of data */
+       struct  dmap u_dmap;            /* disk map for data segment */
+       struct  dmap u_smap;            /* disk map for stack segment */
+       struct  dmap u_cdmap;           /* temp data segment disk map */
+       struct  dmap u_csmap;           /* temp stack segment disk map */
+       label_t u_ssave;                /* label variable for swapping */
+       segsz_t u_odsize, u_ossize;     /* for (clumsy) expansion swaps */
        time_t  u_outime;               /* user time at last sample */
        time_t  u_outime;               /* user time at last sample */
-       caddr_t u_maxsaddr;             /* user VA at max stack growth */
+       struct  mapmem *u_mmap;         /* list of mapped memory regions */
 
 /* 1.3 - signal management */
        sig_t   u_signal[NSIG];         /* disposition of signals */
 
 /* 1.3 - signal management */
        sig_t   u_signal[NSIG];         /* disposition of signals */
@@ -95,10 +119,10 @@ struct     user {
 
 #ifdef KERNEL
 extern struct user u;
 
 #ifdef KERNEL
 extern struct user u;
-extern struct user *swaputl;
-extern struct user *forkutl;
-extern struct user *xswaputl;
-extern struct user *xswap2utl;
-extern struct user *pushutl;
-extern struct user *vfutl;
+extern struct user swaputl;
+extern struct user forkutl;
+extern struct user xswaputl;
+extern struct user xswap2utl;
+extern struct user pushutl;
+extern struct user vfutl;
 #endif
 #endif