/*
Copyright (C) Magna Carta Software, Inc. 1990. All Rights Reserved
C COMMUNICATIONS TOOLKIT
PORTADDR.C -- Examine the BIOS to see if a COM port exists.
*/
#if (defined(CCTW) || defined(_WINDOWS))
#include <windows.h>
#endif
#include <dos.h>
#include <compat.h>
#include <stdio.h>
/* TYPE DEFINITIONS */
#if !defined(TYPES_DEFINED)
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
#define TYPES_DEFINED
#endif
#include <cctdef.h>
#define PORT_PTR_ADDR 0X400 /* BIOS data area addr. of COM1-COM4 */
/*
GET_PORT_ADDR -- Examine the BIOS to see if a com port exists.
*/
WORD get_port_addr(WORD portnum)
{
WORD ret;
switch(portnum) {
case COM1:
ret= peek(0, PORT_PTR_ADDR);
break;
case COM2:
ret = peek(0, PORT_PTR_ADDR + 2);
break;
case COM3:
ret = peek(0, PORT_PTR_ADDR + 4);
break;
case COM4:
ret = peek(0, PORT_PTR_ADDR + 6);
break;
default:
ret = 0;
}
return (ret);
}