MirBSD manpage: clock_getres(2), clock_gettime(2), clock_settime(2)

CLOCK_GETTIME(2)           BSD Programmer's Manual            CLOCK_GETTIME(2)

NAME

     clock_gettime, clock_settime, clock_getres - get/set/calibrate date and
     time

SYNOPSIS

     #include <sys/time.h>

     int
     clock_gettime(clockid_t clock_id, struct timespec *tp);

     int
     clock_settime(clockid_t clock_id, const struct timespec *tp);

     int
     clock_getres(clockid_t clock_id, struct timespec *tp);

DESCRIPTION

     The clock_gettime() and clock_settime() allow the calling process to re-
     trieve or set the value used by a clock which is specified by clock_id.

     clock_id can be one of four values: CLOCK_REALTIME for time that incre-
     ments as a wall clock should, CLOCK_VIRTUAL for time that increments only
     when the CPU is running in user mode on behalf of the calling process,
     CLOCK_PROF for time that increments when the CPU is running in user or
     kernel mode, or CLOCK_MONOTONIC for time that increments at a steady rate
     (monotonically).

     The structure pointed to by tp is defined in <sys/time.h> as:

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

     Only the superuser may set the time of day. If the system securelevel is
     greater than 1 (see init(8)), the time may only be advanced. This limita-
     tion is imposed to prevent a malicious superuser from setting arbitrary
     time stamps on files. The system time can still be adjusted backwards us-
     ing the adjtime(2) system call even when the system is secure.

     The resolution (granularity) of a clock is returned by the clock_getres()
     call. This value is placed in a (non-null) *tp.

RETURN VALUES

     A 0 return value indicates that the call succeeded. A -1 return value in-
     dicates an error occurred, and in this case an error code is stored into
     the global variable errno.

ERRORS

     The following error codes may be set in errno:

     [EINVAL]      The clock_id was not a valid value.

     [EFAULT]      The tp argument address referenced invalid memory.

     [EPERM]       A user other than the superuser attempted to set the time.

SEE ALSO

     date(1), adjtime(2), ctime(3), timed(8)

STANDARDS

     The clock_gettime(), clock_settime(), and clock_setres() functions con-
     form to IEEE Std 1003.1b-1993 ("POSIX.1b").

MirBSD #10-current               May 8, 1997                                 1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung