From 93a162446d56a0e5ec976b4b60a77e85f1bc5f39 Mon Sep 17 00:00:00 2001 From: laforge Date: Sun, 24 Mar 2002 20:57:26 +0000 Subject: ipv6 agr match now called eui64 --- extensions/libip6t_eui64.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 extensions/libip6t_eui64.c (limited to 'extensions/libip6t_eui64.c') diff --git a/extensions/libip6t_eui64.c b/extensions/libip6t_eui64.c new file mode 100644 index 0000000..9771798 --- /dev/null +++ b/extensions/libip6t_eui64.c @@ -0,0 +1,87 @@ +/* Shared library add-on to ip6tables to add EUI64 address checking support. */ +#include +#include +#include +#include +#include +#if defined(__GLIBC__) && __GLIBC__ == 2 +#include +#else +#include +#endif +#include + +/* Function which prints out usage message. */ +static void +help(void) +{ + printf( +"eui64 v%s options:\n" +" This module hasn't got any option\n" +" This module checks for EUI64 IPv6 addresses\n" +"\n", NETFILTER_VERSION); +} + +static struct option opts[] = { + {0} +}; + +/* Initialize the match. */ +static void +init(struct ip6t_entry_match *m, unsigned int *nfcache) +{ + /* Can't cache this */ + *nfcache |= NFC_UNKNOWN; +} + +/* Function which parses command options; returns true if it + ate an option */ +static int +parse(int c, char **argv, int invert, unsigned int *flags, + const struct ip6t_entry *entry, + unsigned int *nfcache, + struct ip6t_entry_match **match) +{ + return 0; +} + +/* Final check */ +static void final_check(unsigned int flags) +{ +} + +/* Prints out the matchinfo. */ +static void +print(const struct ip6t_ip6 *ip, + const struct ip6t_entry_match *match, + int numeric) +{ + printf("eui64 "); +} + +/* Saves the union ip6t_matchinfo in parsable form to stdout. */ +static void save(const struct ip6t_ip6 *ip, const struct ip6t_entry_match *match) +{ + +} + +static +struct ip6tables_match eui64 += { NULL, + "eui64", + NETFILTER_VERSION, + IP6T_ALIGN(sizeof(int)), + IP6T_ALIGN(sizeof(int)), + &help, + &init, + &parse, + &final_check, + &print, + &save, + opts +}; + +void _init(void) +{ + register_match6(&eui64); +} -- cgit v1.2.3