Есть ли стандартный способ преобразования struct timeval в struct timespec?

struct timeval представляет и мгновенное время с двумя членами, tv_sec (секунды) и tv_usec (микросекунды). В этом представлении tv_usec само по себе не является абсолютным временем, это субсекундное смещение от tv_sec.

struct timespec работает так же, за исключением того, что вместо микросекунд, которые он смещает (tv_nsec), сохраняется в наносекундных единицах.

Вопрос: существует ли стандартный способ преобразования между этими двумя?

Ответ 1

Рассматривая этот документ, я думаю, что умножение tv_usec на 1000 достаточно, чтобы получить tv_nsec.

Более того, я подозреваю, что это источник различных структур: они могут быть заполнены разными часами.