Kea  1.9.9-git
ip_range.h
Go to the documentation of this file.
1 // Copyright (C) 2020 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #ifndef IP_RANGE_H
8 #define IP_RANGE_H
9 
10 #include <asiolink/io_address.h>
11 
12 namespace isc {
13 namespace dhcp {
14 
16 struct AddressRange {
21 
28  AddressRange(const asiolink::IOAddress& start, const asiolink::IOAddress& end);
29 };
30 
32 struct PrefixRange {
39  uint8_t prefix_length_;
42 
51  PrefixRange(const asiolink::IOAddress& prefix, const uint8_t length, const uint8_t delegated);
52 
60  PrefixRange(const asiolink::IOAddress& start, const asiolink::IOAddress& end,
61  const uint8_t delegated);
62 };
63 
64 } // end of namespace isc::dhcp
65 } // end of namespace isc
66 
67 #endif // IP_RANGE_H
Structure representing delegated prefix range.
Definition: ip_range.h:32
asiolink::IOAddress end_
IP address denoting the end of the address range.
Definition: ip_range.h:20
AddressRange(const asiolink::IOAddress &start, const asiolink::IOAddress &end)
Constructor.
Definition: ip_range.cc:18
PrefixRange(const asiolink::IOAddress &prefix, const uint8_t length, const uint8_t delegated)
Constructor.
Definition: ip_range.cc:31
Defines the logger used by the top-level component of kea-dhcp-ddns.
asiolink::IOAddress end_
IP address denoting the first address within the last prefix in the prefix range. ...
Definition: ip_range.h:37
Structure representing IP address range.
Definition: ip_range.h:16
asiolink::IOAddress start_
IP address denoting the start of the address range.
Definition: ip_range.h:18
uint8_t prefix_length_
Prefix length.
Definition: ip_range.h:39
asiolink::IOAddress start_
IP address denoting the start of the prefix range.
Definition: ip_range.h:34
uint8_t delegated_length_
Delegated prefix length.
Definition: ip_range.h:41