/* * Win32 kernel functions * * Copyright 1995 Martin von Loewis and Cameron Heide * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include #include #include #include "file.h" #include "winerror.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(win32); /*********************************************************************** * GetLocalTime (KERNEL32.@) */ VOID WINAPI GetLocalTime(LPSYSTEMTIME systime) { time_t local_time; struct tm *local_tm; struct timeval tv; gettimeofday(&tv, NULL); local_time = tv.tv_sec; local_tm = localtime(&local_time); systime->wYear = local_tm->tm_year + 1900; systime->wMonth = local_tm->tm_mon + 1; systime->wDayOfWeek = local_tm->tm_wday; systime->wDay = local_tm->tm_mday; systime->wHour = local_tm->tm_hour; systime->wMinute = local_tm->tm_min; systime->wSecond = local_tm->tm_sec; systime->wMilliseconds = (tv.tv_usec / 1000) % 1000; } /*********************************************************************** * GetSystemTime (KERNEL32.@) */ VOID WINAPI GetSystemTime(LPSYSTEMTIME systime) { time_t system_time; struct tm *system_tm; struct timeval tv; gettimeofday(&tv, NULL); system_time = tv.tv_sec; system_tm = gmtime(&system_time); systime->wYear = system_tm->tm_year + 1900; systime->wMonth = system_tm->tm_mon + 1; systime->wDayOfWeek = system_tm->tm_wday; systime->wDay = system_tm->tm_mday; systime->wHour = system_tm->tm_hour; systime->wMinute = system_tm->tm_min; systime->wSecond = system_tm->tm_sec; systime->wMilliseconds = (tv.tv_usec / 1000) % 1000; }