* %GOTO PLSTSW; /* BILINGUAL HEADER 00002010 MACRO 00004010 TTSWD 00006010 .*A000000-999999 @Y17XAXF 00008010 IEDQTSW DSECT 00010010 * 00012010 * TSO WORK AREA 00014010 * 00016010 TSWTSBFR DS A . TSO BFR OR MSGGEN ADDR 00018010 TSWTCBFR DS A . TCAM BFR OR SCB MSGGEN ADDR 00020010 TSWMOVED DS H . NUMBER BYTES DATA MOVED 00022010 TSWLINE DS H . NUMBER BYTES REMAINING ON LINE 00024010 TSWTSBSZ DS H . TSO BFR DATA SIZE 00026010 TSWMSGSZ DS H . MESSAGE SIZE 00028010 TSWTCBSZ DS H . TCAM BFR SIZE 00030010 TSWFCD DS X . 3270 FUNCTION CODES 00032010 TSWSTFD EQU X'F0' . START FIELD INSERT 00034010 TSWRDAT EQU X'F1' . READ ATTRIBUTE INSERT 00036010 TSWSBA EQU X'F2' . SBA INSERT 00038010 TSWCUR1 EQU X'F3' . FIRST CURSOR INSERT 00040010 TSWCUR2 EQU X'F4' . SECOND CURSOR INSERT 00042010 TSWINC EQU X'F5' . INC ORDER INSERT 00044010 TSWETX EQU X'F6' . ETX INSERT 00046010 TSWEOT EQU X'F7' . EOT INSERT 00048010 TSWETXOT EQU X'F8' . ETX/EOT INSERT 00050010 TSWBYP EQU X'F9' . BYPASS CHAR INSERT 00052010 TSWRES EQU X'FA' . RESTORE CHAR INSERT 00054010 TSWCARCT DS X . CARRIAGE POSITION 00056010 TSWTSLNS DS 0H . TSB OR DEFAULT LINE SIZE 00058010 TSWLNN DS X . NUMBER OF LINES FOR DISPLAYS 00060010 TSWLNSZ DS X . LINE SIZE FOR DISPLAYS 00062010 TSWSWT1 DS X . SWITCH 1 00064010 TSWC2F EQU X'80' . SECOND CURSOR FLAG 00066010 TSWC1F EQU X'40' . FIRST CURSOR FLAG 00068010 TSWRDAF EQU X'20' . READ ATTRIBUTE FLAG 00070010 TSWSFF EQU X'10' . START FIELD FLAG 00072010 TSWBYPF EQU X'08' . BYPASS CHAR FLAG 00074010 TSWCRNLF EQU X'04' . CARRIAGE RETURN/NEW LINE FLAG 00076010 TSWSBAF EQU X'02' . SET BUFFER ADDRESS FLAG 00078010 TSWWRAF EQU X'01' . WRITE ATTRIBUTE FLAG 00080010 TSWSWT2 DS X . SWITCH 2 00082010 TSWRC4 EQU 4 . CALCSIZE RC 4 00084010 TSWRC8 EQU 8 . CALCSIZE RC 8 00086010 TSWRC12 EQU 12 . CALCSIZE RC 12 00088010 TSWRC16 EQU 16 . CALCSIZE RC 16 00090010 TSWRC40 EQU 40 . CALCSIZE RC 40 00092010 TSWRC44 EQU 44 . CALCSIZE RC 44 00094010 TSWFLG1 DS X . TSO FUNCTION FLAGS 1 00096010 TSWTSMSG EQU X'80' . TSO MESSAGE 00098010 TSWSASIS EQU X'60' . ASIS SCREEN CONTROL 00100010 TSWCTL EQU X'40' . CONTROL MODE EDIT 00102010 TSWASIS EQU X'20' . ASIS EDIT 00104010 TSWMSGN1 EQU X'10' . FIRST MSGGEN SWITCH 00106010 TSWFMTI EQU X'08' . SCREEN FORMAT IN BFR 00108010 TSWNLEFT EQU X'06' . NO LEFT JUSTIFICATION REQ 00110010 TSWLEFT EQU X'05' . LEFT JUSTIFICATION REQ 00112010 TSWFLG2 DS X . TSO FUNCTION FLAGS 2 00114010 * EQU X'80'-'02' RESERVED @YM06885 00114510 TSWNROOM EQU X'01' . NO ROOM IN TCAM BFR @YM06885 00115010 * FOR EDIT @YM06885 00115510 TSWCURSV DS H . SCREEN CURSOR ADDRESS 00116010 TSWEFLG1 DS X . EDIT FLAGS 1 00118010 TSWTRLR EQU X'80' . TRAILER BUFFER FLAG 00120010 TSWPRTMV EQU X'40' . PARTIAL MOVE FLAG 00122010 TSWRESF EQU X'20' . RESTORE CHAR FLAG 00124010 TSWRECAL EQU X'10' . BYPASS CODE AND RESET 00126010 TSWSYN EQU X'08' . SYN CHARS INSERTED @YM06885 00128010 TSWINCF EQU X'04' . INSERT CURSOR FLAG 00130010 TSWEOTF EQU X'02' . EOT FLAG 00132010 TSWETXF EQU X'01' . ETX FLAG 00134010 TSWEFLG2 DS X . EDIT FLAG 2 00136010 TSW3705 EQU X'80' . TERMINAL ON 3705 00138010 TSW1050 EQU X'40' . TERMINAL IS 1050 00140010 TSWPRMPT EQU X'20' . PROMPT STRING FLAG 00142010 TSWNLCRF EQU X'10' . NL/CR COUNT FLAG 00144010 TSWLNCT EQU X'08' . LINE COUNT FLAG 00146010 TSWRDAP EQU X'04' . READ ATTRIBUTE LINE POS. FLAG 00148010 TSWHDRF EQU X'02' . FIRST BASIC UNIT FLAG 00150010 TSWNMVCT EQU X'01' . NO MOVE COUNT FLAG 00152010 TSWFIRST DS X . FIRST CHARACTER 00154010 TSWLAST DS X . LAST CHARACTER 00156010 TSWTOCT DS F . TO DATA COUNT 00158010 TSWFRCT DS F . FROM DATA COUNT 00160010 TSWTSCUR DS F . CURRENT TSO BUFFER 00162010 TSWMSGNL DS H . LENGTH OF MSGGEN DATA 00164010 TSWSBAI EQU X'EF' . SBA ALREADY INCLUDED 00166010 TSWCUR1I EQU X'EE' . CUR1 ALREADY INCLUDED 00168010 TSWCUR2I EQU X'ED' . CUR2 ALREADY INCLUDED 00170010 TSWSFI EQU X'EC' . START FIELD ALREADY INCLUDED 00172010 TSWWRAI EQU X'EB' . WRITE ATTRIBUTE INCLUDED 00174010 TSWDSAV DS D . DOUBLE WORD SAVE 00176010 TSWDCT DS CL6 . DCT ENTRY 00176210 TSWLEN EQU *-IEDQTSW . TSO WORKAREA LENGTH 00178010 MEND */ 00180010 *%PLSTSW:; 00182010 * DECLARE 00184010 * 1 IEDQTSW BASED(RTSW), 00186010 */* */ 00188010 */* TSO WORK AREA */ 00190010 */* */ 00192010 * 2 TSWTSBFR PTR(31), /* TSO BFR OR MSGGEN ADDR */ 00194010 * 2 TSWTCBFR PTR(31), /* TCAM BFR OR SCB MSGGEN ADDR 00196010 * */ 00198010 * 2 TSWMOVED FIXED(16), /* NUMBER BYTES DATA MOVED */ 00200010 * 2 TSWLINE FIXED(16), /* NUMBER BYTES REMAINING ON 00202010 * LINE */ 00204010 * 2 TSWTSBSZ FIXED(16), /* TSO BFR DATA SIZE */ 00206010 * 2 TSWMSGSZ FIXED(16), /* MESSAGE SIZE */ 00208010 * 2 TSWTCBSZ FIXED(16), /* TCAM BFR SIZE */ 00210010 * 2 TSWFCD BIT(8), /* 3270 FUNCTION CODES */ 00212010 * 2 TSWCARCT FIXED(8), /* CARRIAGE POSITION */ 00214010 * 2 TSWTSLNS FIXED(16), /* TSB OR DEFAULT LINE SIZE */ 00216010 * 3 TSWLNN FIXED(8), /* NUM OF LINES FOR DISPLAYS */ 00218010 * 3 TSWLNSZ FIXED(8), /* LINE SIZE FOR DISPLAYS */ 00220010 * 2 TSWSWT1 BIT(8), /* SWITCH 1 */ 00222010 * 3 TSWC2F BIT(1), /* SECOND CURSOR FLAG */ 00224010 * 3 TSWC1F BIT(1), /* FIRST CURSOR FLAG */ 00226010 * 3 TSWRDAF BIT(1), /* READ ATTRIBUTE FLAG */ 00228010 * 3 TSWSFF BIT(1), /* START FIELD FLAG */ 00230010 * 3 TSWBYPF BIT(1), /* BYPASS CHAR FLAG */ 00232010 * 3 TSWCRNLF BIT(1), /* CARR RETURN/NEW LINE FLAG */ 00234010 * 3 TSWSBAF BIT(1), /* SET BUFFER ADDRESS FLAG */ 00236010 * 3 TSWWRAF BIT(1), /* WRITE ATTRIBUTE FLAG */ 00238010 * 2 TSWSWT2 BIT(8), /* SWITCH 2 */ 00240010 * 2 TSWFLG1 BIT(8), /* TSO FUNCTION FLAGS 1 @YM06885*/00242010 * 3 TSWTSMSG BIT(1), /* TSO MESSAGE @YM06885*/00242210 * 3 TSWSCCTL BIT(2), /* SCREEN CONTROL @YM06885*/00242410 * 4 TSWCTL BIT(1), /* CONTROL MODE EDIT @YM06885*/00242610 * 4 TSWASIS BIT(1), /* ASIS EDIT @YM06885*/00242810 * 3 TSWMSGN1 BIT(1), /* FIRST MSGGEN SWITCH @YM06885*/00243010 * 3 TSWFMTI BIT(1), /* SCREEN FORMAT IN BFR @YM06885*/00243210 * 3 TSWJUSTI BIT(3), /* JUSTIFICATION FLAGS @YM06885*/00243410 * 2 TSWFLG2 BIT(8), /* TSO FUNCTION FLAGS 2 @YM06885*/00244010 * 3 * BIT(7), /* RESERVED @YM06885*/00244510 * 3 TSWNROOM BIT(1), /* NO ROOM IN TCAM BFR @YM06885*/00245010 * /* FOR EDIT @YM06885*/00245510 * 2 TSWCURSV FIXED(16), /* SCREEN CURSOR ADDRESS */ 00246010 * 2 TSWEFLG1 BIT(8), /* EDIT FLAGS 1 */ 00248010 * 3 TSWTRLR BIT(1), /* TRAILER BUFFER FLAG */ 00250010 * 3 TSWPRTMV BIT(1), /* PARTIAL MOVE FLAG */ 00252010 * 3 TSWRESF BIT(1), /* RESTORE CHAR FLAG */ 00254010 * 3 TSWRECAL BIT(1), /* BYPASS CODE AND RESET */ 00256010 * 3 TSWSYN BIT(1), /* SYN CHARS INSERTED @YM06885*/00258010 * 3 TSWINCF BIT(1), /* INSERT CURSOR FLAG */ 00260010 * 3 TSWEOTF BIT(1), /* EOT FLAG */ 00262010 * 3 TSWETXF BIT(1), /* ETX FLAG */ 00264010 * 2 TSWEFLG2 BIT(8), /* EDIT FLAG 2 */ 00266010 * 3 TSW3705 BIT(1), /* TERMINAL ON 3705 */ 00268010 * 3 TSW1050 BIT(1), /* TERMINAL IS 1050 */ 00270010 * 3 TSWPRMPT BIT(1), /* PROMPT STRING FLAG */ 00272010 * 3 TSWNLCRF BIT(1), /* NL/CR COUNT FLAG */ 00274010 * 3 TSWLNCT BIT(1), /* LINE COUNT FLAG */ 00276010 * 3 TSWRDAP BIT(1), /* READ ATTRIBUTE LINE POS. 00278010 * FLAG */ 00280010 * 3 TSWHDRF BIT(1), /* FIRST BASIC UNIT FLAG */ 00282010 * 3 TSWNMVCT BIT(1), /* NO MOVE COUNT FLAG */ 00284010 * 2 TSWFIRST CHAR(1), /* FIRST CHARACTER */ 00286010 * 2 TSWLAST CHAR(1), /* LAST CHARACTER */ 00288010 * 2 TSWTOCT FIXED(31), /* TO DATA COUNT */ 00290010 * 2 TSWFRCT FIXED(31), /* FROM DATA COUNT */ 00292010 * 2 TSWTSCUR FIXED(31), /* CURRENT TSO BUFFER */ 00294010 * 2 TSWMSGNL FIXED(16), /* LENGTH OF MSGGEN DATA */ 00296010 * 2 TSWDSAV CHAR(8), /* DOUBLE WORD SAVE */ 00298010 * 2 TSWDCT CHAR(6); /* DCT ENTRY */ 00298210 *%TSWLEN='LENGTH(IEDQTSW)'; /* TSO WORKAREA LENGTH */ 00300010 * 00302010 */* */ 00304010 */* TSWFCD VALUES */ 00306010 */* */ 00308010 * DCL TSWSTFD BIT(8) CONSTANT('F0'X); /* START FIELD INSERT */ 00310010 * DCL TSWRDAT BIT(8) CONSTANT('F1'X); /* READ ATTRIBUTE INSERT */ 00312010 * DCL TSWSBA BIT(8) CONSTANT('F2'X); /* SBA INSERT */ 00314010 * DCL TSWCUR1 BIT(8) CONSTANT('F3'X); /* FIRST CURSOR INSERT */ 00316010 * DCL TSWCUR2 BIT(8) CONSTANT('F4'X); /* SECOND CURSOR INSERT */ 00318010 * DCL TSWINC BIT(8) CONSTANT('F5'X); /* INC ORDER INSERT */ 00320010 * DCL TSWETX BIT(8) CONSTANT('F6'X); /* ETX INSERT */ 00322010 * DCL TSWEOT BIT(8) CONSTANT('F7'X); /* EOT INSERT */ 00324010 * DCL TSWETXOT BIT(8) CONSTANT('F8'X); /* ETX/EOT INSERT */ 00326010 * DCL TSWBYP BIT(8) CONSTANT('F9'X); /* BYPASS CHAR INSERT */ 00328010 * DCL TSWRES BIT(8) CONSTANT('FA'X); /* RESTORE CHAR INSERT */ 00330010 */* */ 00332010 */* TSWSWT2 VALUES */ 00334010 */* */ 00336010 * DCL TSWRC4 FIXED(8) CONSTANT(4); /* CALCSIZE RC 4 */ 00338010 * DCL TSWRC8 FIXED(8) CONSTANT(8); /* CALCSIZE RC 8 */ 00340010 * DCL TSWRC12 FIXED(8) CONSTANT(12); /* CALCSIZE RC 12 */ 00342010 * DCL TSWRC16 FIXED(8) CONSTANT(16); /* CALCSIZE RC 16 */ 00344010 * DCL TSWRC40 FIXED(8) CONSTANT(40); /* CALCSIZE RC 40 */ 00346010 * DCL TSWRC44 FIXED(8) CONSTANT(44); /* CALCSIZE RC 44 */ 00348010 */* */ 00350010 */* TSWSCCTL VALUES @YMO6885*/00352010 */* */ 00354010 * DCL TSWSASIS BIT(2) CONSTANT('11'B); /* ASIS SCREEN CNTRL @YM06885*/00358010 */* */ 00358510 */* TSWJUSTI VALUES @YM06885*/00359010 */* */ 00359510 * DCL TSWNLEFT BIT(3) CONSTANT('110'B); /*NO LEFT JUSTIFY RQD @YM06885*/00368010 * DCL TSWLEFT BIT(3) CONSTANT('101'B); /* LEFT JUSTIFY REQD @YM06885*/00370010 */* */ 00372010 */* TSWMSGNL VALUES */ 00374010 */* */ 00376010 * DCL TSWSBAI BIT(8) CONSTANT('EF'X); /* SBA ALREADY INCLUDED */ 00378010 * DCL TSWCUR1I BIT(8) CONSTANT('EE'X); /* CUR1 ALREADY INCLUDED */ 00380010 * DCL TSWCUR2I BIT(8) CONSTANT('ED'X); /* CUR2 ALREADY INCLUDED */ 00382010 * DCL TSWSFI BIT(8) CONSTANT('EC'X); /* START FIELD INCLUDED */ 00384010 * DCL TSWWRAI BIT(8) CONSTANT('EB'X); /* WRITE ATTRIBUTE INCLUDED */ 00386010