libipt_unclean.c revision e6869a8f59d779ff4d5a0984c86d80db70784962
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. */
8static void
9help(void)
10{
11	printf(
12"unclean v%s takes no options\n"
13"\n", NETFILTER_VERSION);
14}
15
16static struct option opts[] = {
17	{0}
18};
19
20/* Initialize the match. */
21static void
22init(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 */
30static int
31parse(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. */
40static void final_check(unsigned int flags)
41{
42}
43
44/* Saves the union ipt_matchinfo in parsable form to stdout. */
45static void save(const struct ipt_ip *ip, const struct ipt_entry_match *match)
46{
47}
48
49struct iptables_match unclean
50= { NULL,
51    "unclean",
52    NETFILTER_VERSION,
53    0,
54    &help,
55    &init,
56    &parse,
57    &final_check,
58    NULL, /* print */
59    &save,
60    opts
61};
62
63void _init(void)
64{
65	register_match(&unclean);
66}
67