plan 9 kernel history: overview | file list | diff list

1990/1106/gnot/dat.h (diff list | history)

1990/03091/sys/src/9/gnot/dat.h:281,2871990/0312/sys/src/9/gnot/dat.h:281,286 (short | long)
1990/03091    
struct Proc 
{ 
	Label	sched; 
	Lock; 
	Mach	*mach;			/* machine running this proc */ 
	char	text[NAMELEN]; 
	Proc	*rnext;			/* next process in run queue */ 
1990/03091/sys/src/9/gnot/dat.h:422,4281990/0312/sys/src/9/gnot/dat.h:421,428
1990/03091    
#define STREAMTYPE(x)	((x)&0x1f) 
#define STREAMID(x)	(((x)&~CHDIR)>>5) 
#define STREAMQID(i,t)	(((i)<<5)|(t)) 
#define PUTNEXT(q,b)	(*(q)->next->put)((q)->next, bp) 
1990/0312    
#define PUTNEXT(q,b)	(*(q)->next->put)((q)->next, b) 
#define BLEN(b)		((b)->wptr - (b)->rptr) 
1990/03091    
 
/* 
 *  stream file qid's & high water mark 
1990/0312/sys/src/9/gnot/dat.h:432,4381990/0320/sys/src/9/gnot/dat.h:432,438 (short | long)
1990/03091    
	Sdataqid = Shighqid, 
	Sctlqid = Sdataqid-1, 
	Slowqid = Sctlqid, 
	Streamhi= (32*1024),	/* stream high water mark */ 
1990/0320    
	Streamhi= (8*1024),	/* stream high water mark */ 
1990/03091    
}; 
 
#define	PRINTSIZE	256 
1990/0320/sys/src/9/gnot/dat.h:130,1351990/0327/sys/src/9/gnot/dat.h:130,137 (short | long)
1990/03091    
	int	nqueue;		/* stream queues */ 
	int	nblock;		/* stream blocks */ 
	int	nsrv;		/* public servers (devsrv.c) */ 
1990/0327    
	int	nbitmap;	/* bitmap structs (devbit.c) */ 
	int	nbitbyte;	/* bytes of bitmap data (devbit.c) */ 
1990/03091    
}; 
 
struct Dev 
1990/0327/sys/src/9/gnot/dat.h:408,4131990/0331/sys/src/9/gnot/dat.h:408,414 (short | long)
1990/03091    
struct Stream { 
	Lock;			/* structure lock */ 
	int	inuse;		/* use count */ 
1990/0331    
	int	hread;		/* number of reads after hangup */ 
1990/03091    
	int	type;		/* correclation with Chan */ 
	int	dev;		/* ... */ 
	int	id;		/* ... */ 
1990/0331/sys/src/9/gnot/dat.h:43,491990/0403/sys/src/9/gnot/dat.h:43,49 (short | long)
1990/03091    
 
struct Lock 
{ 
	char	key[1];			/* addr of sync bus semaphore */ 
1990/0403    
	char	key;			/* addr of sync bus semaphore */ 
1990/03091    
	ulong	pc; 
}; 
 
1990/0331/sys/src/9/gnot/dat.h:390,3951990/0403/sys/src/9/gnot/dat.h:390,396
1990/03091    
 */ 
struct Queue { 
	Blist; 
1990/0403    
	int	nb;		/* number of blocks in queue */ 
1990/03091    
	int	flag; 
	Qinfo	*info;		/* line discipline definition */ 
	Queue	*other;		/* opposite direction, same line discipline */ 
1990/0331/sys/src/9/gnot/dat.h:426,4311990/0403/sys/src/9/gnot/dat.h:427,434
1990/03091    
#define STREAMQID(i,t)	(((i)<<5)|(t)) 
1990/0312    
#define PUTNEXT(q,b)	(*(q)->next->put)((q)->next, b) 
#define BLEN(b)		((b)->wptr - (b)->rptr) 
1990/0403    
#define QFULL(q)	((q)->flag & QHIWAT) 
#define FLOWCTL(q)	{ if(QFULL(q)) flowctl(q); } 
1990/03091    
 
/* 
 *  stream file qid's & high water mark 
1990/0331/sys/src/9/gnot/dat.h:435,4411990/0403/sys/src/9/gnot/dat.h:438,445
1990/03091    
	Sdataqid = Shighqid, 
	Sctlqid = Sdataqid-1, 
	Slowqid = Sctlqid, 
1990/0320    
	Streamhi= (8*1024),	/* stream high water mark */ 
1990/0403    
	Streamhi= (9*1024),	/* byte count high water mark */ 
	Streambhi= 16,		/* block count high water mark */ 
1990/03091    
}; 
 
#define	PRINTSIZE	256 
1990/0403/sys/src/9/gnot/dat.h:383,3881990/0406/sys/src/9/gnot/dat.h:383,389 (short | long)
1990/03091    
	Block	*first;		/* first data block */ 
	Block	*last;		/* last data block */ 
	long	len;		/* length of list in bytes */ 
1990/0406    
	int	nb;		/* number of blocks in list */ 
1990/03091    
}; 
 
