aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpd.h
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-11-18 19:51:32 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-11-18 19:51:32 +0000
commit5a3395bc01cd4b11309595a6ecdaf32f8279f378 (patch)
tree1e63aa591a05e9ec75aefdcd639ca4188e583648 /networking/udhcp/dhcpd.h
parentabfc4cf6d8b9c59724aceb70df5081a1368fdb62 (diff)
downloadbusybox-w32-5a3395bc01cd4b11309595a6ecdaf32f8279f378.tar.gz
busybox-w32-5a3395bc01cd4b11309595a6ecdaf32f8279f378.tar.bz2
busybox-w32-5a3395bc01cd4b11309595a6ecdaf32f8279f378.zip
udhcp: fix indentation and style.
Eliminate (group) a lot of smallish *.h files Remove lots of unneeded #includes
Diffstat (limited to 'networking/udhcp/dhcpd.h')
-rw-r--r--networking/udhcp/dhcpd.h61
1 files changed, 55 insertions, 6 deletions
diff --git a/networking/udhcp/dhcpd.h b/networking/udhcp/dhcpd.h
index dc8f3c427..40959e4ae 100644
--- a/networking/udhcp/dhcpd.h
+++ b/networking/udhcp/dhcpd.h
@@ -3,12 +3,6 @@
3#ifndef _DHCPD_H 3#ifndef _DHCPD_H
4#define _DHCPD_H 4#define _DHCPD_H
5 5
6#include <netinet/ip.h>
7#include <netinet/udp.h>
8
9#include "libbb_udhcp.h"
10#include "leases.h"
11
12/************************************/ 6/************************************/
13/* Defaults _you_ may want to tweak */ 7/* Defaults _you_ may want to tweak */
14/************************************/ 8/************************************/
@@ -138,4 +132,59 @@ extern struct server_config_t server_config;
138extern struct dhcpOfferedAddr *leases; 132extern struct dhcpOfferedAddr *leases;
139 133
140 134
135/*** leases.h ***/
136
137struct dhcpOfferedAddr {
138 uint8_t chaddr[16];
139 uint32_t yiaddr; /* network order */
140 uint32_t expires; /* host order */
141};
142
143extern uint8_t blank_chaddr[];
144
145void clear_lease(uint8_t *chaddr, uint32_t yiaddr);
146struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned long lease);
147int lease_expired(struct dhcpOfferedAddr *lease);
148struct dhcpOfferedAddr *oldest_expired_lease(void);
149struct dhcpOfferedAddr *find_lease_by_chaddr(uint8_t *chaddr);
150struct dhcpOfferedAddr *find_lease_by_yiaddr(uint32_t yiaddr);
151uint32_t find_address(int check_expired);
152
153
154/*** static_leases.h ***/
155
156/* Config file will pass static lease info to this function which will add it
157 * to a data structure that can be searched later */
158int addStaticLease(struct static_lease **lease_struct, uint8_t *mac, uint32_t *ip);
159/* Check to see if a mac has an associated static lease */
160uint32_t getIpByMac(struct static_lease *lease_struct, void *arg);
161/* Check to see if an ip is reserved as a static ip */
162uint32_t reservedIp(struct static_lease *lease_struct, uint32_t ip);
163/* Print out static leases just to check what's going on (debug code) */
164void printStaticLeases(struct static_lease **lease_struct);
165
166
167/*** serverpacket.h ***/
168
169int sendOffer(struct dhcpMessage *oldpacket);
170int sendNAK(struct dhcpMessage *oldpacket);
171int sendACK(struct dhcpMessage *oldpacket, uint32_t yiaddr);
172int send_inform(struct dhcpMessage *oldpacket);
173
174
175/*** files.h ***/
176
177struct config_keyword {
178 const char *keyword;
179 int (* const handler)(const char *line, void *var);
180 void *var;
181 const char *def;
182};
183
184int read_config(const char *file);
185void write_leases(void);
186void read_leases(const char *file);
187struct option_set *find_option(struct option_set *opt_list, char code);
188
189
141#endif 190#endif