home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / tvision / dpmi / inc / dosext.h next >
Encoding:
C/C++ Source or Header  |  1994-05-29  |  1.3 KB  |  65 lines

  1. //=====================================================================
  2. //
  3. //  dosext.h
  4. //
  5. //  interface to loader / dos extender
  6. //
  7. //  Copyright (c) 1994, Kevin Morgan, All rights reserved.
  8. //
  9. //=====================================================================
  10. #ifndef __DOSEXT_H__
  11. #define __DOSEXT_H__
  12.  
  13. #ifndef __DOS_H__
  14. #include <dos.h>
  15. #endif
  16. #ifndef __DPMISH_H__
  17. #include "dpmish.h"
  18. #endif
  19.  
  20. #define EXTENDER_VECT 0x61
  21. #define _EXTENDER_VECT 61h
  22.  
  23.  
  24. #define EXAPI_INSTALL 1
  25. #define EXAPI_REMOVE  2
  26. #define EXAPI_INITCOMM 3
  27. #define EXAPI_TERMCOMM 4
  28. #define EXAPI_READCOMM 5
  29. #define EXAPI_WRITECOMM 6
  30.  
  31. class CommRequest
  32. {
  33.     public:
  34.         char far *buf;
  35.         int bufcnt;         // number to write or read
  36.         int iocount;        // number written or read
  37.         int status;
  38.     CommRequest(char far *aBuf=0, int aCount=0) :
  39.         buf(aBuf), bufcnt(aCount), iocount(0), status(0) { }
  40. };
  41.  
  42.  
  43.  
  44. class DosExtender {
  45.  
  46.     public:
  47.         DosExtender() { }
  48.  
  49.         int installIntHandler(int, DpmiInterruptVector, unsigned&);
  50.  
  51.         void removeIntHandler( unsigned );
  52.  
  53.         void initComm(int, int, int);
  54.  
  55.         void termComm(int);
  56.  
  57.         void readComm(int, CommRequest far *);
  58.  
  59.         void writeComm(int, CommRequest far *);
  60. };
  61.  
  62. extern DosExtender dosX;
  63.  
  64. #endif
  65.