/* 
1990/0403/sys/src/9/gnot/dat.h:390,3961990/0406/sys/src/9/gnot/dat.h:391,396
1990/03091    
 */ 
struct Queue { 
	Blist; 
1990/0403    
	int	nb;		/* number of blocks in queue */ 
1990/03091    
	int	flag; 
	Qinfo	*info;		/* line discipline definition */ 
	Queue	*other;		/* opposite direction, same line discipline */ 
1990/0403/sys/src/9/gnot/dat.h:428,4341990/0406/sys/src/9/gnot/dat.h:428,434
1990/0312    
#define PUTNEXT(q,b)	(*(q)->next->put)((q)->next, b) 
#define BLEN(b)		((b)->wptr - (b)->rptr) 
1990/0403    
#define QFULL(q)	((q)->flag & QHIWAT) 
#define FLOWCTL(q)	{ if(QFULL(q)) flowctl(q); } 
1990/0406    
#define FLOWCTL(q)	{ if(QFULL(q->next)) flowctl(q); } 
1990/03091    
 
/* 
 *  stream file qid's & high water mark 
1990/0406/sys/src/9/gnot/dat.h:287,2941990/05313/sys/src/9/gnot/dat.h:287,294 (short | long)
1990/03091    
	char	text[NAMELEN]; 
	Proc	*rnext;			/* next process in run queue */ 
	Proc	*qnext;			/* next process on queue for a QLock */ 
1990/05313    
	QLock	*qlock;			/* address of qlock being queued for DEBUG */ 
1990/03091    
	int	state; 
	short	pidonmach[MAXMACH];	/* TLB pid on each mmu */ 
	Page	*upage;			/* BUG: should be unlinked from page list */ 
	Seg	seg[NSEG]; 
	ulong	pid; 
1990/0406/sys/src/9/gnot/dat.h:320,3271990/05313/sys/src/9/gnot/dat.h:320,327
1990/03091    
struct User 
{ 
	Proc	*p; 
	Label	errlab[NERR]; 
	int	nerrlab; 
1990/05313    
	Label	errlab[NERR]; 
1990/03091    
	Error	error; 
	FPsave	fpsave;			/* address of this is known by vdb */ 
	char	elem[NAMELEN];		/* last name element from namec */ 
1990/05313/sys/src/9/gnot/dat.h:12,171990/06021/sys/src/9/gnot/dat.h:12,18 (short | long)
1990/03091    
typedef struct Error	Error; 
typedef struct FFrame	FFrame; 
typedef struct FPsave	FPsave; 
1990/06021    
typedef struct KMap	KMap; 
1990/03091    
typedef struct Label	Label; 
typedef struct List	List; 
typedef struct Lock	Lock; 
1990/05313/sys/src/9/gnot/dat.h:112,1171990/06021/sys/src/9/gnot/dat.h:113,122
1990/03091    
	int	nmach;		/* processors */ 
	int	nproc;		/* processes */ 
	int	npgrp;		/* process groups */ 
1990/06021    
	ulong	npage0;		/* total physical pages of memory, bank 0 */ 
	ulong	npage1;		/* total physical pages of memory, bank 1 */ 
	ulong	base0;		/* base of bank 0 */ 
	ulong	base1;		/* base of bank 1 */ 
1990/03091    
	ulong	npage;		/* total physical pages of memory */ 
	ulong	norig;		/* origins */ 
	ulong	npte;		/* contiguous page table entries */ 
1990/05313/sys/src/9/gnot/dat.h:176,1811990/06021/sys/src/9/gnot/dat.h:181,193
1990/03091    
	int	chref;			/* # chans from pgrp pointing here */ 
}; 
 
1990/06021    
struct KMap 
{ 
	KMap	*next; 
	ulong	pa; 
	ulong	va; 
}; 
 
1990/03091    
struct Mach 
{ 
	int	machno;			/* physical id of processor */ 
1990/05313/sys/src/9/gnot/dat.h:298,3041990/06021/sys/src/9/gnot/dat.h:310,316
1990/03091    
	Proc	*sib;			/* non-ascendant relatives (circular list) */ 
	int	nchild; 
	QLock	wait;			/* exiting children to be waited for */ 
	Waitmsg	*waitmsg; 
1990/06021    
	ulong	waitmsg; 
1990/03091    
	Proc	*child; 
	Proc	*parent; 
	Pgrp	*pgrp; 
1990/06021/sys/src/9/gnot/dat.h:187,1921990/0614/sys/src/9/gnot/dat.h:187,193 (short | long)
1990/06021    
	ulong	pa; 
	ulong	va; 
}; 
1990/0614    
#define	VA(k)	((k)->va) 
1990/06021    
 
1990/03091    
struct Mach 
{ 
1990/0614/sys/src/9/gnot/dat.h:421,4271990/0620/sys/src/9/gnot/dat.h:421,428 (short | long)
1990/03091    
 */ 
struct Stream { 
	Lock;			/* structure lock */ 
	int	inuse;		/* use count */ 
1990/0620    
	int	inuse;		/* number of processes in stream */ 
	int	opens;		/* number of processes with stream open */ 
1990/0331    
	int	hread;		/* number of reads after hangup */ 
1990/03091    
	int	type;		/* correclation with Chan */ 
	int	dev;		/* ... */ 
1990/0614/sys/src/9/gnot/dat.h:430,4361990/0620/sys/src/9/gnot/dat.h:431,436
1990/03091    
	QLock	wrlock;		/* write lock */ 
	Queue	*procq;		/* write queue at process end */ 
	Queue	*devq;		/* read queue at device end */ 
	char	tag[32];	/* when reading the tag qid */ 
}; 
#define	RD(q)		((q)->other < (q) ? (q->other) : q) 
#define	WR(q)		((q)->other > (q) ? (q->other) : q) 
1990/0620/sys/src/9/gnot/dat.h:327,3331990/0621/sys/src/9/gnot/dat.h:327,333 (short | long)
1990/03091    
	ulong	pc;			/* DEBUG only */ 
}; 
 
#define	NERR	10 
1990/0621    
#define	NERR	15 
1990/03091    
#define	NNOTE	5 
#define	NFD	100 
struct User 
1990/0621/sys/src/9/gnot/dat.h:137,1421990/0623/sys/src/9/gnot/dat.h:137,143 (short | long)
1990/03091    
	int	nsrv;		/* public servers (devsrv.c) */ 
1990/0327    
	int	nbitmap;	/* bitmap structs (devbit.c) */ 
	int	nbitbyte;	/* bytes of bitmap data (devbit.c) */ 
1990/0623    
	int	nfont;		/* font structs (devbit.c) */ 
1990/03091    
}; 
 
