summaryrefslogtreecommitdiffstats
path: root/include/set.h
blob: 29b9ce5e3e168a1059a57f358390251b1765804a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef _LIBNFTNL_SET_INTERNAL_H_
#define _LIBNFTNL_SET_INTERNAL_H_

#include <linux/netfilter/nf_tables.h>

struct nft_set {
	struct list_head	head;

	uint32_t		family;
	uint32_t		set_flags;
	const char		*table;
	const char		*name;
	uint32_t		key_type;
	uint32_t		key_len;
	uint32_t		data_type;
	uint32_t		data_len;
	uint32_t		id;
	enum nft_set_policies	policy;
	struct {
		uint32_t	size;
	} desc;
	struct list_head	element_list;

	uint32_t		flags;
};

struct nft_set_list;
struct nft_rule_expr;
int nft_set_lookup_id(struct nft_rule_expr *e, struct nft_set_list *set_list,
		      uint32_t *set_id);

#endif