202b428358e69fffda810d35087b96dd29f88a80
[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
15 #include <internal/debug.h>
16
17
18 #define TICKSPERMINUTE 600000000
19
20 /* GLOBALS ******************************************************************/
21
22 static LONG lTimeZoneBias = 0; /* bias[minutes] = UTC - local time */
23
24 /* FUNCTIONS ****************************************************************/
25
26 NTSTATUS STDCALL NtSetSystemTime(IN PLARGE_INTEGER SystemTime,
27 IN PLARGE_INTEGER NewSystemTime OPTIONAL)
28 {
29 return(ZwSetSystemTime(SystemTime,NewSystemTime));
30 }
31
32 NTSTATUS STDCALL ZwSetSystemTime(IN PLARGE_INTEGER SystemTime,
33 IN PLARGE_INTEGER NewSystemTime OPTIONAL)
34 {
35 UNIMPLEMENTED;
36 }
37
38 NTSTATUS STDCALL NtQuerySystemTime (OUT TIME *CurrentTime)
39 {
40 return(ZwQuerySystemTime(CurrentTime));
41 }
42
43 NTSTATUS STDCALL ZwQuerySystemTime (OUT TIME *CurrentTime)
44 {
45 KeQuerySystemTime((PLARGE_INTEGER)CurrentTime);
46 return STATUS_SUCCESS;
47 // UNIMPLEMENTED;
48 }
49
50 VOID ExLocalTimeToSystemTime(PLARGE_INTEGER LocalTime,
51 PLARGE_INTEGER SystemTime)
52 {
53 SystemTime->QuadPart = LocalTime->QuadPart +
54 lTimeZoneBias * TICKSPERMINUTE;
55 }
56
57 VOID ExSystemTimeToLocalTime(PLARGE_INTEGER SystemTime,
58 PLARGE_INTEGER LocalTime)
59 {
60 LocalTime->QuadPart = SystemTime->QuadPart -
61 lTimeZoneBias * TICKSPERMINUTE;
62 }