1/* pk.p 5.1 83/07/02 */ 2/* 3 * kernel level 4 */ 5#ifdef KERNEL 6 7#define PADDR ((struct pack *)tp->t_linep) 8#define TURNOFF pkturnoff(tp) 9#define UCOUNT u.u_count 10#define S tp 11#define P pk->p_ttyp 12#define SDEF struct tty *tp 13#define FS , tp 14 15#define SIGNAL signal(pk->p_ttyp->t_pgrp, SIGPIPE) 16#define TERROR pk->p_istate == R_ERROR 17#define SETERROR u.u_error = EIO 18#define OBUSY tp->t_state&BUSY 19#define ODEAD ((tp->t_state&CARR_ON)==0) 20#define GETEPACK getepack(pk->p_bits) 21#define FREEPACK(a,b) freepack(a, b) 22 23 24#define q1 tp->t_rawq 25#define q2 tp->t_canq 26#define q3 tp->t_outq 27 28#define LOCK s = spl6() 29#define UNLOCK splx(s) 30#define DSYSTEM struct tty *p_ttyp 31#define ISYSTEM tp = pk->p_ttyp 32#define SLEEP(a, b) sleep((caddr_t)a, b) 33#define SLEEPNO (tp->t_chan!=NULL) 34#define WAKEUP(a) wakeup((caddr_t)a) 35#define IOMOVE(p, c, f) iomove(p, c, f) 36#define PKGETPKT(p) 37#define DTOM(a) dtom(a) 38#include "../h/param.h" 39#include "../h/dir.h" 40#include "../h/user.h" 41#include "../h/tty.h" 42#include "../h/buf.h" 43#include "../h/proc.h" 44 45#endif 46/* 47 * user level 48 */ 49#ifdef USER 50#define SLEEP(a, b) 51#define SIGNAL 52#define WAKEUP(a) 53#define DSYSTEM int p_ifn, p_ofn 54#define ISYSTEM 55#define GETEPACK malloc((unsigned)pk->p_xsize) 56#define FREEPACK(a, b) free((char *)a) 57#define OBUSY 0 58#define PKGETPKT(p) pkgetpack(p); 59#define DTOM(a) 1; 60#define S ipk, ibuf, icount 61#define SDEF int icount; char *ibuf; struct pack *ipk 62#define UCOUNT icount 63#define IOMOVE(p, c, f) pkmove(p, ibuf, c, f) ; ibuf += c; UCOUNT -= c 64#define PADDR ipk 65#define TURNOFF 66#define LOCK 67#define UNLOCK 68#define SETERROR 69#define PACKSIZE 64 70#define WINDOWS 3 71#define PKDEBUG(l, f, s) { extern Debug; if (Debug >= l) fprintf(stderr, f, s);} 72#define PKASSERT(e, s1, s2, i1) if (!(e)) {\ 73assert(s1, s2, i1);\ 74pkfail();} else 75#endif 76