DCL SPCPTR .PARM1 PARM; DCL DD PARM1 CHAR(3) BAS(.PARM1); DCL DD PARM-DELAY BIN(2) DEF(PARM1) POS(1); DCL DD PARM-AID CHAR(1) DEF(PARM1) POS(3); DCL OL PARMS(.PARM1) PARM EXT MIN(1); DCL SPCPTR @SEPT BASPCO; DCL SPCPTR .SEPT(6440) BAS(@SEPT); DCL SPCPTR .UFCB INIT(UFCB); DCL DD UFCB CHAR(210) BDRY(16); DCL SPCPTR .ODP DEF(UFCB) POS( 1); DCL SPCPTR .INBUF DEF(UFCB) POS( 17); DCL SPCPTR .OUTBUF DEF(UFCB) POS( 33); DCL SPCPTR .IO-FEEDBACK DEF(UFCB) POS( 65); DCL SPCPTR .NEXT-UFCB DEF(UFCB) POS( 81); DCL DD FILE-NAME CHAR(10) DEF(UFCB) POS(129) INIT("DTIMEOUT"); DCL DD LIB-ID BIN ( 2) DEF(UFCB) POS(139) INIT(-75); DCL DD LIBRARY CHAR(10) DEF(UFCB) POS(141) INIT("*LIBL"); DCL DD MBR-ID BIN ( 2) DEF(UFCB) POS(151) INIT(-71); DCL DD MEMBER CHAR(10) DEF(UFCB) POS(153) INIT("*FIRST"); DCL DD FLAGS-1 CHAR( 1) DEF(UFCB) POS(175) INIT(X'80'); DCL DD FLAGS-2 CHAR( 1) DEF(UFCB) POS(176) INIT(X'00'); DCL DD NO-MORE-PARAMS BIN ( 2) DEF(UFCB) POS(209) INIT(32767); DCL SPC IO-FEEDBACK BAS(.IO-FEEDBACK); DCL DD OFFSET-TO-DEV-DEPEND BIN (2) DIR; DCL SPCPTR .DEV-DEPEND-FEEDBACK; DCL SPC DEV-DEPEND-FEEDBACK BAS(.DEV-DEPEND-FEEDBACK); DCL DD DFB-FLAGS CHAR(2) DEF(DEV-DEPEND-FEEDBACK) POS(1); DCL DD DFB-AID CHAR(1) DEF(DEV-DEPEND-FEEDBACK) POS(3); DCL SPC ODP BAS(.ODP); DCL DD * CHAR(16) DIR; DCL DD DEV-OFFSET BIN ( 4) DIR; DCL SPCPTR .DMDEV; DCL SPC FUNCTION-LIST BAS(.DMDEV); DCL DD MAX-DEVICE BIN ( 2) DIR; DCL DD NBR-DEVICES BIN ( 2) DIR; DCL DD DEVICE-NAME CHAR(10) DIR; DCL DD WORKAREA-OFFSET BIN ( 4) DIR; DCL DD WORKAREA-LENGTH BIN ( 4) DIR; DCL DD LUD-PTR-INDEX BIN ( 2) DIR; DCL DD GET-FCT BIN ( 2) DIR; DCL DD GET-DIR BIN ( 2) DIR; DCL DD GET-KEY BIN ( 2) DIR; DCL DD * BIN ( 2) DIR; DCL DD PUT-FCT BIN ( 2) DIR; DCL DD PUT-GET BIN ( 2) DIR; DCL SPCPTR .PUTOPT INIT(PUTOPT); DCL DD PUTOPT CHAR(4); DCL DD PUT-OPTION-BYTE CHAR(1) DEF(PUTOPT) POS(1) INIT(X'00'); DCL DD PUT-SHARE-BYTE CHAR(1) DEF(PUTOPT) POS(2) INIT(X'00'); DCL DD PUT-DATA-BYTE CHAR(1) DEF(PUTOPT) POS(3) INIT(X'00'); DCL DD PUT-DEVICE-BYTE CHAR(1) DEF(PUTOPT) POS(4) INIT(X'05'); DCL SPCPTR .FORMAT INIT(FORMAT); DCL DD FORMAT CHAR(14); DCL DD FORMAT-ID CHAR( 1) DEF(FORMAT) POS( 1) INIT(X'01'); DCL DD FORMAT-SIZE BIN ( 2) DEF(FORMAT) POS( 2) INIT( 10 ); DCL DD FORMAT-NAME CHAR(10) DEF(FORMAT) POS( 4) INIT("SCREEN"); DCL DD FORMAT-END CHAR( 1) DEF(FORMAT) POS(14) INIT(X'FF'); DCL SPCPTR .NOFORMAT INIT(NOFORMAT); DCL DD NOFORMAT CHAR(1); DCL DD NOFORMAT-END CHAR(1) DEF(NOFORMAT) POS(1) INIT(X'FF'); DCL OL OPEN (.UFCB); DCL OL PUT (.UFCB, .PUTOPT, .FORMAT); DCL OL ACC (.UFCB, .NOFORMAT); DCL OL CLOSE(.UFCB); DCL SYSPTR .DSPF-SYSTEM; DCL SPCPTR .DSPF-SPACE; DCL DD DSPF-SPACE CHAR(1024) BAS(.DSPF-SPACE); DCL DD DSPF-DELAY BIN(2) DEF(DSPF-SPACE) POS(781); DCL DD RESOLVE CHAR(34); DCL DD RESOLVE-TYPE CHAR( 2) DEF(RESOLVE) POS( 1); DCL DD RESOLVE-NAME CHAR(30) DEF(RESOLVE) POS( 3); DCL DD RESOLVE-AUTH CHAR( 2) DEF(RESOLVE) POS(33) INIT(X'0000'); /****************************************************************/ ENTRY * (PARMS) EXT; SET-DELAY: CPYBLA RESOLVE-TYPE, X'1901'; CPYBLAP RESOLVE-NAME, FILE-NAME, " "; RSLVSP .DSPF-SYSTEM, RESOLVE, *, *; SETSPPFP .DSPF-SPACE, .DSPF-SYSTEM; CPYNV DSPF-DELAY, PARM-DELAY; OPEN-DISPLAY: CPYBWP .ODP, *; CPYBWP .NEXT-UFCB, *; CALLX .SEPT(12), OPEN, *; WRITE-DISPLAY: ADDSPP .DMDEV, .ODP, DEV-OFFSET; CALLX .SEPT(PUT-FCT), PUT, *; WAIT: CALLX .SEPT(121), ACC, *; /* QDMACCIN */ ADDSPP .DEV-DEPEND-FEEDBACK, .IO-FEEDBACK, OFFSET-TO-DEV-DEPEND; CPYBLA PARM-AID, DFB-AID; CLOSE-DISPLAY: CALLX .SEPT(11), CLOSE, *; RTX *;