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