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.

99 lines
1.8 KiB

4 years ago
  1. #ident "@(#) NEC jxhalp.h 1.2 94/10/17 11:28:33"
  2. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  3. Copyright (c) 1991-1994 Microsoft Corporation
  4. Module Name:
  5. jxhalp.h
  6. Abstract:
  7. This header file defines the private Hardware Architecture Layer (HAL)
  8. Jazz specific interfaces, defines and structures.
  9. --*/
  10. #ifndef _JXHALP_
  11. #define _JXHALP_
  12. //
  13. // Define global data used to locate the EISA control space and the realtime
  14. // clock registers.
  15. //
  16. extern PVOID HalpEisaControlBase;
  17. extern PVOID HalpRealTimeClockBase;
  18. //
  19. // Define adapter object structure.
  20. //
  21. typedef struct _ADAPTER_OBJECT {
  22. CSHORT Type;
  23. CSHORT Size;
  24. struct _ADAPTER_OBJECT *MasterAdapter;
  25. ULONG MapRegistersPerChannel;
  26. PVOID AdapterBaseVa;
  27. PVOID MapRegisterBase;
  28. ULONG NumberOfMapRegisters;
  29. struct _WAIT_CONTEXT_BLOCK *CurrentWcb;
  30. KDEVICE_QUEUE ChannelWaitQueue;
  31. PKDEVICE_QUEUE RegisterWaitQueue;
  32. LIST_ENTRY AdapterQueue;
  33. KSPIN_LOCK SpinLock;
  34. PRTL_BITMAP MapRegisters;
  35. UCHAR ChannelNumber;
  36. UCHAR AdapterNumber;
  37. UCHAR AdapterMode;
  38. UCHAR Reserved;
  39. PUCHAR SingleMaskPort;
  40. PUCHAR PagePort;
  41. } ADAPTER_OBJECT;
  42. //
  43. // Define function prototypes.
  44. //
  45. PADAPTER_OBJECT
  46. HalpAllocateEisaAdapter(
  47. IN PDEVICE_DESCRIPTION DeviceDescription
  48. );
  49. VOID
  50. HalpAllocateMapRegisters(
  51. IN PLOADER_PARAMETER_BLOCK LoaderBlock
  52. );
  53. BOOLEAN
  54. HalpCreateEisaStructures(
  55. VOID
  56. );
  57. VOID
  58. HalpDisableEisaInterrupt(
  59. IN ULONG Vector
  60. );
  61. BOOLEAN
  62. HalpEisaDispatch(
  63. IN PKINTERRUPT Interrupt,
  64. IN PVOID ServiceContext
  65. );
  66. VOID
  67. HalpEisaMapTransfer(
  68. IN PADAPTER_OBJECT AdapterObject,
  69. IN ULONG Offset,
  70. IN ULONG Length,
  71. IN BOOLEAN WriteToDevice
  72. );
  73. VOID
  74. HalpEnableEisaInterrupt(
  75. IN ULONG Vector,
  76. IN KINTERRUPT_MODE InterruptMode
  77. );
  78. #endif // _JXHALP_