diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2000-07-24 10:26:06 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2000-07-24 10:26:06 +0000 |
commit | 3cf3e2f2afd279dad95082ee81f3f83516024b27 (patch) | |
tree | 1d73d53ac3deaae5ae2f8c12f5d501e8ffa7f28e /perl-install/partition_table_empty.pm | |
parent | d97b226e3049c136401416aaceaba39587cd0605 (diff) | |
download | drakx-3cf3e2f2afd279dad95082ee81f3f83516024b27.tar drakx-3cf3e2f2afd279dad95082ee81f3f83516024b27.tar.gz drakx-3cf3e2f2afd279dad95082ee81f3f83516024b27.tar.bz2 drakx-3cf3e2f2afd279dad95082ee81f3f83516024b27.tar.xz drakx-3cf3e2f2afd279dad95082ee81f3f83516024b27.zip |
no_comment
Diffstat (limited to 'perl-install/partition_table_empty.pm')
-rw-r--r-- | perl-install/partition_table_empty.pm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/perl-install/partition_table_empty.pm b/perl-install/partition_table_empty.pm new file mode 100644 index 000000000..d59cea52b --- /dev/null +++ b/perl-install/partition_table_empty.pm @@ -0,0 +1,38 @@ +package partition_table_empty; + +#- this is a mainly dummy partition table. If we find it's empty, we just call - +#- zero_MBR which will take care of bless'ing us to the partition table type best +#- suited + + +use diagnostics; +use strict; +use vars qw(@ISA); + +@ISA = qw(partition_table_raw); + +use common qw(:common :system :file); +use partition_table_raw; +use partition_table; +use c; + + +sub read($$) { + my ($hd, $sector) = @_; + my $tmp; + + my $magic = "\0" x 256; + + local *F; partition_table_raw::openit($hd, *F) or die "failed to open device"; + c::lseek_sector(fileno(F), $sector, 0) or die "reading of partition in sector $sector failed"; + + #- check magic number + sysread F, $tmp, length $magic or die "error reading magic number"; + $tmp eq $magic or die "bad magic number"; + + partition_table_raw::zero_MBR($hd); + + $hd->{primary}{raw}; +} + +1; |