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>
14 #include <internal/ex.h>
17 #include <internal/debug.h>
20 #define TICKSPERMINUTE 600000000
22 /* GLOBALS ******************************************************************/
24 /* Note: Bias[minutes] = UTC - local time */
25 TIME_ZONE_INFORMATION SystemTimeZoneInfo
;
27 /* FUNCTIONS ****************************************************************/
30 ExInitTimeZoneInfo (VOID
)
32 /* Initialize system time zone information */
33 memset (&SystemTimeZoneInfo
, 0, sizeof(TIME_ZONE_INFORMATION
));
35 /* FIXME: Read time zone information from the registry */
42 IN PLARGE_INTEGER SystemTime
,
43 IN PLARGE_INTEGER NewSystemTime OPTIONAL
53 OUT TIME
* CurrentTime
56 KeQuerySystemTime((PLARGE_INTEGER
)CurrentTime
);
57 return STATUS_SUCCESS
;
63 ExLocalTimeToSystemTime (
64 PLARGE_INTEGER LocalTime
,
65 PLARGE_INTEGER SystemTime
68 SystemTime
->QuadPart
= LocalTime
->QuadPart
+
69 SystemTimeZoneInfo
.Bias
* TICKSPERMINUTE
;
75 ExSystemTimeToLocalTime (
76 PLARGE_INTEGER SystemTime
,
77 PLARGE_INTEGER LocalTime
80 LocalTime
->QuadPart
= SystemTime
->QuadPart
-
81 SystemTimeZoneInfo
.Bias
* TICKSPERMINUTE
;