1 /* Shared library add-on to iptables to add MIRROR target support. */ 2 #include <stdio.h> 3 #include <string.h> 4 #include <stdlib.h> 5 #include <getopt.h> 6 7 #include <iptables.h> 8 #include <linux/netfilter_ipv4/ip_tables.h> 9 10 /* Function which prints out usage message. */ 11 static void 12 help(void) 13 { 14 printf( 15 "MIRROR target v%s takes no options\n", 16 IPTABLES_VERSION); 17 } 18 19 static struct option opts[] = { 20 { 0 } 21 }; 22 23 /* Initialize the target. */ 24 static void 25 init(struct ipt_entry_target *t, unsigned int *nfcache) 26 { 27 } 28 29 /* Function which parses command options; returns true if it 30 ate an option */ 31 static int 32 parse(int c, char **argv, int invert, unsigned int *flags, 33 const struct ipt_entry *entry, 34 struct ipt_entry_target **target) 35 { 36 return 0; 37 } 38 39 static void 40 final_check(unsigned int flags) 41 { 42 } 43 44 static struct iptables_target mirror = { 45 .next = NULL, 46 .name = "MIRROR", 47 .version = IPTABLES_VERSION, 48 .size = IPT_ALIGN(0), 49 .userspacesize = IPT_ALIGN(0), 50 .help = &help, 51 .init = &init, 52 .parse = &parse, 53 .final_check = &final_check, 54 .print = NULL, 55 .save = NULL, 56 .extra_opts = opts 57 }; 58 59 void ipt_MIRROR_init(void) 60 { 61 register_target(&mirror); 62 } 63