2008-10-06 18:34:58 -04:00
|
|
|
! Copyright (C) 2008 Doug Coleman.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-08-30 05:06:41 -04:00
|
|
|
USING: kernel alien.syntax alien.c-types math unix.types
|
|
|
|
classes.struct accessors ;
|
2008-03-01 08:11:44 -05:00
|
|
|
IN: unix.time
|
|
|
|
|
2009-08-30 05:06:41 -04:00
|
|
|
STRUCT: timeval
|
|
|
|
{ sec long }
|
|
|
|
{ usec long } ;
|
2008-10-06 19:18:33 -04:00
|
|
|
|
2009-08-30 05:06:41 -04:00
|
|
|
STRUCT: timespec
|
|
|
|
{ sec time_t }
|
|
|
|
{ nsec long } ;
|
2008-10-06 19:18:33 -04:00
|
|
|
|
2008-11-19 02:50:05 -05:00
|
|
|
: make-timeval ( us -- timeval )
|
|
|
|
1000000 /mod
|
2009-08-30 05:06:41 -04:00
|
|
|
timeval <struct>
|
|
|
|
swap >>usec
|
|
|
|
swap >>sec ;
|
2008-10-06 22:41:06 -04:00
|
|
|
|
2009-11-19 05:51:47 -05:00
|
|
|
: make-timespec ( nanos -- timespec )
|
|
|
|
1000000000 /mod
|
2009-08-30 05:06:41 -04:00
|
|
|
timespec <struct>
|
|
|
|
swap >>nsec
|
|
|
|
swap >>sec ;
|
2008-10-06 22:41:06 -04:00
|
|
|
|
2009-08-30 05:06:41 -04:00
|
|
|
STRUCT: tm
|
|
|
|
{ sec int }
|
|
|
|
{ min int }
|
|
|
|
{ hour int }
|
|
|
|
{ mday int }
|
|
|
|
{ mon int }
|
|
|
|
{ year int }
|
|
|
|
{ wday int }
|
|
|
|
{ yday int }
|
|
|
|
{ isdst int }
|
|
|
|
{ gmtoff long }
|
2010-02-23 14:42:02 -05:00
|
|
|
{ zone c-string } ;
|
2008-03-01 08:11:44 -05:00
|
|
|
|
|
|
|
FUNCTION: time_t time ( time_t* t ) ;
|
2008-06-27 14:49:10 -04:00
|
|
|
FUNCTION: tm* localtime ( time_t* clock ) ;
|
|
|
|
FUNCTION: int gettimeofday ( timespec* TP, void* TZP ) ;
|