[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Format of IFS driver list:
Offset  Size    Description
 00h    DWORD   pointer to next driver header
 04h  8 BYTEs   IFS driver name (blank padded), as used by FILESYS command
 0Ch  4 BYTEs   ???
 10h    DWORD   pointer to IFS utility function entry point (see below)
                call with ES:BX -> IFS request (see below)
 14h    WORD    offset in header's segment of driver entry point
        ???

Call IFS utility function entry point with:
        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
                ES:DI -> 16-byte info buffer
                Return: buffer filled
                        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
                ES:DI -> 18-byte buffer for name
                Return: buffer filled with name starting at offset 02h
            AL = 08h get sharing retry count
                Return: BX = sharing retry count
            AL = other
                Return: CF set
        AH = 21h get redirection state
                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
            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
            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
Note:   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]

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson