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.

78 lines
2.0 KiB

4 years ago
  1. //-----------------------------------------------------------------------
  2. //
  3. // EP3C.H
  4. //
  5. // Trantor EP3C Definitions File
  6. //
  7. // Revisions:
  8. // 04-01-93 KJB First.
  9. // 05-17-93 KJB Added some missing prototypes.
  10. //
  11. //-----------------------------------------------------------------------
  12. // mappings for registers
  13. #define EP3C_AREG1 0x00
  14. #define EP3C_AREG2 0x80
  15. // bits for aux reg 1
  16. #define EP3C_IRQEN 0x40
  17. #define EP3C_RSVD1 0x20
  18. #define EP3C_ADRS 0x1f
  19. // bits for aux reg 2
  20. #define EP3C_RST 0x40
  21. #define EP3C_UNIDIR 0x20
  22. #define EP3C_RSVD2 0x18
  23. #define EP3C_DLY 0x07
  24. //
  25. // Public Functions
  26. //
  27. //
  28. // for the n53c400 that is in the EP3C
  29. // 53c400 register offsets from 53c400 base
  30. //
  31. #define N53C400_CONTROL 0x18
  32. #define N53C400_STATUS 0x18
  33. #define N53C400_COUNTER 0x19
  34. #define N53C400_SWITCH 0x1a
  35. #define N53C400_HOST_BFR 0x10
  36. #define N53C400_5380 0x08
  37. #define N53C400_RAM 0x00
  38. // for the 53C400 that is in the P3C
  39. VOID N53C400PortGet(PADAPTER_INFO g,UCHAR reg,PUCHAR byte);
  40. VOID N53C400PortPut(PADAPTER_INFO g,UCHAR reg,UCHAR byte);
  41. BOOLEAN N53C400PortTest(PADAPTER_INFO g,UCHAR reg,UCHAR byte);
  42. VOID N53C400PortSet(PADAPTER_INFO g,UCHAR reg,UCHAR byte);
  43. VOID N53C400PortClear(PADAPTER_INFO g,UCHAR reg,UCHAR byte);
  44. VOID N53C400PortPutBuffer(PADAPTER_INFO g, UCHAR reg,
  45. PUCHAR pbytes, ULONG len);
  46. VOID N53C400PortGetBuffer(PADAPTER_INFO g, UCHAR reg,
  47. PUCHAR pbytes, ULONG len);
  48. // for the parallel port the P3C uses
  49. #define ParallelPortGet(baseIoAddress, reg, byte) \
  50. PortIOGet((PUCHAR)baseIoAddress+reg,byte)
  51. #define ParallelPortPut(baseIoAddress,reg,byte) \
  52. PortIOPut((PUCHAR)baseIoAddress+reg,byte)
  53. // exported routines
  54. BOOLEAN EP3CCheckAdapter(PADAPTER_INFO g);
  55. USHORT EP3CDoCommand(PTSRB t);
  56. VOID EP3CResetBus(PADAPTER_INFO g);
  57. USHORT EP3CStartCommandInterrupt(PTSRB t);
  58. USHORT EP3CFinishCommandInterrupt(PTSRB t);
  59. BOOLEAN EP3CInterrupt(PADAPTER_INFO g);
  60. VOID EP3CEnableInterrupt(PADAPTER_INFO g);
  61. VOID EP3CDisableInterrupt(PADAPTER_INFO g);
  62. VOID EP3CResetBus(PADAPTER_INFO g);