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

#ifdef IN_MPERS

# error static const struct xlat pollflags in mpers mode

#else

static
const struct xlat pollflags[] = {
#if defined(POLLIN) || (defined(HAVE_DECL_POLLIN) && HAVE_DECL_POLLIN)
  XLAT(POLLIN),
#endif
#if defined(POLLPRI) || (defined(HAVE_DECL_POLLPRI) && HAVE_DECL_POLLPRI)
  XLAT(POLLPRI),
#endif
#if defined(POLLOUT) || (defined(HAVE_DECL_POLLOUT) && HAVE_DECL_POLLOUT)
  XLAT(POLLOUT),
#endif
#if defined(POLLRDNORM) || (defined(HAVE_DECL_POLLRDNORM) && HAVE_DECL_POLLRDNORM)
  XLAT(POLLRDNORM),
#endif
#if defined(POLLWRNORM) || (defined(HAVE_DECL_POLLWRNORM) && HAVE_DECL_POLLWRNORM)
  XLAT(POLLWRNORM),
#endif
#if defined(POLLRDBAND) || (defined(HAVE_DECL_POLLRDBAND) && HAVE_DECL_POLLRDBAND)
  XLAT(POLLRDBAND),
#endif
#if defined(POLLWRBAND) || (defined(HAVE_DECL_POLLWRBAND) && HAVE_DECL_POLLWRBAND)
  XLAT(POLLWRBAND),
#endif
#if defined(POLLERR) || (defined(HAVE_DECL_POLLERR) && HAVE_DECL_POLLERR)
  XLAT(POLLERR),
#endif
#if defined(POLLHUP) || (defined(HAVE_DECL_POLLHUP) && HAVE_DECL_POLLHUP)
  XLAT(POLLHUP),
#endif
#if defined(POLLNVAL) || (defined(HAVE_DECL_POLLNVAL) && HAVE_DECL_POLLNVAL)
  XLAT(POLLNVAL),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
