Existe-t-il un moyen standard de convertir une struct timeval en une struct timespec?
Question
struct timeval
représente instantanément deux membres, tv_sec
(secondes) et tv_usec
(microsecondes). Dans cette représentation, tv_usec
n'est pas en lui-même un temps absolu, il s'agit d'un décalage de moins d'une seconde par rapport à tv_sec
.
struct timespec
fonctionne de la même manière, sauf qu'au lieu de microsecondes, son décalage ( tv_nsec
) est stocké en nanosecondes.
La question est la suivante: existe-t-il un moyen standard de convertir les deux?
La solution
En regardant cette documentation , je pense multiplier tv_usec
par 1000 est suffisant pour obtenir tv_nsec
.
Plus important encore, je soupçonne la source des différentes structures: elles pourraient être remplies par différentes horloges.
Autres conseils
Dans sys / time.h
, deux macros font ce que vous voulez:
TIMEVAL_TO_TIMESPEC(X, Y)
et
TIMESPEC_TO_TIMEVAL(X, Y)
Voir la documentation ici: http://www.daemon-systems.org/man/TIMEVAL_TO_TIMESPEC. 3.html