libxt_TRACE.c revision 8b7c64d6ba156a99008fcd810cba874c73294333
11a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI/* Shared library add-on to iptables to add TRACE target support. */ 21a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <stdio.h> 31a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <string.h> 41a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <stdlib.h> 51a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <getopt.h> 61a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI 71a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <xtables.h> 81a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <linux/netfilter/x_tables.h> 91a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI 101a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI/* Function which prints out usage message. */ 11932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardtstatic void TRACE_help(void) 121a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI{ 138b7c64d6ba156a99008fcd810cba874c73294333Jan Engelhardt printf("TRACE target takes no options\n"); 141a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI} 151a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI 161a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI/* Function which parses command options; returns true if it 171a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI ate an option */ 18932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardtstatic int TRACE_parse(int c, char **argv, int invert, unsigned int *flags, 19932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardt const void *entry, struct xt_entry_target **target) 201a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI{ 211a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI return 0; 221a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI} 231a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI 24932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardtstatic struct xtables_target trace_target = { 2523545c2a7a31c68c1e49c7c901b632c2f1c59968Jan Engelhardt .family = AF_UNSPEC, 261a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI .name = "TRACE", 278b7c64d6ba156a99008fcd810cba874c73294333Jan Engelhardt .version = XTABLES_VERSION, 281a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI .size = XT_ALIGN(0), 291a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI .userspacesize = XT_ALIGN(0), 30932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardt .help = TRACE_help, 31932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardt .parse = TRACE_parse, 321a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI}; 331a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI 341a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAIvoid _init(void) 351a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI{ 36932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardt xtables_register_target(&trace_target); 371a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI} 38