On 2/21/2023 5:05 PM, Yll Buzoku wrote:
Hi Aitor,
Preface:
The following holds true for PC-DOS 3.3, though I have no reason to
suspect anything I say holds any different for any DOS version from
3.1 onwards. My understanding of what is expected of the redirector
interface is due to having disassembled the DOS 3.3 kernel to
understand how it works and may not be 100% accurate. Also, DOS 3.0
has some unique quirks but as far as the following is concerned, I
suspect it works more or less the same as later DOS versions. DOS
versions before that had no redirector interface.
DOS has two 128-byte buffers in the Swappable Data Area. Initially, on
a file-based request, such as AH=3Dh (OPEN), DOS will parse the passed
filename into one of these buffers and place a pointer to it in
another SDA variable. This parsing routine expects 8.3 names at all
stages in the pathname except at the very beginning where if the
pathname begins with \\ DOS understands this as referencing a path on
a network machine and allows a valid MS-NET machine name as the first
component of the path.
FCB functions work like this too, but the way DOS handles them is a
bit more convoluted, though you can imagine FCB handling by DOS as
converting the FCB request to a normal file request, then proceeding
as normal and at the end synchronising the FCB fields before returning
control back to the application. Of course, you can only act upon
files on drives with drive letters when using FCBs.
The use of FCBs was obsolete by the time DOS 2.0 and the use of file
handles came around...
Ralf
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel