} SYSTEM_PROCESS_INFORMATION, * PSYSTEM_PROCESS_INFORMATION;
#endif
-typedef struct _SYSTEM_TIME_INFO
+typedef struct _SYSTEM_TIME_INFORMATION
{
LARGE_INTEGER BootTime;
LARGE_INTEGER SystemTime;
LARGE_INTEGER TimeZoneBias;
ULONG TimeZoneId;
ULONG Unknown;
-} SYSTEM_TIME_INFO, *PSYSTEM_TIME_INFO;
+} SYSTEM_TIME_INFORMATION, *PSYSTEM_TIME_INFORMATION;
typedef struct _SYSTEM_GLOBAL_FLAGS_INFO
{
-/* $Id: rtl.h,v 1.13 2000/03/09 15:59:50 ekohl Exp $
+/* $Id: rtl.h,v 1.14 2000/04/07 12:45:02 ekohl Exp $
*
*/
IN OUT PRTL_USER_PROCESS_PARAMETERS ProcessParameters
);
+NTSTATUS
+STDCALL
+RtlLocalTimeToSystemTime (
+ PLARGE_INTEGER LocalTime,
+ PLARGE_INTEGER SystemTime
+ );
+
+NTSTATUS
+STDCALL
+RtlSystemTimeToLocalTime (
+ PLARGE_INTEGER SystemTime,
+ PLARGE_INTEGER LocalTime
+ );
+
#endif /* __INCLUDE_NTDLL_RTL_H */
/* EOF */
-/*
+/* $Id: time.c,v 1.5 2000/04/07 12:45:22 ekohl Exp $
+ *
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
- * FILE: kernel/rtl/time.c
+ * FILE: lib/ntdll/rtl/time.c
* PURPOSE: Conversion between Time and TimeFields
* PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com)
* UPDATE HISTORY:
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
+#include <ntdll/rtl.h>
#include <internal/debug.h>
return TRUE;
}
-/* EOF */
\ No newline at end of file
+
+NTSTATUS
+STDCALL
+RtlLocalTimeToSystemTime (
+ PLARGE_INTEGER LocalTime,
+ PLARGE_INTEGER SystemTime
+ )
+{
+ SYSTEM_TIME_INFORMATION TimeInformation;
+ NTSTATUS Status;
+
+ Status = NtQuerySystemInformation (SystemTimeInformation,
+ &TimeInformation,
+ sizeof(SYSTEM_TIME_INFORMATION),
+ NULL);
+ if (!NT_SUCCESS(Status))
+ return Status;
+
+ SystemTime->QuadPart = LocalTime->QuadPart +
+ TimeInformation.TimeZoneBias.QuadPart;
+
+ return STATUS_SUCCESS;
+}
+
+
+NTSTATUS
+STDCALL
+RtlSystemTimeToLocalTime (
+ PLARGE_INTEGER SystemTime,
+ PLARGE_INTEGER LocalTime
+ )
+{
+ SYSTEM_TIME_INFORMATION TimeInformation;
+ NTSTATUS Status;
+
+ Status = NtQuerySystemInformation (SystemTimeInformation,
+ &TimeInformation,
+ sizeof(SYSTEM_TIME_INFORMATION),
+ NULL);
+ if (!NT_SUCCESS(Status))
+ return Status;
+
+ LocalTime->QuadPart = SystemTime->QuadPart -
+ TimeInformation.TimeZoneBias.QuadPart;
+
+ return STATUS_SUCCESS;
+}
+
+/* EOF */