/* Generated by ./xlat/gen.sh from ./xlat/nf_cttimeout_msg_types.in; do not edit. */
#if !(defined(IPCTNL_MSG_TIMEOUT_NEW) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_NEW) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_NEW))
# define IPCTNL_MSG_TIMEOUT_NEW 0
#endif
#if !(defined(IPCTNL_MSG_TIMEOUT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_GET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_GET))
# define IPCTNL_MSG_TIMEOUT_GET 1
#endif
#if !(defined(IPCTNL_MSG_TIMEOUT_DELETE) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DELETE) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DELETE))
# define IPCTNL_MSG_TIMEOUT_DELETE 2
#endif
#if !(defined(IPCTNL_MSG_TIMEOUT_DEFAULT_SET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_SET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_SET))
# define IPCTNL_MSG_TIMEOUT_DEFAULT_SET 3
#endif
#if !(defined(IPCTNL_MSG_TIMEOUT_DEFAULT_GET) || (defined(HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_GET) && HAVE_DECL_IPCTNL_MSG_TIMEOUT_DEFAULT_GET))
# define IPCTNL_MSG_TIMEOUT_DEFAULT_GET 4
#endif

#ifdef IN_MPERS

# error static const struct xlat nf_cttimeout_msg_types in mpers mode

#else

static
const struct xlat nf_cttimeout_msg_types[] = {
 XLAT(IPCTNL_MSG_TIMEOUT_NEW),
 XLAT(IPCTNL_MSG_TIMEOUT_GET),
 XLAT(IPCTNL_MSG_TIMEOUT_DELETE),
 XLAT(IPCTNL_MSG_TIMEOUT_DEFAULT_SET),
 XLAT(IPCTNL_MSG_TIMEOUT_DEFAULT_GET),
 XLAT_END
};

#endif /* !IN_MPERS */
