Leaked source code of windows server 2003
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.

63 lines
1.3 KiB

  1. #ifndef INTERFACE_H
  2. #define INTERFACE_H
  3. typedef
  4. NTSTATUS
  5. (*PHPS_REGISTER_INTERRUPT)(
  6. IN PVOID Context,
  7. IN PKSERVICE_ROUTINE ServiceRoutine,
  8. IN PVOID ServiceContext
  9. );
  10. typedef
  11. VOID
  12. (*PHPS_UNREGISTER_INTERRUPT)(
  13. IN PVOID Context
  14. );
  15. typedef
  16. BOOLEAN
  17. (*PHPS_SYNCHRONIZE_EXECUTION)(
  18. IN PVOID Context,
  19. IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
  20. IN PVOID SynchronizeContext
  21. );
  22. typedef struct _HPS_REGISTER_INTERRUPT_INTERFACE {
  23. USHORT Size;
  24. USHORT Version;
  25. PVOID Context;
  26. PINTERFACE_REFERENCE InterfaceReference;
  27. PINTERFACE_DEREFERENCE InterfaceDereference;
  28. PHPS_REGISTER_INTERRUPT ConnectISR;
  29. PHPS_UNREGISTER_INTERRUPT DisconnectISR;
  30. PHPS_SYNCHRONIZE_EXECUTION SyncExecutionRoutine;
  31. } HPS_REGISTER_INTERRUPT_INTERFACE, *PHPS_REGISTER_INTERRUPT_INTERFACE;
  32. typedef
  33. VOID
  34. (*PHPS_READWRITE_BUFFER)(
  35. IN PUCHAR Register,
  36. IN PUCHAR Buffer,
  37. IN ULONG Count
  38. );
  39. typedef struct _HPS_MEMORY_INTERFACE {
  40. USHORT Size;
  41. USHORT Version;
  42. PVOID Context;
  43. PINTERFACE_REFERENCE InterfaceReference;
  44. PINTERFACE_DEREFERENCE InterfaceDereference;
  45. PHPS_READWRITE_BUFFER ReadRegister;
  46. PHPS_READWRITE_BUFFER WriteRegister;
  47. } HPS_MEMORY_INTERFACE, *PHPS_MEMORY_INTERFACE;
  48. #endif