diff --git a/src/defaults.h b/src/defaults.h index 1e671da..7b643ad 100644 --- a/src/defaults.h +++ b/src/defaults.h @@ -41,6 +41,8 @@ #ifndef DEFAULTS_H # define DEFAULTS_H 1 +#include "dhcpd-pools.h" + /*! \var MAXLEN * \brief Maximum expected line length in dhcpd.conf and dhcpd.leases * files. */ @@ -50,9 +52,26 @@ static const size_t MAXLEN = 1024; * \brief Maximum number of different shared networks in dhcpd.conf file. */ static const unsigned int SHARED_NETWORKS = 8192; -/*! \var RANGES - * \brief Maximum number of ranges - * \xrefitem FIXME RANGES "Move this variable to dhcpd-pools.h"*/ -unsigned int RANGES; +/*! \var prefixes[2][NUM_OF_PREFIX] + * \brief ISC lease file formats for IPv4 and IPv6. + * + * The .indent.pro in use will mess formatting of array below. + * Please do not commit less readable indentation. */ +static const char *prefixes[2][NUM_OF_PREFIX] = { + [VERSION_4] = { + [PREFIX_LEASE] = "lease ", + [PREFIX_BINDING_STATE_FREE] = " binding state free", + [PREFIX_BINDING_STATE_ACTIVE] = " binding state active", + [PREFIX_BINDING_STATE_BACKUP] = " binding state backup", + [PREFIX_HARDWARE_ETHERNET] = " hardware ethernet" + }, + [VERSION_6] = { + [PREFIX_LEASE] = " iaaddr ", + [PREFIX_BINDING_STATE_FREE] = " binding state free", + [PREFIX_BINDING_STATE_ACTIVE] = " binding state active", + [PREFIX_BINDING_STATE_BACKUP] = " binding state backup", + [PREFIX_HARDWARE_ETHERNET] = " hardware ethernet" + } +}; #endif /* DEFAULTS_H */ diff --git a/src/dhcpd-pools.h b/src/dhcpd-pools.h index f7c3ab6..3a91e3c 100644 --- a/src/dhcpd-pools.h +++ b/src/dhcpd-pools.h @@ -146,8 +146,6 @@ struct leases_t { }; /* Global variables */ -/* \var prefixes An array holding dhcpd.leases lines that are wanted to examine.*/ -const char *prefixes[2][NUM_OF_PREFIX]; /* \var prefix_length Length of each prefix. */ int prefix_length[2][NUM_OF_PREFIX]; /* \var config Runtime configuration. */ @@ -175,6 +173,8 @@ struct range_t *ranges; unsigned int num_ranges; /* \var leases Pointer holding all leases. */ struct leases_t *leases; +/*! \var RANGES Maximum number of ranges. */ +unsigned int RANGES; /* Function prototypes */ int prepare_memory(void); diff --git a/src/getdata.c b/src/getdata.c index bbd17bf..4df4945 100644 --- a/src/getdata.c +++ b/src/getdata.c @@ -57,37 +57,6 @@ #include "dhcpd-pools.h" #include "xalloc.h" -/*! \var prefixes[2][NUM_OF_PREFIX] - * \brief ISC lease file formats for IPv4 and IPv6. - * - * The .indent.pro in use will mess formatting of array below. - * Please do not commit less readable indentation. - * - * FIXME: The prefixes should be moved to defaults.h */ -const char *prefixes[2][NUM_OF_PREFIX] = { - [VERSION_4] = { - [PREFIX_LEASE] = "lease ", - [PREFIX_BINDING_STATE_FREE] = " binding state free", - [PREFIX_BINDING_STATE_ACTIVE] = " binding state active", - [PREFIX_BINDING_STATE_BACKUP] = " binding state backup", - [PREFIX_HARDWARE_ETHERNET] = " hardware ethernet" - }, - [VERSION_6] = { - [PREFIX_LEASE] = " iaaddr ", - [PREFIX_BINDING_STATE_FREE] = " binding state free", - [PREFIX_BINDING_STATE_ACTIVE] = " binding state active", - [PREFIX_BINDING_STATE_BACKUP] = " binding state backup", - [PREFIX_HARDWARE_ETHERNET] = " hardware ethernet" - } -}; - -/*! \var prefix_length[2][NUM_OF_PREFIX] - * \brief Expected configuration string length, that varies for IPv4 and - * IPv6. See also prefixes. - * - * FIXME: The prefix_length should be moved to dhcpd-pools.h */ -int prefix_length[2][NUM_OF_PREFIX] = { }; - /*! \brief Lease file parser. The parser can only read ISC DHCPD * dhcpd.leases file format. */ int parse_leases(void)