# File lib/innodb/page/index.rb, line 209
  def page_header
    @page_header ||= cursor(pos_index_header).name("index") do |c|
      index = {
        :n_dir_slots            => c.name("n_dir_slots") { c.get_uint16 },
        :heap_top               => c.name("heap_top") { c.get_uint16 },
        :n_heap_format          => c.name("n_heap_format") { c.get_uint16 },
        :garbage_offset         => c.name("garbage_offset") { c.get_uint16 },
        :garbage_size           => c.name("garbage_size") { c.get_uint16 },
        :last_insert_offset     => c.name("last_insert_offset") { c.get_uint16 },
        :direction              => c.name("direction") { PAGE_DIRECTION[c.get_uint16] },
        :n_direction            => c.name("n_direction") { c.get_uint16 },
        :n_recs                 => c.name("n_recs") { c.get_uint16 },
        :max_trx_id             => c.name("max_trx_id") { c.get_uint64 },
        :level                  => c.name("level") { c.get_uint16 },
        :index_id               => c.name("index_id") { c.get_uint64 },
      }
      index[:n_heap] = index[:n_heap_format] & (2**15-1)
      index[:format] = (index[:n_heap_format] & 1<<15) == 0 ?
        :redundant : :compact
      index.delete :n_heap_format

      index
    end
  end