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