11#include <boost/shared_ptr.hpp>
16#define DHCP4_OPTION_SPACE "dhcp4"
17#define DHCP6_OPTION_SPACE "dhcp6"
18#define MAPE_V6_OPTION_SPACE "s46-cont-mape-options"
19#define MAPT_V6_OPTION_SPACE "s46-cont-mapt-options"
20#define LW_V6_OPTION_SPACE "s46-cont-lw-options"
21#define V4V6_RULE_OPTION_SPACE "s46-rule-options"
22#define V4V6_BIND_OPTION_SPACE "s46-v4v6bind-options"
85 OptionSpace(
const std::string& name,
const bool vendor_space =
false);
90 const std::string&
getName()
const {
return (name_); }
94 vendor_space_ =
false;
105 vendor_space_ =
true;
169 OptionSpace6(
const std::string& name,
const uint32_t enterprise_number);
183 uint32_t enterprise_number_;
This is a base class for exceptions thrown from the DNS library module.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
Exception to be thrown when invalid option space is specified.
InvalidOptionSpace(const char *file, size_t line, const char *what)
DHCPv6 option space with enterprise number assigned.
uint32_t getEnterpriseNumber() const
Return enterprise number for the option space.
void setVendorSpace()
Mark option space as vendor specific.
const std::string & getName() const
Return option space name.
bool isVendorSpace() const
Check if option space is vendor specific.
static bool validateName(const std::string &name)
Checks that the provided option space name is valid.
void clearVendorSpace()
Mark option space as non-vendor space.
boost::shared_ptr< OptionSpace > OptionSpacePtr
A pointer to OptionSpace object.
std::map< std::string, OptionSpacePtr > OptionSpaceCollection
A collection of option spaces.
Defines the logger used by the top-level component of kea-dhcp-ddns.