summaryrefslogtreecommitdiffstats
path: root/sys/contrib/ipfilter/netinet/ip_lookup.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/ipfilter/netinet/ip_lookup.h')
-rw-r--r--sys/contrib/ipfilter/netinet/ip_lookup.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/sys/contrib/ipfilter/netinet/ip_lookup.h b/sys/contrib/ipfilter/netinet/ip_lookup.h
index 953dde1..4b90655 100644
--- a/sys/contrib/ipfilter/netinet/ip_lookup.h
+++ b/sys/contrib/ipfilter/netinet/ip_lookup.h
@@ -33,6 +33,9 @@ typedef struct iplookupop {
void *iplo_struct;
} iplookupop_t;
+#define LOOKUP_ANON 0x80000000
+
+
typedef struct iplookupflush {
int iplf_type; /* IPLT_* */
int iplf_unit; /* IPL_LOG* */
@@ -55,9 +58,39 @@ typedef struct iplookuplink {
#define IPLT_ANON 0x80000000
+
+typedef union {
+ struct iplookupiterkey {
+ char ilik_ival;
+ u_char ilik_type; /* IPLT_* */
+ u_char ilik_otype;
+ char ilik_unit; /* IPL_LOG* */
+ } ilik_unstr;
+ u_32_t ilik_key;
+} iplookupiterkey_t;
+
+typedef struct ipflookupiter {
+ int ili_nitems;
+ iplookupiterkey_t ili_lkey;
+ char ili_name[FR_GROUPLEN];
+ void *ili_data;
+} ipflookupiter_t;
+
+#define ili_key ili_lkey.ilik_key
+#define ili_ival ili_lkey.ilik_unstr.ilik_ival
+#define ili_unit ili_lkey.ilik_unstr.ilik_unit
+#define ili_type ili_lkey.ilik_unstr.ilik_type
+#define ili_otype ili_lkey.ilik_unstr.ilik_otype
+
+#define IPFLOOKUPITER_LIST 0
+#define IPFLOOKUPITER_NODE 1
+
+
extern int ip_lookup_init __P((void));
-extern int ip_lookup_ioctl __P((caddr_t, ioctlcmd_t, int));
+extern int ip_lookup_ioctl __P((caddr_t, ioctlcmd_t, int, int, void *));
extern void ip_lookup_unload __P((void));
extern void ip_lookup_deref __P((int, void *));
+extern int ip_lookup_iterate __P((void *, int, void *));
+extern void ip_lookup_iterderef __P((u_32_t, void *));
#endif /* __IP_LOOKUP_H__ */
OpenPOWER on IntegriCloud