HP 3000 Manuals

Status Area [ TurboIMAGE/XL Database Management System Reference Manual ] MPE/iX 5.0 Documentation


TurboIMAGE/XL Database Management System Reference Manual

Status Area 

All addresses on MPE/iX are 32 bits.  This has necessitated a change in
some of the information returned in the status area by TurboIMAGE/XL
library procedures.

Major Differences 

Because TurboIMAGE/XL uses MPE/iX mapped files, DBOPEN calls HPFOPEN to
open these mapped files.  If an error occurs during this process, the
condition code -9, formerly used to indicate an MPE/iX GETDSEG failure,
is now used to indicate an MPE/iX HPFOPEN failure.  DBOPEN returns the
HPFOPEN status in the status array as shown in Table H-3 :

          Table H-3.  Condition Code -9 Status Array 

--------------------------------------------------------------------------------------------
-        Element        -                             Content                              -
--------------------------------------------------------------------------------------------
-           1           - -9                                                               -
--------------------------------------------------------------------------------------------
-           2           - Control Block Code                                               -
-                       - DBG = 1                                                          -

-                       - DBU = 2                                                          -
-                       - DBR = 3                                                          -
-                       - DBS = 4                                                          -
-                       - DBUX = 5                                                         -
--------------------------------------------------------------------------------------------
-           3           - HPFOPEN File System Error (16 bits)                              -
--------------------------------------------------------------------------------------------
-           4           - File System Intrinsic Code                                       -
--------------------------------------------------------------------------------------------

When DBOPEN is successful, elements 3 and 4 still contain the size, in
halfwords, of the DBG and DBU respectively.  However, because the maximum
value that can be reported is 32,768 halfwords (65,536 bytes), if the DBG
or the DBU/DBR is larger than that, only 32,768 halfwords are reported in
the status area.  Note that although on MPE/iX words are 32-bit words,
TurboIMAGE/XL still returns all lengths in the status area as the number
of 16-bit halfwords.

For applications in Compatibility Mode (CM):

   *   Switch stubs translate the information returned to the status area
       by TurboIMAGE/XL. After translation, each element of the status
       area contains the information expected by TurboIMAGE/XL
       applications with one exception.  Element 10 contains the relative
       address of the switch stub rather than that of the actual library
       procedure (intrinsic).

For applications in Native Mode (NM):

   *   On TurboIMAGE/XL, elements 5 and 10 of the status area do not
       contain code offsets because they are now 32 bits.  Halfwords 5
       and 10 return 0.

   *   Halfwords 7 and 8 contain the 32-bit address of the database
       parameter.

   *   DBEXPLAIN cannot find complete information in the status area for
       its explanation.  To solve this problem, TurboIMAGE/XL places the
       missing information in the DBU, which DBEXPLAIN now references.
       However, the application must call DBEXPLAIN immediately after the
       status information is received.  If any other library procedure is
       called between the time the error status is returned and DBEXPLAIN
       is called, DBEXPLAIN displays the last information stored in the
       DBU, which may or may not belong to the library procedure that
       encountered the error.  This could affect applications that use
       two or more different status arrays.

Table H-4  compares elements 5 through 10 of the TurboIMAGE/V status
area with elements 5 through 10 of the TurboIMAGE/XL status area.  If an
error occurs, this information is returned for all library procedures.
If the procedure executes successfully, this information is returned for
DBBEGIN, DBCLOSE, DBCONTROL, DBEND, DBINFO, DBLOCK, DBMEMO, and DBOPEN.

          Table H-4.  Status Area Changes for MPE/iX Applications 

------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|   Element    |  TurboIMAGE/V and Compatibility Mode  |             TurboIMAGE/XL             |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|      5       | PB-relative address of the caller.    | 0 (moved to DBU)                      |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|      6       | Bits 7-15:  Intrinsic number of       | No change.                            |
|              | called library procedure.             |                                       |
|              | Bits 0-3:  Zero or access mode in     |                                       |
|              | which database is opened.             |                                       |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|      7       | 16-bit address of the database.       | First 16 bits of the database         |
|              |                                       | address.                              |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|      8       | 16-bit address of the data set name   | Second 16 bits of database address    |
|              | or qualifier.                         | (data set or qualifier address moved  |
|              |                                       | to DBU).                              |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|      9       | Value of the mode parameter.          | No change.                            |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------
|              |                                       |                                       |
|      10      | PB-relative address of the library    | 0 (moved to DBU)                      |
|              | procedure or the Compatibility Mode   |                                       |
|              | switch stub.                          |                                       |
|              |                                       |                                       |
------------------------------------------------------------------------------------------------



MPE/iX 5.0 Documentation