complete libiptc rewrite.  Time to load 10k rules goes down from 2.20 minutes to 1.255 seconds (!).  Might still contain bugs, use with caution.
diff --git a/libiptc/libip6tc.c b/libiptc/libip6tc.c
index 6400ce3..c915ccb 100644
--- a/libiptc/libip6tc.c
+++ b/libiptc/libip6tc.c
@@ -136,8 +136,8 @@
 	int len;
 	struct ip6t_entry_target *t;
 	
-	printf("Entry %u (%lu):\n", entry2index(handle, e),
-	       entry2offset(handle, e));
+	printf("Entry %u (%lu):\n", iptcb_entry2index(handle, e),
+	       iptcb_entry2offset(handle, e));
 	puts("SRC IP: ");
 	inet_ntop(AF_INET6, &e->ipv6.src, buf, sizeof buf);
 	puts(buf);
@@ -428,8 +428,8 @@
 		assert(t->verdict == -NF_DROP-1 || t->verdict == -NF_ACCEPT-1);
 
 		/* Hooks and underflows must be valid entries */
-		entry2index(h, get_entry(h, h->info.hook_entry[i]));
-		entry2index(h, get_entry(h, h->info.underflow[i]));
+		iptcb_entry2index(h, get_entry(h, h->info.hook_entry[i]));
+		iptcb_entry2index(h, get_entry(h, h->info.underflow[i]));
 	}
 
 	assert(h->info.size