Ultrix-3.1/sys/conf/c.c

Compare this file to the similar file:
Show the results in this format:

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/buf.h>
#include <sys/tty.h>
#include <sys/conf.h>
#include <sys/proc.h>
#include <sys/text.h>
#include <sys/dir.h>
#include <sys/user.h>
#include <sys/file.h>
#include <sys/inode.h>
#include <sys/acct.h>
#include <sys/mount.h>
#include <sys/map.h>
#include <sys/callo.h>
#include <sys/mbuf.h>
#include "dds.h"

int	nulldev();
int	nodev();

int fpemulation = 2;

/*
 * Dummy function required if floating point simulator
 * is not used.
 */

fptrap()
{
	return(SIGILL);
}


/*
 * Utsname definition
 */

#include <sys/utsname.h>
struct utsname utsname = {
	{'U','L','T','R','I','X','-','1','1'},
	{''},
	{'3'},
	{'0'},
	{''},
};


#include <sys/maus.h>
struct mausmap mausmap[] = {
	0,	2,
	2,	128,
	130,	128,
	258,	128,
	-1,	-1
};
int	raopen(), raclose(), rastrategy();
struct	buf	ratab;
int	rlopen(), rlclose(), rlstrategy();
struct	buf	rltab;
int	htopen(), htclose(), htstrategy();
struct	buf	httab;
int	hpopen(),hpclose(), hpstrategy();
struct	buf	hptab[];
struct	bdevsw	bdevsw[] =
{
	nodev, nodev, nodev, 0, /* rk = 0 */
	nodev, nodev, nodev, 0, /* rp = 1 */
	raopen, raclose, rastrategy, &ratab,	/* ra = 2 */
	rlopen, rlclose, rlstrategy, &rltab,	/* rl = 3 */
	nodev, nodev, nodev, 0, /* hx = 4 */
	nodev, nodev, nodev, 0, /* tm = 5 */
	nodev, nodev, nodev, 0, /* tk = 6 */
	nodev, nodev, nodev, 0, /* ts = 7 */
	htopen, htclose, htstrategy, &httab,	/* ht = 8 */
	hpopen, hpclose, hpstrategy, &hptab[0],	/* hp = 9 */
	hpopen, hpclose, hpstrategy, &hptab[1],	/* hm = 10 */
	nodev, nodev, nodev, 0, /* hj = 11 */
	nodev, nodev, nodev, 0, /* hk = 12 */
	nodev, nodev, nodev, 0, /* u1 = 13 */
	nodev, nodev, nodev, 0, /* u2 = 14 */
	nodev, nodev, nodev, 0, /* u3 = 15 */
	nodev, nodev, nodev, 0, /* u4 = 16 */
	0
};

int	klopen(), klclose(), klread(), klwrite(), klioctl();
int	lpopen(), lpclose(), lpwrite(), lpioctl();
int	dhopen(), dhclose(), dhread(), dhwrite(), dhioctl(), dhstop();

int	dzopen(), dzclose(), dzread(), dzwrite(), dzioctl();
int	syopen(), syread(), sywrite(), sysioctl(), syselect();
int	mmread(), mmwrite();
int	ptcopen(), ptcclose(), ptcread(), ptcwrite(), ptyioctl(), ptcselect();
int	ptsopen(), ptsclose(), ptsread(), ptswrite(), ptsstop();
int	raread(), rawrite();
int	rlread(), rlwrite();
int	htread(), htwrite(), htioctl();
int	hpread(), hpwrite();

int	nkl11 = 1;
int	ndl11 = 0;
struct	tty	*kl11[1+0];

struct	tty	*dh11[16];
int	dh_local[1];
char	dhcc[16];
int	dhchars[1];
int	dhsar[1];
int	ndh11 = 16;

struct	tty	*dz_tty[24];
char	dz_local[3];
char	dz_brk[3];
int	dz_cnt = 24;
char	dz_shft = 3;
char	dz_mask = 7;

int	ntty = 41;
struct	tty	tty_ts[41];

int	npty = 10;
struct	pt_ioctl	pt_ioctl[10];
struct	tty	pty_ts[10];
struct	tty	*pt_tty[] = {
	&pty_ts[0],
	&pty_ts[1],
	&pty_ts[2],
	&pty_ts[3],
	&pty_ts[4],
	&pty_ts[5],
	&pty_ts[6],
	&pty_ts[7],
	&pty_ts[8],
	&pty_ts[9],
};

