Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.9 KiB

4 years ago
  1. #ifndef _CARDTMV1_H
  2. #define _CARDTMV1_H
  3. //-----------------------------------------------------------------------
  4. //
  5. // CARDTMV1.H
  6. //
  7. // TMV1 Adapter Definitions File
  8. //
  9. // Revision History:
  10. //
  11. // 01-28-92 KJB First.
  12. // 03-05-93 JAP Cleaned comments, modified string in CardGetName()
  13. // to conform to ASM Driver names.
  14. // NOTE: This file was dated 02-26-93, but with no
  15. // corresponding Revision History log.
  16. // 03-08-93 JAP Added CardGetShortName() to conform to c_name
  17. // returned in ASM-Drivers.
  18. // 03-09-93 JAP Added CardGetType() function and included cardtype.h
  19. // 05-14-93 KJB CardCheckAdapter now does not take a PBASE_REGISTER
  20. // parameter, this parameter is now in the PINIT
  21. // structure.
  22. //
  23. //-----------------------------------------------------------------------
  24. // include general os definitions
  25. #include "osdefs.h"
  26. //
  27. // Global per Adapter Information
  28. //
  29. typedef struct tagAdapterInfo {
  30. PBASE_REGISTER BaseIoAddress; // address of this card
  31. UCHAR InterruptLevel; // interrupt level this card is using
  32. UCHAR DRQMask; // mask for DRQ, varies with MV card type
  33. } ADAPTER_INFO, FARP PADAPTER_INFO;
  34. // they have an n5380
  35. #include "n5380.h"
  36. // all 5380 type cards use the scsifnc module
  37. #include "scsifnc.h"
  38. // all cards have a MV101 chip
  39. #include "mv101.h"
  40. // all port access routines
  41. #include "portio.h"
  42. // CARDTYPE definitions file
  43. #include "cardtype.h"
  44. // include exported function definitions
  45. #include "card.h"
  46. //-----------------------------------------------------------------------
  47. //
  48. // Definitions
  49. //
  50. //-----------------------------------------------------------------------
  51. //-----------------------------------------------------------------------
  52. // Routines used by MV101.c
  53. //-----------------------------------------------------------------------
  54. #define MV101PortTest(g, reg, mask) \
  55. PortIOTest(&((PUCHAR)g->BaseIoAddress)[reg],mask)
  56. #define MV101PortSet(g, reg, mask) \
  57. PortIOSet(&((PUCHAR)g->BaseIoAddress)[reg],mask);
  58. #define MV101PortClear(g, reg, mask) \
  59. PortIOClear(&((PUCHAR)g->BaseIoAddress)[reg],mask);
  60. #define MV101PortPut(g,reg,byte) \
  61. PortIOPut(&((PUCHAR)g->BaseIoAddress)[reg],byte);
  62. #define MV101PortGet(g,reg,byte) \
  63. PortIOGet(&((PUCHAR)g->BaseIoAddress)[reg],byte);
  64. //-----------------------------------------------------------------------
  65. //
  66. // Redefined routines
  67. //
  68. //-----------------------------------------------------------------------
  69. #define CardReadBytesFast MV101ReadBytesFast
  70. #define CardWriteBytesFast MV101WriteBytesFast
  71. #define CardWriteBytesCommand ScsiWriteBytesSlow
  72. //
  73. // Local routines (to the whole lower level driver)
  74. //
  75. VOID CardEnableInterrupt (PADAPTER_INFO g);
  76. VOID CardDisableInterrupt (PADAPTER_INFO g);
  77. #endif // _CARDTMV1_H