home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a081 / 2.ddi / CTFXX.EXE / CAS120.TXT next >
Encoding:
Text File  |  1990-09-27  |  98.5 KB  |  4,222 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.             DCA/Intel Communicating Applications Specification
  20.  
  21.  
  22.  
  23.                                 Version 1.2
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46. Copyright π 1988, 1989, 1990.  All rights reserved.
  47.  
  48. Digital Communications Associates, Inc.
  49. 1000 Alderman Drive
  50. Alpharetta, GA 30201-4199
  51.  
  52. Intel Corporation
  53. 5200 N.E. Elam Young Pkwy.
  54. Hillsboro, OR 97124-6497
  55.  
  56. Intel Part Number:  301812-004
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. This specification was jointly developed by Digital Communications
  75. Associates, Incorporated and Intel Corporation.  Although it has been
  76. released into the public domain and is not confidential or proprietary, the
  77. specification is still the copyright and property of Digital Communications
  78. Associates, Incorporated and Intel Corporation.
  79.  
  80.  
  81.  
  82.  
  83. Disclaimer of Warranty
  84.  
  85. DIGITAL COMMUNICATIONS ASSOCIATES, INCORPORATED (DCA) AND INTEL CORPORATION
  86. EXCLUDE ANY AND ALL IMPLIED WARRANTIES, INCLUDING WARRANTIES OF
  87. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  NEITHER DCA NOR
  88. INTEL MAKE ANY WARRANTY OF REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH
  89. RESPECT TO THIS SPECIFICATION, ITS QUALITY, PERFORMANCE, MERCHANTABILITY,
  90. OR FITNESS FOR A PARTICULAR PURPOSE.  NEITHER DCA NOR INTEL SHALL HAVE ANY
  91. LIABILITY FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
  92. OR RESULTING FROM THE USE OR MODIFICATION OF THIS SPECIFICATION.
  93.  
  94.  
  95.  
  96. This specification uses the following trademarks:
  97.  
  98.      SatisFAXtion is a trademark and Intel is a registered trademark of
  99.      Intel Corporation.
  100.  
  101.      DCA and Digital Communications Associates are registered trademarks of
  102.      Digital Communications Associates, Incorporated.
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140. Table of Contents
  141.  
  142. Recent News About CAS  ....................................  1
  143. Introduction  .............................................  5
  144. Additional Copies of CAS  .................................  5
  145. Programmer's Overview  ....................................  6
  146.      Events and Control Files  ............................  7
  147.      Queues  ..............................................  7
  148.      Using the Resident Manager  ..........................  8
  149. Group Events (V1.2)  ......................................  8
  150. Control Files  ............................................  9
  151.      Conventions  .........................................  9
  152.      Control File Format  .................................  11
  153.      Control File Fields With Special Meanings for Group Events (V1.2)     
  154.              15
  155.      File Transfer Record (FTR)  ..........................  15
  156.      Group File Format (V1.2)  ............................  17
  157. Sequence of Events for Transmitting and Receiving Files  ..  18
  158.      Transmitting a Single File  ..........................  18
  159.      Transmitting Multiple Files as a Single Event  .......  18
  160.      Receiving Files  .....................................  18
  161.      Transmitting to a Group (Group Send) (V1.2)  .........  19
  162.      Receiving from a Group (Group Polled Receive) (V1.2)    19
  163. Function Table  ...........................................  21
  164. Get Installed State (00H)  ................................  22
  165. Submit a Task (01H)  ......................................  23
  166. Abort the Current Event (02H)  ............................  24
  167. Find First Entry in Queue (05H)  ..........................  26
  168. Find Next Entry in Queue (06H)  ...........................  28
  169. Open a File (07H)  ........................................  29
  170. Delete a File (08H)  ......................................  31
  171. Delete All Files (in a queue, 09H)  .......................  32
  172. Get Event Date (0AH)  .....................................  33
  173. Set Task Date (0BH)  ......................................  34
  174. Get Event Time (0CH)  .....................................  35
  175. Set Task Time (0DH)  ......................................  36
  176. Get External Data Block (0EH)  ............................  37
  177. Get/Set Autoreceive State (0FH)  ..........................  38
  178. Get Current Event Status (10H)  ...........................  39
  179. Get Queue Status (11H)  ...................................  40
  180. Get Hardware Status (12H)  ................................  41
  181. Run Diagnostics (13H)  ....................................  42
  182. Move Received File (14H)  .................................  43
  183. Submit a Single File to Send (15H)  .......................  44
  184. Unload Resident Manager (16H)  ............................  46
  185. Set Cover Page Status (17H)  ..............................  47
  186. Error Codes  ..............................................  49
  187. Phonebook Format  .........................................  51
  188. PCX Format  ...............................................  53
  189.      Data Encoding  .......................................  54
  190.      File Header  .........................................  54
  191. DCX Format  ...............................................  55
  192. ASCII File Interpretation for Fax Transmission  ...........  55
  193.  
  194.  
  195.  
  196. DCA/Intel Communicating Applications Specification V1.2       iii
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205. Glossary  .................................................  57
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262. iv        DCA/Intel Communicating Applications Specification V1.2
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328. DCA/Intel Communicating Applications Specification V1.2         v
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340. Recent News About CAS
  341.  
  342. The following changes or enhancements have been made to the Communicating
  343. Applications Specification (CAS) in Version 1.2.  These features should not
  344. be used by CAS applications designed to run on earlier CAS versions.
  345. (Refer to function OEH on page 37 for information on how to determine the
  346. CAS version number.)
  347.  
  348. In this specification, version 1.2 changes and enhancements are designated
  349. with the label (V1.2).
  350.  
  351.  
  352.  
  353. Page 8  Group Events
  354.  
  355. CAS now supports group events in which the same activity is carried out
  356. between the local computer and several remote devices (fax machines or
  357. remote computers).  Two types of group events are supported:  Group Send
  358. and Group Polled Receive.
  359.  
  360.  
  361.  
  362. Page 10  Phone Numbers
  363.  
  364. When specifying a phone number, you can now include A, B, C, and D, which
  365. specifies the keys on the additional column of keys on some of the newer
  366. telephones.  Also, W is now supported, which causes the hardware to wait
  367. for a subsequent dial tone.
  368.  
  369.  
  370.  
  371. Page 11  Control File
  372.  
  373. The following fields of the Control File are either new or have enhanced
  374. features.  Refer to the description of the Control File field beginning on
  375. Page 11 for details.
  376.  
  377.       Offset   Length Description
  378.  
  379.      0    1    Event type.  Group Send and Group Polled Receive event types
  380.                  have been added.
  381.  
  382.      2    2    Status of event.  A negative error code value causes the
  383.                  event to be submitted directly to the Log Queue.
  384.  
  385.      12   47   Phone number to call (or filename of Group File).  For group
  386.                  events, the filename of the group file is entered in this
  387.                  field.
  388.  
  389.      140  1    Delete files flag.  New field.
  390.  
  391.  
  392.  
  393.  
  394. DCA/Intel Communicating Applications Specification V1.2     - 1 -
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.      141  2    Event handle for parent event.  New field.
  404.  
  405.      196  20   Reserved for internal use by CAS implementations.  New
  406.                  field.
  407.  
  408.      216  1    Cover page read flag.  New field.
  409.  
  410.      217  1    Suppress Page Headers.  New field.
  411.  
  412.  
  413. Page 15  Required Fields in a Control File for a Group Event
  414.  
  415. When a Control File is the parent Control File for a group event (Group
  416. Send or Group Polled Receive), certain fields of the Control File have
  417. special meaning (as described on page 15).
  418.  
  419.  
  420.  
  421. Page 16  File Transfer Record (FTR)
  422.  
  423. The File Type field (offset 0) of the File Transfer Record now supports two
  424. new file formats:  HP PCL Level IV and Epson FX85 file formats.  These file
  425. types are optional and are not required to be supported by all CAS
  426. implementations.
  427.  
  428.  
  429.  
  430. Page 17  Group File Format
  431.  
  432. When the event type in a Control File (offset 0) is 4 (Group send) or 5
  433. (Group Polled Receive), the application must also create a Group File that
  434. contains information about the members of the group.  The file name of the
  435. Group File must then be placed in the "Phone number to call" field of its
  436. associated Control File to link the two files.  The Group File contains
  437. multiple records, one for each member of the group.
  438.  
  439. Refer to Page 17 for a detailed description of the Group File format.
  440.  
  441.  
  442.  
  443. Page 19  Transmitting and Receiving Group Events
  444.  
  445. The section beginning on page 15 titled "Transmitting to a Group (Group
  446. Send)" and "Receiving from a Group (Group Polled Receive) describes the
  447. steps a programmer must follow to transmit and receive group events with
  448. CAS.
  449.  
  450.  
  451.  
  452. Page 23  Submit a Task Function
  453.  
  454. The Submit a Task function (01H) now supports Group Send and Group Polled
  455. Receive events.
  456.  
  457.  
  458.  
  459.  
  460. - 2 -     DCA/Intel Communicating Applications Specification V1.2
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469. Page 29  Open a File Function
  470.  
  471. The Open a File function (07H) now supports group files.
  472.  
  473.  
  474.  
  475. Page 40  Get Queue Status Function
  476.  
  477. The Get Queue Status function (11H) supports two new values for register DL
  478. (3 and 4).  These values have been added to allow applications to
  479. efficiently determine when sends and receives have occurred.
  480.  
  481.  
  482.  
  483. Page 47  Set Cover Page Status Function
  484.  
  485. The function Set Cover Page Status (17H) is a new function.  It is provided
  486. to allow an application to set and clear the new Cover Page Read flag
  487. (offset 216) of the Control File.
  488.  
  489.  
  490.  
  491. Page 49  Error Codes
  492.  
  493. Two new classes of error codes have been added:  Class 5 for application
  494. specific errors and Class 6 for CAS implementation specific errors.  Also,
  495. two new class 4 error codes have been defined:  040AH (No dial tone - check
  496. phone line and cord) and 040EH (Timeout while waiting for secondary dial
  497. tone).
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526. DCA/Intel Communicating Applications Specification V1.2     - 3 -
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592. - 4 -     DCA/Intel Communicating Applications Specification V1.2
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602. Introduction
  603.  
  604. The DCA/Intel Communicating Applications Specification (CAS) defines a
  605. standard, high-level programming interface for data communications
  606. applications.  It offers software developers a simple and straightforward
  607. method for adding data communications functions to their products.
  608.  
  609. This interface is independent of the hardware and software used to
  610. implement the underlying communications facilities.  This shields software
  611. developers from the details typically associated with using communications
  612. hardware.  It also permits developers to code their applications to the
  613. interface and to be assured that their applications will work with new
  614. generations of hardware products.
  615.  
  616. CAS is designed to support a wide variety of communications hardware.
  617. Version 1.2 of this specification provides functions that are applicable to
  618. fax modem hardware.  This type of hardware can be used for both facsimile
  619. and file transfer.  Over time, CAS will evolve to add functions appropriate
  620. for other hardware.
  621.  
  622. Version 1.2 of CAS requires DOS 3.0 or later.
  623.  
  624.  
  625.  
  626.  
  627. Additional Copies of CAS
  628.  
  629. To obtain additional copies of this specification, contact Intel at one of
  630. the following numbers:
  631.  
  632.      (503) 629-7000  (inside the U.S. or Canada)
  633.      (503) 629-7354  (outside the U.S. or Canada)
  634.  
  635. The Intel Electronic Bulletin Board contains an ASCII version of this
  636. specification that you can download with a modem using the XMODEM transfer
  637. protocol.  You can reach the Bulletin Board 24 hours a day by calling:
  638.  
  639.      (503) 645-6275
  640.  
  641. Before you call, set your modem for 300, 1200, or 2400 bits per second; 8
  642. data bits; no parity; and 1 stop bit.
  643.  
  644. You can also obtain an ASCII version of this specification if you have a
  645. touch-tone phone and an Intel fax board (Connection CoProcessor or
  646. SatisFAXtion).  FaxBack is available 24 hours a day.  You can reach FaxBack
  647. by calling:
  648.  
  649.      (800) 525-3019 (Inside the U.S. or Canada)
  650.      (503) 629-7576 (Outside the U.S. or Canada)
  651.  
  652. The document number is 0006.
  653.  
  654.  
  655.  
  656.  
  657.  
  658. DCA/Intel Communicating Applications Specification V1.2     - 5 -
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668. Programmer's Overview
  669.  
  670. The DCA/Intel CAS provides a standard programming interface that allows
  671. software developers to access the communication services provided by
  672. hardware.  The software that implements CAS (called the Resident Manager)
  673. controls the interface to the hardware and allows multiple
  674. applications/processes to use the hardware without conflict.
  675.  
  676. To use the CAS interface, an application submits data-communication events
  677. to the Resident Manager.  The Resident Manager then schedules the event and
  678. performs the necessary data transfer without further interaction with the
  679. application.  An application that is using the CAS interface does not need
  680. to monitor, maintain, or service a communications event.  The Resident
  681. Manager performs these events for the application, in the background.
  682.  
  683. The Resident Manager provides a kernel of primitives (control files and
  684. function calls) that set up data communication events, schedule the events
  685. for execution, and check the results of the event.  The set of CAS
  686. primitives has purposely been kept simple and generic, both to support as
  687. many types of applications as possible and to relieve certain classes of
  688. applications from being forced to use functions specific to other classes.
  689.  
  690. Applications access CAS functions through interrupt 2FH (Multiplex
  691. interrupt on DOS versions 3.0 and above).  Similar to DOS function calls
  692. accessed through interrupt 21H, CAS functions are accessed by loading
  693. registers with defined values, issuing an interrupt 2FH, and examining the
  694. values returned in the appropriate registers.
  695.  
  696. The following convention is used for function calls:
  697.  
  698.      Register       Usage
  699.  
  700.      AH             Multiplex Number (0CBH)
  701.      AL             Function Code
  702.      BX             Event Handle
  703.      CX             File Number
  704.      CX, DX         Date, Time
  705.      DS:DX               Pointer to Data Area
  706.      DL             Queue
  707.                     0 - Task Queue
  708.                     1 - Receive Queue
  709.                     2 - Log Queue
  710.  
  711. All multiplex interrupts require a unique multiplex number.  For all Intel
  712. CAS implementations, this number is 0CBH.
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724. - 6 -     DCA/Intel Communicating Applications Specification V1.2
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733. Events and Control Files
  734.  
  735. The Resident Manager currently supports the following six data-
  736. communication events:
  737.  
  738.   Send         The local computer transmits information to a remote device
  739.                (fax machine or computer).
  740.  
  741.   Receive      The local computer receives information from a remote
  742.                device.
  743.  
  744.   Polled Send  The local computer waits for a remote device to call and
  745.                then automatically sends information to it.
  746.  
  747.   Polled Receive    The local computer calls a remote device and receives
  748.                information from it.
  749.  
  750.   Group Send (V1.2) The local computer transmits the same information to
  751.                multiple remote devices.
  752.  
  753.   Group Polled The local computer calls multiple remote devices and
  754.                receives information
  755.     Receive (V1.2)  from them.
  756.  
  757. Each event has one or more Control Files associated with it.  A Control
  758. File contains information about an event that the Resident Manager uses to
  759. schedule, execute, and report the status of the event.  For example, the
  760. Control File for a send event contains the phone number, date, and time
  761. information for the event.
  762.  
  763.  
  764.  
  765. Queues
  766.  
  767. To manage the events presented to it, the Resident Manager places the
  768. Control Files associated with these events in queues.  Three types of
  769. queues are supported: a Task Queue, a Receive Queue, and a Log Queue.
  770.  
  771.   Task Queue   contains a list of pending events that the application
  772.                running on the local computer has initiated.  Pending events
  773.                can be send, polled send, polled receive, group send, and
  774.                group polled receive events.
  775.  
  776.   Receive Queue     contains a list of events that the local computer has
  777.                received from a remote device.
  778.  
  779.   Log Queue    contains a record of all the events that have been
  780.                completed, aborted, or terminated with an error.
  781.  
  782. These event queues allow the Resident Manager to schedule and monitor
  783. events.  They also allow an application to check on the status of events.
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790. DCA/Intel Communicating Applications Specification V1.2     - 7 -
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799. Using the Resident Manager
  800.  
  801. To initiate an event, the application must first create a Control File for
  802. the event.  This file contains information such as the name of the file (or
  803. files) to send, the phone number of the destination, and the date and time
  804. for transmission.  The application then submits the Control File for the
  805. event to the Resident Manager and receives back a unique event handle.  The
  806. application uses the event handle to keep track of that particular event.
  807.  
  808.      Note:     Event handles are never 0.
  809.  
  810. While an event is pending, the Resident Manager keeps the Control File for
  811. the event in the Task Queue.  When it is time to process the event, the
  812. Resident Manager takes the event's Control File off the Task Queue and
  813. sends the necessary information about the event to the communications
  814. hardware.  While the event is being processed (that is, while it is the
  815. current event), its Control File is not on any queue; however, the
  816. application can access information about the current event by using the CAS
  817. Get Current Event Status function.
  818.  
  819. Once the event is completed, successfully or not, the Resident Manager
  820. updates the status information in the event's Control File and moves the
  821. file to the Log Queue.  The application can then use the CAS functions to
  822. examine the Control Files in the log queue and determine the status of
  823. completed events.
  824.  
  825.      Note:     The event handle for an event remains the same even
  826.           though the Control File for the event has been moved from
  827.           the task queue to the log queue.
  828.  
  829. For receive events, the Resident Manager receives data from the remote
  830. device and stores it in a disk file.  Once the receive event is completed,
  831. the Resident Manager creates a Control File for the event and places copies
  832. of it in both the Receive Queue and the Log Queue.  The application can
  833. then use CAS functions to examine the Control Files in the Receive and Log
  834. Queues and to open files of received data.
  835.  
  836. The Resident Manager saves the Control Files in the Receive and Log Queues
  837. until  the application explicitly deletes them.  The data files that are
  838. received from a remote device are also saved until the application
  839. explicitly saves them or deletes.  Data files that are sent to a remote
  840. device can be saved after they are sent or automatically deleted, according
  841. to how the application sets up the Control File.
  842.  
  843.  
  844.  
  845.  
  846. Group Events (V1.2)
  847.  
  848. Group events are events in which the same activity is carried out between
  849. the local computer and several remote devices.  For example, with a group
  850. send event, the local computer can send the same file (or files) to a group
  851. of several remote devices.  Or, with a group polled receive, the local
  852. computer polls a group of remote devices to receive information from them.
  853.  
  854.  
  855.  
  856. - 8 -     DCA/Intel Communicating Applications Specification V1.2
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865. For group events, the application must set up two files:  a parent Control
  866. File that defines the event to be carried out and a Group File that defines
  867. the group of individuals that the event is going to be directed to.
  868.  
  869. When the parent Control File for a group event is submitted to the Task
  870. Queue, the Resident Manager assigns an event handle to the group (or
  871. parent) event.  It also examines the Group File and assigns an event handle
  872. to each group member.  This latter event handle is used to identify the
  873. instance of the group event (called a sub-event) that is processed for that
  874. group member.
  875.  
  876. Each time a sub-event is completed, the Resident Manager creates a Control
  877. File in the Log Queue for that sub-event.
  878.  
  879. When all the sub-events associated with a parent event have been processed,
  880. the Resident Manager moves the Control File for the parent event to the Log
  881. Queue.  It also moves the Group File to the Log Queue.  This file is the
  882. same as the original Group File, except that the status fields are filled
  883. in for each individual and the event handle fields are filled in with the
  884. event handle corresponding to each sub-event.
  885.  
  886. If a group event is cancelled, the Resident Manager ceases processing all
  887. the sub-events associated with that event.
  888.  
  889.  
  890.  
  891.  
  892. Control Files
  893.  
  894. A Control File contains the specific control information (who to call, when
  895. to call, etc.) for a given send or receive event.  Some fields in a Control
  896. File are meaningful only in certain instances.  For example, the "Time
  897. length of phone connection" fields are not meaningful in a Control File for
  898. a pending Send event and will contain zeros.
  899.  
  900.  
  901.  
  902. Conventions
  903.  
  904. In the description of the Control File that follows, several terms are used
  905. that require further explanation.  These include ASCIIZ string, DOS file
  906. time format, and phone number.
  907.  
  908.  
  909. ASCIIZ String
  910.  
  911. An ASCIIZ string is simply a string of ASCII characters followed by a zero
  912. byte to indicate the end of the string.
  913.  
  914.  
  915. DOS File Date and Time Format
  916.  
  917. DOS file date and time format is a convention that DOS uses for storing the
  918. date and time in two-byte fields.  The format of the date is:
  919.  
  920.  
  921.  
  922. DCA/Intel Communicating Applications Specification V1.2     - 9 -
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.      Bits      Description
  932.  
  933.      0-4       A value from 1 to 31, indicating the day of the month (where
  934.                  1 is the first day).
  935.      5-8       A value from 1 to 12, indicating the month of the year
  936.                  (where 1 is January, 2 is February, etc.).
  937.      9-15      A value from 0 to 119 (which corresponds to 1980 to 2099)
  938.                  indicating the year.
  939.  
  940. The format of the time is:
  941.  
  942.      Bits      Description
  943.  
  944.      0-4       The number of two-second increments.
  945.      5-10      A value from 0 to 59, indicating the minutes.
  946.      11-15       A value from 0 to 23, indicating the hours.
  947.  
  948.  
  949. Phone Numbers
  950.  
  951. When specifying a phone number, you can include not only the digits 0
  952. through 9 and the characters # and *, but also the following special
  953. characters:
  954.  
  955.    Character     Description
  956.  
  957.      A,B,C,D   Specifies keys in the additional column of keys (that is,
  958.                  the 1633 Hz high-group frequency) on some telephones.
  959.                  (V1.2)
  960.      ,         Causes the hardware to pause when dialing.
  961.      !         Signals a hook flash, for use with special PBX functions.
  962.      P         Specifies pulse dialing for rotary phones.
  963.      T         Specifies tone dialing for touch-tone phones.
  964.      M         Causes the hardware to use the current connection without
  965.                  dialing a new number (manual dialing).  When used, this
  966.                  character must be the first character in the phone number.
  967.      W         Causes the hardware to wait for a subsequent dial tone.
  968.                  This is useful when waiting for a tone for an outside
  969.                  line.  (V1.2)
  970.  
  971. All other characters are reserved.
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988. - 10 -    DCA/Intel Communicating Applications Specification V1.2
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997. Control File Format
  998.  
  999. Listed below is the general format of a Control File.  The fields preceded
  1000. by bullets (■■) are fields the application must fill in when creating a 
  1001. Control File.  Other fields are filled in by the Resident Manager and must 
  1002. be set to 0 when creating the Control File.  For a receive event, the 
  1003. Resident Manager fills in all the fields.
  1004.  
  1005. The Offset column indicates the offset of the field (in bytes) from the
  1006. start of the file.  The Length column indicates the length of the field in
  1007. bytes.  The values listed in the Description field are values, not bit
  1008. positions.  Multi-byte fields containing numeric, date, or time values have
  1009. the least-significant byte first.
  1010.  
  1011. When using high-level languages to create a Control File, make sure the
  1012. data structures are packed (aligned on byte boundaries).
  1013.  
  1014.       Offset   Length Description
  1015.  
  1016. ■■   0    1    Event type:
  1017.                0 - Send
  1018.                1 - Receive
  1019.                2 - Polled Send
  1020.                3 - Polled Receive
  1021.                4 - Group Send (V1.2)
  1022.                5 - Group Polled Receive (V1.2)
  1023.                6-127 -  Reserved
  1024.                -1 (0FFH) - Serious hardware error not associated with an
  1025.                  ordinary event.
  1026.  
  1027.      Note:     When filling out this field, you must set it to 0, 2,
  1028.           3, 4, or 5.  The value 1 is used by the Resident Manager
  1029.           when creating a Control File for a receive event.  The value
  1030.           -1 is not valid for Control Files and results in an error.
  1031.  
  1032. ■■   1    1    Transfer type:
  1033.                0 - 200x200 dpi, fax mode.
  1034.                1 - 100x200 dpi, fax mode.
  1035.                2 - File transfer mode.
  1036.                3-127 - Reserved.
  1037.  
  1038.      Note:     You must set the Transfer type field to 0, 1, or 2 for
  1039.           send events (this field doesn't apply for polled receive or
  1040.           group polled receive events).
  1041.  
  1042.           For file transfers, the sending Resident Manager supplies
  1043.           information from the Control File as a header for the file
  1044.           transmission.  The receiving Resident Manager can then use
  1045.           this header information to create a Control File for the
  1046.           receive event.
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053. DCA/Intel Communicating Applications Specification V1.2    - 11 -
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.       Offset   Length Description
  1063.  
  1064.      2    2    Status of event:
  1065.                0 - Successfully completed.
  1066.                1 - Waiting to be processed.
  1067.                2 - Number dialed or event in progress.
  1068.                3 - Connection made -- sending.
  1069.                4 - Connection made -- receiving.
  1070.                5 - Event was aborted.
  1071.                6-32,767 - Reserved.
  1072.                Negative value - Error.
  1073.  
  1074.      Note:     The Resident Manager ordinarily sets the value in this
  1075.           field to indicate the status of the event.  When the Control
  1076.           File is created, this field should normally be set to "0."
  1077.           (The following information is new for V1.2.)  If the field
  1078.           is set to a negative value when the event is submitted (for
  1079.           example, if it is set to one of the class 5 error codes),
  1080.           the event will be added directly to the Log Queue and will
  1081.           not be processed.  (Refer to the section later in this
  1082.           section titled "Error Codes.")
  1083.  
  1084. ■■   4    2    Time you want to send the information (used for send events
  1085.                  only).  For receive events, this is the time the receive
  1086.                  event occurred.  The format is in DOS file date and time
  1087.                  format.
  1088. ■■   6    2    Date you want to send the information (used for send events
  1089.                  only).  For receive events, this is the date the receive
  1090.                  event occurred.  The format is in DOS file date and time
  1091.                  format.
  1092.  
  1093.      Note:     Setting both the time and date fields to zero schedules
  1094.           the file to be sent immediately.  Therefore, to send a file
  1095.           at once, zero the four bytes (long word) at offset 4.
  1096.  
  1097. ■■   8    2    Number of files to transfer (maximum 32766).
  1098. ■■   10   2    Offset in this Control File of first File Transfer Record.
  1099.  
  1100.      Note:     If you don't plan to include cover page text (described
  1101.           at offset 383), this field must specify offset 383.
  1102.           Otherwise, this field must specify the offset immediately
  1103.           after the cover page text.
  1104.  
  1105. ■■   12   47   Phone number to call (or filename of Group File (V1.2)), as
  1106.                  an ASCIIZ string.  For non-group events, place a phone
  1107.                  number in this field.  (The following information is new
  1108.                  for V1.2.)  For group events, place the filename of the
  1109.                  Group File (without specifying the drive or path) in this
  1110.                  field.  The Group File must be in the same directory as
  1111.                  the Control File for the parent event when the event is
  1112.                  submitted.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119. - 12 -    DCA/Intel Communicating Applications Specification V1.2
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.       Offset   Length Description
  1129.  
  1130.      59   64   Application-specific tag field, as an ASCIIZ string.
  1131.  
  1132.      Note:     This field is used by applications to identify Control
  1133.           Files that are "owned" by that application.  For example,
  1134.           when an application creates Control Files, it can fill this
  1135.           field with a specific ASCII string.  Later, when it checks
  1136.           Control Files, it can check for the same string to ensure
  1137.           that it handles only the Control Files that apply to it.  If
  1138.           a file is received as a file transfer this field will have
  1139.           meaning in the Control File for the receive event.  If a
  1140.           file is received as a fax, this field will be filled with
  1141.           zeros.
  1142.  
  1143.      123  1    Reserved.  Set to zero.
  1144.      124  1    Time length of phone connection: seconds (0 - 59).  Has no
  1145.                  meaning for parent Control Files.
  1146.      125  1    Time length of phone connection: minutes (0-59).  Has no
  1147.                  meaning for parent Control Files.
  1148.      126  1    Time length of phone connection: hours (0-23.)  Has no
  1149.                  meaning for parent Control Files.
  1150.      127  4    Total number of pages in all files.  Has no meaning for
  1151.                  parent Control Files.
  1152.      131  4    Number of pages transmitted so far.  Has no meaning for
  1153.                  parent Control Files.
  1154.      135  2    Number of files transmitted so far.  Has no meaning for
  1155.                  parent Control Files.
  1156. ■■   137  1    Cover page flag:
  1157.                0 - Don't send cover page.
  1158.                1 - Send cover page.
  1159.                2-127 - Reserved.
  1160.  
  1161.      Note:     If you plan to send only a cover page, set this field
  1162.           to 1 and the number of files to transfer (offset 8) to 0.
  1163.           Setting both fields to 0 results in an error.
  1164.  
  1165.      138  2    Number of transmission errors reported by the hardware for
  1166.                  all transmissions controlled by this Control File.  Has no
  1167.                  meaning for parent Control Files.
  1168. ■■   140  1    Delete files flag (V1.2).  Determines whether or not the
  1169.                  files listed in the File Transfer Records (FTRs) are
  1170.                  deleted after the event is completed.  (The FTR use and
  1171.                  format is describe later in this specification in the
  1172.                  section titled "File Transfer Record (FTR).")
  1173.                0 - Don't delete files after event
  1174.                1 - Delete files if successful
  1175.                2 - Always delete files after event
  1176.                3-127 - Reserved.
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185. DCA/Intel Communicating Applications Specification V1.2    - 13 -
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.       Offset   Length Description
  1195.  
  1196.      Note:     This field is valid in a Control File for event types 0
  1197.           (send), 2 (polled send), and 4 (group send).
  1198.  
  1199.           If the event type is a group send and the value of the
  1200.           delete files flag is 1 (delete if successful), the files
  1201.           will only be deleted if all sub-events have been
  1202.           successfully completed.  If the event is a group send and
  1203.           the value of the flag is 2 (always delete), the files will
  1204.           be deleted after all sub-events have been attempted.
  1205.  
  1206.           If the delete files flag is set to 2 (always delete), the
  1207.           files will always be deleted whether the event is
  1208.           successful, cancelled by the user, or aborted during
  1209.           transmission due to line or board errors.
  1210.  
  1211.      141  2    Event handle for parent event (V1.2).  The Resident Manager
  1212.                  assigns this handle.  Initialize to zero.  This handle is
  1213.                  zero if there is no parent event.
  1214.      143  53   Reserved.  Set to zero.
  1215.      196  20   Available for internal use by CAS implementations (V1.2).
  1216.                  Set to zero.  This field is available for CAS
  1217.                  implementations to use for internal flags and other
  1218.                  features.
  1219.      216  1    Cover page read flag (V1.2).  Initialize to zero.  The
  1220.                  application can use CAS function 17H to set this field to
  1221.                  indicate whether or not the user has read the cover page.
  1222.                0 - cover page not read
  1223.                1 - cover page read
  1224.                2-127 - reserved
  1225. ■■   217  1    Suppress Page Headers (V1.2).  This field only has meaning
  1226.                  for faxes.  Setting this field to 1 causes the line of fax
  1227.                  addressing information at the top of each fax page to be
  1228.                  suppressed.
  1229.                0 - Page Headers
  1230.                1 - No Page Headers
  1231.                2-127 - reserved
  1232.      218  21   Remote CSID (the CCITT identification of the fax device), as
  1233.                  an ASCIIZ string (set by the Resident Manager).  Set to
  1234.                  zero.
  1235. ■■   239  32   Destination Name, as an ASCIIZ string (To: field).
  1236. ■■   271  32   Sender Name, as an ASCIIZ string (From: field).
  1237. ■■   303  80   Path and name of PCX logo file (maximum size 1728 x 800
  1238.                  pels), as an ASCIIZ string.  A fully qualified pathname
  1239.                  for the file (including the drive) must be entered.
  1240. ■■   383  var  Cover page text, as an ASCIIZ string.  The length is
  1241.                  variable, as indicated by var, but a maximum of 36 lines
  1242.                  of text is recommended (or else the received page might be
  1243.                  longer than 11 inches).  Lines can be separated by new
  1244.                  line characters (0AH) or CR-LF pairs (0DH, 0AH).  Lines
  1245.                  longer than 80 characters are wrapped around.
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251. - 14 -    DCA/Intel Communicating Applications Specification V1.2
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.       Offset   Length Description
  1261.  
  1262.      Note:     The text field is not required to be present.  If it is
  1263.           absent, the first File Transfer Record (FTR) must start at
  1264.           offset 383.  In all cases, the field at offset 10 identifies
  1265.           the start of the first FTR.
  1266.  
  1267. ■■   var  var  Table of 128-byte File Transfer Records (FTRs). The first
  1268.                  FTR begins at the offset specified by the word at offset
  1269.                  10 of the Control File.  The following section describes
  1270.                  the format of each FTR.
  1271.  
  1272.  
  1273. Control File Fields With Special Meanings for Group Events (V1.2)
  1274.  
  1275. If the event type for a Control File is 4 (Group Send) or 5 (Group Polled
  1276. Receive), the fields shown below for the parent event's Control File have
  1277. the following functions:
  1278.  
  1279.       Offset   Length Description
  1280.  
  1281.      1    1    Transfer Type.  Not used for group events.  The transfer
  1282.                  type for each member event is defined in the group file.
  1283.      12   47   Filename of Group File.  ASCIIZ string that must be a DOS
  1284.                  filename.  Do not give the path.  This file must be in the
  1285.                  same the directory as the parent Control File when the
  1286.                  group event is submitted.
  1287.      239  32   Destination Name, ASCIIZ string.  For group events, this
  1288.                  field can contain a group identifier (or it can be left
  1289.                  blank).
  1290.  
  1291.  
  1292. File Transfer Record (FTR)
  1293.  
  1294. Listed below is the general format of a File Transfer Record.  These
  1295. records appear at the end of the Control File, one for each file that is
  1296. transferred as part of the event.  Fields preceded by bullets (■■) are 
  1297. fields the programmer must fill in when creating an FTR.  Other fields are 
  1298. filled in by the Resident Manager software and should be set to 0 when 
  1299. creating the FTR.  When creating an FTR for a file transfer, specify only 
  1300. the file name.  When creating an FTR for a fax, you must also specify the 
  1301. file type, text size, and page length fields.  In both cases, set the other 
  1302. fields to zero.
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317. DCA/Intel Communicating Applications Specification V1.2    - 15 -
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326. Each FTR has the following format:
  1327.  
  1328.       Offset   Length Description
  1329.  
  1330. ■■   0    1    File type (has meaning only for faxes):
  1331.                0 - ASCII
  1332.                1 - PCX
  1333.                2 - DCX
  1334.                3-15 Reserved
  1335.                16-31 - (V1.2) Reserved for printer file formats.  At this
  1336.                  time, code 16 is assigned to the HP PCL Level IV file
  1337.                  format and code 17 is assigned to the Epson FX85 format.
  1338.                  These codes are optional and may not be supported by all
  1339.                  CAS implementations.
  1340.                32-127 - Reserved
  1341. ■■   1    1    Text size to use if file type is ASCII (has meaning only for
  1342.                  faxes):
  1343.                0 - 80 column by 66 lines (11 inches)
  1344.                1 - 132 column by 88 lines (11 inches)
  1345.                2-127 - Reserved
  1346.      2    1    Status of this file:
  1347.                0 - Untouched
  1348.                1 - Has been opened
  1349.                2 - Has been moved
  1350.                3 - Has been deleted
  1351.                4 - Not yet received
  1352.                5-127 - Reserved
  1353.      3    4    Bytes of this file transmitted so far.  Has no meaning for
  1354.                  parent Control Files.
  1355.      7    4    Size in bytes of this file.
  1356.      11   2    Number of pages in this file transmitted so far.  Has no
  1357.                  meaning for parent Control Files.
  1358.      13   2    Number of pages in this file.
  1359. ■■   15   80   Path and name of file to send, as an ASCIIZ string.  A fully
  1360.                  qualified pathname for the file (including the drive) must
  1361.                  be entered.
  1362. ■■   95   1    If you set the Inches field (offset 96) to a value in the
  1363.                  range 1 through 127, this field specifies the number of
  1364.                  additional 1/8-inch increments in page length.  If the
  1365.                  Inches field is outside that range, this field has no
  1366.                  meaning.  This field has meaning only for faxes.
  1367. ■■   96   1    Page length in inches (has meaning only for faxes).
  1368.                0 -    Page length is 11 inches.
  1369.                1-127 -  Page length is the specified number of inches, plus
  1370.                  the number of 1/8 inches specified in the 1/8 inches field
  1371.                  (offset 95).
  1372.                (-1) - ASCII pages end with form feeds only.
  1373.                All other values are reserved.
  1374. ■■   97   31   Reserved.  Set to zero.
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383. - 16 -    DCA/Intel Communicating Applications Specification V1.2
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392. Group File Format (V1.2)
  1393.  
  1394. When the event type in a Control File (offset 0) is 4 (Group send) or 5
  1395. (Group Polled Receive), the application must also create a Group File that
  1396. contains information about the members of the group.  The file name of the
  1397. Group File must then be placed in the "Phone number to call" field of its
  1398. associated Control File to link the two files.  No pathname is given for
  1399. the Group File.  Instead, the Group File must reside in the same directory
  1400. as its associated Control File.
  1401.  
  1402. The Group File contains multiple records, one for each member of the group.
  1403.  
  1404.      Note:     Entries in this file must be for individuals.  There is
  1405.           no mechanism for nesting groups.
  1406.  
  1407. A record in the Group File has the following format:
  1408.  
  1409.       Offset   Length Description
  1410.  
  1411.      0    1    Transfer type for individual sub-event.  Values are
  1412.                  0 - 200x200 dpi, fax mode
  1413.                  1 - 100x200 dpi, fax mode
  1414.                  2 - File transfer mode
  1415.                  3-127 - Reserved
  1416.      1    2    Individual status.  The status of a sub-event.  Set to zero.
  1417.                  Values correspond to the Status of Event field in a
  1418.                  Control File:
  1419.                  0 - Successfully completed
  1420.                  1 - Waiting to be processed
  1421.                  2 - Number dialed or event in progress
  1422.                  3 - Connection made -- sending
  1423.                  4 - Connection made -- receiving
  1424.                  5 - Event was cancelled
  1425.                  6-32767 - Reserved
  1426.                  Negative numbers - Error.
  1427.      3    47   Phone Number to Call.  This is the phone number of the group
  1428.                  member this record pertains to.  An ASCIIZ string.
  1429.      50   32   Destination Name.  The group member's destination name as an
  1430.                  ASCIIZ string.
  1431.      82   2    Event Handle.  This is the event handle of the sub-event
  1432.                  associated with this group member.  The Resident Manager
  1433.                  assigns this value.  Initialize to zero.
  1434.      84   44   Reserved.
  1435.  
  1436.  
  1437.  
  1438. Sequence of Events for Transmitting and Receiving Files
  1439.  
  1440. This section provides an overview of the steps a programmer should follow
  1441. to transmit and receive files using the DCA/Intel CAS function calls.
  1442. Although these sections are general, they refer to specific function calls.
  1443. Later sections of this specification provide detailed descriptions of the
  1444. function calls.
  1445.  
  1446.  
  1447.  
  1448.  
  1449. DCA/Intel Communicating Applications Specification V1.2    - 17 -
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Transmitting a Single File
  1459.  
  1460.   1. Invoke CAS function 00H (Get Installed State) to determine if the
  1461.      Resident Manager is installed.  If it is, continue with the following
  1462.      steps.
  1463.  
  1464.   2. Create the data file you wish to transmit.
  1465.  
  1466.   3. Create the data structure required by function 15H (Submit a Single
  1467.      File to Send).
  1468.  
  1469.   4. Invoke function 15H (Submit a Single File to Send).
  1470.  
  1471.   5. Check for errors in sending.
  1472.  
  1473.  
  1474.  
  1475. Transmitting Multiple Files as a Single Event
  1476.  
  1477.   1. Invoke CAS function 00H (Get Installed State) to determine if the
  1478.      Resident Manager is installed.  If it is, continue with the following
  1479.      steps.
  1480.  
  1481.   2. Create the data files you wish to transmit.
  1482.  
  1483.   3. Create a Control File that includes one File Transfer Record (FTR) for
  1484.      each file you wish to transmit.
  1485.  
  1486.   4. Invoke function 01H (Submit a Task).
  1487.  
  1488.   5. Check for errors.
  1489.  
  1490.  
  1491.  
  1492. Receiving Files
  1493.  
  1494.   1. Invoke CAS function 00H (Get Installed State) to determine if the
  1495.      Resident Manager is installed.  If it is, continue with the following
  1496.      steps.
  1497.  
  1498.   2. Invoke function 05H (Find First Entry in Queue) to determine if any
  1499.      receive events have occurred.  If a receive event has occurred,
  1500.      continue with the following steps.
  1501.  
  1502.   3. Invoke function 07H (Open a File) to open the Control File for the
  1503.      receive event..
  1504.  
  1505.   4. For each File Transfer Record in the Control File, examine the "Status
  1506.      of this file" field to determine if the associated received file has
  1507.      been moved or deleted.  For each received file that has not been moved
  1508.      or deleted, continue with step 5.  If no such files remain, close the
  1509.      Control File and continue with step 8.
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515. - 18 -    DCA/Intel Communicating Applications Specification V1.2
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.   5. Invoke function 14H (Move Received File) to move the received file to
  1525.      the appropriate directory or filename or invoke function 08H (Delete a
  1526.      File) to delete the received file.
  1527.  
  1528.   6. Once you have moved, renamed, or deleted all the received files,
  1529.      invoke DOS function 3EH (Close File Handle) to close the Control File.
  1530.  
  1531.   7. Invoke function 08H (Delete a File) to delete the Control File.
  1532.  
  1533.   8. Invoke function 06H (Find Next Entry in Queue) to determine if
  1534.      additional receive events have occurred.  If there are additional
  1535.      receive events, repeat steps 3 through 7.
  1536.  
  1537.  
  1538.  
  1539. Transmitting to a Group (Group Send) (V1.2)
  1540.  
  1541.   1. Invoke CAS function 00H (Get Installed State) to determine if the
  1542.      Resident Manager is installed.  If it is, continue with the following
  1543.      steps.
  1544.  
  1545.   2. Create the data file (or files) you wish to transmit.
  1546.  
  1547.   3. Create a parent Control File that includes one File Transfer Record
  1548.      (FTR) for each file you wish to transmit.  Include the filename of the
  1549.      group file for the event (created in step 4) in the phone number field
  1550.      (offset 12) of the Control File.
  1551.  
  1552.   4. Create a Group File that includes one record for each member of the
  1553.      group you are transmitting data to.
  1554.  
  1555.   5. Invoke function 01H (Submit a Task).
  1556.  
  1557.   6. Check for errors in sending.
  1558.  
  1559.  
  1560.  
  1561. Receiving from a Group (Group Polled Receive) (V1.2)
  1562.  
  1563.   1. Invoke CAS function 00H (Get Installed State) to determine if the
  1564.      Resident Manager is installed.  If it is, continue with the following
  1565.      steps.
  1566.  
  1567.   2. Create a parent Control File for a group polled receive event.
  1568.      Include the filename of the group file for the event (created in step
  1569.      3) in the phone number field (offset 12) of the Control File.
  1570.  
  1571.   3. Create a Group File that includes one record for each member of the
  1572.      group you are receiving from.
  1573.  
  1574.   4. Invoke function 01H (Submit a Task).
  1575.  
  1576.   5. Perform the steps described above in the section titled "Receiving
  1577.      Files."
  1578.  
  1579.  
  1580.  
  1581. DCA/Intel Communicating Applications Specification V1.2    - 19 -
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647. - 20 -    DCA/Intel Communicating Applications Specification V1.2
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657. Function Table
  1658.  
  1659. Function Name                                Function Number
  1660.  
  1661.  
  1662.  
  1663. Get Installed State....................................00H
  1664. Submit a Task..........................................01H
  1665. Abort the Current Event................................02H
  1666. Reserved.........................................03H - 04H
  1667. Find First Entry in Queue..............................05H
  1668. Find Next Entry in Queue...............................06H
  1669. Open a File............................................07H
  1670. Delete a File..........................................08H
  1671. Delete All Files (in a queue)..........................09H
  1672. Get Event Date.........................................0AH
  1673. Set Task Date..........................................0BH
  1674. Get Event Time.........................................0CH
  1675. Set Task Time..........................................0DH
  1676. Get External Data Block................................0EH
  1677. Get/Set Autoreceive State..............................0FH
  1678. Get Current Event Status...............................10H
  1679. Get Queue Status.......................................11H
  1680. Get Hardware Status....................................12H
  1681. Run Diagnostics........................................13H
  1682. Move Received File.....................................14H
  1683. Submit a Single File to Send...........................15H
  1684. Unload Resident Manager................................16H
  1685. Set Cover Page Status (V1.2)...........................17H
  1686. Reserved.........................................18H - 80H
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713. DCA/Intel Communicating Applications Specification V1.2    - 21 -
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722. 00H
  1723. Get Installed State                                              
  1724.  
  1725.  
  1726. Description:
  1727.  
  1728. Get Installed State (00H) detects whether the Resident Manager is currently
  1729. installed.
  1730.  
  1731. Input:
  1732.  
  1733.      AH = Multiplex number
  1734.      AL = 00H
  1735.  
  1736. Return:
  1737.  
  1738. On return, AL contains the installed state as follows:
  1739.  
  1740.      AL = 00H Not installed
  1741.      AL = 01H Not installed, not OK to install
  1742.      AL = FFH Installed
  1743.  
  1744. There is no error returned.
  1745.  
  1746. See Also:
  1747.  
  1748.      Get External Data Block (0EH)
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779. - 22 -    DCA/Intel Communicating Applications Specification V1.2
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.                                                               01H
  1789.                                                     Submit a Task
  1790.  
  1791.  
  1792. Description:
  1793.  
  1794. The Submit a Task function (01H) schedules a send, a polled send, a polled
  1795. receive, a group send, or a group polled receive event.  Before invoking
  1796. this function, you must first create a Control File for the event (and a
  1797. group file if the event is a group send or group polled receive event).
  1798. The function adds this Control File to the Task Queue.  The event handle
  1799. returned by this function is a positive integer that must be used in all
  1800. subsequent references to this event.
  1801.  
  1802. Once the event is completed, the Resident Manager automatically moves the
  1803. Control File for the event from the Task Queue to the Log Queue (that is,
  1804. copies the Control File from the Task Queue to the Log Queue, renames the
  1805. copy, and deletes the original Control File from the Task Queue).  For
  1806. Polled Receive events, a copy of the Control File is also placed in the
  1807. Receive Queue.  (The following information is new for V1.2.)  For group
  1808. events, the parent Control File and the Group File are moved to the Log
  1809. Queue when the task is complete.
  1810.  
  1811. Input:
  1812.  
  1813.      AH = Multiplex number
  1814.      AL = 01H
  1815.      DS:DX points to ASCIIZ path and name of Control File
  1816.  
  1817. Return:
  1818.  
  1819.      AX = Positive event handle or negative error code
  1820.  
  1821.      Note:     Files associated with a event must remain in existence
  1822.           until the event is complete or an error results.
  1823.  
  1824. See Also:
  1825.  
  1826.      Submit a Single File to Send (015H)
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845. DCA/Intel Communicating Applications Specification V1.2    - 23 -
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854. 02H
  1855. Abort the Current Event                                          
  1856.  
  1857.  
  1858.  
  1859. Description:
  1860.  
  1861. The Abort the Current Event function (02H) aborts the currently executing
  1862. event.  To prevent the execution of a pending event, use the Delete a File
  1863. function (08H).
  1864.  
  1865.      Note:     Terminating an event is not instantaneous.  It might
  1866.           take up to 30 seconds.
  1867.  
  1868. Input:
  1869.  
  1870.      AH = Multiplex number
  1871.      AL = 02H
  1872.  
  1873. Return:
  1874.  
  1875.      AX = Event handle of aborted event or negative error code
  1876.  
  1877. See Also:
  1878.  
  1879.      Delete a File (08H)
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911. - 24 -    DCA/Intel Communicating Applications Specification V1.2
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.                                                         03H - 04H
  1921.                                                          Reserved
  1922.  
  1923.  
  1924.  
  1925. These functions are reserved.
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977. DCA/Intel Communicating Applications Specification V1.2    - 25 -
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986. 05H
  1987. Find First Entry in Queue                                        
  1988.  
  1989.  
  1990.  
  1991. Description:
  1992.  
  1993. The Find First Entry in Queue function (05H) searches the queue you specify
  1994. in the DL register for an event whose status matches the one you specify in
  1995. the CX register.  Entries in queues are ordered by the date and time in
  1996. which the corresponding events occurred (or are scheduled to occur).
  1997. Depending on the value you place in the DH register, the function searches
  1998. for the earliest or latest such event.  The function returns a 15-bit event
  1999. handle of the entry it finds.
  2000.  
  2001. Once you use this function to obtain an event handle, you can access the
  2002. file associated with that event by calling the Open a File function (07H).
  2003. Use the Find Next Entry in Queue function (06H) to find subsequent entries
  2004. in the queue.
  2005.  
  2006. Input:
  2007.  
  2008.      AH = Multiplex number
  2009.      AL = 05H
  2010.      CX = Status of the event you are seeking.  This value is compared with
  2011.             the field at offset 2 of the Control File.
  2012.             0 - Event has successfully completed.
  2013.             1 - Event is waiting to be processed.
  2014.             2 - Number dialed or event in progress.
  2015.             3 - Connection has been made -- sending.
  2016.             4 - Connection has been made -- receiving.
  2017.             5 - Event was aborted.
  2018.             -1  Chooses an event without regard to status.  This value will
  2019.                  probably be used most often.
  2020.             Other negative values
  2021.                 Matches error codes in Control File.
  2022.      DH = Direction:
  2023.             0 - Search forward chronologically (from the first occurring
  2024.                  event to the last occurring event).
  2025.             1 - Search backward chronologically (from the last occurring
  2026.                  event to the first occurring event).
  2027.      DL = Queue to search:
  2028.             0 - Find first Control File in Task Queue.
  2029.             1 - Find first Control File in Receive Queue.
  2030.             2 - Find first Control File in Log Queue.
  2031.  
  2032. Return:
  2033.  
  2034.      AX = 0 if successful or a negative error code.
  2035.      BX = Event handle for this file.
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043. - 26 -    DCA/Intel Communicating Applications Specification V1.2
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.                                                               05H
  2053.                                         Find First Entry in Queue
  2054.  
  2055.  
  2056. If the queue is empty, this function returns error code 204H (no more
  2057. events) in the AX register.  Note that the number in register AX is the
  2058. negative (2's complement) of the error code (that is,  FDFCH.)
  2059.  
  2060.  
  2061. See Also:
  2062.  
  2063.      Find Next Entry in Queue (06H)
  2064.      Open a File (07H)
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109. DCA/Intel Communicating Applications Specification V1.2    - 27 -
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118. 06H
  2119. Find Next Entry in Queue                                         
  2120.  
  2121.  
  2122.  
  2123. Description:
  2124.  
  2125. After a call to the Find First Entry in Queue function (05H), you can step
  2126. chronologically through a queue using the Find Next Entry in Queue function
  2127. (06H).  Each subsequent call to Find Next Entry in Queue returns the event
  2128. handle of the next event chronologically (as set by function 05H) in the
  2129. specified Queue.  For example, if you set the Find First Entry function to
  2130. search forward chronologically, the Find Next Entry function searches
  2131. forward for the next entry that matches the specifications set with Find
  2132. First Entry.  If you set Find First Entry to search backwards
  2133. chronologically, Find Next Entry searches backwards.
  2134.  
  2135. You must invoke the Find First Entry in Queue function (05H) prior to using
  2136. the Find Next Entry in Queue function.  Once you use this function to
  2137. obtain an event handle, you can access the file associated with that event
  2138. by calling the Open a File function (07H).
  2139.  
  2140. Input:
  2141.  
  2142.      AH = Multiplex number
  2143.      AL = 06H
  2144.      DL = Queue to search:
  2145.             0 - Find next Control File in Task Queue
  2146.             1 - Find next Control File in Receive Queue
  2147.             2 - Find next Control File in Log Queue
  2148.  
  2149. Return:
  2150.  
  2151.      AX = 0 if successful or a negative error code
  2152.      BX = Event handle for this file
  2153.  
  2154. See Also:
  2155.  
  2156.      Find First Entry in Queue (05H)
  2157.      Open a File (07H)
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175. - 28 -    DCA/Intel Communicating Applications Specification V1.2
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.                                                               07H
  2185.                                                       Open a File
  2186.  
  2187.  
  2188.  
  2189. Description:
  2190.  
  2191. After you obtain an event handle (by either scanning a Queue using the Find
  2192. First Entry in the Queue (05H) and Find Next Entry in the Queue (06H)
  2193. functions or by creating a event using the Submit a Task (01H) function),
  2194. you can use the Open a File function (07H) to access the DOS file
  2195. corresponding to the event.  For events in the Task and Log Queues, this
  2196. function opens the Control File for the event.  For events in the Receive
  2197. Queue, this function opens either the Control File or one of the received
  2198. data files.
  2199.  
  2200. This function opens the desired file in read-only mode and returns an
  2201. ordinary DOS file handle.  The application should use the normal DOS
  2202. function (3EH) to close that handle when it is finished with it.
  2203.  
  2204. Input:
  2205.  
  2206.      AH = Multiplex number
  2207.      AL = 07H
  2208.      BX = Event handle
  2209.      CX = Receive file number.  This file number specifies which file to
  2210.             open among those associated with a receive event.  This number
  2211.             applies only to events in the Receive Queue and is ignored for
  2212.             events in the Task and Log Queues. The number is interpreted as
  2213.             follows:
  2214.             0 - The Control File. The format of this file is described
  2215.                  earlier in this document.
  2216.             1 - First received file. Corresponds to the first file in the
  2217.                  list of received filenames (file transfer record 0).
  2218.             2 - Second received file.
  2219.             3 - Third received file.
  2220.             n - nth received file.
  2221.  
  2222.      DL = Queue:
  2223.             0 - Open Control File in Task Queue.
  2224.             1 - Open Control File in Receive Queue or the received data
  2225.                  file specified in the CX register.
  2226.             2 - Open Control File in Log Queue.
  2227.             3 - Open group file in Task Queue (V1.2)
  2228.             4 - Open group file in Log Queue (V1.2)
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241. DCA/Intel Communicating Applications Specification V1.2    - 29 -
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250. 07H
  2251. Open a File                                                      
  2252.  
  2253.  
  2254. Return:
  2255.  
  2256.      AX = 0 if successful or a negative error code.
  2257.      BX = DOS file handle for the requested file.
  2258.  
  2259. See Also:
  2260.  
  2261. Submit a Task (01H)
  2262. Find First Entry in Queue (05H)
  2263. Find Next Entry in Queue (06H)
  2264. Move Received File (14H)
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307. - 30 -    DCA/Intel Communicating Applications Specification V1.2
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.                                                               08H
  2317.                                                     Delete a File
  2318.  
  2319.  
  2320.  
  2321. Description:
  2322.  
  2323. The Delete a File function (08H) deletes one or more files in a specific
  2324. Queue.
  2325.  
  2326.      Note:     The delete files flag (offset 140) in the Control File
  2327.           for an event can cause the Resident Manager to automatically
  2328.           delete all the files associated with the event after the
  2329.           event has been successfully completed (flag set to 1) or
  2330.           after the event has been attempted (flag set to 2).
  2331.  
  2332. Input:
  2333.  
  2334.      AH = Multiplex number
  2335.      AL = 08H
  2336.      BX = Event handle
  2337.      CX = Receive file number.  This number specifies which file to delete
  2338.             among those associated with a receive event.  This number
  2339.             applies only to events in the Receive Queue and is ignored for
  2340.             events in the Task and Log Queues.  The number is interpreted
  2341.             as follows:
  2342.             0 - Delete all files associated with the specified Control File
  2343.                  (including the Control File).
  2344.             1 - Delete the first received file associated with the event
  2345.                  handle.
  2346.             2 - Delete the second received file associated with the event
  2347.                  handle.
  2348.             n - Delete the nth received file associated with the event
  2349.                  handle.
  2350.  
  2351.      DL = Queue:
  2352.             0 - Delete Control File in Task Queue and corresponding Group
  2353.                  File, if it exists.
  2354.             1 - Delete a file or files associated with an event in the
  2355.                  Receive Queue.
  2356.             2 - Delete Control File in Log Queue and corresponding Group
  2357.                  Log File if it exists.
  2358. Return:
  2359.  
  2360.      AX = 0 if successful or a negative error code.
  2361.  
  2362. See Also:
  2363.  
  2364.      Abort the Current Event (02H)
  2365.      Delete All Files (09H)
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373. DCA/Intel Communicating Applications Specification V1.2    - 31 -
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382. 09H
  2383. Delete All Files (in a queue)                                    
  2384.  
  2385.  
  2386.  
  2387. Description:
  2388.  
  2389. The Delete All Files function (09H) deletes all Control Files in the
  2390. specified queue
  2391.  
  2392. Input:
  2393.  
  2394.      AH = Multiplex number
  2395.      AL = 09H
  2396.      DL = Queue:
  2397.             0 - Delete all Control Files in the Task Queue, including all
  2398.                  Group Files.
  2399.             1 - Delete all Control Files in the Receive Queue and all
  2400.                  received files.
  2401.             2 - Delete all Control Files in the Log Queue, including all
  2402.                  Group Files.
  2403.  
  2404. Return:
  2405.  
  2406.      AX = 0 if successful or a negative error code
  2407.  
  2408. See Also:
  2409.  
  2410.      Delete A File (08H)
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439. - 32 -    DCA/Intel Communicating Applications Specification V1.2
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.                                                               0AH
  2449.                                                    Get Event Date
  2450.  
  2451.  
  2452.  
  2453. Description:
  2454.  
  2455. The Get Event Date function (0AH) gets the date associated with a given
  2456. event handle.
  2457.  
  2458.  
  2459. Input:
  2460.  
  2461.      AH = Multiplex number
  2462.      AL = 0AH
  2463.      BX = Event handle of the event whose date you want to obtain
  2464.      DL = Queue:
  2465.             0 - Task Queue
  2466.             1 - Receive Queue
  2467.             2 - Log Queue
  2468.  
  2469. Return:
  2470.  
  2471.      AX = 0 if successful or a negative error code
  2472.      CX = Year (1980 - 2099)
  2473.      DH = Month (1 - 12)
  2474.      DL = Day (1 - 31)
  2475.  
  2476. See Also:
  2477.  
  2478.      Set Task Date (0BH)
  2479.      Get Event Time (0CH)
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505. DCA/Intel Communicating Applications Specification V1.2    - 33 -
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514. 0BH
  2515. Set Task Date                                                    
  2516.  
  2517.  
  2518.  
  2519. Description:
  2520.  
  2521. The Set Task Date function (0BH) sets the execute date of a Control File
  2522. specified by the event handle.
  2523.  
  2524. This function is valid only for events that the local computer initiates.
  2525.  
  2526.      Note:     Setting the date for an event to a value that is
  2527.           earlier than the current date (or setting registers CX, DH,
  2528.           and DL to zero) causes the transmission to occur
  2529.           immediately.
  2530.  
  2531. Input:
  2532.  
  2533.      AH = Multiplex number
  2534.      AL = 0BH
  2535.      BX = Event handle
  2536.      CX = Year (1980 - 2099)
  2537.      DH = Month (1 - 12)
  2538.      DL = Day (1 - 31)
  2539.  
  2540. Return:
  2541.  
  2542.      AX = 0 if successful or a negative error code
  2543.  
  2544. See Also:
  2545.  
  2546.      Get Event Date (0AH)
  2547.      Set Task Time (0DH)
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571. - 34 -    DCA/Intel Communicating Applications Specification V1.2
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.                                                               0CH
  2581.                                                    Get Event Time
  2582.  
  2583.  
  2584.  
  2585. Description:
  2586.  
  2587. The Get Event Time function (0CH) gets the time associated with a given
  2588. event handle.
  2589.  
  2590.  
  2591. Input:
  2592.  
  2593.      AH = Multiplex number
  2594.      AL = 0CH
  2595.      BX = Event handle
  2596.      DL = Queue:
  2597.             0 - Task Queue
  2598.             1 - Receive Queue
  2599.             2 - Log Queue
  2600.  
  2601. Return:
  2602.  
  2603.      AX = 0 if successful or a negative error code
  2604.      CH = Hour (0 - 23)
  2605.      CL = Minutes (0 - 59)
  2606.      DH = Seconds (0 - 59)
  2607.      DL = 0
  2608.  
  2609. See Also:
  2610.  
  2611.      Get Event Date (0AH)
  2612.      Set Task Time (00H)
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637. DCA/Intel Communicating Applications Specification V1.2    - 35 -
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646. 0DH
  2647. Set Task Time                                                    
  2648.  
  2649.  
  2650.  
  2651. Description:
  2652.  
  2653. The Set Task Time function (0DH) sets the execute time of a Control File
  2654. specified by the event handle.
  2655.  
  2656. This function is valid only for events in the Task Queue, not for events in
  2657. the Receive or Log Queues.
  2658.  
  2659.      Note:            Setting the time for a event to a value that makes
  2660.                  the date and time earlier than the current date and time
  2661.                  causes the transmission to occur immediately.  Setting the
  2662.                  time to zero (setting registers CH, CL, and DH to zero)
  2663.                  selects 12:00 AM.
  2664. Input:
  2665.  
  2666.      AH = Multiplex number
  2667.      AL = 0DH
  2668.      BX = Event handle
  2669.      CH = Hour (0 - 23)
  2670.      CL = Minutes (0 - 59)
  2671.      DH = Seconds (0 - 59)
  2672.  
  2673. The value of DL is unused.
  2674.  
  2675. Return:
  2676.  
  2677.      AX = 0 if successful or a negative error code
  2678.  
  2679. See Also:
  2680.  
  2681.      Set Task Date (0BH)
  2682.      Get Event Time (0CH)
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703. - 36 -    DCA/Intel Communicating Applications Specification V1.2
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.                                                               0EH
  2713.                                           Get External Data Block
  2714.  
  2715.  
  2716.  
  2717. Description:
  2718.  
  2719. The External Data Block contains additional information about the current
  2720. Resident Manager installation (such as the name of the default logo file).
  2721.  
  2722. Input:
  2723.  
  2724.      AH = Multiplex number
  2725.      AL = 0EH
  2726.      DS:DX points to a 256-byte EDB area
  2727.  
  2728. Return:
  2729.  
  2730.      AX = 0 if successful or a negative error code
  2731.      EDB area is filled with the External Data Block
  2732.  
  2733. The format of the External Data Block is as follows: (values in decimal):
  2734.  
  2735.       Offset   Length Description
  2736.  
  2737.      0    1    CAS major version number.
  2738.      1    1    CAS minor version number.
  2739.      2    68   ASCIIZ string specifying the pathname of the directory
  2740.                  containing Resident Manager configuration files and other
  2741.                  software that implements CAS.  The path ends with a
  2742.                  backslash. The user specifies this name when installing
  2743.                  the software.
  2744.      70   13   Name of default phonebook file, as an ASCIIZ string.  This
  2745.                  file is assumed to be in the Resident Manager and software
  2746.                  directory.
  2747.      83   13   Name of default logo file, as an ASCIIZ string.  This file
  2748.                  is assumed to be in the Resident Manager and software
  2749.                  directory.  The user specifies this name when installing
  2750.                  the software.
  2751.      96   32   Default sender name, as an ASCIIZ string.  The user
  2752.                  specifies this name when installing the software.
  2753.      128  21   CSID (the CCITT identification of the fax device) as an
  2754.                  ASCIIZ string.
  2755.      149  107  Reserved.
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769. DCA/Intel Communicating Applications Specification V1.2    - 37 -
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778. 0FH
  2779. Get/Set Autoreceive State                                        
  2780.  
  2781.  
  2782.  
  2783. Description:
  2784.  
  2785. The Get/Set Autoreceive State function (0FH) examines or alters the receive
  2786. state of the hardware.  If an event is in progress, the new autoreceive
  2787. state will not take effect until the event is completed.
  2788.  
  2789. Input:
  2790.  
  2791.      AH = Multiplex number
  2792.      AL = 0FH
  2793.      DL = Function code:
  2794.             0 - get current autoreceive state
  2795.             1 - set current autoreceive state to value in DH
  2796.      DH = Number of rings before answer or 0 to disable
  2797.  
  2798. Return:
  2799.  
  2800.      AX = current autoreceive state or negative error code
  2801.             0 - Autoreceive disabled
  2802.             positive number - Number of rings before the hardware answers
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835. - 38 -    DCA/Intel Communicating Applications Specification V1.2
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.                                                               10H
  2845.                                          Get Current Event Status
  2846.  
  2847.  
  2848.  
  2849. Description:
  2850.  
  2851. The Get Current Event Status function (10H) returns the status of the
  2852. currently executing event.
  2853.  
  2854. Input:
  2855.  
  2856.      AH = Multiplex number
  2857.      AL = 10H
  2858.      DS:DX points to a 512-byte status area
  2859.  
  2860. Return:
  2861.  
  2862.      AX = 0 if successful or a negative error code
  2863.      BX = Event number of the current event (if the function completed
  2864.             without an error).  If there is no current event, error code
  2865.             202H is returned.  Note that the number in register BX is the
  2866.             negative (2's complement) of the error code (that is,  FDFEH.)
  2867.  
  2868. This function fills the status area pointed to by DS:DX on entry with a
  2869. truncated version of the Control File for the current event.  This data
  2870. structure is identical to the Control File structure with two exceptions:
  2871.  
  2872.   ■  Only one File Transfer Record (FTR) is included.  The FTR included is
  2873.      the one controlling the current file transfer.
  2874.  
  2875.   ■  No cover page text field is included.  Instead the current FTR begins
  2876.      at offset 383.
  2877.  
  2878. Therefore, the end of the Control File has the following format:
  2879.  
  2880.       Offset   Length Description
  2881.  
  2882.      303  80   Path and name of PCX logo file (maximum size 1728 x 800
  2883.                  pels)
  2884.      383  128  The File Transfer Record corresponding to the current event
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901. DCA/Intel Communicating Applications Specification V1.2    - 39 -
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910. 11H
  2911. Get Queue Status                                                 
  2912.  
  2913.  
  2914.  
  2915. Description:
  2916.  
  2917. The Get Queue Status function (11H) returns the current status of a queue
  2918. you specify.
  2919.  
  2920. Input:
  2921.  
  2922.      AH = Multiplex number
  2923.      AL = 11H
  2924.      DL = Queue:
  2925.             0 - Find status of Task Queue
  2926.             1 - Find status of Receive Queue
  2927.             2 - Find status of Log Queue
  2928.             3 - Find status of Send Events
  2929.             4 - Find status of Receive Events
  2930.  
  2931. Return:
  2932.  
  2933. If DL = 0, 1, or 2
  2934.  
  2935.      AX = Total number of changes made to this queue since the Resident
  2936.             Manager was started, or a negative error code.  If the number
  2937.             of changes exceeds 7FFFH, the count begins again at 0.
  2938.      BX = Current number of Control Files in this queue.
  2939.      CX = Current number of received files.  (This register is non-zero
  2940.             only if you request the status of the Receive Queue by
  2941.             specifying DL = 1.)  The value in this register is incremented
  2942.             for each file received.
  2943. If DL = 3 (V1.2)
  2944.  
  2945.      AX = Number of successful sends since the Resident Manager was
  2946.             started, including events cancelled by the user.
  2947.      BX = Number of unsuccessful sends since the Resident Manager was
  2948.             started, including warnings.
  2949.  
  2950. If DL = 4 (V1.2)
  2951.  
  2952.      AX = Number of received file transfer events since the Resident
  2953.             Manager was started
  2954.      BX = Number of received fax events since the Resident Manager was
  2955.             started
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967. - 40 -    DCA/Intel Communicating Applications Specification V1.2
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.                                                               12H
  2977.                                               Get Hardware Status
  2978.  
  2979.  
  2980.  
  2981. Description:
  2982.  
  2983. The Get Hardware Status function (12H) returns the status of the
  2984. communication hardware.
  2985.  
  2986.      Caution:    The values and structure returned by this function are
  2987.                  hardware-dependent and will vary according to type of
  2988.                  hardware used to implement the CAS services.  It is
  2989.                  recommended that you use the Get Current Event (10H) and
  2990.                  Get Queue Status (11H) functions, or examine the Control
  2991.                  File, instead of using this function.
  2992.  
  2993.  
  2994. Input:
  2995.  
  2996.      AH = Multiplex number
  2997.      AL = 12H
  2998.      DS:DX points to a 128-byte status area
  2999.  
  3000. Return:
  3001.  
  3002.      AX = 0 if successful or a negative error code.  If successful, the
  3003.             function fills the status area with hardware-dependent status
  3004.             information.  Contact the manufacturer of your communications
  3005.             hardware for information on the content and format of the
  3006.             status information.
  3007.  
  3008. See Also:
  3009.  
  3010.      Get Task Status (10H)
  3011.      Get Queue Status (11H)
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033. DCA/Intel Communicating Applications Specification V1.2    - 41 -
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042. 13H
  3043. Run Diagnostics                                                  
  3044.  
  3045.  
  3046.  
  3047. Description:
  3048.  
  3049. The Run Diagnostics function (13H) runs a set of diagnostics or reports on
  3050. their progress.
  3051.  
  3052. Input:
  3053.  
  3054.      AH = Multiplex number
  3055.      AL = 13H
  3056.      DL = Mode:
  3057.             0 - Report progress of diagnostics
  3058.             1 - Start running diagnostics
  3059.  
  3060. Return:
  3061.  
  3062. If request was to start running diagnostics (DL = 1), AX contains either a
  3063. 0 (diagnostics successfully begun) or a negative error code.
  3064.  
  3065. If request was to report the progress of diagnostics, AX contains a 40H
  3066. (diagnostics in process) or some other non-negative number indicating that
  3067. diagnostics passed.  If AX contains a negative number, the diagnostics
  3068. failed and the value indicates the reason for failure.  The values are
  3069. hardware-dependent.  Contact the manufacturer of your communications
  3070. hardware for information on the failure codes.
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099. - 42 -    DCA/Intel Communicating Applications Specification V1.2
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.                                                               14H
  3109.                                                Move Received File
  3110.  
  3111.  
  3112.  
  3113. Description:
  3114.  
  3115. The Move Received File function (14H) moves a received file to a different
  3116. directory and gives it a new name.  The new directory can be on a different
  3117. device.
  3118.  
  3119.      Note:            The path to the new directory must exist.  This
  3120.                  function cannot create directories.
  3121. Input:
  3122.  
  3123.      AH = Multiplex number
  3124.      AL = 14H
  3125.      BX = Event handle
  3126.      CX = Receive file number (must be nonzero to specify a received file)
  3127.             1 - First received file
  3128.             2 - Second received file
  3129.             3 - Third received file
  3130.             n - nth received file
  3131.      DS:DX = Pointer to a new path and name of the file (in the form of an
  3132.             ASCIIZ string).  This file must not exist already.
  3133.  
  3134. Return:
  3135.  
  3136.      AX = 0 if successful or a negative error code.
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165. DCA/Intel Communicating Applications Specification V1.2    - 43 -
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174. 15H
  3175. Submit a Single File to Send                                     
  3176.  
  3177.  
  3178.  
  3179. Description:
  3180.  
  3181. The Submit a Single File to Send function (15H) provides a simple method of
  3182. sending a single file, either as a fax or as a file transfer.  The function
  3183. creates and submits the necessary Control File and returns the
  3184. corresponding event handle (or negative error code).  Before invoking this
  3185. function, you must create a data structure (described later) that contains
  3186. the appropriate information.
  3187.  
  3188. The file sent using this function must be in ASCII, PCX, or DCX format.
  3189.  
  3190. Input:
  3191.  
  3192.      AH = Multiplex number
  3193.      AL = 15H
  3194.      DS:DX = Pointer to a variable-length data area, described later in
  3195.             this section
  3196.  
  3197. Return:
  3198.  
  3199.      AX = positive event handle or a negative error code
  3200.  
  3201.  
  3202. The format of the data area pointed to by DS:DX is as follows.  The
  3203. individual fields have the same meaning as in a Control File.
  3204.  
  3205.       Offset   Length Description
  3206.  
  3207.      0    1    Transfer type:
  3208.                0 - 200x200 dpi, fax mode
  3209.                1 - 100x200 dpi, fax mode
  3210.                2 - File transfer mode
  3211.                3-127 - Reserved.
  3212.      1    1    Text size (if ASCII file, fax mode)
  3213.                0 - 80-column
  3214.                1 - 132-column
  3215.                2-127 - Reserved.
  3216.      2    2    Time to send, in DOS file date and time format
  3217.      4    2    Date to send, in DOS file date and time format
  3218.  
  3219.      Note:     Setting both the time and date fields to zero schedules
  3220.           the file to be sent immediately.  Therefore, to send a file
  3221.           at once, zero the four bytes (long word) at offset 2.
  3222.  
  3223.       Offset   Length Description
  3224.  
  3225.      6    32   Destination Name, as an ASCIIZ string (To: field)
  3226.      38   80   Path and name of the file to send, as an ASCIIZ string
  3227.  
  3228.  
  3229.  
  3230.  
  3231. - 44 -    DCA/Intel Communicating Applications Specification V1.2
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.                                                               15H
  3241.                                      Submit a Single File to Send
  3242.  
  3243.  
  3244.      118  47   Phone number to call, as an ASCIIZ string
  3245.      165  64   Application-specific tag field, as an ASCIIZ string
  3246.      229  1    Reserved; set to zero
  3247.      230  1    Cover page flag:
  3248.                0 - Don't send cover page
  3249.                1 - Send cover page
  3250.                2-127 - Reserved
  3251.      231  23   Reserved; set to zero
  3252.      254  var  Cover text, as an ASCIIZ string.  This text is sent if the
  3253.                  cover page flag (offset 230) is set to 1.
  3254.  
  3255. You must set all fields, except for the Application-Specific Tag field,
  3256. before calling this function.  However, you can set the Destination Name
  3257. and Cover Text fields to the empty string, if desired.  The file is not
  3258. deleted when the event is completed.
  3259.  
  3260. See Also:
  3261.  
  3262.      Submit A Task (01H)
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297. DCA/Intel Communicating Applications Specification V1.2    - 45 -
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306. 16H
  3307. Unload Resident Manager                                          
  3308.  
  3309.  
  3310.  
  3311. Description:
  3312.  
  3313. The Unload Resident Manager function (16H) unloads the Resident Manager
  3314. from memory.  Unloading frees the memory the Resident Manager used, making
  3315. it available for other applications.  However, once the Resident Manager is
  3316. unloaded, the manager functions are no longer available.   For example,
  3317. unloading the manager from memory suspends all pending events.  If there is
  3318. a event which is scheduled to be sent in five minutes, it will not be sent
  3319. until the manager is reloaded.  Once the manager is reloaded, however, it
  3320. will immediately send events that should have been sent while it was
  3321. unloaded.  In addition, when the manager is not installed, you cannot
  3322. receive anything.
  3323.  
  3324. Unloading the Resident Manager from memory will fail if a terminate and
  3325. stay resident (TSR) program has been loaded after the manager, if there is
  3326. a polled send, or if the manager or corresponding communications board is
  3327. busy doing a event.
  3328.  
  3329. Input:
  3330.  
  3331.      AH = Multiplex number
  3332.      AL = 16H
  3333.      BX = 1234H
  3334.      CX = 5678H
  3335.      DX = 9ABCH
  3336.  
  3337. Return:
  3338.  
  3339.      AX = 0 if successful or a negative error code
  3340.  
  3341. This function returns error 209H if the communications board is busy.  It
  3342. returns error 20BH if it can't remove the Resident Manager.
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363. - 46 -    DCA/Intel Communicating Applications Specification V1.2
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.                                                               17H
  3373.                                      Set Cover Page Status (V1.2)
  3374.  
  3375.  
  3376.  
  3377. Description:
  3378.  
  3379. The Set Cover Page Status function (17H) sets the Cover Page Read flag
  3380. (offset 216) in the Control File for the specified event.  The Resident
  3381. Manager checks the Log Queue and the Receive Queue for the specified
  3382. Control File.  This function and the Cover Page Read flag provide
  3383. applications with a means of recording whether or not the user has read the
  3384. cover page.
  3385.  
  3386. Input:
  3387.  
  3388.      AH = Multiplex number
  3389.      AL = 17H
  3390.      BX = Event handle
  3391.      CL = Cover page status
  3392.           0 - Not read
  3393.           1 - Read
  3394.  
  3395. Return:
  3396.  
  3397.      AX = 0 if successful or a negative error code
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429. DCA/Intel Communicating Applications Specification V1.2    - 47 -
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438. 18H - 80H
  3439. Reserved                                                         
  3440.  
  3441.  
  3442. These functions are reserved.
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495. - 48 -    DCA/Intel Communicating Applications Specification V1.2
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507. Error Codes
  3508.  
  3509. An error code consists of two parts, an error class and an error subcode.
  3510. The error class is returned in AH and the error subcode is returned in AL.
  3511. The error class indicates the general type of operation in which the error
  3512. occurred.  Examples of general operations are: manipulation of the
  3513. schedule, manipulation of a Control File, etc.  The error subcode can be a
  3514. DOS error code or an error code defined by the Resident Manager.  Error
  3515. subcodes indicate the specific kind of error that occurred.
  3516.  
  3517. This method of handling error codes allows an application to examine either
  3518. the full error code returned in AX, or the class/subcode of an error
  3519. individually.
  3520.  
  3521. Error codes are listed in the following table.  All codes are in
  3522. Hexadecimal.  Before each listing of specific errors is a description of
  3523. the error class code.  The full error code (class + subcode) is listed in
  3524. the Error column, and the class and subcode are listed separately in the
  3525. next two columns.  When these errors are returned to an application, they
  3526. are returned as the negative of these codes.  For example, a "No more
  3527. events" error will be returned in AX as 0FDFCH which is the negative (2's
  3528. complement) of 0204H.
  3529.  
  3530. Table of Error Codes
  3531.  
  3532. Error Class Subcode Description
  3533.  
  3534.       0          Class: Fax warnings (not an error)
  3535. 0000  0     0    No error
  3536. 0002  0     2    Bad scanline count
  3537. 0003  0     3    Page sent with errors, couldn't resend
  3538. 0004  0     4    Receive data lost
  3539. 0005  0     5    Invalid or missing logo file
  3540. 0006  0     6    File name doesn't match nonstandard format (NSF) header
  3541. 0007  0     7    File size doesn't match nonstandard format (NSF) header
  3542.  
  3543.       1          Class: DOS warnings; data was sent.  The error subcode is
  3544.                   the error returned by DOS.  Examples are:
  3545. 0101  1     1    Invalid function number
  3546. 0105  1     5    Access denied
  3547. 0106  1     6    Invalid handle
  3548. 01xx  1     ...  (See the DOS Technical Reference)
  3549.  
  3550.       2          Class: Fatal errors.  The function failed or the data was
  3551.                   not sent.
  3552. 0200  2     0    Multiplex handler failed
  3553. 0201  2     1    Unknown command (bad function number)
  3554. 0202  2     2    Event not found (bad event handle)
  3555. 0203  2     3    Attempted to Find Next before Find First
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561. - 49 -    DCA/Intel Communicating Applications Specification V1.2
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570. Error Class Subcode Description
  3571.  
  3572. 0204  2     4    No more events
  3573. 0207  2     7    Invalid Queue type (bad Queue number)
  3574. 0208  2     8    Bad Control File
  3575. 0209  2     9    Communication board is busy
  3576. 020A  2     A    Invalid command parameter
  3577. 020B  2     B    Can't uninstall the Resident Manager
  3578. 020C  2     C    File already exists
  3579. 0280  2     80   Unknown task type (not a Send or Poll event)
  3580. 0281  2     81   Bad phone number
  3581. 0282  2     82   Bad PCX file header
  3582. 0283  2     83   Unexpected EOF
  3583. 0284  2     84   Unexpected disconnect
  3584. 0285  2     85   Exceeded maximum dialing retries
  3585. 0286  2     86   No files specified for Send event
  3586. 0287  2     87   Communication board timeout
  3587. 0288  2     88   Received more than 1023 (maximum) pages of data
  3588. 0289  2     89   Manual connect posted too long ago
  3589. 028A  2     8A   Hardware command set error
  3590. 028B  2     8B   Bad nonstandard format (NSF) header file
  3591.  
  3592.       3          Class: Fatal DOS errors, data not sent.  The error subcode
  3593.                   is the error returned by DOS.  Examples are:
  3594. 0302  3     2    File not found
  3595. 0303  3     3    Path not found
  3596. 03xx  3     ...  (See the DOS Technical Reference Manual)
  3597.  
  3598.       4          Class: Fax errors
  3599. 0401  4     1    Remote unit not Group 3 compatible
  3600. 0402  4     2    Remote unit didn't send its capabilities
  3601. 0403  4     3    Remote unit requested disconnect
  3602. 0404  4     4    Remote unit isn't capable of file transfers
  3603. 0405  4     5    Exceeded retrain or fax resend limit
  3604. 0406  4     6    Line noise or the local and remote unit don't agree on a
  3605.                   bit rate
  3606. 0407  4     7    Remote unit disconnected after receiving data
  3607. 0408  4     8    No response from remote unit after sending data
  3608. 0409  4     9    Capabilities of remote unit aren't compatible
  3609. 040A  4     A    No dial tone - check phone line and cord (V1.2)
  3610. 040B  4     B    Invalid response from remote unit after sending data
  3611. 040D  4     D    Phone line dead or remote unit disconnected
  3612. 040E  4     E    Timeout while waiting for secondary dial tone (V1.2)
  3613. 0411  4     11   Invalid command from remote after receiving data
  3614. 0415  4     15   Tried to receive from incompatible hardware
  3615. 041F  4     1F   Unexpected end of file while receiving
  3616. 045C  4     5C   Received data overflowed input buffer
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627. - 50 -    DCA/Intel Communicating Applications Specification V1.2
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636. Error Class Subcode Description
  3637.  
  3638. 045D  4     5D   Remote hardware unexpectedly stopped sending data
  3639. 045E  4     5E   Remote hardware didn't send any data
  3640. 045F  4     5F   Remote hardware took too long to send fax scan line
  3641. 0463  4     63   Can't get through to remote unit
  3642. 0464  4     64   User canceled event
  3643.  
  3644.       5          Class: Application specific errors (V1.2)
  3645.  
  3646.                  Applications can use the class 5 error codes to record
  3647.                   information specific to an application in a Control File
  3648.                   in the Log Queue.  To do this, the application must set
  3649.                   the status of event field (offset 2 in the Control File)
  3650.                   to the negative value (2's complement) of the selected
  3651.                   error code.  For example, if the error code is 501H, the
  3652.                   status of event field is set to FAFFH.  When the
  3653.                   application submits the event to the Task Queue, using
  3654.                   the Submit a Task function (01H), the Resident Manager
  3655.                   bypasses the Task Queue and places the Control File
  3656.                   directly on the Log Queue.  The status of event field
  3657.                   then contains the error code.
  3658.  
  3659.       6          Class: CAS implementation specific errors (V1.2)
  3660.  
  3661.                  Manufacturers implementing CAS can use the class 6 error
  3662.                   codes to define additional error conditions unique to
  3663.                   their hardware.  Manufacturers are urged to use these
  3664.                   codes sparingly since they will not be consistent across
  3665.                   all CAS implementations.  Be sure to document class 6
  3666.                   error codes clearly in end-user documentation so that
  3667.                   users can interpret these codes correctly if CAS
  3668.                   applications display them.
  3669.  
  3670.  
  3671.  
  3672. Phonebook Format
  3673.  
  3674. This phonebook format is used by Intel's fax applications, but may be used
  3675. by other applications as well.  It is not actually a part of the DCA/Intel
  3676. CAS. It has an extendible format that will be very useful for many
  3677. applications.
  3678.  
  3679. A phonebook file has two major parts, a header and a data space for the
  3680. variable length records.
  3681.  
  3682. Each record has a unique record number from 0 to 999.  This number is
  3683. always used to refer to the record.  There is an array of record offsets in
  3684. the phonebook header.  The offset of record N from the beginning of the
  3685. file is the (4 x N)th byte in the array.  An offset of 0 means that the
  3686. corresponding record number is unused.
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693. DCA/Intel Communicating Applications Specification V1.2    - 51 -
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702. There are up to 10 variable ASCIIZ fields defined for any phonebook.  The
  3703. application that created the phonebook defines what they are called.  Each
  3704. variable field has a maximum length of 60 bytes.  The names of these fields
  3705. are stored in the header, and the values of these fields are stored with
  3706. each record.
  3707.  
  3708. The phonebook header looks like this:
  3709.  
  3710.       Offset   Length Description
  3711.  
  3712.      0    2    ID Field: must be 1AH BBH
  3713.      2    1    Major version number (from Get External Data Block, function
  3714.                  0EH)
  3715.      3    1    Minor version number
  3716.      4    2    Number of records in the file, 0 to 1000
  3717.      6    2    Number of unused bytes in the file, 0 to 32766
  3718.      8    2    Number of variable fields in this phonebook, 0 to 10
  3719.      10   150  Array of 10 variable field names, 15 bytes apiece, as ASCIIZ
  3720.                  strings
  3721.      160  4000 Array of record offsets, 4 bytes apiece
  3722.  
  3723. When a record is deleted, an offset of 0 is placed in the offset array and
  3724. the length of the record is added to the unused bytes count.
  3725.  
  3726. When a record is changed and its new length is larger than its old length,
  3727. the record is written at the end of the file, its offset in the offset
  3728. array is updated, and the number of freed bytes is added onto the unused
  3729. bytes count.
  3730.  
  3731. A record is variable in length.  There are two types of records: Person and
  3732. Group.
  3733.  
  3734. Person Records look like this:
  3735.  
  3736.       Offset   Length Description
  3737.  
  3738.      0    2    Record ID
  3739.      2    2    Number of groups the individual belongs to.
  3740.      4    2    Number of bytes the record occupies.
  3741.      6    1    Record type.  This is 1 for a Person Record.
  3742.      7    1    Type of hardware:
  3743.                0 -    Limited to fax
  3744.                1 -    Faxes and file transfer using fax modem
  3745.                2-127  Reserved
  3746.      8    32   ASCIIZ name. Must NOT be blank.
  3747.      40   47   ASCIIZ phone number.  At least one digit or M is required.
  3748.      87   var  ASCIIZ variable fields
  3749.      var  var  Array of 2-byte record IDs of groups that this person
  3750.                  belongs to.
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759. - 52 -    DCA/Intel Communicating Applications Specification V1.2
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768. Group records look like this:
  3769.  
  3770.       Offset   Length Description
  3771.  
  3772.      0    2    Record ID
  3773.      2    2    Number of members in the group
  3774.      4    2    Number of bytes the record occupies
  3775.      6    1    Record type.  This is 2 for a group record.
  3776.      7    1    File transfer capability:
  3777.                0 -    At least one member doesn't have file transfer
  3778.                  capability.
  3779.                1 -    All members have file transfer capability.
  3780.                2-127  Reserved
  3781.      8    32   ASCIIZ name.  Must not be blank.
  3782.      40   47   reserved - must be zeros.
  3783.      87   var  Array of 2-byte record IDs of the members in the group.
  3784.  
  3785. The first four fields of both record types are basically the same, so a 40-
  3786. byte record header can be read in from any record.
  3787.  
  3788.  
  3789.  
  3790.  
  3791. PCX Format
  3792.  
  3793.      Note:     This section is adapted from "Technical Documentation
  3794.           for PC Paintbrush & Frieze Graphics," (C) 1985 ZSoft
  3795.           Corporation.  To obtain this document, contact ZSoft
  3796.           Corporation at (404) 428-0008.
  3797.  
  3798. A PCX format file stores one page image in the form of a rectangular
  3799. bitmap.  PCX files have a 128-byte header followed by compressed image
  3800. data.  The PCX file format allows for multiple colors each with multiple
  3801. shades, but Fax Mode transfers require black and white, no shades.  The PCX
  3802. file format also allows for different resolutions, but a PCX file for Fax
  3803. Mode transfer is interpreted as having 200 pels per inch both horizontally
  3804. and vertically, no matter what the file header says.  The PCX file format
  3805. can handle very large page sizes, but for Fax Transfer mode, the bitmap
  3806. width must not exceed 1728 pels (about 8.5 inches wide).  Lengths are
  3807. unlimited, since fax paper comes in rolls, but 2200 pels is 11 inches, and
  3808. that is the recommended maximum length for easy handling by the receiver.
  3809. Pel locations can be given in X,Y coordinates where the origin is at the
  3810. top left corner of the page, X increases toward the right, and Y increases
  3811. toward the bottom.
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825. DCA/Intel Communicating Applications Specification V1.2    - 53 -
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834. Data Encoding
  3835.  
  3836. The compression technique used is a simple run length encoding, where
  3837. duplicate bytes (not bits) are compressed.  To compress a bitmap, it is
  3838. read one horizontal line at a time from top to bottom.  (No line wrapping
  3839. is performed.)  Each line is read from left to right.  The line is read
  3840. eight pels at a time (one byte).  Within a byte, the most significant bit
  3841. corresponds to the leftmost pel.  Runs of up to 63 bytes that are all the
  3842. same are stored as a run pair: a count byte followed by the byte that
  3843. repeats. The count byte of a run pair has the two most significant bits
  3844. set, and the 6 other bits contain the count.  If a byte of data does not
  3845. repeat, it is stored just as is, unless it happens to have its two most
  3846. significant bits set, in which case it is stored as run pair with a repeat
  3847. count of one.
  3848.  
  3849. This is the algorithm for decompressing the byte stream from a PCX file:
  3850.  
  3851.     FOR each byte, X, read from the file
  3852.     IF the top two bits of X are 1's
  3853.       BEGIN
  3854.         runlength = 6 lowest bits of X
  3855.         data      = net byte following X
  3856.       END
  3857.     ELSE
  3858.       BEGIN
  3859.         runlength = 1
  3860.         data = X
  3861.       END
  3862.  
  3863.  
  3864.  
  3865. File Header
  3866.  
  3867. Here is the structure at the start of a PCX file for fax images:
  3868.  
  3869.       Offset   Length Description
  3870.  
  3871.      0    1    PCX ID, Must be 0Ah.
  3872.      1    1    Version info.  A value of 2 is suggested. Anything higher is
  3873.                  allowed.
  3874.      2    1    Encoding method.  Must be 1.
  3875.      3    1    Bits per pixel.  Must be 1 for Fax Mode transfer.
  3876.      4    2    X position of the upper left corner, usually 0.
  3877.      6    2    Y position of the upper left corner, usually 0.
  3878.      8    2    X position of the bottom right corner, maximum 1727.  The
  3879.                  difference between this field and the upper left corner X
  3880.                  position plus 1 is the width of the bitmap.  This width
  3881.                  must be a multiple of 8.
  3882.      10   2    Y position of the bottom right corner, 2200 recommended
  3883.                  maximum.
  3884.      12   2    Display card horizontal resolution.  Ignored in Fax Transfer
  3885.                  mode.  A value of 640 is recommended for compatibility
  3886.                  with Intel's Graphics Editor.
  3887.  
  3888.  
  3889.  
  3890.  
  3891. - 54 -    DCA/Intel Communicating Applications Specification V1.2
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.       Offset   Length Description
  3901.  
  3902.      14   2    Display card vertical resolution.  Ignored in Fax Transfer
  3903.                  mode.  A value of 200 is recommended for compatibility
  3904.                  with Intel's Graphics Editor.
  3905.      16   48   Palette information.  Ignored in Fax Transfer mode.  Should
  3906.                  be 0's.
  3907.      64   1    Reserved.  Must be 0.
  3908.      65   1    Number of color planes.  Must be 1 for Fax Transfer Mode.
  3909.      66   2    Horizontal line width in bytes, equal to (XRight - XLeft +
  3910.                  1)/8.
  3911.      68   60   Reserved.  Should be 0.
  3912.  
  3913. The data for the first line starts immediately after the header.
  3914.  
  3915.  
  3916.  
  3917.  
  3918. DCX Format
  3919.  
  3920. The DCX file format allows multiple pages to be stored in one file.  A DCX
  3921. file has a header followed by pages.  Each page is exactly the same as a
  3922. PCX file, including the PCX header for each bitmap.
  3923.  
  3924. The DCX file header starts with a 4-byte integer ID used to verify the file
  3925. type.  This ID is always 987654321 (decimal).  After the ID is a list of
  3926. offsets into the file for the pages of the document.  The list is a simple
  3927. array of 4-byte integers, the last of which has a value of 0 to mark the
  3928. end of the array.  The first page is page 0, and the offset from the
  3929. beginning of the file of the nth page is stored at array location n.  The
  3930. array has a maximum of 1024 entries, including the 0 terminator.  This
  3931. means that up to 1023 pages can be stored in one DCX file, and that the
  3932. maximum size of the index is 4096 bytes.  The index can be smaller if fewer
  3933. than 1023 pages are in the file, though this is optional.
  3934.  
  3935.  
  3936.  
  3937.  
  3938. ASCII File Interpretation for Fax Transmission
  3939.  
  3940. ASCII text files are automatically converted to graphics by the hardware as
  3941. the files are sent.  The hardware interprets the text file in the same
  3942. manner as a nonintelligent printer with 8.5- by 11-inch paper.  The page
  3943. length can be set to other lengths using the Page Length fields of the FTR
  3944. (offsets 95 and 96).  The full IBM 8-bit character set, including
  3945. characters from 80h to FFh, is supported (see the "Characters, Keystrokes,
  3946. and Colors" section of the IBM Technical Reference). These special
  3947. characters are recognized:
  3948.  
  3949.   Value Description
  3950.  
  3951.   0D    Carriage return.  Moves "printhead" to column 0.  Line contents are
  3952.         NOT erased.  Overstrike is OK.
  3953.  
  3954.  
  3955.  
  3956.  
  3957. DCA/Intel Communicating Applications Specification V1.2    - 55 -
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.   0A    Line feed.  Current line is output.  Moves the "printhead" to the
  3967.         beginning of the next line.
  3968.  
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.  
  3975.  
  3976.  
  3977.  
  3978.  
  3979.  
  3980.  
  3981.  
  3982.  
  3983.  
  3984.  
  3985.  
  3986.  
  3987.  
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993.  
  3994.  
  3995.  
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021.  
  4022.  
  4023. - 56 -    DCA/Intel Communicating Applications Specification V1.2
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.   Value Description
  4033.  
  4034.   0C    Form feed.  Causes the current page to end, and a new page is
  4035.         started.  The "printhead" moves to the beginning of the top line of
  4036.         the new page.
  4037.  
  4038.   08    Backspace.  moves "printhead" back one space.  Previous character
  4039.         is NOT erased.  Overstrike is OK.
  4040.  
  4041.   09    Tab.  Moves "printhead" to next tabstop.  Tabstops are every eight
  4042.         columns.
  4043.  
  4044.   1A    End of file.  Interpretation of the file stops.  This is optional,
  4045.         interpretation will stop at the end of the file if this character
  4046.         is not present.
  4047.  
  4048. Two text sizes are available; An 80-column by 66-line text size, and a 132-
  4049. column by 88-line text size.  (See the section earlier in this
  4050. specification titled "Control Files" for information on text size
  4051. selection.)  Lines should not be wider than the page width.  After 11
  4052. inches have passed vertically from the top of the current page, a new page
  4053. is started.
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089. DCA/Intel Communicating Applications Specification V1.2    - 57 -
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.  
  4099. Glossary
  4100.  
  4101. Control File: A file created by either an application or the Resident
  4102. Manager that contains information needed to complete an event or
  4103. information about an already completed event.
  4104.  
  4105. Current Event:  The communications event that the hardware is currently
  4106. processing.  While an event is the current event, its Control File is not
  4107. in any of the Resident Manager's queues.
  4108.  
  4109. External Data Block (EDB): Data used by the Resident Manager that may be of
  4110. use to an application.
  4111.  
  4112. Event: An action to be performed by the Resident Manager.  This action can
  4113. be a Send (fax or file), a Polled Send, a Polled Receive, a Receive (fax or
  4114. file), a Group Send (V1.2), or a Group Polled Receive (V1.2).
  4115.  
  4116. Event handle: A unique non-zero 15-bit value that the Resident Manager
  4117. assigns to an event to keep track of it.
  4118.  
  4119. Group (V1.2):  A selection of remote devices that you are going to send the
  4120. same file (or set of files) to or that you are going to receive information
  4121. from.  Two types of events use groups:  Group Send and Group Polled
  4122. Receive.
  4123.  
  4124. Group File (V1.2):  A file that lists the individual destinations for a
  4125. group event.
  4126.  
  4127. Group Polled Receive (V1.2):  An event in which the local computer calls a
  4128. group of remote devices to receive information.
  4129.  
  4130. Group Send (V1.2):  An event in which one or more files are sent to a group
  4131. of remote devices.
  4132.  
  4133. Log Queue:  A queue of Control Files and group files for events that have
  4134. been completed (or aborted).
  4135.  
  4136. Non-Standard Facilities (NSF): Any format different from the Facsimile
  4137. transfer format as defined in the CCITT specification.  Used to transfer
  4138. files directly without first translating into a bit image.
  4139.  
  4140. Parent Control File (V1.2):  The Control File for a Group Send or Group
  4141. Polled Receive event.
  4142.  
  4143. Polled Receive: An event that allows a machine to call other machines to
  4144. receive a transmission.
  4145.  
  4146. Polled Send: An event that allows a machine to be called by another machine
  4147. before sending a transmission.  Similar to a send except that the receiving
  4148. machine initiates the transaction.
  4149.  
  4150. Queue: A data structure internal to the Resident Manager that manages
  4151. Control Files.  Three types of Queues exist: Task, Receive, and Log.
  4152.  
  4153.  
  4154.  
  4155. - 58 -    DCA/Intel Communicating Applications Specification V1.2
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164. Receive:  An event (Fax or file transfer) in which a local computer
  4165. receives data from a remote device.
  4166.  
  4167. Receive Queue:  A queue of controls files for events that the local
  4168. computer has received.
  4169.  
  4170. Resident Manager: A terminate-and-stay-resident program that manages events
  4171. in the "background."  It provides the functional interface to applications.
  4172.  
  4173. Send:  An event (Fax or file Transfer) in which the local computer sends
  4174. data to a remote device.
  4175.  
  4176. Task Queue:  A queue of Control Files for send, polled send, polled
  4177. receive, group send, or group polled receive events that are waiting to be
  4178. executed.
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208.  
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221. DCA/Intel Communicating Applications Specification V1.2    - 59 -
  4222.