Metropoli BBS
VIEWER: substp.doc MODE: TEXT (ASCII)
SUBST for OS/2 2.x, Version 1.01, Tue  07-06-1993
-------------------------------------------------

New features:  - Supports OS/2 2.0+ only.
               - Now works with WorkplaceShell "drives" folder.
               - Now works with "4OS2".
               - Fixed various problems.
               - Alternate SUBSTP syntax (like Novel MAP command).
               - SUBSTP, when no command line parameters are given, will
                 report information about all drive letters on your
                 system.
               - SUBST to an already SUBSTed drive.
               - Automatic reassignment of an existing drive letter (no
                 need to delete the drive letter first).

This program was written as an exercise to learn about IFS's
(Installable File Systems).  It provides the same function as the
old DOS command: SUBST.

Although it is the property of A:WARE Inc,  there is no charge for the
use of this program.  Consider it a "calling card"; please contact
A:Ware Inc. for your commercial OS/2 programming (File system, device
driver, display driver,  or application) needs.

The program is broken into four parts:

SUBSTFSD.IFS  -- The FSD (File System Driver) which must be
                 installed in CONFIG.SYS with the IFS= statement.

USUBST.DLL    -- This is provided to conform to the IFS specification.
                 Each FSD is supposed to supply a DLL that is named
                 "U<file system name>.DLL",  to support CHKDSK, FORMAT,
                 etc.  UHPFS.DLL, UCDFS.DLL and ULAN.DLL are other
                 examples.

                 USUBST.DLL simply prints a message saying that "The
                 SUBST file system does not support the XXXXX
                 command."   It is not a required part of the SUBST
                 system.  You can loose it if you want. :-).

SUBSTHST.EXE  -- The file system host program,  which must be
                 running at all times to use SUBSTituted drives.  It
                 can be started in one of three ways:

                 1) RUN=SUBSTHST.EXE in config.sys
                 2) DETACH SUBSTHST
                 3) START SUBSTHST

                 The third method will allow you to see any messages
                 the program may display.  Starting it with the /v
                 (verbose) switch causes it to print out a LOT of
                 information (this also causes it to run more
                 slowly).   If you experience a problem,  running it
                 with the /v switch may help discover where the
                 problem is.

                 The new /v2 switch prints the same information as /v,
                 but buffers the messages,  so that it will not slow
                 things down as much.

                 This program may be terminated at any time (with
                 ^C, for example) and restarted.  When it
                 terminates, it automatically detaches all of the
                 drives attached to it.

SUBSTP.EXE   -- The program you use to do the substitutions
                (attaches).

Displaying SUBSTed drives
=========================

    SUBSTP      (no parameters)

                - List all drive letters, with their associated file
                system.

Creating a SUBSTed drive
========================

  a) SUBSTP x: d:\path  (like MSDOS Subst command)
   or
  b) SUBSTP x:=d:\path  (novel "MAP" like sytax)

                - Create an alias, X:,  for "D:\Path".   Doing "DIR X:\"
                would list the files in "D:\path".

Deleting a SUBSTed drive
========================

  a) SUBSTP x: /d
   or
  a) SUBSTP delete x:

                - Delete (detach) substed drive letter.

Caveats:
--------

Direct disk access via DosDevIOCtl() is not supported.  It doesn't
really make sense to support it.

A SUBSTed drive has all of the properties and limitations of a LAN
drive;  in fact,  OS/2 thinks it is a "remote" drive.

Do not try to use a drive letter that is already being used by the DOS
BOX subst command (OS/2 1.x).  This will probably cause a system crash.
Instead,  use only this program -- although the DOS BOX can't run
SUBSTP.EXE,  it DOES have access to all of the drives SUBSTed by an OS/2
session.

DISCLAIMER
----------
The Program is supplied "AS IS" without any warranty of any kind,
either expressed or  implied,  including, but not limited to, the
implied warranties of merchantabilty and fitness for a particular
purpose.

In  no  event  shall A:WARE INC be liable for any damages, either
direct or  consequential,  caused by the use, or inability to use,
this program, even  if A:WARE INC has been advised of the
possibility of such damages.

WARRANTY
--------
This program has no warranty.  It is a completely unsupported
product.  Bug reports/suggestions will be listened to,  but not
necessarily acted upon.

                        --------

The FSD code runs in "kernel protect mode" (ring 0).  If there is a
bug in it,  you'll get the dreaded register dump and "The system
detected an internal processing error at xxxx:yyyy.  The system is
stopped".   Only one code segment is used by this FSD,  so it will
be easy to find out if this program is to blame if your system
crashes.   If the CS register is equal to the value that
SUBSTHST.EXE displays when it is first started,  then SUBSTFSD.IFS
caused the crash.  Note that the CS value is displayed in the
register dump,  NOT in the 'xxxx' in the message "The system
detected an internal processing error at xxxx:yyyy."

Neither of the two *.EXE programs supplied are capable of crashing
the system,  since they run at Ring 3.

Performance
-----------
Using a SUBSTed drive is slower than using one that isn't.  For many
programs,  you probably won't notice.  If you were to write a bench test
that very rapidly opened and closed a file 500 times,  then you will
notice the difference.

                        --------

Copyright (C) 1991, 1993 A:WARE Inc.

A:WARE Inc. develops custom OS/2 applications,  device drivers,  and
utilities.

A:WARE Inc.
6056 Cayeswood Ct.
Mississauga Ontario
Canada L5V-1B1

Voice: (416)858-3222
FidoNet: 1:250/292
BBS: (416)858-8488

[ RETURN TO DIRECTORY ]