#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 **);
extern int xtables_events_main(int, char **);
extern int xtables_arp_main(int, char **);

#endif /* _XTABLES_MULTI_H */
