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

      Class 0: 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

      Class 1: 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)

      Class 2: 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
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

      Class 3: 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)

      Class 4: 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
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 cancelled event

      Class 5: 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.

      FAXPOP Class 5 Errors

0500  5     00   Tried to send while in graphics mode
0501  5     01   Insufficient disk space
0502  5     02   Internal buffer overflow

When FAXPOP Logs Class 5 Errors

        Normally, when FAXPOP detects an error, an error message is
        displayed on the monitor screen in a pop-up window.  However,
        if the screen is in graphics mode and the user has set the
        SatisFAXtion software to not allow the pop-up to be displayed
        when in graphics mode, error messages cannot be displayed on
        the screen.  Instead, they are logged as events in the log
        queue, using the class 5 error codes.  The only information
        that is valid in this event record is the error code.

      Class 6: 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.

See Also Phonebook Format


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .