#ifndef _XTABLES_MULTI_H
#define _XTABLES_MULTI_H 1

extern int iptables_xml_main(int, char **);
extern int xtables_main(int, char **);
extern int xtables_save_main(int, char **);
extern int xtables_restore_main(int, char **);
extern int xtables_config_main(int, char **);

#endif /* _XTABLES_MULTI_H */
