ip6tables.h revision 0d502bcdbc97ed359e84f6a21dfa0049b3b60a6c
179dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell#ifndef _IP6TABLES_USER_H
279dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell#define _IP6TABLES_USER_H
379dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell
40d502bcdbc97ed359e84f6a21dfa0049b3b60a6cYasuyuki KOZAKAI#include <xtables.h>
50d502bcdbc97ed359e84f6a21dfa0049b3b60a6cYasuyuki KOZAKAI
679dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell#include "iptables_common.h"
779dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell#include "libiptc/libip6tc.h"
879dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell
9357d59dcfcbd125e2aa8c07b30cea9635efec2a7Martin Josefsson#ifndef IP6T_LIB_DIR
10357d59dcfcbd125e2aa8c07b30cea9635efec2a7Martin Josefsson#define IP6T_LIB_DIR "/usr/local/lib/iptables"
11357d59dcfcbd125e2aa8c07b30cea9635efec2a7Martin Josefsson#endif
12357d59dcfcbd125e2aa8c07b30cea9635efec2a7Martin Josefsson
132452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy#ifndef IPPROTO_SCTP
142452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy#define IPPROTO_SCTP 132
152452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy#endif
162452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy#ifndef IPPROTO_DCCP
172452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy#define IPPROTO_DCCP 33
182452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy#endif
199561606bd938ed4b2614716a08a2856d4ef5e995Patrick McHardy#ifndef IPPROTO_UDPLITE
209561606bd938ed4b2614716a08a2856d4ef5e995Patrick McHardy#define IPPROTO_UDPLITE 136
219561606bd938ed4b2614716a08a2856d4ef5e995Patrick McHardy#endif
222452bafd9810e8560717f10af8e26f8a3ac4f4cfPatrick McHardy
230665217784822434b1732cdc773d5daa12836438Rémi Denis-Courmont#ifndef IP6T_SO_GET_REVISION_MATCH /* Old kernel source. */
244ebfad0cf7ff3e414a20c82513579789e8283c9fYasuyuki KOZAKAI#define IP6T_SO_GET_REVISION_MATCH	68
254ebfad0cf7ff3e414a20c82513579789e8283c9fYasuyuki KOZAKAI#define IP6T_SO_GET_REVISION_TARGET	69
260665217784822434b1732cdc773d5daa12836438Rémi Denis-Courmont#endif /* IP6T_SO_GET_REVISION_MATCH   Old kernel source */
270665217784822434b1732cdc773d5daa12836438Rémi Denis-Courmont
280d502bcdbc97ed359e84f6a21dfa0049b3b60a6cYasuyuki KOZAKAI#define ip6tables_rule_match	xtables_rule_match
290d502bcdbc97ed359e84f6a21dfa0049b3b60a6cYasuyuki KOZAKAI#define ip6tables_match		xtables_match
300d502bcdbc97ed359e84f6a21dfa0049b3b60a6cYasuyuki KOZAKAI#define ip6tables_target	xtables_target
310d502bcdbc97ed359e84f6a21dfa0049b3b60a6cYasuyuki KOZAKAI#define ip6t_tryload		xt_tryload
3279dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell
33a8658ca43fba82f7761f774f4daeb29b3e335053Harald Welteextern int line;
34a8658ca43fba82f7761f774f4daeb29b3e335053Harald Welte
3579dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell/* Your shared library should call one of these. */
3679dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russellextern void register_match6(struct ip6tables_match *me);
3779dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russellextern void register_target6(struct ip6tables_target *me);
3879dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell
3958179b1d0d1722ea16028aa2ea9d74afc86dd5dcPhil Oesterextern int service_to_port(const char *name, const char *proto);
40dbac8ad71c3c418fd8a62c08211885a38177b725Phil Oesterextern u_int16_t parse_port(const char *port, const char *proto);
4179dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russellextern int do_command6(int argc, char *argv[], char **table,
4279dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell		       ip6tc_handle_t *handle);
439867e814492275cabfbccd6b30375b0e23eb10cbYasuyuki KOZAKAIextern void parse_interface(const char *arg, char *vianame, unsigned char *mask);
449867e814492275cabfbccd6b30375b0e23eb10cbYasuyuki KOZAKAI
45764316a133db8e5e2d1f2a9d941ffae993d7c9d9András Kis-Szabóextern int for_each_chain(int (*fn)(const ip6t_chainlabel, int, ip6tc_handle_t *), int verbose, int builtinstoo, ip6tc_handle_t *handle);
46764316a133db8e5e2d1f2a9d941ffae993d7c9d9András Kis-Szabóextern int flush_entries(const ip6t_chainlabel chain, int verbose, ip6tc_handle_t *handle);
47764316a133db8e5e2d1f2a9d941ffae993d7c9d9András Kis-Szabóextern int delete_chain(const ip6t_chainlabel chain, int verbose, ip6tc_handle_t *handle);
48764316a133db8e5e2d1f2a9d941ffae993d7c9d9András Kis-Szabó
4979dee0702b18c8ea1d1f7a2b1f6b29349466986bRusty Russell#endif /*_IP6TABLES_USER_H*/
50