From 336a54fa47bfe790b0c8d42d042dedaeffef6205 Mon Sep 17 00:00:00 2001 From: "Nicholas J. Kain" Date: Sat, 13 Nov 2010 06:48:50 -0500 Subject: [PATCH] Clean dhcpd.h. --- ndhc/dhcpd.h | 152 +++++++++++++++++++++------------------------------ 1 file changed, 61 insertions(+), 91 deletions(-) diff --git a/ndhc/dhcpd.h b/ndhc/dhcpd.h index b376bc0..46857ec 100644 --- a/ndhc/dhcpd.h +++ b/ndhc/dhcpd.h @@ -1,8 +1,7 @@ /* dhcpd.h */ -#ifndef _DHCPD_H -#define _DHCPD_H +#ifndef DHCPD_H_ +#define DHCPD_H_ -#include #include #include @@ -11,120 +10,91 @@ /************************************/ /* the period of time the client is allowed to use that address */ -#define LEASE_TIME (60*60*24*10) /* 10 days of seconds */ +#define LEASE_TIME (60*60*24*10) /* 10 days of seconds */ /*****************************************************************/ /* Do not modify below here unless you know what you are doing!! */ /*****************************************************************/ /* DHCP protocol -- see RFC 2131 */ -#define SERVER_PORT 67 -#define CLIENT_PORT 68 +#define SERVER_PORT 67 +#define CLIENT_PORT 68 -#define DHCP_MAGIC 0x63825363 +#define DHCP_MAGIC 0x63825363 /* DHCP option codes (partial list) */ -#define DHCP_PADDING 0x00 -#define DHCP_SUBNET 0x01 -#define DHCP_TIME_OFFSET 0x02 -#define DHCP_ROUTER 0x03 -#define DHCP_TIME_SERVER 0x04 -#define DHCP_NAME_SERVER 0x05 -#define DHCP_DNS_SERVER 0x06 -#define DHCP_LOG_SERVER 0x07 -#define DHCP_COOKIE_SERVER 0x08 -#define DHCP_LPR_SERVER 0x09 -#define DHCP_HOST_NAME 0x0c -#define DHCP_BOOT_SIZE 0x0d -#define DHCP_DOMAIN_NAME 0x0f -#define DHCP_SWAP_SERVER 0x10 -#define DHCP_ROOT_PATH 0x11 -#define DHCP_IP_TTL 0x17 -#define DHCP_MTU 0x1a -#define DHCP_BROADCAST 0x1c -#define DHCP_NTP_SERVER 0x2a -#define DHCP_WINS_SERVER 0x2c -#define DHCP_REQUESTED_IP 0x32 -#define DHCP_LEASE_TIME 0x33 -#define DHCP_OPTION_OVER 0x34 -#define DHCP_MESSAGE_TYPE 0x35 -#define DHCP_SERVER_ID 0x36 -#define DHCP_PARAM_REQ 0x37 -#define DHCP_MESSAGE 0x38 -#define DHCP_MAX_SIZE 0x39 -#define DHCP_T1 0x3a -#define DHCP_T2 0x3b -#define DHCP_VENDOR 0x3c -#define DHCP_CLIENT_ID 0x3d -#define DHCP_END 0xFF +#define DHCP_PADDING 0x00 +#define DHCP_SUBNET 0x01 +#define DHCP_TIME_OFFSET 0x02 +#define DHCP_ROUTER 0x03 +#define DHCP_TIME_SERVER 0x04 +#define DHCP_NAME_SERVER 0x05 +#define DHCP_DNS_SERVER 0x06 +#define DHCP_LOG_SERVER 0x07 +#define DHCP_COOKIE_SERVER 0x08 +#define DHCP_LPR_SERVER 0x09 +#define DHCP_HOST_NAME 0x0c +#define DHCP_BOOT_SIZE 0x0d +#define DHCP_DOMAIN_NAME 0x0f +#define DHCP_SWAP_SERVER 0x10 +#define DHCP_ROOT_PATH 0x11 +#define DHCP_IP_TTL 0x17 +#define DHCP_MTU 0x1a +#define DHCP_BROADCAST 0x1c +#define DHCP_NTP_SERVER 0x2a +#define DHCP_WINS_SERVER 0x2c +#define DHCP_REQUESTED_IP 0x32 +#define DHCP_LEASE_TIME 0x33 +#define DHCP_OPTION_OVER 0x34 +#define DHCP_MESSAGE_TYPE 0x35 +#define DHCP_SERVER_ID 0x36 +#define DHCP_PARAM_REQ 0x37 +#define DHCP_MESSAGE 0x38 +#define DHCP_MAX_SIZE 0x39 +#define DHCP_T1 0x3a +#define DHCP_T2 0x3b +#define DHCP_VENDOR 0x3c +#define DHCP_CLIENT_ID 0x3d +#define DHCP_END 0xFF enum { - BOOTREQUEST = 1, - BOOTREPLY = 2 + BOOTREQUEST = 1, + BOOTREPLY = 2 }; -#define ETH_10MB 1 -#define ETH_10MB_LEN 6 +#define ETH_10MB 1 +#define ETH_10MB_LEN 6 enum { - DHCPDISCOVER = 1, - DHCPOFFER = 2, - DHCPREQUEST = 3, - DHCPDECLINE = 4, - DHCPACK = 5, - DHCPNAK = 6, - DHCPRELEASE = 7, - DHCPINFORM = 8 + DHCPDISCOVER = 1, + DHCPOFFER = 2, + DHCPREQUEST = 3, + DHCPDECLINE = 4, + DHCPACK = 5, + DHCPNAK = 6, + DHCPRELEASE = 7, + DHCPINFORM = 8 }; -#define BROADCAST_FLAG 0x8000 +#define BROADCAST_FLAG 0x8000 enum { - OPTION_FIELD = 0, - FILE_FIELD = 1, - SNAME_FIELD = 2 + OPTION_FIELD = 0, + FILE_FIELD = 1, + SNAME_FIELD = 2 }; -#define MAC_BCAST_ADDR (unsigned char *) "\xff\xff\xff\xff\xff\xff" +#define MAC_BCAST_ADDR (unsigned char *) "\xff\xff\xff\xff\xff\xff" enum { - OPT_CODE = 0, - OPT_LEN = 1, - OPT_DATA = 2 + OPT_CODE = 0, + OPT_LEN = 1, + OPT_DATA = 2 }; struct option_set { - unsigned char *data; - struct option_set *next; + unsigned char *data; + struct option_set *next; }; -struct server_config_t { - 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 */ - uint32_t lease; /* lease time in seconds (host order) */ - uint32_t max_leases; /* maximum number of leases (including reserved address) */ - char remaining; /* should the lease file be interpreted as lease time remaining, or - * as the time the lease expires */ - uint32_t auto_time; /* how long should udhcpd wait before writing a config file. - * if this is zero, it will only write one on SIGUSR1 */ - uint32_t decline_time; /* how long an address is reserved if a client returns a - * decline message */ - uint32_t conflict_time; /* how long an arp conflict offender is leased for */ - uint32_t offer_time; /* how long an offered address is reserved */ - uint32_t min_lease; /* minimum lease a client can request*/ - char *lease_file; - char *notify_file; /* What to run whenever leases are written */ - uint32_t siaddr; /* next server bootp option */ - char *sname; /* bootp server name */ - char *boot_file; /* bootp boot file option */ -}; - -extern struct server_config_t server_config; -extern struct dhcpOfferedAddr *leases; - #endif