Summary
INT 21h/4409h and 440Ah appear to report local device/handle attributes even when the network or file-sharing provider required by the MS-DOS 4.0 reference is absent.
Minimal reproducer
Boot with a valid local drive and ordinary open file, but without SHARE or a network redirector:
- Call INT 21h with AX=4409h and BL=1 (drive A).
- Call INT 21h with AX=440Ah and BX set to a valid open file handle.
Expected behavior
The MS-DOS Version 4.0 Programmer's Reference documents error 01h when the required provider is not loaded for both calls. For 4409h it additionally documents error 15 for an invalid drive; for 440Ah it documents error 6 for an invalid handle.
Observed source behavior
At component commit ac16c8a7401526f99787e03babdb2f4223d48fc4, DosDevIOctl returns success for AL=09h after obtaining the local CDS/device attributes, and for AL=0Ah after obtaining a valid SFT. These paths do not check for SHARE or a network redirector. The source is visible at https://github.com/lpproj/fdkernel/blob/ac16c8a7401526f99787e03babdb2f4223d48fc4/kernel/ioctl.c#L143-L206.
References
Could you confirm whether the local success behavior is intentional FreeDOS compatibility, or whether the calls should report the documented provider-not-loaded error?
Summary
INT 21h/4409h and 440Ah appear to report local device/handle attributes even when the network or file-sharing provider required by the MS-DOS 4.0 reference is absent.
Minimal reproducer
Boot with a valid local drive and ordinary open file, but without SHARE or a network redirector:
Expected behavior
The MS-DOS Version 4.0 Programmer's Reference documents error 01h when the required provider is not loaded for both calls. For 4409h it additionally documents error 15 for an invalid drive; for 440Ah it documents error 6 for an invalid handle.
Observed source behavior
At component commit
ac16c8a7401526f99787e03babdb2f4223d48fc4,DosDevIOctlreturns success for AL=09h after obtaining the local CDS/device attributes, and for AL=0Ah after obtaining a valid SFT. These paths do not check for SHARE or a network redirector. The source is visible at https://github.com/lpproj/fdkernel/blob/ac16c8a7401526f99787e03babdb2f4223d48fc4/kernel/ioctl.c#L143-L206.References
ac16c8a7401526f99787e03babdb2f4223d48fc4Could you confirm whether the local success behavior is intentional FreeDOS compatibility, or whether the calls should report the documented provider-not-loaded error?