update for HEAD-2003091401
[reactos.git] / lib / kernel32 / misc / time.c
index 4220496..90efb5e 100644 (file)
@@ -37,6 +37,9 @@ typedef struct __DOSDATE
 
 /* FUNCTIONS ****************************************************************/
 
+/*
+ * @implemented
+ */
 WINBOOL
 STDCALL
 FileTimeToDosDateTime(
@@ -74,6 +77,10 @@ FileTimeToDosDateTime(
    return TRUE; 
 }
 
+
+/*
+ * @implemented
+ */
 WINBOOL
 STDCALL
 DosDateTimeToFileTime(
@@ -99,10 +106,14 @@ DosDateTimeToFileTime(
    SystemTime.wYear = 1980 + pddate->Year;
 
    SystemTimeToFileTime(&SystemTime,lpFileTime);
-   
+
    return TRUE;
 }
 
+
+/*
+ * @implemented
+ */
 LONG
 STDCALL
 CompareFileTime(
@@ -123,13 +134,20 @@ CompareFileTime(
   return 0;
 }
 
-VOID
-STDCALL 
-GetSystemTimeAsFileTime(PFILETIME lpFileTime)
+
+/*
+ * @implemented
+ */
+VOID STDCALL
+GetSystemTimeAsFileTime (PFILETIME lpFileTime)
 {
-   NtQuerySystemTime ((TIME *)lpFileTime);
+  NtQuerySystemTime ((PLARGE_INTEGER)lpFileTime);
 }
 
+
+/*
+ * @implemented
+ */
 WINBOOL 
 STDCALL
 SystemTimeToFileTime(
@@ -158,11 +176,10 @@ SystemTimeToFileTime(
   return FALSE;
 }
 
-//   dwDayOfWeek = RtlLargeIntegerDivide(FileTime,LIDAY,&dwRemDay);
-//   lpSystemTime->wDayOfWeek = 1 + GET_LARGE_INTEGER_LOW_PART(dwDayOfWeek) % 7;
-
-  
 
+/*
+ * @implemented
+ */
 WINBOOL
 STDCALL
 FileTimeToSystemTime(
@@ -194,6 +211,9 @@ FileTimeToSystemTime(
 }
 
 
+/*
+ * @unimplemented
+ */
 WINBOOL
 STDCALL
 FileTimeToLocalFileTime(
@@ -207,6 +227,10 @@ FileTimeToLocalFileTime(
   return TRUE;
 }
 
+
+/*
+ * @unimplemented
+ */
 WINBOOL
 STDCALL
 LocalFileTimeToFileTime(
@@ -221,28 +245,37 @@ LocalFileTimeToFileTime(
 }
 
 
+/*
+ * @implemented
+ */
 VOID STDCALL
 GetLocalTime(LPSYSTEMTIME lpSystemTime)
 {
   FILETIME FileTime;
   FILETIME LocalFileTime;
 
-  NtQuerySystemTime ((TIME*)&FileTime);
+  NtQuerySystemTime ((PLARGE_INTEGER)&FileTime);
   FileTimeToLocalFileTime (&FileTime, &LocalFileTime);
   FileTimeToSystemTime (&LocalFileTime, lpSystemTime);
 }
 
 
+/*
+ * @implemented
+ */
 VOID STDCALL
 GetSystemTime(LPSYSTEMTIME lpSystemTime)
 {
   FILETIME FileTime;
 
-  NtQuerySystemTime ((TIME*)&FileTime);
+  NtQuerySystemTime ((PLARGE_INTEGER)&FileTime);
   FileTimeToSystemTime (&FileTime, lpSystemTime);
 }
 
 
+/*
+ * @implemented
+ */
 WINBOOL STDCALL
 SetLocalTime(CONST SYSTEMTIME *lpSystemTime)
 {
@@ -259,6 +292,9 @@ SetLocalTime(CONST SYSTEMTIME *lpSystemTime)
 }
 
 
+/*
+ * @implemented
+ */
 WINBOOL STDCALL
 SetSystemTime(CONST SYSTEMTIME *lpSystemTime)
 {
@@ -273,6 +309,9 @@ SetSystemTime(CONST SYSTEMTIME *lpSystemTime)
 }
 
 
+/*
+ * @implemented
+ */
 DWORD STDCALL
 GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
 {
@@ -299,6 +338,9 @@ GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation)
 }
 
 
+/*
+ * @implemented
+ */
 BOOL STDCALL
 SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation)
 {
@@ -324,6 +366,9 @@ SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation)
 }
 
 
+/*
+ * @implemented
+ */
 DWORD STDCALL
 GetCurrentTime(VOID)
 {
@@ -331,15 +376,19 @@ GetCurrentTime(VOID)
 }
 
 
+/*
+ * @implemented
+ */
 DWORD STDCALL
 GetTickCount(VOID)
 {
-  ULONG UpTime;
-  NtGetTickCount(&UpTime);
-  return UpTime;
+  return (DWORD)((ULONGLONG)SharedUserData->TickCountLow * SharedUserData->TickCountMultiplier / 16777216);
 }
 
 
+/*
+ * @implemented
+ */
 WINBOOL STDCALL
 SystemTimeToTzSpecificLocalTime(
                                 LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
@@ -373,6 +422,9 @@ SystemTimeToTzSpecificLocalTime(
 }
 
 
+/*
+ * @implemented
+ */
 WINBOOL STDCALL
 GetSystemTimeAdjustment(PDWORD lpTimeAdjustment,
                        PDWORD lpTimeIncrement,
@@ -399,19 +451,22 @@ GetSystemTimeAdjustment(PDWORD lpTimeAdjustment,
 }
 
 
+/*
+ * @implemented
+ */
 WINBOOL STDCALL
 SetSystemTimeAdjustment(DWORD dwTimeAdjustment,
                        WINBOOL bTimeAdjustmentDisabled)
 {
    NTSTATUS Status;
-   SYSTEM_TIME_ADJUSTMENT_INFO Buffer;
+   SYSTEM_SET_TIME_ADJUSTMENT Buffer;
    
    Buffer.TimeAdjustment = (ULONG)dwTimeAdjustment;
    Buffer.TimeSynchronization = (BOOLEAN)bTimeAdjustmentDisabled;
    
    Status = NtSetSystemInformation(SystemTimeAdjustmentInformation,
                                   &Buffer,
-                                  sizeof(SYSTEM_TIME_ADJUSTMENT_INFO));
+                                  sizeof(SYSTEM_SET_TIME_ADJUSTMENT));
    if (!NT_SUCCESS(Status))
      {
        SetLastErrorByStatus(Status);