time.h: Introduce Linux-specific CLOCK id values

- Add CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_RAW,
  CLOCK_MONOTONIC_COARSE and CLOCK_BOOTTIME

- Guard new values with __GNU_VISIBLE

- Add CLOCK_REALTIME_COARSE as (clockid_t) 0 for simplicity
  (It allows to have all values < 8 and so be used as array
   index into an array of clocks)

- Fix macro bracketing

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2018-11-28 22:49:30 +01:00
parent 6df301076a
commit f4d6ef2d41
1 changed files with 18 additions and 4 deletions

View File

@ -251,7 +251,11 @@ extern "C" {
/* Manifest Constants, P1003.1b-1993, p. 262 */ /* Manifest Constants, P1003.1b-1993, p. 262 */
#define CLOCK_REALTIME (clockid_t)1 #if __GNU_VISIBLE
#define CLOCK_REALTIME_COARSE ((clockid_t) 0)
#endif
#define CLOCK_REALTIME ((clockid_t) 1)
/* Flag indicating time is "absolute" with respect to the clock /* Flag indicating time is "absolute" with respect to the clock
associated with a time. */ associated with a time. */
@ -266,7 +270,7 @@ extern "C" {
the identifier of the CPU_time clock associated with the PROCESS the identifier of the CPU_time clock associated with the PROCESS
making the function call. */ making the function call. */
#define CLOCK_PROCESS_CPUTIME_ID (clockid_t)2 #define CLOCK_PROCESS_CPUTIME_ID ((clockid_t) 2)
#endif #endif
@ -276,7 +280,7 @@ extern "C" {
the identifier of the CPU_time clock associated with the THREAD the identifier of the CPU_time clock associated with the THREAD
making the function call. */ making the function call. */
#define CLOCK_THREAD_CPUTIME_ID (clockid_t)3 #define CLOCK_THREAD_CPUTIME_ID ((clockid_t) 3)
#endif #endif
@ -286,7 +290,17 @@ extern "C" {
* as a clock whose value cannot be set via clock_settime() and which * as a clock whose value cannot be set via clock_settime() and which
* cannot have backward clock jumps. */ * cannot have backward clock jumps. */
#define CLOCK_MONOTONIC (clockid_t)4 #define CLOCK_MONOTONIC ((clockid_t) 4)
#if __GNU_VISIBLE
#define CLOCK_MONOTONIC_RAW ((clockid_t) 5)
#define CLOCK_MONOTONIC_COARSE ((clockid_t) 6)
#define CLOCK_BOOTTIME ((clockid_t) 7)
#endif
#endif #endif