При вызове clock_gettime () может ли возвращаемое поле tv_nsec фактически превышать секунду?

Когда вы вызываетеclock_gettime() он возвращает структуру timepec.

       struct timespec {
           time_t   tv_sec;        /* seconds */
           long     tv_nsec;       /* nanoseconds */
       };

На странице руководства я не нахожу гарантию, что tv_nsec не превысит одну секунду. Гарантия существует на самом деле? Может ли это зависеть от реализации библиотеки (glibc?) Для linux?

Основная идея заключается в следующем: нужно ли «нормализовать» любой результат, исходящий изclock_gettime() функционировать?