LIBRARY api-ms-win-crt-time-l1-1-0

EXPORTS

#include "func.def.in"

__daylight
__dstbias
__timezone
__tzname
_ctime32
_ctime32_s
_ctime64
_ctime64_s
F32(difftime == _difftime32)
F64(difftime == _difftime64)
_difftime32
_difftime64
F32(_ftime == _ftime32)
F64(_ftime == _ftime64)
_ftime32
_ftime32_s
_ftime64
_ftime64_s
F32(_futime == _futime32)
F64(_futime == _futime64)
_futime32
_futime64
_get_daylight
_get_dstbias
_get_timezone
_get_tzname
_getsystime
_Getdays
_Getmonths
_Gettnames
_gmtime32
_gmtime32_s
_gmtime64
_gmtime64_s
_localtime32
_localtime32_s
_localtime64
_localtime64_s
F32(_mkgmtime == _mkgmtime32)
F64(_mkgmtime == _mkgmtime64)
_mkgmtime32
_mkgmtime64
_mktime32
_mktime64
_setsystime
_strdate
_strdate_s
_Strftime
_strftime_l
_strtime
_strtime_s
_time32
_time64
_timespec32_get
_timespec64_get
; This is wrapped in the compat code.
_tzset DATA
F32(_utime == _utime32)
F64(_utime == _utime64)
F32(utime == _utime32)
F64(utime == _utime64)
_utime32
_utime64
_W_Getdays
_W_Getmonths
_W_Gettnames
_wasctime
_wasctime_s
_Wcsftime
_wcsftime_l
F32(_wctime == _wctime32)
F64(_wctime == _wctime64)
_wctime32
_wctime32_s
_wctime64
_wctime64_s
_wstrdate
_wstrdate_s
_wstrtime
_wstrtime_s
F32(_wutime == _wutime32)
F64(_wutime == _wutime64)
_wutime32
_wutime64
asctime
asctime_s
clock
strftime
wcsftime
; These functions may satisfy configure scripts.
F32(ctime == _ctime32)
F64(ctime == _ctime64)
F32(gmtime == _gmtime32)
F64(gmtime == _gmtime64)
F32(localtime == _localtime32)
F64(localtime == _localtime64)
F32(mktime == _mktime32)
F64(mktime == _mktime64)
F32(time == _time32)
F64(time == _time64)
F32(timespec_get == _timespec32_get)
F64(timespec_get == _timespec64_get)
