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.h (2457B)


  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _NFNETLINK_H
  3. #define _NFNETLINK_H
  4. #include <linux/types.h>
  5. #include <linux/netfilter/nfnetlink_compat.h>
  6. enum nfnetlink_groups {
  7. NFNLGRP_NONE,
  8. #define NFNLGRP_NONE NFNLGRP_NONE
  9. NFNLGRP_CONNTRACK_NEW,
  10. #define NFNLGRP_CONNTRACK_NEW NFNLGRP_CONNTRACK_NEW
  11. NFNLGRP_CONNTRACK_UPDATE,
  12. #define NFNLGRP_CONNTRACK_UPDATE NFNLGRP_CONNTRACK_UPDATE
  13. NFNLGRP_CONNTRACK_DESTROY,
  14. #define NFNLGRP_CONNTRACK_DESTROY NFNLGRP_CONNTRACK_DESTROY
  15. NFNLGRP_CONNTRACK_EXP_NEW,
  16. #define NFNLGRP_CONNTRACK_EXP_NEW NFNLGRP_CONNTRACK_EXP_NEW
  17. NFNLGRP_CONNTRACK_EXP_UPDATE,
  18. #define NFNLGRP_CONNTRACK_EXP_UPDATE NFNLGRP_CONNTRACK_EXP_UPDATE
  19. NFNLGRP_CONNTRACK_EXP_DESTROY,
  20. #define NFNLGRP_CONNTRACK_EXP_DESTROY NFNLGRP_CONNTRACK_EXP_DESTROY
  21. NFNLGRP_NFTABLES,
  22. #define NFNLGRP_NFTABLES NFNLGRP_NFTABLES
  23. NFNLGRP_ACCT_QUOTA,
  24. #define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA
  25. NFNLGRP_NFTRACE,
  26. #define NFNLGRP_NFTRACE NFNLGRP_NFTRACE
  27. __NFNLGRP_MAX,
  28. };
  29. #define NFNLGRP_MAX (__NFNLGRP_MAX - 1)
  30. /* General form of address family dependent message.
  31. */
  32. struct nfgenmsg {
  33. __u8 nfgen_family; /* AF_xxx */
  34. __u8 version; /* nfnetlink version */
  35. __be16 res_id; /* resource id */
  36. };
  37. #define NFNETLINK_V0 0
  38. /* netfilter netlink message types are split in two pieces:
  39. * 8 bit subsystem, 8bit operation.
  40. */
  41. #define NFNL_SUBSYS_ID(x) ((x & 0xff00) >> 8)
  42. #define NFNL_MSG_TYPE(x) (x & 0x00ff)
  43. /* No enum here, otherwise __stringify() trick of MODULE_ALIAS_NFNL_SUBSYS()
  44. * won't work anymore */
  45. #define NFNL_SUBSYS_NONE 0
  46. #define NFNL_SUBSYS_CTNETLINK 1
  47. #define NFNL_SUBSYS_CTNETLINK_EXP 2
  48. #define NFNL_SUBSYS_QUEUE 3
  49. #define NFNL_SUBSYS_ULOG 4
  50. #define NFNL_SUBSYS_OSF 5
  51. #define NFNL_SUBSYS_IPSET 6
  52. #define NFNL_SUBSYS_ACCT 7
  53. #define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8
  54. #define NFNL_SUBSYS_CTHELPER 9
  55. #define NFNL_SUBSYS_NFTABLES 10
  56. #define NFNL_SUBSYS_NFT_COMPAT 11
  57. #define NFNL_SUBSYS_HOOK 12
  58. #define NFNL_SUBSYS_COUNT 13
  59. /* Reserved control nfnetlink messages */
  60. #define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE
  61. #define NFNL_MSG_BATCH_END NLMSG_MIN_TYPE+1
  62. /**
  63. * enum nfnl_batch_attributes - nfnetlink batch netlink attributes
  64. *
  65. * @NFNL_BATCH_GENID: generation ID for this changeset (NLA_U32)
  66. */
  67. enum nfnl_batch_attributes {
  68. NFNL_BATCH_UNSPEC,
  69. NFNL_BATCH_GENID,
  70. __NFNL_BATCH_MAX
  71. };
  72. #define NFNL_BATCH_MAX (__NFNL_BATCH_MAX - 1)
  73. #endif /* _NFNETLINK_H */