This topic describes the parameter lists and work areas used for the functions provided by the Language Environment® interface.
The following tables show the layout and contents of the parameter lists for the functions provided by the Language Environment interface module CEECCICS.
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"10" (= Partition initialization) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | Yes | 8 |
6 | EIBLEN | Length of CICS® EIB | F’word | |
7 | TWALEN | Thread work area length | Yes | F’word |
8 | CELLEVEL | Language Environment-CICS interface level | Yes | F’word |
9 | GETCAA | Get-CAA routine address | 4 | |
10 | SETCAA | Set-CAA routine address | 4 | |
11 | LANGDEF | Language modules defined | 32 | |
12 | LANGBITS | Language availability bits | Yes | F’word |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"50" (= Establish ownership type) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | reserved | |||
7 | reserved | |||
8 | PGMINFO1 | CICS-Language Environment program information | 48 | |
9 | PGMINFO2 | Language Environment-CICS program information | Yes | 20 |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"20" (= Thread initialization) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | Yes | 8 |
7 | PREATWA | Address of preallocated thread work area | 4 | |
8 | PGMINFO1 | CICS-Language Environment program information | 48 | |
9 | PGMINFO2 | Language Environment-CICS program information | 20 |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"30" (= Run-unit initialization) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | 8 | |
7 | RTOKEN | Run-unit token | Yes | 8 |
8 | PGMINFO1 | CICS-Language Environment program information | 48 | |
9 | PGMINFO2 | Language Environment-CICS program information | 20 |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"32" (= Run-unit begin invocation) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | 8 | |
7 | RTOKEN | Run-unit token | 8 | |
8 | PGMINFO1 | CICS-Language Environment program information | 48 | |
9 | PGMINFO2 | Language Environment-CICS program information | 20 | |
10 | IOINFO | Input/output queue details | 18 | |
11 | RSA | RSA at last EXEC CICS command | F’word |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"60" (= Determine working storage) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | 8 | |
7 | RTOKEN | Run-unit token | 8 | |
8 | LANG | Program language bits | F’word | |
9 | PGMRSA | Register save area address | 4 | |
10 | WSA | Working storage address | Yes | 4 |
11 | WSL | Working storage length | Yes | F’word |
12 | SSA | Static storage address (reserved) | Yes | 4 |
13 | SSL | Static storage length (reserved) | Yes | F’word |
14 | EP | Program entry point | Yes | 4 |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"70" (= Perform GOTO) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | 8 | |
7 | RTOKEN | Run-unit token | 8 | |
8 | LANG | Program language bits | F’word | |
9 | LABEL | Label argument at Handle | F’word | |
10 | RSA | RSA at last EXEC CICS command | F’word | |
11 | CALLERR | Cross call error flag | Yes | F’word |
12 | ABCODE | Address of TACB abend code | F’word | |
13 | R13 | Register 13 value at abend | F’word |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"33" (= Run-unit end invocation) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | 8 | |
7 | RTOKEN | Run-unit token | 8 | |
8 | PGMINFO1 | CICS-Language Environment program information | 48 | |
9 | PGMINFO2 | Language Environment-CICS program information | 20 | |
10 | PTB | Program termination block | 64 | |
11 | RSA | RSA at last EXEC CICS command | F’word |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"31" (= Run-unit termination) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | 8 | |
7 | RTOKEN | Run-unit token | Yes | 8 |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"21" (= Thread termination) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 | |
6 | TTOKEN | Thread token | Yes | 8 |
No. | Parameter name | Description | Receiver field | Data length |
---|---|---|---|---|
1 | FUNCTION | F"11" (= Partition termination) | F’word | |
2 | RSNCODE | Reason code | Yes | F’word |
3 | SYSEIB | Address of system EIB | 4 | |
4 | PREASA | Preallocated save area | 240 | |
5 | PTOKEN | Language Environment partition token | 8 |
The following topics describe the work areas required during the lifetime of any task that includes one or more programs that use the Language Environment interface.
The IOINFO area, which is built by DFHAPLI in the CICS-Language Environment work area, is passed to Language Environment on a RUNUNIT_BEGIN_INVOCATION call.
CICS applications cannot use the SYSIN and SYSPRINT data streams because such usage would conflict with the way CICS handles I/O. However, an application may require a general input or output data stream in some situations, for example, where it is necessary to output a message to a program and the program has not been written to expect such output under normal operation.
Three such data streams are architected for this purpose: input, output (normal), and error output. The destinations must be either spools or queues. CICS uses queues, so the file type is always set to "Q". Table 22 shows the transient data queue names that are passed to Language Environment.
File type | Language Environment queue name |
---|---|
Input | CESI |
Output | CESO |
Error output | CESE |
Each data stream is identified by a 6-byte control block, and the three control blocks are concatenated to form the IOINFO area, which CICS passes to Language Environment.
IOINFO has this format (in assembler-language code):
IOINFO DS 0CL18 Input/output queue details
STD_IN DS 0CL6 Standard input file
QORS_IN DS CL1 ..file type - "Q" = transient data
TDQ_IN DS CL4 ..queue name
SPO_IN DS CL1 ..spool class - not used
STD_OUT DS 0CL6 Standard output file
QORS_OUT DS CL1 ..file type - "Q" = transient data
TDQ_OUT DS CL4 ..queue name
SPO_OUT DS CL1 ..spool class - not used
STD_ERR DS 0CL6 Standard error output file
QORS_ERR DS CL1 ..file type - "Q" = transient data
TDQ_ERR DS CL4 ..queue name
SPO_ERR DS CL1 ..spool class - not used
The PGMINFO1 area, which is built by DFHAPLI in the CICS-Language Environment work area, is passed to Language Environment during these interface calls:
When both CICS and Language Environment are capable of supporting it, the separate calls to Language Environment for Rununit Initialisation and Rununit Begin Invocation are combined into a single call. This single call is a Rununit Initialisation call with additional parameters indicating
PGMINFO1 has this format (in assembler-language code):
PGMINFO1 DS 0F
P1_LENGTH DS F Length of PGMINFO1
RULANG DS XL4 Language as defined by user
ASSEMBLER EQU X'80' ..Assembler
C EQU X'40' ..C
COBOL EQU X'20' ..COBOL
PLI EQU X'10' ..PL/I
LE370 EQU X'04' ..Language Environment
RULOADMOD DS 0F
RULOADA DS A Run-unit load module address
RULOADL DS F Run-unit load module length
ENTRY_STATIC DS 0F
RUENTRY DS A Run-unit entry point address
RUSTATIC DS A Modified entry address
RWA_31 DS A Address of run-unit storage
above 16MB
RWA_24 DS A Address of run-unit storage
below 16MB
APAL DS A Application argument list
address
RTOPTS DS A Run-time options
RTOPTSL DS F Length of run-time options
RUNAMEP DS A Pointer to the program name
PGMINFO1L EQU *-PGMINFO1
The PGMINFO2 area, which forms part of the PPT entry for the running program, is filled in by Language Environment on successful completion of an ESTABLISH_OWNERSHIP_TYPE call; and is subsequently passed by CICS to Language Environment during these interface calls:
PGMINFO2 has this format (in assembler-language code):
PGMINFO2 DS 0F
PRGINLEN DS FL4 Length of PGMINFO2 extension
PLBRWA31 DS F Length of 31-bit RUWA
PLBRWAA EQU X'80' ..31-bit storage required (C/370)
PLBRWAL DS FL3 ..Length of 31-bit RUWA
PLBRWA24 DS F Length of 24-bit RUWA
PLBLANG DS 0CL4 Language availability byte
PLBLANG1 DS X
PLBCEEEN EQU X'80' ..Language Environment
enabled
PLBCEELA EQU X'40' ..Language Environment
language known
PLBMIXED EQU X'20' ..Mixed/single language
PLBCOMPT EQU X'10' ..Compatibility
PLBEXECU EQU X'08' ..Language Environment
executable
PLBASSEM EQU X'04' ..Assembler-language program
PLBC370 EQU X'02' ..C/370 program
PLBCOBL2 EQU X'01' ..VS COBOL II program
PLBLANG2 DS X
PLBOSCOB EQU X'80' ..OS/VS COBOL program
PLBPLI EQU X'40' ..OS PLI program
PLBTYPE3 DS X Reserved
PLBTYPE4 DS X Reserved
PLBMEMID DS FL4 Language member ID
PLBED EQU *-PGMINFO2
The program termination block (PTB), which is built by DFHAPLI in the CICS-Language Environment work area, is passed to Language Environment on a RUNUNIT_END_INVOCATION call.
It has this format (in Assembler-language code):
CELINFO DS 0F
PCHK DS 0CL32 Abend information
DS CL8
PCHK_PSW DS CL8 ..PSW
PCHKINTS DS 0CL8 ..Interrupt data
PCHK_LEN DS XL2 ....Instruction length
PCHK_INT DS XL2 ....Interrupt code
PCHK_ADR DS FL4 ..Exception address
PCHK_GR DS AL4 ..A(GP registers at abend)
PCHK_FR DS AL4 ..A(FP registers at abend)
PCHK_AR DS AL4 ..A(AX registers at abend)
PCHK_EX DS AL4 ..A(Registers at the last time
a CICS command was issued)
CNTCODE DS 0CL4 Continuation code
CONT1 EQU X'40' ..retry using registers
CONT2 EQU X'20' ..retry using PSW
DS BL3 Reserved
RTRY DS 0CL20
RTRY_AD DS FL4 ..Retry address
RTRY_PM DS AL4 ..A(Program mask)
RTRY_GR DS AL4 ..A(GP registers)
RTRY_FR DS AL4 ..A(FP registers)
RTRY_AR DS AL4 ..A(AX registers)
[[ Contents Previous Page | Next Page Index ]]