/*
 * インデックス情報の取得。
 *
 * === Return
 * Hash :: インデックス情報を表すハッシュ。次のキーを持つ。:key_size, :flags, :initial_n_segments, :encoding
 */
static VALUE index_info(VALUE obj)
{
    struct index_data *data;
    int key_size, flags, initial_n_segments;
    sen_encoding encoding;
    VALUE ret;
    Data_Get_Struct(obj, struct index_data, data);
    sen_index_info(data->indexp, &key_size, &flags, &initial_n_segments, &encoding, NULL, NULL, NULL, NULL, NULL, NULL);
    ret = rb_hash_new();
    rb_hash_aset(ret, ID2SYM(rb_intern("key_size")), INT2NUM(key_size));
    rb_hash_aset(ret, ID2SYM(rb_intern("flags")), INT2NUM(flags));
    rb_hash_aset(ret, ID2SYM(rb_intern("initial_n_segments")), INT2NUM(initial_n_segments));
    rb_hash_aset(ret, ID2SYM(rb_intern("encoding")), INT2NUM(encoding));
    return ret;
}