/* Generated by ./xlat/gen.sh from ./xlat/nf_ctnetlink_msg_types.in; do not edit. */
#if !(defined(IPCTNL_MSG_CT_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_CT_NEW) && HAVE_DECL_IPCTNL_MSG_CT_NEW))
# define IPCTNL_MSG_CT_NEW 0
#endif
#if !(defined(IPCTNL_MSG_CT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET) && HAVE_DECL_IPCTNL_MSG_CT_GET))
# define IPCTNL_MSG_CT_GET 1
#endif
#if !(defined(IPCTNL_MSG_CT_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_CT_DELETE) && HAVE_DECL_IPCTNL_MSG_CT_DELETE))
# define IPCTNL_MSG_CT_DELETE 2
#endif
#if !(defined(IPCTNL_MSG_CT_GET_CTRZERO) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_CTRZERO) && HAVE_DECL_IPCTNL_MSG_CT_GET_CTRZERO))
# define IPCTNL_MSG_CT_GET_CTRZERO 3
#endif
#if !(defined(IPCTNL_MSG_CT_GET_STATS_CPU) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_STATS_CPU) && HAVE_DECL_IPCTNL_MSG_CT_GET_STATS_CPU))
# define IPCTNL_MSG_CT_GET_STATS_CPU 4
#endif
#if !(defined(IPCTNL_MSG_CT_GET_STATS) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_STATS) && HAVE_DECL_IPCTNL_MSG_CT_GET_STATS))
# define IPCTNL_MSG_CT_GET_STATS 5
#endif
#if !(defined(IPCTNL_MSG_CT_GET_DYING) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_DYING) && HAVE_DECL_IPCTNL_MSG_CT_GET_DYING))
# define IPCTNL_MSG_CT_GET_DYING 6
#endif
#if !(defined(IPCTNL_MSG_CT_GET_UNCONFIRMED) || (defined(HAVE_DECL_IPCTNL_MSG_CT_GET_UNCONFIRMED) && HAVE_DECL_IPCTNL_MSG_CT_GET_UNCONFIRMED))
# define IPCTNL_MSG_CT_GET_UNCONFIRMED 7
#endif

#ifdef IN_MPERS

# error static const struct xlat nf_ctnetlink_msg_types in mpers mode

#else

static
const struct xlat nf_ctnetlink_msg_types[] = {
 XLAT(IPCTNL_MSG_CT_NEW),
 XLAT(IPCTNL_MSG_CT_GET),
 XLAT(IPCTNL_MSG_CT_DELETE),
 XLAT(IPCTNL_MSG_CT_GET_CTRZERO),
 XLAT(IPCTNL_MSG_CT_GET_STATS_CPU),
 XLAT(IPCTNL_MSG_CT_GET_STATS),
 XLAT(IPCTNL_MSG_CT_GET_DYING),
 XLAT(IPCTNL_MSG_CT_GET_UNCONFIRMED),
 XLAT_END
};

#endif /* !IN_MPERS */
