exec $c; die "$c: $!";
}
+sub rewind_raw () {
+ system "mt -f $tape rewind"; $? and die $?;
+}
+
+sub readtapeid_raw () {
+ open T, ">>TAPEID" or die $!; close T;
+ unlink 'TAPEID' or die $!;
+ rewind_raw();
+ system "mt -f $tape setblk $blocksizebytes"; $? and die $?;
+ system "dd if=$tape bs=${blocksize}b count=10 ".
+ "| tar -b$blocksize -vvxf - TAPEID";
+}
+
+sub writetapeid ($) {
+ open T, ">TAPEID" or die $!;
+ print T "$_[0]\n" or die $!;
+ close T or die $!;
+
+ system "tar -b$blocksize -vvcf TAPEID.tar TAPEID"; $? and die $?;
+ system "dd if=TAPEID.tar of=$ntape bs=${blocksize}b count=10";
+ $? and die $?;
+}
+
sub endprocesses () {
while (keys %processes) {
$p= waitpid(-1,0) or die "wait: $!";