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.

86 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 2002 Microsoft Corporation
  3. Module Name:
  4. mpprofil.h
  5. Abstract:
  6. This module contains function prototypes, declarations for HAL
  7. profiling interface functions.
  8. Author:
  9. Steve Deng (sdeng) 14-Jun-2002
  10. Environment:
  11. Kernel mode.
  12. --*/
  13. #ifndef _MPPROFIL_H_
  14. #define _MPPROFIL_H_
  15. #include <halp.h>
  16. //
  17. // Define data types userd by profile interface functions
  18. //
  19. typedef struct _OVERFLOW_STATUS {
  20. ULONG Number;
  21. KPROFILE_SOURCE *pSource;
  22. } OVERFLOW_STATUS, *POVERFLOW_STATUS;
  23. //
  24. // Protocals for profile interface functions
  25. //
  26. typedef VOID (*PINITIALIZE_PROFILING)(
  27. VOID
  28. );
  29. typedef NTSTATUS (*PENABLE_MONITORING)(
  30. IN KPROFILE_SOURCE ProfileSource
  31. );
  32. typedef NTSTATUS (*PENABLE_MONITORING)(
  33. IN KPROFILE_SOURCE ProfileSource
  34. );
  35. typedef VOID (*PDISABLE_MONITORING)(
  36. IN KPROFILE_SOURCE ProfileSource
  37. );
  38. typedef NTSTATUS (*PSET_INTERVAL)(
  39. IN KPROFILE_SOURCE ProfileSource,
  40. IN OUT ULONG_PTR *Interval
  41. );
  42. typedef NTSTATUS (*PQUERY_INFORMATION)(
  43. IN HAL_QUERY_INFORMATION_CLASS InformationType,
  44. IN ULONG BufferSize,
  45. IN OUT PVOID Buffer,
  46. OUT PULONG ReturnedLength
  47. );
  48. typedef VOID (*PCHECK_OVERFLOW_STATUS)(
  49. POVERFLOW_STATUS pOverflowStatus
  50. );
  51. typedef struct _PROFILE_INTERFACE {
  52. PINITIALIZE_PROFILING InitializeProfiling;
  53. PENABLE_MONITORING EnableMonitoring;
  54. PDISABLE_MONITORING DisableMonitoring;
  55. PSET_INTERVAL SetInterval;
  56. PQUERY_INFORMATION QueryInformation;
  57. PCHECK_OVERFLOW_STATUS CheckOverflowStatus;
  58. } PROFILE_INTERFACE, *PPROFILE_INTERFACE;
  59. extern PROFILE_INTERFACE Amd64PriofileInterface;
  60. #endif // _MPPROFIL_H__