NTOSKRNL.ZwXXX functions now call NTOSKRNL.NtXXX via int 0x2e.
[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
27 STDCALL
28 NtSetSystemTime (
29 IN PLARGE_INTEGER SystemTime,
30 IN PLARGE_INTEGER NewSystemTime OPTIONAL
31 )
32 {
33 UNIMPLEMENTED;
34 }
35
36
37 NTSTATUS
38 STDCALL
39 NtQuerySystemTime (
40 OUT TIME * CurrentTime
41 )
42 {
43 KeQuerySystemTime((PLARGE_INTEGER)CurrentTime);
44 return STATUS_SUCCESS;
45 }
46
47
48 VOID
49 ExLocalTimeToSystemTime (
50 PLARGE_INTEGER LocalTime,
51 PLARGE_INTEGER SystemTime
52 )
53 {
54 SystemTime->QuadPart = LocalTime->QuadPart +
55 lTimeZoneBias * TICKSPERMINUTE;
56 }
57
58
59 VOID
60 ExSystemTimeToLocalTime (
61 PLARGE_INTEGER SystemTime,
62 PLARGE_INTEGER LocalTime
63 )
64 {
65 LocalTime->QuadPart = SystemTime->QuadPart -
66 lTimeZoneBias * TICKSPERMINUTE;
67 }