Function 70 - work with file system with long names support.
Parameters:
- eax = 70
- ebx = pointer to the information structure
Returned value:
General format of the information structure:
- +0: dword: subfunction number
- +4: dword: file offset
- +8: dword: high dword of offset (must be 0) or flags field
- +12 = +0xC: dword: size
- +16 = +0x10: dword: pointer to data
- +20 = +0x14: n db: ASCIIZ-string with the filename
or
- +20 = +0x14: db 0
- +21 = +0x15: dd pointer to ASCIIZ-string with the filename
Specifications - in documentation on the appropriate subfunction.
Filename is case-insensitive. Russian letters must be written in
the encoding cp866 (DOS).
Format of filename:
/base/number/dir1/dir2/.../dirn/file,
where /base/number identifies device, on which file is located:
one of
- /RD/1 = /RAMDISK/1 to access ramdisk
- /FD/1 = /FLOPPYDISK/1 to access first floppy drive,
/FD/2 = /FLOPPYDISK/2 to access second one
- /HD0/x, /HD1/x, /HD2/x, /HD3/x to access accordingly to devices
IDE0 (Primary Master), IDE1 (Primary Slave),
IDE2 (Secondary Master), IDE3 (Secondary Slave);
x - partition number on the selected hard drive, varies from 1
to 255 (on each hard drive the indexing starts from 1)
- /CD0/1, /CD1/1, /CD2/1, /CD3/1 to access accordingly to
CD on IDE0 (Primary Master), IDE1 (Primary Slave),
IDE2 (Secondary Master), IDE3 (Secondary Slave)
Examples:
- '/rd/1/kernel.asm',0
- '/HD0/1/kernel.asm',0
- '/hd0/2/menuet/pics/tanzania.bmp',0
- '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
Available subfunctions:
For CD-drives due to hardware limitations only subfunctions
0,1,5 and 7 are available, other subfunctions return error
with code 2.