1 /* Generated by ./xlat/gen.sh from ./xlat/timerfdflags.in; do not edit. */ 2 #if !(defined(TFD_TIMER_ABSTIME) || (defined(HAVE_DECL_TFD_TIMER_ABSTIME) && HAVE_DECL_TFD_TIMER_ABSTIME)) 3 # define TFD_TIMER_ABSTIME (1 << 0) 4 #endif 5 #if !(defined(TFD_TIMER_CANCEL_ON_SET) || (defined(HAVE_DECL_TFD_TIMER_CANCEL_ON_SET) && HAVE_DECL_TFD_TIMER_CANCEL_ON_SET)) 6 # define TFD_TIMER_CANCEL_ON_SET (1 << 1) 7 #endif 8 #if defined TFD_CLOEXEC || defined O_CLOEXEC 9 #if !(defined(TFD_CLOEXEC) || (defined(HAVE_DECL_TFD_CLOEXEC) && HAVE_DECL_TFD_CLOEXEC)) 10 # define TFD_CLOEXEC O_CLOEXEC 11 #endif 12 #endif 13 #if !(defined(TFD_NONBLOCK) || (defined(HAVE_DECL_TFD_NONBLOCK) && HAVE_DECL_TFD_NONBLOCK)) 14 # define TFD_NONBLOCK O_NONBLOCK 15 #endif 16 17 #ifdef IN_MPERS 18 19 # error static const struct xlat timerfdflags in mpers mode 20 21 #else 22 23 static 24 const struct xlat timerfdflags[] = { 25 /* The Linux userspace headers didn't export these for a long time. */ 26 27 XLAT(TFD_TIMER_ABSTIME), 28 XLAT(TFD_TIMER_CANCEL_ON_SET), 29 #if defined TFD_CLOEXEC || defined O_CLOEXEC 30 XLAT(TFD_CLOEXEC), 31 #endif 32 XLAT(TFD_NONBLOCK), 33 XLAT_END 34 }; 35 36 #endif /* !IN_MPERS */ 37