This devhlp allows to open a file for read access in the Init routine of a BASEDEV.
ES:DI = point to a SYIOpenFile structure
- DL = 07fh
- CY=0, AX = 0: okay, structure pointed to by ES:DI is modified
- CY=1, AX = ERROR_BAD_LENGTH: packet is invalid
- CY=1, AX = <>0: other filesystem related errors
; assembler structure SYIOpenFile struc length dw 8 ; length of structure, must contain value 8 name dd ? ; 16:16 ASCIZ pathname fsize dd ? ; returned: size of file SYIOpenFile ends
Valid at INIT time only. This routine is not handle based, so it is only possible to have only one file at a time open. This routine uses the corresponding function of the miniFSD, not normal file I/O, thus access is restricted. At this phase of boot, drive letters do not yet exist, and IFSs/DMDs might not yet have been initialized, so you can only open files on the boot drive. Depending on the type of IPL (e.g. loading from a network file system), other restrictions might apply.
The returned file size is unreliable, the value returned is always
Republished without permission from Holger Veit’s long gone webpages – MKG