1*053f45beSAndroid Build Coastguard Worker #ifndef __SYS_TIMEB_H 2*053f45beSAndroid Build Coastguard Worker #define __SYS_TIMEB_H 3*053f45beSAndroid Build Coastguard Worker 4*053f45beSAndroid Build Coastguard Worker #include <time.h> 5*053f45beSAndroid Build Coastguard Worker 6*053f45beSAndroid Build Coastguard Worker struct timeb { 7*053f45beSAndroid Build Coastguard Worker time_t time; 8*053f45beSAndroid Build Coastguard Worker unsigned short millitm; 9*053f45beSAndroid Build Coastguard Worker short timezone; 10*053f45beSAndroid Build Coastguard Worker short dstflag; 11*053f45beSAndroid Build Coastguard Worker }; 12*053f45beSAndroid Build Coastguard Worker ftime(struct timeb * tp)13*053f45beSAndroid Build Coastguard Workerstatic inline int ftime(struct timeb *tp) { 14*053f45beSAndroid Build Coastguard Worker const unsigned int ONE_MS_IN_NS = 100000; 15*053f45beSAndroid Build Coastguard Worker struct timespec ts; 16*053f45beSAndroid Build Coastguard Worker 17*053f45beSAndroid Build Coastguard Worker int err = clock_gettime(CLOCK_REALTIME, &ts); 18*053f45beSAndroid Build Coastguard Worker if (err) 19*053f45beSAndroid Build Coastguard Worker return -1; 20*053f45beSAndroid Build Coastguard Worker 21*053f45beSAndroid Build Coastguard Worker tp->time = ts.tv_sec; 22*053f45beSAndroid Build Coastguard Worker tp->millitm = ts.tv_nsec / ONE_MS_IN_NS; 23*053f45beSAndroid Build Coastguard Worker return 0; 24*053f45beSAndroid Build Coastguard Worker } 25*053f45beSAndroid Build Coastguard Worker 26*053f45beSAndroid Build Coastguard Worker #endif /* __SYS_TIMEB_H */ 27