struct Dev 
1990/0623/sys/src/9/gnot/dat.h:138,1431990/0717/sys/src/9/gnot/dat.h:138,144 (short | long)
1990/0327    
	int	nbitmap;	/* bitmap structs (devbit.c) */ 
	int	nbitbyte;	/* bytes of bitmap data (devbit.c) */ 
1990/0623    
	int	nfont;		/* font structs (devbit.c) */ 
1990/0717    
	int	nurp;		/* max urp conversations */ 
1990/03091    
}; 
 
struct Dev 
1990/0717/sys/src/9/gnot/dat.h:454,4601990/0720/sys/src/9/gnot/dat.h:454,460 (short | long)
1990/03091    
	Sctlqid = Sdataqid-1, 
	Slowqid = Sctlqid, 
1990/0403    
	Streamhi= (9*1024),	/* byte count high water mark */ 
	Streambhi= 16,		/* block count high water mark */ 
1990/0720    
	Streambhi= 32,		/* block count high water mark */ 
1990/03091    
}; 
 
#define	PRINTSIZE	256 
1990/0720/sys/src/9/gnot/dat.h:417,4221990/0721/sys/src/9/gnot/dat.h:417,423 (short | long)
1990/03091    
#define QHUNGUP	0x1	/* flag bit meaning the stream has been hung up */ 
#define QINUSE	0x2 
#define QHIWAT	0x4	/* queue has gone past the high water mark */	 
1990/0721    
#define QDEBUG	0x8 
1990/03091    
 
