/* 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
};
