X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=networking%2Fudhcp%2Fdhcpd.h;h=65c8348bf641e48c88c0901152c2b4260f316e47;hb=01f67987e0aa4a4890a02d1a7445d878d3436d26;hp=2971e19db0543f07d370c8993546cee4b9d4fc55;hpb=61fb48930f45aa536584b2047f9e703186e8f69f;p=oweals%2Fbusybox.git diff --git a/networking/udhcp/dhcpd.h b/networking/udhcp/dhcpd.h index 2971e19db..65c8348bf 100644 --- a/networking/udhcp/dhcpd.h +++ b/networking/udhcp/dhcpd.h @@ -7,6 +7,7 @@ #include "libbb_udhcp.h" #include "leases.h" +#include "version.h" /************************************/ /* Defaults _you_ may want to tweak */ @@ -14,6 +15,7 @@ /* the period of time the client is allowed to use that address */ #define LEASE_TIME (60*60*24*10) /* 10 days of seconds */ +#define LEASES_FILE "/var/lib/misc/udhcpd.leases" /* where to find the DHCP server configuration file */ #define DHCPD_CONF_FILE "/etc/udhcpd.conf" @@ -61,6 +63,7 @@ #define DHCP_T2 0x3b #define DHCP_VENDOR 0x3c #define DHCP_CLIENT_ID 0x3d +#define DHCP_FQDN 0x51 #define DHCP_END 0xFF @@ -87,24 +90,30 @@ #define SNAME_FIELD 2 /* miscellaneous defines */ -#define MAC_BCAST_ADDR (unsigned char *) "\xff\xff\xff\xff\xff\xff" +#define MAC_BCAST_ADDR (uint8_t *) "\xff\xff\xff\xff\xff\xff" #define OPT_CODE 0 #define OPT_LEN 1 #define OPT_DATA 2 struct option_set { - unsigned char *data; + uint8_t *data; struct option_set *next; }; +struct static_lease { + uint8_t *mac; + uint32_t *ip; + struct static_lease *next; +}; + struct server_config_t { - u_int32_t server; /* Our IP, in network order */ - u_int32_t start; /* Start address of leases, network order */ - u_int32_t end; /* End of leases, network order */ + uint32_t server; /* Our IP, in network order */ + uint32_t start; /* Start address of leases, network order */ + uint32_t end; /* End of leases, network order */ struct option_set *options; /* List of DHCP options loaded from the config file */ char *interface; /* The name of the interface to use */ int ifindex; /* Index number of the interface to use */ - unsigned char arp[6]; /* Our arp address */ + uint8_t arp[6]; /* Our arp address */ unsigned long lease; /* lease time in seconds (host order) */ unsigned long max_leases; /* maximum number of leases (including reserved address) */ char remaining; /* should the lease file be interpreted as lease time remaining, or @@ -119,13 +128,14 @@ struct server_config_t { char *lease_file; char *pidfile; char *notify_file; /* What to run whenever leases are written */ - u_int32_t siaddr; /* next server bootp option */ + uint32_t siaddr; /* next server bootp option */ char *sname; /* bootp server name */ char *boot_file; /* bootp boot file option */ -}; + struct static_lease *static_leases; /* List of ip/mac pairs to assign static leases */ +}; extern struct server_config_t server_config; extern struct dhcpOfferedAddr *leases; - + #endif