summaryrefslogtreecommitdiffstats
path: root/iptables/nft-cache.h
blob: aeab4bdef904dc72aa508a4ff98fd8404aa706d0 (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
#ifndef _NFT_CACHE_H_
#define _NFT_CACHE_H_

#include <libiptc/linux_list.h>

struct nft_handle;
struct nft_cmd;

void nft_cache_level_set(struct nft_handle *h, int level,
			 const struct nft_cmd *cmd);
void nft_rebuild_cache(struct nft_handle *h);
void nft_release_cache(struct nft_handle *h);
void flush_chain_cache(struct nft_handle *h, const char *tablename);
int flush_rule_cache(struct nft_handle *h, const char *table,
		     struct nftnl_chain *c);
void nft_cache_build(struct nft_handle *h);

struct nftnl_chain_list *
nft_chain_list_get(struct nft_handle *h, const char *table, const char *chain);
struct nftnl_set_list *
nft_set_list_get(struct nft_handle *h, const char *table, const char *set);
struct list_head *nft_table_list_get(struct nft_handle *h);

struct nft_table {
	struct list_head        list;
	struct nftnl_table      *nftnl;
};


#endif /* _NFT_CACHE_H_ */