1 /* 2 * Copyright 2009, Axel Dörfler, axeld@pinc-software.de. 3 * Copyright 2007, Ingo Weinhold, bonefish@cs.tu-berlin.de. 4 * 5 * Distributed under the terms of the MIT License. 6 */ 7 8 #include "compatibility.h" 9 10 #include "fssh_os.h" 11 #include "fssh_time.h" 12 13 #include <time.h> 14 #include <sys/time.h> 15 16 #include <OS.h> 17 18 19 // #pragma mark - OS.h 20 21 #if 0 22 23 void 24 fssh_set_real_time_clock(unsigned long secs_since_jan1_1970) 25 { 26 } 27 28 29 fssh_status_t 30 fssh_set_timezone(char *timezone) 31 { 32 } 33 34 #endif // 0 35 36 unsigned long 37 fssh_real_time_clock(void) 38 { 39 timeval tv; 40 gettimeofday(&tv, NULL); 41 42 return tv.tv_sec; 43 } 44 45 46 fssh_bigtime_t 47 fssh_real_time_clock_usecs(void) 48 { 49 timeval tv; 50 gettimeofday(&tv, NULL); 51 52 return tv.tv_sec * 1000000LL + tv.tv_usec; 53 } 54 55 56 fssh_bigtime_t 57 fssh_system_time(void) 58 { 59 return system_time(); 60 } 61 62 63 // #pragma mark - time.h 64 65 66 fssh_time_t 67 fssh_time(fssh_time_t *timer) 68 { 69 time_t result = time(NULL); 70 if (timer) 71 *timer = result; 72 return result; 73 } 74