/* 
 *  a stream head 
1990/0721/sys/src/9/gnot/dat.h:80,851990/08101/sys/src/9/gnot/dat.h:80,87 (short | long)
1990/03091    
}; 
 
#define	CHDIR	0x80000000L 
1990/08101    
#define	CHAPPEND 0x40000000L 
#define	CHEXCL	0x20000000L 
1990/03091    
#define	QPATH	0x0000FFFFL 
struct Chan 
{ 
1990/08101/sys/src/9/gnot/dat.h:491,4961990/08141/sys/src/9/gnot/dat.h:491,497 (short | long)
1990/03091    
#define	COPEN	1	/* for i/o */ 
#define	CMOUNT	2	/* is result of a mount/bind */ 
#define	CCREATE	4	/* permits creation if CMOUNT */ 
1990/08141    
#define	CCEXEC	8	/* close on exec */ 
1990/03091    
 
/* 
 * Proc.time 
1990/08141/sys/src/9/gnot/dat.h:106,1131990/08163/sys/src/9/gnot/dat.h:106,116 (short | long)
1990/03091    
 
struct	FPsave 
{ 
	long	fpreg[32]; 
	long	fpstatus; 
1990/08163    
	char	type; 
	char	size; 
	short	reserved; 
	char	junk[180]; 
	char	reg[3*4+8*12]; 
1990/03091    
}; 
 
struct Conf 
1990/08141/sys/src/9/gnot/dat.h:202,2071990/08163/sys/src/9/gnot/dat.h:205,211
1990/03091    
	Label	sched;			/* scheduler wakeup */ 
	Lock	alarmlock;		/* access to alarm list */ 
	void	*alarm;			/* alarms bound to this clock */ 
1990/08163    
	int	fpstate;		/* state of fp registers on machine */ 
1990/03091    
	int	stack[1]; 
}; 
 
1990/08141/sys/src/9/gnot/dat.h:513,5191990/08163/sys/src/9/gnot/dat.h:517,523
1990/03091    
{ 
	FPinit, 
	FPactive, 
	FPinactive, 
1990/08163    
	FPdirty, 
1990/03091    
}; 
 
/* 
1990/08163/sys/src/9/gnot/dat.h:106,1151990/0905/sys/src/9/gnot/dat.h:106,115 (short | long)
1990/03091    
 
struct	FPsave 
{ 
1990/08163    
	char	type; 
	char	size; 
1990/0905    
	uchar	type; 
	uchar	size; 
1990/08163    
	short	reserved; 
	char	junk[180]; 
1990/0905    
	char	junk[212];	/* 68881: sizes 24, 180; 68882: 56, 212 */ 
1990/08163    
	char	reg[3*4+8*12]; 
1990/03091    
}; 
 
1990/0905/sys/src/9/gnot/dat.h:144,1491990/0911/sys/src/9/gnot/dat.h:144,150 (short | long)
1990/0327    
	int	nbitbyte;	/* bytes of bitmap data (devbit.c) */ 
1990/0623    
	int	nfont;		/* font structs (devbit.c) */ 
1990/0717    
	int	nurp;		/* max urp conversations */ 
1990/0911    
	int	nasync;		/* number of async protocol modules */ 
1990/03091    
}; 
 
struct Dev 
1990/0905/sys/src/9/gnot/dat.h:371,3761990/0911/sys/src/9/gnot/dat.h:372,379
1990/03091    
	void (*open)(Queue*, Stream*); 
	void (*close)(Queue*); 
	char *name; 
