INT 2fH xxfbH: FaxBIOS Functions

 The FaxBIOS is a specification created by the FaxBios Association in 1991.
 It describes an API that can be used by programs that work with fax/modem
 adaptors to send and receive faxes.

 The FaxBIOS API is not universally-accepted, but it is used by some major
 OEMs.  It describes several hundred services -- too many and too esoteric
 to be covered by TECH Help!.  To get a copy of the printed specification:
                COMPUSERVE:  Go FAXBIOS
               Fax request:  (510) 540-5835
              Mail request:  FaxBios Association
                             2625 Alcatraz Ave Suite 275
                             Berkeley CA 94705

█▌Check FaxBIOS Installed State▐█
  The FaxBIOS uses a "universal" technique for installing the server and
  for clients to check for installation.  It installs a MUX service (see
  INT 2fH) but rather than picking a hard-coded MUX-ID, it uses an
  algorithmic technique that avoid the possibility of other MUX processes
  taking the same MUX number.

  To test for the presence of FaxBIOS, your program should:

   1) Start with a candiateMuxID of 80H.

   2) if candiateMuxID >= ffH, FaxBIOS is not present; exit.

   3) Invoke INT 2fH, with AH=candiateMuxID.

   4) On return, if AL=ffH, check the string at DX:DI to see if it is an
      exact match with "FaxBiosjpc" if so you've found the MUX-ID and
      FaxBios services are installed.  Go to step 6.

   5) If AL was not ffH or the string at DX:DI did not match, then
      increment candiateMuxID and loop to step 2.

   6) Try the Sys_Login service (for instance):
         Set AH=muxID, AL=fbH
             BX=0001H (the fn number for Sys_Login), and
             DX:DI=addr of a 23-byte LOGIN_CANONICAL_REC structure
         Invoke INT 2fH.  On return:
             AL will contain ffH if FaxBIOS is still present and
             CX will contains a FaxBIOS status code and
             the structure at DX:DI will contain lots of data.

   Notes: ■ The FaxBIOS provides lots of capabilities that would take
            thousands of programming hours to reproduce.  For instance, it
            converts a text file directly into a FAX.  It also provides
            structures and file standards for phonebooks, activity logs, a
            scheduling system, etc. (along with easy-to-use APIs to access
            these data).

          ■ When you examine existing fax/modem control programs, you will
            often find a one-to-one comparison between features of the
            control program and the features of the FaxBIOS API.

See Also: INT 2fH: Multiplex Interrupt
          DOS Functions
                                    -♦-