/* Generated by ./xlat/gen.sh from ./xlat/nf_nftables_msg_types.in; do not edit. */
#if !(defined(NFT_MSG_NEWTABLE) || (defined(HAVE_DECL_NFT_MSG_NEWTABLE) && HAVE_DECL_NFT_MSG_NEWTABLE))
# define NFT_MSG_NEWTABLE 0
#endif
#if !(defined(NFT_MSG_GETTABLE) || (defined(HAVE_DECL_NFT_MSG_GETTABLE) && HAVE_DECL_NFT_MSG_GETTABLE))
# define NFT_MSG_GETTABLE 1
#endif
#if !(defined(NFT_MSG_DELTABLE) || (defined(HAVE_DECL_NFT_MSG_DELTABLE) && HAVE_DECL_NFT_MSG_DELTABLE))
# define NFT_MSG_DELTABLE 2
#endif
#if !(defined(NFT_MSG_NEWCHAIN) || (defined(HAVE_DECL_NFT_MSG_NEWCHAIN) && HAVE_DECL_NFT_MSG_NEWCHAIN))
# define NFT_MSG_NEWCHAIN 3
#endif
#if !(defined(NFT_MSG_GETCHAIN) || (defined(HAVE_DECL_NFT_MSG_GETCHAIN) && HAVE_DECL_NFT_MSG_GETCHAIN))
# define NFT_MSG_GETCHAIN 4
#endif
#if !(defined(NFT_MSG_DELCHAIN) || (defined(HAVE_DECL_NFT_MSG_DELCHAIN) && HAVE_DECL_NFT_MSG_DELCHAIN))
# define NFT_MSG_DELCHAIN 5
#endif
#if !(defined(NFT_MSG_NEWRULE) || (defined(HAVE_DECL_NFT_MSG_NEWRULE) && HAVE_DECL_NFT_MSG_NEWRULE))
# define NFT_MSG_NEWRULE 6
#endif
#if !(defined(NFT_MSG_GETRULE) || (defined(HAVE_DECL_NFT_MSG_GETRULE) && HAVE_DECL_NFT_MSG_GETRULE))
# define NFT_MSG_GETRULE 7
#endif
#if !(defined(NFT_MSG_DELRULE) || (defined(HAVE_DECL_NFT_MSG_DELRULE) && HAVE_DECL_NFT_MSG_DELRULE))
# define NFT_MSG_DELRULE 8
#endif
#if !(defined(NFT_MSG_NEWSET) || (defined(HAVE_DECL_NFT_MSG_NEWSET) && HAVE_DECL_NFT_MSG_NEWSET))
# define NFT_MSG_NEWSET 9
#endif
#if !(defined(NFT_MSG_GETSET) || (defined(HAVE_DECL_NFT_MSG_GETSET) && HAVE_DECL_NFT_MSG_GETSET))
# define NFT_MSG_GETSET 10
#endif
#if !(defined(NFT_MSG_DELSET) || (defined(HAVE_DECL_NFT_MSG_DELSET) && HAVE_DECL_NFT_MSG_DELSET))
# define NFT_MSG_DELSET 11
#endif
#if !(defined(NFT_MSG_NEWSETELEM) || (defined(HAVE_DECL_NFT_MSG_NEWSETELEM) && HAVE_DECL_NFT_MSG_NEWSETELEM))
# define NFT_MSG_NEWSETELEM 12
#endif
#if !(defined(NFT_MSG_GETSETELEM) || (defined(HAVE_DECL_NFT_MSG_GETSETELEM) && HAVE_DECL_NFT_MSG_GETSETELEM))
# define NFT_MSG_GETSETELEM 13
#endif
#if !(defined(NFT_MSG_DELSETELEM) || (defined(HAVE_DECL_NFT_MSG_DELSETELEM) && HAVE_DECL_NFT_MSG_DELSETELEM))
# define NFT_MSG_DELSETELEM 14
#endif
#if !(defined(NFT_MSG_NEWGEN) || (defined(HAVE_DECL_NFT_MSG_NEWGEN) && HAVE_DECL_NFT_MSG_NEWGEN))
# define NFT_MSG_NEWGEN 15
#endif
#if !(defined(NFT_MSG_GETGEN) || (defined(HAVE_DECL_NFT_MSG_GETGEN) && HAVE_DECL_NFT_MSG_GETGEN))
# define NFT_MSG_GETGEN 16
#endif
#if !(defined(NFT_MSG_TRACE) || (defined(HAVE_DECL_NFT_MSG_TRACE) && HAVE_DECL_NFT_MSG_TRACE))
# define NFT_MSG_TRACE 17
#endif
#if !(defined(NFT_MSG_NEWOBJ) || (defined(HAVE_DECL_NFT_MSG_NEWOBJ) && HAVE_DECL_NFT_MSG_NEWOBJ))
# define NFT_MSG_NEWOBJ 18
#endif
#if !(defined(NFT_MSG_GETOBJ) || (defined(HAVE_DECL_NFT_MSG_GETOBJ) && HAVE_DECL_NFT_MSG_GETOBJ))
# define NFT_MSG_GETOBJ 19
#endif
#if !(defined(NFT_MSG_DELOBJ) || (defined(HAVE_DECL_NFT_MSG_DELOBJ) && HAVE_DECL_NFT_MSG_DELOBJ))
# define NFT_MSG_DELOBJ 20
#endif
#if !(defined(NFT_MSG_GETOBJ_RESET) || (defined(HAVE_DECL_NFT_MSG_GETOBJ_RESET) && HAVE_DECL_NFT_MSG_GETOBJ_RESET))
# define NFT_MSG_GETOBJ_RESET 21
#endif

#ifdef IN_MPERS

# error static const struct xlat nf_nftables_msg_types in mpers mode

#else

static
const struct xlat nf_nftables_msg_types[] = {
 XLAT(NFT_MSG_NEWTABLE),
 XLAT(NFT_MSG_GETTABLE),
 XLAT(NFT_MSG_DELTABLE),
 XLAT(NFT_MSG_NEWCHAIN),
 XLAT(NFT_MSG_GETCHAIN),
 XLAT(NFT_MSG_DELCHAIN),
 XLAT(NFT_MSG_NEWRULE),
 XLAT(NFT_MSG_GETRULE),
 XLAT(NFT_MSG_DELRULE),
 XLAT(NFT_MSG_NEWSET),
 XLAT(NFT_MSG_GETSET),
 XLAT(NFT_MSG_DELSET),
 XLAT(NFT_MSG_NEWSETELEM),
 XLAT(NFT_MSG_GETSETELEM),
 XLAT(NFT_MSG_DELSETELEM),
 XLAT(NFT_MSG_NEWGEN),
 XLAT(NFT_MSG_GETGEN),
 XLAT(NFT_MSG_TRACE),
 XLAT(NFT_MSG_NEWOBJ),
 XLAT(NFT_MSG_GETOBJ),
 XLAT(NFT_MSG_DELOBJ),
 XLAT(NFT_MSG_GETOBJ_RESET),
 XLAT_END
};

#endif /* !IN_MPERS */
