diff options
Diffstat (limited to 'lib/ippool.h')
-rw-r--r-- | lib/ippool.h | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/lib/ippool.h b/lib/ippool.h index 02691a6..534140d 100644 --- a/lib/ippool.h +++ b/lib/ippool.h @@ -34,35 +34,35 @@ #define IPPOOL_STATSIZE 0x10000 -struct ippoolm_t; /* Forward declaration */ +struct ippoolm_t; /* Forward declaration */ struct ippool_t { - unsigned int listsize; /* Total number of addresses */ - int allowdyn; /* Allow dynamic IP address allocation */ - int allowstat; /* Allow static IP address allocation */ - struct in_addr stataddr; /* Static address range network address */ - struct in_addr statmask; /* Static address range network mask */ - struct ippoolm_t *member; /* Listsize array of members */ - unsigned int hashsize; /* Size of hash table */ - int hashlog; /* Log2 size of hash table */ - int hashmask; /* Bitmask for calculating hash */ - struct ippoolm_t **hash; /* Hashsize array of pointer to member */ - struct ippoolm_t *firstdyn; /* Pointer to first free dynamic member */ - struct ippoolm_t *lastdyn; /* Pointer to last free dynamic member */ - struct ippoolm_t *firststat; /* Pointer to first free static member */ - struct ippoolm_t *laststat; /* Pointer to last free static member */ + unsigned int listsize; /* Total number of addresses */ + int allowdyn; /* Allow dynamic IP address allocation */ + int allowstat; /* Allow static IP address allocation */ + struct in_addr stataddr; /* Static address range network address */ + struct in_addr statmask; /* Static address range network mask */ + struct ippoolm_t *member; /* Listsize array of members */ + unsigned int hashsize; /* Size of hash table */ + int hashlog; /* Log2 size of hash table */ + int hashmask; /* Bitmask for calculating hash */ + struct ippoolm_t **hash; /* Hashsize array of pointer to member */ + struct ippoolm_t *firstdyn; /* Pointer to first free dynamic member */ + struct ippoolm_t *lastdyn; /* Pointer to last free dynamic member */ + struct ippoolm_t *firststat; /* Pointer to first free static member */ + struct ippoolm_t *laststat; /* Pointer to last free static member */ }; struct ippoolm_t { #ifndef IPPOOL_NOIP6 - struct in6_addr addr; /* IP address of this member */ + struct in6_addr addr; /* IP address of this member */ #else - struct in_addr addr; /* IP address of this member */ + struct in_addr addr; /* IP address of this member */ #endif - int inuse; /* 0=available; 1= dynamic; 2 = static */ - struct ippoolm_t *nexthash; /* Linked list part of hash table */ - struct ippoolm_t *prev, *next; /* Linked list of free dynamic or static */ - void *peer; /* Pointer to peer protocol handler */ + int inuse; /* 0=available; 1= dynamic; 2 = static */ + struct ippoolm_t *nexthash; /* Linked list part of hash table */ + struct ippoolm_t *prev, *next; /* Linked list of free dynamic or static */ + void *peer; /* Pointer to peer protocol handler */ }; /* The above structures require approximately 20+4 = 24 bytes for @@ -73,7 +73,7 @@ struct ippoolm_t { extern unsigned long int ippool_hash4(struct in_addr *addr); /* Create new address pool */ -extern int ippool_new(struct ippool_t **this, char *dyn, char *stat, +extern int ippool_new(struct ippool_t **this, char *dyn, char *stat, int allowdyn, int allowstat, int flags); /* Delete existing address pool */ @@ -81,7 +81,7 @@ extern int ippool_free(struct ippool_t *this); /* Find an IP address in the pool */ extern int ippool_getip(struct ippool_t *this, struct ippoolm_t **member, - struct in_addr *addr); + struct in_addr *addr); /* Get an IP address. If addr = 0.0.0.0 get a dynamic IP address. Otherwise check to see if the given address is available */ @@ -95,11 +95,10 @@ extern int ippool_freeip(struct ippool_t *this, struct ippoolm_t *member); extern int ippool_aton(struct in_addr *addr, struct in_addr *mask, char *pool, int number); - #ifndef IPPOOL_NOIP6 extern unsigned long int ippool_hash6(struct in6_addr *addr); extern int ippool_getip6(struct ippool_t *this, struct in6_addr *addr); extern int ippool_returnip6(struct ippool_t *this, struct in6_addr *addr); #endif -#endif /* !_IPPOOL_H */ +#endif /* !_IPPOOL_H */ |