nft: generalize rule addition family hook

This should help Giuseppe with his ARP support works, this change
was missing in (618309c nft: refactoring parse operations for more
genericity).

Based on patch from Giuseppe.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
diff --git a/iptables/nft-ipv4.c b/iptables/nft-ipv4.c
index b7a6095..4034098 100644
--- a/iptables/nft-ipv4.c
+++ b/iptables/nft-ipv4.c
@@ -24,8 +24,9 @@
 
 #include "nft-shared.h"
 
-static int nft_ipv4_add(struct nft_rule *r, struct iptables_command_state *cs)
+static int nft_ipv4_add(struct nft_rule *r, void *data)
 {
+	struct iptables_command_state *cs = data;
 	uint32_t op;
 
 	if (cs->fw.ip.iniface[0] != '\0')
diff --git a/iptables/nft-ipv6.c b/iptables/nft-ipv6.c
index 27e63a4..2efe95e 100644
--- a/iptables/nft-ipv6.c
+++ b/iptables/nft-ipv6.c
@@ -22,8 +22,10 @@
 
 #include "nft-shared.h"
 
-static int nft_ipv6_add(struct nft_rule *r, struct iptables_command_state *cs)
+static int nft_ipv6_add(struct nft_rule *r, void *data)
 {
+	struct iptables_command_state *cs = data;
+
 	if (cs->fw6.ipv6.iniface[0] != '\0')
 		add_iniface(r, cs->fw6.ipv6.iniface, cs->fw6.ipv6.invflags);
 
diff --git a/iptables/nft-shared.h b/iptables/nft-shared.h
index ed2617c..3f1a9a4 100644
--- a/iptables/nft-shared.h
+++ b/iptables/nft-shared.h
@@ -37,7 +37,7 @@
 struct xtables_args;
 
 struct nft_family_ops {
-	int (*add)(struct nft_rule *r, struct iptables_command_state *cs);
+	int (*add)(struct nft_rule *r, void *data);
 	bool (*is_same)(const struct iptables_command_state *a,
 			const struct iptables_command_state *b);
 	void (*print_payload)(struct nft_rule_expr *e,