# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-06-01 05:45+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "clock_getres" msgstr "" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "clock_getres, clock_gettime, clock_settime - clock and time functions" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>), since glibc 2.17" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Before glibc 2.17, Real-time library (I, I<-lrt>)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Etime.hE>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, struct timespec *_Nullable >IB<);>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, struct timespec *>IB<);>\n" "BIB<, const struct timespec *>IB<);>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B(), B(), B():" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid " _POSIX_C_SOURCE E= 199309L\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The function B() finds the resolution (precision) of the " "specified clock I, and, if I is non-NULL, stores it in the " "I pointed to by I. The resolution of clocks depends " "on the implementation and cannot be configured by a particular process. If " "the time value pointed to by the argument I of B() is " "not a multiple of I, then it is truncated to a multiple of I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The functions B() and B() retrieve and set " "the time of the specified clock I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I and I arguments are B(3) structures." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument is the identifier of the particular clock on which " "to act. A clock may be system-wide and hence visible for all processes, or " "per-process if it measures time only within a single process." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "All implementations support the system-wide real-time clock, which is " "identified by B. Its time represents seconds and " "nanoseconds since the Epoch. When its time is changed, timers for a " "relative interval are unaffected, but timers for an absolute point in time " "are affected." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "More clocks may be implemented. The interpretation of the corresponding " "time values and the effect on timers is unspecified." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Sufficiently recent versions of glibc and the Linux kernel support the " "following clocks:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "A settable system-wide clock that measures real (i.e., wall-clock) time. " "Setting this clock requires appropriate privileges. This clock is affected " "by discontinuous jumps in the system time (e.g., if the system administrator " "manually changes the clock), and by frequency adjustments performed by NTP " "and similar applications via B(3), B(2), " "B(2), and B(3). This clock normally counts the " "number of seconds since 1970-01-01 00:00:00 Coordinated Universal Time " "(UTC) except that it ignores leap seconds; near a leap second it is " "typically adjusted by NTP to stay roughly in sync with UTC." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.0; Linux-specific)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Like B, but not settable. See B(2) for " "further details." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.32; Linux-specific)" msgstr "" #. Added in commit da15cfdae03351c689736f8d142618592e3cebc3 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A faster but less precise version of B. This clock is not " "settable. Use when you need very fast, but not fine-grained timestamps. " "Requires per-architecture support, and probably also architecture support " "for this flag in the B(7)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.10; Linux-specific)" msgstr "" #. commit 1ff3c9677bff7e468e0c487d0ffefe4e901d33f4 #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "A nonsettable system-wide clock derived from wall-clock time but counting " "leap seconds. This clock does not experience discontinuities or frequency " "adjustments caused by inserting leap seconds as B does." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The acronym TAI refers to International Atomic Time." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A nonsettable system-wide clock that represents monotonic time since\\[em]as " "described by POSIX\\[em]\"some unspecified point in the past\". On Linux, " "that point corresponds to the number of seconds that the system has been " "running since it was booted." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The B clock is not affected by discontinuous jumps in the " "system time (e.g., if the system administrator manually changes the clock), " "but is affected by frequency adjustments. This clock does not count time " "that the system is suspended. All B variants guarantee " "that the time returned by consecutive calls will not go backwards, but " "successive calls may\\[em]depending on the architecture\\[em]return " "identical (not-increased) time values." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.32; Linux-specific)" msgstr "" #. Added in commit da15cfdae03351c689736f8d142618592e3cebc3 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A faster but less precise version of B. Use when you need " "very fast, but not fine-grained timestamps. Requires per-architecture " "support, and probably also architecture support for this flag in the " "B(7)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.28; Linux-specific)" msgstr "" #. Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Similar to B, but provides access to a raw hardware-based " "time that is not subject to frequency adjustments. This clock does not " "count time that the system is suspended." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.39; Linux-specific)" msgstr "" #. commit 7fdd7f89006dd5a4c702fa0ce0c272345fa44ae0 #. commit 70a08cca1227dc31c784ec930099a4417a06e7d0 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A nonsettable system-wide clock that is identical to B, " "except that it also includes any time that the system is suspended. This " "allows applications to get a suspend-aware monotonic clock without having to " "deal with the complications of B, which may have " "discontinuities if the time is changed using B(2) or similar." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.0; Linux-specific)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Like B. See B(2) for further details." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.12)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This is a clock that measures CPU time consumed by this process (i.e., CPU " "time consumed by all threads in the process). On Linux, this clock is not " "settable." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.12)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This is a clock that measures CPU time consumed by this thread. On Linux, " "this clock is not settable." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux also implements dynamic clock instances as described below." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Dynamic clocks" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In addition to the hard-coded System-V style clock IDs described above, " "Linux also supports POSIX clock operations on certain character devices. " "Such devices are called \"dynamic\" clocks, and are supported since Linux " "2.6.39." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Using the appropriate macros, open file descriptors may be converted into " "clock IDs and passed to B(), B(), and " "B(2). The following example shows how to convert a file " "descriptor into a dynamic clock ID." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#define CLOCKFD 3\n" "#define FD_TO_CLOCKID(fd) ((\\[ti](clockid_t) (fd) EE 3) | CLOCKFD)\n" "#define CLOCKID_TO_FD(clk) ((unsigned int) \\[ti]((clk) EE 3))\n" "\\&\n" "struct timespec ts;\n" "clockid_t clkid;\n" "int fd;\n" "\\&\n" "fd = open(\"/dev/ptp0\", O_RDWR);\n" "clkid = FD_TO_CLOCKID(fd);\n" "clock_gettime(clkid, &ts);\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(), B(), and B() return 0 for " "success. On error, -1 is returned and I is set to indicate the error." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() does not have write permission for the dynamic POSIX " "clock device indicated." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I points outside the accessible address space." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. Linux also gives this error on attempts to set CLOCK_PROCESS_CPUTIME_ID #. and CLOCK_THREAD_CPUTIME_ID, when probably the proper error should be #. EPERM. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I specified is invalid for one of two reasons. Either the " "System-V style hard coded positive value is out of range, or the dynamic " "clock ID does not refer to a valid instance of a clock object." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(B()): I is negative or I is outside " "the range [0, 999,999,999]." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I specified in a call to B() is not a settable " "clock." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.3)" msgstr "" #. commit e1d7ba8735551ed79c7a0463a042353574b96da3 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A call to B() with a I of B " "attempted to set the time to a value less than the current value of the " "B clock." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The hot-pluggable device (like USB for example) represented by a dynamic " "I has disappeared after its character device was opened." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The operation is not supported by the dynamic POSIX clock device specified." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "The timestamp would not fit in I range. This can happen if an " "executable with 32-bit I is run on a 64-bit kernel when the time is " "2038-01-19 03:14:08 UTC or later. However, when the system time is out of " "I range in other situations, the behavior is undefined." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() does not have permission to set the clock indicated." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr "" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B(),\n" "B(),\n" "B()" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1 specifies the following:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Setting the value of the B clock via B() " "shall have no effect on threads that are blocked waiting for a relative time " "service based upon this clock, including the B() function; nor " "on the expiration of relative timers based upon this clock. Consequently, " "these time services shall expire when the requested relative interval " "elapses, independently of the new or old value of the clock." msgstr "" #. See http://bugzilla.kernel.org/show_bug.cgi?id=11972 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "According to POSIX.1-2001, a process with \"appropriate privileges\" may set " "the B and B clocks using " "B(). On Linux, these clocks are not settable (i.e., no " "process has \"appropriate privileges\")." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On some architectures, an implementation of B() is provided " "in the B(7)." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "" #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001, SUSv2. Linux 2.6." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "On POSIX systems on which these functions are available, the symbol " "B<_POSIX_TIMERS> is defined in Iunistd.hE> to a value greater than " "0. POSIX.1-2008 makes these functions mandatory." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "The symbols B<_POSIX_MONOTONIC_CLOCK>, B<_POSIX_CPUTIME>, " "B<_POSIX_THREAD_CPUTIME> indicate that B, " "B, B are available. (See " "also B(3).)" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Historical note for SMP systems" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Before Linux added kernel support for B and " "B, glibc implemented these clocks on many platforms " "using timer registers from the CPUs (TSC on i386, AR.ITC on Itanium). These " "registers may differ between CPUs and as a consequence these clocks may " "return B if a process is migrated to another CPU." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the CPUs in an SMP system have different clock sources, then there is no " "way to maintain a correlation between the timer registers since each CPU " "will run at a slightly different frequency. If that is the case, then " "I will return B to signify this condition. " "The two clocks will then be useful only if it can be ensured that a process " "stays on a certain CPU." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The processors in an SMP system do not start all at exactly the same time " "and therefore the timer registers are typically running at an offset. Some " "architectures include code that attempts to limit these offsets on bootup. " "However, the code cannot guarantee to accurately tune the offsets. glibc " "contains no provisions to deal with these offsets (unlike the Linux " "Kernel). Typically these offsets are small and therefore the effects may be " "negligible in most cases." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Since glibc 2.4, the wrapper functions for the system calls described in " "this page avoid the abovementioned problems by employing the kernel " "implementation of B and " "B, on systems that provide such an implementation " "(i.e., Linux 2.6.12 and later)." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program below demonstrates the use of B() and " "B() with various clocks. This is an example of what we might " "see when running the program:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B<./clock_times x>\n" "CLOCK_REALTIME : 1585985459.446 (18356 days + 7h 30m 59s)\n" " resolution: 0.000000001\n" "CLOCK_TAI : 1585985496.447 (18356 days + 7h 31m 36s)\n" " resolution: 0.000000001\n" "CLOCK_MONOTONIC: 52395.722 (14h 33m 15s)\n" " resolution: 0.000000001\n" "CLOCK_BOOTTIME : 72691.019 (20h 11m 31s)\n" " resolution: 0.000000001\n" msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/* clock_times.c\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#define _XOPEN_SOURCE 600\n" "#include Estdbool.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Etime.hE\n" "\\&\n" "#define SECS_IN_DAY (24 * 60 * 60)\n" "\\&\n" "static void\n" "displayClock(clockid_t clock, const char *name, bool showRes)\n" "{\n" " long days;\n" " struct timespec ts;\n" "\\&\n" " if (clock_gettime(clock, &ts) == -1) {\n" " perror(\"clock_gettime\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " printf(\"%-15s: %10jd.%03ld (\", name,\n" " (intmax_t) ts.tv_sec, ts.tv_nsec / 1000000);\n" "\\&\n" " days = ts.tv_sec / SECS_IN_DAY;\n" " if (days E 0)\n" " printf(\"%ld days + \", days);\n" "\\&\n" " printf(\"%2dh %2dm %2ds\",\n" " (int) (ts.tv_sec % SECS_IN_DAY) / 3600,\n" " (int) (ts.tv_sec % 3600) / 60,\n" " (int) ts.tv_sec % 60);\n" " printf(\")\\en\");\n" "\\&\n" " if (clock_getres(clock, &ts) == -1) {\n" " perror(\"clock_getres\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (showRes)\n" " printf(\" resolution: %10jd.%09ld\\en\",\n" " (intmax_t) ts.tv_sec, ts.tv_nsec);\n" "}\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " bool showRes = argc E 1;\n" "\\&\n" " displayClock(CLOCK_REALTIME, \"CLOCK_REALTIME\", showRes);\n" "#ifdef CLOCK_TAI\n" " displayClock(CLOCK_TAI, \"CLOCK_TAI\", showRes);\n" "#endif\n" " displayClock(CLOCK_MONOTONIC, \"CLOCK_MONOTONIC\", showRes);\n" "#ifdef CLOCK_BOOTTIME\n" " displayClock(CLOCK_BOOTTIME, \"CLOCK_BOOTTIME\", showRes);\n" "#endif\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(1), B(2), B(2), B