| 18 | } // namespace |
| 19 | |
| 20 | void FileTimeToTimeval(const FILETIME* ft, timeval* tv) { |
| 21 | Y_ASSERT(ft); |
| 22 | Y_ASSERT(tv); |
| 23 | TFTUnion ntTime; |
| 24 | ntTime.FTStruct = *ft; |
| 25 | ntTime.FTScalar -= NUMBER_OF_100_NANO_BETWEEN_1601_1970; |
| 26 | tv->tv_sec = |
| 27 | static_cast<long>(ntTime.FTScalar / NUMBER_OF_100_NANO_IN_SECOND); |
| 28 | tv->tv_usec = static_cast<long>( |
| 29 | (ntTime.FTScalar % NUMBER_OF_100_NANO_IN_SECOND) / LL(10)); |
| 30 | } |
| 31 | |
| 32 | void FileTimeToTimespec(const FILETIME& ft, struct timespec* ts) { |
| 33 | Y_ASSERT(ts); |
no outgoing calls
no test coverage detected