! Copyright (C) 2007 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types kernel math windows.errors
-windows.kernel32 windows.types namespaces calendar math.bitwise
-accessors classes.struct windows.handles ;
+! See https://factorcode.org/license.txt for BSD license.
+USING: accessors alien alien.c-types calendar calendar.private
+classes.struct kernel math math.bitwise namespaces
+windows.errors windows.handles windows.kernel32 windows.types ;
IN: windows.time
: >64bit ( lo hi -- n )
[ windows-1601 ] dip 10,000,000 /i +second ;
: windows-time ( -- n )
- FILETIME <struct> [ GetSystemTimeAsFileTime ] keep
+ FILETIME new [ GetSystemTimeAsFileTime ] keep
FILETIME>windows-time ;
: timestamp>windows-time ( timestamp -- n )
- #! 64bit number representing # of nanoseconds since Jan 1, 1601 (UTC)
+ ! 64bit number representing # of nanoseconds since Jan 1, 1601 (UTC)
>gmt windows-1601 (time-) 10,000,000 * >integer ;
: windows-time>FILETIME ( n -- FILETIME )
- [ FILETIME <struct> ] dip
+ [ FILETIME new ] dip
[ 32 bits >>dwLowDateTime ] [ -32 shift >>dwHighDateTime ] bi ;
: timestamp>FILETIME ( timestamp -- FILETIME/f )