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.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