home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / snip9707.zip / PCHWIO.H < prev    next >
C/C++ Source or Header  |  1997-07-05  |  2KB  |  68 lines

  1. /* +++Date last modified: 05-Jul-1997 */
  2.  
  3. /*
  4. **  PCHWIO.H - SNIPPETS header file for portable hardware I/O access under DOS
  5. **
  6. **  public domain by Bob Stout
  7. */
  8.  
  9. #ifndef PCHWIO__H
  10. #define PCHWIO__H
  11.  
  12. #include <dos.h>
  13. #include "extkword.h"
  14.  
  15.  
  16. #if defined(__TURBOC__) || defined(__POWERC)
  17.  #ifndef inp
  18.   #define inp           inportb
  19.  #endif
  20.  #ifndef outp
  21.   #define outp          outportb
  22.  #endif
  23.  #ifndef inpw
  24.   #define inpw          inport
  25.  #endif
  26.  #ifndef outpw
  27.   #define outpw         outport
  28.  #endif
  29. #elif defined(__ZTC__)
  30.  #include <int.h>
  31.  #define enable         int_on
  32.  #define disable        int_off
  33.  #if !defined(__SC__)
  34.   void FAR * getvect(unsigned intnum);
  35.   void setvect(unsigned intnum, void (INTERRUPT FAR *handler)());
  36.  #else
  37.   #define getvect       _dos_getvect
  38.   #define setvect       _dos_setvect
  39.  #endif
  40. #else /* assume MSC/QC/WC */
  41.  #include <conio.h>
  42.  #if defined(__WATCOMC__)
  43.   #include <i86.h>
  44.  #endif
  45.  #define enable         _enable
  46.  #define disable        _disable
  47.  #define getvect        _dos_getvect
  48.  #define setvect        _dos_setvect
  49. #endif
  50.  
  51.  
  52. #if defined(_MSC_VER) || defined(__WATCOMC__) || \
  53.       defined(__ZTC__) || defined(__SC__)
  54.  
  55. unsigned char  Peekb(unsigned seg, unsigned ofs);           /* PCHWIO.C */
  56. unsigned short Peekw(unsigned seg, unsigned ofs);           /* PCHWIO.C */
  57. void Pokeb(unsigned seg, unsigned ofs, unsigned char ch);   /* PCHWIO.C */
  58. void Pokew(unsigned seg, unsigned ofs, unsigned short num); /* PCHWIO.C */
  59.  
  60. #elif defined(__TURBOC__)
  61.  #define Peekw peek
  62.  #define Pokew poke
  63.  #define Peekb peekb
  64.  #define Pokeb pokeb
  65. #endif /* peek(), poke() */
  66.  
  67. #endif /* PCHWIO__H */
  68.