* %GOTO STWL1; 00010002 MACRO 00050002 IGGSTW 00100002 .* /* START OF SPECIFICATIONS **** 00102002 .* 00104002 .*01 MODULE-NAME = IGGSTW 00106002 .* 00108002 .*01 COPYRIGHT = NONE 00110002 .* 00112002 .*01 STATUS = VS2 RELEASE 3 LEVEL 1/31/75 00114000 .* 00116002 .*01 DESCRIPTIVE-NAME = STOW WORK AREA 00118002 .* 00120002 .*01 FUNCTION = MAPS THE WORK AREA USED BY THE STOW MODULES 00122002 .* 00124002 .*01 MODULE-TYPE = MACRO 00126002 .* 00128002 .*02 MACRO-SIZE = N/A FOR A MAPPING MACRO 00130002 .* 00132002 .*02 PARAMETER-RECEIVED = NONE 00134002 .* 00136002 .*01 TABLES = NONE 00138002 .* 00140002 .*01 INNER-MACROS = IHAECB, IEZIOB 00142002 .* 00144002 .*01 SYSTEM-MACROS = NONE 00146002 .* 00148002 .*01 CHANGE-ACTIVITY = SEE BELOW 00150002 .* VS2 RELEASE 2 DELETIONS 00152002 .* VS2 RELEASE 3 DELETIONS 00154000 .* ZA01548 00154400 .* 00156002 .**** END OF SPECIFICATIONS ***/ 00158002 .*/* 00160002 .*/ %STWL1: ; 00162002 * /* MACCOMP Y-2 SC1D2/SJ0082 */ 00164000 * /* MACSTAT Y-2 75031/ZA01548 */ 00166000 */********************************************************************/ 00168002 */* */ 00170002 */* THIS MACRO MAPS THE WORK AREA USED BY THE STOW MODULES */ 00172002 */* */ 00174002 */* VS2 RELEASE 3, 1/31/75, LEVEL=1 */ 00176000 */* */ 00178002 */* METHOD OF ACCESS */ 00180002 */* BAL - A USING ON THE DSECT NAME 'STWAREA' ESTABLISHES */ 00182002 */* ADDRESSABILITY TO ALL SYMBOLS. */ 00184002 */* PL/S - REDEFINE A BASE FOR THE STRUCTURE BEFORE */ 00186002 */* REFERENCING ANY SYMBOLS WITHIN IT. */ 00188002 */* */ 00190002 */********************************************************************/ 00192002 * %; /* 00194002 .*/ %GOTO STWL2; /* 00196002 STWAREA DSECT 00198002 **** 00550002 **** POINTERS AND USER DATA SAVE AREA 00600002 **** 00650002 STWPARM DS A ADDR OF USER SUPPLIED ENTRY 00700002 * NAME (LOWER OF 2 FOR CHANGE) 00750002 STWHIGH DS A ADDR OF HIGHER OF 2 USER SUPP- 00800002 * LIED ENTRY NAMES (CHANGE ONLY) 00850002 DS H RESERVED 00900002 STWOFFLW DS H OFFSET TO ADD, REPLACE, OR 00950002 * DELETE LOCATION IN LOW BLOCK 01000002 STWOLDNM DS CL8 NAME OF ENTRY BEING DELETED 01050002 STWNEWNM DS CL8 NAME OF NEW ENTRY 01100002 STWTTR DS AL3 MEMBER'S RELATIVE ADDRESS 01150002 STWCTTRN DS XL1 ALIAS BIT, NUMBER OF TTRNS, 01200002 * AND LENGTH OF USER DATA 01250002 STWALIAS EQU X'80' THIS MEMBER NAME IS AN ALIAS 01300002 STWDATA DS CL62 USER DATA FOR ENTRY 01350002 SPACE 2 01400002 **** 01450002 **** FLAG, CONDITION, AND SWITCH BYTES 01500002 **** 01550002 STWFLAG1 DS B FIRST FLAG BYTE 01600002 * BIT DEFINITIONS 01650002 * BIT 7 RESERVED 01700002 STWCHNG EQU X'80' CHANGE FUNCTION, USED IN COMBI- 01750002 * NATION WITH STWADD AND STWDEL 01800002 STWDEL EQU X'40' DELETE FUNCTION 01850002 STWREPL EQU X'20' REPLACE FUNCTION 01900002 STWADD EQU X'10' ADD FUNCTION 01950002 STWDRYRN EQU X'08' DRY RUN BEING MADE ON DIRECTORY 02000002 STWFLOW EQU X'04' USED TO CONTROL PROGRAM FLOW 02050002 STWDCBWR EQU X'02' LAST DCB OPERATION WAS A WRITE 02100002 STWMERGE EQU X'01' 2 INPUT BLKS=1 OUTPUT ZA01548 02110000 * 02150002 STWRTN DS CL1 RETURN CODE SAVE AREA 02200002 * 02250002 STWFLGLN EQU *-STWAREA LENGTH OF SAVE AND FLAG AREAS 02300002 EJECT 02350002 **** 02400002 **** CONTROL BLOCKS FOR STOW'S CHANNEL PROGRAMS 02450002 **** 02500002 DS F IF ALREADY ON A DBLWORD Y02072 02510002 * GO TO NEXT FULLWORD BDY Y02072 02520002 DS 0D ALIGN TO A DBLWORD BDY Y02072 02530002 ORG *-4 ORG ECB IN FRONT OF IOB Y02072 02540002 IHAECB DSECT=NO 02550002 ORG *-16 SET STANDARD IOB BEHIND ECB 02600002 IEZIOB DSECT=NO 02650002 SPACE 2 02700002 **** 02750002 **** STOW'S CHANNEL PROGRAMS 02800002 **** 02850002 ORG IOBR+1 PLACE CHANNEL PROGRAMS 02900002 * BEHIND THE IOB SEEK FIELD 02950002 STWINCP DS 0D THIS CHANNEL PROGRAM READS THE 03000002 * INITIAL TWO DIRECTORY BLOCKS 03050002 STWSRCH1 DS 2F SEARCH ID EQUAL 03100002 STWTIC11 DS 2F TRANSFER CONTROL TO SEARCH ID 03150002 STWRDCT1 DS 2F READ COUNT 03200002 STWSRKY1 DS XL1 SEARCH ON KEY EQUAL OR HIGH 03250002 STWKYAD1 DS AL3 KEY ADDRESS 03300002 DS XL4 FLAGS AND BYTE COUNT 03350002 STWTIC12 DS 2F TRANSFER CONTROL TO READ COUNT 03400002 STWRDAT1 DS 2F READ DATA 03450002 STWRCKD1 DS 2F READ COUNT KEY DATA 03500002 SPACE 03550002 STWWRDCP DS 0D THIS CHANNEL PROGRAM WRITES 03600002 * AND READS DIRECTORY BLOCKS 03650002 STWSRCH2 DS XL1 SEARCH ID EQUAL 03700002 STWIDAD2 DS AL3 ID ADDRESS 03750002 DS XL4 FLAGS AND BYTE COUNT 03800002 STWTIC2 DS 2F TRANSFER CONTROL TO SEARCH ID 03850002 STWWRKD1 DS XL1 WRITE KEY AND DATA 03900002 STWWRAD2 DS AL3 WRITE ADDRESS 03950002 STWWFLG2 DS B FLAGS 04000002 STWCMDCH EQU X'40' COMMAND CHAIN TO NEXT CCW 04050002 DS XL3 BYTE COUNT 04100002 STWRCKD2 DS XL1 READ COUNT KEY DATA 04150002 STWRDAD2 DS AL3 READ ADDRESS 04200002 DS XL4 FLAGS AND BYTE COUNT 04250002 STWRCKD3 DS XL1 READ COUNT KEY DATA 04300002 STWRDAD3 DS AL3 READ ADDRESS 04350002 STWRDFL3 DS XL1 CCW FLAGS ZA01548 04400000 DS XL3 BYTE COUNT ZA01548 04402000 STWRCKD4 DS XL1 READ COUNT KEY DATA ZA01548 04410000 STWRDAD4 DS AL3 READ ADDRESS ZA01548 04420000 STWRDFL4 DS XL1 CCW FLAGS ZA01548 04430000 DS XL3 BYTE COUNT ZA01548 04440000 SPACE 2 04450002 **** 04500002 **** COMMAND CODE EQUATES FOR CHANNEL PROGRAMS 04550002 **** 04600002 STWIDEQ EQU X'31' SEARCH ON IDENTIFIER EQUAL 04650002 STWWRKD EQU X'0D' WRITE KEY AND DATA 04700002 STWRDKD EQU X'8E' READ KEY AND DATA 04750002 STWRDCKD EQU X'9E' READ COUNT, KEY, AND DATA 04800002 STWSKIP EQU X'10' SUPPRESS DATA TRANSFER ZA01548 04810000 SPACE 2 04850002 **** 04900002 **** STOW'S INPUT - OUTPUT BUFFERS. FOR DETAILS SEE THE 04950002 **** BUFFER DSECT. 05000002 **** 05050002 STWBUF1 DS 0F INITIALLY CONTAINS THE FIRST 05100002 DS CL276 OF TWO DIRECTORY BLOCKS READ 05150002 STWBUF2 DS 0F INITIALLY CONTAINS THE SECOND 05200002 DS CL276 OF TWO DIRECTORY BLOCKS READ 05250002 STWBUF3 DS 0F INITIALLY USED AS THE FIRST 05300002 DS CL276 OUTPUT BUFFER 05350002 STWBUF4 DS 0F TEMPORARILY USED AS 1ST SA66881 05400000 DS CL276 INPUT BUFFER FOR EXCP SA66881 05410000 STWEND DS 0D END OF WORK AREA 05450002 CORESIZE EQU STWEND-STWAREA SIZE OF STOW'S WORK AREA 05500002 EJECT 05550002 BUFFER DSECT 05600002 SPACE 05650002 *********************************************************************** 05700002 **** **** 05750002 **** THIS DSECT MAPS STOW'S INPUT - OUTPUT BUFFERS **** 05800002 **** **** 05850002 *********************************************************************** 05900002 SPACE 05950002 BUFCNT DS 0CL8 COUNT FIELD CONTAINING 06000002 * ABSOLUTE DISK ADDRESS 06050002 BUFCCHHR DS CL5 CCHHR FIELD 06100002 BUFKDD DS CL3 KEY AND DATA LENGTH 06150002 BUFKEY DS CL8 KEY FIELD (HIGHEST MEMBER NAME) 06200002 BUFDATA DS 0CL256 DATA AREA 06250002 BUFN DS H NUMBER OF BYTES USED IN 06300002 * THIS DIRECTORY BLOCK 06350002 BUFENTRY DS CL254 DIRECTORY ENTRIES 06400002 BUFADDR DS A USED TO CHAIN THE BUFFERS 06450002 BUFPREFX EQU L'BUFCNT+L'BUFKEY+L'BUFN OFFSET TO BUFFER ENTRY AREA 06500002 SPACE 4 06550002 RBPRFX DSECT RESUME RB DSECT Y02072 08250002 ORG RBEXSAVE 08300002 SPACE 08350002 *********************************************************************** 08400002 **** **** 08450002 **** DSECT OF THE EXTENDED SAVE AREA OF THE SVRB **** 08500002 **** **** 08550002 *********************************************************************** 08600002 SPACE 08650002 XSAREG14 DS A SAVE AREA FOR REG 14 Y02072 08700002 XSASTWWA DS A ADDR OF STOW WORK AREA Y02072 08750002 * XSAESTAE ESTAE MF=L ESTAE LIST AREA Y02072 08760002 XSAESTAE ESTAE MF=L ESTAE LIST AREA Y02072 08800002 XSARBXLN EQU *-RBEXSAVE,(L'RBEXSAVE-(*-RBEXSAVE)) LENGTH OF Y02072 08850002 * EXTENDED SAVE AREA USED Y02072 08900002 * BY STOW Y02072 08920002 MEND , */ 08950002 * %STWL2: ; 09000002 * 09040002 *DCL STWAREA CHAR(1072) BASED; /* STOW WORK AREA */ 09042002 * 09092002 * 09750002 */********************************************************************/ 09800002 */* STRUCTURE OF THE EXTENDED SAVE AREA OF THE STOW SVRB. */ 09850002 */********************************************************************/ 09900002 * 09950002 *DCL 1 * DEFINED(RBEXSAVE), 10000002 * 2 XSAREG14 PTR(31), /* SAVE AREA FOR REG 14 */ 10050002 * 2 XSASTWWA PTR(31), /* ADDR OF STOW WARK AREA */ 10100002 * 2 XSAESTAE CHAR(16), /* LIST FORM OF ESTAE MACRO */ 10150002 * 3 XSAGTRAC CHAR(8), /* LIST FORM OF GTRACE MACRO */ 10200002 * 3 XSARTMAD PTR(31) BDY(BYTE); /* SAVE AREA FOR RTM RTRN ADR*/ 10250002