Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
ip_set.h File Reference
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/netlink.h>
#include <linux/netfilter.h>
#include <linux/netfilter/x_tables.h>
#include <linux/stringify.h>
#include <linux/vmalloc.h>
#include <net/netlink.h>
#include <uapi/linux/netfilter/ipset/ip_set.h>

Go to the source code of this file.

Data Structures

struct  ip_set_adt_opt
 
struct  ip_set_type_variant
 
struct  ip_set_type
 
struct  ip_set
 

Macros

#define _IP_SET_MODULE_DESC(a, b, c)   MODULE_DESCRIPTION(a " type of IP sets, revisions " b "-" c)
 
#define IP_SET_MODULE_DESC(a, b, c)   _IP_SET_MODULE_DESC(a, __stringify(b), __stringify(c))
 
#define ipset_nest_start(skb, attr)   nla_nest_start(skb, attr | NLA_F_NESTED)
 
#define ipset_nest_end(skb, start)   nla_nest_end(skb, start)
 

Typedefs

typedef int(* ipset_adtfn )(struct ip_set *set, void *value, u32 timeout, u32 flags)
 

Enumerations

enum  ip_set_feature {
  IPSET_TYPE_IP_FLAG = 0, IPSET_TYPE_IP = (1 << IPSET_TYPE_IP_FLAG), IPSET_TYPE_PORT_FLAG = 1, IPSET_TYPE_PORT = (1 << IPSET_TYPE_PORT_FLAG),
  IPSET_TYPE_MAC_FLAG = 2, IPSET_TYPE_MAC = (1 << IPSET_TYPE_MAC_FLAG), IPSET_TYPE_IP2_FLAG = 3, IPSET_TYPE_IP2 = (1 << IPSET_TYPE_IP2_FLAG),
  IPSET_TYPE_NAME_FLAG = 4, IPSET_TYPE_NAME = (1 << IPSET_TYPE_NAME_FLAG), IPSET_TYPE_IFACE_FLAG = 5, IPSET_TYPE_IFACE = (1 << IPSET_TYPE_IFACE_FLAG),
  IPSET_TYPE_NOMATCH_FLAG = 6, IPSET_TYPE_NOMATCH = (1 << IPSET_TYPE_NOMATCH_FLAG), IPSET_DUMP_LAST_FLAG = 7, IPSET_DUMP_LAST = (1 << IPSET_DUMP_LAST_FLAG)
}
 

Functions

int ip_set_type_register (struct ip_set_type *set_type)
 
void ip_set_type_unregister (struct ip_set_type *set_type)
 
ip_set_id_t ip_set_get_byname (const char *name, struct ip_set **set)
 
void ip_set_put_byindex (ip_set_id_t index)
 
const charip_set_name_byindex (ip_set_id_t index)
 
ip_set_id_t ip_set_nfnl_get (const char *name)
 
ip_set_id_t ip_set_nfnl_get_byindex (ip_set_id_t index)
 
void ip_set_nfnl_put (ip_set_id_t index)
 
int ip_set_add (ip_set_id_t id, const struct sk_buff *skb, const struct xt_action_param *par, const struct ip_set_adt_opt *opt)
 
int ip_set_del (ip_set_id_t id, const struct sk_buff *skb, const struct xt_action_param *par, const struct ip_set_adt_opt *opt)
 
int ip_set_test (ip_set_id_t id, const struct sk_buff *skb, const struct xt_action_param *par, const struct ip_set_adt_opt *opt)
 
voidip_set_alloc (size_t size)
 
void ip_set_free (void *members)
 
int ip_set_get_ipaddr4 (struct nlattr *nla, __be32 *ipaddr)
 
int ip_set_get_ipaddr6 (struct nlattr *nla, union nf_inet_addr *ipaddr)
 

Macro Definition Documentation

#define _IP_SET_MODULE_DESC (   a,
  b,
  c 
)    MODULE_DESCRIPTION(a " type of IP sets, revisions " b "-" c)

Definition at line 23 of file ip_set.h.

#define IP_SET_MODULE_DESC (   a,
  b,
  c 
)    _IP_SET_MODULE_DESC(a, __stringify(b), __stringify(c))

Definition at line 25 of file ip_set.h.

#define ipset_nest_end (   skb,
  start 
)    nla_nest_end(skb, start)

Definition at line 230 of file ip_set.h.

#define ipset_nest_start (   skb,
  attr 
)    nla_nest_start(skb, attr | NLA_F_NESTED)

Definition at line 229 of file ip_set.h.

Typedef Documentation

typedef int(* ipset_adtfn)(struct ip_set *set, void *value, u32 timeout, u32 flags)

Definition at line 52 of file ip_set.h.

Enumeration Type Documentation

Enumerator:
IPSET_TYPE_IP_FLAG 
IPSET_TYPE_IP 
IPSET_TYPE_PORT_FLAG 
IPSET_TYPE_PORT 
IPSET_TYPE_MAC_FLAG 
IPSET_TYPE_MAC 
IPSET_TYPE_IP2_FLAG 
IPSET_TYPE_IP2 
IPSET_TYPE_NAME_FLAG 
IPSET_TYPE_NAME 
IPSET_TYPE_IFACE_FLAG 
IPSET_TYPE_IFACE 
IPSET_TYPE_NOMATCH_FLAG 
IPSET_TYPE_NOMATCH 
IPSET_DUMP_LAST_FLAG 
IPSET_DUMP_LAST 

Definition at line 29 of file ip_set.h.

Function Documentation

int ip_set_add ( ip_set_id_t  id,
const struct sk_buff skb,
const struct xt_action_param par,
const struct ip_set_adt_opt opt 
)

Definition at line 387 of file ip_set_core.c.

void* ip_set_alloc ( size_t  size)

Definition at line 231 of file ip_set_core.c.

int ip_set_del ( ip_set_id_t  id,
const struct sk_buff skb,
const struct xt_action_param par,
const struct ip_set_adt_opt opt 
)

Definition at line 410 of file ip_set_core.c.

void ip_set_free ( void members)

Definition at line 253 of file ip_set_core.c.

ip_set_id_t ip_set_get_byname ( const char name,
struct ip_set **  set 
)

Definition at line 438 of file ip_set_core.c.

int ip_set_get_ipaddr4 ( struct nlattr nla,
__be32 ipaddr 
)

Definition at line 277 of file ip_set_core.c.

int ip_set_get_ipaddr6 ( struct nlattr nla,
union nf_inet_addr ipaddr 
)

Definition at line 294 of file ip_set_core.c.

const char* ip_set_name_byindex ( ip_set_id_t  index)

Definition at line 478 of file ip_set_core.c.

ip_set_id_t ip_set_nfnl_get ( const char name)

Definition at line 502 of file ip_set_core.c.

ip_set_id_t ip_set_nfnl_get_byindex ( ip_set_id_t  index)

Definition at line 522 of file ip_set_core.c.

void ip_set_nfnl_put ( ip_set_id_t  index)

Definition at line 546 of file ip_set_core.c.

void ip_set_put_byindex ( ip_set_id_t  index)

Definition at line 463 of file ip_set_core.c.

int ip_set_test ( ip_set_id_t  id,
const struct sk_buff skb,
const struct xt_action_param par,
const struct ip_set_adt_opt opt 
)

Definition at line 348 of file ip_set_core.c.

int ip_set_type_register ( struct ip_set_type set_type)

Definition at line 176 of file ip_set_core.c.

void ip_set_type_unregister ( struct ip_set_type set_type)

Definition at line 210 of file ip_set_core.c.