GNU Linux-libre 6.1.90-gnu
[releases.git] / include / uapi / linux / netfilter / nfnetlink_hook.h
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 enum nfnl_hook_chain_desc_attributes {
47         NFNLA_CHAIN_UNSPEC,
48         NFNLA_CHAIN_TABLE,
49         NFNLA_CHAIN_FAMILY,
50         NFNLA_CHAIN_NAME,
51         __NFNLA_CHAIN_MAX,
52 };
53 #define NFNLA_CHAIN_MAX (__NFNLA_CHAIN_MAX - 1)
54
55 /**
56  * enum nfnl_hook_chaintype - chain type
57  *
58  * @NFNL_HOOK_TYPE_NFTABLES nf_tables base chain
59  */
60 enum nfnl_hook_chaintype {
61         NFNL_HOOK_TYPE_NFTABLES = 0x1,
62 };
63
64 #endif /* _NFNL_HOOK_H */