Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Win32 kernel functions |
| 3 | * |
| 4 | * Copyright 1995 Martin von Loewis and Cameron Heide |
| 5 | */ |
| 6 | |
| 7 | #include <string.h> |
| 8 | #include <time.h> |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 9 | #include <sys/time.h> |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 10 | #include <unistd.h> |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 11 | #include "file.h" |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 12 | #include "winerror.h" |
Alexandre Julliard | 1565709 | 1999-05-23 10:25:25 +0000 | [diff] [blame] | 13 | #include "debugtools.h" |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 14 | |
Dimitrie O. Paun | 529da54 | 2000-11-27 23:54:25 +0000 | [diff] [blame] | 15 | DEFAULT_DEBUG_CHANNEL(win32); |
Patrik Stridvall | b4b9fae | 1999-04-19 14:56:29 +0000 | [diff] [blame] | 16 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 17 | /*********************************************************************** |
Patrik Stridvall | d0a4177 | 2001-02-14 23:11:17 +0000 | [diff] [blame] | 18 | * GetLocalTime (KERNEL32.@) |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 19 | */ |
Alexandre Julliard | 670cdc4 | 1997-08-24 16:00:30 +0000 | [diff] [blame] | 20 | VOID WINAPI GetLocalTime(LPSYSTEMTIME systime) |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 21 | { |
| 22 | time_t local_time; |
| 23 | struct tm *local_tm; |
| 24 | struct timeval tv; |
| 25 | |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 26 | gettimeofday(&tv, NULL); |
Alexandre Julliard | 02ed4c2 | 1996-03-02 19:34:10 +0000 | [diff] [blame] | 27 | local_time = tv.tv_sec; |
| 28 | local_tm = localtime(&local_time); |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 29 | |
| 30 | systime->wYear = local_tm->tm_year + 1900; |
| 31 | systime->wMonth = local_tm->tm_mon + 1; |
| 32 | systime->wDayOfWeek = local_tm->tm_wday; |
| 33 | systime->wDay = local_tm->tm_mday; |
| 34 | systime->wHour = local_tm->tm_hour; |
| 35 | systime->wMinute = local_tm->tm_min; |
| 36 | systime->wSecond = local_tm->tm_sec; |
| 37 | systime->wMilliseconds = (tv.tv_usec / 1000) % 1000; |
| 38 | } |
| 39 | |
Andreas Mohr | 973cc74 | 2000-09-12 23:39:10 +0000 | [diff] [blame] | 40 | /*********************************************************************** |
Patrik Stridvall | d0a4177 | 2001-02-14 23:11:17 +0000 | [diff] [blame] | 41 | * GetSystemTime (KERNEL32.@) |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 42 | */ |
Alexandre Julliard | 670cdc4 | 1997-08-24 16:00:30 +0000 | [diff] [blame] | 43 | VOID WINAPI GetSystemTime(LPSYSTEMTIME systime) |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 44 | { |
| 45 | time_t local_time; |
| 46 | struct tm *local_tm; |
| 47 | struct timeval tv; |
| 48 | |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 49 | gettimeofday(&tv, NULL); |
Alexandre Julliard | 02ed4c2 | 1996-03-02 19:34:10 +0000 | [diff] [blame] | 50 | local_time = tv.tv_sec; |
| 51 | local_tm = gmtime(&local_time); |
Alexandre Julliard | d7d4fdf | 1995-12-26 15:05:24 +0000 | [diff] [blame] | 52 | |
| 53 | systime->wYear = local_tm->tm_year + 1900; |
| 54 | systime->wMonth = local_tm->tm_mon + 1; |
| 55 | systime->wDayOfWeek = local_tm->tm_wday; |
| 56 | systime->wDay = local_tm->tm_mday; |
| 57 | systime->wHour = local_tm->tm_hour; |
| 58 | systime->wMinute = local_tm->tm_min; |
| 59 | systime->wSecond = local_tm->tm_sec; |
| 60 | systime->wMilliseconds = (tv.tv_usec / 1000) % 1000; |
| 61 | } |