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 >
C/C++ Source or Header  |  1999-05-26  |  2KB  |  61 lines

  1. //*****************************************************************
  2. //
  3. //    This code is strictly reserved by SYBERA. It¥s used only for
  4. //    demonstration purposes. Any modification or integration
  5. //    isn¥t allowed without permission by SYBERA.
  6. //
  7. //  Copyright (c) 1998 SYBERA
  8. //
  9. //*****************************************************************
  10. #if !defined(_exports_)
  11. #define _exports_
  12.  
  13. #include "globdef.h"
  14.  
  15. //Make .sdata section sharable
  16. #pragma comment(linker,"/SECTION:.sdata,RWS")
  17.  
  18. //System macros for use in RING0 EXECUTION routines
  19. #define SHA_SYSTEM_READPORT(_Address, _pValue)    \
  20. {                                                \
  21.     PVOID  pValue = (PVOID)(_pValue);            \
  22.     USHORT Address = (USHORT)(_Address);        \
  23.     __asm mov dx, Address                        \
  24.     __asm in al, dx                                \
  25.     __asm mov ecx,dword ptr [pValue]            \
  26.     __asm mov byte ptr [ecx], al                \
  27. }                                                \
  28.  
  29. #define SHA_SYSTEM_WRITEPORT(_Address, _Value)    \
  30. {                                                \
  31.     UCHAR Value = (UCHAR)(_Value);                \
  32.     USHORT Address = (USHORT)(_Address);        \
  33.     __asm mov dx, Address                        \
  34.     __asm mov al, Value                            \
  35.     __asm out dx, al                            \
  36. }                                                \
  37.  
  38. //exported variables
  39. EXTERN DLL_IMPORT double dDllVersion;
  40. EXTERN DLL_IMPORT double dDrvVersion;
  41.  
  42. //exported functions
  43. EXTERN DLL_IMPORT ULONG ShaScanPciBus(USHORT, USHORT, ULONG[6], PUCHAR);
  44. EXTERN DLL_IMPORT ULONG ShaRegisterPort(ULONG, ULONG, ULONG, HANDLE*);
  45. EXTERN DLL_IMPORT ULONG ShaUnregisterPort(HANDLE);
  46. EXTERN DLL_IMPORT ULONG ShaReadPort(USHORT, PUCHAR);
  47. EXTERN DLL_IMPORT ULONG ShaWritePort(USHORT, UCHAR);
  48. EXTERN DLL_IMPORT ULONG ShaMapMem(ULONG, ULONG, ULONG, PVOID*, HANDLE*);
  49. EXTERN DLL_IMPORT ULONG ShaUnmapMem(HANDLE);
  50. EXTERN DLL_IMPORT ULONG ShaAllocMem(ULONG, BOOLEAN, ULONG, ULONG*, long*, PVOID*, HANDLE*);
  51. EXTERN DLL_IMPORT ULONG ShaFreeMem(HANDLE);
  52. EXTERN DLL_IMPORT ULONG ShaAllocChannel(BOOLEAN, HANDLE);
  53. EXTERN DLL_IMPORT ULONG ShaConnectInterrupt(ULONG, FP_RING0, FP_CALLBACK, HANDLE, UCHAR, char*, HANDLE*);
  54. EXTERN DLL_IMPORT ULONG ShaDisconnectInterrupt(HANDLE);
  55. EXTERN DLL_IMPORT ULONG ShaConnectTimer(long, long, FP_RING0, FP_CALLBACK, char*, HANDLE*);
  56. EXTERN DLL_IMPORT ULONG ShaStartTimer(HANDLE);
  57. EXTERN DLL_IMPORT ULONG ShaStopTimer(HANDLE);
  58. EXTERN DLL_IMPORT ULONG ShaDisconnectTimer(HANDLE);
  59.  
  60. #endif //_exports_
  61.