| 
									
										
										
										
											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
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-19 02:50:05 -05:00
										 |  |  | : make-timespec ( us -- timespec )
 | 
					
						
							|  |  |  |     1000000 /mod 1000 *
 | 
					
						
							| 
									
										
										
										
											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 } | 
					
						
							|  |  |  |     { zone char* } ;
 | 
					
						
							| 
									
										
										
										
											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 ) ;
 |