47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Factor
		
	
	
| ! Copyright (C) 2008 Doug Coleman.
 | |
| ! See http://factorcode.org/license.txt for BSD license.
 | |
| USING: accessors alien.c-types alien.syntax
 | |
| classes.struct kernel math unix.types ;
 | |
| IN: unix.time
 | |
| 
 | |
| STRUCT: timeval
 | |
|     { sec long }
 | |
|     { usec long } ;
 | |
| 
 | |
| STRUCT: timespec
 | |
|     { sec time_t }
 | |
|     { nsec long } ;
 | |
| 
 | |
| : make-timeval ( us -- timeval )
 | |
|     [ timeval <struct> ] dip [
 | |
|         1000000 /mod [ >>sec ] [ >>usec ] bi*
 | |
|     ] unless-zero ;
 | |
| 
 | |
| : make-timespec ( nanos -- timespec )
 | |
|     [ timespec <struct> ] dip [
 | |
|         1000000000 /mod [ >>sec ] [ >>nsec ] bi*
 | |
|     ] unless-zero ;
 | |
| 
 | |
| STRUCT: timezone
 | |
|     { tz_minuteswest int }
 | |
|     { tz_dsttime int } ;
 | |
| 
 | |
| STRUCT: tm
 | |
|     { sec int }
 | |
|     { min int }
 | |
|     { hour int }
 | |
|     { mday int }
 | |
|     { mon int }
 | |
|     { year int }
 | |
|     { wday int }
 | |
|     { yday int }
 | |
|     { isdst int }
 | |
|     { gmtoff long }
 | |
|     { zone c-string } ;
 | |
| 
 | |
| FUNCTION: time_t time ( time_t* t )
 | |
| FUNCTION: tm* localtime ( time_t* clock )
 | |
| FUNCTION: int gettimeofday ( timespec* TP, void* TZP )
 | |
| FUNCTION: int settimeofday ( timeval* TP, timezone* TZP )
 | |
| FUNCTION: int adjtime ( timeval* delta, timeval* olddelta )
 |