1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
# ##################################
# Here starts the XBase::cdx package
package XBase::cdx;
use strict;
use XBase::Base;
use vars qw( $VERSION @ISA );
@ISA = qw( XBase::Base );
$VERSION = "0.03";
sub read_header
{
my $self = shift;
my $header;
$self->{'fh'}->read($header, 512) == 512 or do
{ Error "Error reading header of $self->{'filename'}\n";
return; };
my ($root_page1, $root_page2, $free_list, $total_no_pages,
$key_len, $index_opts, $index_sign, $reserved1,
$sort_order, $total_exp_len, $for_exp_len,
$reserved2, $key_exp_len)
= unpack "nnNNvCCA486vvvvv", $header;
my $root_page = $root_page1 | ($root_page2 << 16);
@{$self}{ qw( root_page free_list total_no_pages key_len index_opts
index_sign sort_order total_exp_len for_exp_len
key_exp_len ) }
= ($root_page, $free_list, $total_no_pages, $key_len,
$index_opts, $index_sign, $sort_order,
$total_exp_len, $for_exp_len, $key_exp_len);
1;
}
sub dump_records
{
my $self = shift;
}
1;
|