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