1
0
mirror of https://github.com/stargieg/bacnet-stack synced 2025-10-26 23:35:52 +08:00
bacnet-stack/ports/dos/pchwio.h
2013-03-21 22:53:31 +01:00

79 lines
1.6 KiB
C

/*
** PCHWIO.H - SNIPPETS header file for portable hardware I/O access under DOS
**
** public domain by Bob Stout
*/
#ifndef PCHWIO__H
#define PCHWIO__H
#include <dos.h>
#include "extkword.h"
#if defined(__TURBOC__) || defined(__POWERC)
#ifndef inp
#define inp inportb
#endif
#ifndef outp
#define outp outportb
#endif
#ifndef inpw
#define inpw inport
#endif
#ifndef outpw
#define outpw outport
#endif
#elif defined(__ZTC__)
#include <int.h>
#define enable int_on
#define disable int_off
#if !defined(__SC__)
void FAR *getvect(
unsigned intnum);
void setvect(
unsigned intnum,
void (INTERRUPT FAR * handler) ());
#else
#define getvect _dos_getvect
#define setvect _dos_setvect
#endif
#else /* assume MSC/QC/WC */
#include <conio.h>
#if defined(__WATCOMC__)
#include <i86.h>
#endif
#define enable _enable
#define disable _disable
#define getvect _dos_getvect
#define setvect _dos_setvect
#endif
#if defined(_MSC_VER) || defined(__WATCOMC__) || \
defined(__ZTC__) || defined(__SC__)
unsigned char Peekb(
unsigned seg,
unsigned ofs); /* PCHWIO.C */
unsigned short Peekw(
unsigned seg,
unsigned ofs); /* PCHWIO.C */
void Pokeb(
unsigned seg,
unsigned ofs,
unsigned char ch); /* PCHWIO.C */
void Pokew(
unsigned seg,
unsigned ofs,
unsigned short num); /* PCHWIO.C */
#elif defined(__TURBOC__)
#define Peekw peek
#define Pokew poke
#define Peekb peekb
#define Pokeb pokeb
#endif /* peek(), poke() */
#endif /* PCHWIO__H */