/* Generated by ./xlat/gen.sh from ./xlat/sigev_value.in; do not edit. */

static const struct xlat sigev_value[] = {
#if defined(SIGEV_SIGNAL) || (defined(HAVE_DECL_SIGEV_SIGNAL) && HAVE_DECL_SIGEV_SIGNAL)
 XLAT(SIGEV_SIGNAL),
#endif
#if defined(SIGEV_NONE) || (defined(HAVE_DECL_SIGEV_NONE) && HAVE_DECL_SIGEV_NONE)
 XLAT(SIGEV_NONE),
#endif
#if defined(SIGEV_THREAD) || (defined(HAVE_DECL_SIGEV_THREAD) && HAVE_DECL_SIGEV_THREAD)
 XLAT(SIGEV_THREAD),
#endif
#if defined(SIGEV_THREAD_ID) || (defined(HAVE_DECL_SIGEV_THREAD_ID) && HAVE_DECL_SIGEV_THREAD_ID)
 XLAT(SIGEV_THREAD_ID),
#endif
 XLAT_END
};
