INT 21 - SMARTDRV.SYS - IOCTL - GET CACHE STATUS
AX = 4402h
BX = file handle for device "SMARTAAR"
CX = number of bytes to read (min 28h)
DS:DX -> buffer for status record (see below)
Return: CF clear if successful
AX = number of bytes actually read
CF set on error
AX = error code (01h,05h,06h,0Dh) (see AH=59h)
SeeAlso: INT 2F/AX=4A10h

Format of SMARTDRV status record:
Offset  Size    Description
00h    BYTE    write-through flag (always 01h)
01h    BYTE    writes should be buffered (always 00h)
02h    BYTE    cache enabled if 01h
03h    BYTE    driver type (01h extended memory, 02h expanded)
04h    WORD    clock ticks between cache flushes (currently unused)
06h    BYTE    cache contains locked tracks if nonzero
07h    BYTE    flush cache on INT 19 reboot if nonzero
08h    BYTE    cache full track writes if nonzero
09h    BYTE    double buffering (for VDS) state (00h off, 01h on, 02h dynamic)
0Ah    DWORD   original INT 13 vector
0Eh    BYTE    minor version number
0Fh    BYTE    major version number
10h    WORD    unused
12h    WORD    sectors read                    \
14h    WORD    sectors already in cache         > may be scaled rather than
16h    WORD    sectors already in track buffer /  absolute counts
18h    BYTE    cache hit rate in percent
19h    BYTE    track buffer hit rate in percent
1Ah    WORD    total tracks in cache
1Ch    WORD    number of tracks in use
1Eh    WORD    number of locked tracks
20h    WORD    number of dirty tracks
22h    WORD    current cache size in 16K pages
24h    WORD    original (maximum) cache size in 16K pages
26h    WORD    minimum cache size in 16K pages
28h    DWORD   pointer to byte flag to increment for locking cache contents

See also: 214403

214402 - SMARTDRV.SYS - IOCTL - GET CACHE STATUS