• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

COPYINGH A D13-Sep-200017.6 KiB341281

MakefileH A D13-Sep-2000341 2413

READMEH A D13-Sep-20005.5 KiB12197

mtf-0.2.1.lsmH A D18-Oct-2000420 1312

mtf.cH A D13-Sep-200017.1 KiB931721

mtf.hH A D13-Sep-200014.4 KiB459320

mtfread.cH A D03-May-202238 KiB1,7881,414

mtfutil.cH A D13-Sep-20002.5 KiB14069

README

1mtf - a Microsoft Tape Format reader (and future writer?)
2Copyright (C) 1999-2000  D. Alan Stewart, Layton Graphics, Inc.
3
4This program is free software; you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation; either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; if not, write to the Free Software
16Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18Contact the author at:
19
20D. Alan Stewart
21Layton Graphics, Inc.
22155 Woolco Dr.
23Marietta, GA 30062
24astewart@layton-graphics.com
25
26
279/13/2000 - mtf version 0.2.1
28
29Several enhancements have been added. The most significant is that mtf can now
30automatically detect the block size of a tape drive. If for some reason this
31does not work with your tape drive, a '-b' option allows specifying this at run
32time. The '-f' switch for preserving free space has been changed to '-F'. This
33option now tests for free space before writing each file instead of at directory
34creation time. Slower, but more accurate. Using a pattern to selectively read
35files from a tape now only creates the minimal directories required. Finally,
36mtf now looks for an MTF_OPTS environment variable. This variable should be an
37option string for mtf.
38
39Usage: mtf [options] [pattern(s)]
40    -v               verbose
41    -V               very verbose
42    -D               debug
43    -l               list contents
44    -b bytes         tape block size
45    -d device        device to read from
46    -s set           number of data set to read
47    -u user          assign owner to all files/directories written
48    -g group         assign group to all files/directories written
49    -c [lower|upper] force the case of paths
50    -o path          root path to write files to
51    -F bytes[K|M]    maintain minimum free space of bytes;
52                     a K or M suffix signifies kilobytes or megabytes
53    pattern(s)       only read file paths that match regex pattern(s)
54
55
563/30/1999 - mtf version 0.1
57
58WARNING! I DO NOT RECOMMEND USING THIS SOFTWARE UNLESS YOU ARE A C PROGRAMMER.
59For that reason the program is provided only as C source code. It is poorly
60tested as of yet - only with tapes written by one source and read by one tape
61drive. At this writing it has successfully read over 150 gigabytes of data from
62a series of four DLT tapes. I have not found any bugs lately, but am sure plenty
63will be found as others try it.
64
65This is the first publicly released version of mtf, a bare-bones reader for
66Microsoft Tape Format tapes. Not a lot is supported at this point, but it does
67everything I need it to do. This is my first effort at publicly releasing
68software. It is also the first time I have manipulated a tape drive from a C
69program. In particular, I do not know if it works with any drive other than my
70Intergraph 40GB DLT tape drive. There may be better ways to do what I have done.
71Please send any bug fixes or suggestions for improvements in the C code (other
72than new features) to me. If you wish to add functionality, let me know about it
73and I will try to coordinate and integrate everyone's efforts. I myself do not
74have any plans for adding features to the program at this time, but I'd love to
75see the Linux community develop it into a freely available, open source,
76full-featured reader and writer. Even better if it also becomes a portable,
77cross-platform program as pervasive as cpio or tar.
78
79This program is based on Microsoft Tape Format Specification Version 1.00a,
80Document Revision 1.8. This document is available at:
81
82http://www.seagatesoftware.com/products/sm/library/whitepapers/downloads/mtfv1r18.zip
83
84Usage: mtf [options] [pattern(s)]
85
86Options:
87
88    -v               verbose
89    -V               very verbose
90    -D               debug
91    -l               list contents
92    -d device        device to read from
93    -s set           number of data set to read
94    -u user          assign owner to all files/directories written;
95                     useful only for the root user
96    -g group         assign group to all files/directories written;
97                     useful only for the root user
98    -c [lower|upper] force the case of paths
99    -o path          root path to write files/directories to
100    -f bytes[K|M]    maintain minimum free space of bytes;
101                     a K or M suffix signifies kilobytes or megabytes
102
103Most of the options require no further explanation. The -f option is something
104I have implemented to solve a problem specific to my site. Maybe some others
105will find it useful also. When this option is specified mtf will test free
106space available on the volume before writing a directory. If the space available
107is less than the specified threshold an error message is printed and mtf goes to
108sleep for one minute. It repeats this cycle until free space is greater than the
109threshold. (When I use mtf, there is a coprocess that is processing directories,
110archiving them to another volume, and then deleting them from the current volume
111as the tape is being read. Unfortunatley, mtf reads data from my tape drive
112faster than the data can be processed.)
113
114Patterns:
115
116POSIX basic regular expressions, case-insensitive, no substring addressing, no
117newline matching as used by regcomp() and regexec().
118
119
120Enjoy!
121