get_header_vars (KirbyBase::KBEngine)

    # File lib/kirbybase.rb, line 991
        def get_header_vars(table)
            with_table(table) do |fptr|
                encrypted, line = get_header_record(table, fptr)

                last_rec_no, del_ctr, record_class, *flds = line.split('|')
                field_names = flds.collect { |x| x.split(':')[0].to_sym }
                field_types = flds.collect { |x| x.split(':')[1].to_sym }
                field_indexes = [nil] * field_names.size
                field_defaults = [nil] * field_names.size
                field_requireds = [false] * field_names.size
                field_extras = [nil] * field_names.size

                flds.each_with_index do |x,i|
                    field_extras[i] = {}
                    if x.split(':').size > 2
                        x.split(':')[2..-1].each do |y|
                            if y =~ /Index/
                                field_indexes[i] = y
                            elsif y =~ /Default/
                                field_defaults[i] = \
                                 convert_to_native_type(field_types[i],
                                  y.split('->')[1])
                            elsif y =~ /Required/
                                field_requireds[i] = \
                                 convert_to_native_type(:Boolean,
                                  y.split('->')[1])
                            else
                                field_extras[i][y.split('->')[0]] = \
                                 y.split('->')[1]
                            end
                        end
                    end
                end
                return [encrypted, last_rec_no.to_i, del_ctr.to_i,
                 record_class, field_names, field_types, field_indexes,
                 field_defaults, field_requireds, field_extras]
            end
        end