Added more time functions

svn path=/trunk/; revision=1109
This commit is contained in:
Eric Kohl 2000-04-07 12:45:22 +00:00
parent 53e0232c6c
commit 654c8e7d00
3 changed files with 70 additions and 6 deletions

View file

@ -318,14 +318,14 @@ typedef struct _SYSTEM_PROCESS_INFORMATION
} 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
{

View file

@ -1,4 +1,4 @@
/* $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 $
*
*/
@ -265,6 +265,20 @@ RtlNormalizeProcessParams (
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 */

View file

@ -1,7 +1,8 @@
/*
/* $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:
@ -12,6 +13,7 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <ntdll/rtl.h>
#include <internal/debug.h>
@ -266,4 +268,52 @@ RtlTimeToSecondsSince1980 (
return TRUE;
}
/* EOF */
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 */