class DhcpsApi::DHCP_SUBNET_ELEMENT_DATA_V4
Public Class Methods
build_for_reservation(reservation_ip, reservation_mac, client_type = DhcpsApi::ClientType::CLIENT_TYPE_DHCP)
click to toggle source
# File lib/dhcpsapi/data_structures.rb, line 556 def self.build_for_reservation(reservation_ip, reservation_mac, client_type = DhcpsApi::ClientType::CLIENT_TYPE_DHCP) subnet_element = DhcpsApi::DHCP_SUBNET_ELEMENT_DATA_V4.new subnet_element[:element_type] = DhcpsApi::DHCP_SUBNET_ELEMENT_TYPE::DhcpReservedIps subnet_element[:element][:reserved_ip] = (reserved_ip = DhcpsApi::DHCP_IP_RESERVATION_V4.new).pointer reserved_ip[:reserved_ip_address] = reserved_ip.ip_to_uint32(reservation_ip) reserved_ip[:reserved_for_client] = DhcpsApi::DHCP_CLIENT_UID.from_mac_address(reservation_mac).pointer reserved_ip[:b_allowed_client_types] = client_type subnet_element end
build_for_subnet_range(start_ip_address, end_ip_address)
click to toggle source
# File lib/dhcpsapi/data_structures.rb, line 568 def self.build_for_subnet_range(start_ip_address, end_ip_address) subnet_element = DhcpsApi::DHCP_SUBNET_ELEMENT_DATA_V4.new subnet_element[:element_type] = DhcpsApi::DHCP_SUBNET_ELEMENT_TYPE::DhcpIpRanges subnet_element[:element][:ip_range] = (ip_range = DhcpsApi::DHCP_IP_RANGE.new).pointer ip_range[:start_address] = ip_range.ip_to_uint32(start_ip_address) ip_range[:end_address] = ip_range.ip_to_uint32(end_ip_address) subnet_element end
Public Instance Methods
element_as_ruby_struct_attr()
click to toggle source
# File lib/dhcpsapi/data_structures.rb, line 578 def element_as_ruby_struct_attr case self[:element_type] when DHCP_SUBNET_ELEMENT_TYPE::DhcpIpRanges DHCP_IP_RANGE.new(self[:element][:ip_range]).as_ruby_struct when DHCP_SUBNET_ELEMENT_TYPE::DhcpSecondaryHosts DHCP_HOST_INFO.new(self[:element][:secondary_host]).as_ruby_struct when DHCP_SUBNET_ELEMENT_TYPE::DhcpReservedIps DHCP_IP_RESERVATION_V4.new(self[:element][:reserved_ip]).as_ruby_struct when DHCP_SUBNET_ELEMENT_TYPE::DhcpExcludedIpRanges DHCP_IP_RANGE.new(self[:element][:exclude_ip_range]).as_ruby_struct else self[:element] end end