Sha256: fb679ec8c2fa45074106a1c671fafcd9bbf30e2e125c8c574044dbcdf0f70856
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
# encoding: utf-8 require 'pio/dhcp/optional_tlv' require 'pio/type/ip_address' require 'pio/type/mac_address' module Pio class Dhcp # DHCP Field class DhcpField < BinData::Record MAGIC_COOKIE = 0x63825363 ETHERNET = 1 MAC_ADDRESS_LENGTH = 6 endian :big uint8 :message_type uint8 :hw_addr_type, initial_value: ETHERNET uint8 :hw_addr_len, initial_value: MAC_ADDRESS_LENGTH uint8 :hops, initial_value: 0 uint32be :transaction_id, initial_value: rand(0xffffffff) uint16be :seconds, initial_value: 0 uint16be :bootp_flags, initial_value: 0 ip_address :client_ip_address ip_address :your_ip_address ip_address :next_server_ip_address ip_address :relay_agent_ip_address mac_address :client_mac_address string :client_mac_address_padding, length: 10 string :server_host_name, length: 64 string :boot_file_name, length: 128 uint32be :magic_cookie, value: MAGIC_COOKIE array :optional_tlvs, type: :optional_tlv, read_until: -> { element.end_of_dhcptlv? } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pio-0.8.1 | lib/pio/dhcp/dhcp_field.rb |
pio-0.8.0 | lib/pio/dhcp/dhcp_field.rb |
pio-0.7.0 | lib/pio/dhcp/dhcp_field.rb |