/* * COPYRIGHT: LGPL, See LGPL.txt in the top level directory * PROJECT: ReactOS CRT library * FILE: lib/sdk/crt/time/ftime.c * PURPOSE: Deprecated BSD library call * PROGRAMERS: Timo Kreuzer */ #include #include #include #include "bitsfixup.h" /****************************************************************************** * \name _ftime_s * \brief Get the current time. * \param [out] ptimeb Pointer to a structure of type struct _timeb that * recieves the current time. * \sa http://msdn.microsoft.com/en-us/library/95e68951.aspx */ errno_t _ftime_s(struct _timeb *ptimeb) { DWORD ret; TIME_ZONE_INFORMATION TimeZoneInformation; FILETIME SystemTime; /* Validate parameters */ if (!ptimeb) { #if 0 _invalid_parameter(0, 0,//__FUNCTION__, _CRT_WIDE(__FILE__), __LINE__, 0); #endif return EINVAL; } ret = GetTimeZoneInformation(&TimeZoneInformation); ptimeb->dstflag = (ret == TIME_ZONE_ID_DAYLIGHT) ? 1 : 0; ptimeb->timezone = TimeZoneInformation.Bias; GetSystemTimeAsFileTime(&SystemTime); ptimeb->time = FileTimeToUnixTime(&SystemTime, &ptimeb->millitm); return 0; } /****************************************************************************** * \name _ftime * \brief Get the current time. * \param [out] ptimeb Pointer to a structure of type struct _timeb that * recieves the current time. * \note This function is for compatability and simply calls the secure * version _ftime_s(). * \sa http://msdn.microsoft.com/en-us/library/z54t9z5f.aspx */ void _ftime(struct _timeb *ptimeb) { _ftime_s(ptimeb); }