/* leases.h */ #ifndef _LEASES_H #define _LEASES_H struct dhcpOfferedAddr { u_int8_t chaddr[16]; u_int32_t yiaddr; /* network order */ u_int32_t expires; /* host order */ }; extern const char leases_file[]; extern unsigned char blank_chaddr[]; void clear_lease(u_int8_t *chaddr, u_int32_t yiaddr); struct dhcpOfferedAddr *add_lease(u_int8_t *chaddr, u_int32_t yiaddr, unsigned long lease); int lease_expired(struct dhcpOfferedAddr *lease); struct dhcpOfferedAddr *oldest_expired_lease(void); struct dhcpOfferedAddr *find_lease_by_chaddr(u_int8_t *chaddr); struct dhcpOfferedAddr *find_lease_by_yiaddr(u_int32_t yiaddr); u_int32_t find_address(int check_expired); #endif