summaryrefslogtreecommitdiffhomepage
path: root/contrib/fwd/src/fwd_rules.h
blob: 7074622e340f6cee98c3e00b714e9ad6f1d4f2f9 (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
/*
 * fwd - OpenWrt firewall daemon - header for iptables rule set
 *
 *   Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
 *
 * The fwd program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU General Public License version 2
 * as published by the Free Software Foundation.
 *
 * The fwd program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with the fwd program. If not, see http://www.gnu.org/licenses/.
 */

#ifndef __FWD_RULES_H__
#define __FWD_RULES_H__

#include "fwd.h"

#define IPT "iptables"

struct fwd_ipt_rulebuf {
	char *buf;
	size_t len;
};


#define fwd_ipt_add_format fwd_ipt_rule_append

#define fwd_ipt_exec_format(t, ...) do {         \
	struct fwd_ipt_rulebuf *r = fwd_ipt_init(t); \
	fwd_ipt_add_format(r, __VA_ARGS__);          \
	fwd_ipt_exec(r);                             \
} while(0)

void fwd_ipt_build_ruleset(struct fwd_handle *h);
void fwd_ipt_addif(struct fwd_handle *h, const char *net);

#endif