2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: kernel/excutive/time.c
6 * PROGRAMMER: David Welch (welch@mcmail.com)
11 /* INCLUDES *****************************************************************/
13 #include <ddk/ntddk.h>
15 #include <internal/debug.h>
18 #define TICKSPERMINUTE 600000000
20 /* GLOBALS ******************************************************************/
22 static LONG lTimeZoneBias
= 0; /* bias[minutes] = UTC - local time */
24 /* FUNCTIONS ****************************************************************/
26 NTSTATUS STDCALL
NtSetSystemTime(IN PLARGE_INTEGER SystemTime
,
27 IN PLARGE_INTEGER NewSystemTime OPTIONAL
)
29 return(ZwSetSystemTime(SystemTime
,NewSystemTime
));
32 NTSTATUS STDCALL
ZwSetSystemTime(IN PLARGE_INTEGER SystemTime
,
33 IN PLARGE_INTEGER NewSystemTime OPTIONAL
)
38 NTSTATUS STDCALL
NtQuerySystemTime (OUT TIME
*CurrentTime
)
40 return(ZwQuerySystemTime(CurrentTime
));
43 NTSTATUS STDCALL
ZwQuerySystemTime (OUT TIME
*CurrentTime
)
45 KeQuerySystemTime((PLARGE_INTEGER
)CurrentTime
);
46 return STATUS_SUCCESS
;
50 VOID
ExLocalTimeToSystemTime(PLARGE_INTEGER LocalTime
,
51 PLARGE_INTEGER SystemTime
)
53 SystemTime
->QuadPart
= LocalTime
->QuadPart
+
54 lTimeZoneBias
* TICKSPERMINUTE
;
57 VOID
ExSystemTimeToLocalTime(PLARGE_INTEGER SystemTime
,
58 PLARGE_INTEGER LocalTime
)
60 LocalTime
->QuadPart
= SystemTime
->QuadPart
-
61 lTimeZoneBias
* TICKSPERMINUTE
;