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

static const struct xlat icmpfilterflags[] = {
#if defined(ICMP_ECHOREPLY) || (defined(HAVE_DECL_ICMP_ECHOREPLY) && HAVE_DECL_ICMP_ECHOREPLY)
	{ 1<<ICMP_ECHOREPLY, "ICMP_ECHOREPLY" },
#endif
#if defined(ICMP_DEST_UNREACH) || (defined(HAVE_DECL_ICMP_DEST_UNREACH) && HAVE_DECL_ICMP_DEST_UNREACH)
	{ 1<<ICMP_DEST_UNREACH, "ICMP_DEST_UNREACH" },
#endif
#if defined(ICMP_SOURCE_QUENCH) || (defined(HAVE_DECL_ICMP_SOURCE_QUENCH) && HAVE_DECL_ICMP_SOURCE_QUENCH)
	{ 1<<ICMP_SOURCE_QUENCH, "ICMP_SOURCE_QUENCH" },
#endif
#if defined(ICMP_REDIRECT) || (defined(HAVE_DECL_ICMP_REDIRECT) && HAVE_DECL_ICMP_REDIRECT)
	{ 1<<ICMP_REDIRECT, "ICMP_REDIRECT" },
#endif
#if defined(ICMP_ECHO) || (defined(HAVE_DECL_ICMP_ECHO) && HAVE_DECL_ICMP_ECHO)
	{ 1<<ICMP_ECHO, "ICMP_ECHO" },
#endif
#if defined(ICMP_TIME_EXCEEDED) || (defined(HAVE_DECL_ICMP_TIME_EXCEEDED) && HAVE_DECL_ICMP_TIME_EXCEEDED)
	{ 1<<ICMP_TIME_EXCEEDED, "ICMP_TIME_EXCEEDED" },
#endif
#if defined(ICMP_PARAMETERPROB) || (defined(HAVE_DECL_ICMP_PARAMETERPROB) && HAVE_DECL_ICMP_PARAMETERPROB)
	{ 1<<ICMP_PARAMETERPROB, "ICMP_PARAMETERPROB" },
#endif
#if defined(ICMP_TIMESTAMP) || (defined(HAVE_DECL_ICMP_TIMESTAMP) && HAVE_DECL_ICMP_TIMESTAMP)
	{ 1<<ICMP_TIMESTAMP, "ICMP_TIMESTAMP" },
#endif
#if defined(ICMP_TIMESTAMPREPLY) || (defined(HAVE_DECL_ICMP_TIMESTAMPREPLY) && HAVE_DECL_ICMP_TIMESTAMPREPLY)
	{ 1<<ICMP_TIMESTAMPREPLY, "ICMP_TIMESTAMPREPLY" },
#endif
#if defined(ICMP_INFO_REQUEST) || (defined(HAVE_DECL_ICMP_INFO_REQUEST) && HAVE_DECL_ICMP_INFO_REQUEST)
	{ 1<<ICMP_INFO_REQUEST, "ICMP_INFO_REQUEST" },
#endif
#if defined(ICMP_INFO_REPLY) || (defined(HAVE_DECL_ICMP_INFO_REPLY) && HAVE_DECL_ICMP_INFO_REPLY)
	{ 1<<ICMP_INFO_REPLY, "ICMP_INFO_REPLY" },
#endif
#if defined(ICMP_ADDRESS) || (defined(HAVE_DECL_ICMP_ADDRESS) && HAVE_DECL_ICMP_ADDRESS)
	{ 1<<ICMP_ADDRESS, "ICMP_ADDRESS" },
#endif
#if defined(ICMP_ADDRESSREPLY) || (defined(HAVE_DECL_ICMP_ADDRESSREPLY) && HAVE_DECL_ICMP_ADDRESSREPLY)
	{ 1<<ICMP_ADDRESSREPLY, "ICMP_ADDRESSREPLY" },
#endif
	XLAT_END
};
