/* Generated by ./xlat/gen.sh from ./xlat/clocknames.in; do not edit. */
#if !(defined(CLOCK_REALTIME) || (defined(HAVE_DECL_CLOCK_REALTIME) && HAVE_DECL_CLOCK_REALTIME))
# define CLOCK_REALTIME 0
#endif
#if !(defined(CLOCK_MONOTONIC) || (defined(HAVE_DECL_CLOCK_MONOTONIC) && HAVE_DECL_CLOCK_MONOTONIC))
# define CLOCK_MONOTONIC 1
#endif
#if !(defined(CLOCK_PROCESS_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID) && HAVE_DECL_CLOCK_PROCESS_CPUTIME_ID))
# define CLOCK_PROCESS_CPUTIME_ID 2
#endif
#if !(defined(CLOCK_THREAD_CPUTIME_ID) || (defined(HAVE_DECL_CLOCK_THREAD_CPUTIME_ID) && HAVE_DECL_CLOCK_THREAD_CPUTIME_ID))
# define CLOCK_THREAD_CPUTIME_ID 3
#endif
#if !(defined(CLOCK_MONOTONIC_RAW) || (defined(HAVE_DECL_CLOCK_MONOTONIC_RAW) && HAVE_DECL_CLOCK_MONOTONIC_RAW))
# define CLOCK_MONOTONIC_RAW 4
#endif
#if !(defined(CLOCK_REALTIME_COARSE) || (defined(HAVE_DECL_CLOCK_REALTIME_COARSE) && HAVE_DECL_CLOCK_REALTIME_COARSE))
# define CLOCK_REALTIME_COARSE 5
#endif
#if !(defined(CLOCK_MONOTONIC_COARSE) || (defined(HAVE_DECL_CLOCK_MONOTONIC_COARSE) && HAVE_DECL_CLOCK_MONOTONIC_COARSE))
# define CLOCK_MONOTONIC_COARSE 6
#endif
#if !(defined(CLOCK_BOOTTIME) || (defined(HAVE_DECL_CLOCK_BOOTTIME) && HAVE_DECL_CLOCK_BOOTTIME))
# define CLOCK_BOOTTIME 7
#endif
#if !(defined(CLOCK_REALTIME_ALARM) || (defined(HAVE_DECL_CLOCK_REALTIME_ALARM) && HAVE_DECL_CLOCK_REALTIME_ALARM))
# define CLOCK_REALTIME_ALARM 8
#endif
#if !(defined(CLOCK_BOOTTIME_ALARM) || (defined(HAVE_DECL_CLOCK_BOOTTIME_ALARM) && HAVE_DECL_CLOCK_BOOTTIME_ALARM))
# define CLOCK_BOOTTIME_ALARM 9
#endif
#if !(defined(CLOCK_SGI_CYCLE) || (defined(HAVE_DECL_CLOCK_SGI_CYCLE) && HAVE_DECL_CLOCK_SGI_CYCLE))
# define CLOCK_SGI_CYCLE 10
#endif
#if !(defined(CLOCK_TAI) || (defined(HAVE_DECL_CLOCK_TAI) && HAVE_DECL_CLOCK_TAI))
# define CLOCK_TAI 11
#endif

#ifndef IN_MPERS

const struct xlat clocknames[] = {
 XLAT(CLOCK_REALTIME),
 XLAT(CLOCK_MONOTONIC),
 XLAT(CLOCK_PROCESS_CPUTIME_ID),
 XLAT(CLOCK_THREAD_CPUTIME_ID),
 XLAT(CLOCK_MONOTONIC_RAW),
 XLAT(CLOCK_REALTIME_COARSE),
 XLAT(CLOCK_MONOTONIC_COARSE),
 XLAT(CLOCK_BOOTTIME),
 XLAT(CLOCK_REALTIME_ALARM),
 XLAT(CLOCK_BOOTTIME_ALARM),
 XLAT(CLOCK_SGI_CYCLE),
 XLAT(CLOCK_TAI),
 XLAT_END
};

#endif /* !IN_MPERS */
