Began converting minix fsd to work with new caching mechanism
[reactos.git] / reactos / ntoskrnl / ex / time.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: kernel/excutive/time.c
5 * PURPOSE: Time
6 * PROGRAMMER: David Welch (welch@mcmail.com)
7 * UPDATE HISTORY:
8 * Created 22/05/98
9 */
10
11 /* INCLUDES *****************************************************************/
12
13 #include <ddk/ntddk.h>
14 #include <internal/ex.h>
15 #include <string.h>
16
17 #include <internal/debug.h>
18
19
20 #define TICKSPERMINUTE 600000000
21
22 /* GLOBALS ******************************************************************/
23
24 /* Note: Bias[minutes] = UTC - local time */
25 TIME_ZONE_INFORMATION SystemTimeZoneInfo;
26
27
28 /* FUNCTIONS ****************************************************************/
29
30 VOID
31 ExInitTimeZoneInfo (VOID)
32 {
33 /* Initialize system time zone information */
34 memset (&SystemTimeZoneInfo, 0, sizeof(TIME_ZONE_INFORMATION));
35
36 /* FIXME: Read time zone information from the registry */
37
38 }
39
40
41 NTSTATUS
42 STDCALL
43 NtSetSystemTime (
44 IN PLARGE_INTEGER SystemTime,
45 IN PLARGE_INTEGER NewSystemTime OPTIONAL
46 )
47 {
48 // HalSetRealTimeClock ((PTIME)SystemTime);
49 // UNIMPLEMENTED;
50 return STATUS_SUCCESS;
51 }
52
53
54 NTSTATUS
55 STDCALL
56 NtQuerySystemTime (
57 OUT TIME * CurrentTime
58 )
59 {
60 KeQuerySystemTime((PLARGE_INTEGER)CurrentTime);
61 return STATUS_SUCCESS;
62 }
63
64
65 VOID
66 ExLocalTimeToSystemTime (
67 PLARGE_INTEGER LocalTime,
68 PLARGE_INTEGER SystemTime
69 )
70 {
71 SystemTime->QuadPart = LocalTime->QuadPart +
72 SystemTimeZoneInfo.Bias * TICKSPERMINUTE;
73 }
74
75
76 VOID
77 ExSystemTimeToLocalTime (
78 PLARGE_INTEGER SystemTime,
79 PLARGE_INTEGER LocalTime
80 )
81 {
82 LocalTime->QuadPart = SystemTime->QuadPart -
83 SystemTimeZoneInfo.Bias * TICKSPERMINUTE;
84 }
85
86 /* EOF */