V9/jerq/include/jerqproc.h

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

#include <tty.h>

#ifndef		PROC_H
#define		PROC_H
extern	int	NPROC;
#define	STKSIZ	(4096-sizeof(struct _*))
#define	CBSIZE	64	/* NPROC*CBSIZE <= queue.h/NCHARS */

#ifndef	QUEUE_H
struct clist {
	long	c_tail;
	long	c_head;
	short	c_cc;
	short	state;
};
#endif
struct pcb {
	int	psw;
	char	(*pc)();
	int	sp;
	int	lower;
	int	upper;
	int	ap;
	int	fp;
	int	reg[9];		/* 9 user registers */
	int	blkmv;
};
struct Proc {
	struct pcb pcb;
	char	*text;
	char	*data;
	char	*bss;
	int	state;
	Layer	 * layer;
	Rectangle rect;	/* rectangle on screen */
	struct clist kbdqueue;
	char	**traploc;
	int	*traptype;
	int	nticks;
	Texture * cursor;
	short	inhibited;
	short	nchars;
	unsigned char	cbuf[CBSIZE*3];		/* circular buffer */
	unsigned char	*cbufpin, *cbufpout;
	struct ttychars ttychars;		/* chars for tty driver emulation */
	int	stack[STKSIZ/sizeof(int)];	/* int for alignment  */
	struct Font *defaultfont;
};

struct Nqueue {			/* structure used by putname / getname */
	struct Nqueue *next;
	struct Proc *proc;
	long data;
	char name[4];
};

#ifndef	MUX_H
#	ifdef	TASK_C
	struct Proc *newproc();
#	else
	extern struct Proc *newproc();
#	endif
extern struct Proc *P;
extern struct Proc proctab[];
#endif

#ifdef	MUXTERM
/*
 * Data at start of user program
 */
struct udata {
	Rectangle Drect;
	Layer	 * Jdisplayp;
	int	argc;
	char	**argv;
	struct Mouse mouse;
};
/* states */
#define	RUN		1	/* ready to be scheduled */
#define	BUSY		2	/* active */
#define	BLOCKED		4	/* blocked by user with ^S */
#define	USER		8	/* a user-68ld'd process */
#define	KBDLOCAL	16	/* has requested the KBD */
#define	MOUSELOCAL	32	/* has requested the MOUSE */
#define	GOTMOUSE	64	/* currently owns MOUSE */
#define	WAKEUP		128	/* tell CONTROL to issue setrun(p) */
#define	MOVED		256	/* layer got moved */
#define	UNBLOCKED	512	/* Has been unblocked */
#define	ZOMBIE		1024	/* proc died horribly; waiting for debugger */
#define	RESHAPED	2048	/* layer got reshaped */
#define	ZOMBOOT		4096	/* put in ZOMBIE state after booting */
#define	ALARMREQD	8192	/* has requested an alarm */	

#define	setrun(p)	((p)->state|=RUN)
#define	setnorun(p)	((p)->state&=~RUN)

#else
#define	MOVED		256	/* layer got moved */
#define	RESHAPED	2048	/* layer got reshaped */
#endif	MUXTERM
#endif