Mail Archives: djgpp-workers/2001/02/26/16:21:46
According to Eli Zaretskii:
> Because RBIL says:
>
> INT 21 - Windows95 - LONG FILENAME - GET VOLUME INFORMATION
> AX = 71A0h
> DS:DX -> ASCIZ root name (e.g. "C:\")
> ES:DI -> buffer for file system name
> CX = size of ES:DI buffer
> Return: CF clear if successful
> AX destroyed (0000h and 0200h seen)
> BX = file system flags (see #01783)
> CX = maximum length of file name [usually 255]
> DX = maximum length of path [usually 260]
> ES:DI buffer filled (ASCIZ, e.g. "FAT","NTFS","CDFS")
> CF set on error
> AX = error code
In my version the line above here reads "AX = error code (see #01680)"
but I haven't updated it for a while.
> 7100h if function not supported
>
> So it looks like either FreeDOS does not comply to what it should be,
> or maybe RBIL is inaccurate.
>
> In general, unsupported functions should return something more
> prominent than just AX = 1, though.
But FreeDOS does return with carry set indicating failure (all
according to the RBIL entry above). Should we really ignore that? I
don't think so.
BTW, does older DOZE versions (e. g. 5, as you can test it) really
return with AX = 0x7100? DOZE 6.22 Swedish version does.
Right,
MartinS
- Raw text -