#ifndef _PC_H #define _PC_H #define _HARDWARE_H #ifndef _GLOBAL_H #include "global.h" #endif #ifndef _SESSION_H #include "session.h" #endif #define NSW 10 /* Number of stopwatch "memories" */ struct stopwatch { long calls; int16 maxval; int16 minval; }; struct screen { char *save; /* Screen save buffer */ int row; /* Saved cursor location */ int col; }; #define NULLSCREEN (struct screen *)0 extern struct stopwatch Sw[]; extern int16 Intstk[]; /* Interrupt stack defined in pcgen.asm */ extern void (*Shutdown[])(); /* List of functions to call at shutdown */ extern int Mtasker; /* Type of multitasker, if any */ /* In 8250.c: */ void asytimer __ARGS((void)); /* In scc.c: */ void scctimer __ARGS((void)); void sccstop __ARGS((void)); /* In pc.c: */ long bioscnt __ARGS((void)); void clrbit __ARGS((unsigned port,char bits)); void ctick __ARGS((void)); int32 divrem __ARGS((int32 dividend,int16 divisor)); INTERRUPT (*getirq __ARGS((unsigned int)) ) __ARGS((void)); void freescreen __ARGS((struct session *sp)); int getmask __ARGS((unsigned irq)); void ioinit __ARGS((void)); void iostop __ARGS((void)); void kbint __ARGS((void)); int kbread __ARGS((void)); int maskoff __ARGS((unsigned irq)); int maskon __ARGS((unsigned irq)); void newscreen __ARGS((struct session *sp)); void pctick __ARGS((void)); void setbit __ARGS((unsigned port,char bits)); int setirq __ARGS((unsigned irq,INTERRUPT (*handler) __ARGS((void)))); void sysreset __ARGS((void)); void systick __ARGS((void)); void writebit __ARGS((unsigned port,char mask,int val)); /* In pcgen.asm: */ INTERRUPT btick __ARGS((void)); void chktasker __ARGS((void)); void chtimer __ARGS((INTERRUPT (*)())); int32 divrem __ARGS((int32 dividend,int16 divisor)); int16 getss __ARGS((void)); void giveup __ARGS((void)); int kbraw __ARGS((void)); int16 longdiv __ARGS((int16 divisor,int n,int16 *dividend)); int16 longmul __ARGS((int16 multiplier,int n,int16 *multiplicand)); INTERRUPT nullvec __ARGS((void)); void uchtimer __ARGS((void)); int16 clockbits __ARGS((void)); /* In stopwatch.asm: */ void swstart __ARGS((void)); int16 stopval __ARGS((void)); /* In sw.c: */ void swstop __ARGS((int n)); #endif /* _PC_H */