logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

nfnetlink_hook.h (2170B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _NFNL_HOOK_H_
  3. #define _NFNL_HOOK_H_
  4. enum nfnl_hook_msg_types {
  5. NFNL_MSG_HOOK_GET,
  6. NFNL_MSG_HOOK_MAX,
  7. };
  8. /**
  9. * enum nfnl_hook_attributes - netfilter hook netlink attributes
  10. *
  11. * @NFNLA_HOOK_HOOKNUM: netfilter hook number (NLA_U32)
  12. * @NFNLA_HOOK_PRIORITY: netfilter hook priority (NLA_U32)
  13. * @NFNLA_HOOK_DEV: netdevice name (NLA_STRING)
  14. * @NFNLA_HOOK_FUNCTION_NAME: hook function name (NLA_STRING)
  15. * @NFNLA_HOOK_MODULE_NAME: kernel module that registered this hook (NLA_STRING)
  16. * @NFNLA_HOOK_CHAIN_INFO: basechain hook metadata (NLA_NESTED)
  17. */
  18. enum nfnl_hook_attributes {
  19. NFNLA_HOOK_UNSPEC,
  20. NFNLA_HOOK_HOOKNUM,
  21. NFNLA_HOOK_PRIORITY,
  22. NFNLA_HOOK_DEV,
  23. NFNLA_HOOK_FUNCTION_NAME,
  24. NFNLA_HOOK_MODULE_NAME,
  25. NFNLA_HOOK_CHAIN_INFO,
  26. __NFNLA_HOOK_MAX
  27. };
  28. #define NFNLA_HOOK_MAX (__NFNLA_HOOK_MAX - 1)
  29. /**
  30. * enum nfnl_hook_chain_info_attributes - chain description
  31. *
  32. * @NFNLA_HOOK_INFO_DESC: nft chain and table name (NLA_NESTED)
  33. * @NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32)
  34. *
  35. * NFNLA_HOOK_INFO_DESC depends on NFNLA_HOOK_INFO_TYPE value:
  36. * NFNL_HOOK_TYPE_NFTABLES: enum nft_table_attributes
  37. * NFNL_HOOK_TYPE_BPF: enum nfnl_hook_bpf_attributes
  38. */
  39. enum nfnl_hook_chain_info_attributes {
  40. NFNLA_HOOK_INFO_UNSPEC,
  41. NFNLA_HOOK_INFO_DESC,
  42. NFNLA_HOOK_INFO_TYPE,
  43. __NFNLA_HOOK_INFO_MAX,
  44. };
  45. #define NFNLA_HOOK_INFO_MAX (__NFNLA_HOOK_INFO_MAX - 1)
  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. * enum nfnl_hook_chaintype - chain type
  56. *
  57. * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain
  58. * @NFNL_HOOK_TYPE_BPF: bpf program
  59. */
  60. enum nfnl_hook_chaintype {
  61. NFNL_HOOK_TYPE_NFTABLES = 0x1,
  62. NFNL_HOOK_TYPE_BPF,
  63. };
  64. /**
  65. * enum nfnl_hook_bpf_attributes - bpf prog description
  66. *
  67. * @NFNLA_HOOK_BPF_ID: bpf program id (NLA_U32)
  68. */
  69. enum nfnl_hook_bpf_attributes {
  70. NFNLA_HOOK_BPF_UNSPEC,
  71. NFNLA_HOOK_BPF_ID,
  72. __NFNLA_HOOK_BPF_MAX,
  73. };
  74. #define NFNLA_HOOK_BPF_MAX (__NFNLA_HOOK_BPF_MAX - 1)
  75. #endif /* _NFNL_HOOK_H */