xt_set.h (1827B)
- /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
- #ifndef _XT_SET_H
- #define _XT_SET_H
- #include <linux/types.h>
- #include <linux/netfilter/ipset/ip_set.h>
- /* Revision 0 interface: backward compatible with netfilter/iptables */
- /*
- * Option flags for kernel operations (xt_set_info_v0)
- */
- #define IPSET_SRC 0x01 /* Source match/add */
- #define IPSET_DST 0x02 /* Destination match/add */
- #define IPSET_MATCH_INV 0x04 /* Inverse matching */
- struct xt_set_info_v0 {
- ip_set_id_t index;
- union {
- __u32 flags[IPSET_DIM_MAX + 1];
- struct {
- __u32 __flags[IPSET_DIM_MAX];
- __u8 dim;
- __u8 flags;
- } compat;
- } u;
- };
- /* match and target infos */
- struct xt_set_info_match_v0 {
- struct xt_set_info_v0 match_set;
- };
- struct xt_set_info_target_v0 {
- struct xt_set_info_v0 add_set;
- struct xt_set_info_v0 del_set;
- };
- /* Revision 1 match and target */
- struct xt_set_info {
- ip_set_id_t index;
- __u8 dim;
- __u8 flags;
- };
- /* match and target infos */
- struct xt_set_info_match_v1 {
- struct xt_set_info match_set;
- };
- struct xt_set_info_target_v1 {
- struct xt_set_info add_set;
- struct xt_set_info del_set;
- };
- /* Revision 2 target */
- struct xt_set_info_target_v2 {
- struct xt_set_info add_set;
- struct xt_set_info del_set;
- __u32 flags;
- __u32 timeout;
- };
- /* Revision 3 match */
- struct xt_set_info_match_v3 {
- struct xt_set_info match_set;
- struct ip_set_counter_match0 packets;
- struct ip_set_counter_match0 bytes;
- __u32 flags;
- };
- /* Revision 3 target */
- struct xt_set_info_target_v3 {
- struct xt_set_info add_set;
- struct xt_set_info del_set;
- struct xt_set_info map_set;
- __u32 flags;
- __u32 timeout;
- };
- /* Revision 4 match */
- struct xt_set_info_match_v4 {
- struct xt_set_info match_set;
- struct ip_set_counter_match packets;
- struct ip_set_counter_match bytes;
- __u32 flags;
- };
- #endif /*_XT_SET_H*/