#ifndef __EPP_PORT_H #define __EPP_PORT_H #include "utils.h" #define SPP_DATA 0 #define SPP_STATUS 1 #define SPP_CONTROL 2 #define EPP_ADDRESS 3 #define EPP_DATA 4 #define EPP_DATA16 5 #define EPP_DATA32 7 #define ECR_REG 0x402 #define stsNormal 0 #define stsNotFound 1 #define stsNotEPP 2 #define stsNotConnect 3 class TEppPort { public: TEppPort(); ~TEppPort(); int portStatus(); unsigned portBase(); void writeAddress(uchar a); uchar readAddress(); void writeData(uchar d); void writeData(uchar a, uchar d); void writeData(ushort d); void writeData(uchar a, ushort d); void writeData(uchar far *d, ushort l); void writeData(uchar a, uchar far *d, ushort l); uchar readDataByte(); uchar readDataByte(uchar a); ushort readDataWord(); ushort readDataWord(uchar a); void readData(uchar far *d, ushort l); void readData(uchar a, uchar far *d, ushort l); int cmpData(uchar a, uchar far *d, ushort l); private: int checkPort(); int portExist(unsigned port); int isEPP(); void initPort(unsigned base); private: int statusPort; unsigned baseAddress; unsigned SppData; unsigned SppControl; unsigned SppStatus; unsigned EppAddress; unsigned EppData8; unsigned EppData16; unsigned EppData32; unsigned EcpEcrReg; }; #endif // __EPP_PORT_H