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