netattach()
{
	deattach(0, 0174510, 0120);
}

int ttselect(), seltrue();

struct	cdevsw	cdevsw[] =
{
	klopen,   klclose,  klread,   klwrite,
	klioctl,  nulldev,  kl11,     ttselect,	/* console = 0 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* ct = 1 */
	lpopen,   lpclose,  nodev,    lpwrite,
	lpioctl,  nulldev,  0,        seltrue,	/* lp = 2 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* dc = 3 */
	dhopen,   dhclose,  dhread,   dhwrite,
	dhioctl,  dhstop,   dh11,     ttselect,	/* dh = 4 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* dp = 5 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* uh|uhv = 6 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* dn = 7 */
	dzopen,   dzclose,  dzread,   dzwrite,
	dzioctl,  nulldev,  dz_tty,   ttselect,	/* dz = 8 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* du = 9 */
	syopen,   nulldev,  syread,   sywrite,
	sysioctl, nulldev,  0,        syselect,	/* tty = 10 */
	nulldev,  nulldev,  mmread,   mmwrite,
	nodev,    nulldev,  0,        seltrue,	/* mem = 11 */
	ptcopen,  ptcclose, ptcread,  ptcwrite,
	ptyioctl, nulldev,  pt_tty,   ptcselect,	/* ptc = 12 */
	ptsopen,  ptsclose, ptsread,  ptswrite,
	ptyioctl, ptsstop,  pt_tty,   ttselect,	/* pts = 13 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* dummy = 14 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* dummy = 15 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* dummy = 16 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* rk = 17 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* rp = 18 */
	raopen,   nulldev,  raread,   rawrite,
	nodev,    nulldev,  0,        seltrue,	/* ra = 19 */
	rlopen,   nulldev,  rlread,   rlwrite,
	nodev,    nulldev,  0,        seltrue,	/* rl = 20 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* hx = 21 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* tm = 22 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* tk = 23 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* ts = 24 */
	htopen,   htclose,  htread,   htwrite,
	htioctl,    nulldev,  0,        seltrue,	/* ht = 25 */
	hpopen,   nulldev,  hpread,   hpwrite,
	nodev,    nulldev,  0,        seltrue,	/* hp = 26 */
	hpopen,   nulldev,  hpread,   hpwrite,
	nodev,    nulldev,  0,        seltrue,	/* hm = 27 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* hj = 28 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* hk = 29 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* u1 = 30 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* u2 = 31 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* u3 = 32 */
	nodev,    nodev,    nodev,    nodev,
	nodev,    nulldev,  0,        nodev,	/* u4 = 33 */
	0
};

int	ttstart();
int	ntyclose(), ntread(), ntwrite(), ntyinput();
int	ttioctl();
struct	linesw	linesw[] =
{
	nulldev, nulldev, ntread, ntwrite, ttioctl,
	ntyinput, nodev, nulldev, ttstart, nulldev,	/* 0 */
	nulldev, ntyclose, ntread, ntwrite, ttioctl,
	ntyinput, nodev, nulldev, ttstart, nulldev,	/* 1 */
	0
};
int	rootdev	= makedev(9, 0);
int	swapdev	= makedev(9, 2);
int	pipedev = makedev(9, 0);
int	el_dev = makedev(26, 2);
int	nldisp = 2;
daddr_t	swplo	= 200;
int	nswap	= 6070;
daddr_t	el_sb = 0;
int	el_nb = 200;
	
struct	buf	buf[NBUF];
struct	inode	inode[150];
struct	mount	mount[12];
struct	buf	bfreelist;
struct	acct	acctbuf;
struct	inode	*acctp;
struct	map	coremap[93];
struct	map	swapmap[93];
int	ub_end;
#ifndef	UCB_CLIST
struct	cblock	cfree[65];
#else	UCB_CLIST
struct	cblock	*cfree;
#endif	UCB_CLIST
char	msgbuf[128];
	
/*
 * System table sizes, used by commands like
 * ps & pstat to free them from param.h.
 */

