# File lib/geoip.rb, line 391
  def isp(hostname)
    ip = lookup_ip(hostname)

    # Convert numeric IP address to an integer
    ipnum = iptonum(ip)

    case @database_type
    when Edition::ORG,
     Edition::ISP,
     Edition::DOMAIN,
     Edition::ASNUM,
     Edition::ACCURACYRADIUS,
     Edition::NETSPEED,
     Edition::USERTYPE,
     Edition::REGISTRAR,
     Edition::LOCATIONA,
     Edition::CITYCONF,
     Edition::COUNTRYCONF,
     Edition::REGIONCONF,
     Edition::POSTALCONF
      pos = seek_record(ipnum)
      read_isp(pos-@database_segments[0])
    else
      throw "Invalid GeoIP database type, can't look up Organization/ISP by IP"
    end
  end