Re: documentation for fs redirector

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

> int21/ah=6c is the one to use for a DOS app. IIRC DJGPP programs use
> this one for straight C programs; otherwise you'd have to call it
> manually.

<quotation>
INT 2F CU - NETWORK REDIRECTOR (DOS 4.0+) - EXTENDED OPEN/CREATE FILE
        AX = 112Eh
        SS = DS = DOS DS

[cut]

BUG:    this function is not called correctly under some DOS versions
          (at least 5.0 and 6.2):
            the file attribute on the stack is not correct if the action
              code is 11h,
            the result code in CX is not passed back to the application.
</quotation>

and:

<quotation>
INT 21 - DOS 4.0+ - EXTENDED OPEN/CREATE
        AX = 6C00h

[cut]

BUG:    this function has bugs (at least in DOS 5.0 and 6.2) when used with
          drives handled via the network redirector (INT 2F/AX=112Eh):
            - CX (attribute) is not passed to the redirector if DL=11h,
            - CX does not return the status, it is returned unchanged because
              DOS does a PUSH CX/POP CX when calling the redirector.
</quotation>

I wanted make workaround for this while I use DOS versions affected by this 
bug. I found CX value on the stack and changed this value so int21 could pop 
it. Unfortunately CX still contains file attribute instead of my replaced 
result. Why? Is my idea completely wrong or I just missed sth? Maybe I should 
use some TSR witch could catch int21 inside DOS and do the thing? - I'm not 
an assembler guru and I really don't know what if and what I can do more...

Regards,
-- 
Rafał Cygnarowski
rafi@xxxxxxx

Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux