home *** CD-ROM | disk | FTP | other *** search
- #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 */
-
-