blob: 23a3e5903d7276e06cb1845a2bcd9ccc80917dd5 (
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#ifndef INTERNAL_H
#define INTERNAL_H 1
#include "config.h"
#ifdef HAVE_VISIBILITY_HIDDEN
# define __visible __attribute__((visibility("default")))
# define EXPORT_SYMBOL(x) typeof(x) (x) __visible
#else
# define EXPORT_SYMBOL
#endif
#include "linux_list.h"
#include <stdint.h>
#ifdef XML_PARSING
#include <mxml.h>
#endif
#define NFT_TABLE_XML_VERSION 0
#define NFT_CHAIN_XML_VERSION 0
#define NFT_RULE_XML_VERSION 0
#define NFT_TABLE_JSON_VERSION 0
#define NFT_CHAIN_JSON_VERSION 0
const char *nft_family2str(uint32_t family);
int nft_str2family(const char *family);
struct expr_ops;
struct nft_rule_expr {
struct list_head head;
uint32_t flags;
struct expr_ops *ops;
uint8_t data[];
};
struct nlattr;
struct nft_set {
struct list_head head;
uint32_t family;
uint32_t set_flags;
char *table;
char *name;
uint32_t key_type;
uint32_t key_len;
uint32_t data_type;
uint32_t data_len;
struct list_head element_list;
uint32_t flags;
};
#include "expr/data_reg.h"
struct nft_set_elem {
struct list_head head;
uint32_t set_elem_flags;
union nft_data_reg key;
union nft_data_reg data;
uint32_t flags;
};
#define SNPRINTF_BUFFER_SIZE(ret, size, len, offset) \
size += ret; \
if (ret > len) \
ret = len; \
offset += ret; \
len -= ret;
#endif
|