1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef _NFNL_HOOK_H_ 3 #define _NFNL_HOOK_H_ 4 5 enum nfnl_hook_msg_types { 6 NFNL_MSG_HOOK_GET, 7 NFNL_MSG_HOOK_MAX, 8 }; 9 10 /** 11 * enum nfnl_hook_attributes - netfilter hook netlink attributes 12 * 13 * @NFNLA_HOOK_HOOKNUM: netfilter hook number (NLA_U32) 14 * @NFNLA_HOOK_PRIORITY: netfilter hook priority (NLA_U32) 15 * @NFNLA_HOOK_DEV: netdevice name (NLA_STRING) 16 * @NFNLA_HOOK_FUNCTION_NAME: hook function name (NLA_STRING) 17 * @NFNLA_HOOK_MODULE_NAME: kernel module that registered this hook (NLA_STRING) 18 * @NFNLA_HOOK_CHAIN_INFO: basechain hook metadata (NLA_NESTED) 19 */ 20 enum nfnl_hook_attributes { 21 NFNLA_HOOK_UNSPEC, 22 NFNLA_HOOK_HOOKNUM, 23 NFNLA_HOOK_PRIORITY, 24 NFNLA_HOOK_DEV, 25 NFNLA_HOOK_FUNCTION_NAME, 26 NFNLA_HOOK_MODULE_NAME, 27 NFNLA_HOOK_CHAIN_INFO, 28 __NFNLA_HOOK_MAX 29 }; 30 #define NFNLA_HOOK_MAX (__NFNLA_HOOK_MAX - 1) 31 32 /** 33 * enum nfnl_hook_chain_info_attributes - chain description 34 * 35 * NFNLA_HOOK_INFO_DESC: nft chain and table name (enum nft_table_attributes) (NLA_NESTED) 36 * NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32) 37 */ 38 enum nfnl_hook_chain_info_attributes { 39 NFNLA_HOOK_INFO_UNSPEC, 40 NFNLA_HOOK_INFO_DESC, 41 NFNLA_HOOK_INFO_TYPE, 42 __NFNLA_HOOK_INFO_MAX, 43 }; 44 #define NFNLA_HOOK_INFO_MAX (__NFNLA_HOOK_INFO_MAX - 1) 45 46 /** 47 * enum nfnl_hook_chaintype - chain type 48 * 49 * @NFNL_HOOK_TYPE_NFTABLES nf_tables base chain 50 */ 51 enum nfnl_hook_chaintype { 52 NFNL_HOOK_TYPE_NFTABLES = 0x1, 53 }; 54 55 #endif /* _NFNL_HOOK_H */ 56