home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / ISC365 / DOSFREE.H < prev    next >
C/C++ Source or Header  |  1993-07-31  |  2KB  |  83 lines

  1. ///////////////////////////////////////////////////////////////////////////
  2. //                                                                       //
  3. //            File: DosFree.h                                            //
  4. //            started on: 28/7/93                                        //
  5. //                                                                       //
  6. ///////////////////////////////////////////////////////////////////////////
  7. //                                                                       //
  8. //                                                                       //
  9. ///////////////////////////////////////////////////////////////////////////
  10.  
  11. #ifndef __DOSFREE_H
  12. #define __DOSFREE_H
  13.  
  14. #include "isc.h";
  15.  
  16. class INT28 : public ISC {
  17.  
  18.       virtual void DosIdleHook(void) {};
  19.       virtual void isr(void);
  20.  
  21. protected:
  22.       virtual void ShellFunc(void) {};
  23.  
  24. public:
  25.        INT28() : ISC() {
  26.                activate(0x28);
  27.        };
  28.  
  29. };
  30.  
  31. class INT8 : public ISC {
  32.  
  33.       virtual void TimerHook(void) {};
  34.       virtual void isr(void);
  35. protected:
  36.       char far *inDOS;
  37.       virtual void ShellFunc(void) {};
  38.  
  39. public:
  40.        INT8();
  41.  
  42. };
  43.  
  44.  
  45. // trap for critical errors.
  46. class TRAP : public ISC {
  47.  
  48.       virtual void isr(void) {};
  49. public:
  50.        TRAP() {};
  51. };
  52.  
  53. // trap for Abort/Retry/Fail.--> converts to always Fail.
  54. class TRAP24 : public ISC {
  55.  
  56.       virtual void isr(IREGS& regs);
  57. public:
  58.        TRAP24() {};
  59. };
  60.  
  61.  
  62. class DOSFREE : public INT8, public INT28 {
  63.  
  64.       int fRunning;
  65.       virtual void ShellFunc(void);
  66. protected:
  67.  
  68.       TRAP TrapCBreak;
  69.       TRAP TrapMSDOSCriticalError;
  70.       TRAP24 TrapAbortRetryFail;
  71.  
  72.       virtual void AppFunc(void);
  73.  
  74. public:
  75.  
  76.        void Go(void);
  77.        DOSFREE();
  78.  
  79. };
  80.  
  81.  
  82. #endif /* __DOSFREE_H */
  83.