Source code of Windows XP (NT5)
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.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1991 - 1999
//
// File: time.hxx
//
//--------------------------------------------------------------------------
/* --------------------------------------------------------------------
Microsoft OS/2 LAN Manager Copyright(c) Microsoft Corp., 1990
-------------------------------------------------------------------- */ /* --------------------------------------------------------------------
File: time.hxx
Description:
This file provides a system independent high resolution timer package.
History: stevez 08/13/91 First bits in bucket -------------------------------------------------------------------- */
#ifndef __TIMER__
#define __TIMER__
#ifdef TIMERPC
class TIMER { private:
short hTimer; // high resolution timer handle
short hTimerSecondary; // secondary timer
unsigned long OverHeadSecondary; // overhead of secondary timer
short UsedCount; // useage of the timer
unsigned long TimeSlots[TIME_MAX]; // Array of timer slots
public:
TIMER() { Initial(); } void Initial() { UsedCount = 0; hTimer = -1; hTimerSecondary = -1; OverHeadSecondary = 0; } ~TIMER();
short & RefCount() {return(UsedCount);} void ResetTime(void); void ResetTimeAux(void); unsigned long ReadTimeAux(void); void ChargeTime(TIME_SLOT Account); void ChargeTimeCalibrate(TIME_SLOT Account);
unsigned long *GetTime(void) { return (TimeSlots); } friend void RPC_ENTRY _DoneTimeApi( char *, unsigned long *); friend void RPC_ENTRY _StartTimeApi(unsigned long *); };
#else //TIMERPC
class TIMER { private: static unsigned long TimeSlots[TIME_MAX];
public:
void ResetTime(void) {} void ChargeTime(TIME_SLOT Account) {(void) Account;} unsigned long * GetTime(void) {return (TimeSlots);} void Initial() {}
}; #endif //TIMERPC
#endif // __TIMER__
|