?? tvichw32.h
字號:
/* ========================================================================
================= TVicHW32 DLL interface =====================
========== Shareware Version 3.0 ===========
========== Copyright (c) 1997 Victor I.Ishikeev ===========
========================================================================
========== mail to "victor@ivi.ugatu.ac.ru" ===========
======================================================================== */
#if defined(WIN32)
#define VICFN __stdcall
#else
#define VICFN __pascal far
#endif // defined(WIN32)
#ifdef __cplusplus
extern "C" {
#endif
#define MaxMappedAreas 16
#define MaxPins 17
#define MAX_RING_BUFFER 511
typedef HANDLE (__stdcall* TOpenVxDHandle)(HANDLE);
typedef void (__stdcall *TOnHWInterrupt)(long HWCounter,
short LPT_DataReg,
short LPT_StatusReg,
short Keyb_ScanCode);
typedef struct _LockedMemory {
DWORD Drv_IRQ_Counter;
WORD ScanCode;
WORD MAX_BUF_LPT;
WORD LPT_BASE_PORT;
WORD L_BUF_LPT;
WORD N_ADD_LPT;
WORD N_SEL_LPT;
WORD BUF_LPT[1];
} TLockedBuffer, *PLockedBuffer;
typedef struct {
HANDLE hDrv;
HMODULE hDll;
BOOL fRegistry;
BOOL fStarted;
SC_HANDLE schSCManager;
BOOL fTerminated;
ULONG fInterface; // Isa, Eisa, etc....
ULONG fBus; // Bus number
ULONG fPhysLoPart; // Bus-relative address
ULONG fPhysHiPart; // Zero
ULONG fTypeMem; // 0 is memory, 1 is I/O
ULONG fMemorySize; // Length of section to map
PVOID fMappedPointers[MaxMappedAreas];
ULONG fMappedSizes[MaxMappedAreas];
ULONG fMappedAddresses[MaxMappedAreas];
short fMappedAreas;
PVOID fpLockedMemory;
PVOID fMdl;
HANDLE fLocEvent;
long fDebugCode;
BOOL fHardAccess;
BOOL fOpenDrive;
TOnHWInterrupt OnHWInterrupt;
short fIRQNumber;
BOOL fIsIRQSet;
BOOL fMasked;
HANDLE fThreadId;
HANDLE fThreadHandle;
WORD *fLPTAddresses;
WORD fLPTBasePort;
BYTE fDataPorts[3];
BYTE fLPTNumber;
BYTE fLPTs;
} TVicHW32Descriptor, *PVicHW32Descriptor;
PVicHW32Descriptor VICFN CloseTVicHW32(PVicHW32Descriptor HW32);
PVicHW32Descriptor VICFN OpenTVicHW32(PVicHW32Descriptor HW32);
BOOL VICFN GetActiveHW(PVicHW32Descriptor HW32);
BOOL VICFN GetHardAccess(PVicHW32Descriptor);
void VICFN SetHardAccess(PVicHW32Descriptor HW32, BOOL bNewValue);
short VICFN GetPortByte(PVicHW32Descriptor HW32,short PortAddr);
void VICFN SetPortByte(PVicHW32Descriptor HW32,short PortAddr, short nNewValue);
short VICFN GetPortWord(PVicHW32Descriptor HW32,short PortAddr);
void VICFN SetPortWord(PVicHW32Descriptor HW32,short PortAddr, short nNewValue);
long VICFN GetPortLong(PVicHW32Descriptor HW32,short PortAddr);
void VICFN SetPortLong(PVicHW32Descriptor HW32,short PortAddr, long nNewValue);
long VICFN MapPhysToLinear(PVicHW32Descriptor HW32,long PhAddr, long PhSize);
void VICFN UnmapMemory(PVicHW32Descriptor HW32,long PhAddr, long PhSize);
short VICFN GetMem(PVicHW32Descriptor HW32, long MappedAddr, long Offset);
void VICFN SetMem(PVicHW32Descriptor HW32, long MappedAddr, long Offset, short nNewValue);
short VICFN GetMemW(PVicHW32Descriptor HW32,long MappedAddr, long Offset);
void VICFN SetMemW(PVicHW32Descriptor HW32,long MappedAddr, long Offset, short nNewValue);
long VICFN GetMemL(PVicHW32Descriptor HW32,long MappedAddr, long Offset);
void VICFN SetMemL(PVicHW32Descriptor HW32,long MappedAddr, long Offset, long nNewValue);
BOOL VICFN IsIRQMasked(PVicHW32Descriptor HW32);
void VICFN UnmaskIRQ(PVicHW32Descriptor HW32);
void VICFN MaskIRQ(PVicHW32Descriptor HW32);
short VICFN GetIRQNumber(PVicHW32Descriptor HW32);
void VICFN SetIRQ(PVicHW32Descriptor HW32,
short IRQNumber,
TOnHWInterrupt HWHandler);
short VICFN GetLPTNumber(PVicHW32Descriptor HW32);
void VICFN SetLPTNumber(PVicHW32Descriptor HW32,short nNewValue);
short VICFN GetLPTNumPorts(PVicHW32Descriptor HW32);
short VICFN GetLPTBasePort(PVicHW32Descriptor HW32);
BOOL VICFN GetPin(PVicHW32Descriptor HW32,short nPin);
void VICFN SetPin(PVicHW32Descriptor HW32,short nPin, BOOL bNewValue);
BOOL VICFN GetLPTAckwl(PVicHW32Descriptor HW32);
BOOL VICFN GetLPTBusy(PVicHW32Descriptor HW32);
BOOL VICFN GetLPTPaperEnd(PVicHW32Descriptor HW32);
BOOL VICFN GetLPTSlct(PVicHW32Descriptor HW32);
BOOL VICFN GetLPTError(PVicHW32Descriptor HW32);
void VICFN LPTInit(PVicHW32Descriptor HW32);
void VICFN LPTSlctIn(PVicHW32Descriptor HW32);
void VICFN LPTStrobe(PVicHW32Descriptor HW32);
void VICFN LPTAutofd(PVicHW32Descriptor HW32,BOOL Flag);
BOOL VICFN LPTPrintChar(PVicHW32Descriptor HW32,short ch);
long VICFN DebugCode(PVicHW32Descriptor HW32);
#ifdef __cplusplus
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -