b0VIM 7.4�������_KXs� ��patricka��������������������������������Snark�����������������������������������~patricka/src/vagrant-xhyve/vendor/xhyve-ruby/lib/xhyve/guest.rb�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������utf-8 �3210����#"! U�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tp�����������X���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ad����������X�������������������������[��Z����������������l��k��I��H��-�� ��� ��� ��� ��c ��6 �� �����������X��+�������������������m��X��<��$�� ����� ��� ��� ��� ��� ��� ��� ��� ��t ��l ��k ��` ��1 ��) ��( �� �� �� ��� ��� ��� ��� ��� ��~ ��} ��l ��< ��4 ��3 �� �� �����������������|��;��������{��B��0��(��"���� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������end� end� eend� end� end� end� end� end� ].join(' ')� '-f' "kexec,#{@kernel},#{@initrd},'#{@cmdline}'"� '-l', "#{@serial},stdio",� '-s', '31,lpc',� "#{"#{@blockdevs.each_with_index.map { |p, i| "-s #{PCI_BASE + i},virtio-blk,#{p}" }.join(' ')}" unless @blockdevs.empty? }",� "#{"-s #{PCI_BASE - 1}:0,virtio-net" if @networking }" ,� '-s', '0:0,hostbridge',� '-c', @processors,� '-m', @memory,� '-U', @uuid,� "#{'-A' if @acpi}",� "#{@binary}",� [� def build_command�� end� `#{@command} -M`.strip.gsub(/MAC:\s+/,'')� def find_mac�� end� end� [NULLDEV, NULLDEV, NULLDEV]� else� [$stdout.raw!, $stderr.raw!, $stdin.raw! ]� if @foreground� def redirection�� private�� end� @ip ||= Xhyve::DHCP.get_ip_for_mac(@mac)� def ip�� end� (true if Process.kill(0, @pid) rescue false)� def running?�� end� Process.kill('KILL', @pid)� def stop�� end� @pid� end� infile.cooked!� outfile.cooked!� Process.wait(@pid) � if @foreground� @pid = spawn(@command, out: outfile, err: errfile, in: infile)� outfile, errfile, infile = redirection� def start�� end� @mac = find_mac� @command = build_command� @binary = opts[:binary] || BINARY_PATH� @foreground = opts[:foreground] || false� @networking = opts.fetch(:networking, true)� @acpi = opts.fetch(:acpi, true)� @serial = opts[:serial] || 'com1'� @uuid = opts[:uuid] || SecureRandom.uuid� @processors = opts[:processors] || '1'� @memory = opts[:memory] || '500M'� @blockdevs = [opts[:blockdevs] || []].flatten� @cmdline = opts.fetch(:cmdline)� @initrd = opts.fetch(:initrd)� @kernel = opts.fetch(:kernel)� def initialize(**opts)�� attr_reader :pid, :uuid, :mac�� NULLDEV = '/dev/null'� PCI_BASE = 3� class Guest� # object oriented interface to a hypervisor guest� # Effectively, it's a command wrapper around xhyve to provide an� # An object to represent a guest that we can start and stop�� BINARY_PATH = File.expand_path('../../../lib/xhyve/vendor/xhyve', __FILE__).freeze�module Xhyve��require 'xhyve/dhcp'��require 'io/console'�require 'securerandom'