3.1.1.4 DHCPv4IpRange (Public)

The DHCPv4IpRange ADM element represents a range of addresses available for allocation. This element is initialized when an IPv4 Address Range is added to a scope by using the API methods R_DhcpAddSubnetElement, R_DhcpAddSubnetElementV4, and R_DhcpAddSubnetElementV5.

The following are the elements of a DHCPv4IpRange ADM element.

DHCPv4IpRange.RangeInfo: This field is of type DHCP_BOOTP_IP_RANGE structure specified in section 2.2.1.2.37. This variable is stored in memory as well as in persistent store.

DHCPv4IpRange.BitMask: This field is a list of bits that represents the utilization status per IPv4 address in the range. The first bit in the list represents the DHCPv4IpRange.RangeInfo.StartAddress ADM element and subsequent bits represent the respective consecutive addresses up to DHCPv4IpRange.RangeInfo.EndAddress ADM element. A value of 0 indicates that the address is available for allocation and a value of 1 indicates that it is already allocated to a client. Implementations can represent this as an array of bytes or words in order to optimize storage or lookup efficiency. This variable is stored in memory.

DHCPv4IpRange.PersistedBitMask: This is a copy of the DHCPv4IpRange.BitMask ADM element that is stored in persistent store. The DHCPv4IpRange.BitMask ADM element is read from the DHCPv4IpRange.PersistedBitMask ADM element at service startup and written back to it during service shutdown.