1/* leases.h */
2#ifndef _LEASES_H
3#define _LEASES_H
4
5
6struct dhcpOfferedAddr {
7	u_int8_t chaddr[16];
8	u_int32_t yiaddr;	/* network order */
9	u_int32_t expires;	/* host order */
10	char hostname[64];
11};
12
13extern unsigned char blank_chaddr[];
14
15void clear_lease(u_int8_t *chaddr, u_int32_t yiaddr);
16struct dhcpOfferedAddr *add_lease(u_int8_t *chaddr, u_int32_t yiaddr, unsigned long lease);
17int lease_expired(struct dhcpOfferedAddr *lease);
18struct dhcpOfferedAddr *oldest_expired_lease(void);
19struct dhcpOfferedAddr *find_lease_by_chaddr(u_int8_t *chaddr);
20struct dhcpOfferedAddr *find_lease_by_yiaddr(u_int32_t yiaddr);
21u_int32_t find_address(int check_expired);
22u_int32_t find_address2(int check_expired, unsigned char *chaddr);
23int check_ip(u_int32_t addr);
24
25
26#endif
27