blob: bef513e6835333d150b57dc33805df1942c2a3b1 [file] [log] [blame]
Marc Bouchere6869a82000-03-20 06:03:29 +00001/* 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,
Rusty Russelledf14cf2000-04-19 11:26:44 +000054 0,
Marc Bouchere6869a82000-03-20 06:03:29 +000055 &help,
56 &init,
57 &parse,
58 &final_check,
59 NULL, /* print */
60 &save,
61 opts
62};
63
64void _init(void)
65{
66 register_match(&unclean);
67}