int	nbuf	= NBUF;
int	nproc	= NPROC;
int	ninode	= 150;
int	ntext	= NTEXT;
int	nofile	= NOFILE;
int	nsig	= NSIG;
int	nfile	= NFILE;
int	nmount	= 12;
int	mapsize	= 93;
int	ncall	= 40;
int	nclist	= 65;
int	elbsiz	= 350;
int	maxuprc = 25;
int	timezone = (5*60);
int	dstflag = 1;
int	ncargs = 5120;
int	hz = 60;
int	msgbufs = 128;
unsigned int maxseg = 16384;
long	cdlimit = 65536;

/*
 * Number of disk drives and 
 * related structures.
 */

int	nrl	= 2;
struct	ios	rl_ios[2];
struct	buf	rlutab[2];

/*
 * Number of tape drives 
 * and related arrays.
 */

int	nht	= 2;
u_short	ht_flags[2];
char	ht_openf[2];
daddr_t	ht_blkno[2];
daddr_t	ht_nxrec[2];
u_short	ht_erreg[2];
u_short	ht_dsreg[2];
short	ht_resid[2];
struct	buf	chtbuf[2];

/*
 * MSCP disk controller CSR and VECTOR addresses.
 */

#if NUDA > 0
int	ra_csr[] = {C0_CSR, C1_CSR, C2_CSR, C3_CSR};
int	ra_ivec[] = {C0_VEC, C1_VEC, C2_VEC, C3_VEC};
#else
int	ra_csr[] = {0,0,0,0};
#endif

/*
 * TS magtape controller CSR and VECTOR addresses.
 */

#if NTS > 0
int	ts_csr[] = {S0_CSR, S1_CSR, S2_CSR, S3_CSR};
#else
int	ts_csr[] = {0,0,0,0};
#endif

/*
 * TMSCP magtape controller CSR and VECTOR addresses.
 */

#if NTK > 0
int	tk_csr[] = {K0_CSR, K1_CSR, K2_CSR, K3_CSR};
int	tk_ivec[] = {K0_VEC, K1_VEC, K2_VEC, K3_VEC};
#else
int	tk_csr[] = {0,0,0,0};
#endif

/*
 * I/O device CSR addresses
 * Indexed by RAW major device number
 */

int	io_csr[] =
{

	0177560,	/* console	CSR address */
	0167770,	/* ct		CSR address */
	0177514,	/* lp		CSR address */
	0174000,	/* dc		CSR address */
	0160020,	/* dh		CSR address */
	0174770,	/* dp		CSR address */
	0160440,	/* uh		CSR address */
	0175200,	/* dn		CSR address */
	0160110,	/* dz		CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0,		/* dummy	CSR address */
	0177400,	/* rk		CSR address */
	0176710,	/* rp		CSR address */
	&ra_csr[0],	/* ra		CSR address */
	0174400,	/* rl		CSR address */
	0177170,	/* hx		CSR address */
	0172520,	/* tm		CSR address */
	&tk_csr[0],	/* tk		CSR address */
	&ts_csr[0],	/* ts		CSR address */
	0172440,	/* ht		CSR address */
	0176700,	/* hp		CSR address */
	0176400,	/* hm		CSR address */
	0176400,	/* hj		CSR address */
	0177440,	/* hk		CSR address */
	0164000,	/* u1		CSR address */
	0164000,	/* u2		CSR address */
	0164000,	/* u3		CSR address */
	0164000,	/* u4		CSR address */
	0170500,	/* dhdm		CSR address */
	0176500,	/* kl		CSR address */
	0175610,	/* dl		CSR address */
};

/*
 * I/O device bus addr ext. register offset.
 * Zero if no BAE register. Index is BLOCK major dev.
 */

char	io_bae[] =
{
	0,	/* rk */
	0,	/* rp */
	0,	/* ra MBZ */
	010,	/* rl */
	0,	/* hx */
	0,	/* tm */
	0,	/* tk */
	0,	/* ts */
	034,	/* ht */
	050,	/* hp */
	050,	/* hm */
	050,	/* hj */
	0,	/* hk */
	0,	/* u1 MBZ */
	0,	/* u2 MBZ */
	0,	/* u3 MBZ */
	0,	/* u4 MBZ */
};

int	allocs[2900];
int	nwords = 2900;
int	miosize = 0;
int	mbsize = (60*MSIZE)+0;