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