# File reline/terminfo.rb, line 17
def self.curses_dl_files
  case RUBY_PLATFORM
  when /mingw/, /mswin/
    # aren't supported
    []
  when /cygwin/
    %w[cygncursesw-10.dll cygncurses-10.dll]
  when /darwin/
    %w[libncursesw.dylib libcursesw.dylib libncurses.dylib libcurses.dylib]
  else
    %w[libncursesw.so libcursesw.so libncurses.so libcurses.so]
  end
end
             
            TODO: add int tigetflag(char *capname) and int tigetnum(char *capname)
 
               # File reline/terminfo.rb, line 79
def self.setupterm(term, fildes)
  errret_int = String.new("\x00" * 8, encoding: 'ASCII-8BIT')
  ret = @setupterm.(term, fildes, errret_int)
  errret = errret_int.unpack1('i')
  case ret
  when 0 # OK
    0
  when -1 # ERR
    case errret
    when 1
      raise TerminfoError.new('The terminal is hardcopy, cannot be used for curses applications.')
    when 0
      raise TerminfoError.new('The terminal could not be found, or that it is a generic type, having too little information for curses applications to run.')
    when -1
      raise TerminfoError.new('The terminfo database could not be found.')
    else # unknown
      -1
    end
  else # unknown
    -2
  end
end