root/include/uapi/linux/netfilter/xt_set.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 #ifndef _XT_SET_H
   3 #define _XT_SET_H
   4 
   5 #include <linux/types.h>
   6 #include <linux/netfilter/ipset/ip_set.h>
   7 
   8 /* Revision 0 interface: backward compatible with netfilter/iptables */
   9 
  10 /*
  11  * Option flags for kernel operations (xt_set_info_v0)
  12  */
  13 #define IPSET_SRC               0x01    /* Source match/add */
  14 #define IPSET_DST               0x02    /* Destination match/add */
  15 #define IPSET_MATCH_INV         0x04    /* Inverse matching */
  16 
  17 struct xt_set_info_v0 {
  18         ip_set_id_t index;
  19         union {
  20                 __u32 flags[IPSET_DIM_MAX + 1];
  21                 struct {
  22                         __u32 __flags[IPSET_DIM_MAX];
  23                         __u8 dim;
  24                         __u8 flags;
  25                 } compat;
  26         } u;
  27 };
  28 
  29 /* match and target infos */
  30 struct xt_set_info_match_v0 {
  31         struct xt_set_info_v0 match_set;
  32 };
  33 
  34 struct xt_set_info_target_v0 {
  35         struct xt_set_info_v0 add_set;
  36         struct xt_set_info_v0 del_set;
  37 };
  38 
  39 /* Revision 1  match and target */
  40 
  41 struct xt_set_info {
  42         ip_set_id_t index;
  43         __u8 dim;
  44         __u8 flags;
  45 };
  46 
  47 /* match and target infos */
  48 struct xt_set_info_match_v1 {
  49         struct xt_set_info match_set;
  50 };
  51 
  52 struct xt_set_info_target_v1 {
  53         struct xt_set_info add_set;
  54         struct xt_set_info del_set;
  55 };
  56 
  57 /* Revision 2 target */
  58 
  59 struct xt_set_info_target_v2 {
  60         struct xt_set_info add_set;
  61         struct xt_set_info del_set;
  62         __u32 flags;
  63         __u32 timeout;
  64 };
  65 
  66 /* Revision 3 match */
  67 
  68 struct xt_set_info_match_v3 {
  69         struct xt_set_info match_set;
  70         struct ip_set_counter_match0 packets;
  71         struct ip_set_counter_match0 bytes;
  72         __u32 flags;
  73 };
  74 
  75 /* Revision 3 target */
  76 
  77 struct xt_set_info_target_v3 {
  78         struct xt_set_info add_set;
  79         struct xt_set_info del_set;
  80         struct xt_set_info map_set;
  81         __u32 flags;
  82         __u32 timeout;
  83 };
  84 
  85 /* Revision 4 match */
  86 
  87 struct xt_set_info_match_v4 {
  88         struct xt_set_info match_set;
  89         struct ip_set_counter_match packets;
  90         struct ip_set_counter_match bytes;
  91         __u32 flags;
  92 };
  93 
  94 #endif /*_XT_SET_H*/

/* [<][>][^][v][top][bottom][index][help] */