- INITIAL_STALL_COUNT makes more sense in decimal (100) than hex (0x64) so define...
[reactos.git] / reactos / include / ddk / winddk.h
index b9902b9..2bbe95b 100644 (file)
@@ -2433,6 +2433,34 @@ typedef struct _ARBITER_INTERFACE {
   ULONG  Flags;
 } ARBITER_INTERFACE, *PARBITER_INTERFACE;
 
+typedef enum _KPROFILE_SOURCE {
+  ProfileTime,
+  ProfileAlignmentFixup,
+  ProfileTotalIssues,
+  ProfilePipelineDry,
+  ProfileLoadInstructions,
+  ProfilePipelineFrozen,
+  ProfileBranchInstructions,
+  ProfileTotalNonissues,
+  ProfileDcacheMisses,
+  ProfileIcacheMisses,
+  ProfileCacheMisses,
+  ProfileBranchMispredictions,
+  ProfileStoreInstructions,
+  ProfileFpInstructions,
+  ProfileIntegerInstructions,
+  Profile2Issue,
+  Profile3Issue,
+  Profile4Issue,
+  ProfileSpecialInstructions,
+  ProfileTotalCycles,
+  ProfileIcacheIssues,
+  ProfileDcacheAccesses,
+  ProfileMemoryBarrierCycles,
+  ProfileLoadLinkedIssues,
+  ProfileMaximum
+} KPROFILE_SOURCE;
+
 typedef enum _HAL_QUERY_INFORMATION_CLASS {
   HalInstalledBusInformation,
   HalProfileSourceInformation,
@@ -2470,6 +2498,19 @@ typedef enum _HAL_SET_INFORMATION_CLASS {
   HalGenerateCmcInterrupt
 } HAL_SET_INFORMATION_CLASS, *PHAL_SET_INFORMATION_CLASS;
 
+typedef struct _HAL_PROFILE_SOURCE_INTERVAL
+{
+    KPROFILE_SOURCE Source;
+    ULONG_PTR Interval;
+} HAL_PROFILE_SOURCE_INTERVAL, *PHAL_PROFILE_SOURCE_INTERVAL;
+
+typedef struct _HAL_PROFILE_SOURCE_INFORMATION
+{
+    KPROFILE_SOURCE Source;
+    BOOLEAN Supported;
+    ULONG Interval;
+} HAL_PROFILE_SOURCE_INFORMATION, *PHAL_PROFILE_SOURCE_INFORMATION;
+
 typedef struct _MAP_REGISTER_ENTRY
 {
     PVOID MapRegister;
@@ -4269,34 +4310,6 @@ typedef VOID
 (DDKAPI *PKINTERRUPT_ROUTINE)(
   VOID);
 
-typedef enum _KPROFILE_SOURCE {
-  ProfileTime,
-  ProfileAlignmentFixup,
-  ProfileTotalIssues,
-  ProfilePipelineDry,
-  ProfileLoadInstructions,
-  ProfilePipelineFrozen,
-  ProfileBranchInstructions,
-  ProfileTotalNonissues,
-  ProfileDcacheMisses,
-  ProfileIcacheMisses,
-  ProfileCacheMisses,
-  ProfileBranchMispredictions,
-  ProfileStoreInstructions,
-  ProfileFpInstructions,
-  ProfileIntegerInstructions,
-  Profile2Issue,
-  Profile3Issue,
-  Profile4Issue,
-  ProfileSpecialInstructions,
-  ProfileTotalCycles,
-  ProfileIcacheIssues,
-  ProfileDcacheAccesses,
-  ProfileMemoryBarrierCycles,
-  ProfileLoadLinkedIssues,
-  ProfileMaximum
-} KPROFILE_SOURCE;
-
 typedef enum _CREATE_FILE_TYPE {
   CreateFileTypeNone,
   CreateFileTypeNamedPipe,