/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _NFNL_HOOK_H_ #define _NFNL_HOOK_H_ enum nfnl_hook_msg_types { NFNL_MSG_HOOK_GET, NFNL_MSG_HOOK_MAX, }; /** * enum nfnl_hook_attributes - netfilter hook netlink attributes * * @NFNLA_HOOK_HOOKNUM: netfilter hook number (NLA_U32) * @NFNLA_HOOK_PRIORITY: netfilter hook priority (NLA_U32) * @NFNLA_HOOK_DEV: netdevice name (NLA_STRING) * @NFNLA_HOOK_FUNCTION_NAME: hook function name (NLA_STRING) * @NFNLA_HOOK_MODULE_NAME: kernel module that registered this hook (NLA_STRING) * @NFNLA_HOOK_CHAIN_INFO: basechain hook metadata (NLA_NESTED) */ enum nfnl_hook_attributes { NFNLA_HOOK_UNSPEC, NFNLA_HOOK_HOOKNUM, NFNLA_HOOK_PRIORITY, NFNLA_HOOK_DEV, NFNLA_HOOK_FUNCTION_NAME, NFNLA_HOOK_MODULE_NAME, NFNLA_HOOK_CHAIN_INFO, __NFNLA_HOOK_MAX }; #define NFNLA_HOOK_MAX (__NFNLA_HOOK_MAX - 1) /** * enum nfnl_hook_chain_info_attributes - chain description * * NFNLA_HOOK_INFO_DESC: nft chain and table name (enum nft_table_attributes) (NLA_NESTED) * NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32) */ enum nfnl_hook_chain_info_attributes { NFNLA_HOOK_INFO_UNSPEC, NFNLA_HOOK_INFO_DESC, NFNLA_HOOK_INFO_TYPE, __NFNLA_HOOK_INFO_MAX, }; #define NFNLA_HOOK_INFO_MAX (__NFNLA_HOOK_INFO_MAX - 1) enum nfnl_hook_chain_desc_attributes { NFNLA_CHAIN_UNSPEC, NFNLA_CHAIN_TABLE, NFNLA_CHAIN_FAMILY, NFNLA_CHAIN_NAME, __NFNLA_CHAIN_MAX, }; #define NFNLA_CHAIN_MAX (__NFNLA_CHAIN_MAX - 1) /** * enum nfnl_hook_chaintype - chain type * * @NFNL_HOOK_TYPE_NFTABLES nf_tables base chain */ enum nfnl_hook_chaintype { NFNL_HOOK_TYPE_NFTABLES = 0x1, }; #endif /* _NFNL_HOOK_H */