12#include <netlink/netlink.h>
13#include <netlink/addr.h>
14#include <netlink/cache.h>
15#include <netlink/msg.h>
17#include <linux/version.h>
26 NFNL_EXP_TUPLE_EXPECT,
27 NFNL_EXP_TUPLE_MASTER,
33extern struct nl_object_ops exp_obj_ops;
35extern struct nfnl_exp * nfnl_exp_alloc(
void);
38extern int nfnlmsg_exp_group(
struct nlmsghdr *);
39extern int nfnlmsg_exp_parse(
struct nlmsghdr *,
struct nfnl_exp **);
41extern void nfnl_exp_get(
struct nfnl_exp *);
42extern void nfnl_exp_put(
struct nfnl_exp *);
46extern int nfnl_exp_build_add_request(
const struct nfnl_exp *,
int,
48extern int nfnl_exp_add(
struct nl_sock *,
const struct nfnl_exp *,
int);
50extern int nfnl_exp_build_delete_request(
const struct nfnl_exp *,
int,
52extern int nfnl_exp_del(
struct nl_sock *,
const struct nfnl_exp *,
int);
54extern int nfnl_exp_build_query_request(
const struct nfnl_exp *,
int,
56extern int nfnl_exp_query(
struct nl_sock *,
const struct nfnl_exp *,
int);
58extern void nfnl_exp_set_family(
struct nfnl_exp *, uint8_t);
59extern uint8_t nfnl_exp_get_family(
const struct nfnl_exp *);
61extern void nfnl_exp_set_timeout(
struct nfnl_exp *, uint32_t);
62extern int nfnl_exp_test_timeout(
const struct nfnl_exp *);
63extern uint32_t nfnl_exp_get_timeout(
const struct nfnl_exp *);
65extern void nfnl_exp_set_id(
struct nfnl_exp *, uint32_t);
66extern int nfnl_exp_test_id(
const struct nfnl_exp *);
67extern uint32_t nfnl_exp_get_id(
const struct nfnl_exp *);
69extern int nfnl_exp_set_helper_name(
struct nfnl_exp *,
void *);
70extern int nfnl_exp_test_helper_name(
const struct nfnl_exp *);
71extern const char * nfnl_exp_get_helper_name(
const struct nfnl_exp *);
73extern void nfnl_exp_set_zone(
struct nfnl_exp *, uint16_t);
74extern int nfnl_exp_test_zone(
const struct nfnl_exp *);
75extern uint16_t nfnl_exp_get_zone(
const struct nfnl_exp *);
77extern void nfnl_exp_set_flags(
struct nfnl_exp *, uint32_t);
78extern int nfnl_exp_test_flags(
const struct nfnl_exp *);
79extern void nfnl_exp_unset_flags(
struct nfnl_exp *exp, uint32_t flags);
80extern uint32_t nfnl_exp_get_flags(
const struct nfnl_exp *);
81extern char * nfnl_exp_flags2str(
int flags,
char *buf,
size_t len);
82int nfnl_exp_str2flags(
const char *name);
84extern void nfnl_exp_set_class(
struct nfnl_exp *, uint32_t);
85extern int nfnl_exp_test_class(
const struct nfnl_exp *);
86extern uint32_t nfnl_exp_get_class(
const struct nfnl_exp *);
88extern int nfnl_exp_set_fn(
struct nfnl_exp *,
void *);
89extern int nfnl_exp_test_fn(
const struct nfnl_exp *);
90extern const char * nfnl_exp_get_fn(
const struct nfnl_exp *);
92extern void nfnl_exp_set_nat_dir(
struct nfnl_exp *, uint8_t);
93extern int nfnl_exp_test_nat_dir(
const struct nfnl_exp *);
94extern uint8_t nfnl_exp_get_nat_dir(
const struct nfnl_exp *);
99extern int nfnl_exp_set_src(
struct nfnl_exp *,
int,
struct nl_addr *);
100extern int nfnl_exp_test_src(
const struct nfnl_exp *,
int);
101extern struct nl_addr * nfnl_exp_get_src(
const struct nfnl_exp *,
int);
103extern int nfnl_exp_set_dst(
struct nfnl_exp *,
int,
struct nl_addr *);
104extern int nfnl_exp_test_dst(
const struct nfnl_exp *,
int);
105extern struct nl_addr * nfnl_exp_get_dst(
const struct nfnl_exp *,
int);
107extern void nfnl_exp_set_l4protonum(
struct nfnl_exp *,
int, uint8_t);
108extern int nfnl_exp_test_l4protonum(
const struct nfnl_exp *,
int);
109extern uint8_t nfnl_exp_get_l4protonum(
const struct nfnl_exp *,
int);
111extern void nfnl_exp_set_ports(
struct nfnl_exp *,
int, uint16_t, uint16_t);
112extern int nfnl_exp_test_ports(
const struct nfnl_exp *,
int);
113extern uint16_t nfnl_exp_get_src_port(
const struct nfnl_exp *,
int);
114extern uint16_t nfnl_exp_get_dst_port(
const struct nfnl_exp *,
int);
116extern void nfnl_exp_set_icmp(
struct nfnl_exp *,
int, uint16_t, uint8_t, uint8_t);
117extern int nfnl_exp_test_icmp(
const struct nfnl_exp *,
int);
118extern uint16_t nfnl_exp_get_icmp_id(
const struct nfnl_exp *,
int);
119extern uint8_t nfnl_exp_get_icmp_type(
const struct nfnl_exp *,
int);
120extern uint8_t nfnl_exp_get_icmp_code(
const struct nfnl_exp *,
int);
int nfnl_exp_alloc_cache(struct nl_sock *, struct nl_cache **)
Build a expectation cache holding all expectations currently in the kernel.
int nfnl_exp_dump_request(struct nl_sock *)
Send nfnl exp dump request.