Up ] Docs Home ]

Call IFS utility function entry point with

Back ] Next ]

Data:
AH = 20h miscellaneous functions
AL = 00h get date

Return:

CX = year
DH = month
DL = day
AL = 01h get process ID and computer ID

Return:

BX = current PSP segment
DX = active network machine number
AL = 05h get file system info
Call: ES:DI 16-byte info buffer
Return:
Offset Size Description
00h 2 BYTEs unused
02h WORD number of SFTs (actually counts only the first two file table arrays)
04h WORD number of FCB table entries
06h WORD number of proctected FCBs
08h 6 BYTEs unused
0Eh WORD largest sector size supported
AL = 06h get machine name
Call: ES:DI 18-byte buffer for name
Return:
Offset Size Description
00h 2 BYTEs unused
02h WORD number of SFTs (actually counts only the first two file table arrays)
04h WORD number of FCB table entries
06h WORD number of proctected FCBs
08h 6 BYTEs unused
0Eh WORD largest sector size supported
AL = 08h get sharing retry count
Return: BX = sharing retry count
AL = other
Return: CF - set
AH = 21h get redirection state
Call: BH = type
03h = disk
04h = printer
Return: BH = state
00h = off
01h = on
AH = 22h ??? some sort of time calculation
AL = 00h ???
nonzero ???
AH = 23h ??? some sort of time calculation
AH = 24h compare filenames

Call:

DS:SI first ASCIZ filename
ES:DI second ASCIZ filename
Return:

ZF

-

set if files are same ignoring case and / vs \
AH = 25h normalize filename

Call:

DS:SI ASCIZ filename
ES:DI buffer for result
Return:

filename uppercased, forward slashes changed to backslashes

AH = 26h get DOS stack

Return:

DS:SI top of stack
CX

=

size of stack in bytes
AH = 27h increment InDOS flag
AH = 28h decrement InDOS flag
Notes: IFS drivers which do not wish to implement functions 20h or 24h-28h may pass them on to the default handler pointed at by [LoL+37h].
See Also: #01659,#01660