16cc0a51bac0cf854ee61216b25cc0f405c97760
[iptables.git] / extensions / libipt_unclean.c
1 /* Shared library add-on to iptables for unclean. */
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <getopt.h>
5 #include <iptables.h>
6
7 /* Function which prints out usage message. */
8 static void
9 help(void)
10 {
11         printf(
12 "unclean v%s takes no options\n"
13 "\n", IPTABLES_VERSION);
14 }
15
16 static struct option opts[] = {
17         {0}
18 };
19
20 /* Initialize the match. */
21 static void
22 init(struct ipt_entry_match *m, unsigned int *nfcache)
23 {
24         /* Can't cache this. */
25         *nfcache |= NFC_UNKNOWN;
26 }
27
28 /* Function which parses command options; returns true if it
29    ate an option */
30 static int
31 parse(int c, char **argv, int invert, unsigned int *flags,
32       const struct ipt_entry *entry,
33       unsigned int *nfcache,
34       struct ipt_entry_match **match)
35 {
36         return 0;
37 }
38
39 /* Final check; must have specified --mac. */
40 static void final_check(unsigned int flags)
41 {
42 }
43
44 static
45 struct iptables_match unclean
46 = { NULL,
47     "unclean",
48     IPTABLES_VERSION,
49     IPT_ALIGN(0),
50     IPT_ALIGN(0),
51     &help,
52     &init,
53     &parse,
54     &final_check,
55     NULL, /* print */
56     NULL, /* save */
57     opts
58 };
59
60 void _init(void)
61 {
62         register_match(&unclean);
63 }