1990/0911    
	void (*reset)(void);		/* initialization */ 
	Qinfo *next; 
1990/03091    
}; 
 
/* 
1990/0911/sys/src/9/gnot/dat.h:499,5041990/0914/sys/src/9/gnot/dat.h:499,505 (short | long)
1990/03091    
#define	CMOUNT	2	/* is result of a mount/bind */ 
#define	CCREATE	4	/* permits creation if CMOUNT */ 
1990/08141    
#define	CCEXEC	8	/* close on exec */ 
1990/0914    
#define	CFREE	16	/* not in use */ 
1990/03091    
 
/* 
 * Proc.time 
1990/0914/sys/src/9/gnot/dat.h:313,3181990/0918/sys/src/9/gnot/dat.h:313,319 (short | long)
1990/03091    
	int	state; 
	Page	*upage;			/* BUG: should be unlinked from page list */ 
	Seg	seg[NSEG]; 
1990/0918    
	ulong	bssend;			/* initial top of bss seg */ 
1990/03091    
	ulong	pid; 
	Lock	kidlock;		/* access to kid and sib */ 
	Proc	*pop;			/* some ascendant */ 
1990/0918/sys/src/9/gnot/dat.h:16,211990/0921/sys/src/9/gnot/dat.h:16,23 (short | long)
1990/03091    
typedef struct Label	Label; 
typedef struct List	List; 
typedef struct Lock	Lock; 
1990/0921    
typedef struct MMU	MMU; 
typedef struct MMUCache	MMUCache; 
1990/03091    
typedef struct Mach	Mach; 
typedef struct Mount	Mount; 
typedef struct Mtab	Mtab; 
1990/0918/sys/src/9/gnot/dat.h:337,3421990/0921/sys/src/9/gnot/dat.h:339,358
1990/03091    
	ulong	pc;			/* DEBUG only */ 
}; 
 
1990/0921    
struct MMU 
{ 
	ulong	va; 
	ulong	pa; 
	int	pid; 
}; 
 
#define NMMU 16 
struct MMUCache 
{ 
	ulong	next; 
	MMU	mmu[NMMU]; 
}; 
 
1990/0621    
#define	NERR	15 
1990/03091    
#define	NNOTE	5 
#define	NFD	100 
1990/0918/sys/src/9/gnot/dat.h:360,3651990/0921/sys/src/9/gnot/dat.h:376,382
1990/03091    
	short	nnote; 
	short	notified;		/* sysnoted is due */ 
	int	(*notify)(void*, char*); 
1990/0921    
	MMUCache mc; 
1990/03091    
	void	*ureg; 
}; 
 
1990/0921/sys/src/9/gnot/dat.h:339,3581990/0928/sys/src/9/gnot/dat.h:339,344 (short | long)
1990/03091    
	ulong	pc;			/* DEBUG only */ 
}; 
 
1990/0921    
struct MMU 
{ 
	ulong	va; 
	ulong	pa; 
	int	pid; 
}; 
                 
#define NMMU 16 
struct MMUCache 
{ 
	ulong	next; 
	MMU	mmu[NMMU]; 
}; 
                 
1990/0621    
#define	NERR	15 
1990/03091    
#define	NNOTE	5 
#define	NFD	100 
1990/0921/sys/src/9/gnot/dat.h:376,3821990/0928/sys/src/9/gnot/dat.h:362,367
1990/03091    
	short	nnote; 
	short	notified;		/* sysnoted is due */ 
	int	(*notify)(void*, char*); 
1990/0921    
	MMUCache mc; 
1990/03091    
	void	*ureg; 
}; 
 
1990/0928/sys/src/9/gnot/dat.h:101,1071990/1002/sys/src/9/gnot/dat.h:101,110 (short | long)
1990/03091    
	Mount	*mnt;			/* mount point that derived Chan */ 
	ulong	mountid; 
	int	fid;			/* for devmnt */ 
	Stream	*stream;		/* for stream channels */ 
1990/1002    
	union{ 
		Stream	*stream;	/* for stream channels */ 
		void	*aux; 
	}; 
1990/03091    
	Chan	*mchan;			/* channel to mounted server */ 
	ulong	mqid;			/* qid of root of mount point */ 
}; 
Too many diffs (26 > 25). Stopping.


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)