63 lines
1 KiB
C
63 lines
1 KiB
C
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
xxtimer.h
|
|
|
|
Abstract:
|
|
|
|
This module contains definitions used by the HAL's timer-related
|
|
functions
|
|
|
|
Author:
|
|
|
|
Eric Nelson (enelson) July 7, 2000
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __XXTIMER_H__
|
|
#define __XXTIMER_H__
|
|
|
|
typedef
|
|
ULONG
|
|
(*PSTE_ROUTINE)( // (S)et (T)ime (I)ncrement
|
|
IN ULONG DesiredIncrement
|
|
);
|
|
|
|
typedef
|
|
VOID
|
|
(*PSEP_ROUTINE)( // (S)tall (E)xecution (P)rocessor
|
|
IN ULONG Microseconds
|
|
);
|
|
|
|
typedef
|
|
VOID
|
|
(*PCPC_ROUTINE)( // (C)alibrate (P)erformance (C)ounter
|
|
IN LONG volatile *Number,
|
|
IN ULONGLONG NewCount
|
|
);
|
|
|
|
typedef
|
|
LARGE_INTEGER
|
|
(*PQPC_ROUTINE)( // (Q)uery (P)erformance (C)ounter
|
|
OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL
|
|
);
|
|
|
|
typedef struct _TIMER_FUNCTIONS {
|
|
PSEP_ROUTINE StallExecProc;
|
|
PCPC_ROUTINE CalibratePerfCount;
|
|
PQPC_ROUTINE QueryPerfCount;
|
|
PSTE_ROUTINE SetTimeIncrement;
|
|
} TIMER_FUNCTIONS, *PTIMER_FUNCTIONS;
|
|
|
|
VOID
|
|
HalpSetTimerFunctions(
|
|
IN PTIMER_FUNCTIONS TimerFunctions
|
|
);
|
|
|
|
#endif // __XXTIMER_H__
|