summaryrefslogtreecommitdiff
path: root/release/src/router/busybox/networking/udhcp/leases.h
diff options
context:
space:
mode:
Diffstat (limited to 'release/src/router/busybox/networking/udhcp/leases.h')
-rw-r--r--release/src/router/busybox/networking/udhcp/leases.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/release/src/router/busybox/networking/udhcp/leases.h b/release/src/router/busybox/networking/udhcp/leases.h
new file mode 100644
index 00000000..d54cd11c
--- /dev/null
+++ b/release/src/router/busybox/networking/udhcp/leases.h
@@ -0,0 +1,25 @@
+/* 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