xref: /aosp_15_r20/external/linux-kselftest/android/include/sys/timeb.h (revision 053f45be4e351dfd5e965df293cd45b779f579ee)
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 Worker static 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