62 lines
1 KiB
C
62 lines
1 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1992 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
timer.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This module contains routines to schedule timer events.
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Jameel Hyder (jameelh@microsoft.com)
|
|||
|
|
|||
|
Revision History:
|
|||
|
Jul 1996 Initial Version
|
|||
|
|
|||
|
Notes: Tab stop: 4
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _TIMER_
|
|||
|
#define _TIMER_
|
|||
|
|
|||
|
struct _Timer;
|
|||
|
|
|||
|
typedef
|
|||
|
BOOLEAN
|
|||
|
(*TIMER_ROUTINE)(
|
|||
|
IN struct _IntF * pIntF,
|
|||
|
IN struct _Timer * pTimer,
|
|||
|
IN BOOLEAN TimerShuttingDown
|
|||
|
);
|
|||
|
|
|||
|
typedef struct _Timer
|
|||
|
{
|
|||
|
struct _Timer * Next;
|
|||
|
struct _Timer ** Prev;
|
|||
|
TIMER_ROUTINE Routine; // Timer routine
|
|||
|
SHORT AbsTime; // Absolute time, for re-enqueue
|
|||
|
SHORT RelDelta; // Relative to the previous entry
|
|||
|
} TIMER, *PTIMER;
|
|||
|
|
|||
|
|
|||
|
#define ArpSTimerInitialize(pTimer, TimerRoutine, DeltaTime) \
|
|||
|
{ \
|
|||
|
(pTimer)->Routine = TimerRoutine; \
|
|||
|
(pTimer)->AbsTime = DeltaTime; \
|
|||
|
}
|
|||
|
|
|||
|
#define ArpSGetCurrentTick() ArpSTimerCurrentTick
|
|||
|
|
|||
|
// Keep this at 15 sec units
|
|||
|
#define MULTIPLIER 4 // To convert minutes to ticks
|
|||
|
#define TIMER_TICK -15*10000000L // 15s in 100ns units
|
|||
|
|
|||
|
#endif // _TIMER_
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|