1 /* Shared library add-on to iptables for standard target support. */ 2 #include <stdio.h> 3 #include <netdb.h> 4 #include <string.h> 5 #include <stdlib.h> 6 #include <limits.h> 7 #include <getopt.h> 8 #include <iptables.h> 9 10 /* Function which prints out usage message. */ 11 static void 12 help(void) 13 { 14 printf( 15 "Standard v%s options:\n" 16 "(If target is DROP, ACCEPT, RETURN or nothing)\n", 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 /* Final check; don't care. */ 40 static void final_check(unsigned int flags) 41 { 42 } 43 44 /* Saves the targinfo in parsable form to stdout. */ 45 static void 46 save(const struct ipt_ip *ip, const struct ipt_entry_target *target) 47 { 48 } 49 50 static 51 struct iptables_target standard = { 52 .next = NULL, 53 .name = "standard", 54 .version = IPTABLES_VERSION, 55 .size = IPT_ALIGN(sizeof(int)), 56 .userspacesize = IPT_ALIGN(sizeof(int)), 57 .help = &help, 58 .init = &init, 59 .parse = &parse, 60 .final_check = &final_check, 61 .print = NULL, 62 .save = &save, 63 .extra_opts = opts 64 }; 65 66 void ipt_standard_init(void) 67 { 68 register_target(&standard); 69 } 70