[comp.unix.xenix.sco] Mtools is great - get rid of doscp!

dls@genco.bungi.com (Dave L. Smith) (06/22/91)

I just got Mtools from CompuServe ( :-( ), and compiled it A-OK under
SCO Xenix 386.  I don't know what I ever did without Mtools.  If
you're tired of waiting for doscp to finish, download Mtools in the
meantime.  Thanks again to Emmet Gray.

Dave Smith

brigc@world.std.com (Brig C McCoy) (06/23/91)

In article <705@genco.bungi.com> dls@genco.bungi.com (Dave L. Smith) writes:
>I just got Mtools from CompuServe ( :-( ), and compiled it A-OK under
>SCO Xenix 386.  I don't know what I ever did without Mtools.  If
>you're tired of waiting for doscp to finish, download Mtools in the
>meantime.  Thanks again to Emmet Gray.
>
>Dave Smith

Have you got any pointers to it besides CompuServe?

+-----------------------------------------------------------------+
| Brig C. McCoy                 --  "Standard disclaimers"        |
| Systems Administrator         --                                |
| Soft-tek International        --  Internet: brigc@world.std.com |
| 1999 North Amidon, Suite 340  --     Voice: 316 838-7200        |
| Wichita, KS 67203-2124        --       Fax: 316 838-3789        |
+-----------------------------------------------------------------+

caf@omen.COM (Chuck Forsberg WA7KGX) (06/24/91)

In article <1991Jun23.043224.22182@world.std.com> brigc@world.std.com (Brig C McCoy) writes:
-In article <705@genco.bungi.com> dls@genco.bungi.com (Dave L. Smith) writes:
->I just got Mtools from CompuServe ( :-( ), and compiled it A-OK under
->SCO Xenix 386.  I don't know what I ever did without Mtools.  If
->you're tired of waiting for doscp to finish, download Mtools in the
->meantime.  Thanks again to Emmet Gray.
->
->Dave Smith
-
-Have you got any pointers to it besides CompuServe?

The Mtools I uploaded to CompuServe had a drive table optimized for
SCO conventions.  Here is the addition to devices.c:

#ifdef SCO
struct device devices[] = {
	{'A', "/dev/rdsk/f0d9dt", 0L, 12, 0, (int (*) ()) 0, 40, 2, 9},
	{'A', "/dev/rdsk/f0q15dt", 0L, 12, 0, (int (*) ()) 0, 80, 2, 15},
	{'A', "/dev/rdsk/f0d8dt", 0L, 12, 0, (int (*) ()) 0, 40, 2, 8},
	{'B', "/dev/rfd196ds9", 0L, 12, 0, (int (*) ()) 0, 80, 2, 9},
	{'B', "/dev/rfd1135ds18", 0L, 12, 0, (int (*) ()) 0, 80, 2, 18},
	{'C', "/dev/hd0d", 0L, 16, 0, (int (*) ()) 0, 0, 0, 0},
	{'D', "/usr/vpix/defaults/C:", 8704L, 12, 0, (int (*) ()) 0, 0, 0, 0},
	{'E', "$HOME/vpix/C:", 8704L, 12, 0, (int (*) ()) 0, 0, 0, 0},
	{'X', "/dev/rfd096ds15", 0L, 12, 0, (int (*) ()) 0, 80, 2, 15},
	{'Y', "/dev/rfd1135ds18", 0L, 12, 0, (int (*) ()) 0, 80, 2, 18},
	{'\0', (char *) NULL, 0L, 0, 0, (int (*) ()) 0, 0, 0, 0}
};
#endif /* SCO */

-- 
Chuck Forsberg WA7KGX          ...!tektronix!reed!omen!caf 
Author of YMODEM, ZMODEM, Professional-YAM, ZCOMM, and DSZ
  Omen Technology Inc    "The High Reliability Software"
17505-V NW Sauvie IS RD   Portland OR 97231   503-621-3406

dls@genco.bungi.com (Dave L. Smith) (06/25/91)

Since several people have inquired about Mtools' location,
I am re-posting Emmet's article:
--------------------------------------------------------------------

Mtools is a public domain collection of programs to allow Unix systems
to read, write and manipulate files on an MSDOS filesystem (typically a
diskette).

The following MSDOS commands are emulated:

Mtool 		MSDOS
name		equivalent	Description
-----		----		-----------
mattrib		ATTRIB		change MSDOS file attribute flags
mcd		CD		change MSDOS directory
mcopy		COPY		copy MSDOS files to/from Unix
mdel		DEL/ERASE	delete an MSDOS file
mdir		DIR		display an MSDOS directory
mformat		FORMAT		add an MSDOS filesystem to a low level format
mlabel		LABEL		make an MSDOS volume label
mmd		MD/MKDIR	make an MSDOS sub directory
mrd		RD/RMDIR	remove an MSDOS sub directory
mread		COPY		low level read (copy) an MSDOS file to Unix
mren		REN/RENAME	rename an existing MSDOS file
mtype		TYPE		display contents of an MSDOS file
mwrite		COPY		low level write (copy) a Unix file to MSDOS

The current version of Mtools is v2.0.4 (meaning version 2.0 at patch
level 4)

Mtools v2.0 was posted to the unix-pc.sources news group (and mailed to
Rich Salz, the moderator of comp.sources.unix) on the 17th of September
1990.  Since then, patches 1-4 have been posted to unix-pc.sources,
comp.sources.bugs, and emailed to Rich Salz.

The "always current" version of Mtools and all the patches are available
via anonymous ftp from cerl.cecer.army.mil (129.229.1.101).  I've also
placed the files in the ~ftp/tmp/mtools directory on uunet.uu.net.

Emmet P. Gray				US Army, HQ III Corps & Fort Hood
...!uunet!uiucuxc!fthood!egray		Attn: AFZF-DE-ENV
fthood!egray@uxc.cso.uiuc.edu		Directorate of Engineering & Housing
					Environmental Management Office
					Fort Hood, TX 76544-5057

--------------------------------------------------------------------

Dave Smith
dls@genco.bungi.com

davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) (06/27/91)

Since there's all this interest in mtools, here's a little script to
list *all* files on a disk, recursively.

#!/bin/sh
# shar:	Shell Archiver  (v1.29)
#
#	Run the following text with /bin/sh to create:
#	  mrdir
#
echo "x - extracting mrdir (Text)"
sed 's/^X//' << 'SHAR_EOF' > mrdir &&
X:
X#!/bin/sh
X#
X# rdosdir - recursive DOS directory for mtools
X#
X# Author: Bill Davidsen, 12-11-86
X# converted to mtools 6-14-91
X#
X# Arguments:
X#  1 - disk and directory
X#  2 - columns of output (opt)
X#  3 - print colums (opt)
X
X# see if user needs help
Xif [ $# -eq 0 -o "$1" = "-h" ]
Xthen # output help and quit
X echo "\n\n$0: command format, options in [brackets]"
X echo "  $0 StartDir [print cols] [print width]"
X echo "\nExample:"
X echo "  $0 a: 2 90"
X echo "print all directories on disk A:, double column"
X echo "page width of 90 columns"
X exit 0
Xfi
X
X# see if print columns specified
Xif [ -n "$3" ]
Xthen
X width=w$3
Xfi
X
X# process the current directory
Xtemp=/tmp/dd.$$			# temp file name
Xmdir $1 | sort >$temp
Xecho "\n$1\n"
Xpr -${2}${width}t $temp
X
X# build a list of subdirectories
Xsubdir=`awk '
X{ if ($3 == "<DIR>") print $1 "." $2;
X  if ($2 == "<DIR>" && substr($1,1,1) != ".") print $1
X}' $temp`
X
Xfor dirname in $subdir
Xdo
X $0 $1/$dirname $2 $3
Xdone
X
X# clean up
Xrm $temp
SHAR_EOF
chmod 0755 mrdir || echo "restore of mrdir fails"
exit 0

-- 
bill davidsen	(davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen)
  GE Corp R&D Center, Information Systems Operation, tech support group
  Moderator comp.binaries.ibm.pc and 386-users digest.