1.2.1 Supported DL/I Interfaces
The following table lists supported DL/I interfaces.
Table 1-7 Supported DL/I Interfaces
Interfaces Name | Description |
---|---|
CBLTDLI | The 0 entry for DL/I calls in IMS/TM on OS/39 |
AIBTDLI |
AIBTDLI is an entry function for the whole DL/I
layer. The essential difference from CBLTDLI is that
AIBTDLI uses AIB mask as the first parameter to pass
control information in and out.
|
CTDLI |
CTDLI is an entry function for the whole
CTDLI library. Any request to DLI is passed
|
Parent topic: Tuxedo ART for IMS DL/I Support
1.2.1.1 CBLTDLI
Parent topic: Supported DL/I Interfaces
1.2.1.1.2 Description
In Tuxedo ART for IMS, CBLTDLI
is a function acting
as the entry of DLI library. CBLTDLI
calls appropriate
function based on the function code passed to it.
Parent topic: CBLTDLI
1.2.1.1.3 Parameter(s)
Function Code, e.g. “GU ”; I/O PCB or alternate PCB, I/O area, MOD
Parent topic: CBLTDLI
1.2.1.2 AIBTDLI
Parent topic: Supported DL/I Interfaces
1.2.1.2.2 Description
AIBTDLI
is an entry for DL/I calls in IMS/TM on
z/OS. In Tuxedo ART for IMS, AIBTDLI
is a function
acting as an entry of the DL/I library. AIBTDLI
gets
the PCB address according to the PCB name specified in AIB mask,
then calls appropriate function based on the function code passed
to it with the PCB address found.
Parent topic: AIBTDLI
1.2.1.2.3 Parameter(s)
Function Call: e.g. 'GU '; AIB Mask, I/O Area: Input or Output Buffer. The following table 7 lists the AIB mask parameters.
Table 1-8 AIB Mask Parameters
Name | Value | Description | Support |
---|---|---|---|
AIBID
|
X(8)
|
AIB Identifier, it must be set to "DFSAIBbb ". It's
for input only
|
Yes |
AIBLEN
|
X(4)
|
AIB Length, the length of the AIB mask. It must be set correctly in the application program and its minimum value is 128. It's for input only. | Yes |
AIBSFUNC
|
X(8)
|
AIB subfunction, the subfunction required by some DL/I calls. It must be set correctly by application program if it's required. | Yes In IMS, we only support INQY subfunction. |
AIBRSNM1
|
X(8)
|
This field contains the PCB name. It must be specified by program correctly. For its setting, referring to AIBTDLI section. | Yes |
RESERV1
|
X(16)
|
Reserved 16 bytes | No |
AIBOALEN
|
X(4)
|
AIB Output Area Length, the length of the I/O area specified for AIBTDLI | Yes |
AIBOAUSED
|
X(4)
|
AIB output area used length, the length of returned data in the I/O area. It's valid only in case the I/O area is used as output buffer. | Yes |
RESERV2
|
X(12)
|
Reserved 12 bytes | No |
AIBRETRN
|
X(4)
|
AIB Return Code, the return code of AIBTDLI call. | Partial support.
Currently, we only support setting this field in the following scenarios:
If operation is successful success, this field is set to 0x0000. |
AIBREASN
|
X(4)
|
AIB Reason Code, the reason code of AIBTDLI call. | Partial support.
Currently, we only support setting this field in the following scenarios:
|
AIBERRXT
|
X(4)
|
AIB Error Code Extension, contains the additional error information | No |
AIBRSA1 |
X(4) |
AIB Resource Address, it's an output field to hold the PCB address corresponding to the PCB name specified in AIBRSNM1. In ART/IMS 64-bit, the PCB address is 8 bytes long, this field occupies actually 8 bytes, the other 4 coming from the first 4 bytes in the following reserved area. | Yes But on 64bit platform, customer needs to use the AIBRSA1 plus the first 4 bytes in RESERV3 to get the right PCB's address. |
RESERV3
|
X(48)
|
In ART/IMS 64-bit, its firstly 4 bytes are borrowed to store the returned PCB address in combination with AIBRSA1, so it can't be used for any other purpose. | No |
The detailed rules for specifying PCB name in AIB mask field
AIBRSNM1
is as follows:
- I/O PCB
- The name of I/O PCB must be specified as
"
IOPCBbbb
", - Alternate PCB
- The name of alternate PCB must be configured with
"label=
" in$appname.psb
configuration file, and must be specified correctly in AIB mask, the name (label) of each alternate PCB must be unique in a single PSB (i.e., in a single$appname.psb
file). - DB PCB
- The name of DB PCB must be configured with
"
label=
" in$appname.psb
configuration file, and must be specified correctly in AIB mask, the name (label) of each DB PCB must be unique in a single PSB (i.e., in a single$appname.psb
file).
Parent topic: AIBTDLI
1.2.1.3 CTDLI
Parent topic: Supported DL/I Interfaces
1.2.1.3.2 Description
In Tuxedo ART for IMS, CTDLI
is a function acting
as the entry of DLI library. CTDLI
calls appropriate
function based on the function code passed to it.
Parent topic: CTDLI
1.2.1.3.3 Parameter(s)
Function Call: e.g. 'GU '; PCB: I/O PCB or Alternate PCB, I/O Area: Input or Output Buffer.
The op
argument specifies the DL/I function to be
performed. The ctdli()
call format depends on the
function selected. For more information, see CBLTDLI.
Note:
When using CTDLI, SSA parameter must be a pointer parameter.Parent topic: CTDLI