Date: Tue, 11 Apr 1995 07:56:04 +0300 From: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: SmartDrive Interface I've lost the original posting, but somebody said here the other day that SmartDrv disk cache has an IOCTL interface, and gave a reference to a Dr Dobb's article. FYI, the IOCTL interface is no longer the way to talk to SmartDrive. It worked for old versions of the cache (before 4.x, which came with DOS 6.x and Windows 3.1x). You can see what version your cache is by typing the following words of wisdom from the DOS command prompt: smartdrv /s If this prints version 4.x (Windows 3.1x) or 5.x (DOS 6.2x), then the IOCTL interface is not for you. (Try to open that SMARTAAR$ device and you will fail.) The newer versions of SmartDrive use several subfunctions of Interrupt 2Fh, function 4Ah (if memory serves); you can look it up in the Ralph Brown's Interrupt List. Btw, there is an easy way to know if a certain device (such as CLOCK$, SMARTAAR$, etc.) is present in your system, without writing a single code line. Just call the little-known TRUENAME command (it's internal to COMMAND.COM), thusly: truename clock$ If the device is present, TRUENAME will print it with a FORWARD slash, like this: C:/CLOCK$ (this is how the undocumented DOS function 60h of interrupt 21h, which TRUENAME calls, returns any device name for which there is a device driver installed on the system). Otherwise, it will print the name as if it were a file in the current working directory: C:\DIR\SUBDIR\CLOCK$