FT DOS/BIOS

 FT_CHDIR()       Change the current directory
 FT_DEFAULT()     Retrieve and optionally change the current default drive
 FT_DOSVER()      Return the current DOS major and minor version as a string
 FT_DSKFREE()     Return the amount of available disk space
 FT_DSKSIZE()     Return the maximum capacity of a fixed disk
 FT_FLOPTST()     Test diskette drive status
 FT_HANDCNT()     Count number of available DOS (not network) file handles
 FT_INP()         Retrieve a byte from a specified I/O port
 FT_INT86()       Execute a software interrupt
 FT_ISPRINT()     Check printer status
 FT_ISSHARE()     Determine if DOS "Share" is installed
 FT_MKDIR()       Create a subdirectory
 FT_OUTP()        Write a byte to a specified I/O port
 FT_PEEK()        Retrieve a byte from a specified memory location.
 FT_POKE()        Write a byte to a specified memory location
 FT_REBOOT()      Force a warm or cold boot
 FT_RMDIR()       Delete a subdirectory
 FT_SETDATE()     Set the DOS system date
 FT_SETTIME()     Set the DOS system time
 FT_SYSMEM()      Determine the amount of conventional memory installed
 FT_TEMPFIL()     Create a file with a unique name

FT_HANDCNT

FT_HANDCNT()
 Count number of available DOS (not network) file handles

 Syntax

    FT_HANDCNT() -> nHandles

 Arguments

   None

 Returns

   numeric, long integer

 Description

   FT_HANDCNT() finds the internal DOS Device Control Blocks used for
   storing file information and counts the number of DCB entries.  The
   DCB is set up by reading the FILES= line in CONFIG.SYS, and there
   is one DCB entry for each file handle.

   NOTE: For Novell networks, the number of network file handles is
         controlled by SHELL.CFG.  To date, I know where this information
         is stored after SHELL.CFG has been read, but have not come up
         with a reliable way to retrieve the information.  There is no
         public variable associated with the storage location, and the
         location can change from version to version of NETx.EXE.
         Novell Tech Support's response, though friendly, was "Nope, we
         don't know of a way for you to do it, either.  Good luck."

 Examples

   nHandles := FT_HANDCNT()
   ? "This PC has " + LTRIM( STR( nHandles ) ) + " set by CONFIG.SYS."

 Source: HANDCNT.ASM

 Author: Bob Clarke