|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1993 - Colorado Memory Systems, Inc. ! 4: All Rights Reserved ! 5: ! 6: Module Name: ! 7: ! 8: drvintr.h ! 9: ! 10: Abstract: ! 11: ! 12: ! 13: Revision History: ! 14: ! 15: ! 16: ! 17: ! 18: --*/ ! 19: ! 20: /***********************************************************************/ ! 21: /* Task manager types */ ! 22: /***********************************************************************/ ! 23: typedef struct IRQ_struct far *IntPtr; ! 24: typedef void (interrupt far *vecptr)(); ! 25: ! 26: /***********************************************************************/ ! 27: /* Task manager externals */ ! 28: /***********************************************************************/ ! 29: ! 30: void far _chain_intr(void (interrupt far *)()); ! 31: vecptr far _dos_getvect(int); ! 32: #define HZ 18 ! 33: #define PRIBIO 20 ! 34: ! 35: /***********************************************************************/ ! 36: /* Task manager interrupt structure */ ! 37: /***********************************************************************/ ! 38: ! 39: /* IRQ format (See IBM PS/2 interrupt sharing documentation) */ ! 40: ! 41: struct IRQ_struct { ! 42: unsigned int irq_entry; /* short jump around entry */ ! 43: union { ! 44: IntPtr irq_struct; /* pointer to next */ ! 45: void (interrupt far *irq_fptr)(); ! 46: } link; ! 47: unsigned int irq_sig; /* signature */ ! 48: unsigned char irq_flags; /* flags */ ! 49: unsigned int irq_reset; /* short jump to reset code */ ! 50: unsigned char irq_reserved[7]; /* reserved */ ! 51: char irq_jump; /* long jump op code */ ! 52: vecptr irq_routine; /* pointer to our interrupt routine */ ! 53: char irq_rst_jump; /* long jump op code (to reset vector) */ ! 54: void (far * irq_rst_vector)();/* pointer to reset vector */ ! 55: unsigned int CMS_signature; /* signature for multiple driver check */ ! 56: }; ! 57: ! 58: /***********************************************************************/ ! 59: /* Task manager interrupt routines */ ! 60: /***********************************************************************/ ! 61: ! 62: extern void far _interrupt mt_hardware_start(); ! 63: extern void far _interrupt mt_timer_start(); ! 64: extern void far _interrupt mt_ctrl_c_start(); ! 65: extern void far mt_ctrl_c_sub(); ! 66: extern void far _interrupt mt_crit_int_start(); ! 67: extern void interrupt far mt_hardware_start(); ! 68: extern void interrupt far mt_timer_start(); ! 69: extern void interrupt far mt_ctrl_c_start(); ! 70: extern void far mt_ctrl_c_sub(); ! 71: extern void interrupt far mt_crit_int_start(); ! 72: ! 73: extern struct IRQ_struct mt_hardware; ! 74: extern struct IRQ_struct mt_timer; ! 75: extern struct IRQ_struct mt_ctrl_c; ! 76: extern struct IRQ_struct mt_crit_int;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.