Skip to content

Redirector Extensions

Andrew Bird edited this page Dec 15, 2023 · 6 revisions

Get Large Disk Space (int2f/11a3)

AX = 11A3h
  ES:DI -> current directory structure for desired drive
    
Return:
  CF clear if data valid
    AX = bits 31..16 of total number of blocks (unsigned)
    BX = bits 15..0 of total number of blocks (unsigned)
    CX = bits 31..16 of available number of blocks (unsigned)
    DX = bits 15..0 of available number of blocks (unsigned)
    SI = blocksize in bytes (unsigned)
    
  CF set if data invalid
    AX = DOS errno

This function is called by FDPP (and an as yet unreleased version of FreeDOS) as part of the int21/7303 get extended free space on drive function.

Get Large File Info (int2f/11a6)

TBD

Long Seek (int2f/11c2)

AX = 11C2h (formerly on AX = 1142h)
  CF should be set
  ES:DI -> SFT entry to manipulate (is a redirector SFT)
  DS:DX -> 64-bit seek value input
  CL = seek whence choice (0 SEEK_SET, 1 SEEK_CUR, 2 SEEK_EOF)

Return:
  CF clear if supported and valid,
    DS:DX buffer updated with new 64-bit seek position (from Start Of File)
  CF set if error,
    AX = error code (0001h if not supported, though error 0001h can also be returned if supported)

This function is called by FDPP and by the SEEKEXT resident tool and is provided by dosemu2's mfs (redirector).