home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-09-27 | 98.5 KB | 4,222 lines |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification
-
-
-
- Version 1.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright π 1988, 1989, 1990. All rights reserved.
-
- Digital Communications Associates, Inc.
- 1000 Alderman Drive
- Alpharetta, GA 30201-4199
-
- Intel Corporation
- 5200 N.E. Elam Young Pkwy.
- Hillsboro, OR 97124-6497
-
- Intel Part Number: 301812-004
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This specification was jointly developed by Digital Communications
- Associates, Incorporated and Intel Corporation. Although it has been
- released into the public domain and is not confidential or proprietary, the
- specification is still the copyright and property of Digital Communications
- Associates, Incorporated and Intel Corporation.
-
-
-
-
- Disclaimer of Warranty
-
- DIGITAL COMMUNICATIONS ASSOCIATES, INCORPORATED (DCA) AND INTEL CORPORATION
- EXCLUDE ANY AND ALL IMPLIED WARRANTIES, INCLUDING WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. NEITHER DCA NOR
- INTEL MAKE ANY WARRANTY OF REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH
- RESPECT TO THIS SPECIFICATION, ITS QUALITY, PERFORMANCE, MERCHANTABILITY,
- OR FITNESS FOR A PARTICULAR PURPOSE. NEITHER DCA NOR INTEL SHALL HAVE ANY
- LIABILITY FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
- OR RESULTING FROM THE USE OR MODIFICATION OF THIS SPECIFICATION.
-
-
-
- This specification uses the following trademarks:
-
- SatisFAXtion is a trademark and Intel is a registered trademark of
- Intel Corporation.
-
- DCA and Digital Communications Associates are registered trademarks of
- Digital Communications Associates, Incorporated.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Table of Contents
-
- Recent News About CAS .................................... 1
- Introduction ............................................. 5
- Additional Copies of CAS ................................. 5
- Programmer's Overview .................................... 6
- Events and Control Files ............................ 7
- Queues .............................................. 7
- Using the Resident Manager .......................... 8
- Group Events (V1.2) ...................................... 8
- Control Files ............................................ 9
- Conventions ......................................... 9
- Control File Format ................................. 11
- Control File Fields With Special Meanings for Group Events (V1.2)
- 15
- File Transfer Record (FTR) .......................... 15
- Group File Format (V1.2) ............................ 17
- Sequence of Events for Transmitting and Receiving Files .. 18
- Transmitting a Single File .......................... 18
- Transmitting Multiple Files as a Single Event ....... 18
- Receiving Files ..................................... 18
- Transmitting to a Group (Group Send) (V1.2) ......... 19
- Receiving from a Group (Group Polled Receive) (V1.2) 19
- Function Table ........................................... 21
- Get Installed State (00H) ................................ 22
- Submit a Task (01H) ...................................... 23
- Abort the Current Event (02H) ............................ 24
- Find First Entry in Queue (05H) .......................... 26
- Find Next Entry in Queue (06H) ........................... 28
- Open a File (07H) ........................................ 29
- Delete a File (08H) ...................................... 31
- Delete All Files (in a queue, 09H) ....................... 32
- Get Event Date (0AH) ..................................... 33
- Set Task Date (0BH) ...................................... 34
- Get Event Time (0CH) ..................................... 35
- Set Task Time (0DH) ...................................... 36
- Get External Data Block (0EH) ............................ 37
- Get/Set Autoreceive State (0FH) .......................... 38
- Get Current Event Status (10H) ........................... 39
- Get Queue Status (11H) ................................... 40
- Get Hardware Status (12H) ................................ 41
- Run Diagnostics (13H) .................................... 42
- Move Received File (14H) ................................. 43
- Submit a Single File to Send (15H) ....................... 44
- Unload Resident Manager (16H) ............................ 46
- Set Cover Page Status (17H) .............................. 47
- Error Codes .............................................. 49
- Phonebook Format ......................................... 51
- PCX Format ............................................... 53
- Data Encoding ....................................... 54
- File Header ......................................... 54
- DCX Format ............................................... 55
- ASCII File Interpretation for Fax Transmission ........... 55
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 iii
-
-
-
-
-
-
-
-
- Glossary ................................................. 57
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- iv DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 v
-
-
-
-
-
-
-
-
-
-
-
- Recent News About CAS
-
- The following changes or enhancements have been made to the Communicating
- Applications Specification (CAS) in Version 1.2. These features should not
- be used by CAS applications designed to run on earlier CAS versions.
- (Refer to function OEH on page 37 for information on how to determine the
- CAS version number.)
-
- In this specification, version 1.2 changes and enhancements are designated
- with the label (V1.2).
-
-
-
- Page 8 Group Events
-
- CAS now supports group events in which the same activity is carried out
- between the local computer and several remote devices (fax machines or
- remote computers). Two types of group events are supported: Group Send
- and Group Polled Receive.
-
-
-
- Page 10 Phone Numbers
-
- When specifying a phone number, you can now include A, B, C, and D, which
- specifies the keys on the additional column of keys on some of the newer
- telephones. Also, W is now supported, which causes the hardware to wait
- for a subsequent dial tone.
-
-
-
- Page 11 Control File
-
- The following fields of the Control File are either new or have enhanced
- features. Refer to the description of the Control File field beginning on
- Page 11 for details.
-
- Offset Length Description
-
- 0 1 Event type. Group Send and Group Polled Receive event types
- have been added.
-
- 2 2 Status of event. A negative error code value causes the
- event to be submitted directly to the Log Queue.
-
- 12 47 Phone number to call (or filename of Group File). For group
- events, the filename of the group file is entered in this
- field.
-
- 140 1 Delete files flag. New field.
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 1 -
-
-
-
-
-
-
-
-
- 141 2 Event handle for parent event. New field.
-
- 196 20 Reserved for internal use by CAS implementations. New
- field.
-
- 216 1 Cover page read flag. New field.
-
- 217 1 Suppress Page Headers. New field.
-
-
- Page 15 Required Fields in a Control File for a Group Event
-
- When a Control File is the parent Control File for a group event (Group
- Send or Group Polled Receive), certain fields of the Control File have
- special meaning (as described on page 15).
-
-
-
- Page 16 File Transfer Record (FTR)
-
- The File Type field (offset 0) of the File Transfer Record now supports two
- new file formats: HP PCL Level IV and Epson FX85 file formats. These file
- types are optional and are not required to be supported by all CAS
- implementations.
-
-
-
- Page 17 Group File Format
-
- When the event type in a Control File (offset 0) is 4 (Group send) or 5
- (Group Polled Receive), the application must also create a Group File that
- contains information about the members of the group. The file name of the
- Group File must then be placed in the "Phone number to call" field of its
- associated Control File to link the two files. The Group File contains
- multiple records, one for each member of the group.
-
- Refer to Page 17 for a detailed description of the Group File format.
-
-
-
- Page 19 Transmitting and Receiving Group Events
-
- The section beginning on page 15 titled "Transmitting to a Group (Group
- Send)" and "Receiving from a Group (Group Polled Receive) describes the
- steps a programmer must follow to transmit and receive group events with
- CAS.
-
-
-
- Page 23 Submit a Task Function
-
- The Submit a Task function (01H) now supports Group Send and Group Polled
- Receive events.
-
-
-
-
- - 2 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Page 29 Open a File Function
-
- The Open a File function (07H) now supports group files.
-
-
-
- Page 40 Get Queue Status Function
-
- The Get Queue Status function (11H) supports two new values for register DL
- (3 and 4). These values have been added to allow applications to
- efficiently determine when sends and receives have occurred.
-
-
-
- Page 47 Set Cover Page Status Function
-
- The function Set Cover Page Status (17H) is a new function. It is provided
- to allow an application to set and clear the new Cover Page Read flag
- (offset 216) of the Control File.
-
-
-
- Page 49 Error Codes
-
- Two new classes of error codes have been added: Class 5 for application
- specific errors and Class 6 for CAS implementation specific errors. Also,
- two new class 4 error codes have been defined: 040AH (No dial tone - check
- phone line and cord) and 040EH (Timeout while waiting for secondary dial
- tone).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 3 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 4 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
-
- Introduction
-
- The DCA/Intel Communicating Applications Specification (CAS) defines a
- standard, high-level programming interface for data communications
- applications. It offers software developers a simple and straightforward
- method for adding data communications functions to their products.
-
- This interface is independent of the hardware and software used to
- implement the underlying communications facilities. This shields software
- developers from the details typically associated with using communications
- hardware. It also permits developers to code their applications to the
- interface and to be assured that their applications will work with new
- generations of hardware products.
-
- CAS is designed to support a wide variety of communications hardware.
- Version 1.2 of this specification provides functions that are applicable to
- fax modem hardware. This type of hardware can be used for both facsimile
- and file transfer. Over time, CAS will evolve to add functions appropriate
- for other hardware.
-
- Version 1.2 of CAS requires DOS 3.0 or later.
-
-
-
-
- Additional Copies of CAS
-
- To obtain additional copies of this specification, contact Intel at one of
- the following numbers:
-
- (503) 629-7000 (inside the U.S. or Canada)
- (503) 629-7354 (outside the U.S. or Canada)
-
- The Intel Electronic Bulletin Board contains an ASCII version of this
- specification that you can download with a modem using the XMODEM transfer
- protocol. You can reach the Bulletin Board 24 hours a day by calling:
-
- (503) 645-6275
-
- Before you call, set your modem for 300, 1200, or 2400 bits per second; 8
- data bits; no parity; and 1 stop bit.
-
- You can also obtain an ASCII version of this specification if you have a
- touch-tone phone and an Intel fax board (Connection CoProcessor or
- SatisFAXtion). FaxBack is available 24 hours a day. You can reach FaxBack
- by calling:
-
- (800) 525-3019 (Inside the U.S. or Canada)
- (503) 629-7576 (Outside the U.S. or Canada)
-
- The document number is 0006.
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 5 -
-
-
-
-
-
-
-
-
-
- Programmer's Overview
-
- The DCA/Intel CAS provides a standard programming interface that allows
- software developers to access the communication services provided by
- hardware. The software that implements CAS (called the Resident Manager)
- controls the interface to the hardware and allows multiple
- applications/processes to use the hardware without conflict.
-
- To use the CAS interface, an application submits data-communication events
- to the Resident Manager. The Resident Manager then schedules the event and
- performs the necessary data transfer without further interaction with the
- application. An application that is using the CAS interface does not need
- to monitor, maintain, or service a communications event. The Resident
- Manager performs these events for the application, in the background.
-
- The Resident Manager provides a kernel of primitives (control files and
- function calls) that set up data communication events, schedule the events
- for execution, and check the results of the event. The set of CAS
- primitives has purposely been kept simple and generic, both to support as
- many types of applications as possible and to relieve certain classes of
- applications from being forced to use functions specific to other classes.
-
- Applications access CAS functions through interrupt 2FH (Multiplex
- interrupt on DOS versions 3.0 and above). Similar to DOS function calls
- accessed through interrupt 21H, CAS functions are accessed by loading
- registers with defined values, issuing an interrupt 2FH, and examining the
- values returned in the appropriate registers.
-
- The following convention is used for function calls:
-
- Register Usage
-
- AH Multiplex Number (0CBH)
- AL Function Code
- BX Event Handle
- CX File Number
- CX, DX Date, Time
- DS:DX Pointer to Data Area
- DL Queue
- 0 - Task Queue
- 1 - Receive Queue
- 2 - Log Queue
-
- All multiplex interrupts require a unique multiplex number. For all Intel
- CAS implementations, this number is 0CBH.
-
-
-
-
-
-
-
-
-
-
-
- - 6 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Events and Control Files
-
- The Resident Manager currently supports the following six data-
- communication events:
-
- Send The local computer transmits information to a remote device
- (fax machine or computer).
-
- Receive The local computer receives information from a remote
- device.
-
- Polled Send The local computer waits for a remote device to call and
- then automatically sends information to it.
-
- Polled Receive The local computer calls a remote device and receives
- information from it.
-
- Group Send (V1.2) The local computer transmits the same information to
- multiple remote devices.
-
- Group Polled The local computer calls multiple remote devices and
- receives information
- Receive (V1.2) from them.
-
- Each event has one or more Control Files associated with it. A Control
- File contains information about an event that the Resident Manager uses to
- schedule, execute, and report the status of the event. For example, the
- Control File for a send event contains the phone number, date, and time
- information for the event.
-
-
-
- Queues
-
- To manage the events presented to it, the Resident Manager places the
- Control Files associated with these events in queues. Three types of
- queues are supported: a Task Queue, a Receive Queue, and a Log Queue.
-
- Task Queue contains a list of pending events that the application
- running on the local computer has initiated. Pending events
- can be send, polled send, polled receive, group send, and
- group polled receive events.
-
- Receive Queue contains a list of events that the local computer has
- received from a remote device.
-
- Log Queue contains a record of all the events that have been
- completed, aborted, or terminated with an error.
-
- These event queues allow the Resident Manager to schedule and monitor
- events. They also allow an application to check on the status of events.
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 7 -
-
-
-
-
-
-
-
-
- Using the Resident Manager
-
- To initiate an event, the application must first create a Control File for
- the event. This file contains information such as the name of the file (or
- files) to send, the phone number of the destination, and the date and time
- for transmission. The application then submits the Control File for the
- event to the Resident Manager and receives back a unique event handle. The
- application uses the event handle to keep track of that particular event.
-
- Note: Event handles are never 0.
-
- While an event is pending, the Resident Manager keeps the Control File for
- the event in the Task Queue. When it is time to process the event, the
- Resident Manager takes the event's Control File off the Task Queue and
- sends the necessary information about the event to the communications
- hardware. While the event is being processed (that is, while it is the
- current event), its Control File is not on any queue; however, the
- application can access information about the current event by using the CAS
- Get Current Event Status function.
-
- Once the event is completed, successfully or not, the Resident Manager
- updates the status information in the event's Control File and moves the
- file to the Log Queue. The application can then use the CAS functions to
- examine the Control Files in the log queue and determine the status of
- completed events.
-
- Note: The event handle for an event remains the same even
- though the Control File for the event has been moved from
- the task queue to the log queue.
-
- For receive events, the Resident Manager receives data from the remote
- device and stores it in a disk file. Once the receive event is completed,
- the Resident Manager creates a Control File for the event and places copies
- of it in both the Receive Queue and the Log Queue. The application can
- then use CAS functions to examine the Control Files in the Receive and Log
- Queues and to open files of received data.
-
- The Resident Manager saves the Control Files in the Receive and Log Queues
- until the application explicitly deletes them. The data files that are
- received from a remote device are also saved until the application
- explicitly saves them or deletes. Data files that are sent to a remote
- device can be saved after they are sent or automatically deleted, according
- to how the application sets up the Control File.
-
-
-
-
- Group Events (V1.2)
-
- Group events are events in which the same activity is carried out between
- the local computer and several remote devices. For example, with a group
- send event, the local computer can send the same file (or files) to a group
- of several remote devices. Or, with a group polled receive, the local
- computer polls a group of remote devices to receive information from them.
-
-
-
- - 8 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- For group events, the application must set up two files: a parent Control
- File that defines the event to be carried out and a Group File that defines
- the group of individuals that the event is going to be directed to.
-
- When the parent Control File for a group event is submitted to the Task
- Queue, the Resident Manager assigns an event handle to the group (or
- parent) event. It also examines the Group File and assigns an event handle
- to each group member. This latter event handle is used to identify the
- instance of the group event (called a sub-event) that is processed for that
- group member.
-
- Each time a sub-event is completed, the Resident Manager creates a Control
- File in the Log Queue for that sub-event.
-
- When all the sub-events associated with a parent event have been processed,
- the Resident Manager moves the Control File for the parent event to the Log
- Queue. It also moves the Group File to the Log Queue. This file is the
- same as the original Group File, except that the status fields are filled
- in for each individual and the event handle fields are filled in with the
- event handle corresponding to each sub-event.
-
- If a group event is cancelled, the Resident Manager ceases processing all
- the sub-events associated with that event.
-
-
-
-
- Control Files
-
- A Control File contains the specific control information (who to call, when
- to call, etc.) for a given send or receive event. Some fields in a Control
- File are meaningful only in certain instances. For example, the "Time
- length of phone connection" fields are not meaningful in a Control File for
- a pending Send event and will contain zeros.
-
-
-
- Conventions
-
- In the description of the Control File that follows, several terms are used
- that require further explanation. These include ASCIIZ string, DOS file
- time format, and phone number.
-
-
- ASCIIZ String
-
- An ASCIIZ string is simply a string of ASCII characters followed by a zero
- byte to indicate the end of the string.
-
-
- DOS File Date and Time Format
-
- DOS file date and time format is a convention that DOS uses for storing the
- date and time in two-byte fields. The format of the date is:
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 9 -
-
-
-
-
-
-
-
-
- Bits Description
-
- 0-4 A value from 1 to 31, indicating the day of the month (where
- 1 is the first day).
- 5-8 A value from 1 to 12, indicating the month of the year
- (where 1 is January, 2 is February, etc.).
- 9-15 A value from 0 to 119 (which corresponds to 1980 to 2099)
- indicating the year.
-
- The format of the time is:
-
- Bits Description
-
- 0-4 The number of two-second increments.
- 5-10 A value from 0 to 59, indicating the minutes.
- 11-15 A value from 0 to 23, indicating the hours.
-
-
- Phone Numbers
-
- When specifying a phone number, you can include not only the digits 0
- through 9 and the characters # and *, but also the following special
- characters:
-
- Character Description
-
- A,B,C,D Specifies keys in the additional column of keys (that is,
- the 1633 Hz high-group frequency) on some telephones.
- (V1.2)
- , Causes the hardware to pause when dialing.
- ! Signals a hook flash, for use with special PBX functions.
- P Specifies pulse dialing for rotary phones.
- T Specifies tone dialing for touch-tone phones.
- M Causes the hardware to use the current connection without
- dialing a new number (manual dialing). When used, this
- character must be the first character in the phone number.
- W Causes the hardware to wait for a subsequent dial tone.
- This is useful when waiting for a tone for an outside
- line. (V1.2)
-
- All other characters are reserved.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 10 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Control File Format
-
- Listed below is the general format of a Control File. The fields preceded
- by bullets (■■) are fields the application must fill in when creating a
- Control File. Other fields are filled in by the Resident Manager and must
- be set to 0 when creating the Control File. For a receive event, the
- Resident Manager fills in all the fields.
-
- The Offset column indicates the offset of the field (in bytes) from the
- start of the file. The Length column indicates the length of the field in
- bytes. The values listed in the Description field are values, not bit
- positions. Multi-byte fields containing numeric, date, or time values have
- the least-significant byte first.
-
- When using high-level languages to create a Control File, make sure the
- data structures are packed (aligned on byte boundaries).
-
- Offset Length Description
-
- ■■ 0 1 Event type:
- 0 - Send
- 1 - Receive
- 2 - Polled Send
- 3 - Polled Receive
- 4 - Group Send (V1.2)
- 5 - Group Polled Receive (V1.2)
- 6-127 - Reserved
- -1 (0FFH) - Serious hardware error not associated with an
- ordinary event.
-
- Note: When filling out this field, you must set it to 0, 2,
- 3, 4, or 5. The value 1 is used by the Resident Manager
- when creating a Control File for a receive event. The value
- -1 is not valid for Control Files and results in an error.
-
- ■■ 1 1 Transfer type:
- 0 - 200x200 dpi, fax mode.
- 1 - 100x200 dpi, fax mode.
- 2 - File transfer mode.
- 3-127 - Reserved.
-
- Note: You must set the Transfer type field to 0, 1, or 2 for
- send events (this field doesn't apply for polled receive or
- group polled receive events).
-
- For file transfers, the sending Resident Manager supplies
- information from the Control File as a header for the file
- transmission. The receiving Resident Manager can then use
- this header information to create a Control File for the
- receive event.
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 11 -
-
-
-
-
-
-
-
-
- Offset Length Description
-
- 2 2 Status of event:
- 0 - Successfully completed.
- 1 - Waiting to be processed.
- 2 - Number dialed or event in progress.
- 3 - Connection made -- sending.
- 4 - Connection made -- receiving.
- 5 - Event was aborted.
- 6-32,767 - Reserved.
- Negative value - Error.
-
- Note: The Resident Manager ordinarily sets the value in this
- field to indicate the status of the event. When the Control
- File is created, this field should normally be set to "0."
- (The following information is new for V1.2.) If the field
- is set to a negative value when the event is submitted (for
- example, if it is set to one of the class 5 error codes),
- the event will be added directly to the Log Queue and will
- not be processed. (Refer to the section later in this
- section titled "Error Codes.")
-
- ■■ 4 2 Time you want to send the information (used for send events
- only). For receive events, this is the time the receive
- event occurred. The format is in DOS file date and time
- format.
- ■■ 6 2 Date you want to send the information (used for send events
- only). For receive events, this is the date the receive
- event occurred. The format is in DOS file date and time
- format.
-
- Note: Setting both the time and date fields to zero schedules
- the file to be sent immediately. Therefore, to send a file
- at once, zero the four bytes (long word) at offset 4.
-
- ■■ 8 2 Number of files to transfer (maximum 32766).
- ■■ 10 2 Offset in this Control File of first File Transfer Record.
-
- Note: If you don't plan to include cover page text (described
- at offset 383), this field must specify offset 383.
- Otherwise, this field must specify the offset immediately
- after the cover page text.
-
- ■■ 12 47 Phone number to call (or filename of Group File (V1.2)), as
- an ASCIIZ string. For non-group events, place a phone
- number in this field. (The following information is new
- for V1.2.) For group events, place the filename of the
- Group File (without specifying the drive or path) in this
- field. The Group File must be in the same directory as
- the Control File for the parent event when the event is
- submitted.
-
-
-
-
-
-
- - 12 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Offset Length Description
-
- 59 64 Application-specific tag field, as an ASCIIZ string.
-
- Note: This field is used by applications to identify Control
- Files that are "owned" by that application. For example,
- when an application creates Control Files, it can fill this
- field with a specific ASCII string. Later, when it checks
- Control Files, it can check for the same string to ensure
- that it handles only the Control Files that apply to it. If
- a file is received as a file transfer this field will have
- meaning in the Control File for the receive event. If a
- file is received as a fax, this field will be filled with
- zeros.
-
- 123 1 Reserved. Set to zero.
- 124 1 Time length of phone connection: seconds (0 - 59). Has no
- meaning for parent Control Files.
- 125 1 Time length of phone connection: minutes (0-59). Has no
- meaning for parent Control Files.
- 126 1 Time length of phone connection: hours (0-23.) Has no
- meaning for parent Control Files.
- 127 4 Total number of pages in all files. Has no meaning for
- parent Control Files.
- 131 4 Number of pages transmitted so far. Has no meaning for
- parent Control Files.
- 135 2 Number of files transmitted so far. Has no meaning for
- parent Control Files.
- ■■ 137 1 Cover page flag:
- 0 - Don't send cover page.
- 1 - Send cover page.
- 2-127 - Reserved.
-
- Note: If you plan to send only a cover page, set this field
- to 1 and the number of files to transfer (offset 8) to 0.
- Setting both fields to 0 results in an error.
-
- 138 2 Number of transmission errors reported by the hardware for
- all transmissions controlled by this Control File. Has no
- meaning for parent Control Files.
- ■■ 140 1 Delete files flag (V1.2). Determines whether or not the
- files listed in the File Transfer Records (FTRs) are
- deleted after the event is completed. (The FTR use and
- format is describe later in this specification in the
- section titled "File Transfer Record (FTR).")
- 0 - Don't delete files after event
- 1 - Delete files if successful
- 2 - Always delete files after event
- 3-127 - Reserved.
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 13 -
-
-
-
-
-
-
-
-
- Offset Length Description
-
- Note: This field is valid in a Control File for event types 0
- (send), 2 (polled send), and 4 (group send).
-
- If the event type is a group send and the value of the
- delete files flag is 1 (delete if successful), the files
- will only be deleted if all sub-events have been
- successfully completed. If the event is a group send and
- the value of the flag is 2 (always delete), the files will
- be deleted after all sub-events have been attempted.
-
- If the delete files flag is set to 2 (always delete), the
- files will always be deleted whether the event is
- successful, cancelled by the user, or aborted during
- transmission due to line or board errors.
-
- 141 2 Event handle for parent event (V1.2). The Resident Manager
- assigns this handle. Initialize to zero. This handle is
- zero if there is no parent event.
- 143 53 Reserved. Set to zero.
- 196 20 Available for internal use by CAS implementations (V1.2).
- Set to zero. This field is available for CAS
- implementations to use for internal flags and other
- features.
- 216 1 Cover page read flag (V1.2). Initialize to zero. The
- application can use CAS function 17H to set this field to
- indicate whether or not the user has read the cover page.
- 0 - cover page not read
- 1 - cover page read
- 2-127 - reserved
- ■■ 217 1 Suppress Page Headers (V1.2). This field only has meaning
- for faxes. Setting this field to 1 causes the line of fax
- addressing information at the top of each fax page to be
- suppressed.
- 0 - Page Headers
- 1 - No Page Headers
- 2-127 - reserved
- 218 21 Remote CSID (the CCITT identification of the fax device), as
- an ASCIIZ string (set by the Resident Manager). Set to
- zero.
- ■■ 239 32 Destination Name, as an ASCIIZ string (To: field).
- ■■ 271 32 Sender Name, as an ASCIIZ string (From: field).
- ■■ 303 80 Path and name of PCX logo file (maximum size 1728 x 800
- pels), as an ASCIIZ string. A fully qualified pathname
- for the file (including the drive) must be entered.
- ■■ 383 var Cover page text, as an ASCIIZ string. The length is
- variable, as indicated by var, but a maximum of 36 lines
- of text is recommended (or else the received page might be
- longer than 11 inches). Lines can be separated by new
- line characters (0AH) or CR-LF pairs (0DH, 0AH). Lines
- longer than 80 characters are wrapped around.
-
-
-
-
-
- - 14 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Offset Length Description
-
- Note: The text field is not required to be present. If it is
- absent, the first File Transfer Record (FTR) must start at
- offset 383. In all cases, the field at offset 10 identifies
- the start of the first FTR.
-
- ■■ var var Table of 128-byte File Transfer Records (FTRs). The first
- FTR begins at the offset specified by the word at offset
- 10 of the Control File. The following section describes
- the format of each FTR.
-
-
- Control File Fields With Special Meanings for Group Events (V1.2)
-
- If the event type for a Control File is 4 (Group Send) or 5 (Group Polled
- Receive), the fields shown below for the parent event's Control File have
- the following functions:
-
- Offset Length Description
-
- 1 1 Transfer Type. Not used for group events. The transfer
- type for each member event is defined in the group file.
- 12 47 Filename of Group File. ASCIIZ string that must be a DOS
- filename. Do not give the path. This file must be in the
- same the directory as the parent Control File when the
- group event is submitted.
- 239 32 Destination Name, ASCIIZ string. For group events, this
- field can contain a group identifier (or it can be left
- blank).
-
-
- File Transfer Record (FTR)
-
- Listed below is the general format of a File Transfer Record. These
- records appear at the end of the Control File, one for each file that is
- transferred as part of the event. Fields preceded by bullets (■■) are
- fields the programmer must fill in when creating an FTR. Other fields are
- filled in by the Resident Manager software and should be set to 0 when
- creating the FTR. When creating an FTR for a file transfer, specify only
- the file name. When creating an FTR for a fax, you must also specify the
- file type, text size, and page length fields. In both cases, set the other
- fields to zero.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 15 -
-
-
-
-
-
-
-
-
- Each FTR has the following format:
-
- Offset Length Description
-
- ■■ 0 1 File type (has meaning only for faxes):
- 0 - ASCII
- 1 - PCX
- 2 - DCX
- 3-15 Reserved
- 16-31 - (V1.2) Reserved for printer file formats. At this
- time, code 16 is assigned to the HP PCL Level IV file
- format and code 17 is assigned to the Epson FX85 format.
- These codes are optional and may not be supported by all
- CAS implementations.
- 32-127 - Reserved
- ■■ 1 1 Text size to use if file type is ASCII (has meaning only for
- faxes):
- 0 - 80 column by 66 lines (11 inches)
- 1 - 132 column by 88 lines (11 inches)
- 2-127 - Reserved
- 2 1 Status of this file:
- 0 - Untouched
- 1 - Has been opened
- 2 - Has been moved
- 3 - Has been deleted
- 4 - Not yet received
- 5-127 - Reserved
- 3 4 Bytes of this file transmitted so far. Has no meaning for
- parent Control Files.
- 7 4 Size in bytes of this file.
- 11 2 Number of pages in this file transmitted so far. Has no
- meaning for parent Control Files.
- 13 2 Number of pages in this file.
- ■■ 15 80 Path and name of file to send, as an ASCIIZ string. A fully
- qualified pathname for the file (including the drive) must
- be entered.
- ■■ 95 1 If you set the Inches field (offset 96) to a value in the
- range 1 through 127, this field specifies the number of
- additional 1/8-inch increments in page length. If the
- Inches field is outside that range, this field has no
- meaning. This field has meaning only for faxes.
- ■■ 96 1 Page length in inches (has meaning only for faxes).
- 0 - Page length is 11 inches.
- 1-127 - Page length is the specified number of inches, plus
- the number of 1/8 inches specified in the 1/8 inches field
- (offset 95).
- (-1) - ASCII pages end with form feeds only.
- All other values are reserved.
- ■■ 97 31 Reserved. Set to zero.
-
-
-
-
-
-
-
-
- - 16 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Group File Format (V1.2)
-
- When the event type in a Control File (offset 0) is 4 (Group send) or 5
- (Group Polled Receive), the application must also create a Group File that
- contains information about the members of the group. The file name of the
- Group File must then be placed in the "Phone number to call" field of its
- associated Control File to link the two files. No pathname is given for
- the Group File. Instead, the Group File must reside in the same directory
- as its associated Control File.
-
- The Group File contains multiple records, one for each member of the group.
-
- Note: Entries in this file must be for individuals. There is
- no mechanism for nesting groups.
-
- A record in the Group File has the following format:
-
- Offset Length Description
-
- 0 1 Transfer type for individual sub-event. Values are
- 0 - 200x200 dpi, fax mode
- 1 - 100x200 dpi, fax mode
- 2 - File transfer mode
- 3-127 - Reserved
- 1 2 Individual status. The status of a sub-event. Set to zero.
- Values correspond to the Status of Event field in a
- Control File:
- 0 - Successfully completed
- 1 - Waiting to be processed
- 2 - Number dialed or event in progress
- 3 - Connection made -- sending
- 4 - Connection made -- receiving
- 5 - Event was cancelled
- 6-32767 - Reserved
- Negative numbers - Error.
- 3 47 Phone Number to Call. This is the phone number of the group
- member this record pertains to. An ASCIIZ string.
- 50 32 Destination Name. The group member's destination name as an
- ASCIIZ string.
- 82 2 Event Handle. This is the event handle of the sub-event
- associated with this group member. The Resident Manager
- assigns this value. Initialize to zero.
- 84 44 Reserved.
-
-
-
- Sequence of Events for Transmitting and Receiving Files
-
- This section provides an overview of the steps a programmer should follow
- to transmit and receive files using the DCA/Intel CAS function calls.
- Although these sections are general, they refer to specific function calls.
- Later sections of this specification provide detailed descriptions of the
- function calls.
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 17 -
-
-
-
-
-
-
-
-
- Transmitting a Single File
-
- 1. Invoke CAS function 00H (Get Installed State) to determine if the
- Resident Manager is installed. If it is, continue with the following
- steps.
-
- 2. Create the data file you wish to transmit.
-
- 3. Create the data structure required by function 15H (Submit a Single
- File to Send).
-
- 4. Invoke function 15H (Submit a Single File to Send).
-
- 5. Check for errors in sending.
-
-
-
- Transmitting Multiple Files as a Single Event
-
- 1. Invoke CAS function 00H (Get Installed State) to determine if the
- Resident Manager is installed. If it is, continue with the following
- steps.
-
- 2. Create the data files you wish to transmit.
-
- 3. Create a Control File that includes one File Transfer Record (FTR) for
- each file you wish to transmit.
-
- 4. Invoke function 01H (Submit a Task).
-
- 5. Check for errors.
-
-
-
- Receiving Files
-
- 1. Invoke CAS function 00H (Get Installed State) to determine if the
- Resident Manager is installed. If it is, continue with the following
- steps.
-
- 2. Invoke function 05H (Find First Entry in Queue) to determine if any
- receive events have occurred. If a receive event has occurred,
- continue with the following steps.
-
- 3. Invoke function 07H (Open a File) to open the Control File for the
- receive event..
-
- 4. For each File Transfer Record in the Control File, examine the "Status
- of this file" field to determine if the associated received file has
- been moved or deleted. For each received file that has not been moved
- or deleted, continue with step 5. If no such files remain, close the
- Control File and continue with step 8.
-
-
-
-
-
- - 18 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 5. Invoke function 14H (Move Received File) to move the received file to
- the appropriate directory or filename or invoke function 08H (Delete a
- File) to delete the received file.
-
- 6. Once you have moved, renamed, or deleted all the received files,
- invoke DOS function 3EH (Close File Handle) to close the Control File.
-
- 7. Invoke function 08H (Delete a File) to delete the Control File.
-
- 8. Invoke function 06H (Find Next Entry in Queue) to determine if
- additional receive events have occurred. If there are additional
- receive events, repeat steps 3 through 7.
-
-
-
- Transmitting to a Group (Group Send) (V1.2)
-
- 1. Invoke CAS function 00H (Get Installed State) to determine if the
- Resident Manager is installed. If it is, continue with the following
- steps.
-
- 2. Create the data file (or files) you wish to transmit.
-
- 3. Create a parent Control File that includes one File Transfer Record
- (FTR) for each file you wish to transmit. Include the filename of the
- group file for the event (created in step 4) in the phone number field
- (offset 12) of the Control File.
-
- 4. Create a Group File that includes one record for each member of the
- group you are transmitting data to.
-
- 5. Invoke function 01H (Submit a Task).
-
- 6. Check for errors in sending.
-
-
-
- Receiving from a Group (Group Polled Receive) (V1.2)
-
- 1. Invoke CAS function 00H (Get Installed State) to determine if the
- Resident Manager is installed. If it is, continue with the following
- steps.
-
- 2. Create a parent Control File for a group polled receive event.
- Include the filename of the group file for the event (created in step
- 3) in the phone number field (offset 12) of the Control File.
-
- 3. Create a Group File that includes one record for each member of the
- group you are receiving from.
-
- 4. Invoke function 01H (Submit a Task).
-
- 5. Perform the steps described above in the section titled "Receiving
- Files."
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 19 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 20 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
-
- Function Table
-
- Function Name Function Number
-
-
-
- Get Installed State....................................00H
- Submit a Task..........................................01H
- Abort the Current Event................................02H
- Reserved.........................................03H - 04H
- Find First Entry in Queue..............................05H
- Find Next Entry in Queue...............................06H
- Open a File............................................07H
- Delete a File..........................................08H
- Delete All Files (in a queue)..........................09H
- Get Event Date.........................................0AH
- Set Task Date..........................................0BH
- Get Event Time.........................................0CH
- Set Task Time..........................................0DH
- Get External Data Block................................0EH
- Get/Set Autoreceive State..............................0FH
- Get Current Event Status...............................10H
- Get Queue Status.......................................11H
- Get Hardware Status....................................12H
- Run Diagnostics........................................13H
- Move Received File.....................................14H
- Submit a Single File to Send...........................15H
- Unload Resident Manager................................16H
- Set Cover Page Status (V1.2)...........................17H
- Reserved.........................................18H - 80H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 21 -
-
-
-
-
-
-
-
-
- 00H
- Get Installed State
-
-
- Description:
-
- Get Installed State (00H) detects whether the Resident Manager is currently
- installed.
-
- Input:
-
- AH = Multiplex number
- AL = 00H
-
- Return:
-
- On return, AL contains the installed state as follows:
-
- AL = 00H Not installed
- AL = 01H Not installed, not OK to install
- AL = FFH Installed
-
- There is no error returned.
-
- See Also:
-
- Get External Data Block (0EH)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 22 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 01H
- Submit a Task
-
-
- Description:
-
- The Submit a Task function (01H) schedules a send, a polled send, a polled
- receive, a group send, or a group polled receive event. Before invoking
- this function, you must first create a Control File for the event (and a
- group file if the event is a group send or group polled receive event).
- The function adds this Control File to the Task Queue. The event handle
- returned by this function is a positive integer that must be used in all
- subsequent references to this event.
-
- Once the event is completed, the Resident Manager automatically moves the
- Control File for the event from the Task Queue to the Log Queue (that is,
- copies the Control File from the Task Queue to the Log Queue, renames the
- copy, and deletes the original Control File from the Task Queue). For
- Polled Receive events, a copy of the Control File is also placed in the
- Receive Queue. (The following information is new for V1.2.) For group
- events, the parent Control File and the Group File are moved to the Log
- Queue when the task is complete.
-
- Input:
-
- AH = Multiplex number
- AL = 01H
- DS:DX points to ASCIIZ path and name of Control File
-
- Return:
-
- AX = Positive event handle or negative error code
-
- Note: Files associated with a event must remain in existence
- until the event is complete or an error results.
-
- See Also:
-
- Submit a Single File to Send (015H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 23 -
-
-
-
-
-
-
-
-
- 02H
- Abort the Current Event
-
-
-
- Description:
-
- The Abort the Current Event function (02H) aborts the currently executing
- event. To prevent the execution of a pending event, use the Delete a File
- function (08H).
-
- Note: Terminating an event is not instantaneous. It might
- take up to 30 seconds.
-
- Input:
-
- AH = Multiplex number
- AL = 02H
-
- Return:
-
- AX = Event handle of aborted event or negative error code
-
- See Also:
-
- Delete a File (08H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 24 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 03H - 04H
- Reserved
-
-
-
- These functions are reserved.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 25 -
-
-
-
-
-
-
-
-
- 05H
- Find First Entry in Queue
-
-
-
- Description:
-
- The Find First Entry in Queue function (05H) searches the queue you specify
- in the DL register for an event whose status matches the one you specify in
- the CX register. Entries in queues are ordered by the date and time in
- which the corresponding events occurred (or are scheduled to occur).
- Depending on the value you place in the DH register, the function searches
- for the earliest or latest such event. The function returns a 15-bit event
- handle of the entry it finds.
-
- Once you use this function to obtain an event handle, you can access the
- file associated with that event by calling the Open a File function (07H).
- Use the Find Next Entry in Queue function (06H) to find subsequent entries
- in the queue.
-
- Input:
-
- AH = Multiplex number
- AL = 05H
- CX = Status of the event you are seeking. This value is compared with
- the field at offset 2 of the Control File.
- 0 - Event has successfully completed.
- 1 - Event is waiting to be processed.
- 2 - Number dialed or event in progress.
- 3 - Connection has been made -- sending.
- 4 - Connection has been made -- receiving.
- 5 - Event was aborted.
- -1 Chooses an event without regard to status. This value will
- probably be used most often.
- Other negative values
- Matches error codes in Control File.
- DH = Direction:
- 0 - Search forward chronologically (from the first occurring
- event to the last occurring event).
- 1 - Search backward chronologically (from the last occurring
- event to the first occurring event).
- DL = Queue to search:
- 0 - Find first Control File in Task Queue.
- 1 - Find first Control File in Receive Queue.
- 2 - Find first Control File in Log Queue.
-
- Return:
-
- AX = 0 if successful or a negative error code.
- BX = Event handle for this file.
-
-
-
-
-
-
-
- - 26 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 05H
- Find First Entry in Queue
-
-
- If the queue is empty, this function returns error code 204H (no more
- events) in the AX register. Note that the number in register AX is the
- negative (2's complement) of the error code (that is, FDFCH.)
-
-
- See Also:
-
- Find Next Entry in Queue (06H)
- Open a File (07H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 27 -
-
-
-
-
-
-
-
-
- 06H
- Find Next Entry in Queue
-
-
-
- Description:
-
- After a call to the Find First Entry in Queue function (05H), you can step
- chronologically through a queue using the Find Next Entry in Queue function
- (06H). Each subsequent call to Find Next Entry in Queue returns the event
- handle of the next event chronologically (as set by function 05H) in the
- specified Queue. For example, if you set the Find First Entry function to
- search forward chronologically, the Find Next Entry function searches
- forward for the next entry that matches the specifications set with Find
- First Entry. If you set Find First Entry to search backwards
- chronologically, Find Next Entry searches backwards.
-
- You must invoke the Find First Entry in Queue function (05H) prior to using
- the Find Next Entry in Queue function. Once you use this function to
- obtain an event handle, you can access the file associated with that event
- by calling the Open a File function (07H).
-
- Input:
-
- AH = Multiplex number
- AL = 06H
- DL = Queue to search:
- 0 - Find next Control File in Task Queue
- 1 - Find next Control File in Receive Queue
- 2 - Find next Control File in Log Queue
-
- Return:
-
- AX = 0 if successful or a negative error code
- BX = Event handle for this file
-
- See Also:
-
- Find First Entry in Queue (05H)
- Open a File (07H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 28 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 07H
- Open a File
-
-
-
- Description:
-
- After you obtain an event handle (by either scanning a Queue using the Find
- First Entry in the Queue (05H) and Find Next Entry in the Queue (06H)
- functions or by creating a event using the Submit a Task (01H) function),
- you can use the Open a File function (07H) to access the DOS file
- corresponding to the event. For events in the Task and Log Queues, this
- function opens the Control File for the event. For events in the Receive
- Queue, this function opens either the Control File or one of the received
- data files.
-
- This function opens the desired file in read-only mode and returns an
- ordinary DOS file handle. The application should use the normal DOS
- function (3EH) to close that handle when it is finished with it.
-
- Input:
-
- AH = Multiplex number
- AL = 07H
- BX = Event handle
- CX = Receive file number. This file number specifies which file to
- open among those associated with a receive event. This number
- applies only to events in the Receive Queue and is ignored for
- events in the Task and Log Queues. The number is interpreted as
- follows:
- 0 - The Control File. The format of this file is described
- earlier in this document.
- 1 - First received file. Corresponds to the first file in the
- list of received filenames (file transfer record 0).
- 2 - Second received file.
- 3 - Third received file.
- n - nth received file.
-
- DL = Queue:
- 0 - Open Control File in Task Queue.
- 1 - Open Control File in Receive Queue or the received data
- file specified in the CX register.
- 2 - Open Control File in Log Queue.
- 3 - Open group file in Task Queue (V1.2)
- 4 - Open group file in Log Queue (V1.2)
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 29 -
-
-
-
-
-
-
-
-
- 07H
- Open a File
-
-
- Return:
-
- AX = 0 if successful or a negative error code.
- BX = DOS file handle for the requested file.
-
- See Also:
-
- Submit a Task (01H)
- Find First Entry in Queue (05H)
- Find Next Entry in Queue (06H)
- Move Received File (14H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 30 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 08H
- Delete a File
-
-
-
- Description:
-
- The Delete a File function (08H) deletes one or more files in a specific
- Queue.
-
- Note: The delete files flag (offset 140) in the Control File
- for an event can cause the Resident Manager to automatically
- delete all the files associated with the event after the
- event has been successfully completed (flag set to 1) or
- after the event has been attempted (flag set to 2).
-
- Input:
-
- AH = Multiplex number
- AL = 08H
- BX = Event handle
- CX = Receive file number. This number specifies which file to delete
- among those associated with a receive event. This number
- applies only to events in the Receive Queue and is ignored for
- events in the Task and Log Queues. The number is interpreted
- as follows:
- 0 - Delete all files associated with the specified Control File
- (including the Control File).
- 1 - Delete the first received file associated with the event
- handle.
- 2 - Delete the second received file associated with the event
- handle.
- n - Delete the nth received file associated with the event
- handle.
-
- DL = Queue:
- 0 - Delete Control File in Task Queue and corresponding Group
- File, if it exists.
- 1 - Delete a file or files associated with an event in the
- Receive Queue.
- 2 - Delete Control File in Log Queue and corresponding Group
- Log File if it exists.
- Return:
-
- AX = 0 if successful or a negative error code.
-
- See Also:
-
- Abort the Current Event (02H)
- Delete All Files (09H)
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 31 -
-
-
-
-
-
-
-
-
- 09H
- Delete All Files (in a queue)
-
-
-
- Description:
-
- The Delete All Files function (09H) deletes all Control Files in the
- specified queue
-
- Input:
-
- AH = Multiplex number
- AL = 09H
- DL = Queue:
- 0 - Delete all Control Files in the Task Queue, including all
- Group Files.
- 1 - Delete all Control Files in the Receive Queue and all
- received files.
- 2 - Delete all Control Files in the Log Queue, including all
- Group Files.
-
- Return:
-
- AX = 0 if successful or a negative error code
-
- See Also:
-
- Delete A File (08H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 32 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 0AH
- Get Event Date
-
-
-
- Description:
-
- The Get Event Date function (0AH) gets the date associated with a given
- event handle.
-
-
- Input:
-
- AH = Multiplex number
- AL = 0AH
- BX = Event handle of the event whose date you want to obtain
- DL = Queue:
- 0 - Task Queue
- 1 - Receive Queue
- 2 - Log Queue
-
- Return:
-
- AX = 0 if successful or a negative error code
- CX = Year (1980 - 2099)
- DH = Month (1 - 12)
- DL = Day (1 - 31)
-
- See Also:
-
- Set Task Date (0BH)
- Get Event Time (0CH)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 33 -
-
-
-
-
-
-
-
-
- 0BH
- Set Task Date
-
-
-
- Description:
-
- The Set Task Date function (0BH) sets the execute date of a Control File
- specified by the event handle.
-
- This function is valid only for events that the local computer initiates.
-
- Note: Setting the date for an event to a value that is
- earlier than the current date (or setting registers CX, DH,
- and DL to zero) causes the transmission to occur
- immediately.
-
- Input:
-
- AH = Multiplex number
- AL = 0BH
- BX = Event handle
- CX = Year (1980 - 2099)
- DH = Month (1 - 12)
- DL = Day (1 - 31)
-
- Return:
-
- AX = 0 if successful or a negative error code
-
- See Also:
-
- Get Event Date (0AH)
- Set Task Time (0DH)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 34 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 0CH
- Get Event Time
-
-
-
- Description:
-
- The Get Event Time function (0CH) gets the time associated with a given
- event handle.
-
-
- Input:
-
- AH = Multiplex number
- AL = 0CH
- BX = Event handle
- DL = Queue:
- 0 - Task Queue
- 1 - Receive Queue
- 2 - Log Queue
-
- Return:
-
- AX = 0 if successful or a negative error code
- CH = Hour (0 - 23)
- CL = Minutes (0 - 59)
- DH = Seconds (0 - 59)
- DL = 0
-
- See Also:
-
- Get Event Date (0AH)
- Set Task Time (00H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 35 -
-
-
-
-
-
-
-
-
- 0DH
- Set Task Time
-
-
-
- Description:
-
- The Set Task Time function (0DH) sets the execute time of a Control File
- specified by the event handle.
-
- This function is valid only for events in the Task Queue, not for events in
- the Receive or Log Queues.
-
- Note: Setting the time for a event to a value that makes
- the date and time earlier than the current date and time
- causes the transmission to occur immediately. Setting the
- time to zero (setting registers CH, CL, and DH to zero)
- selects 12:00 AM.
- Input:
-
- AH = Multiplex number
- AL = 0DH
- BX = Event handle
- CH = Hour (0 - 23)
- CL = Minutes (0 - 59)
- DH = Seconds (0 - 59)
-
- The value of DL is unused.
-
- Return:
-
- AX = 0 if successful or a negative error code
-
- See Also:
-
- Set Task Date (0BH)
- Get Event Time (0CH)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 36 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 0EH
- Get External Data Block
-
-
-
- Description:
-
- The External Data Block contains additional information about the current
- Resident Manager installation (such as the name of the default logo file).
-
- Input:
-
- AH = Multiplex number
- AL = 0EH
- DS:DX points to a 256-byte EDB area
-
- Return:
-
- AX = 0 if successful or a negative error code
- EDB area is filled with the External Data Block
-
- The format of the External Data Block is as follows: (values in decimal):
-
- Offset Length Description
-
- 0 1 CAS major version number.
- 1 1 CAS minor version number.
- 2 68 ASCIIZ string specifying the pathname of the directory
- containing Resident Manager configuration files and other
- software that implements CAS. The path ends with a
- backslash. The user specifies this name when installing
- the software.
- 70 13 Name of default phonebook file, as an ASCIIZ string. This
- file is assumed to be in the Resident Manager and software
- directory.
- 83 13 Name of default logo file, as an ASCIIZ string. This file
- is assumed to be in the Resident Manager and software
- directory. The user specifies this name when installing
- the software.
- 96 32 Default sender name, as an ASCIIZ string. The user
- specifies this name when installing the software.
- 128 21 CSID (the CCITT identification of the fax device) as an
- ASCIIZ string.
- 149 107 Reserved.
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 37 -
-
-
-
-
-
-
-
-
- 0FH
- Get/Set Autoreceive State
-
-
-
- Description:
-
- The Get/Set Autoreceive State function (0FH) examines or alters the receive
- state of the hardware. If an event is in progress, the new autoreceive
- state will not take effect until the event is completed.
-
- Input:
-
- AH = Multiplex number
- AL = 0FH
- DL = Function code:
- 0 - get current autoreceive state
- 1 - set current autoreceive state to value in DH
- DH = Number of rings before answer or 0 to disable
-
- Return:
-
- AX = current autoreceive state or negative error code
- 0 - Autoreceive disabled
- positive number - Number of rings before the hardware answers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 38 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 10H
- Get Current Event Status
-
-
-
- Description:
-
- The Get Current Event Status function (10H) returns the status of the
- currently executing event.
-
- Input:
-
- AH = Multiplex number
- AL = 10H
- DS:DX points to a 512-byte status area
-
- Return:
-
- AX = 0 if successful or a negative error code
- BX = Event number of the current event (if the function completed
- without an error). If there is no current event, error code
- 202H is returned. Note that the number in register BX is the
- negative (2's complement) of the error code (that is, FDFEH.)
-
- This function fills the status area pointed to by DS:DX on entry with a
- truncated version of the Control File for the current event. This data
- structure is identical to the Control File structure with two exceptions:
-
- ■ Only one File Transfer Record (FTR) is included. The FTR included is
- the one controlling the current file transfer.
-
- ■ No cover page text field is included. Instead the current FTR begins
- at offset 383.
-
- Therefore, the end of the Control File has the following format:
-
- Offset Length Description
-
- 303 80 Path and name of PCX logo file (maximum size 1728 x 800
- pels)
- 383 128 The File Transfer Record corresponding to the current event
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 39 -
-
-
-
-
-
-
-
-
- 11H
- Get Queue Status
-
-
-
- Description:
-
- The Get Queue Status function (11H) returns the current status of a queue
- you specify.
-
- Input:
-
- AH = Multiplex number
- AL = 11H
- DL = Queue:
- 0 - Find status of Task Queue
- 1 - Find status of Receive Queue
- 2 - Find status of Log Queue
- 3 - Find status of Send Events
- 4 - Find status of Receive Events
-
- Return:
-
- If DL = 0, 1, or 2
-
- AX = Total number of changes made to this queue since the Resident
- Manager was started, or a negative error code. If the number
- of changes exceeds 7FFFH, the count begins again at 0.
- BX = Current number of Control Files in this queue.
- CX = Current number of received files. (This register is non-zero
- only if you request the status of the Receive Queue by
- specifying DL = 1.) The value in this register is incremented
- for each file received.
- If DL = 3 (V1.2)
-
- AX = Number of successful sends since the Resident Manager was
- started, including events cancelled by the user.
- BX = Number of unsuccessful sends since the Resident Manager was
- started, including warnings.
-
- If DL = 4 (V1.2)
-
- AX = Number of received file transfer events since the Resident
- Manager was started
- BX = Number of received fax events since the Resident Manager was
- started
-
-
-
-
-
-
-
-
-
-
-
- - 40 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 12H
- Get Hardware Status
-
-
-
- Description:
-
- The Get Hardware Status function (12H) returns the status of the
- communication hardware.
-
- Caution: The values and structure returned by this function are
- hardware-dependent and will vary according to type of
- hardware used to implement the CAS services. It is
- recommended that you use the Get Current Event (10H) and
- Get Queue Status (11H) functions, or examine the Control
- File, instead of using this function.
-
-
- Input:
-
- AH = Multiplex number
- AL = 12H
- DS:DX points to a 128-byte status area
-
- Return:
-
- AX = 0 if successful or a negative error code. If successful, the
- function fills the status area with hardware-dependent status
- information. Contact the manufacturer of your communications
- hardware for information on the content and format of the
- status information.
-
- See Also:
-
- Get Task Status (10H)
- Get Queue Status (11H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 41 -
-
-
-
-
-
-
-
-
- 13H
- Run Diagnostics
-
-
-
- Description:
-
- The Run Diagnostics function (13H) runs a set of diagnostics or reports on
- their progress.
-
- Input:
-
- AH = Multiplex number
- AL = 13H
- DL = Mode:
- 0 - Report progress of diagnostics
- 1 - Start running diagnostics
-
- Return:
-
- If request was to start running diagnostics (DL = 1), AX contains either a
- 0 (diagnostics successfully begun) or a negative error code.
-
- If request was to report the progress of diagnostics, AX contains a 40H
- (diagnostics in process) or some other non-negative number indicating that
- diagnostics passed. If AX contains a negative number, the diagnostics
- failed and the value indicates the reason for failure. The values are
- hardware-dependent. Contact the manufacturer of your communications
- hardware for information on the failure codes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 42 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 14H
- Move Received File
-
-
-
- Description:
-
- The Move Received File function (14H) moves a received file to a different
- directory and gives it a new name. The new directory can be on a different
- device.
-
- Note: The path to the new directory must exist. This
- function cannot create directories.
- Input:
-
- AH = Multiplex number
- AL = 14H
- BX = Event handle
- CX = Receive file number (must be nonzero to specify a received file)
- 1 - First received file
- 2 - Second received file
- 3 - Third received file
- n - nth received file
- DS:DX = Pointer to a new path and name of the file (in the form of an
- ASCIIZ string). This file must not exist already.
-
- Return:
-
- AX = 0 if successful or a negative error code.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 43 -
-
-
-
-
-
-
-
-
- 15H
- Submit a Single File to Send
-
-
-
- Description:
-
- The Submit a Single File to Send function (15H) provides a simple method of
- sending a single file, either as a fax or as a file transfer. The function
- creates and submits the necessary Control File and returns the
- corresponding event handle (or negative error code). Before invoking this
- function, you must create a data structure (described later) that contains
- the appropriate information.
-
- The file sent using this function must be in ASCII, PCX, or DCX format.
-
- Input:
-
- AH = Multiplex number
- AL = 15H
- DS:DX = Pointer to a variable-length data area, described later in
- this section
-
- Return:
-
- AX = positive event handle or a negative error code
-
-
- The format of the data area pointed to by DS:DX is as follows. The
- individual fields have the same meaning as in a Control File.
-
- Offset Length Description
-
- 0 1 Transfer type:
- 0 - 200x200 dpi, fax mode
- 1 - 100x200 dpi, fax mode
- 2 - File transfer mode
- 3-127 - Reserved.
- 1 1 Text size (if ASCII file, fax mode)
- 0 - 80-column
- 1 - 132-column
- 2-127 - Reserved.
- 2 2 Time to send, in DOS file date and time format
- 4 2 Date to send, in DOS file date and time format
-
- Note: Setting both the time and date fields to zero schedules
- the file to be sent immediately. Therefore, to send a file
- at once, zero the four bytes (long word) at offset 2.
-
- Offset Length Description
-
- 6 32 Destination Name, as an ASCIIZ string (To: field)
- 38 80 Path and name of the file to send, as an ASCIIZ string
-
-
-
-
- - 44 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 15H
- Submit a Single File to Send
-
-
- 118 47 Phone number to call, as an ASCIIZ string
- 165 64 Application-specific tag field, as an ASCIIZ string
- 229 1 Reserved; set to zero
- 230 1 Cover page flag:
- 0 - Don't send cover page
- 1 - Send cover page
- 2-127 - Reserved
- 231 23 Reserved; set to zero
- 254 var Cover text, as an ASCIIZ string. This text is sent if the
- cover page flag (offset 230) is set to 1.
-
- You must set all fields, except for the Application-Specific Tag field,
- before calling this function. However, you can set the Destination Name
- and Cover Text fields to the empty string, if desired. The file is not
- deleted when the event is completed.
-
- See Also:
-
- Submit A Task (01H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 45 -
-
-
-
-
-
-
-
-
- 16H
- Unload Resident Manager
-
-
-
- Description:
-
- The Unload Resident Manager function (16H) unloads the Resident Manager
- from memory. Unloading frees the memory the Resident Manager used, making
- it available for other applications. However, once the Resident Manager is
- unloaded, the manager functions are no longer available. For example,
- unloading the manager from memory suspends all pending events. If there is
- a event which is scheduled to be sent in five minutes, it will not be sent
- until the manager is reloaded. Once the manager is reloaded, however, it
- will immediately send events that should have been sent while it was
- unloaded. In addition, when the manager is not installed, you cannot
- receive anything.
-
- Unloading the Resident Manager from memory will fail if a terminate and
- stay resident (TSR) program has been loaded after the manager, if there is
- a polled send, or if the manager or corresponding communications board is
- busy doing a event.
-
- Input:
-
- AH = Multiplex number
- AL = 16H
- BX = 1234H
- CX = 5678H
- DX = 9ABCH
-
- Return:
-
- AX = 0 if successful or a negative error code
-
- This function returns error 209H if the communications board is busy. It
- returns error 20BH if it can't remove the Resident Manager.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 46 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- 17H
- Set Cover Page Status (V1.2)
-
-
-
- Description:
-
- The Set Cover Page Status function (17H) sets the Cover Page Read flag
- (offset 216) in the Control File for the specified event. The Resident
- Manager checks the Log Queue and the Receive Queue for the specified
- Control File. This function and the Cover Page Read flag provide
- applications with a means of recording whether or not the user has read the
- cover page.
-
- Input:
-
- AH = Multiplex number
- AL = 17H
- BX = Event handle
- CL = Cover page status
- 0 - Not read
- 1 - Read
-
- Return:
-
- AX = 0 if successful or a negative error code
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 47 -
-
-
-
-
-
-
-
-
- 18H - 80H
- Reserved
-
-
- These functions are reserved.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 48 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
-
-
-
- Error Codes
-
- An error code consists of two parts, an error class and an error subcode.
- The error class is returned in AH and the error subcode is returned in AL.
- The error class indicates the general type of operation in which the error
- occurred. Examples of general operations are: manipulation of the
- schedule, manipulation of a Control File, etc. The error subcode can be a
- DOS error code or an error code defined by the Resident Manager. Error
- subcodes indicate the specific kind of error that occurred.
-
- This method of handling error codes allows an application to examine either
- the full error code returned in AX, or the class/subcode of an error
- individually.
-
- Error codes are listed in the following table. All codes are in
- Hexadecimal. Before each listing of specific errors is a description of
- the error class code. The full error code (class + subcode) is listed in
- the Error column, and the class and subcode are listed separately in the
- next two columns. When these errors are returned to an application, they
- are returned as the negative of these codes. For example, a "No more
- events" error will be returned in AX as 0FDFCH which is the negative (2's
- complement) of 0204H.
-
- Table of Error Codes
-
- Error Class Subcode Description
-
- 0 Class: Fax warnings (not an error)
- 0000 0 0 No error
- 0002 0 2 Bad scanline count
- 0003 0 3 Page sent with errors, couldn't resend
- 0004 0 4 Receive data lost
- 0005 0 5 Invalid or missing logo file
- 0006 0 6 File name doesn't match nonstandard format (NSF) header
- 0007 0 7 File size doesn't match nonstandard format (NSF) header
-
- 1 Class: DOS warnings; data was sent. The error subcode is
- the error returned by DOS. Examples are:
- 0101 1 1 Invalid function number
- 0105 1 5 Access denied
- 0106 1 6 Invalid handle
- 01xx 1 ... (See the DOS Technical Reference)
-
- 2 Class: Fatal errors. The function failed or the data was
- not sent.
- 0200 2 0 Multiplex handler failed
- 0201 2 1 Unknown command (bad function number)
- 0202 2 2 Event not found (bad event handle)
- 0203 2 3 Attempted to Find Next before Find First
-
-
-
-
-
- - 49 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Error Class Subcode Description
-
- 0204 2 4 No more events
- 0207 2 7 Invalid Queue type (bad Queue number)
- 0208 2 8 Bad Control File
- 0209 2 9 Communication board is busy
- 020A 2 A Invalid command parameter
- 020B 2 B Can't uninstall the Resident Manager
- 020C 2 C File already exists
- 0280 2 80 Unknown task type (not a Send or Poll event)
- 0281 2 81 Bad phone number
- 0282 2 82 Bad PCX file header
- 0283 2 83 Unexpected EOF
- 0284 2 84 Unexpected disconnect
- 0285 2 85 Exceeded maximum dialing retries
- 0286 2 86 No files specified for Send event
- 0287 2 87 Communication board timeout
- 0288 2 88 Received more than 1023 (maximum) pages of data
- 0289 2 89 Manual connect posted too long ago
- 028A 2 8A Hardware command set error
- 028B 2 8B Bad nonstandard format (NSF) header file
-
- 3 Class: Fatal DOS errors, data not sent. The error subcode
- is the error returned by DOS. Examples are:
- 0302 3 2 File not found
- 0303 3 3 Path not found
- 03xx 3 ... (See the DOS Technical Reference Manual)
-
- 4 Class: Fax errors
- 0401 4 1 Remote unit not Group 3 compatible
- 0402 4 2 Remote unit didn't send its capabilities
- 0403 4 3 Remote unit requested disconnect
- 0404 4 4 Remote unit isn't capable of file transfers
- 0405 4 5 Exceeded retrain or fax resend limit
- 0406 4 6 Line noise or the local and remote unit don't agree on a
- bit rate
- 0407 4 7 Remote unit disconnected after receiving data
- 0408 4 8 No response from remote unit after sending data
- 0409 4 9 Capabilities of remote unit aren't compatible
- 040A 4 A No dial tone - check phone line and cord (V1.2)
- 040B 4 B Invalid response from remote unit after sending data
- 040D 4 D Phone line dead or remote unit disconnected
- 040E 4 E Timeout while waiting for secondary dial tone (V1.2)
- 0411 4 11 Invalid command from remote after receiving data
- 0415 4 15 Tried to receive from incompatible hardware
- 041F 4 1F Unexpected end of file while receiving
- 045C 4 5C Received data overflowed input buffer
-
-
-
-
-
-
-
-
-
-
- - 50 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Error Class Subcode Description
-
- 045D 4 5D Remote hardware unexpectedly stopped sending data
- 045E 4 5E Remote hardware didn't send any data
- 045F 4 5F Remote hardware took too long to send fax scan line
- 0463 4 63 Can't get through to remote unit
- 0464 4 64 User canceled event
-
- 5 Class: Application specific errors (V1.2)
-
- Applications can use the class 5 error codes to record
- information specific to an application in a Control File
- in the Log Queue. To do this, the application must set
- the status of event field (offset 2 in the Control File)
- to the negative value (2's complement) of the selected
- error code. For example, if the error code is 501H, the
- status of event field is set to FAFFH. When the
- application submits the event to the Task Queue, using
- the Submit a Task function (01H), the Resident Manager
- bypasses the Task Queue and places the Control File
- directly on the Log Queue. The status of event field
- then contains the error code.
-
- 6 Class: CAS implementation specific errors (V1.2)
-
- Manufacturers implementing CAS can use the class 6 error
- codes to define additional error conditions unique to
- their hardware. Manufacturers are urged to use these
- codes sparingly since they will not be consistent across
- all CAS implementations. Be sure to document class 6
- error codes clearly in end-user documentation so that
- users can interpret these codes correctly if CAS
- applications display them.
-
-
-
- Phonebook Format
-
- This phonebook format is used by Intel's fax applications, but may be used
- by other applications as well. It is not actually a part of the DCA/Intel
- CAS. It has an extendible format that will be very useful for many
- applications.
-
- A phonebook file has two major parts, a header and a data space for the
- variable length records.
-
- Each record has a unique record number from 0 to 999. This number is
- always used to refer to the record. There is an array of record offsets in
- the phonebook header. The offset of record N from the beginning of the
- file is the (4 x N)th byte in the array. An offset of 0 means that the
- corresponding record number is unused.
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 51 -
-
-
-
-
-
-
-
-
- There are up to 10 variable ASCIIZ fields defined for any phonebook. The
- application that created the phonebook defines what they are called. Each
- variable field has a maximum length of 60 bytes. The names of these fields
- are stored in the header, and the values of these fields are stored with
- each record.
-
- The phonebook header looks like this:
-
- Offset Length Description
-
- 0 2 ID Field: must be 1AH BBH
- 2 1 Major version number (from Get External Data Block, function
- 0EH)
- 3 1 Minor version number
- 4 2 Number of records in the file, 0 to 1000
- 6 2 Number of unused bytes in the file, 0 to 32766
- 8 2 Number of variable fields in this phonebook, 0 to 10
- 10 150 Array of 10 variable field names, 15 bytes apiece, as ASCIIZ
- strings
- 160 4000 Array of record offsets, 4 bytes apiece
-
- When a record is deleted, an offset of 0 is placed in the offset array and
- the length of the record is added to the unused bytes count.
-
- When a record is changed and its new length is larger than its old length,
- the record is written at the end of the file, its offset in the offset
- array is updated, and the number of freed bytes is added onto the unused
- bytes count.
-
- A record is variable in length. There are two types of records: Person and
- Group.
-
- Person Records look like this:
-
- Offset Length Description
-
- 0 2 Record ID
- 2 2 Number of groups the individual belongs to.
- 4 2 Number of bytes the record occupies.
- 6 1 Record type. This is 1 for a Person Record.
- 7 1 Type of hardware:
- 0 - Limited to fax
- 1 - Faxes and file transfer using fax modem
- 2-127 Reserved
- 8 32 ASCIIZ name. Must NOT be blank.
- 40 47 ASCIIZ phone number. At least one digit or M is required.
- 87 var ASCIIZ variable fields
- var var Array of 2-byte record IDs of groups that this person
- belongs to.
-
-
-
-
-
-
-
-
- - 52 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Group records look like this:
-
- Offset Length Description
-
- 0 2 Record ID
- 2 2 Number of members in the group
- 4 2 Number of bytes the record occupies
- 6 1 Record type. This is 2 for a group record.
- 7 1 File transfer capability:
- 0 - At least one member doesn't have file transfer
- capability.
- 1 - All members have file transfer capability.
- 2-127 Reserved
- 8 32 ASCIIZ name. Must not be blank.
- 40 47 reserved - must be zeros.
- 87 var Array of 2-byte record IDs of the members in the group.
-
- The first four fields of both record types are basically the same, so a 40-
- byte record header can be read in from any record.
-
-
-
-
- PCX Format
-
- Note: This section is adapted from "Technical Documentation
- for PC Paintbrush & Frieze Graphics," (C) 1985 ZSoft
- Corporation. To obtain this document, contact ZSoft
- Corporation at (404) 428-0008.
-
- A PCX format file stores one page image in the form of a rectangular
- bitmap. PCX files have a 128-byte header followed by compressed image
- data. The PCX file format allows for multiple colors each with multiple
- shades, but Fax Mode transfers require black and white, no shades. The PCX
- file format also allows for different resolutions, but a PCX file for Fax
- Mode transfer is interpreted as having 200 pels per inch both horizontally
- and vertically, no matter what the file header says. The PCX file format
- can handle very large page sizes, but for Fax Transfer mode, the bitmap
- width must not exceed 1728 pels (about 8.5 inches wide). Lengths are
- unlimited, since fax paper comes in rolls, but 2200 pels is 11 inches, and
- that is the recommended maximum length for easy handling by the receiver.
- Pel locations can be given in X,Y coordinates where the origin is at the
- top left corner of the page, X increases toward the right, and Y increases
- toward the bottom.
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 53 -
-
-
-
-
-
-
-
-
- Data Encoding
-
- The compression technique used is a simple run length encoding, where
- duplicate bytes (not bits) are compressed. To compress a bitmap, it is
- read one horizontal line at a time from top to bottom. (No line wrapping
- is performed.) Each line is read from left to right. The line is read
- eight pels at a time (one byte). Within a byte, the most significant bit
- corresponds to the leftmost pel. Runs of up to 63 bytes that are all the
- same are stored as a run pair: a count byte followed by the byte that
- repeats. The count byte of a run pair has the two most significant bits
- set, and the 6 other bits contain the count. If a byte of data does not
- repeat, it is stored just as is, unless it happens to have its two most
- significant bits set, in which case it is stored as run pair with a repeat
- count of one.
-
- This is the algorithm for decompressing the byte stream from a PCX file:
-
- FOR each byte, X, read from the file
- IF the top two bits of X are 1's
- BEGIN
- runlength = 6 lowest bits of X
- data = net byte following X
- END
- ELSE
- BEGIN
- runlength = 1
- data = X
- END
-
-
-
- File Header
-
- Here is the structure at the start of a PCX file for fax images:
-
- Offset Length Description
-
- 0 1 PCX ID, Must be 0Ah.
- 1 1 Version info. A value of 2 is suggested. Anything higher is
- allowed.
- 2 1 Encoding method. Must be 1.
- 3 1 Bits per pixel. Must be 1 for Fax Mode transfer.
- 4 2 X position of the upper left corner, usually 0.
- 6 2 Y position of the upper left corner, usually 0.
- 8 2 X position of the bottom right corner, maximum 1727. The
- difference between this field and the upper left corner X
- position plus 1 is the width of the bitmap. This width
- must be a multiple of 8.
- 10 2 Y position of the bottom right corner, 2200 recommended
- maximum.
- 12 2 Display card horizontal resolution. Ignored in Fax Transfer
- mode. A value of 640 is recommended for compatibility
- with Intel's Graphics Editor.
-
-
-
-
- - 54 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Offset Length Description
-
- 14 2 Display card vertical resolution. Ignored in Fax Transfer
- mode. A value of 200 is recommended for compatibility
- with Intel's Graphics Editor.
- 16 48 Palette information. Ignored in Fax Transfer mode. Should
- be 0's.
- 64 1 Reserved. Must be 0.
- 65 1 Number of color planes. Must be 1 for Fax Transfer Mode.
- 66 2 Horizontal line width in bytes, equal to (XRight - XLeft +
- 1)/8.
- 68 60 Reserved. Should be 0.
-
- The data for the first line starts immediately after the header.
-
-
-
-
- DCX Format
-
- The DCX file format allows multiple pages to be stored in one file. A DCX
- file has a header followed by pages. Each page is exactly the same as a
- PCX file, including the PCX header for each bitmap.
-
- The DCX file header starts with a 4-byte integer ID used to verify the file
- type. This ID is always 987654321 (decimal). After the ID is a list of
- offsets into the file for the pages of the document. The list is a simple
- array of 4-byte integers, the last of which has a value of 0 to mark the
- end of the array. The first page is page 0, and the offset from the
- beginning of the file of the nth page is stored at array location n. The
- array has a maximum of 1024 entries, including the 0 terminator. This
- means that up to 1023 pages can be stored in one DCX file, and that the
- maximum size of the index is 4096 bytes. The index can be smaller if fewer
- than 1023 pages are in the file, though this is optional.
-
-
-
-
- ASCII File Interpretation for Fax Transmission
-
- ASCII text files are automatically converted to graphics by the hardware as
- the files are sent. The hardware interprets the text file in the same
- manner as a nonintelligent printer with 8.5- by 11-inch paper. The page
- length can be set to other lengths using the Page Length fields of the FTR
- (offsets 95 and 96). The full IBM 8-bit character set, including
- characters from 80h to FFh, is supported (see the "Characters, Keystrokes,
- and Colors" section of the IBM Technical Reference). These special
- characters are recognized:
-
- Value Description
-
- 0D Carriage return. Moves "printhead" to column 0. Line contents are
- NOT erased. Overstrike is OK.
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 55 -
-
-
-
-
-
-
-
-
- 0A Line feed. Current line is output. Moves the "printhead" to the
- beginning of the next line.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 56 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Value Description
-
- 0C Form feed. Causes the current page to end, and a new page is
- started. The "printhead" moves to the beginning of the top line of
- the new page.
-
- 08 Backspace. moves "printhead" back one space. Previous character
- is NOT erased. Overstrike is OK.
-
- 09 Tab. Moves "printhead" to next tabstop. Tabstops are every eight
- columns.
-
- 1A End of file. Interpretation of the file stops. This is optional,
- interpretation will stop at the end of the file if this character
- is not present.
-
- Two text sizes are available; An 80-column by 66-line text size, and a 132-
- column by 88-line text size. (See the section earlier in this
- specification titled "Control Files" for information on text size
- selection.) Lines should not be wider than the page width. After 11
- inches have passed vertically from the top of the current page, a new page
- is started.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 57 -
-
-
-
-
-
-
-
-
-
- Glossary
-
- Control File: A file created by either an application or the Resident
- Manager that contains information needed to complete an event or
- information about an already completed event.
-
- Current Event: The communications event that the hardware is currently
- processing. While an event is the current event, its Control File is not
- in any of the Resident Manager's queues.
-
- External Data Block (EDB): Data used by the Resident Manager that may be of
- use to an application.
-
- Event: An action to be performed by the Resident Manager. This action can
- be a Send (fax or file), a Polled Send, a Polled Receive, a Receive (fax or
- file), a Group Send (V1.2), or a Group Polled Receive (V1.2).
-
- Event handle: A unique non-zero 15-bit value that the Resident Manager
- assigns to an event to keep track of it.
-
- Group (V1.2): A selection of remote devices that you are going to send the
- same file (or set of files) to or that you are going to receive information
- from. Two types of events use groups: Group Send and Group Polled
- Receive.
-
- Group File (V1.2): A file that lists the individual destinations for a
- group event.
-
- Group Polled Receive (V1.2): An event in which the local computer calls a
- group of remote devices to receive information.
-
- Group Send (V1.2): An event in which one or more files are sent to a group
- of remote devices.
-
- Log Queue: A queue of Control Files and group files for events that have
- been completed (or aborted).
-
- Non-Standard Facilities (NSF): Any format different from the Facsimile
- transfer format as defined in the CCITT specification. Used to transfer
- files directly without first translating into a bit image.
-
- Parent Control File (V1.2): The Control File for a Group Send or Group
- Polled Receive event.
-
- Polled Receive: An event that allows a machine to call other machines to
- receive a transmission.
-
- Polled Send: An event that allows a machine to be called by another machine
- before sending a transmission. Similar to a send except that the receiving
- machine initiates the transaction.
-
- Queue: A data structure internal to the Resident Manager that manages
- Control Files. Three types of Queues exist: Task, Receive, and Log.
-
-
-
- - 58 - DCA/Intel Communicating Applications Specification V1.2
-
-
-
-
-
-
-
-
- Receive: An event (Fax or file transfer) in which a local computer
- receives data from a remote device.
-
- Receive Queue: A queue of controls files for events that the local
- computer has received.
-
- Resident Manager: A terminate-and-stay-resident program that manages events
- in the "background." It provides the functional interface to applications.
-
- Send: An event (Fax or file Transfer) in which the local computer sends
- data to a remote device.
-
- Task Queue: A queue of Control Files for send, polled send, polled
- receive, group send, or group polled receive events that are waiting to be
- executed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DCA/Intel Communicating Applications Specification V1.2 - 59 -
-