2002-10-14 21:41:28 +00:00
|
|
|
/* leases.h */
|
|
|
|
#ifndef _LEASES_H
|
|
|
|
#define _LEASES_H
|
|
|
|
|
|
|
|
|
|
|
|
struct dhcpOfferedAddr {
|
2004-01-30 23:45:53 +00:00
|
|
|
uint8_t chaddr[16];
|
|
|
|
uint32_t yiaddr; /* network order */
|
|
|
|
uint32_t expires; /* host order */
|
2002-10-14 21:41:28 +00:00
|
|
|
};
|
|
|
|
|
2004-01-30 23:45:53 +00:00
|
|
|
extern uint8_t blank_chaddr[];
|
2002-10-14 21:41:28 +00:00
|
|
|
|
2004-01-30 23:45:53 +00:00
|
|
|
void clear_lease(uint8_t *chaddr, uint32_t yiaddr);
|
|
|
|
struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned long lease);
|
2002-10-14 21:41:28 +00:00
|
|
|
int lease_expired(struct dhcpOfferedAddr *lease);
|
|
|
|
struct dhcpOfferedAddr *oldest_expired_lease(void);
|
2004-01-30 23:45:53 +00:00
|
|
|
struct dhcpOfferedAddr *find_lease_by_chaddr(uint8_t *chaddr);
|
|
|
|
struct dhcpOfferedAddr *find_lease_by_yiaddr(uint32_t yiaddr);
|
|
|
|
uint32_t find_address(int check_expired);
|
2002-10-14 21:41:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
#endif
|