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

static const struct xlat sigpoll_codes[] = {
#if defined(POLL_IN) || (defined(HAVE_DECL_POLL_IN) && HAVE_DECL_POLL_IN)
 XLAT(POLL_IN),
#endif
#if defined(POLL_OUT) || (defined(HAVE_DECL_POLL_OUT) && HAVE_DECL_POLL_OUT)
 XLAT(POLL_OUT),
#endif
#if defined(POLL_MSG) || (defined(HAVE_DECL_POLL_MSG) && HAVE_DECL_POLL_MSG)
 XLAT(POLL_MSG),
#endif
#if defined(POLL_ERR) || (defined(HAVE_DECL_POLL_ERR) && HAVE_DECL_POLL_ERR)
 XLAT(POLL_ERR),
#endif
#if defined(POLL_PRI) || (defined(HAVE_DECL_POLL_PRI) && HAVE_DECL_POLL_PRI)
 XLAT(POLL_PRI),
#endif
#if defined(POLL_HUP) || (defined(HAVE_DECL_POLL_HUP) && HAVE_DECL_POLL_HUP)
 XLAT(POLL_HUP),
#endif
 XLAT_END
};
