chiark / gitweb /
@@ -1,3 +1,11 @@
[chiark-utils.git] / backup / backuplib.pl
index ba1c50be01467958ded1c00873c1753870c5466a..8be8bff2cd91a889349377283ed119e6bde9884b 100644 (file)
@@ -51,6 +51,25 @@ sub startprocess ($$$) {
     exec $c; die "$c: $!";
 }
 
+sub readtapeid_raw () {
+    open T, ">>TAPEID" or die $!; close T;
+    unlink 'TAPEID' or die $!;
+    system "mt -f $tape rewind"; $? and die $?;
+    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: $!";