🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.programmer
Article #547

Re: Software interface to drive/directory mapping

#547
From: Ralf Brown
Date: Wed, 30 May 1990 00:06
47 lines
2965 bytes
In article <431@ria.ccs.uwo.ca> pruss@ria.ccs.uwo.ca (? pruss) writes:
}Basically I am wondering what SUBST and JOIN actually do.
}
}Is there some portable way of accessing the SUBST/JOIN data area?
}I found it at a different address under DOS 3.3 and 4.01.  Also,
}has the format of this data area been released?

Yes, there is a portable way of accessing it.  No, the format has not 
officially been released.  However, it is described in INTER290.ZIP.

Call INT 21h with AH=52h.  On return, the DWORD at ES:BX+17h points at an
array of current directory structures.

Format of current directory structure (array, 51h bytes [58h for DOS 4.x] per
drive):
Offset  Size    Description
 00h 67 BYTEs   current path as ASCIZ, starting with 'x:\'
 43h    WORD    bit flags
                bit 15: network drive   \ installable file system if both set
                bit 14: physical drive  / invalid drive if neither bit set
                bit 13: JOIN'ed, current path is actual path without JOIN
                        drive letter in path may differ from logical drive name
                bit 12: SUBST'ed, current path is actual path without SUBST
                        drive letter in path may differ from logical drive name
 45h    DWORD   pointer to DOS Disk Block for this drive
---local drives---
 49h    WORD    starting cluster of current directory
                0000h = root, FFFFh never accessed
 4Bh    WORD    ??? seems always to be FFFFh
 4Dh    WORD    ??? seems always to be FFFFh
---network drives---
 49h    DWORD   pointer to a redirector/REDIRIFS record, else FFFFFFFFh
 4Dh    WORD    stored parameter from INT 21/AX=5F03h???
------
 4Fh    WORD    Offset of '\' in current path field representing root directory
                of logical drive (2 if not SUBST'ed or JOIN'ed, otherwise
                number of bytes in SUBST/JOIN path)
---DOS 4.x---
 51h    BYTE    ??? used by network
 52h    DWORD   pointer to IFS driver for this drive, 00000000h if native DOS
 56h    WORD    ???

-- 
{backbone}!cs.cmu.edu!ralf   ARPA: RALF@CS.CMU.EDU   FIDO: Ralf Brown 1:129/46
BITnet: RALF%CS.CMU.EDU@CMUCCVMA   AT&Tnet: (412)268-3053 (school)   FAX: ask
DISCLAIMER? | _How_to_Prove_It_ by Dana Angluin  20. by vehement assertion: It
What's that?|is useful to have some kind of authority relation to the audience
Technical Details
Message-ID: <9456@pt.cs.cmu.edu>
Path: arc1-ca.pugleaf.net!utzoo!yunexus!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!pt.cs.cmu.edu!b.gp.cs.cmu.edu!ralf
References: <431@ria.ccs.uwo.ca>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!yunexus!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!pt.cs.cmu.edu!b.gp.cs.cmu.edu!ralf
From: ralf@b.gp.cs.cmu.edu (Ralf Brown)
Newsgroups: comp.sys.ibm.pc.programmer
Subject: Re: Software interface to drive/directory mapping
Keywords: Mess, DOS, MSDOS, PC, SUBST, JOIN, 3.3, 4.01, drive, dir, mapping, Microsoft data release
Message-ID: <9456@pt.cs.cmu.edu>
Date: 30 May 90 00:06:34 GMT
Article-I.D.: pt.9456
References: <431@ria.ccs.uwo.ca>
Organization: Carnegie-Mellon University, CS/RI
Lines: 47