home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
c't freeware shareware 1999 February
/
CT_SW9902.ISO
/
pc
/
software
/
entwickl
/
codebib
/
sha.exe
/
Exports.h
next >
Wrap
C/C++ Source or Header
|
1999-05-26
|
2KB
|
61 lines
//*****************************************************************
//
// This code is strictly reserved by SYBERA. It¥s used only for
// demonstration purposes. Any modification or integration
// isn¥t allowed without permission by SYBERA.
//
// Copyright (c) 1998 SYBERA
//
//*****************************************************************
#if !defined(_exports_)
#define _exports_
#include "globdef.h"
//Make .sdata section sharable
#pragma comment(linker,"/SECTION:.sdata,RWS")
//System macros for use in RING0 EXECUTION routines
#define SHA_SYSTEM_READPORT(_Address, _pValue) \
{ \
PVOID pValue = (PVOID)(_pValue); \
USHORT Address = (USHORT)(_Address); \
__asm mov dx, Address \
__asm in al, dx \
__asm mov ecx,dword ptr [pValue] \
__asm mov byte ptr [ecx], al \
} \
#define SHA_SYSTEM_WRITEPORT(_Address, _Value) \
{ \
UCHAR Value = (UCHAR)(_Value); \
USHORT Address = (USHORT)(_Address); \
__asm mov dx, Address \
__asm mov al, Value \
__asm out dx, al \
} \
//exported variables
EXTERN DLL_IMPORT double dDllVersion;
EXTERN DLL_IMPORT double dDrvVersion;
//exported functions
EXTERN DLL_IMPORT ULONG ShaScanPciBus(USHORT, USHORT, ULONG[6], PUCHAR);
EXTERN DLL_IMPORT ULONG ShaRegisterPort(ULONG, ULONG, ULONG, HANDLE*);
EXTERN DLL_IMPORT ULONG ShaUnregisterPort(HANDLE);
EXTERN DLL_IMPORT ULONG ShaReadPort(USHORT, PUCHAR);
EXTERN DLL_IMPORT ULONG ShaWritePort(USHORT, UCHAR);
EXTERN DLL_IMPORT ULONG ShaMapMem(ULONG, ULONG, ULONG, PVOID*, HANDLE*);
EXTERN DLL_IMPORT ULONG ShaUnmapMem(HANDLE);
EXTERN DLL_IMPORT ULONG ShaAllocMem(ULONG, BOOLEAN, ULONG, ULONG*, long*, PVOID*, HANDLE*);
EXTERN DLL_IMPORT ULONG ShaFreeMem(HANDLE);
EXTERN DLL_IMPORT ULONG ShaAllocChannel(BOOLEAN, HANDLE);
EXTERN DLL_IMPORT ULONG ShaConnectInterrupt(ULONG, FP_RING0, FP_CALLBACK, HANDLE, UCHAR, char*, HANDLE*);
EXTERN DLL_IMPORT ULONG ShaDisconnectInterrupt(HANDLE);
EXTERN DLL_IMPORT ULONG ShaConnectTimer(long, long, FP_RING0, FP_CALLBACK, char*, HANDLE*);
EXTERN DLL_IMPORT ULONG ShaStartTimer(HANDLE);
EXTERN DLL_IMPORT ULONG ShaStopTimer(HANDLE);
EXTERN DLL_IMPORT ULONG ShaDisconnectTimer(HANDLE);
#endif //_exports_