break memory filesystem into two files
[unix-history] / usr / src / sys / conf / param.c
index f65dceb..b3ba2d1 100644 (file)
@@ -1,23 +1,43 @@
-/*     param.c 4.7     81/10/29        */
+/*
+ * Copyright (c) 1980, 1986, 1989 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not 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.
+ *
+ *     @(#)param.c     7.7 (Berkeley) %G%
+ */
+
+#ifndef lint
+char copyright[] =
+"@(#) Copyright (c) 1980, 1986, 1989 Regents of the University of California.\n\
+ All rights reserved.\n";
+#endif not lint
 
 
-#include "../h/param.h"
-#include "../h/systm.h"
-#ifdef BBNNET
-#include "../inet/inet.h"
-#include "../inet/inet_systm.h"
-#include "../inet/imp.h"
-#include "../h/socket.h"
-#endif BBNNET
-#include "../h/dir.h"
-#include "../h/user.h"
-#include "../h/proc.h"
-#include "../h/text.h"
-#include "../h/inode.h"
-#include "../h/file.h"
-#include "../h/callout.h"
-#include "../h/clist.h"
-#include "../h/cmap.h"
-#include "../h/port.h"
+#include "../sys/param.h"
+#include "../sys/systm.h"
+#include "../sys/socket.h"
+#include "../sys/user.h"
+#include "../sys/proc.h"
+#include "../sys/text.h"
+#include "../sys/vnode.h"
+#include "../ufs/inode.h"
+#include "../sys/file.h"
+#include "../sys/callout.h"
+#include "../sys/clist.h"
+#include "../sys/cmap.h"
+#include "../sys/mbuf.h"
+#include "../ufs/quota.h"
+#include "../sys/kernel.h"
 /*
  * System parameter formulae.
  *
 /*
  * System parameter formulae.
  *
  * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
  */
 
  * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
  */
 
+#ifndef HZ
+#define        HZ 100
+#endif
 int    hz = HZ;
 int    hz = HZ;
-int    timezone = TIMEZONE;
-int    dstflag = DST;
+int    tick = 1000000 / HZ;
+int    tickadj = 240000 / (60 * HZ);           /* can adjust 240ms in 60s */
+struct timezone tz = { TIMEZONE, DST };
 #define        NPROC (20 + 8 * MAXUSERS)
 int    nproc = NPROC;
 #define        NPROC (20 + 8 * MAXUSERS)
 int    nproc = NPROC;
-int    ntext = 24 + MAXUSERS;
-int    ninode = (NPROC + 16 + MAXUSERS) + 32;
-int    nfile = 8 * (NPROC + 16 + MAXUSERS) / 10 + 32;
-int    ncallout = 16 + MAXUSERS;
-int    nclist = 100 + 16 * MAXUSERS;
-int    nport = NPROC / 2;
-#ifdef BBNNET
-int     nnetpages = NNETPAGES;
-int     nnetcon = NCON;
-int     nhost = NHOST;
-#endif BBNNET
+int    ntext = 36 + MAXUSERS;
+#define NINODE ((NPROC + 16 + MAXUSERS) + 32)
+int    ninode = NINODE;
+#ifndef NFS
+int    nchsize = NINODE * 11 / 10;
+#else
+int    nnfsnode = NINODE;
+int    nchsize = (2 * NINODE) * 11 / 10;
+#endif /* NFS */
+int    nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32;
+int    ncallout = 16 + NPROC;
+int    nclist = 60 + 12 * MAXUSERS;
+int     nmbclusters = NMBCLUSTERS;
+#ifdef QUOTA
+int    nquota = (MAXUSERS * 9) / 7 + 3;
+int    ndquot = NINODE + (MAXUSERS * NMOUNT) / 4;
+#endif
+int    fscale = FSCALE;        /* kernel uses `FSCALE', user uses `fscale' */
 
 /*
  * These are initialized at bootstrap time
 
 /*
  * These are initialized at bootstrap time
@@ -53,7 +84,8 @@ int   nbuf, nswbuf;
 
 /*
  * These have to be allocated somewhere; allocating
 
 /*
  * These have to be allocated somewhere; allocating
- * them here forces loader errors if this file is omitted.
+ * them here forces loader errors if this file is omitted
+ * (if they've been externed everywhere else; hah!).
  */
 struct proc *proc, *procNPROC;
 struct text *text, *textNTEXT;
  */
 struct proc *proc, *procNPROC;
 struct text *text, *textNTEXT;
@@ -62,14 +94,10 @@ struct      file *file, *fileNFILE;
 struct         callout *callout;
 struct cblock *cfree;
 struct buf *buf, *swbuf;
 struct         callout *callout;
 struct cblock *cfree;
 struct buf *buf, *swbuf;
-short  *swsize;
-int    *swpf;
 char   *buffers;
 struct cmap *cmap, *ecmap;
 char   *buffers;
 struct cmap *cmap, *ecmap;
-#ifdef BBNNET
-struct  ucb *contab, *conNCON;
-struct  host *host, *hostNHOST;
-struct  net netcb;
-struct  net_stat netstat;
-struct  impstat imp_stat;
-#endif BBNNET
+struct namecache *namecache;
+#ifdef QUOTA
+struct quota *quota, *quotaNQUOTA;
+struct dquot *dquot, *dquotNDQUOT;
+#endif