/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _NFNL_HOOK_H_ #define _NFNL_HOOK_H_ enum nfnl_hook_msg_types { … }; /** * 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 { … }; #define NFNLA_HOOK_MAX … /** * enum nfnl_hook_chain_info_attributes - chain description * * @NFNLA_HOOK_INFO_DESC: nft chain and table name (NLA_NESTED) * @NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32) * * NFNLA_HOOK_INFO_DESC depends on NFNLA_HOOK_INFO_TYPE value: * NFNL_HOOK_TYPE_NFTABLES: enum nft_table_attributes * NFNL_HOOK_TYPE_BPF: enum nfnl_hook_bpf_attributes */ enum nfnl_hook_chain_info_attributes { … }; #define NFNLA_HOOK_INFO_MAX … enum nfnl_hook_chain_desc_attributes { … }; #define NFNLA_CHAIN_MAX … /** * enum nfnl_hook_chaintype - chain type * * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain * @NFNL_HOOK_TYPE_BPF: bpf program */ enum nfnl_hook_chaintype { … }; /** * enum nfnl_hook_bpf_attributes - bpf prog description * * @NFNLA_HOOK_BPF_ID: bpf program id (NLA_U32) */ enum nfnl_hook_bpf_attributes { … }; #define NFNLA_HOOK_BPF_MAX … #endif /* _NFNL_HOOK_H */