summaryrefslogtreecommitdiff
path: root/accel-pppd/ipdb.h
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2011-08-20 10:05:23 +0400
committerDmitry Kozlov <xeb@mail.ru>2011-08-20 10:05:23 +0400
commita93e43804c9a37b3cc2141d5ada3158653a7a221 (patch)
tree96e51396d3d7cd2c2ba69d274faa7a9760df457e /accel-pppd/ipdb.h
parent5ef49162ea9763ca9878c22e3736766d8f1db014 (diff)
parentef1d4c04584076dc77fc8df62c996feb1ac10c41 (diff)
downloadaccel-ppp-a93e43804c9a37b3cc2141d5ada3158653a7a221.tar.gz
accel-ppp-a93e43804c9a37b3cc2141d5ada3158653a7a221.zip
Merge branch 'ipv6'
Diffstat (limited to 'accel-pppd/ipdb.h')
-rw-r--r--accel-pppd/ipdb.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/accel-pppd/ipdb.h b/accel-pppd/ipdb.h
index ebf3885..3539420 100644
--- a/accel-pppd/ipdb.h
+++ b/accel-pppd/ipdb.h
@@ -6,22 +6,34 @@
#include "ppp.h"
#include "list.h"
-struct ipdb_item_t
+struct ipv4db_item_t
{
struct ipdb_t *owner;
in_addr_t addr;
in_addr_t peer_addr;
};
+struct ipv6db_item_t
+{
+ struct ipdb_t *owner;
+ struct in6_addr addr;
+ struct in6_addr peer_addr;
+};
+
+
struct ipdb_t
{
struct list_head entry;
- struct ipdb_item_t *(*get)(struct ppp_t *ppp);
- void (*put)(struct ppp_t *ppp, struct ipdb_item_t *);
+ struct ipv4db_item_t *(*get_ipv4)(struct ppp_t *ppp);
+ void (*put_ipv4)(struct ppp_t *ppp, struct ipv4db_item_t *);
+ struct ipv6db_item_t *(*get_ipv6)(struct ppp_t *ppp);
+ void (*put_ipv6)(struct ppp_t *ppp, struct ipv6db_item_t *);
};
-struct ipdb_item_t *ipdb_get(struct ppp_t *ppp);
-void ipdb_put(struct ppp_t *ppp, struct ipdb_item_t *);
+struct ipv4db_item_t *ipdb_get_ipv4(struct ppp_t *ppp);
+void ipdb_put_ipv4(struct ppp_t *ppp, struct ipv4db_item_t *);
+struct ipv6db_item_t *ipdb_get_ipv6(struct ppp_t *ppp);
+void ipdb_put_ipv6(struct ppp_t *ppp, struct ipv6db_item_t *);
void ipdb_register(struct ipdb_t *);