DCL SPCPTR .PARM1 PARM; DCL DD PARM-NAME CHAR(20) BAS(.PARM1); DCL DD OBJ-NAME CHAR(10) DEF(PARM-NAME) POS( 1); DCL DD LIB-NAME CHAR(10) DEF(PARM-NAME) POS(11); DCL SPCPTR .PARM2 PARM; DCL DD PARM-TYPE CHAR(2) BAS(.PARM2); DCL SPCPTR .PARM3 PARM; DCL DD PARM-OIR CHAR(512) BAS(.PARM3); DCL SPCPTR .PARM4 PARM; DCL DD PARM-OIR-NEW CHAR(512) BAS(.PARM4); DCL OL PARAMETER-LIST(.PARM1, .PARM2, .PARM3, .PARM4) PARM EXT MIN(3); DCL DD PARM-LENGTH BIN(2); DCL SYSPTR .LIBSYS; DCL SPCPTR .LIBSPC; DCL DD LIBSPC CHAR(512) BAS(.LIBSPC); DCL SYSPTR .SYS-IDX POS(33) DEF(LIBSPC); DCL SYSPTR .SYS-OIR POS(49) DEF(LIBSPC); DCL SPCPTR .SPC-OIR; DCL DD SPC-OIR CHAR(16000000) BAS(.SPC-OIR); DCL SPCPTR .OIR-DATA; DCL DD OIR-DATA CHAR(512) BAS(.OIR-DATA); DCL SPCPTR .INDEX-OPT INIT(INDEX-OPT); DCL DD INDEX-OPT CHAR(18) BDRY(16); DCL DD INDEX-RULE-OPTION BIN(2) DEF(INDEX-OPT) POS( 1) INIT(1); DCL DD INDEX-ARG-LENGTH BIN(2) DEF(INDEX-OPT) POS( 3) INIT(12); DCL DD INDEX-ARG-OFFSET BIN(2) DEF(INDEX-OPT) POS( 5) INIT(0); DCL DD INDEX-OCR-COUNT BIN(2) DEF(INDEX-OPT) POS( 7) INIT(1); DCL DD INDEX-RTN-COUNT BIN(2) DEF(INDEX-OPT) POS( 9) INIT(0); DCL DD INDEX-ENTRY(2) CHAR(4) DEF(INDEX-OPT) POS(11); DCL SPCPTR .INDEX-SEARCH-ARG INIT(INDEX-SEARCH-ARG); DCL DD INDEX-SEARCH-ARG CHAR(12) BDRY(16); DCL SPCPTR .INDEX-DATA INIT(INDEX-DATA); DCL DD INDEX-DATA CHAR(24) BDRY(16); DCL DD INDEX-KEY CHAR(12) DEF(INDEX-DATA) POS( 1); DCL DD INDEX-COUNT BIN( 4) DEF(INDEX-DATA) POS(13); DCL DD INDEX-OFFSET BIN( 4) DEF(INDEX-DATA) POS(17); DCL DD * CHAR( 4) DEF(INDEX-DATA) POS(21); DCL DD OFFSET BIN(4); DCL DD RESOLVE CHAR(34) BDRY(16) ; DCL DD * CHAR( 2) POS( 1) DEF(RESOLVE) INIT(X'0401'); DCL DD RESOLVE-NAME CHAR(30) POS( 3) DEF(RESOLVE); DCL DD * CHAR( 2) POS(33) DEF(RESOLVE) INIT(X'0000'); ENTRY *(PARAMETER-LIST) EXT; CPYBLAP RESOLVE-NAME, LIB-NAME, " "; RSLVSP .LIBSYS, RESOLVE, *, *; SETSPPFP .LIBSPC, .LIBSYS; SETSPPFP .SPC-OIR, .SYS-OIR; RETRIEVE-OIR-DATA: CPYBLA INDEX-SEARCH-ARG, PARM-TYPE; CPYBLA INDEX-SEARCH-ARG(3:10), OBJ-NAME; FNDINXEN .INDEX-DATA, .SYS-IDX, .INDEX-OPT, .INDEX-SEARCH-ARG; CMPNV(B) INDEX-RTN-COUNT, 0/HI(FOUND-OIR); CPYBREP PARM-OIR, " "; B DONE; FOUND-OIR: MULT OFFSET, INDEX-OFFSET, 512; SUBN(S) OFFSET, 256; ADDSPP .OIR-DATA, .SPC-OIR, OFFSET; CPYBLA PARM-OIR, OIR-DATA; STPLLEN PARM-LENGTH; CMPNV(B) PARM-LENGTH, 4/LO(DONE); CPYBLA OIR-DATA, PARM-OIR-NEW; DONE: RTX *;