TITLE 'IKJEFD00, DAIR, DYNAMIC ALLOCATION INTERFACE ROUTINE' 00010000 * GEN(TITLE 'IKJEFD00, DAIR, DYNAMIC ALLOCATION INTERFACE ROUTINE'); 00020000 TITLE 'IKJEFD00, DAIR, DYNAMIC ALLOCATION INTERFACE ROUTINE' 00030000 * /******************************************************************** 00040000 * /* * 00050000 * /* TITLE IKJEFD00,DAIR,DYNAMIC ALLOCATION INTERFACE ROUTINE * 00060000 * /* * 00070000 * /* STATUS * 00080000 * /* CHANGE LEVEL 002 C99236* 00090000 * /* C 5053,5192,5400-5900,61200,63000,70200,78900,79100 C99236* 00100000 * /* C 92400,111600,159600,162000,173400,174600,176400 C99236* 00110000 * /* C 390500,391100,671576,745800,750000-750600,755600 C99236* 00120000 * /* C 868100,869100,4973,7200,10800,17400,14400,741600 C99236* 00130000 * /* A 5920,18600-19200,61700-61740,63101-63109,78920,92900 C99236* 00140000 * /* A 97900-98200,112100,119600-119880,131500-131600 C99236* 00150000 * /* A 148911,173900,176900,275404-275559,304720-305199 C99236* 00160000 * /* A 364804-364819,389600-389960,639500-639931 C99236* 00170000 * /* A 640104-641033,670700-670788,686900-686988,745820 C99236* 00180000 * /* A 751100,755620,776900-777320,782320-782899 C99236* 00190000 * /* A 782999-783200,835300-835660,858010-859050 C99236* 00200000 * /* A 868800-869096,958322-958328,4917,4974 C99236* 00210000 * /* D 351100,334900-337200,658288-658700,811840-812300 C99236* 00220000 * /* A 063100-063200,063300-063440,101900-101960, A43020* 00230000 * /* A 144100-144499,197696-197783,374800-385286, A43020* 00240000 * /* A 391160-391188 A43020* 00250000 * /* C 004930,062300-062940,063540-063544,074400- A43020* 00260000 * /* C 074940,133800,137400-138486,255600.267000, A43020* 00270000 * /* C 326420-326480,326520-326580,349200,357800- A43020* 00280000 * /* C 358500,359400,361100,398500-398600,482320, A43020* 00290000 * /* C 778800-779400 A43020* 00300000 * /* A 148902,148903,144960-144996,137300,978969- A42966* 00310000 * /* A 978994,979018,979022-979084,979114-979174, A42966* 00320000 * /* A 979444-979621,980890,980910 A42966* 00330000 * /* C 149035,198962-198998,980870 A42966* 00340000 * /* A 979783-980770 A41399* 00350000 * /* C 213600,215400,217120,225000,226204,226674, M0766* 00360000 * /* C 227710,228640,247800,263400,265200,596340 M0766* 00370000 * /* A 324720-324760,343803-343866,664240-664248, M0764* 00380000 * /* A 641360,782900,804520-804540 M0764* 00390000 * /* A 623300-623800 M0765* 00400000 * /* C 178100-178197,190700-191208 M2177* 00410000 * /* A 377700-378500,746400-746940 M2168* 00420000 * /* * 00430000 * /* FUNCTION * 00440000 * /* DAIR CONSISTS OF SEVERAL DIFFERENT FUNCTIONS. EACH DAIR * 00450000 * /* FUNCTION IS DESCRIBED BELOW IN DETAIL UNDER EACH * 00460000 * /* DAIR ENTRY CODE. THE FUNCTION ITSELF IS DECRIBED UNDER THE * 00470000 * /* HEADINGS DESCRIPTION OF FLOWCHART . * 00480000 * /* * 00490000 * /* ENTRY POINTS * 00500000 * /* IKJEFD00 * 00510000 * /* * 00520000 * /* INPUT * 00530000 * /* REG 1 IS A POINTER TO THE DAIR PARMLIST WHICH CONSISTS OF * 00540000 * /* FIVE FULL WORDS. * 00550000 * /* WORD 1 POINTER TO UPT * 00560000 * /* 2 POINTER TO ECT * 00570000 * /* 3 POINTER TO ECB * 00580000 * /* 4 POINTER TO PSCB * 00590000 * /* 5 POINTER TO ACTUAL PARMLIST FOR DESIRED FUNCTION * 00600000 * /* (EACH PARMLIST IS DESCRIBED UNDER THE PARMLIST MACRO'S) * 00610000 * /* * 00620000 * /* OUTPUT * 00630000 * /* REGISTER 15--RETURN CODE--DESCRIBED BELOW * 00640000 * /* ALLOCATED DDNAME (IF APPROPRIATE) * 00650000 * /* ALLOCATED DSNAME (IF APPROPRIATE) * 00660000 * /* DSORG (IF APPROPRIATE) * 00670000 * /* DESIRED FUNCTION * 00680000 * /* OTHER OUTPUT IS DESCRIBED BELOW UNDER SEPERATE FUNCTIONS * 00690000 * /* * 00700000 * /* MESSAGES * 00710000 * /* NONE * 00720000 * /* * 00730000 * /* EXTERNAL REFERENCES * 00740000 * /* DESCRIBED BELOW UNDER EACH DESIRED FUNCTION * 00750000 * /* * 00760000 * /* EXITS * 00770000 * /* NORMAL--RETURN IN EXITCODE WITH RETURN CODE IN REG 15 * 00780000 * /* ERROR---NONE * 00790000 * /* * 00800000 * /* TABLES/WORKAREAS * 00810000 * /* DAIRWA--WORK AREA USED BY DAIR TO STORE DIFFERENT POINTERS * 00820000 * /* AND INFORMATION. * 00830000 * /* * 00840000 * /* ATTRIBUTES * 00850000 * /* REENTRANT * 00860000 * /* * 00870000 * /* NOTES * 00880000 * /* THIS MODULE IS DEPENDENT ON THE EBCDIC CHARACTER CODE * 00890000 * /* WHICH WAS USED FOR ASSEMBLY AND MUST BE REASSEMBLED IF A * 00900000 * /* DIFFERENT CHARACTER SET IS TO BE USED DURING EXECUTION. * 00910000 * /* * 00920000 * /* GENERAL DESCRIPTION - IKJEFD00 * 00930000 * /* IKJEFD00 (DAIR) IS A REENTRANT, REFRESHABLE MODULE OF * 00940000 * /* APPROXIMATELY 12K BYTES IN SIZE. IT IS COMPRISED OF 15 * 00950000 * /* ROUTINES. ONE FOR EACH OF ITS FUNCTIONS (12), ONE FOR * 00960000 * /* ENTRANCE, ROUTING AND EXIT (DAIRCTL), AND TWO INTERNAL * 00970000 * /* SUBROUTINES, ONE FOR PREFIXING THE USERID TO DATA SET NAMES * 00980000 * /* (USERID), AND ONE FOR SEARCHING THE DSE (SEARCH). * 00990000 * /* THERE ARE 12 POSSIBLE RETURN CODES FROM DAIR, THEY * 01000000 * /* ARE: * 01010000 * /* 0 - SUCCESSFUL OPERATION * 01020000 * /* 4 - INVALID PARAMETER LIST * 01030000 * /* 8 - ERROR IN CATALOG MANAGEMENT ROUTINE THE * 01040000 * /* CATALOG MANAGEMENT RETURN CODE IS STORED * 01050000 * /* IN THE CTRC FIELD * 01060000 * /* 12- ERROR IN DYNAMIC ALLOCATION, THE * 01070000 * /* DYNAMIC ALLOCATION RETURN CODE IS * 01080000 * /* STORED IN THE DARC FIELD * 01090000 * /* 16- NO ENTRIES AVAILABLE FOR USE IN TIOT * 01100000 * /* 20- DDNAME REQUESTED IS CURRENTLY * 01110000 * /* UNAVAILABLE * 01120000 * /* OR ATTRIBUTE LIST NAME FOUND * 01130000 * /* 24- DSNAME REQUESTED IS A MEMBER OF A * 01140000 * /* CONCATENATED GROUP * 01150000 * /* 28- DDNAME OR DSNAME SPECIFIED IS NOT * 01160000 * /* CURRENTLY ALLOCATED OR ATTR-LIST-NAME NOT FOUND * 01170000 * /* 32- RETURNED WHEN REQUEST IS FOR A NON-PERMANENTLY * 01180000 * /* ALLOCATED DATASET WITH A REQUESTED STATUS OF NEW * 01190000 * /* AND AN ALLOCATED DISP OF OTHER THAN DELETE, OR FOR * 01200000 * /* A PERMANENTLY ALLOCATED DATASET WITH A REQUESTED * 01210000 * /* STATUS OF NEW. * 01220000 * /* 36- ERROR IN CATALOG INFORMATION ROUTINE * 01230000 * /* 40- WHILE MORE INDEX BLOCK EXIST. * 01240000 * /* IF MORE QUALIFIERS ARE DESIRED A * 01250000 * /* LARGER RETURN AREA MUST BE SPECIFIED * 01260000 * /* 44- RETURNED WHEN REQUEST IS FOR A NON-PERMANENTLY * 01270000 * /* ALLOCATED DATASET WITH A REQUESTED STATUS OF OLD,MOD,* 01280000 * /* OR SHR AND AN ALLOCATED DISP OF DELETE IN DSE AND * 01290000 * /* NO VOLUME INFORMATION IS SUPPLIED. * 01300000 * /* ******************** * 01310000 * /* * DAIRCTRL * * 01320000 * /* ******************** * 01330000 * /* DAIRCTRL CHART - DR1 * 01340000 * /* INPUT * 01350000 * /* R1 POINTING TO AN AREA CONTAINING THE ADDRESSES * 01360000 * /* OF A UPT, ECT, CP'S ECB, PSCB, AND DIAR PARM BLOCK. * 01370000 * /* OUTPUT * 01380000 * /* DESIRED FUNCTION * 01390000 * /* RETURN CODES * 01400000 * /* NONE * 01410000 * /* CONTROL BLOCKS REFERENCED * 01420000 * /* 1) DSE * 01430000 * /* 2) CVT * 01440000 * /* 3) TCB * 01450000 * /* 4) JSCB * 01460000 * /* 5) PSCB * 01470000 * /* 6) TSCVT * 01480000 * /* 7) TJB * 01490000 * /* 8) TJBX * 01500000 * /* EXTERNAL ROUTINES * 01510000 * /* 1) GETMAIN * 01520000 * /* 2) FREEMAIN * 01530000 * /* 3) STAX * 01540000 * /* 4) STAE * 01550000 * /* 5) ENQ * 01560000 * /* 6) DEQ * 01570000 * /* DESCRIPTION OF FLOWCHART * 01580000 * /* THIS IS THE FIRST ROUTINE TO GET CONTROL UPON ENTRANCE * 01590000 * /* TO DAIR. IT IS ALSO THE ROUTINE BY WHICH EXIT FROM DAIR * 01600000 * /* IS EFFECTED. IT IS BROKEN INTO TWO PARTS, THE FIRST * 01610000 * /* PART DOES INITIAL HOUSEKEEPING GETS STORAGE FOR DYNAMIC * 01620000 * /* ALLOCATION AND DSE UPDATE PARM LISTS AND THE DAIR WORK * 01630000 * /* AREA (DAIRWA) AND INITIALIZES FIELDS IN IT. * 01640000 * /* DAIRCTRL ALSO ISSUES A STAX TO DEFER ATTENTIONS IN DAIR. * 01650000 * /* DAIR ALSO ENQ'S UPON ITSELF AND ISSUES A STAE MACRO IN * 01660000 * /* ORDER TO INTERCEPT ABENDS. DAIR THEN * 01670000 * /* ROUTES CONTROL VIA A BRANCHING TABLE AND THE OPERATION * 01680000 * /* CODE IN THE USER PARM LIST TO ONE OF TWELVE POSSIBLE * 01690000 * /* ROUTINES. * 01700000 * /* THE SECOND PART OF THE ROUTINE IS CALLED EXITCODE. IT * 01710000 * /* HAS TWO FUNCTIONS, ONE IS TO PASS CONTROL VIA A * 01720000 * /* BRANCHING TABLE AND BITS 5-7 OF STATUS2 TO ONE OF EIGHT * 01730000 * /* DIFFERENT PLACES. THIS IS DONE ANYTIME ONE OF THE * 01740000 * /* ROUTINES HAS NEED FOR A FUNCTION IN ANOTHER ROUTINE AND * 01750000 * /* BRANCHES TO THAT ROUTINE. SINCE THE EXIT FROM EACH * 01760000 * /* ROUTINE IS THROUGH EXITCODE, THIS ROUTINE REROUTES * 01770000 * /* CONTROL TO THE PROPER PLACE. * 01780000 * /* WHEN ENTERED FOR THE PURPOSE OF RETURNING CONTROL TO THE * 01790000 * /* CALLER OF DAIR ALL CORE NOT PREVIOUSLY FREED IS FREED, * 01800000 * /* A DEQ , STAX, AND STAE ARE ISSUED, * 01810000 * /* THE RETURN CODE IS LOADED, REGISTERS ARE RESTORED AND * 01820000 * /* CONTROL IS PASSED TO THE CALLER. * 01830000 * /* ******************** * 01840000 * /* * DAIR 00 * * 01850000 * /* ******************** * 01860000 * /* DAIR00 CHAR - DR2 * 01870000 * /* INPUT * 01880000 * /* USER PARAMETER LIST * 01890000 * /* OUTPUT * 01900000 * /* R2 POINTING TO DAIRWA * 01910000 * /* RETURN CODES IN DAIRWA * 01920000 * /* DSORG IN PARM LIST * 01930000 * /* RETURN CODES * 01940000 * /* 0, 4 * 01950000 * /* CONTROL BLOCKS REFERENCED * 01960000 * /* 1) DSE * 01970000 * /* EXTERNAL ROUTINES * 01980000 * /* NONE * 01990000 * /* DESCRIPTION OF FLOWCHART * 02000000 * /* THIS ROUTINE IS USED TO SEARCH THE DSE FOR A DDNAME OR * 02010000 * /* A DSNAME. THE USER PARM LIST IS USED TO DETERMINE THE * 02020000 * /* FUNCTION. * 02030000 * /* IF DSNAMEPTR IS ZERO AND DDNAME IS BLANK A RETURN * 02040000 * /* CODE OF 4 IS PLACED IN RTCODE AND CONTROL IS PASSED TO * 02050000 * /* THE SEARCH SUBROUTINE. IF THE DDNAME IS FOUND IN THE * 02060000 * /* DSE AND IT IS CURRENTLY ALLOCATED TO THE TERMINAL BIT 7 * 02070000 * /* OF THE PARM FLAGS IS SET, THE DSEDSORG BYTE IS MOVED * 02080000 * /* FROM THE DSE INTO THE PARM LIST AND CONTROL IS PASSED TO * 02090000 * /* TO EXITCODE. IF THE DDNAME IS NOT ALLOCATED TO THE * 02100000 * /* TERMINAL BIT 6 OF THE PARM FLAGS IS SET, THE DSEDSORG * 02110000 * /* BYTE IS MOVED FROM THE DSE INTO THE PARM LIST AND * 02120000 * /* CONTROL IS PASSED TO EXITCODE. IF THE DDNAME IS A DYNAM * 02130000 * /* BIT 5 OF THE PARM FLAGS IS SET, THE DSEDSORG BYTE IS * 02140000 * /* MOVED FROM THE DSE INTO THE PARMLIST AND CONTROL IS * 02150000 * /* PASSED TO EXITCODE. IF THE DDNAME IS FOUND AND IT IS * 02160000 * /* PERMANENTLY ALLOCATED BIT 4 PF THE PARM FLAGS IS SET. * 02170000 * /* BIT 4 WILL ALSO BE SET IF SEARCH IS ON DSNAME AND IT * 02180000 * /* HAPPENS TO BE PERMANENTLY ALLOCATED. IF THE DDNAME ISN'T* 02190000 * /* FOUND IN THE DSE NO FLAG BITS ARE SET AND PROCESSING * 02200000 * /* CONTINUES AS ABOVE. IF THE DSNAMEPTR IS NON-ZERO AND * 02210000 * /* THE USERID IS TO BE PROVIDED THE USERID SUBROUTINE IS * 02220000 * /* ENTERED. IF IT PASSES BACK AN UNSUCCESSFUL RETURN CODE * 02230000 * /* A 4 IS PLACED IN RTCODE AND CONTROL IS PASSED TO EXIT * 02240000 * /* CODE. IF USERID IS SUCCESSFUL A SEARCH ON DSNAME IS * 02250000 * /* INDICATED AND CONTROL IS PASSED TO THE SEARCH SUBROUTINE * 02260000 * /* IF THE DSNAME IS FOUND BIT 6 OF THE PARM FLAGS IS SET, * 02270000 * /* THE DSEDSORG IS MOVED INTO THE PARM LIST AND CONTROL IS * 02280000 * /* PASSED TO EXITCODE. * 02290000 * /* IF THE DSNAME IS NOT FOUND THE FLAG BITS ARE NOT SET * 02300000 * /* AND CONTROL IS PASSED TO EXITCODE. * 02310000 * /* ******************** * 02320000 * /* * DAIR 04 * * 02330000 * /* ******************** * 02340000 * /* DAIR04 CHART - DR3 * 02350000 * /* INPUT * 02360000 * /* USER PARAMETER LIST * 02370000 * /* OUTPUT * 02380000 * /* RETURN CODES IN DAIRWA * 02390000 * /* DSORG IN PARM LIST * 02400000 * /* RETURN CODES * 02410000 * /* 0, 4, 8 * 02420000 * /* CONTROL BLOCKS REFERENCED * 02430000 * /* 1) DSE * 02440000 * /* EXTERNAL ROUTINES * 02450000 * /* 1) GETMAIN * 02460000 * /* 2) FREEMAIN * 02470000 * /* 3) LOCATE * 02480000 * /* DESCRIPTION OF FLOWCHART * 02490000 * /* IF THE DSNAMEPTR IS ZERO, A 4 IS PLACED IN RTCODE AND * 02500000 * /* CONTROL IS PASSED TO EXITCODE. * 02510000 * /* IF THE DSNAMEPTR IS NON-ZERO AND THE USERID IS TO BE * 02520000 * /* PROVIDED THE USERID SUBROUTINE IS ENTERED. UPON * 02530000 * /* SUCCESSFUL COMPLETION OF THE USERID ROUTINE A SEARCH * 02540000 * /* FOR THE DSNAME IN THE DSE CHAIN BEGINS. BY WAY OF THE * 02550000 * /* SEARCH SUBROUTINE. IF THE DSNAME IS FOUND IN THE DSE, * 02560000 * /* BIT 6 OF THE FLAG FIELD IS SET, THE DSE DSORG IS MOVED * 02570000 * /* INTO THE PARM LIST AND CONTROL IS PASSED TO EXIT CODE. * 02580000 * /* IF THE DSNAME IS NOT FOUND IN THE DSE A GETMAIN FOR A * 02590000 * /* LOCATE WORK AREA IS DONE AND THE PARAMETER LIST SET UP * 02600000 * /* THE LOCATE IS THEN ISSUED, IF SUCCESSFUL BIT 5 OF THE * 02610000 * /* PARM FLAGS IS SET. IF NOT FOUND AN 8 IS PLACED IN * 02620000 * /* RTCODE AND THE LOCATE RETURN CODE IS PLACED IN THE * 02630000 * /* CTRC FIELD OF THE PARM LIST. CONTROL IS THEN PASSED TO * 02640000 * /* EXITCODE. * 02650000 * /* ******************** * 02660000 * /* * DAIR 08 * * 02670000 * /* ******************** * 02680000 * /* DAIR08 CHART - DR4 * 02690000 * /* INPUT * 02700000 * /* USER PARAMETER LIST * 02710000 * /* OUTPUT * 02720000 * /* RETURN CODES IN DAIRWA * 02730000 * /* ALLOCATED DDNAME IN PARM LIST * 02740000 * /* DSORG IN PARM LIST * 02750000 * /* DSNAME IN PARM LIST * 02760000 * /* RETURN CODES * 02770000 * /* 0, 4, 8, 12, 16, 20, 28, 24, 32, 44 * 02780000 * /* CONTROL BLOCKS REFERENCED * 02790000 * /* 1) DSE * 02800000 * /* 2) ATRCB * 02810000 * /* EXTERNAL ROUTINES * 02820000 * /* 1) GETMAIN * 02830000 * /* 2) CATALOG * 02840000 * /* 3) LOCATE * 02850000 * /* 4) FREEMAIN * 02860000 * /* 5) DYNAMIC ALLOCATION * 02870000 * /* 6) OBTAIN * 02880000 * /* DESCRIPTION OF FLOWCHART * 02890000 * /* THIS ROUTINE IS ENTERED TO ALLOCATE A DATASET WITH * 02900000 * /* OR WITHOUT AN ATTRIBUTE LIST OF DCB PARAMETERS. * 02910000 * /* IT SETS UP A DYNAMIC ALLOCATION PARAMETER LIST FOR * 02920000 * /* EITHER THE CONVERT OR DATASET FUNCTIONS. * 02930000 * /* WHEN FIRST ENTERED SOME VALIDITY CHECKING OF THE * 02940000 * /* PARAMETER LIST ENSUES. FIRST, A CHECK IS MADE FOR * 02950000 * /* THE SPECIFICATION OF AN ATTRIBUTE LIST. IF ONE IS * 02960000 * /* INDICATED, A VALIDITY CHECK OF THE ATTR-LIST-NAME IS * 02970000 * /* MADE. A RETURN CODE OF 4 IS POSSIBLE IF THE ATTR- * 02980000 * /* LIST-NAME HAS NOT BEEN SUPPLIED, AND CONTROL IS PASSED * 02990000 * /* TO EXITCODE. OTHERWISE, A SEARCH IS MADE OF THE ATRCB * 03000000 * /* CHAIN FOR THE SUPPLIED ATTR-LIST-NAME. A RETURN CODE * 03010000 * /* OF 28 IS POSSIBLE IF THE ATTR-LIST-NAME IS NOT FOUND * 03020000 * /* ON THE CHAIN, AND CONTROL IS PASSED TO EXITCODE. * 03030000 * /* ALSO, A RETURN CODE OF 4 IS POSSIBLE IF THE * 03040000 * /* DISPOSITION IS NEITHER NEW NOR MOD AND NO DSNAME * 03050000 * /* IS PRESENT AND THE USERID SUBROUTINE IS UNSUCCESSFUL. * 03060000 * /* A 4 IS ALSO RETURNED IF DISP1 AND DISP2 IS (NEW,KEEP) * 03070000 * /* OR (NEW,UNCATLG), OR IF THE SERIAL NUMBER OR UNIT NAME * 03080000 * /* IS ZERO. PREFIXING THE USERID TO AN & DSNAME IS ALSO * 03090000 * /* INVALID. * 03100000 * /* ONCE THIS VALIDITY CHECKING IS DONE PARAMETERS ARE SET * 03110000 * /* UP FOR THE SEARCH SUBROUTINE. THE SEARCH IS FOR DSNAME * 03120000 * /* (IF ONE IS PROVIDED), MEMBERNAME (IF ONE IS PROVIDED), * 03130000 * /* DDNAME (IF ONE IS PROVIDED, AND ALWAYS FOR AN ENTRY * 03140000 * /* WHICH IS NOT IN USE, AND A DYNAM ENTRY. THE ATTRSRCH * 03150000 * /* SUBROUTINE (SEARCH ATRCB CHAIN) IS ENTERED TO SEARCH * 03160000 * /* FOR A DDNAME (IF PROVIDED) THAT HAS NOT BEEN FOUND * 03170000 * /* WITH THE SEARCH SUBROUTINE BEFORE ISSUING THE SVC 99 * 03180000 * /* FOR A CONVERT OR FOR A DATASET. IF IT SI FOUND, THIS * 03190000 * /* OPERATION FAILS WITH A RETURN CODE OF 20, AND CONTROL * 03200000 * /* IS PASSED TO EXITCODE. * 03210000 * /* AFTER THE SEARCH A CHECK IS MADE OF STATUS2 TO SEE IF * 03220000 * /* DDNAME SHOULD BE KEYED ON RATHER THAN DSNAME (THIS IS SO * 03230000 * /* IF DAIR08 HAS BEEN ENTERED FROM DAIR24), IF SO CONTROL * 03240000 * /* IS PASSED BACK TO DAIR24. * 03250000 * /* AFTER SEARCH IF AN ELIGIBLE ENTRY FOR THE DATASET * 03260000 * /* HAS BEEN FOUND THE CONVERT FUNCTION MAY BE USED.SPECIAL * 03270000 * /* PROCESS IN SEARCH FOR CODE 08 DETERMINES IF AN ENTRY IS * 03280000 * /* ELIGIBLE. UPON DIFFERENT CONDITIONS DIFFERENT CONVERT * 03290000 * /* OPTIONS WILL BE SET IN THE SEARCH ROUTINE AND IN CODE08. * 03300000 * /* IF A DDNAME HAS ALSO BEEN SEARCHED * 03310000 * /* IN RTCODE. IF IT IS UNSUCCESSFUL A RETURN CODE OF 12 * 03320000 * /* FOR AND FOUND, A CHECK IS MADE TO SEE IF IT CAN BE USED * 03330000 * /* IF NOT RTCODE RECEIVES A RETURN CODE OF 20 AND CONTROL * 03340000 * /* IS PASSED TO EXITCODE. IF THE DDNAME CAN BE USED AND * 03350000 * /* THE DDNAME WHICH WAS FOUND AND DSNAME WHICH WAS FOUND * 03360000 * /* ARE INDIFFERENT DSE BLOCKS THE EXCHANGE OPTIONS OF * 03370000 * /* CONVERT IS SPECIFIED. THE DSE UPDATE PARM LIST AND A * 03380000 * /* CONVERT PARM LIST ARE THEN SET UP UTILIZING THE * 03390000 * /* PARAMETERS PASSED TO DAIR. * 03400000 * /* BEFORE ISSUING THE SVC 99 FOR A CONVERT OR FOR * 03410000 * /* DATASET THE LOCATE AND OBTAIN SVC'S ARE ISSUED IF * 03420000 * /* NECESSARY. IF THE USER HAS SPECIFIED THE VOLUME * 03430000 * /* THEN THE LOCATE IS NOT NECESSARY, OTHERWISE IT WILL * 03440000 * /* BE ISSUED. THE OBTAIN CAN THEN ALSO BE ISSUED IF * 03450000 * /* NECESSARY. A CHECK IS ALSO MADE TO SEE IF A * 03460000 * /* MEMBERNAME IS SPECIFIED WITH A DATA SET ORGANIZA- * 03470000 * /* TION OF SOMETHING OTHER THAN PO. RETURN IS THEN * 03480000 * /* TO EITHER THE CONVERT OR DATASET PATHS. * 03490000 * /* SVC 99 (DYNAMIC ALLOCATION) IS THEN ISSUED. * 03500000 * /* IF IT IS SUCCESSFUL A RETURN CODE OF ZERO IS PLACED * 03510000 * /* IN RTCODE. IF IT IS UNSUCCESSFUL A RETURN CODE OF 12 * 03520000 * /* IS PLACED IN RTCODE, AND R15 PLACED IN THE DARC FIELD. * 03530000 * /* CONTROL IS THEN PASSED TO EXITCODE. IF A * 03540000 * /* DATA SET NAME HAS NOT BEEN GIVEN, OR IF THE GIVEN NAME * 03550000 * /* CANNOT BE FOUND THE CONVERT FUNCTION CANNOT BE USED AND * 03560000 * /* AN ATTEMPT IS MADE TO USE THE DATASET FUNCTION OF * 03570000 * /* DYNAMIC ALLOCATION. IF THE DDNAME HAS BEEN GIVEN AND * 03580000 * /* HAS BEEN FOUND IN THE DSE, CHECKS ARE MADE TO SEE * 03590000 * /* IF THIS ENTRY CAN BE USED. IF IT IS CURRENTLY IN USE * 03600000 * /* OR PERMANENTLY ALLOCATED A RETURN CODE OF 20 IS PLACED * 03610000 * /* IN RTCODE AND CONTROL IS PASSED TO EXITCODE. IF THE * 03620000 * /* DDNAME IS A MEMBER OF A DYNAMICALLY CONCATENATED GROUP * 03630000 * /* AN ATTEMPT IS MADE TO DECONCATENATE THE GROUP. * 03640000 * /* THIS IS DONE BY SETTING STATUS2 TO INDICATE THE RETURN * 03650000 * /* POINT, SETTING BIT 1 IN STATUS1 TO INDICATE INFORMATION * 03660000 * /* FROM A DSE BLOCK IS TO BE USED INSTEAD OF THE USER * 03670000 * /* PARMS, AND PASSING CONTROL TO DAIR10 FOR THE DECONCAT. * 03680000 * /* UPON RETURN, IF THE DECONCAT WAS SUCCESSFUL PROCESSING * 03690000 * /* CONTINUES. IF THE DECONCAT HAS BEEN UNSUCCESSFUL CONTRL * 03700000 * /* IS PASSED TO EXITCODE. * 03710000 * /* IF THE DDNAME HAS NOT BEEN GIVEN OR IF IT CANNOT BE * 03720000 * /* FOUND, A DYNAM OR NOT IN USE ENTRY MUST BE USED. * 03730000 * /* IF NEITHER TYPE IS AVAILABLE A RETURN CODE OF 16 IS * 03740000 * /* PLACED IN RTCODE AND CONTROL IS PASSED TO EXITCODE. * 03750000 * /* A DDNAME FROM A CONCATENATED GROUP WILL CAUSE A RETURN * 03760000 * /* CODE OF 24. * 03770000 * /* IF THE USER HAS NOT SUPPLIED A DDNAME AND THE DATASET * 03780000 * /* FUNCTION OF DYNAMIC ALLOCATION IS TO BE USED THEN A * 03790000 * /* DDNAME WILL BE GENERATED FOR HIM IN THE DDNAME GENERATE * 03800000 * /* ROUTINE DESCRIBED BELOW. * 03810000 * /* IF THERE IS NO DYNAM ENTRY AVAILABLE BUT THERE IS A NOT * 03820000 * /* IN USE ENTRY AN ATTEMPT IS MADE TO 1NALLOCATE THIS ENTRY * 03830000 * /* THIS IS ACCOMPLISHED BY SETTING STATUS2 TO INDICATE THE * 03840000 * /* RETURN POINT AND SETTING STATUS1 TO INDICATE INFORMATION * 03850000 * /* SHOULD BE OBTAINED FROM A DSE BLOCK, AND PASSING CONTROL * 03860000 * /* TO DAIR18. IF THE UNALLOCATION IS UNSUCCESSFUL CONTROL * 03870000 * /* IS PASSED TO EXITCODE. * 03880000 * /* IF UNALLOCATION IS SUCCESSFUL PROCESSING CONTINUES. * 03890000 * /* IF THERE IS A DYNAM ENTRY AVAILABLE PROCESSING CONTINUES * 03900000 * /* AT THIS POINT A DSE ENTRY HAS BEEN FOUND AND DATASET * 03910000 * /* CAN BE ISSUED. IF THE DSNAME IS SUPPLIED AND THE * 03920000 * /* DISPOSITION IS NEW, CATLG DAIR WILL CATALOG THE DATA SET * 03930000 * /* UPON SUCCESSFUL ALLOCATION OF THE DATA SET. * 03940000 * /* MOD, CATLG DATASETS WILL NOT BE CATALOGED. THEREFORE * 03950000 * /* THE CATLG DISPOSITION WILL BE CHANGED TO KEEP PRIOR * 03960000 * /* TO ISSUING THE SVC 99 THUS PREVENTING A SECOND CATALOG * 03970000 * /* ATTEMPT BY UNALLOC. THE DSE UPDATE PARAMETER LIST AND * 03980000 * /* THE DATASET PARAMETER LIST ARE BUILT AND SVC 99 IS * 03990000 * /* ISSUED. * 04000000 * /* IF ALLOCATION WAS UNSUCCESSFUL A RETURN CODE OF 12 IS * 04010000 * /* PLACED IN RTCODE, R15 IS PLACED IN THE DARC FIELD AND * 04020000 * /* CONTROL IS PASSED TO EXIT CODE. * 04030000 * /* IF ALLOCATION HAS BEEN SUCCESSFUL AND THE DISPOSITION * 04040000 * /* WAS NOT ORIGINALLY NEW, CATLG A SUCCESSFUL RETURN * 04050000 * /* CODE IS SET UP AND CONTROL IS PASSED TO EXITCODE * 04060000 * /* IF THE DATESET WAS NEW, CATALOG AN ATTEMPT IS MADE TO * 04070000 * /* CATALOG IT. A GETMAIN IS ISSUED FOR THE PARAMETER * 04080000 * /* LIST NEEDED FOR CATALOG. THE PARAMETER LIST IS BUILT * 04090000 * /* AND THE CATALOG ISSUED. UPON SUCCESSFUL COMPLETION * 04100000 * /* A RETURN CODE OF ZERO IS PASSED AND CONTROL IS GIVEN * 04110000 * /* TO EXITCODE. IF AN ERROR OCCURED AN 8 IS PLACED IN * 04120000 * /* RTCODE AND REGISTER 15 IS PLACED IN THE CTRC FIELD. * 04130000 * /* THE DATASET IS THEN UNALLOCATED AND CONTROL GIVEN TO * 04140000 * /* EXITCODE. * 04150000 * /* THE CATBX MACRO IS USED AND IF INDEX LEVELS ARE * 04160000 * /* MISSING THE SAME CATALOG MACRO WILL ATTEMPT TO BUILD * 04170000 * /* THESE INDICES. * 04180000 * /* ******************** * 04190000 * /* * DAIR 0C * * 04200000 * /* ******************** * 04210000 * /* DAIROC CHART - DR5 * 04220000 * /* INPUT * 04230000 * /* USER PARAMETER LIST * 04240000 * /* OUTPUT * 04250000 * /* DESIRED FUNCTION * 04260000 * /* RETURN CODE * 04270000 * /* 0, 4, 12 * 04280000 * /* CONTROL BLOCKS REFERENCED * 04290000 * /* 1) DSE * 04300000 * /* EXTERNAL ROUTINES * 04310000 * /* 1) DYNAMIC ALLOCATION * 04320000 * /* DESCRIPTION OF FLOWCHART * 04330000 * /* IF THE NUMBER OF ENTRIES IS LESS THAN 2 A RETURN CODE * 04340000 * /* OF 4 IS PASSED OM RTCODE AND CONTROL IS GIVEN TO EXIT * 04350000 * /* CODE. IF THE NUMBER OF ENTRIES IS GREATER THAN 1, A DSE * 04360000 * /* UPDATE PARM LIST AND A CONCAT PARM LIST ARE BUILT, * 04370000 * /* AND SVC 99 IS ISSUED. IF UNSUCCESSFUL A RETURN CODE * 04380000 * /* OF 12 IS PLACED IN RTCODE AND R15 IS PLACED IN THE DARC * 04390000 * /* FIELD. CONTROL IS THEN PASSED TO EXITCODE. IF THE * 04400000 * /* CONCAT WAS SUCCESSFUL CONTROL IS PASSED TO EXITCODE. * 04410000 * /* ******************** * 04420000 * /* * DAIR 10 * * 04430000 * /* ******************** * 04440000 * /* DAIR10 CHART DR6 * 04450000 * /* INPUT * 04460000 * /* USER PARAMETER LIST * 04470000 * /* OUTPUT * 04480000 * /* DESIRED FUNCTION * 04490000 * /* RETURN CODE * 04500000 * /* RETURN CODES * 04510000 * /* 0, 4, 12 * 04520000 * /* CONTROL BLOCKS REFERENCED * 04530000 * /* 1) DSE * 04540000 * /* EXTERNAL ROUTINES * 04550000 * /* 1) DYNAMIC ALLOCATION * 04560000 * /* DESCRIPTION OF FLOWCHART * 04570000 * /* THIS ROUTINE CAN ACCEPT ITS INFORMATION FROM THE * 04580000 * /* USERS PARM LIST OR FROM A DSE BLOCK. * 04590000 * /* THE FIRST THING DONE IS TO DETERMINE WHICH PLACE * 04600000 * /* THE INFORMATION IS COMING FROM. A DSE UPDATE PARM * 04610000 * /* LIST AND A DECONCAT PARM LIST, THE LISTS ARE BUILT, AND * 04620000 * /* SVC 99 IS ISSUED. IF UNSUCCESSFUL A 12 IS PLACED * 04630000 * /* IN RTCODE, R15 IS PLACED IN THE DARC FIELD AND CONTROL * 04640000 * /* IS PASSED TO EXITCODE. IF THE DECONCAT IS SUCCESSFUL, * 04650000 * /* CONTROL IS PASSED TO EXITCODE. * 04660000 * /* ******************** * 04670000 * /* * DAIR 14 * * 04680000 * /* ******************** * 04690000 * /* DAIR 14 CHART - DR7 * 04700000 * /* INPUT * 04710000 * /* USER PARAMETER LIST * 04720000 * /* OUTPUT * 04730000 * /* COMPLETED FUNCTION * 04740000 * /* RETURN CODE * 04750000 * /* RETURN CODES * 04760000 * /* 0, 4, 36, 40 * 04770000 * /* CONTROL BLOCKS REFERENCED * 04780000 * /* NONE * 04790000 * /* EXTERNAL ROUTINES * 04800000 * /* 1) GETMAIN * 04810000 * /* 2) FREEMAIN * 04820000 * /* 4) LINK * 04830000 * /* DESCRIPTION OF FLOWCHART * 04840000 * /* THIS ROUTINE ATTEMPTS TO RETURN ALL QUALIFERS FOR THE * 04850000 * /* GIVEN INDEX NAME. IF THE DSNAMEPTR IS ZERO, OR IF THE * 04860000 * /* RETURN AREA ADDRESS IS ZERO, OR IF THE LENGTH OF THE * 04870000 * /* RETURN AREA IS LESS THAN EIGHT, A RETURN CODE OF 4 IS * 04880000 * /* PLACED IN RTCODE AND CONTROL IS PASSED TO EXITCODE. * 04890000 * /* THE USERID SUBROUTINE IS ENTERED IF THE USERID MUST BE * 04900000 * /* PREFIXED. A RETURN CODE OF 4 IS PLACED IN RTCODE IF AN * 04910000 * /* ERROR HAS OCCURRED. CONTROL IS THEN PASSED TO EXITCODE. * 04920000 * /* OTHERWISE, THE PASSED RETURN AREA IS CLEARED TO ZERO, * 04930000 * /* CORE IS OBTAINED FOR A REGISTER SAVE AREA, AN IKJEHCIR * 04940000 * /* PARAMETER LIST, AND A 265 BYTE RETURN AREA FOR IKJEHCIR. * 04950000 * /* THE PARAMETER LIST IS BUILT AND A LINK TO IKJEHCIR IS * 04960000 * /* DONE. * 04970000 * /* IF IKJEHCIR ENCOUNTERED AN ERROR A RETURN CODE OF 36 IS * 04980000 * /* PLACED IN RTCODE AND R15 IS PLACED IN RTCODE15. * 04990000 * /* CONTROL IS THEN PASSED TO EXITCODE. * 05000000 * /* WHEN THE RETURN IS SUCCESSFUL THE QUALIFIERS ARE MOVED * 05010000 * /* INTO THE USER'S RETURN AREA. IF THE RETURN AREA IS * 05020000 * /* EXHAUSTED BEFORE THE OUTPUT FROM IKJEHCIR * 05030000 * /* IS EXHAUSTED A RETURN CODE OF 40 IS PLACED IN RTCODE AND * 05040000 * /* CONTROL IS PASSED TO EXIT CODE. IF THE OUTPUT FROM * 05050000 * /* IKJEHCIR IS EXHAUSTED FIRST AND AN INDICATION IS PRESENT * 05060000 * /* THAT MORE INDEX BLOCKS EXIST CONTROL IS ONCE AGAIN * 05070000 * /* PASSED TO IKJEHCIR AS BEFORE AND PROCESSING CONTINUES * 05080000 * /* AS BEFORE. * 05090000 * /* IF ALL INDEX BLOCKS HAVE BEEN PROCESSED CONTROL IS * 05100000 * /* PASSED TO EXITCODE. * 05110000 * /* ******************** * 05120000 * /* * DAIR 18 * * 05130000 * /* ******************** * 05140000 * /* DAIR 18 CHAR - DR8 * 05150000 * /* INPUT * 05160000 * /* USER PARAMETER LIST * 05170000 * /* OUTPUT * 05180000 * /* DESIRED FUNCTION * 05190000 * /* RETURN CODES * 05200000 * /* RETURN CODES * 05210000 * /* 0, 4, 8, 12, 24, 28 * 05220000 * /* CONTROL BLOCKS REFERENCED * 05230000 * /* 1) DSE * 05240000 * /* EXTERNAL ROUTINES * 05250000 * /* 1) DYNAMIC ALLOCATION * 05260000 * /* DESCRIPTION OF FLOWCHART * 05270000 * /* THIS ROUTINE ATTEMPTS TO UNALLOCATE DATA SETS BY EITHER * 05280000 * /* DATA SET NAME OR DDNAME. IT CAN ALSO ACCEPT INFORMATION * 05290000 * /* FROM EITHER A DSE BLOCK OR THE USER'S PARM LIST. * 05300000 * /* IF UNALLICATION BY DSNAME IS REQUESTED AND THE DATA SET * 05310000 * /* APPEARS SEVERAL TIMES IN THE DSE ALL OF THESE ENTRIES * 05320000 * /* ARE UNALLOCATED. * 05330000 * /* IF UNALLOCATION OF A PARTICULAR DD IS REQUESTED * 05340000 * /* A SEPARATE SEARCH IS MADE ON THE DSNAME * 05350000 * /* ASSOCIATED WITH THAT DD. IF THAT DATASET IS FOUND TO BE * 05360000 * /* MULTIPLY ALLOCATED IN THE DSE CHAIN DAIR WILL SET BIT * 05370000 * /* 0 OF THE OPTION FIELD IN THE UNALLOC PARM LIST INDICATING* 05380000 * /* TO UNALLOC NOT TO DEQ THE DATASET. IN CODE '18'X * 05390000 * /* WHEN UNALLOCATION IS BY DSNAME AND REPEATED CALLS TO * 05400000 * /* UNALLOCATION ARE NECESSARY THEN DAIR WILL IGNORE MINOR * 05410000 * /* ERROR RETURN CODE FROM UNALLOC. THESE RETURN CODES WILL * 05420000 * /* BE LESS THAN X'40' AND THE DATASET WILL BE 1NALLOCATED. * 05430000 * /* THE MOST CURRENT NON-ZERO RETURN CODE WILL BE IN THE * 05440000 * /* DARC FIELD. * 05450000 * /* IF UNALLOCATION IS BY DDNAME AND THE DDNAME IS BLANK A * 05460000 * /* RETURN CODE OF 4 IS PLACED IN RTCODE, AND CONTROL * 05470000 * /* IS PASSED TO EXITCODE. THE LIST ARE BUILT AND SVC * 05480000 * /* 99 IS ISSUED. IF IT IS UNSUCCESSFUL A RETURN CODE OF 12 * 05490000 * /* IS PLACED IN RTCODE AND R15 IS PLACED IN THE DARC FIELD. * 05500000 * /* IF SUCCESSFUL, CONTROL IS PASSED TO EXITCODE. * 05510000 * /* IF THE UNALLOCATION IS TO BE BY DATA SET NAME AND THE * 05520000 * /* DSNAMEPTR IS ZERO OR THE DSNAME IS BLANK A RETURN * 05530000 * /* CODE OF 4 IS PLACED IN RTCODE. CONTROL IS THEN PASSED * 05540000 * /* TO EXITCODE. * 05550000 * /* IF THESE FIELDS ARE VALID THE USERID IS PREFIXED (IF * 05560000 * /* REQUIRED) THROUGH THE USERID SUBROUTINE. SHOULD THIS * 05570000 * /* ROUTINE ENCOUNTER AN ERROR THE PROCESSING IS THE SAME * 05580000 * /* AS FOR INVALID INFORMATION AS DESCRIBED IN THE * 05590000 * /* PREVIOUS PARAGRAPH. * 05600000 * /* THE SEARCH SUBROUTINE IS THEN USED TO SEARCH FOR THE * 05610000 * /* DSNAME (AND MEMBERNAME IF SPECIFIED) IN THE DSE. * 05620000 * /* AN INDICATOR IS SET WHICH TELLS SEARCH TO STOP AT THE * 05630000 * /* FIRST OCCURRENCE OF THE DATA SET NAME. * 05640000 * /* IF THE SEARCH IS UNSUCCESSFUL, A RETURN CODE OF 28 IS * 05650000 * /* PLACED IN RTCODE. IF THE DATA SET IS A MEMBER OF A * 05660000 * /* CONCATENATED GROUP A RETURN CODE OF 24 IS PLACED IN * 05670000 * /* RTCODE. IN EITHER CASE CONTROL IS PASSED TO EXITCODE. * 05680000 * /* IF THE DATA SET IS A MEMBER OF A DYNAMICALLY CONCATENATE * 05690000 * /* GROUP AN ATTEMPT IS MADE TO DECONCATENATE THE GROUP. * 05700000 * /* THIS IS DONE BY SETTING STATUS2 TO INDICATE THE RETURN * 05710000 * /* POINT, SETTING BIT 1 IN STATUS1 TO INDICATE INFORMATION * 05720000 * /* FROM A DSE BLOCK IS TO BE USED INSTEAD OF THE * 05730000 * /* USER PARMS, AND PASSING CONTROL TO DAIR10 FOR THE * 05740000 * /* DECONCAT. * 05750000 * /* IF THE DECONCAT IS UNSUCCESSFUL, CONTROL IS PASSED TO * 05760000 * /* EXITCODE. * 05770000 * /* IF THE DATA SET IS NOT A MEMBER OF A DYNAMICALLY * 05780000 * /* CONCATENATED GROUP, OR IF THE DECONCAT IS UNSUCCESSFUL, * 05790000 * /* THE DATA SET IS THEN CHECKED GO SEE IF IT IS A * 05800000 * /* PERMANENTLY ALLOCATED DATA SET. IF IT IS PERMANENTLY * 05810000 * /* ALLOCATED AND BIT 3 IS ON IN THE USERS CONTROL FIELD IT * 05820000 * /* WILL BE TREATED AS ANY OTHER DATA SET. * 05830000 * /* IF BIT 3 IS NOT ON A PARM LIST FOR DYNAMIC ALLOCATION * 05840000 * /* AND DSE UPDATE WILL BE BUILT AS IN CODE '2C'X, * 05850000 * /* HOWEVER THE LAST BIT IN THE FIRST WORD OF THE DSE UPDATE * 05860000 * /* LIST WILL BE SET TO ONE INDICATING THE DSE @ IS SENT AND * 05870000 * /* NOT A TCB @. THIS DSE WILL THEN BE MARKED AS NOT IN * 05880000 * /* USE. OTHERWISE THE UNALLOC PARMLIST AND DSE UPDATE LIST * 05890000 * /* IS BUILT FOR UNALLOC AND THE SVC ISSUED. * 05900000 * /* IF UNSUCCESSFUL A RETURN CODE OF 12 IS PLACED IN RTCODE, * 05910000 * /* R15 IS PLACED IN THE DARC FIELD, AND CONTROL IS PASSED * 05920000 * /* TO EXITCODE. * 05930000 * /* IF THE SVC IS SUCCESSFUL BUT THE ENTIRE DSE HAS NOT * 05940000 * /* BEEN SEARCHED THE SEARCH CONTINUES (STARTING AT THE * 05950000 * /* NEXT DSE BLOCK) AS BEFORE. WHEN THE ENTIRE DSE HAS BEEN * 05960000 * /* SEARCHED CONTROL IS PASSED TO EXITCODE. * 05970000 * /* ******************** * 05980000 * /* * DAIR 1C * * 05990000 * /* ******************** * 06000000 * /* DAIR1C CHART - DR9 * 06010000 * /* USER PARAMETER LIST * 06020000 * /* OUTPUT * 06030000 * /* DESIRED FUNCION * 06040000 * /* RETURN CODES * 06050000 * /* ALLOCATED DDNAME IN PARM LIST * 06060000 * /* RETURN CODES * 06070000 * /* 0, 4, 12, 16, 20, 24, 28 * 06080000 * /* CONTROL BLOCKS REFERENCED * 06090000 * /* 1) DSE * 06100000 * /* EXTERNAL ROUTINES * 06110000 * /* 1) DYNAMIC ALLOCATION * 06120000 * /* DESCRIPTION OF FLOWCHART * 06130000 * /* THIS ROUTINE ATTEMPTS TO HAVE THE TERMINAL ALLOCATED FOR * 06140000 * /* THE USER. IT CAN BE ALLOCATED TO A SPECIFIED DDNAME OR * 06150000 * /* ELSE TO ANY AVAILABLE ENTRY. * 06160000 * /* FIRST, A CHECK IS MADE FOR THE SPECIFICATION OF AN * 06170000 * /* ATTRIBUTE LIST. IF ONE IS INDICATED, A VALIDITY CHECK * 06180000 * /* OF THE ATTR-LIST-NAME HAS NOT BEEN SUPPLIED * 06190000 * /* POSSIBLE IF THE ATTR-LIST-NAME HAS NOT BEEN SUPPLIED * 06200000 * /* AND CONTROL IS PASSED TO EXITCODE. OTHERWISE, A SEARCH * 06210000 * /* OF THE ATRCB CHAIN FOR THE SUPPLIED ATTR-LIST-NAME IS * 06220000 * /* MADE. A RETURN DOCE OF 28 IS POSSIBLE IF THE ATTR-LIST- * 06230000 * /* NAME IS NOT FOUND ON THE CHAIN AND CONTROL IS PASSED * 06240000 * /* TO EXITCODE. * 06250000 * /* THE SEARCH SUBROUTINE IS ENTERED TO SEARCH FOR A DYNAM * 06260000 * /* ENTRY, A NOT-IN-USE ENTRY, A DDNAME (IF SPECIFIED), * 06270000 * /* AND AN AVAILABLE TERMINAL ENTRY. UPON RETURN FROM SEARCH * 06280000 * /* EMPHASIS IS MADE UPON THE FIND OF AN AVAILABLE TERMINAL * 06290000 * /* ENTRY. IF ONE IS FOUND AND IT HAPPENS TO BE ASSOCIATED * 06300000 * /* WITH THE REQUESTED DD OR IF NO DD WAS SPECIFIED, IT WILL * 06310000 * /* BE MARKED IN USE THROUGH CONVERT,DDNAME RETURNED AND THE * 06320000 * /* EXIT MADE. IF THE DD REQUESTED IS ASSOCIATED WITH * 06330000 * /* ANOTHER ENTRY AND IS NOT PERMANENTLY ALLOCATED OR IN USE * 06340000 * /* AND A TERMINAL ENTRY IS AVAILABLE THE EXCHANGE OPTION * 06350000 * /* OF CONVERT IS USED TO SWITCH DD'S , MARK THEM IN USE, * 06360000 * /* AND RETURN TO EXITCODE. THE ATTRSRCH SUBROUTINE (SEARCH * 06370000 * /* ATRCB CHAIN) IS ENTERED TO SEARCH FOR A DDNAME (IF * 06380000 * /* SPECIFIED) THAT HAS NOT BEEN FOUND WITH THE SEARCH * 06390000 * /* SUBROUTINE. IF IT IS FOUND A RETURN CODE OF 20 IS * 06400000 * /* PLACED IN RTCODE AND CONTROL IS PASSED TO EXITCODE. * 06410000 * /* IF A DDNAME IS SPECIFIED AND HAS BEEN FOUND, BUT IS NOT * 06420000 * /* A DYNAM ENTRY SOME FURTHER CHECKS ARE NECESSARY. * 06430000 * /* IF THE ENTRY IS IN USE OR PERMANENTLY ALLOCATED A * 06440000 * /* RETURN CODE OF 20 IS PLACED IN RTCODE AND * 06450000 * /* CONTROL IS PASSED TO EXITCODE. IF THE DD IS A MEMBER OF * 06460000 * /* A CONCATENATED GROUP A RETURN CODE OF 24 IS RETURNED * 06470000 * /* IF THE ENTRY NEITHER OF THE ABOVE BUT IT IS DYNAMICALLY * 06480000 * /* CONCATENATED CONTROL IS PASSED TO DAIR10. AN INDICATOR * 06490000 * /* IS SET WHICH MEANS INFORMATION FROM A DSE BLOCK MUST * 06500000 * /* BE USED INSTEAD OF THE USER PARMS. THE RETURN ADDRESS * 06510000 * /* IS INDICATED THROUGH STATUS2. * 06520000 * /* IF THE DECONCAT IS SUCCESSFUL, OR IF THE ENTRY WAS NOT * 06530000 * /* DYNAMICALLY CONCATENATED, A CHECK IS MADE TO SEE IF * 06540000 * /* A DYNAM ENTRY HAD BEEN FOUND BY SEARCH. * 06550000 * /* IF NOT, THE ENTRY NOW BEING WORKED WITH ISUNALLOCATED. * 06560000 * /* CONTROL IS PASSED TO DAIR18 WITH ALL NECESSARY * 06570000 * /* INDICATORS SET. IF THE UNALLOC IS NOT SUCCESSFUL, * 06580000 * /* CONTROL IS PASSED TO EXITCODE. * 06590000 * /* IF A DYNAM ENTRY DOES EXIST, A CONVERT AND DSE UPDATE * 06600000 * /* PARAMETER LIST ARE BUILT. THE 'EXCHANGE' OPTION * 06610000 * /* AND 'ATTRIBUTE LIST' OPTION (IF SPECIFIED) ARE * 06620000 * /* INDICATED AND SVC 99 IS ISSUED. IF UNSUCCESSFUL * 06630000 * /* A RETURN CODE OF 12 IS PLACED IN RTCODE, R15 IS PLACED * 06640000 * /* IN RTCODE AND CONTROL IS PASSED TO EXITCODE. * 06650000 * /* IF THE CONVERT WAS SUCCESSFUL OR IF THE UNALLOC WAS * 06660000 * /* SUCCESSFUL (MEANING WE NOW HAVE THE REQUIRED DDNAME * 06670000 * /* ASSOCIATED WITH A DYNAM ENTRY), A DATASET PARM LIST * 06680000 * /* AND DSE UPDATE PARM LIST ARE BUILT AND THE SVC * 06690000 * /* 99 IS ISSUED. IF IT IS UNSUCCESSFUL A 12 IS PLACED * 06700000 * /* CONTROL IS PASSED TO EXITCODE. IF THE ALLOCATION WAS * 06710000 * /* SUCCESSFUL CONTROL IS PASSED TO EXITCODE. * 06720000 * /* IF A DDNAME HAS NOT BEEN SPECIFIED, * 06730000 * /* AND THERE ARE NO TERMINAL ENTRIES AVAILABLE THEN A * 06740000 * /* DDNAME IS GENERATED IN THE DDNAME GENERATE ROUTINE * 06750000 * /* DESCRIBED BELOW,THEN EITHER A DYNAM ENTRY * 06760000 * /* OR A NOT IN USE ENTRY CAN SATISFY THE REQUEST. * 06770000 * /* IF A DYNAM ENTRY EXITS A DATASET AND DSE UPDATE PARM * 06780000 * /* LIST IS CONSTRUCTED AS BEFORE, THE SVC 99 IS ISSUED AND * 06790000 * /* PROCESSING IS THE SAME AS EXPLAINED PREVIOUSLY. * 06800000 * /* IF THERE IS NO DYNAM ENTRY, BUT A NOT IN USE ENTRY * 06810000 * /* EXISTS, AN UNALLOC IS DONE. THIS PROCESSING IS THE SAME * 06820000 * /* AS PREVIOUSLY EXPLAINED. * 06830000 * /* IF NEITHER A DYNAM, OR NOT IN USE ENTRY EXISTS A * 06840000 * /* RETURN CODE OF 16 IS PLACED IN RTCODE AND CONTROL IS * 06850000 * /* PASSED TO EXITCODE. * 06860000 * /* ******************** * 06870000 * /* * DAIR 24 * * 06880000 * /* ******************** * 06890000 * /* DAIR24 CHART - DR11 * 06900000 * /* INPUT * 06910000 * /* USER PARAMETER LIST * 06920000 * /* OUTPUT * 06930000 * /* DESIRED FUNCTION RETURN CODE ALLOCATED DDNAME IS PARM */ 06940000 * /* LIST ALLOCATED DSNAME IN PARM LIST DSORG IN PARM LIST. * 06950000 * /* RETURN CODES * 06960000 * /* 0, 4, 8, 12, 16, 20 * 06970000 * /* CONTROL BLOCKS REFERENCED * 06980000 * /* 1) DSE * 06990000 * /* EXTERNAL ROUTINES * 07000000 * /* 1) DYNAMIC ALLOCATION * 07010000 * /* DESCRIPTION OF FLOWCHART * 07020000 * /* THIS ROUTINE PERFORMS FUNCTION ALMOST IDENTICAL * 07030000 * /* TO DAIR08. THE MAJOR DIFFERENCE IS THAT DDNAME CARRIES * 07040000 * /* MORE WEIGHT THAN DSNAME AND IN FACT IS REQUIRED). * 07050000 * /* IF THE DDNAME IS NOT FOUND THE FUNCTION IS THE SAME AS * 07060000 * /* FOR DAIR08. SINCE THE TWO ROUTINES ARE SO SIMILAR * 07070000 * /* DAIR08 IS USED FOR THE MAJORITY OF PROCESSING NEEDED * 07080000 * /* BY DAIR24. * 07090000 * /* THE INITIAL FUNCTION OF THIS ROUTINE IS SOME VALIDITY * 07100000 * /* CHECKING. IF THE DDNAME IS BLANK, OR IF THE * 07110000 * /* DSNAMEPTR IS ZERO, OR IF THE DSNAME IS BLANK A * 07120000 * /* RETURN CODE OF 4 IS PLACED IN RTCODE AND CONTROL * 07130000 * /* IS PASSED TO EXITCODE. * 07140000 * /* OTHERWISE AN INDICATOR IS SET IN STATUS2 WHICH SAYS * 07150000 * /* DDNAME IS THE KEY RATHER THAN DSNAME. CONTROL IS THEN * 07160000 * /* PASSED DIRECTLY TO DAIR08. * 07170000 * /* CONTROL IS RETURNED FROM DAIR0, AFTER IT HAS COMPLETED * 07180000 * /* THE SEARCH SUBROUTINE. IF THE DDNAME HAS NOT BEEN FOUND * 07190000 * /* CONTROL IS PASSED BACK TO DAIR0, FOR THE CONTINUANCE * 07200000 * /* OF ITS PROCESSING. * 07210000 * /* IF THE DDNAME IS FOUND BUT IS IS A DUMMY BIT 4 OF THE * 07220000 * /* PARM FLAGS IS SET. IF IT IS IN USE, A RETURN CODE OF 20 * 07230000 * /* IS PLACED IN RTCODE. CONTROL IS THEN PASSED TO EXITCODE * 07240000 * /* IF THE ENTRY IS A DYNAM ENTRY CONTROL IS RETURNED TO * 07250000 * /* DAIR08 FOR FURTHER PROCESSING. * 07260000 * /* IF THE DDNAME REQUESTED IS NOT FOUND OR IF IT IS NOT * 07270000 * /* PERMANENTLY ALLOCATED THEN THE DDNAME FIELD IN THE * 07280000 * /* DAIR PARM LIST IS BLANKED OUT AND CONTROL IS RETURNED TO * 07290000 * /* DAIR08. THE DDNAME WHICH IS ALLOCATED, IF ANY WILL BE * 07300000 * /* RETURNED IN THE USER PARM LIST. * 07310000 * /* IF NONE OF THE ABOVE CASES ARE TRUE A DSE UPDATE * 07320000 * /* PARAMETER LIST AND A CONVERT PARAMETER LIST ARE BUILT * 07330000 * /* AND THE SVC 99 IS ISSUED. IF IT IS UNSUCCESSFUL A * 07340000 * /* RETURN CODE OF 12 IS PLACED IN RTCODE, R15 IS * 07350000 * /* PLACED IN THE DARC FIELD AND CONTROL IS PASSED TO * 07360000 * /* EXITCODE. IF SUCCESSFUL CONTROL IS RETURNED TO EXITCODE.* 07370000 * /* ******************** * 07380000 * /* * DAIR 28 * * 07390000 * /* ******************** * 07400000 * /* DAIR28 CHART - DR12 * 07410000 * /* INPUT * 07420000 * /* USER PARAMETER LIST * 07430000 * /* OUTPUT * 07440000 * /* DESIRED FUNCTIONS * 07450000 * /* RETURN CODES * 07460000 * /* RETURN CODES * 07470000 * /* 0, 4, RETURN CODE FROM ALL OTHER FUNCTIONS * 07480000 * /* CONTROL BLOCKS REFERENCED * 07490000 * /* NONE * 07500000 * /* EXTERNAL ROUTINES * 07510000 * /* NONE * 07520000 * /* DESCRIPTION OF FLOWCHART * 07530000 * /* THIS ROUTINE ACCEPTS AS INPUT A LIST OF ADDRESSES. EACH * 07540000 * /* ADDRESS POINTS TO A DAIR OPERATION PARAMETER LIST. THE * 07550000 * /* BRANCH TABLE IN DAIRCTRL IS USED TO RETURN CONTROL TO * 07560000 * /* '28'X AFTER EACH FUNCTION. IF THE NUMBER OF ENTRIES IS * 07570000 * /* EQUAL TO ZERO A 4 IS PLACED IN RTCODE AND CONTROL IS * 07580000 * /* PASSED TO EXITCODE. OTHERWISE, EACH ENTRY IS SELECTED * 07590000 * /* AND CONTROL PASSED TO DAIRCTRL FOR USE OF THE BRANCH * 07600000 * /* TABLE. WHEN ALL ENTRIES HAVE BEEN PROCESSED CONTROL IS * 07610000 * /* PASSED TO EXITCODE. AN ENTRY CODE OF '14'X OR AN * 07620000 * /* ADDITIONAL '28'X WILL BE IGNORED. * 07630000 * /* ******************** * 07640000 * /* * DAIR 2C * * 07650000 * /* ******************** * 07660000 * /* DAIR2C CHART - DR13 * 07670000 * /* INPUT * 07680000 * /* USER PARAMETER LIST * 07690000 * /* OUTPUT * 07700000 * /* RETURN CODE * 07710000 * /* ALLOCATABLE TIOT ENTRIES * 07720000 * /* RETURN CODES * 07730000 * /* 0, 4 * 07740000 * /* CONTROL BLOCKS REFERENCED * 07750000 * /* DSE * 07760000 * /* EXTERNAL ROUTINES * 07770000 * /* 1) DYNAMIC ALLOCATION * 07780000 * /* DESCRIPTION OF FLOWCHART * 07790000 * /* THIS ROUTINE ATTEMPTS TO OPTIMIZE TIOT ENTRIES. IT DOES * 07800000 * /* THIS BY HAVING DSE ENTRIES MARKED AS NOT IN USE. THERE * 07810000 * /* ARE THREE OPTIONAL WAYS OF HAVING THESE DSE ENTRIES * 07820000 * /* MARKED NOT IS USE. FIRST - IF THE CONTROL FIELD OF THE * 07830000 * /* DAIRPARM LIST IS X'0000' AND A TCB ADDRESS IS SPECIFIED * 07840000 * /* THEN ALL DATA SETS ALLOCATED BY THE TASK WITH THE SAME * 07850000 * /* TCB ADDRESS IN THE DSE ARE MARKED NOT IN USE. A DSE * 07860000 * /* UPDATE PARM LIST IS BUILT WITH THE TCB ADDRESS AND SVC * 07870000 * /* 99 ISSUED. UPON RETURN CONTROL IS PASSED TO EXITCODE. * 07880000 * /* IF THE CONTROL FIELD IS X'0000' AND THE TCB ADDRESS * 07890000 * /* FIELD IS ZERO THEN A RETURN CODE OF 4 IS PUT IN RTCODE * 07900000 * /* AND CONTROL PASSED TO EXITCODE. SECOND IF THE CONTROL * 07910000 * /* FIELD IN THE DAIR PARM LIST IS X'0001' AND A DDNAME IS * 07920000 * /* SPECIFIED THEN DAIR WILL SEARCH THE DSE CHAIN FOR THAT * 07930000 * /* DD. IF NOT FOUND OR IF IT IS ALREADY MARKED NOT IN USE * 07940000 * /* THEN RTCODE IS SET TO ZERO AND CONTROL IS PASSED TO * 07950000 * /* EXITCODE. IF FOUND THE DSE UPDATE PARM LIST IS BUILT * 07960000 * /* WITH THE DSE@, ASSOCIATED WITH THE DDNAME, IN THE TCB @ * 07970000 * /* FIELD OF THE LIST AND THE LAST BIT OF THE FIRST WORD SET * 07980000 * /* TO 1 INDICATING A DSE@ IS SUPPLIED AND NOT A TCB@. * 07990000 * /* SVC 99 IS ISSUED AND DSE UPDATE WILL MARK THAT SPECIFIC * 08000000 * /* DSE AS NOT IN USE. UPON RETURN CONTROL IS PASSED TO * 08010000 * /* EXITCODE. IF THE CONTROL FIELD IS SET TO X'0001' AND A * 08020000 * /* DDNAME IS NOT SPECIFIED THEN A 4 IS PLACED IN RTCODE AND * 08030000 * /* CONTROL IS PASSED TO EXITCODE. THE THIRD OPTION IS TO * 08040000 * /* MARK AS NOT IN USE ALL DSE'S EXCEPT THOSE ALLOCATED BY * 08050000 * /* THE CURRENT TASK, ITS ANCESTORS AND THE INITIATOR. THE * 08060000 * /* NEXT TO THE LAST BIT IN THE FIRST WORD OF THE DSE * 08070000 * /* UPDATE LIST IS SET TO 1 INDICATING THIS OPTION AND SVC * 08080000 * /* 99 ISSUED. UPON RETURN CONTROL IS PASSED TO EXITCODE. * 08090000 * /* ****************** * 08100000 * /* * DAIR 30 * * 08110000 * /* ****************** * 08120000 * /* DAIR30 CHART - DR14 * 08130000 * /* INPUT * 08140000 * /* USER PARAMETER LIST * 08150000 * /* OUTPUT * 08160000 * /* DESIRED FUNCTION * 08170000 * /* SYSOUT DSNAME IN PARM LIST * 08180000 * /* ALLOCATED DDNAME IN PARM LIST * 08190000 * /* RETURN CODE * 08200000 * /* RETURN CODES * 08210000 * /* 0, 4, 12, 16, 20, 24, 28 * 08220000 * /* CONTROL BLOCKS REFERENCED * 08230000 * /* 1) DSE * 08240000 * /* EXTERNAL ROUTINES * 08250000 * /* 1) DYNAMIC ALLOCATION * 08260000 * /* DESCRIPTION OF FLOWCHART * 08270000 * /* THIS ROUTINE IS USED TO DYNAMICALLY ALLOCATE A SYSOUT * 08280000 * /* DATA SET WITH OR WITHOUT AN ATTRIBUTE LIST OF DCB * 08290000 * /* IF AN ATTRIBUTE LIST IS SPECIFIED, A CHECK ON THE * 08300000 * /* SUPPLIED ATTR-LIST-NAME IS MADE. IF THERE IS NONE, * 08310000 * /* THE OPERATION IS FAILED WITH A RETURN CODE OF 4. * 08320000 * /* IF IT IS NOT FOUND ON THE ATRCB CHAIN, THE OPERATION * 08330000 * /* IS FAILED WITH A RETURN CODE OF 28. * 08340000 * /* IF A DATA SET NAME IS GIVEN IN THE PARAMETER LIST THE * 08350000 * /* OPERATION IS FAILED WITH A RETURN CODE OF 4. IF THE * 08360000 * /* GENERATED SYSOUT DATA SET NAME IS DESIRED AS OUTPUT BUT * 08370000 * /* THE RETURN AREA IS LESS THAN 44 CHARACTERS THE * 08380000 * /* OPERATION IS FAILED WITH A RETURN CODE OF 4. * 08390000 * /* IF A PARTICULAR DDNAME IS DESIRED THE SEARCH SUBROUTINE * 08400000 * /* IS ENTERED TO SEARCH FOR THE DDNAME, AS WELL AS FOR A * 08410000 * /* DYNAM ENTRY AND A NOT IN USE ENTRY. IF THE DDNAME * 08420000 * /* IS NOT FOUND WITH THE SEARCH SUBROUTINE, THEN THE * 08430000 * /* ATTRSRCH SUBROUTINE IS ENTERED. IF IT IS FOUND * 08440000 * /* ON THE ATRCB CHAIN, THE OPERATION IS FAILED WITH A * 08450000 * /* RETURN CODE OF 20. IF NO PARTICULAR DDNAME * 08460000 * /* IS REQUIRED A SEARCH FOR A DYNAM AND A NOT IN USE * 08470000 * /* ENTRY IS DONE. * 08480000 * /* IF A DDNAME IS NOT SUPPLIED THEN ONE IS GENERATED IN * 08490000 * /* THE DDNAME GENERATE ROUTINE DESCRIBED BELOW. * 08500000 * /* IF THE DDNAME IS FOUND AND IS NOT DYNAM OR IN USE BUT * 08510000 * /* IS DYNAMICALLY CONCATENATED, IT IS DECONCATENATED * 08520000 * /* (THROUGH DAIR10). IF ANY DYNAM ENTRIES DO EXIST THE * 08530000 * /* CONVERT FUNCTION IS USED TO EXCHANGE THE DDNAME REQUIRED * 08540000 * /* WITH THAT OF A DYNAM ENTRY. IF NO DYNAM ENTRIES EXIST * 08550000 * /* THE CURRENT ENTRY IS UNALLOCATED (THROUGH DAIR18). * 08560000 * /* IF THE DDNAME IS NOT FOUND, OR IF ONE HAS NOT BEEN * 08570000 * /* SPECIFIED AND NO DYNAM ENTRIES EXIST, BUT A NOT IN USE * 08580000 * /* ENTRY DOES EXIST IT IS UNALLOCATED (THROUGH DAIR18) AS * 08590000 * /* ABOVE AND PROCESSING CONTINUES FROM THERE. IF THE ONLY * 08600000 * /* ELIGIBLE ENTRY IS A DYNAMICALLY CONCATENATED ENTRY IT * 08610000 * /* IS DECONCATENATED (THROUGH DAIR10) AND UNALLOCATED * 08620000 * /* (THROUGH DAIR18) AS ABOVE. * 08630000 * /* AT THIS POINT A DYNAM ENTRY IS NOW READY FOR USE FOR THE * 08640000 * /* REQUESTED ALLOCATION. THE DATASET FUNCTION IS NOW USED * 08650000 * /* TO ALLOCATE THE DATA SET. * 08660000 * /* IF IT IS UNSUCCESSFUL, OR IF ANY OF THE OTHER DYNAMIC * 08670000 * /* ALLOCATION FUNCTIONS HAS BEEN UNSUCCESSFUL, A RETURN * 08680000 * /* CODE OF 12 IS RETURNED. IF NO DYNAM ENTRIES WERE * 08690000 * /* AVAILABLE, OR MADE TO BE AVAILABLE THROUGH THE ABOVE * 08700000 * /* MACHINATIONS, A RETURN CODE OF 16 IS PASSED. IF THE * 08710000 * /* REQUESTED DDNAME WAS FOUND BUT UNAVAILABLE (IN USE, OR * 08720000 * /* PERMANENTLY ALLOCATED), A RETURN CODE OF 20 IS PASSED. * 08730000 * /* IF THE DDNAME IS A MEMBER OR A CONCATENATED GROUP * 08740000 * /* (CONCATENATED AT LOGON) A RETURN CODE OF 24 IS PASSED. * 08750000 * /* USED AND THE USER HAS NOT SUPPLIED A DDNAME.THE FORMAT * 08760000 * /* OF THE DDNAME IS SYSNNNNN WHERE NNNNN IS A NUMBER FORMED * 08770000 * /* BY ADDING 1 TO A COUNT FIELD IN THE ECT CALLED ECTDDNUM. * 08780000 * /* BEFORE USING THE DDNAME A SEARCH OF THE DSE WILL BE MADE * 08790000 * /* AND IF THE DDNAME IS A DUPLICATE THEN THE NEXT DDNAME IS * 08800000 * /* GENERATED. WHEN A NON DUPLICATE DDNAME IS FOUND CONTROL * 08810000 * /* IS PASSED BACK TO THE PROPER ENTRY CODE AND PROCESSING * 08820000 * /* CONTINUES. * 08830000 * /* * 08840000 * /* ******************** * 08850000 * /* * DAIR 34 * * 08860000 * /* ******************** * 08870000 * /* DAIR34 CHART - * 08880000 * /* INPUT * 08890000 * /* USER PARAMETER LIST * 08900000 * /* OUTPUT * 08910000 * /* DESIRED FUNCTION * 08920000 * /* RETURN CODES * 08930000 * /* 0, 4, 20, 28 * 08940000 * /* CONTROL BLOCKS REFERENCED * 08950000 * /* 1) DSE * 08960000 * /* 2) ATRCB * 08970000 * /* EXTERNAL ROUTINES * 08980000 * /* 1) DYNAMIC ALLOCATION * 08990000 * /* DESCRITPTION OF FLOWCHART * 09000000 * /* THIS ROUTINE IS USED TO PERFORM SEVERAL FUNCTIONS * 09010000 * /* RELATED TO ATTRIBUTE PROCESSING. THESE FUNCTIONS * 09020000 * /* ARE: * 09030000 * /* A) SEARCH ATRCB CHAIN FOR A GIVEN NAME * 09040000 * /* B) CHAIN A NEW ATRCB ON THE ATRCB CHAIN * 09050000 * /* C) UNCHAIN A PARTICULAR ATRCB FROM THE ATRCB * 09060000 * /* CHAIN * 09070000 * /* UPON ENTRY TO DAIR34 A CHECK IS MADE TO DETERMINE * 09080000 * /* IF PROPER INPUT HAS BEEN PROVIDED, SPECIFICALLY AN * 09090000 * /* ATTRIBUTE NAME. IF THE PARAMETER LIST IS INVALID * 09100000 * /* A CODE 4 IS RETURNED AND EXITCODE IS ENTERED. IF * 09110000 * /* THE PARAMETERS ARE VALID A TEST IS MADE TO DETERMINE * 09120000 * /* IF A SEARCH OPERATION IS TO BE PERFORMED. IF YES THE * 09130000 * /* ROUTINE WILL GO TO THE ATTRSRCH SUBROUTINE TO SEARCH * 09140000 * /* THE DSE AND ATRCB CHAINS FOR THE GIVEN ATTR-LIST-NAME * 09150000 * /* PROVIDED. IF THE NAME IS FOUND OR NOT FOUND IT WILL * 09160000 * /* INDICATE SO TO DAIR34 WHO WILL SET THE RETURN CODE * 09170000 * /* TO ZERO AND GO TO EXITCODE. IF A SEARCH OPERATION * 09180000 * /* IS NOT TO BE PERFORMED, A TEST IS MADE TO DETERMINE * 09190000 * /* IF A CHAIN OPERATION IS TO BE PERFORMED. IF IT IS, * 09200000 * /* ATTRSRCH WILL BE ENTERED, TO FIRST SEARCH THE ATRCB * 09210000 * /* AND DSE CHAINS FOR THE NAME HAVING ALREADY BEEN * 09220000 * /* USED. IF YES AN ERROR CODE 20 WILL BE RETURNED TO * 09230000 * /* EXITCODE, OTHERWISE THE DYNAMIC ALLOCATION PARM * 09240000 * /* LIST WILL BE SET UP AND DYNAMIC ALLOCATION ENTERED * 09250000 * /* TO PLACE THE ATTRIBUTES ON THE ATRCB CHAIN. * 09260000 * /* UPON RETURN FROM DYNAMIC ALLOCATION, A ZERO * 09270000 * /* RETURN CODE WILL BE SET AND CONTROL ROUTED TO * 09280000 * /* EXITCODE. IF NEITHER A SEARCH OR CHAIN OPERATION * 09290000 * /* IS REQUIRED A TEST IS MADE TO DETERMINE IF ENTRY * 09300000 * /* WAS MADE FOR AN UNCHAIN OPERATION. IF IT WAS NOT * 09310000 * /* AND NONE OF THE ABOVE HAD BEEN SPECIFIED, AN ERROR * 09320000 * /* CODE 4 IS RETURNED TO EXITCODE. IF UNCHAIN WAS * 09330000 * /* SPECIFIED, THE ATTRSRCH SUBROUTINE WILL BE ENTERED * 09340000 * /* TO SEARCH THE ATRCB CHAIN FOR THE SPECIFIED ATTR- * 09350000 * /* LIST-NAME. IF THE NAME WAS NOT FOUND A RETURN CODE * 09360000 * /* 28 IS RETURNED TO EXITCODE. IF THE NAME WAS FOUND * 09370000 * /* A DYNAMIC ALLOCATION PARAMETER LIST IS SET UP * 09380000 * /* AND CONTROL IS GIVEN TO DYNAMIC ALLOCATION TO * 09390000 * /* UNCHAIN THE ATRCB. UPON RETURN A SUCCESSFUL RETURN * 09400000 * /* CODE IS SET AND CONTROL IS PASSED TO EXITCODE * 09410000 * /* ************************************************* * 09420000 * /* * DDNGEN: DDNAME GENERATE ROUTINE * * 09430000 * /* ************************************************* * 09440000 * /* DDNGEN IS ENTERED ANYTIME THE DATASET FUNCTION IS TO BE * 09450000 * /* ******************** * 09460000 * /* * USERID * * 09470000 * /* ******************** * 09480000 * /* INPUT * 09490000 * /* ADDRESS OF DSLNGTH DSNAME BUFFER * 09500000 * /* OUTPUT * 09510000 * /* ADDRESS OF BUFFER CONTAINING USERID PREFIXED DATA SET * 09520000 * /* NAME * 09530000 * /* RETURN CODES * 09540000 * /* 0 - SUCCESSFUL * 09550000 * /* 4 - ERROR * 09560000 * /* NONE * 09570000 * /* EXTERNAL ROUTINES * 09580000 * /* NONE * 09590000 * /* DESCRIPTION OF FLOWCHART * 09600000 * /* THE FUNCTION OF THIS ROUTINE IS TO PREFIX A DATA SET * 09610000 * /* NAME WITH THE USERID. IT PLACES THE OUTPUT DATA SET * 09620000 * /* NAME IN A GOTTEN AREA OF CORE AND RETURNS ITS ADDRESS * 09630000 * /* TO THE CALLING ROUTINE. * 09640000 * /* IF THE RESULTANT DSNAME IS GREATER THAN 44 CHARACTERS * 09650000 * /* AN ERROR CONDITION IS INDICATED. * 09660000 * /* ******************** * 09670000 * /* * SEARCH * * 09680000 * /* ******************** * 09690000 * /* SEARCH SUBROUTINE CHART - DR18 * 09700000 * /* INPUT * 09710000 * /* R2 POINTING TO DAIRWA * 09720000 * /* THE FOLLOWING FIELDS IN DAIRWA: * 09730000 * /* DDNPTR - ADDRESS OF EIGHT BYTE DDNAME * 09740000 * /* OR ATTR-LIST-NAME FOR USE IN SEARCH. * 09750000 * /* DSNPTR - ADDRESS OF DSLNGTH DSNAME * 09760000 * /* BUFFER FOR THE DATA SET NAME TO * 09770000 * /* TO BE USED IN THE SEARCH. * 09780000 * /* MEMPTR - ADDRESS OF THE EIGHT BYTE * 09790000 * /* MEMBER NAME TO BE USED IN THE * 09800000 * /* SEARCH. * 09810000 * /* BLKPTR - ADDRESS OF DSE BLOCK AT WHICH * 09820000 * /* THE SEARCH IS TO BEGIN. ( OTHER * 09830000 * /* THAN AT THE BEGINING ) * 09840000 * /* STATUS1 * 09850000 * /* BIT 2: STOP SEARCH AT FIRST * 09860000 * /* OCCURRENCE OF DSNAME. * 09870000 * /* STATUS2 * 09880000 * /* BIT 1: AN ATTRIBUTE LIST IS SPECIFIED * 09890000 * /* OUTPUT * 09900000 * /* BLKPTR - ADDRESS OF NEXT DSE BLOCK ON * 09910000 * /* THE CHAIN. ONLY USEFUL WHEN BIT 2 * 09920000 * /* OF STATUS1 IS SET. * 09930000 * /* DDNADDR - ADDRESS OF DSE BLOCK FOR * 09940000 * /* SOUGHT DDNAME OR ATTR-LIST-NAME. * 09950000 * /* DSNADDR - ADDRESS OF DSE BLOCK FOR * 09960000 * /* SOUGHT DSNAME. * 09970000 * /* NOTUADDR - ADDRESS OF DSE BLOCK WHICH * 09980000 * /* IS NOT IN USE. * 09990000 * /* DYNMADDR - ADDRESS OF DSE BLOCK WHICH * 10000000 * /* IS DYNAM. * 10010000 * /* CNCAADDR - ADDRESS OF DSE BLOCK WHICH * 10020000 * /* IS NOT IN USE, BUT IS DYNAMICALLY * 10030000 * /* CONCATENATED. * 10040000 * /* STATUS1 * 10050000 * /* BIT 4: DSNAME IS A MEMBER OF A * 10060000 * /* DYNAMICALLY CONCATENATED * 10070000 * /* GROUP. * 10080000 * /* 5: DSNAME IS A MEMBER OF A * 10090000 * /* CONCATENATED GROUP. * 10100000 * /* 6: DSNAME APPEARS MORE THAN * 10110000 * /* ONCE IN DSE * 10120000 * /* RETURN CODES * 10130000 * /* NONE * 10140000 * /* CONTROL BLOCKS REFERENCED * 10150000 * /* 1) DSE * 10160000 * /* EXTERNAL ROUTINES * 10170000 * /* NONE * 10180000 * /* DESCRIPTION OF FLOWCHART * 10190000 * /* THIS SUBROUTINE SEARCHES THE DSE CHAIN EITHER FROM THE * 10200000 * /* BEGINNING, OR FROM AN ADDRESS PASSED IN BLKPTR. IT * 10210000 * /* SEARCHES THE ENTIRE DSE CHAIN UNLESS BIT 2 OF STATUS 1 * 10220000 * /* IS SET. AS IT SEARCHES IT STORES THE OUTPUT IN THE * 10230000 * /* DAIRWA. * 10240000 * /* IF THE SEARCH IS FOR DSNAME, AN ADDRESS IS STORED AT * 10250000 * /* DSNADDR ONLY IF THE FOUND DATA SET NAME IS NEITHER * 10260000 * /* PERMANENTLY ALLOCATED OR IN USE AND THE CALL IS NOT FROM * 10270000 * /* CODE '08'X. SPECIAL PROCESSING IS PERFORMED FOR A NOT IN * 10280000 * /* USE ENTRY FOR DSNAME FOR CODE '08'X. IF THE DATASET IS * 10290000 * /* NOT PERMANENTLY ALLOCATED THEN DAIR WILL CHECK FOR A * 10300000 * /* CONFLICT BETWEEN THE REQUESTED STATUS AND THE ALLOCATED * 10310000 * /* DISP2, THAT IS IF THE REQUEST IS NEW AND THE ALLOCATED * 10320000 * /* DISP IS NOT DELETE THEN AN IMMEDIATE ERROR RETURN CODE OF* 10330000 * /* 32 IS GIVEN. IF THE REQUESTED STATUS IS OLD,MOD,OR SHR * 10340000 * /* AND THE ALLOCATED DISP IS DELETE AN IMMEDIATE ERROR CODE * 10350000 * /* OF 44 WILL BE GIVEN IF VOLUME INFORMATION WAS SUPPLIED * 10360000 * /* OR AN 8 RETURN CODE GIVEN WITH A '1708'X IN THE DARC AND * 10370000 * /* AND AN '08'X IN THE CTRC IF NO VOLUME INFORMATION WAS * 10380000 * /* SUPPLIED. IN ADDITION IF THE REQUEST IS NEW AND THE * 10390000 * /* ALLOCATED DISP IS DELETE THEN A BIT IS SET IN THE CONVERT* 10400000 * /* OPTIONS FOR CLEANING UP THE JFCB. ALSO IF DISPOSITION * 10410000 * /* REQUESTS OR MEMBER NAME REQUESTS ARE DIFFERENT THAN WHAT * 10420000 * /* IS IN THE DSE THEN RESPECTIVE BITS ARE SET IN THE CONVERT* 10430000 * /* OPTIONS FIELD. * 10440000 * /* IF THE DATASET IS PERMANENTLY ALLOCATED, AN ATTRIBUTE */ 10450000 * /* LIST IS NOT SPECIFIED, AND THE DATASET NAME * 10460000 * /* DOES NOT START WITH & THEN DAIR WILL CHECK FOR * 10470000 * /* CONFLICTS BETWEEN ANY OF THE FOLLOWING ATTRIBUTES: * 10480000 * /* DDNAME,MEMBERNAME, AND STATUS. IN CHECKING STATUS THE * 10490000 * /* FOLLOWING LOGIC WILL BE USED; IF THE REQUESTED STATUS * 10500000 * /* IS NEW AN IMMEDIATE ERROR CODE OF 32 WILL BE GIVEN; IF * 10510000 * /* THE REQUESTED STATUS IS MOD AND THE ALLOCATED STATUS IS * 10520000 * /* NOT MOD THEN THE DSE ENTRY IS INELIGIBLE AND THE SEARCH * 10530000 * /* CONTINUES, IF THE REQUESTED STATUS IS OLD OR SHR AND THE * 10540000 * /* DSE IS MOD THEN THE ENTRY IS INELIGIBLE AND THE SEARCH * 10550000 * /* IS CONTINUED. IN ADDITION IF THE DATASET IS A PERMANENTLY* 10560000 * /* ALLOCATED &NAME THEN DAIR WILL CHECK FOR CONFLICTS ONLY * 10570000 * /* IN DDNAME,IF WILL NOT PASS REQUESTED DISP2 OR DISP3 TO * 10580000 * /* CONVERT AND IT WILL SET THE JFCB CLEAN UP BIT IN THE * 10590000 * /* CONVERT OPTION FIELD IF THE REQUESTED STATUS IS NEW. * 10600000 * /******************************************************************** 10610000 * /************************************************************ 10620000 * /* COMPILE TIME VARIABLES FOLLOW * 10630000 * /************************************************************ 10640000 * IKJEFD00: 10650000 * PROC(ONE) OPTIONS(REENTRANT,CODEREG(2,6,11)); 10660000 LCLA &T,&SPN 0002 10670000 .@001 ANOP 0002 10680000 IKJEFD00 CSECT , 0002 10690000 STM @E,@C,12(@D) 0002 10700000 BALR @2,0 0002 10710000 @PSTART DS 0H 0002 10720000 USING @PSTART+00000,@2 0002 10730000 LA @6,4095(0,@2) 0002 10740000 USING @PSTART+04095,@6 0002 10750000 LA @B,4095(0,@6) 0002 10760000 USING @PSTART+08190,@B 0002 10770000 L @0,@SIZ001 0002 10780000 GETMAIN R,LV=(0) 0002 10790000 LR @C,@1 0002 10800000 USING @DATD+00000,@C 0002 10810000 LM @0,@1,20(@D) 0002 10820000 XC @TEMPS(@L),@TEMPS 0002 10830000 ST @D,@SAV001+4 0002 10840000 LA @F,@SAV001 0002 10850000 ST @F,8(0,@D) 0002 10860000 LR @D,@F 0002 10870000 * GENERATE; 10880000 &SPN SETA 1 10890000 B BRCH 10900000 DC CL14'IKJEFD00 72059' C99236 10910000 BRCH EQU * 10920000 DS 0H 10930000 * GEN DATA; /* M0245* 10940000 * DCL CVTPTR PTR(31) BASED(16); /* CVT PTR * 10950000 * DCL DSEMPTR PTR(31) AUTO; /* DSE MEMBER PTR * 10960000 * DCL DSEPTR REG(7) PTR(31); /* DSEPTR C99236* 10970000 * DCL TJBPTR PTR(31) AUTO; /* TJBPTR * 10980000 * DCL DAPLPTR PTR(31); /* POINTER TO DAIRC99236 10990000 * BLOCK C99236* 11000000 * DCL DAIRPTR REG(5) PTR(31); /* POINTER C99236* 11010000 * DCL ENQLIST LABEL GENERATED; /*DCL GENERATED LABEL Y01018* 11020000 ** /* *************************************************************** * 11030000 ** /* THE DYNAMIC ALLOCATION INTERFACE ROUTINE (DAIR) PARAMETER LIST * 11040000 ** /* (DAPL) IS A LIST OF ADDRESSES PASSED FROM THE INVOKER TO DAIR * 11050000 ** /* VIA REGISTER 1 * 11060000 ** /* *************************************************************** * 11070000 ** DECLARE 11080000 ** 1 DAPL BASED(DAPLPTR), 11090000 ** 11100000 ** 11110000 ** 11120000 ** 11130000 ** 11140000 ** 11150000 ** 11160000 ** 11170000 ** 11180000 ** 11190000 ** 2 DAPLUPT PTR(31), /* PTR TO UPT * 11200000 ** 2 DAPLECT PTR(31), /* PTR TO ECT * 11210000 ** 2 DAPLECB PTR(31), /* PTR TO CP'S ECB * 11220000 ** 2 DAPLPSCB PTR(31), /* PTR TO PSCB * 11230000 ** 2 DAPLDAPB PTR(31); /* PTR TO DAIR PARAMETER BLOCK * 11240000 ** DECLARE 11250000 ** 1 DAPB00 BASED(DAIRPTR), 11260000 ** /* *************************************************************** * 11270000 ** /* S OPERATION CODE CAUSES A SEARCH OF THE DSE TO BE MADE FOR THE * 11280000 ** /* CIFIED DSNAME AND SET THE DA00FLG FIELD ACCORDINGLY. IF DDNAME * 11290000 ** /* REQUESTED INFORMATION IS RETURNED IN DA00FLG INDICATING WHETHER * 11300000 ** /* NOT THE DDNAME IS ALLOCATED TO THE TERMINAL * 11310000 ** /* *************************************************************** * 11320000 ** 2 DA00CD CHAR(2), 11330000 ** 2 DA00FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 11340000 ** RETURN CODE= 0 * 11350000 ** 3 * BIT(1), /* RESERVED * 11360000 ** 3 * BIT(1), /* RESERVED * 11370000 ** 3 * BIT(1), /* RESERVED * 11380000 ** 3 * BIT(1), /* RESERVED * 11390000 ** 3 DA00PERM BIT(1), /* DSE IS PERM. ALLOCATED M0766* 11400000 ** 3 DA00DYNM BIT(1), /* DD IS A DYNAM M0766* 11410000 ** 3 DA00DSE BIT(1), /* DSNAME FOUND IN DSE * 11420000 ** 3 DA00TERM BIT(1), /* DDNAME ALLOCATED TO A 11430000 ** TERMINAL * 11440000 ** 2 DA00PDSN PTR(31), /* POINTER TO DSNAME TO BE 11450000 ** SEARCHED FOR IN DSE * 11460000 ** 2 DA00DDN CHAR(8), /* DDNAME TO BE SEARCHED FOR IN 11470000 ** DSE * 11480000 ** 2 DA00CTL CHAR(1), /* CONTROL FLAGS FOR SPEC 11490000 ** PROCESSING * 11500000 ** 3 * BIT(1), /* RESERVED * 11510000 ** 3 * BIT(1), /* RESERVED * 11520000 ** 3 DA00UID BIT(1), /* USER ID IS TO BE PREFIXED TO 11530000 ** DSNAME * 11540000 ** 3 * BIT(1), /* RESERVED * 11550000 ** 3 * BIT(1), /* RESERVED * 11560000 ** 3 * BIT(1), /* RESERVED * 11570000 ** 3 * BIT(1), /* RESERVED * 11580000 ** 3 * BIT(1), /* RESERVED * 11590000 ** 2 * CHAR(2), /* RESERVED */ 11600000 ** 2 DA00DSO CHAR(1); /* INDICATES DSORG * 11610000 ** 11620000 ** DECLARE 11630000 ** 1 DAPB04 BASED(DAIRPTR), 11640000 ** /* *************************************************************** * 11650000 ** /* S OPERATION CODE CAUSES A SEARCH OF THE DSE TO BE MADE FOR THE * 11660000 ** /* CIFIED DSNAME. IF IT IS NOT FOUND IN THE DSE THE SYSTEM CATALOG * 11670000 ** /* ALSO SEARCHED * 11680000 ** /* *************************************************************** * 11690000 ** 2 DA04CD CHAR(2), /* DAIR ENTRY CODE * 11700000 ** 2 DA04FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN * 11710000 ** 3 * BIT(1), /* RESERVED * 11720000 ** 3 * BIT(1), /* RESERVED * 11730000 ** 3 * BIT(1), /* RESERVED * 11740000 ** 3 * BIT(1), /* RESERVED * 11750000 ** 3 * BIT(1), /* RESERVED * 11760000 ** 3 DA04CAT BIT(1), /* DSNAME FOUND IN * 11770000 ** 3 DA04DSE BIT(1), /* DSNAME FOUND IN * 11780000 ** 3 * BIT(1), /* RESERVED * 11790000 ** 2 * CHAR(2), /* RESERVED * 11800000 ** 2 DA04CTRC FIXED(15), /* CTLG RTN * 11810000 ** 2 DA04PDSN PTR(31), /* POINTER TO DSNAME TO BE 11820000 ** SEARCHED IN DSE * 11830000 ** 2 DA04CTL CHAR(1), /* CONTROL FLGS FOR SPECIAL 11840000 ** PROCESSING * 11850000 ** 3 * BIT(1), /* RESERVED * 11860000 ** 3 * BIT(1), /* RESERVED * 11870000 ** 3 DA04UID BIT(1), /* USER ID IS TO BE PREFIXED TO 11880000 ** DSNAME * 11890000 ** 3 * BIT(1), /* RESERVED * 11900000 ** 3 * BIT(1), /* RESERVED * 11910000 ** 3 * BIT(1), /* RESERVED * 11920000 ** 3 * BIT(1), /* RESERVED * 11930000 ** 3 * BIT(1), /* RESERVED * 11940000 ** 2 * CHAR(2), /* RESERVED * 11950000 ** 2 DA04DSO CHAR(1); /* INDICATES DSORG * 11960000 ** 11970000 ** DECLARE 11980000 ** 1 DAPB08 BASED(DAIRPTR), 11990000 ** /* *************************************************************** * 12000000 ** /* S OPERATION CODE CAUSES ALLOCATION OF A DATA SET. IT CAN ALLOC. * 12010000 ** /* HER A NEW OR OLD SET. * 12020000 ** /* *************************************************************** * 12030000 ** 2 DA08CD CHAR(2), /* DAIR ENTRY CODE * 12040000 ** 2 DA08FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 12050000 ** RETURN CODE= 0 * 12060000 ** 3 DA08FPE BIT(1), /* FUNCT PERFORMED BUT ERROR 12070000 ** INDICATED BY RETCD * 12080000 ** 3 * BIT(1), /* RESERVED * 12090000 ** 3 * BIT(1), /* RESERVED * 12100000 ** 3 * BIT(1), /* RESERVED * 12110000 ** 3 * BIT(1), /* RESERVED * 12120000 ** 3 * BIT(1), /* RESERVED * 12130000 ** 3 * BIT(1), /* RESERVED * 12140000 ** 3 * BIT(1), /* RESERVED * 12150000 ** 2 DA08DARC FIXED(15), /*DYN ALLOC * 12160000 ** 2 DA08CTRC FIXED(15), /* CATALOG RETURN CODE * 12170000 ** 2 DA08PDSN PTR(31), /* POINTER TO DSNAME TO BE 12180000 ** SEARCHED IN DSE * 12190000 ** 2 DA08DDN CHAR(8), /* DDNAME TO BE SEARCHED IN DSE * 12200000 ** 2 DA08UNIT CHAR(8), /* UNITNAME REQUESTED * 12210000 ** 2 DA08SER CHAR(8), /* VOLUME SERIAL NUMBER-PADDED 12220000 ** W/BLANKS * 12230000 ** 2 DA08BLK CHAR(4), /* DATA SET * 12240000 ** 2 DA08PQTY CHAR(4), /* PRIMARY SPACE QUANTITY * 12250000 ** 2 DA08SQTY CHAR(4), /* SECONDARY SPACE QUANTITY * 12260000 ** 2 DA08DQTY CHAR(4), /* DIRECTORY BLOCK QUANTITY * 12270000 ** 2 DA08MNM CHAR(8), /* MEMBER NAME * 12280000 ** 2 DA08PSWD CHAR(8), /* PASSWORD * 12290000 ** 2 DA08DSP1 CHAR(1), /* DATA SET STATUS FLGS(IF=0 12300000 ** OLD ASSUMED) * 12310000 ** 3 * BIT(1), /* RESERVED * 12320000 ** 3 * BIT(1), /* RESERVED * 12330000 ** 3 * BIT(1), /* RESERVED * 12340000 ** 3 * BIT(1), /* RESERVED * 12350000 ** 3 DA08SHR BIT(1), /* DATA SET IS SHR * 12360000 ** 3 DA08NEW BIT(1), /* DATA SET IS NEW * 12370000 ** 3 DA08MOD BIT(1), /* DATA SET IS MOD * 12380000 ** 3 DA08OLD BIT(1), /* DATA SET IS OLD * 12390000 ** 2 DA08DPS2 CHAR(1), /* DATA SET DISPOSITION(IF=0 12400000 ** KEEP ASSUMED) * 12410000 ** 3 * BIT(1), /* RESERVED * 12420000 ** 3 * BIT(1), /* RESERVED * 12430000 ** 3 * BIT(1), /* RESERVED * 12440000 ** 3 * BIT(1), /* RESERVED * 12450000 ** 3 DA08KEEP BIT(1), /* DS DISP IS KEEP * 12460000 ** 3 DA08DEL BIT(1), /* DS DISP IS DELETE * 12470000 ** 3 DA08CAT BIT(1), /* DS DISP IS CATLG * 12480000 ** 3 DA08UCAT BIT(1), /* DS DISP IS UNCATALOG * 12490000 ** 2 DA08DPS3 CHAR(1), /* DATA SET CONDITIONAL 12500000 ** DISPOSITION * 12510000 ** 3 * BIT(1), /* RESERVED * 12520000 ** 3 * BIT(1), /* RESERVED * 12530000 ** 3 * BIT(1), /* RESERVED * 12540000 ** 3 * BIT(1), /* RESERVED * 12550000 ** 3 DA08KEP BIT(1), /* DS DISP OF KEEP DESIRED * 12560000 ** 3 DA08DELE BIT(1), 12570000 ** 3 DA08CATL BIT(1), 12580000 ** 3 DA08UNCT BIT(1), 12590000 ** 2 DA08CTL CHAR(1), /* FLAGS TO CONTROL ACTIONS 12600000 ** TAKEN BY DAIR * 12610000 ** 3 DA08TRKS BIT(1), /*SPACE UNITS REQUESTED * 12620000 ** 3 DA08ABKL BIT(1), 12630000 ** 3 DA08UID BIT(1), 12640000 ** 3 DA08RLSE BIT(1), 12650000 ** 3 DA08PERM BIT(1), 12660000 ** 3 DA08DMMY BIT(1), 12670000 ** 3 DA08ATRL BIT(1), /*ATTR LIST SUPPLIED C99236* 12680000 ** 3 * BIT(1), /* C99236* 12690000 ** 2 * CHAR(3), /* RESERVED * 12700000 ** 2 DA08DSO CHAR(1), /* DSORG C99236* 12710000 ** 2 DA08ALN CHAR(8); /* ATTR-LIST-NAME C99236* 12720000 ** 12730000 ** DECLARE 12740000 ** 1 DAPB0C BASED(DAIRPTR), 12750000 ** /* *************************************************************** * 12760000 ** /* S OPERATION CODE SAUSES THE REQUESTED DDNAMES TO BE CONCATENATE * 12770000 ** /* DDNAMES SPECIFIED MUST ALL BE CURRENTLY ALLOCATED * 12780000 ** /* *************************************************************** * 12790000 ** 2 DA0CCD CHAR(2), /* DAIR ENTRY CODE * 12800000 ** 2 DA0CFLG CHAR(2), /* FUNCTIONS PERFORMED WHEN * 12810000 ** 2 DA0CDARC FIXED(15), /*DYN ALLOC * 12820000 ** 2 * CHAR(2), /* RESERVED * 12830000 ** 2 DA0CNUMB FIXED(15), /* NUMBER OF 8 BYTE FIELDS THAT * 12840000 ** 2 * CHAR(2); /* RESERVED * 12850000 ** 12860000 ** DECLARE 12870000 ** 1 DAPB10 BASED(DAIRPTR), 12880000 ** /* *************************************************************** * 12890000 ** /* S OPERATION CODE CAUSES THE PREVIOUSLY CONCATENATED DDNAME TO * 12900000 ** /* DECONCATENATED * 12910000 ** /* *************************************************************** * 12920000 ** 2 DA10CD CHAR(2), /* DAIR ENTRY CODE * 12930000 ** 2 DA10FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 12940000 ** RETURN CODE= 0 * 12950000 ** 2 DA10DARC FIXED(15), /*DYN ALLOC * 12960000 ** 2 * CHAR(2), /* RESERVED * 12970000 ** 2 DA10DDN CHAR(8); /* DDNAME TO BE SEARCHED IN DSE * 12980000 ** 12990000 ** DECLARE 13000000 ** 1 DAPB14 BASED(DAIRPTR), 13010000 ** /* *************************************************************** * 13020000 ** /* S OPERATION CODE RETURNS QUALIFIERS IN THE RETURN AREA FOR THE * 13030000 ** /* EN INDEX NAME * 13040000 ** /* *************************************************************** * 13050000 ** 2 DA14CD CHAR(2), /* DAIR ENTRY CODE * 13060000 ** 2 DA14FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 13070000 ** RETURN CODE= 0 * 13080000 ** 2 DA14PDSN PTR(31), /* POINTER TO DSNAME TO BE 13090000 ** SEARCHED IN DSE * 13100000 ** 2 DA14PRET PTR(31), /* POINTER TO RETURN AREA * 13110000 ** 2 DA14CTL CHAR(1), /* CONTROL FLAGS FOR SPECIAL 13120000 ** PROCESSING * 13130000 ** 3 * BIT(1), /* RESERVED * 13140000 ** 3 * BIT(1), /* RESERVED * 13150000 ** 3 DA14UID BIT(1), /* USER ID IS TO BE PREFIXED TO 13160000 ** DSNAME * 13170000 ** 3 * BIT(1), /* RESERVED * 13180000 ** 3 * BIT(1), /* RESERVED * 13190000 ** 3 * BIT(1), /* RESERVED * 13200000 ** 3 * BIT(1), /* RESERVED * 13210000 ** 3 * BIT(1), /* RESERVED * 13220000 ** 2 * CHAR(3); /* RESERVED * 13230000 ** 13240000 ** DECLARE 13250000 ** 1 DAPB18 BASED(DAIRPTR), 13260000 ** /* *************************************************************** * 13270000 ** /* S OPERATION CAUSES THE REQUESTED DATA SET OR DDNAME TO BE * 13280000 ** /* LLOCATED. DISPOSITION CAN BE SPECIFIED TO OVERRIDE ANY PREVIOUS * 13290000 ** /* POSITION. LIKENISE SYSOUT CLASS MAY BE SPECIFIED TO OVERRIDE AN * 13300000 ** /* VIOUS CLASS. * 13310000 ** /* *************************************************************** * 13320000 ** 2 DA18CD CHAR(2), /* DAIR ENTRY CODE * 13330000 ** 2 DA18FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 13340000 ** RETURN CODE= 0 * 13350000 ** 3 DA18FPE BIT(1), /* FUNCT PERFORMED BUT ERROR 13360000 ** INDICATED BY RETCD * 13370000 ** 3 * BIT(1), /* RESERVED * 13380000 ** 3 * BIT(1), /* RESERVED * 13390000 ** 3 * BIT(1), /* RESERVED * 13400000 ** 3 * BIT(1), /* RESERVED * 13410000 ** 3 * BIT(1), /* RESERVED * 13420000 ** 3 * BIT(1), /* RESERVED * 13430000 ** 3 * BIT(1), /* RESERVED * 13440000 ** 2 DA18DARC FIXED(15), /* DYNAMIC ALLOCATION RTRN CODE * 13450000 ** 2 DA18CTRC FIXED(15), /* CTLG RTN * 13460000 ** 2 DA18PDSN PTR(31), /* POINTER TO DSNAME TO BE 13470000 ** SEARCHED IN DSE * 13480000 ** 2 DA18DDN CHAR(8), /* DDNAME TO BE SEARCHED IN DSE * 13490000 ** 2 DA18MNM CHAR(8), /* MEMBER NAME * 13500000 ** 2 DA18SCLS CHAR(2), /* SYSOUT CLASS DESIRED WHEN 13510000 ** UNALLOCATING SYSOUT DATA SET * 13520000 ** 2 DA18DPS2 CHAR(1), /* DATA SET DISPOSITION * 13530000 ** 3 * BIT(1), /* RESERVED * 13540000 ** 3 * BIT(1), /* RESERVED * 13550000 ** 3 * BIT(1), /* RESERVED * 13560000 ** 3 * BIT(1), /* RESERVED * 13570000 ** 3 DA18KEEP BIT(1), /* CHANGE DISP TO KEEP * 13580000 ** 3 DA18DEL BIT(1), /* CHANGE DISP TO DELETE * 13590000 ** 3 DA18CAT BIT(1), /* CHANGE DISP TO CATALOG * 13600000 ** 3 DA18UCAT BIT(1), /* CHANGE DISP TO UNCATLOG * 13610000 ** 2 DA18CTL CHAR(1), /* FLAGS FOR SPECIAL DAIR 13620000 ** PROCESSING * 13630000 ** 3 * BIT(1), /* RESERVED * 13640000 ** 3 * BIT(1), /* RESERVED * 13650000 ** 3 DA18UID BIT(1), /* USER ID IS TO BE PREFIXED TO 13660000 ** DSNAME * 13670000 ** 3 DA18PERM BIT(1), /* UNALLOC PERM. ALLOCATED DSE M0765* 13680000 ** 3 * BIT(1), /* RESERVED * 13690000 ** 3 * BIT(1), /* RESERVED * 13700000 ** 3 * BIT(1), /* RESERVED * 13710000 ** 3 * BIT(1), 13720000 ** 2 DA18JBNM CHAR(8); 13730000 ** 13740000 ** DECLARE 13750000 ** 1 DAPB1C BASED(DAIRPTR), 13760000 ** /* *************************************************************** * 13770000 ** /* S OPERATION CODE REQUESTS ALLOCATION TO THE TERMINAL * 13780000 ** /* *************************************************************** * 13790000 ** 2 DA1CCD CHAR(2), /* DAIR ENTRY CODE * 13800000 ** 2 DA1CFLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 13810000 ** RETURN CODE= 0 * 13820000 ** 2 DA1CDARC FIXED(15), /*DYN ALLOC * 13830000 ** 2 * CHAR(1), /* RESERVED * 13840000 ** 2 DA1CCTL CHAR(1), /* CONTROL BYTE M00582* 13850000 ** 3 * BIT(4), /* RESERVED M00582* 13860000 ** 3 DA1CPERM BIT(1), /* PERMANENTLY ALLOCATE M00582* 13870000 ** 3 * BIT(1), /* RESERVED C99236* 13880000 ** 3 DA1CATRL BIT(1), /* ATTR LIST SUPPLIED C99236* 13890000 ** 3 * BIT(1), /* RESERVED C99236* 13900000 ** 2 DA1CDDN CHAR(8), /* DDNAME TO BE SEARCHED C99236 13910000 ** IN DSE C99236* 13920000 ** 2 DA1CALN CHAR(8); /* ATTR-LIST-NAME C99236* 13930000 ** 13940000 ** DECLARE 13950000 ** 1 DAPB24 BASED(DAIRPTR), 13960000 ** /* *************************************************************** * 13970000 ** /* S OPERATION CODE ALLOWS ALLOCATION OF A SPECIFIC DDNAME TO AN * 13980000 ** /* EADY ALLOCATED DATA SET OR TO THE SPECIFIED DATA SET IF THE * 13990000 ** /* UESTED DDNAME IS NOT FOUND OR IS DYNAM * 14000000 ** /* *************************************************************** * 14010000 ** 2 DA24CD CHAR(2), /* DAIR ENTRY CODE * 14020000 ** 2 DA24FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 14030000 ** RETURN CODE= 0 * 14040000 ** 3 DA24FPE BIT(1), /* FUNCT PERFORMED BUT ERROR 14050000 ** INDICATED BY RETCD * 14060000 ** 3 * BIT(1), /* RESERVED * 14070000 ** 3 * BIT(1), /* RESERVED * 14080000 ** 3 * BIT(1), /* RESERVED * 14090000 ** 3 DA24DMY BIT(1), /* DDNAME REQUESTED IS A DUMMY * 14100000 ** 3 * BIT(1), /* RESERVED * 14110000 ** 3 * BIT(1), /* RESERVED * 14120000 ** 3 * BIT(1), /* RESERVED * 14130000 ** 2 DA24DARC FIXED(15), /* DYNAMIC ALLOCATION RTRN CODE * 14140000 ** 2 DA24CTRC FIXED(15), /* CTLG RTN * 14150000 ** 2 DA24PDSN PTR(31), /* POINTER TO DSNAME TO BE 14160000 ** SEARCHED IN DSE * 14170000 ** 2 DA24DDN CHAR(8), /* DDNAME TO BE SEARCHED IN DSE * 14180000 ** 2 DA24UNIT CHAR(8), /* UNITNAME REQUESTED * 14190000 ** 2 DA24SER CHAR(8), /* VOLUME SERIAL NUMBER-PADDED 14200000 ** W/BLANKS * 14210000 ** 2 DA24BLK CHAR(4), /* AVERAGE RECORD LENGTH * 14220000 ** 2 DA24PQTY CHAR(4), /* PRIMARY SPACE QUANTITY * 14230000 ** 2 DA24SQTY CHAR(4), /* SECONDARY SPACE QUANTITY * 14240000 ** 2 DA24DQTY CHAR(4), /* DIRECTORY BLOCK QUANTITY * 14250000 ** 2 DA24MNM CHAR(8), /* MEMBER NAME * 14260000 ** 2 DA24PSWD CHAR(8), /* PASSWORD * 14270000 ** 2 DA24DSP1 CHAR(1), /* DATA SET STATUS FLGS(IF=0 14280000 ** OLD ASSUMED) * 14290000 ** 3 * BIT(1), /* RESERVED * 14300000 ** 3 * BIT(1), /* RESERVED * 14310000 ** 3 * BIT(1), /* RESERVED * 14320000 ** 3 * BIT(1), /* RESERVED * 14330000 ** 3 DA24SHR BIT(1), /* DATA SET IS SHR * 14340000 ** 3 DA24NEW BIT(1), /* DATA SET IS NEW * 14350000 ** 3 DA24MOD BIT(1), /* DATA SET IS MOD * 14360000 ** 3 DA24OLD BIT(1), /* DATA SET IS OLD * 14370000 ** 2 DA24DPS2 CHAR(1), /* DATA SET DISPOSITION(IF=0 14380000 ** KEEP ASSUMED) * 14390000 ** 3 * BIT(1), /* RESERVED * 14400000 ** 3 * BIT(1), /* RESERVED * 14410000 ** 3 * BIT(1), /* RESERVED * 14420000 ** 3 * BIT(1), /* RESERVED * 14430000 ** 3 DA24KEEP BIT(1), /* DS DISP IS KEEP * 14440000 ** 3 DA24DEL BIT(1), /* DS DISP IS DELETE * 14450000 ** 3 DA24CAT BIT(1), /* DS DISP IS CATLG * 14460000 ** 3 DA24UCAT BIT(1), /* DS DISP IS UNCATALOG * 14470000 ** 2 DA24DPS3 CHAR(1), /* DATA SET CONDITIONAL 14480000 ** DISPOSITION * 14490000 ** 3 * BIT(1), /* RESERVED * 14500000 ** 3 * BIT(1), /* RESERVED * 14510000 ** 3 * BIT(1), /* RESERVED * 14520000 ** 3 * BIT(1), /* RESERVED * 14530000 ** 3 DA24KEP BIT(1), /* DS DISP OF KEEP DESIRED * 14540000 ** 3 DA24DELE BIT(1), 14550000 ** 3 DA24CATL BIT(1), 14560000 ** 3 DA24UNCT BIT(1), 14570000 ** 2 DA24CTL CHAR(1), /* FLAGS TO CONTROL ACTIONS 14580000 ** TAKEN BY DAIR * 14590000 ** 3 DA24TRKS BIT(1), /*SPACE UNITS REQUESTED * 14600000 ** 3 DA24ABKL BIT(1), 14610000 ** 3 DA24UID BIT(1), 14620000 ** 3 DA24RLSE BIT(1), 14630000 ** 3 DA24PERM BIT(1), 14640000 ** 3 DA24DMMY BIT(1), 14650000 ** 3 DA24ATRL BIT(1), /*ATTR LIST SUPPLIED C99236* 14660000 ** 3 * BIT(1), /* C99236* 14670000 ** 2 * CHAR(3), /* RESERVED * 14680000 ** 2 DA24DSO CHAR(1), /* DSORG C99236* 14690000 ** 2 DA24ALN CHAR(8); /* ATTR-LIST-NAME C99236* 14700000 ** 14710000 ** DECLARE 14720000 ** 1 DAPB28 BASED(DAIRPTR), 14730000 ** /* *************************************************************** * 14740000 ** /* S OPERATION CODE ALLOWS A LIST OF OPERATIONS TO BE PERFORMED * 14750000 ** /* ANY OPERATION FAILS, PROCESSING STOPS AND THE ADDRESS OF THE * 14760000 ** /* LED OPERATION IS RETURNED IN PFOP * 14770000 ** /* *************************************************************** * 14780000 ** 2 DA28CD CHAR(2), /* DAIR ENTRY CODE * 14790000 ** 2 DA28NOP FIXED(15), /* NUMB OF OPERATION PTR FIELDS 14800000 ** WHICH FOLLOW * 14810000 ** 2 DA28PFOP PTR(31); /* POINTER TO FAILED OPERATION 14820000 ** OPERATION POINTERS ARE 14830000 ** PLACED HERE * 14840000 ** 14850000 ** DECLARE 14860000 ** 1 DAPB2C BASED(DAIRPTR), 14870000 ** /* *************************************************************** * 14880000 ** /* S OPERATION CODE ALLOWS FOR RE-USE OF TIOT ENTRIES * 14890000 ** /* IS USED BY THE TMP BEFORE DETACHING A TASK, AND BY ANY TASK * 14900000 ** /* CH ATTACHES SUB-TASKS * 14910000 ** /* *************************************************************** * 14920000 ** 2 DA2CCD CHAR(2), /* DAIR ENTRY CODE * 14930000 ** 2 DA2CFLG FIXED(15), /* FLAGFIELD * 14940000 ** 2 DA2CTCB PTR(31), /* TCB ADDR OF DSE ENTRIES * 14950000 ** /* MARKED NOT IN USE * 14960000 ** 2 DA2CDDN CHAR(8); /* DDNAME * 14970000 ** DECLARE 14980000 ** 1 DAPB30 BASED(DAIRPTR), 14990000 ** /* *************************************************************** * 15000000 ** /* S OPERATION CODE ALLOWS FOR ALLOCATION OF A SYSOUT DATA SET * 15010000 ** /* *************************************************************** * 15020000 ** 2 DA30CD CHAR(2), /* DAIR ENTRY CODE * 15030000 ** 2 DA30FLG CHAR(2), /* FUNCTIONS PERFORMED WHEN 15040000 ** RETURN CODE= 0 * 15050000 ** 3 DA30FPE BIT(1), /* FUNCT PERFORMED BUT ERROR 15060000 ** INDICATED BY RETCD * 15070000 ** 3 * BIT(1), /* RESERVED * 15080000 ** 3 * BIT(1), /* RESERVED * 15090000 ** 3 * BIT(1), /* RESERVED * 15100000 ** 3 * BIT(1), /* RESERVED * 15110000 ** 3 * BIT(1), /* RESERVED * 15120000 ** 3 * BIT(1), /* RESERVED * 15130000 ** 3 * BIT(1), /* RESERVED * 15140000 ** 2 DA30DARC FIXED(15), /* DYN ALLOC RETURM CODE * 15150000 ** 2 * CHAR(2), /* RESERVED * 15160000 ** 2 DA30PDSN PTR(31), /* POINTER TO DSNAME TO BE 15170000 ** SEARCHED IN DSE */ 15180000 ** 2 DA30DDN CHAR(8), /* DDNAME TO BE SEARCHED IN DSE * 15190000 ** 2 DA30UNIT CHAR(8), /* UNITNAME REQUESTED * 15200000 ** 2 DA30SER CHAR(8), /* VOLUME SERIAL NUMBER-PADDED 15210000 ** W/BLANKS * 15220000 ** 2 DA30BLK CHAR(4), /* AVERAGE RECORD LENGTH * 15230000 ** 2 DA30PQTY CHAR(4), /* PRIMARY SPACE QUANTITY * 15240000 ** 2 DA30SQTY CHAR(4), /* SECONDARY SPACE QUANTITY * 15250000 ** 2 DA30PGNM CHAR(8), /* PROGRAM NAME -IF OMITTED 15260000 ** MUST BE SET TO BLANKS * 15270000 ** 2 DA30FORM CHAR(4), /* FORM NUMBER * 15280000 ** 2 DA30OCLS CHAR(2), /* OUTPUT CLASS * 15290000 ** 2 * CHAR(1), /* RESERVED * 15300000 ** 2 DA30CTL CHAR(1), /* FLAGS TO CONTROL ACTIONS 15310000 ** TAKEN BY DAIR * 15320000 ** 3 DA30TRKS BIT(1), /*SPACE UNITS REQUESTED * 15330000 ** 3 DA30ABKL BIT(1), 15340000 ** 3 DA30UID BIT(1), 15350000 ** 3 DA30RLSE BIT(1), 15360000 ** 3 DA30PERM BIT(1), 15370000 ** 3 DA30DMMY BIT(1), 15380000 ** 3 DA30ATRL BIT(1), /*ATTR LIST SUPPLIED C99236* 15390000 ** 3 * BIT(1), /* C99236* 15400000 ** 2 DA30ALN CHAR(8); /* ATTR-LIST-NAME C99236* 15410000 * /******************************************************************** 15420000 * /* THIS DAIR PARAMETER BLOCK IS USED TO CAUSE: * 15430000 * /* 1) A SEARCH OF THE ATRCB CHAIN FOR A GIVEN NAME * 15440000 * /* 2) AN ATRCB TO BE PLACED ON THE ATRCB CHAIN * 15450000 * /* 3) AN ATRCB TO BE REMOVED FROM THE ATRCB CHAIN * 15460000 * /******************************************************************** 15470000 * DECLARE 15480000 * 1 DAPB34 BASED(DAIRPTR), 15490000 * 2 DA34CD CHAR(2), /* DAIR ENTRY CODE * 15500000 * 2 DA34FLG CHAR(2), /* FLAG FIELD * 15510000 * 3 DA34FIND BIT(1), /* ZERO IF ATTR-LIST-NAME 15520000 * NOT FOUND ONE IF FOUND * 15530000 * 2 DA34DARC FIXED(15), /* DYNAMIC ALLOC. RETURN CODE* 15540000 * 2 DA34CTRL CHAR(1), /* CONTROL BYTES * 15550000 * 3 DA34SRCH BIT(1), /* SEARCH ATTR.CHAIN FOR NAME* 15560000 * 3 DA34CHN BIT(1), /* CHAIN NEW ATTR.LIST * 15570000 * 3 DA34UNCH BIT(1), /* REMOVE ATTR-LIST FROM CHAIN* 15580000 * 2 * CHAR(1), 15590000 * 2 DA34NAME CHAR(8), /* ATTRIBUTE-LIST-NAME * 15600000 * 2 DA34ADDR PTR(31); /* ADDR OF DAIRACB * 15610000 * DCL ATRCBPTR PTR(31) AUTO; /* PTR TO ATRCB C99236* 15620000 * /******************************************************************** 15630000 * /******************************************************************** 15640000 * /*THE ATRCB IS USED TO PROVIDE DCB PARAMETERS TO THE DYNAMIC * 15650000 * /*ALLOCATION ROUTINE * 15660000 * /******************************************************************** 15670000 * DECLARE 15680000 * 1 ATRCB BASED(ATRCBPTR), 15690000 * 2 ATRFORWD PTR (31), /* ADDRESS OF NEXT ATRCB * 15700000 * 2 ATRBCKWD PTR (31), /* ADDRESS OF PREV. ATRCB * 15710000 * 2 * CHAR (4), /* RESERVED * 15720000 * 2 ATRNAME CHAR (8), /* ATTR-LIST-NAME * 15730000 * 2 ATRLNGH FIXED(15), /* LENGTH OF ATRCB * 15740000 * 2 ATRMASK CHAR(8), /* INOUT-OUTIN * 15750000 * 3 * CHAR(6), /* RESERVED YM1841* 15760000 * 3 ATRLABEL CHAR(1), /* OPTION * 15770000 * 4 ATRINOUT BIT(1), /* INOUT * 15780000 * 4 ATROUTIN BIT(1), /* OUTIN * 15790000 * 3 * CHAR(1), /* RESERVED YM1841* 15800000 * 2 * CHAR(3), /* RESERVED * 15810000 * 2 ATREXPDT CHAR(3), /* DATA SET EXPIRATION DATE* 15820000 * 2 * CHAR(2), /* RESERVED * 15830000 * 2 ATRBUFNO CHAR(1), /* NO. OF BUFFERS * 15840000 * 2 ATRBFTEK CHAR(1), /* BFTEK/BFALN * 15850000 * 3 ATRBFALN CHAR(1), 15860000 * 4 * BIT(1), 15870000 * 4 ATRAUTO BIT(2), /* AUTO RECORD AREA "A"* 15880000 * 5 ATRSIMPL BIT(1), /* SIMPLE BUFFERING "S"* 15890000 * 5 ATRECRD BIT(1), /* RECORD BUFFERING "R"* 15900000 * 4 ATREXC BIT(1), /* EXCHANGE BUFFERING "E"* 15910000 * 4 * BIT(2), 15920000 * 4 ATRDOUBL BIT(1), /* DOUBLE WORD BDY "D"* 15930000 * 4 ATRFULL BIT(1), /* FULL WORD BDY "F"* 15940000 * 2 ATRBUFL FIXED(15), /* BUFFER LENGTH * 15950000 * 2 ATREROPT CHAR(1), /* ERROR OPTION * 15960000 * 3 ATRACEPT BIT(1), /* ACCEPT "ACC"* 15970000 * 3 ATRSKIP BIT(1), /* SKIP "SKP"* 15980000 * 3 ATRABNOR BIT(1), /* ABNORMAL EOT "ABE"* 15990000 * 2 ATRKEYLE CHAR(1), /* KEY LENGTH * 16000000 * 2 * CHAR(6), /* RESERVED * 16010000 * 2 ATRECFM CHAR(1), /* RECORD FORMAT * 16020000 * 3 ATRUNDEF BIT(2), /* UNDEFINED "U"* 16030000 * 4 ATRFIXED BIT(1), /* FIXED "F"* 16040000 * 4 ATRVARIB BIT(1), /* VARIABLE "V"* 16050000 * 3 ATRTRKOV BIT(1), /* TRACK OVERFLOW "T"* 16060000 * 3 ATRBLOCK BIT(1), /* BLOCKED "B"* 16070000 * 3 ATRSTAND BIT(1), /* STANDARD BLOCKS "S"* 16080000 * 3 ATRASA BIT(1), /* ASA PRINTER CHARS "A"* 16090000 * 3 ATRMACH BIT(1), /* MACH CNTRL CHAR "M"* 16100000 * 2 ATROPTCD CHAR(1), /* OPTION CODES * 16110000 * 3 ATRWRTCK BIT(1), /* WRT VALIDITY CK "W"* 16120000 * 3 * BIT(1), 16130000 * 3 ATRSCHED BIT(1), /* CHAIN SCHEDULING "C"* 16140000 * 3 * BIT(1), 16150000 * 3 ATRANSI BIT(1), /* ANSI TRANSLATE "Q"* 16160000 * 3 * BIT(1), 16170000 * 3 ATRUSERT BIT(1), /* USER TOTALING "T"* 16180000 * 2 ATRBLKSI FIXED(15), /* MAXIMUM BLOCK SIZE * 16190000 * 2 ATRLRECL FIXED(15), /* LOGICAL RECORD LENGTH * 16200000 * 2 ATRNCP CHAR(1), /* MAX# OF READ/WRITE MAC- * 16210000 * /* ROS BEFORE CHECK * 16220000 * 2 * CHAR (4); /* RESERVED * 16230000 ** DECLARE 16240000 ** 1 DSE BASED(DSEPTR), 16250000 ** /* *************************************************************** * 16260000 ** 16270000 ** 16280000 ** /* IS USED TO MAINTAIN DATA SET INFORMATION, SUCH AS THE DDNAME-- * 16290000 ** /* ME RELATIONSHIP. IT IS A SERIES OF CHAINED ELEMENTS EACH ONE * 16300000 ** /* ABLE IN SIZE DEPENDENT ON THE INFORMATION PRESENT. * 16310000 ** 16320000 ** 16330000 ** /* *************************************************************** * 16340000 ** 2 DSEFORWD PTR(31), /* ADDRESS OF NEXT DSE BLK(ZERO 16350000 ** IN LAST DSE) * 16360000 ** 2 DSEBCKWD PTR(31), /* ADDRESS OF PREV. DSE BLK 16370000 ** (ZERO IN FIRST DSE) * 16380000 ** 2 DSEBLKSZ FIXED(15), /* TOTAL NO. OF BYTES IN THIS 16390000 ** DSE BLK INCLUDES THIS FIELD 16400000 ** AND TWO PRIOR FIELDS * 16410000 ** 2 DSESTAT CHAR(1), /* THE ALLOCATED STATUS OF 16420000 ** THE DATA SET * 16430000 ** 3 * BIT(1), /* RESERVED * 16440000 ** 3 * BIT(1), /* RESERVED * 16450000 ** 3 * BIT(1), /* RESERVED * 16460000 ** 3 * BIT(1), /* RESERVED * 16470000 ** 3 DSESHR BIT(1), /* SHR * 16480000 ** 3 DSENEW BIT(1), /* NEW * 16490000 ** 3 DSEMOD BIT(1), /* MOD * 16500000 ** 3 DSEOLD BIT(1), /* OLD * 16510000 ** 2 DSECNTRL CHAR(1), /* STATUS OF DATA SETS WHEN 16520000 ** BITS ARE ON AS FOLLOWS * 16530000 ** 3 DSEDYN BIT(1), /* DATA SET ALLOCATED 16540000 ** DYNAMICALLY * 16550000 ** 3 DSENUSED BIT(1), /* DATA SET NOT IN USE * 16560000 ** 3 DSEMEM BIT(1), /* MEMBER FIELD IS PRESENT IN 16570000 ** THIS DSE * 16580000 ** 3 DSEDTIOT BIT(1), /* TIOT ENTRY IS DYNAM * 16590000 ** 3 DSECON BIT(1), /* DATA SET CONCATENATED 16600000 ** DYNAMICALLY * 16610000 ** 3 * BIT(1), /* RESERVED * 16620000 ** 3 DSEPERM BIT(1), /* DATA SET IS PERMAMENTLY 16630000 ** ALLOCATED EQU * 16640000 ** 3 * BIT(1), /* RESERVED * 16650000 ** 2 DSEDDNAM CHAR(8), /* DDNAME AS IT APPEARS IN TIOT * 16660000 ** 2 DSETCBAD PTR(31), /* ADD. OF TCB FOR CP WHICH 16670000 ** SECURED DYNAMIC ALLOC. * 16680000 ** 2 DSETTRPW FIXED(31), /* RELATIVE TTR OF PASSWD FOR 16690000 ** THIS FIELD IS ZERO. * 16700000 ** 2 DSENDISP CHAR(1), /* NORMAL DISPOSITION IND. BY 16710000 ** BIT SETTINGS: EQU EQU EQU 16720000 ** EQU * 16730000 ** 3 * BIT(1), /* RESERVED * 16740000 ** 3 * BIT(1), /* RESERVED * 16750000 ** 3 * BIT(1), /* RESERVED * 16760000 ** 3 * BIT(1), /* RESERVED * 16770000 ** 3 DSEKEP BIT(1), /* KEEP * 16780000 ** 3 DSEDEL BIT(1), /* DELETE * 16790000 ** 3 DSECAT BIT(1), /* CATLG * 16800000 ** 3 DSEUCAT BIT(1), /* UNCATLG * 16810000 ** 2 DSEADISP CHAR(1), /* ABNORMAL DISPOSITION IS IND. 16820000 ** BY SETTING BITS IN THIS 16830000 ** FIELD THE SAME AS IN 16840000 ** DSENDISP * 16850000 ** 3 * BIT(1), /* RESERVED */ 16860000 ** 3 * BIT(1), /* RESERVED */ 16870000 ** 3 * BIT(1), /* RESERVED */ 16880000 ** 3 * BIT(1), /* RESERVED */ 16890000 ** 3 DSEAKEP BIT(1), /* KEEP */ 16900000 ** 3 DSEADEL BIT(1), /* DELETE */ 16910000 ** 3 DSEACAT BIT(1), /* CATALOG */ 16920000 ** 3 DSEAUCAT BIT(1), /* UNCATALOG */ 16930000 ** 2 DSEDSORG CHAR(1), /* ORGANIZATION IND. BY 16940000 ** FOLLOWING BITS: * 16950000 ** 3 DSEIS BIT(1), /* INDEXED SEQUENTIAL * 16960000 ** 3 DSEPS BIT(1), /* PHYSICAL SEQUENTIAL * 16970000 ** 3 DSEDA BIT(1), /* DIRECT ORGANIZATION EQU EQU 16980000 ** EQU * 16990000 ** 3 * BIT(1), /* RESERVED * 17000000 ** 3 * BIT(1), /* RESERVED * 17010000 ** 3 * BIT(1), /* RESERVED * 17020000 ** 3 DSEPO BIT(1), /* PARTITIONED ORGANIZATION * 17030000 ** 3 DSEU BIT(1), /* UNMOVABLE * 17040000 ** 2 DSEDSLNG PTR(8), /* LENGTH OF DATA SET NAME IN 17050000 ** BYTES (1-44) * 17060000 ** 2 DSEDSNAM CHAR(44), /* DATA SET NAME DSE DESCRIBES * 17070000 ** 1 DSEMEMBR CHAR(8) BASED(DSEMPTR); /* FIELD CAN ONLY BE PRESENT 17080000 ** WHEN DATA SET IS OF A 17090000 ** PARTITIONED ORGANIZATION. IT 17100000 ** IS THE MEMBER OF THE PDS 17110000 ** CURRENTLY ALLOCATEDAND IS 17120000 ** PRESENT WHEN BIT TWO OF 17130000 ** CONTROL BYTE IS SET * 17140000 ** 17150000 * DCL 1 CVTMAP BASED(CVTPTR), /*HAND MAPPING OF THE CVT * 17160000 * 2 CVTTCBP PTR(31), 17170000 * 2 * CHAR(112), 17180000 * 2 CVTDCBA PTR(24), 17190000 * 2 * CHAR(62), 17200000 * 2 MAPBIT CHAR(1), 17210000 * 3 * BIT(2), 17220000 * 3 CVTDDR BIT(1), 17230000 * 3 * BIT(5), 17240000 * 2 * CHAR(45), 17250000 * 2 CVTTSCVT PTR(31); 17260000 * DCL TCBPTR PTR(31) BASED(CVTTCBP+4);/* CURRENT TCB * 17270000 ** 17280000 **/* * 17290000 **/* TASK CONTROL BLOCK * 17300000 **/* * 17310000 **/* AOS/1 RELEASE 2, AOS/2 RELEASE 1, 03/09/72, LEVEL=12 * 17320000 **/* * 17330000 **/* METHOD OF ACCESS * 17340000 **/* BAL - A DSECT IS PRODUCED UNLESS DSECT=NO IS SPECIFIED. * 17350000 **/* USING ON TCBFIX GIVES ADDRESSABILITY FOR ALL SYMBOLS * 17360000 **/* IN PREFIX AND TCB PROPER. TO GET ADDRESSABILITY FOR * 17370000 **/* THE AOS/1 - AOS/2 COMMON EXTENSION, YOU SHOULD CODE * 17380000 **/* * 17390000 **/* L REG,TCBEXT2 * 17400000 **/* USING TCBXTNT2,REG * 17410000 **/* WHERE REG IS ANY REGISTER OTHER THAN ZERO. * 17420000 **/* * 17430000 **/* THIS MACRO ASSUMES A DEFAULT OF SYS=AOS2 WHICH MEANS * 17440000 **/* A MAPPING OF AN AOS/2 TCB IS DESIRED. IF A MAPPING * 17450000 **/* OF AN AOS/1 TCB IS DESIRED, PUT SYS=AOS1 AS A * 17460000 **/* PARAMETER ON THE MACRO CALL. IF A MAPPING OF THE * 17470000 **/* TCB FOR BOTH AOS/1 AND AOS/2 IS DESIRED, PUT * 17480000 **/* SYS=BOTH AS A PARAMETER. * 17490000 **/* * 17500000 **/* PL/S - DCL TCBPTR PTR * 17510000 **/* * 17520000 **/* THIS MACRO ASSUMES IT IS MAPPING AN AOS/2 TCB. IF * 17530000 **/* AN AOS/1 TCB MAPPING IS DESIRED, SPECIFY * 17540000 **/* %TCBSYSTM='AOS1' OR IF A MAPPING OF THE TCB FOR BOTH * 17550000 **/* AOS/1 AND AOS/2 IS DESIRED, SPECIFY %TCBSYSTM='BOTH' * 17560000 **/* BEFORE THE INCLUDE FOR THIS MACRO. DO NOT SET * 17570000 **/* TCBSYSTM TO 'AOS2' BECAUSE NULL MEANS AOS/2. * 17580000 **/* * 17590000 **/* MACRO VARIABLE TCBLEN IS SET TO THE LENGTH OF THE * 17600000 **/* TCB INCLUDING THE PREFIX. TCBLEN IS VALID IF * 17610000 **/* TCBSYSTM IS 'AOS1' OR '' (AOS/2), BUT IT IS NOT * 17620000 **/* VALID IF TCBSYSTM='BOTH'. * 17630000 ** 17640000 ** /* TCB PREFIX * 17650000 ** 17660000 ** DECLARE 17670000 ** 1 TCBFIX BASED(TCBPTR-32) BDY(DWORD), 17680000 ** 17690000 ** 2 TCBFRS CHAR(32) BDY(DWORD), /* FLOATING POINT REGISTER SAVE 17700000 ** AREA * 17710000 ** 3 TCBFRS0 CHAR(8) BDY(DWORD), /* SAVE AREA FOR FLOATING 17720000 ** POINT REGISTER 0 * 17730000 ** 3 TCBFRS2 CHAR(8) BDY(DWORD), /* SAVE AREA FOR FLOATING 17740000 ** POINT REGISTER 2 * 17750000 ** 3 TCBFRS4 CHAR(8) BDY(DWORD), /* SAVE AREA FOR FLOATING 17760000 ** POINT REGISTER 4 * 17770000 ** 3 TCBFRS6 CHAR(8) BDY(DWORD); /* SAVE AREA FOR FLOATING 17780000 ** POINT REGISTER 6 * 17790000 ** 17800000 ** /* TCB PROPER * 17810000 ** 17820000 ** DECLARE 17830000 ** 1 TCB BASED(TCBPTR) BDY(DWORD), 17840000 ** 17850000 ** 2 TCBRBP PTR(31), /* PTR TO TOP RB ON RB CHAIN * 17860000 ** 2 TCBPIE PTR(31), /* ADDR OF PROGRAM INTERRUPT 17870000 ** ELEMENT (PIE) * 17880000 ** 3 TCBPMASK CHAR(1), /* SPIE BITS * 17890000 ** 4 * BIT(4), /* RESERVED * 17900000 ** 4 TCBPM BIT(4), /* PROGRAM MASK AT TIME OF SPIE 17910000 ** INITIATION. MASK RESTORED AT 17920000 ** TIME OF SPIE NULLIFICATION. * 17930000 ** 3 TCBPIEA PTR(24), /* ADDRESS OF PIE * 17940000 ** 2 TCBDEB PTR(31), /* ADDR OF THE DEB QUEUE * 17950000 ** 2 TCBTIO PTR(31), /* ADDR OF THE TASK I/O TABLE 17960000 ** (TIOT) * 17970000 ** 2 TCBCMP CHAR(4), /* TASK COMPLETION CODE * 17980000 ** 3 TCBCMPF CHAR(1), /* COMPLETION FLAGS * 17990000 ** 4 TCBCREQ BIT(1), /* - A DUMP HAS BEEN REQUESTED * 18000000 ** 4 TCBCSTEP BIT(1), /* - A STEP ABEND HAS BEEN 18010000 ** REQUESTED * 18020000 ** 4 TCBCPP BIT(1), /* - SECOND ABEND LOAD OVERLAID 18030000 ** PP STORAGE (AOS/1) FOR FIRST 18040000 ** LOAD OVERLAY SEE TCBFLGS * 18050000 ** 4 TCBSTCC BIT(1), /* COMPLETION CODE IS NOT TO 18060000 ** BE STORED IN TCBCMPC SHOULD 18070000 ** AN ABEND BE ENCOUNTERED. 18080000 ** THIS PREVENTS AN OVERLAY OF 18090000 ** ORIGINAL COMPLETION CODE. * 18100000 ** 4 TCBCDBL BIT(1), /* - A DOUBLE ABEND HAS 18110000 ** OCCURRED * 18120000 ** 4 TCBCWTO BIT(1), /* - DUMP MSG TO BE ISSUED TO 18130000 ** OPR * 18140000 ** 4 TCBCIND BIT(1), /* - SCHEDULER TO PRINT 18150000 ** INDICATIVE DUMP * 18160000 ** 4 TCBCMSG BIT(1), /* - ABEND MSG PROVIDED TO BE 18170000 ** PRINTED BY ABDUMP * 18180000 ** 3 TCBCMPC CHAR(3), /* SYSTEM (FIRST 12 BITS) AND 18190000 ** USER (SECOND 12) COMPLETION 18200000 ** CODES * 18210000 ** 2 TCBTRN PTR(31), /* ADDR OF CONTROL CORE TABLE * 18220000 ** 3 TCBABF CHAR(1), /* FLAG BYTE * 18230000 ** 4 TCBMOD91 BIT(1), /* - BOTH TESTRAN AND DECIMAL 18240000 ** SIMULATOR ON A MOD 91 * 18250000 ** 4 TCBNOCHK BIT(1), /* - SUPPRESS TAKING 18260000 ** CHECKPOINTS FOR THIS STEP 18270000 ** (JOB STEP TCB) * 18280000 ** 4 TCBGRPH BIT(1), /* - GRAPHICS FOREGROUND JOB OR 18290000 ** GRAPHIC JOB PROCESSOR * 18300000 ** 4 TCBRSV01 BIT(1), /* RESERVED * 18310000 ** 4 TCBTCPP BIT(1), /* - TCAM POST-PENDING (RORI) * 18320000 ** 4 TCBTCP BIT(1), /* - TEST TASK - USED BY TEST 18330000 ** SVC * 18340000 ** 4 TCBOLTEP BIT(1), /* OLTEP FUNCTIONS REQUIRE 18350000 ** CLEAN-UP BEFORE ABNORMAL 18360000 ** TERMINATION CAN BE INVOKED * 18370000 ** 4 TCBRSV02 BIT(1), /* RESERVED * 18380000 ** 3 TCBTRNB PTR(24), /* ADDR OF CONTROL CORE TABLE * 18390000 ** 2 TCBMSS PTR(31), /* ADDR OF THE BOUNDARY BOX 18400000 ** (AOS/1) ADDR OF LAST SPQE 18410000 ** ON MSS QUEUE (AOS/2) * 18420000 ** 3 TCBRSV03 PTR(8), /* ** TCBNROC FIELD UNUSED 18430000 ** IN AOS ** * 18440000 ** 3 TCBMSSB PTR(24), /* ADDR OF THE BOUNDARY BOX 18450000 ** (AOS/1) ADDR OF LAST SPQE 18460000 ** ON MSS QUEUE (AOS/2) * 18470000 ** 2 TCBPKF CHAR(1), /* STORAGE PROTECTION KEY * 18480000 ** 3 TCBFLAG BIT(4), /* - PROTECTION KEY * 18490000 ** 3 TCBZERO BIT(4), /* - ZERO * 18500000 ** 2 TCBFLGS CHAR(5), /* FLAGS * 18510000 ** 3 TCBFLGS1 CHAR(1), /* FIRST TCB FLAG BYTE * 18520000 ** 4 TCBFA BIT(1), /* - ABNORMAL TERMINATION IN 18530000 ** PROGRESS * 18540000 ** 4 TCBFE BIT(1), /* - NORMAL TERMINATION IN 18550000 ** PROGRESS * 18560000 ** 4 TCBFERA BIT(1), /* ENTER ABEND ERASE ROUTINE 18570000 ** WHEN IN CONTROL AGAIN (AOS/2)* 18580000 ** 4 TCBRSV04 BIT(1), /* RESERVED ICB402* 18590000 ** 4 TCBPDUMP BIT(1), /* PREVENT DUMP INDICATOR 18600000 ** (AOS/2) * 18610000 ** 4 TCBFT BIT(1), /* TOP TASK IN TREE BEING 18620000 ** ABTERMED (AOS/2) * 18630000 ** 4 TCBFS BIT(1), /* - ABTERM DUMP COMPLETED 18640000 ** (AOS/2) ABEND OVERLAID 18650000 ** PROBLEM PROGRAM STORAGE 18660000 ** (AOS/1) * 18670000 ** 4 TCBFX BIT(1), /* - PROHIBIT ASYNCHRONOUS EXIT 18680000 ** QUEUEING * 18690000 ** 3 TCBFLGS2 CHAR(1), /* SECOND FLAG BYTE * 18700000 ** 4 TCBFOINP BIT(1), /* A VALUE OF 1 INDICATES THAT 18710000 ** THE TASK IS ABENDING AND IS 18720000 ** IN THE PROCESS OF (1) OPEN 18730000 ** FOR DUMP DATA SET PROCESSING, 18740000 ** (2) CLOSE FOR USER DATA SET 18750000 ** OR (3) PURGE FOR ENQ'ED 18760000 ** RESOURCES. THIS BIT IS USED 18770000 ** IN CONJUNCTION WITH TCBSTACK. 18780000 ** (AOS/2) ICB374* 18790000 ** 4 TCBFSTI BIT(1), /* - SECOND JOB STEP INTERVAL 18800000 ** HAS EXPIRED (AOS/2 INITIATOR 18810000 ** TCB) * 18820000 ** 4 TCBRSV05 BIT(1), /* RESERVED * 18830000 ** 4 TCBFSMC BIT(1), /* - TASK HAS ISSUED SYSTEM 18840000 ** MUST COMPLETE AND SET ALL 18850000 ** OTHER TASKS IN THE SYSTEM 18860000 ** NONDISPATCHABLE * 18870000 ** 4 TCBFJMC BIT(1), /* - TASK HAS ISSUED STEP MUST 18880000 ** COMPLETE AND TURNED OFF ALL 18890000 ** OTHER TASKS IN THE STEP * 18900000 ** 4 TCBFDSOP BIT(1), /* SYSABEND OPEN FOR JOBSTEP 18910000 ** (AOS/2) * 18920000 ** 4 TCBFETXR BIT(1), /* - ETXR TO BE SCHEDULED * 18930000 ** 4 TCBFTS BIT(1), /* - MEMBER OF TIME-SLICING 18940000 ** GROUP * 18950000 ** 3 TCBFLGS3 CHAR(1), /* THIRD FLAG BYTE * 18960000 ** 4 TCBFSM BIT(1), /* - ALL PSW'S IN SUPERVISOR 18970000 ** STATE (AOS/2) * 18980000 ** 4 TCBADINP BIT(1), /* USED IN CONJUNCTION WITH 18990000 ** TCBONDSP. FLAG INDICATING 19000000 ** THAT ABDUMP IS CURRENTLY 19010000 ** PROCESSING FOR SOME TASK IN 19020000 ** JOB STEP. A HIGHER LEVEL 19030000 ** TASK IS NOT ALLOWED TO ENTER 19040000 ** MAINLINE ABEND PROCESSING IF 19050000 ** THIS BIT IS SET IN JOB STEP 19060000 ** TCB UNLESS JOB STEP TASK IS 19070000 ** FAILING. BIT SET ONLY IN JOB 19080000 ** STEP TCB AND TASK INVOKING 19090000 ** ABDUMP. (AOS/2) * 19100000 ** 4 TCBABTRM BIT(1), /* - ABTERM BIT TO PREVENT 19110000 ** MULTIPLE ABENDS (AOS/2) * 19120000 ** 4 TCBABGM BIT(1), /* GETMAIN IS TO DEFAULT LSQA 19130000 ** REQUESTS TO SQA REQUESTS WHEN 19140000 ** REQUEST CANNOT BE SATISFIED 19150000 ** FROM LSQA (AOS/2) * 19160000 ** 4 TCBRSV06 BIT(1), /* RESERVED (AOS/2) * 19170000 ** 4 TCBRSV07 BIT(1), /* RESERVED (AOS/2) * 19180000 ** 4 TCBRSV08 BIT(1), /* RESERVED (AOS/2) * 19190000 ** 4 TCBDWSTA BIT(1), /* TASK WAS DETATCHED WITH 19200000 ** STAE=YES OPTION (AOS/2)ICB315* 19210000 ** 3 TCBFLGS4 CHAR(1), /* NONDISPATCHABILITY FLAGS 19220000 ** (AOS/2) * 19230000 ** 4 TCBNDUMP BIT(1), /* - ABDUMP NON-DISP. INDICATOR * 19240000 ** 4 TCBSER BIT(1), /* - SER1 NON-DISP. INDICATOR * 19250000 ** 4 TCBRQENA BIT(1), /* - I/O RQE'S EXHAUSTED * 19260000 ** 4 TCBHNDSP BIT(1), /* TASK OR JOB STEP IS 19270000 ** MOMENTARILY 'FROZEN' UNTIL 19280000 ** THE REQUIRED RESOURCES ARE 19290000 ** AVAILABLE. THE BIT IS SET 19300000 ** THROUGH THE USE OF THE 19310000 ** 'STATUS' SVC. ICB453* 19320000 ** 4 TCBUXNDV BIT(1), /* - TASK IS TEMPORARILY 19330000 ** NON-DISPATCHABLE BECAUSE SMF 19340000 ** TIME LIMIT OR SYSOUT LIMIT 19350000 ** USER EXIT ROUTINE IS BEING 19360000 ** EXECUTED FOR THIS STEP * 19370000 ** 4 TCBMPCVQ BIT(1), /* - VARY OR QUIESCE IN 19380000 ** MULTIPROCESSING SYSTEM * 19390000 ** 4 TCBMPCND BIT(1), /* - M65 MULTIPROCESSING 19400000 ** NON-DISP. INDICATOR FOR ALL 19410000 ** CPU'S * 19420000 ** 4 TCBONDSP BIT(1), /* TASK TERMINATING AND 19430000 ** NONDISPATCHABLE BECAUSE 19440000 ** EITHER OPEN FOR DUMP DATA 19450000 ** SET IS IN PROCESS OR CLOSE 19460000 ** BY ABEND IS IN PROCESS * 19470000 ** 3 TCBFLGS5 CHAR(1), /* MORE NONDISPATCHABILITY 19480000 ** FLAGS * 19490000 ** 4 TCBFC BIT(1), /* - TASK TERMINATED (AOS/2) * 19500000 ** 4 TCBABWF BIT(1), /* - ABNORMAL WAIT (AOS/2) * 19510000 ** 5 TCBUXNDF BIT(1), /* TASK IS TEMPORARILY 19520000 ** NONDISPATCHABLE BECAUSE SMF 19530000 ** TIME LIMIT OR SYSOUT LIMIT 19540000 ** USER EXIT ROUTINE IS BEING 19550000 ** EXECUTED FOR THIS STEP. THIS 19560000 ** BIT IS ONE IN ALL TCB'S FOR 19570000 ** STEP EXCEPT JOB STEP TCB. 19580000 ** (AOS/1) ICB263* 19590000 ** 4 TCBPAGE BIT(1), /* TASK NONDISPATCHABLE DUE TO 19600000 ** EXCESSIVE PAGING RATE * 19610000 ** 4 TCBANDSP BIT(1), /* TASK NONDISPATCHABLE 19620000 ** TEMPORARILY BECAUSE ATTACHED 19630000 ** WITH DISP=NO OPERAND * 19640000 ** 4 TCBSYS BIT(1), /* - ANOTHER TASK IS IN SYSTEM 19650000 ** MUST COMPLETE STATUS OR A 19660000 ** SUMMARY BIT FOR FIELD 19670000 ** TCBSYSCT (AOS/2) * 19680000 ** 4 TCBSTP BIT(1), /* - ANOTHER TASK IN JS IS IN 19690000 ** STEP MUST COMPLETE STATUS 19700000 ** (AOS/2) * 19710000 ** 4 TCBFCD1 BIT(1), /* - INITIATOR WAITING FOR 19720000 ** REGION (AOS/2) * 19730000 ** 4 TCBPNDSP BIT(1), /* - PRIMARY NONDISPATCHABILITY 19740000 ** FLAG * 19750000 ** 2 TCBLMP PTR(8), /* TASK LIMIT PRIORITY (AOS/2) 19760000 ** ENQUEUE COUNT (AOS/1) * 19770000 ** 2 TCBDSP PTR(8), /* DISPATCHING PRIORITY * 19780000 ** 2 TCBLLS PTR(31), /* ADDR OF LAST LLE IN LOAD 19790000 ** LIST (AOS/2) ADDR OF LAST RB 19800000 ** FOR PROGRAM LOADED VIA LOAD 19810000 ** (AOS/1) * 19820000 ** 2 TCBJLB PTR(31), /* ADDR OF JOBLIB DCB * 19830000 ** 2 TCBJPQ PTR(31), /* ADDR OF LAST CDE FOR JPA 19840000 ** CONTROL QUEUE (AOS/2) * 19850000 ** 4 TCBPURGE CHAR(1), /* PURGE FLAGS (AOS/2) * 19860000 ** 5 TCBJPQF BIT(1), /* - JPQ PURGE FLAG * 19870000 ** 5 TCBRSV09 BIT(1), /* RESERVED * 19880000 ** 5 TCBRSV10 BIT(1), /* RESERVED * 19890000 ** 5 TCBRSV11 BIT(1), /* RESERVED * 19900000 ** 5 TCBRSV12 BIT(1), /* RESERVED * 19910000 ** 5 TCBRSV13 BIT(1), /* RESERVED * 19920000 ** 5 TCBRSV14 BIT(1), /* RESERVED * 19930000 ** 5 TCBRSV15 BIT(1), /* RESERVED * 19940000 ** 4 TCBJPQB PTR(24), /* ADDRESS OF LAST CDE FOR JPA 19950000 ** CONTROL QUEUE (AOS/2) * 19960000 ** 2 TCBGRS CHAR(64) BDY(WORD), /* GENERAL REGISTER SAVE AREA * 19970000 ** 3 TCBGRS0 PTR(31), /* SAVE AREA FOR REGISTER 0 * 19980000 ** 3 TCBGRS1 PTR(31), /* SAVE AREA FOR REGISTER 1 * 19990000 ** 3 TCBGRS2 PTR(31), /* SAVE AREA FOR REGISTER 2 * 20000000 ** 3 TCBGRS3 PTR(31), /* SAVE AREA FOR REGISTER 3 * 20010000 ** 3 TCBGRS4 PTR(31), /* SAVE AREA FOR REGISTER 4 * 20020000 ** 3 TCBGRS5 PTR(31), /* SAVE AREA FOR REGISTER 5 * 20030000 ** 3 TCBGRS6 PTR(31), /* SAVE AREA FOR REGISTER 6 * 20040000 ** 3 TCBGRS7 PTR(31), /* SAVE AREA FOR REGISTER 7 * 20050000 ** 3 TCBGRS8 PTR(31), /* SAVE AREA FOR REGISTER 8 * 20060000 ** 3 TCBGRS9 PTR(31), /* SAVE AREA FOR REGISTER 9 * 20070000 ** 3 TCBGRS10 PTR(31), /* SAVE AREA FOR REGISTER 10 * 20080000 ** 3 TCBGRS11 PTR(31), /* SAVE AREA FOR REGISTER 11 * 20090000 ** 3 TCBGRS12 PTR(31), /* SAVE AREA FOR REGISTER 12 * 20100000 ** 3 TCBGRS13 PTR(31), /* SAVE AREA FOR REGISTER 13 * 20110000 ** 3 TCBGRS14 PTR(31), /* SAVE AREA FOR REGISTER 14 * 20120000 ** 3 TCBGRS15 PTR(31), /* SAVE AREA FOR REGISTER 15 * 20130000 ** 2 TCBFSA PTR(31), /* ADDR OF FIRST PROBLEM 20140000 ** PROGRAM SAVE AREA * 20150000 ** 3 TCBQEL PTR(8), /* ENQUEUE COUNT (AOS/2) * 20160000 ** 3 TCBFSAB PTR(24), /* ADDR OF FIRST PROBLEM 20170000 ** PROGRAM SAVE AREA * 20180000 ** 2 TCBTCB PTR(31), /* ADDR OF NEXT LOWER PRIRTITY 20190000 ** TCB ON READY QUEUE * 20200000 ** 2 TCBTME PTR(31), /* ADDRESS OF TIMER QUEUE 20210000 ** ELEMENT * 20220000 ** 2 TCBJSTCB PTR(31), /* ADDRESS OF FIRST JOBSTEP TCB 20230000 ** OR OF THIS TCB IF KEY ZERO 20240000 ** (AOS/2) * 20250000 ** 3 TCBRSV16 PTR(8), /* RESERVED * 20260000 ** 3 TCBJSTCA PTR(24), /* ADDRESS OF FIRST JOBSTEP TCB 20270000 ** OR OF THIS TCB IF KEY ZERO 20280000 ** (AOS/2) * 20290000 ** 2 TCBNTC PTR(31), /* ADDR OF NEXT SISTER TCB 20300000 ** (ZERO IF THIS IS LAST 20310000 ** SUBTASK) * 20320000 ** 2 TCBOTC PTR(31), /* ADDR OF MOTHER TCB * 20330000 ** 2 TCBLTC PTR(31), /* ADDR OF LAST DAUGHTER TCB 20340000 ** (ZERO IF THIS IS IT) * 20350000 ** 2 TCBIQE PTR(31), /* ADDR OF IQE FOR EXTR 20360000 ** SCHEDULING * 20370000 ** 2 TCBECB PTR(31), /* ADDR OF ECB TO BE POSTED 20380000 ** UPON TERMINATION * 20390000 ** 2 TCBTSFLG BIT(8), /* TIME SHARING FLAGS * 20400000 ** 3 TCBTSTSK BIT(1), /* - SWAPPED TS TASK * 20410000 ** 3 TCBSTPPR BIT(1), /* - TASK SHOULD BE MADE NDSP 20420000 ** VIA TCBSTPP WHEN IT IS NO 20430000 ** LONGER RUNNING A PRIVILEGED 20440000 ** PGM * 20450000 ** 3 TCBATT BIT(1), /* - TASK SHOULD NOT HAVE 20460000 ** ATTENTION EXITS SCHEDULED ON 20470000 ** IT BY EXIT EFFECTOR * 20480000 ** 3 TCBTIOTG BIT(1), /* - PURGE TGET/TPUT AFTER 20490000 ** ATTENTION * 20500000 ** 3 TCBRSV17 BIT(1), /* RESERVED * 20510000 ** 3 TCBRSV18 BIT(1), /* RESERVED * 20520000 ** 3 TCBDYDSP BIT(1), /* M195 TASK IS MEMBER OF 20530000 ** DYNAMIC DISPATCHING 20540000 ** GROUP ICB262* 20550000 ** 3 TCBCPUBN BIT(1), /* FOR M195, ZERO MEANS I/O 20560000 ** BOUND AND ONE MEANS CPU 20570000 ** BOUND ICB262* 20580000 ** 2 TCBSTPCT PTR(8), /* NUMBER OF SETTASK STARTS 20590000 ** WHICH MUST BE ISSUED BEFORE 20600000 ** TASK IS MADE DISPATCHABLE - 20610000 ** FIELD NOT RESTRICTED TO TSO * 20620000 ** 2 TCBTSLP PTR(8), /* LIMIT PRIORITY OF TS TASK * 20630000 ** 2 TCBTSDP CHAR(1), /* DISPATCHING PRIORITY OF TS 20640000 ** TASK * 20650000 ** 2 TCBPQE PTR(31), /* POINTER TO DPQE MINUS 8 FOR 20660000 ** THE JOB STEP (AOS/2) * 20670000 ** 2 TCBAQE PTR(31), /* LIST ORIGIN OF AQE(S) FOR 20680000 ** THIS TASK (AOS/2) * 20690000 ** 2 TCBSTAB PTR(31), /* ADDR OF STAE CONTROL BLOCK * 20700000 ** 3 TCBNSTAE CHAR(1), /* STAE FLAGS * 20710000 ** 4 TCBSTABE BIT(1), /* - ABEND ENTERED BECAUSE OF 20720000 ** ERROR IN STAE PROC * 20730000 ** 4 TCBQUIES BIT(1), /* - STAE INVOKED PURGE I/O 20740000 ** ROUTINE WITH QUIESCE I/O 20750000 ** OPTION * 20760000 ** 4 TCB33E BIT(1), /* - A 33E ABEND HAS OCCURRED 20770000 ** FOR TASK (AOS/2) * 20780000 ** 4 TCBRSV19 BIT(1), /* RESERVED (AOS/2) ICB443* 20790000 ** 4 TCBHALT BIT(1), /* - PURGE I/O ROUTINE DID NOT 20800000 ** SUCCESSFULLY QUIESCE I/O BUT 20810000 ** I/O WAS HALTED * 20820000 ** 4 TCBSYNCH BIT(1), /* - SYNCH ISSUED BY ASIR TO 20830000 ** SCHEDULE EXIT ROUTINE (AOS/2)* 20840000 ** 4 TCBNPURG BIT(1), /* - VALID RETRY WITHOUT AN 20850000 ** RB PURGE (AOS/2) * 20860000 ** 4 TCBSTCUR BIT(1), /* STAE RECURSION VALID (AOS/2) 20870000 ** ICB443* 20880000 ** 3 TCBSTABB PTR(24), /* ADDR OF STAE CONTROL BLOCK * 20890000 ** 2 TCBTCT PTR(31), /* ADDR OF TCT * 20900000 ** 3 TCBTCTGF BIT(8), /* FLAG BYTE FOR TIMING CONTROL 20910000 ** TABLE ICB318* 20920000 ** 4 TCBSMFGF BIT(1), /* IF ZERO, THE TCT CORE TABLE 20930000 ** IS NOT BE TO UPDATED BY 20940000 ** GETMAIN/FREEMAIN. IF ONE, 20950000 ** THE TCT CORE TABLE IS TO BE 20960000 ** UPDATED BY GETMAIN/FREEMAIN. 20970000 ** ICB318* 20980000 ** 4 TCBRSV20 BIT(1), /* RESERVED * 20990000 ** 4 TCBRSV97 BIT(1), /* RESERVED * 21000000 ** 4 TCBRSV98 BIT(1), /* RESERVED * 21010000 ** 4 TCBRSV99 BIT(1), /* RESERVED * 21020000 ** 4 TCBRSV9A BIT(1), /* RESERVED * 21030000 ** 4 TCBRSV9B BIT(1), /* RESERVED * 21040000 ** 4 TCBRSV9C BIT(1), /* RESERVED * 21050000 ** 3 TCBTCTB PTR(24), /* ADDR OF TCT * 21060000 ** 2 TCBUSER PTR(31), /* FIELD AVAILABLE TO THE USER * 21070000 ** 2 TCBSCNDY CHAR(4), /* SECONDARY NONDISPATCHABILITY 21080000 ** FLAGS - (IF ANY BIT IN THESE 21090000 ** BYTES IS ON, THEN SO IS THE 21100000 ** PRIMARY NDSP FLAG) * 21110000 ** 3 TCBNDSP CHAR(4), /* SAME AS TCBSCNDY * 21120000 ** 4 TCBNDSP0 CHAR(1), /* BYTE 0 * 21130000 ** 4 TCBNDSP1 CHAR(1), /* BYTE 1 * 21140000 ** 5 TCBDARTN BIT(1), /* - TASK TEMPORARILY 21150000 ** NONDISPATCHABLE - (DAR) * 21160000 ** 5 TCBDARPN BIT(1), /* - TASK PERMANENTLY 21170000 ** NONDISPATCHABLE - (DAR) * 21180000 ** 5 TCBRSTND BIT(1), /* - TASK TEMPORARILY 21190000 ** NONDISPATCHABLE - (RMS/SER) * 21200000 ** 5 TCBRSPND BIT(1), /* - TASK PERMANENTLY 21210000 ** NONDISPATCHABLE - (RMS/SER) 21220000 ** (IF THIS FLAG IS ON THEN THE 21230000 ** PREVIOUS ONE MUST BE TOO) * 21240000 ** 5 TCBDDRND BIT(1), /* TASK IS IN DEVICE ALLOCATION 21250000 ** AND DYNAMIC DEVICE 21260000 ** RECONFIGURATION (DDR) HAS 21270000 ** MADE IT NONDISPATCHABLE * 21280000 ** 5 TCBTPSP BIT(1), /* DISPATCHING OF TCAM TASK 21290000 ** MUST BE DELAYED UNTIL TCAM 21300000 ** I/O APPENDAGE OR SVC ROUTINE 21310000 ** HAS COMPLETED EXECUTION 21320000 ** (TCAM IN MULTIPROCESSING 21330000 ** ENVIRONMENT) * 21340000 ** 5 TCBRSV21 BIT(1), /* RESERVED * 21350000 ** 5 TCBRSV22 BIT(1), /* RESERVED * 21360000 ** 4 TCBNDSP2 CHAR(1), /* BYTE 2 * 21370000 ** 5 TCBABD BIT(1), /* - SET BY ABDUMP - (AOS/1) * 21380000 ** 5 TCBSTPP BIT(1), /* - TASK NDSP BECAUSE STOPPED 21390000 ** BY SETTASK * 21400000 ** 5 TCBNDSVC BIT(1), /* - TASK NDSP BECAUSE SVC 21410000 ** DUMP IS EXECUTING FOR 21420000 ** ANOTHER TASK * 21430000 ** 5 TCBNDTS BIT(1), /* - TASK NDSP BECAUSE BEING 21440000 ** SWAPPED OUT * 21450000 ** 5 TCBIWAIT BIT(1), /* - TASK NDSP DUE TO INPUT 21460000 ** WAIT * 21470000 ** 5 TCBOWAIT BIT(1), /* - TASK NDSP DUE TO OUTPUT 21480000 ** WAIT * 21490000 ** 5 TCBDSS BIT(1), /* DSS HAS SET THE TASK 21500000 ** NON-DISPATCHABLE ICB313* 21510000 ** 5 TCBABE BIT(1), /* - ABEND ENTERED FOR THIS 21520000 ** TASK - WHILE SYSABEND DCB 21530000 ** OPEN FOR ANOTHER TASK (AOS/1)* 21540000 ** 4 TCBNDSP3 CHAR(1), /* BYTE 3 * 21550000 ** 5 TCBLJSND BIT(1), /* TASK IS ABENDING AND 21560000 ** NONDISPATCHABLE BECAUSE IT 21570000 ** HAS A JOB STEP SUBTASK. 21580000 ** TCBONDSP MUST ALSO BE ON. 21590000 ** (AOS/2) * 21600000 ** 5 TCBSTAND BIT(1), /* TASK HAS BEEN SET 21610000 ** NONDISPATCHABLE WHILE ASIR 21620000 ** IS SCHEDULING AN EXIT ROUTINE 21630000 ** FOR SOME OTHER TASK IN JOB 21640000 ** STEP (AOS/2) * 21650000 ** 5 TCBRSV23 BIT(1), /* RESERVED (AOS/2) * 21660000 ** 5 TCBRSV24 BIT(1), /* RESERVED * 21670000 ** 5 TCBRSV25 BIT(1), /* RESERVED * 21680000 ** 5 TCBRSV26 BIT(1), /* RESERVED * 21690000 ** 5 TCBRSV27 BIT(1), /* RESERVED * 21700000 ** 5 TCBRSV28 BIT(1), /* RESERVED * 21710000 ** 2 TCBMDIDS FIXED(31), /* RESERVED FOR MODEL-DEPENDENT 21720000 ** SUPPORT AND FOR IBM 21730000 ** PROPRIETARY PROGRAMMING 21740000 ** SUPPORT ICBXXX* 21750000 ** 2 TCBJSCB PTR(31), /* ADDR OF JOB STEP CONTROL 21760000 ** BLOCK * 21770000 ** 3 TCBRECDE CHAR(1), /* ABEND RECURSION BYTE ICB456* 21780000 ** 4 TCBREC BIT(1), /* VALID REENTRY TO ABEND 21790000 ** INDICATED IF NON-ZERO VALUE 21800000 ** IN FOLLOWING 7 BITS ICB456* 21810000 ** 4 * BIT(7), /* ABEND BITS ICB456* 21820000 ** 3 TCBJSCBB PTR(24), /* ADDR OF JOB STEP CONTROL 21830000 ** BLOCK * 21840000 ** 2 TCBDDEXC FIXED(15), /* COUNT OF THE NUMBER OF TIMES 21850000 ** A DYNAMIC DISPATCHING TASK 21860000 ** HAS ITS TIME SLICE EXPIRE 21870000 ** (AOS/1) ICB465* 21880000 ** 2 TCBDDWTC FIXED(15), /* COUNT OF THE NUMBER OF TIMES 21890000 ** A DYNAMIC DISPATCHING TASK IS 21900000 ** NOT INTERRUPTED BY TIME SLICE 21910000 ** BETWEEN WAITS (AOS/1) ICB465* 21920000 ** 2 TCBRSV29 PTR(31), /* RESERVED * 21930000 ** 2 TCBRSV30 PTR(31), /* RESERVED * 21940000 ** 2 TCBEXT1 PTR(31), /* SAME AS TCBEXT1A ICB311* 21950000 ** 3 TCBRSV32 PTR(8), /* RESERVED ICB311* 21960000 ** 3 TCBEXT1A PTR(24), /* ADDRESS OF OS-AOS COMMON 21970000 ** EXTENSION ICB311* 21980000 ** 21990000 ** /* AOS/1 - AOS/2 COMMON SECTION * 22000000 ** 22010000 ** 2 TCBBITS CHAR(4), /* FLAG BYTES * 22020000 ** 3 TCBNDSP4 BIT(8), /* SECONDARY NONDISPATCHABILITY 22030000 ** FLAGS COMMON TO AOS/1 AND 22040000 ** AOS/2. COORDINATED WITH 22050000 ** PRIMARY NONDISPATCHABILITY 22060000 ** FLAG TCBPNDSP. * 22070000 ** 4 TCBRSV86 BIT(1), /* RESERVED * 22080000 ** 4 TCBRSV87 BIT(1), /* RESERVED * 22090000 ** 4 TCBRSV88 BIT(1), /* RESERVED * 22100000 ** 4 TCBRSV89 BIT(1), /* RESERVED * 22110000 ** 4 TCBRSV90 BIT(1), /* RESERVED * 22120000 ** 4 TCBRSV91 BIT(1), /* RESERVED * 22130000 ** 4 TCBRSV92 BIT(1), /* RESERVED * 22140000 ** 4 TCBRSV93 BIT(1), /* RESERVED * 22150000 ** 3 TCBNDSP5 BIT(8), /* SECONDARY NONDISPATCHABILITY 22160000 ** FLAGS UNIQUE TO AOS/1 OR 22170000 ** AOS/2. COORDINATED WITH 22180000 ** PRIMARY NONDISPATCHABILITY 22190000 ** FLAG TCBPNDSP. * 22200000 ** 4 TCBRSV94 BIT(1), /* RESERVED (AOS/2) * 22210000 ** 4 TCBRSV95 BIT(1), /* RESERVED (AOS/2) * 22220000 ** 4 TCBRSV74 BIT(1), /* RESERVED * 22230000 ** 4 TCBRSV75 BIT(1), /* RESERVED * 22240000 ** 4 TCBRSV76 BIT(1), /* RESERVED * 22250000 ** 4 TCBRSV77 BIT(1), /* RESERVED * 22260000 ** 4 TCBRSV78 BIT(1), /* RESERVED * 22270000 ** 4 TCBRSV79 BIT(1), /* RESERVED * 22280000 ** 3 TCBFLGS6 CHAR(1), /* TASK-RELATED FLAGS * 22290000 ** 4 TCBRV BIT(1), /* PARTITION IS FIXED. VIRTUAL 22300000 ** ADDRESSES IN PARTITION ARE 22310000 ** REAL. * 22320000 ** 4 TCBPIE17 BIT(1), /* PAGE FAULT INTERRUPT IS TO 22330000 ** BE PASSED TO THE TASK'S 22340000 ** INTERRUPT EXIT AND AN 8-BYTE 22350000 ** PICA IS IN EFFECT FOR THIS 22360000 ** TASK (AOS/2) ICB339* 22370000 ** 4 TCBCPU BIT(1), /* TASK IS CPU-BOUND MEMBER OF 22380000 ** APG (AOS/2) * 22390000 ** 4 TCBSPVLK BIT(1), /* TASK SCHEDULED FOR ABTERM 22400000 ** WHILE OWNING SUPERVISOR LOCK 22410000 ** (AOS/2) * 22420000 ** 4 TCBOLSQA BIT(1), /* TASK OWNS SPQE FOR LSQA 22430000 ** (AOS/2) * 22440000 ** 4 TCBMIGR BIT(1), /* REGION SELECTED FOR MIGRATION 22450000 ** FROM PRIMARY PAGING DEVICE 22460000 ** (AOS/2) * 22470000 ** 4 TCBAPG BIT(1), /* TASK IS IN APG (AOS/2) * 22480000 ** 4 TCBNTJS BIT(1), /* JOB STEP TASK BUT NOT HIGHEST 22490000 ** IN FAILING TREE (AOS/2) * 22500000 ** 3 TCBFLGS7 CHAR(1), /* TASK-RELATED FLAGS * 22510000 ** 4 TCBGPECB BIT(1), /* TASK IS IN AN ECB WAIT FOR A 22520000 ** GETPART (AOS/2) ICB339* 22530000 ** 4 TCBRSV33 BIT(1), /* RESERVED (AOS/2) * 22540000 ** 4 TCBRSV34 BIT(1), /* RESERVED (AOS/2) * 22550000 ** 4 TCBSTACK BIT(1), /* SET IN JOB STEP TCB TO 22560000 ** INDICATE THAT A TASK IN THE 22570000 ** JOB STEP IS IN SERIAL ABEND 22580000 ** PROCESSING. USED IN 22590000 ** CONJUNCTION WITH TCBFOINP. 22600000 ** (AOS/2) ICB374* 22610000 ** 4 TCBRSV35 BIT(1), /* RESERVED (AOS/2) * 22620000 ** 4 TCBRSTSK BIT(1), /* RESIDENT SYSTEM TASK (AOS/2) * 22630000 ** 4 TCBADMP BIT(1), /* ALL OTHER TASKS IN JOB STEP 22640000 ** HAVE BEEN SET NONDISPATCHABLE 22650000 ** BY ABDUMP. THIS BIT IS SET 22660000 ** TO CONTROL JOB STEP DURING 22670000 ** THE DUMPING PROCESS. (AOS/2) * 22680000 ** 4 TCBGTOFM BIT(1), /* GTF TRACING TEMPORARILY 22690000 ** DISABLED ICB402* 22700000 ** 2 TCBDAR CHAR(1), /* DAMAGE ASSESSMENT ROUTINE 22710000 ** FLAGS * 22720000 ** 3 TCBDARP BIT(1), /* - PRIMARY DAR RECURSION - - 22730000 ** DAR FAILURE WHILE WRITING 22740000 ** CORE IMAGE * 22750000 ** 3 TCBDARS BIT(1), /* - SECONDARY DAR RECURSION - 22760000 ** - DAR FAILURE WHILE 22770000 ** ATTEMPTING TO REINSTATE 22780000 ** FAILING REGION/PARTITION * 22790000 ** 3 TCBDARD BIT(1), /* - A DUMP HAS BEEN REQUESTED 22800000 ** FOR A WRITER OR SCHEDULER 22810000 ** ABEND AND THE USER HAS NOT 22820000 ** PROVIDED A SYSABEND DD CARD 22830000 ** (AOS/1) * 22840000 ** 3 TCBDARC BIT(1), /* - RECURSION PERMITTED IN 22850000 ** CLOSE - AFTER DAR PROCESSING 22860000 ** COMPLETED (PCP) * 22870000 ** 4 TCBDARMC BIT(1), /* DAR HAS BEEN ENTERED TO 22880000 ** HANDLE A VALID RECURSION 22890000 ** IN MUST COMPLETE STATUS 22900000 ** THROUGH ABEND ICB264* 22910000 ** 3 TCBDARO BIT(1), /* - SYSTEM ERROR TASK IS 22920000 ** FAILING. DAR DUMP SHOULD NOT 22930000 ** REQUEST ANY ERP PROCESSING * 22940000 ** 3 TCBDARWT BIT(1), /* WTO IN PROCESS FOR DAR ICB264* 22950000 ** 3 TCBRSV36 BIT(1), /* RESERVED * 22960000 ** 3 TCBEXSVC BIT(1), /* SVC DUMP IS EXECUTING FOR 22970000 ** THIS TASK * 22980000 ** 2 TCBRSV37 PTR(8), /* RESERVED * 22990000 ** 2 TCBRSV38 FIXED(15), /* RESERVED * 23000000 ** 2 TCBEXT2 PTR(31), /* SAME AS TCBEXT2A ICB311* 23010000 ** 3 TCBRSV39 PTR(8), /* RESERVED ICB311* 23020000 ** 3 TCBEXT2A PTR(24), /* ADDRESS OF AOS/1 - AOS/2 23030000 ** COMMON EXTENSION ICB311* 23040000 ** 23050000 ** /* AOS/2 TCB EXTENSION * 23060000 ** 23070000 ** 2 TCBXTENT CHAR(4), /* REGION SEGMENT INFORMATION * 23080000 ** 3 TCBRSV40 PTR(8), /* RESERVED * 23090000 ** 3 TCBSTI PTR(8), /* SEGMENT INDEX TO FIRST 23100000 ** SEGMENT IN REGION. ZERO IF 23110000 ** VIRTUAL ADDRESSES IN REGION 23120000 ** ARE REAL. * 23130000 ** 3 TCBSCT PTR(8), /* COUNT FIELD INDICATING THE 23140000 ** NUMBER OF SEGMENTS FOR THIS 23150000 ** TASK'S REGION. ZERO IF 23160000 ** VIRTUAL ADDRESSES IN REGION 23170000 ** ARE REAL. * 23180000 ** 3 TCBLSQA PTR(8), /* SEGMENT INDEX TO FIRST LSQA 23190000 ** SEGMENT FOR THE TASK'S 23200000 ** REGION ICB339* 23210000 ** 2 TCBTIRB PTR(31), /* ADDRESS OF TIRB FOR TASK * 23220000 ** 2 TCBBACK PTR(31), /* ADDRESS OF PREVIOUS TCB ON 23230000 ** READY QUEUE. ZERO IN TOP 23240000 ** TCB. * 23250000 ** 2 TCBLSQAP PTR(31), /* ADDRESS OF SPQE FOR LSQA * 23260000 ** 2 TCBIOTIM FIXED(31), /* TIME IN 16-MICROSECOND UNITS 23270000 ** BETWEEN TIME ORIGINAL TIME 23280000 ** SLICE INTERVAL WAS ASSIGNED 23290000 ** AND TIME APG TASK WENT INTO 23300000 ** VOLUNTARY WAIT * 23310000 ** 2 TCBTMSAV FIXED(31), /* TIME IN 16-MICROSECOND UNITS 23320000 ** REMAINING FROM ORIGINAL TIME 23330000 ** SLICE INTERVAL WHEN APG TASK 23340000 ** WAS LAST DISPATCHED * 23350000 ** 2 TCBABCUR CHAR(1), /* ABEND RECURSION BYTE * 23360000 ** 2 TCBSYSCT PTR(8), /* COUNT FOR THE OUTSTANDING 23370000 ** NUMBER OF 'SYSTEM MUST 23380000 ** COMPLETE' REQUESTS * 23390000 ** 2 TCBTID CHAR(1), /* TASK ID NUMBER ICB374* 23400000 ** 2 TCBRSV41 PTR(8), /* RESERVED ICB374* 23410000 ** 2 TCBQECB PTR(31), /* SAME AS TCBQECBA BELOW ICB339* 23420000 ** 3 TCBNQCT PTR(8), /* COUNT OF ALL RESOURCES 23430000 ** UNAVAILABLE DUE TO ENQ OR 23440000 ** RESERVE REQUESTED WITH 23450000 ** ECB ICB339* 23460000 ** 3 TCBQECBA PTR(24), /* ADDRESS OF ECB TO BE POSTED 23470000 ** WHEN TCBNQCT=0 ICB339* 23480000 ** 2 TCBFOE PTR(31), /* SAME AS TCBFOEA BELOW ICB339* 23490000 ** 3 TCBRSV42 PTR(8), /* RESERVED ICB339* 23500000 ** 3 TCBFOEA PTR(24), /* ADDRESS OF FIRST FIX 23510000 ** OWNERSHIP ELEMENT (FOE) IN 23520000 ** LIST FOR THIS TASK ICB339* 23530000 ** 2 TCBSWA PTR(31), /* ADDRESS OF FIRST SCHEDULER 23540000 ** WORK AREA (SWA) HEADER IN A 23550000 ** CHAIN OF SWA BLOCKS FOR THIS 23560000 ** TASK ICB374* 23570000 ** 2 TCBRSV96 PTR(31), /* RESERVED * 23580000 ** 2 * CHAR(0) BDY(DWORD); 23590000 ** 23600000 ** /* AOS/1 - AOS/2 COMMON EXTENSION * 23610000 ** 23620000 ** DECLARE 23630000 ** 1 TCBXTNT2 BASED(TCBEXT2) BDY(DWORD), 23640000 ** 2 TCBGTF PTR(31), /* SAME AS TCBGTFA BELOW ICB312* 23650000 ** 3 TCBTFLG BIT(8), /* GTF FLAG BYTE ICB312* 23660000 ** 4 TCBASYNC BIT(1), /* GTF ASYNCHRONOUS GATHER 23670000 ** ROUTINE IN CONTROL ICB312* 23680000 ** 4 TCBERRTN BIT(1), /* GTF ASYNCHRONOUS GATHER ERROR 23690000 ** ROUTINE IN CONTROL ICB312* 23700000 ** 4 TCBDSPIT BIT(1), /* MCIH SHOULD UNCONDITIONALLY 23710000 ** BRANCH TO DISPATCHER ICB312* 23720000 ** 4 TCBRSV43 BIT(1), /* RESERVED * 23730000 ** 4 TCBRSV44 BIT(1), /* RESERVED * 23740000 ** 4 TCBRSV45 BIT(1), /* RESERVED * 23750000 ** 4 TCBRSV46 BIT(1), /* RESERVED * 23760000 ** 4 TCBRSV47 BIT(1), /* RESERVED * 23770000 ** 3 TCBGTFA PTR(24), /* ADDRESS OF TEMPORARY TRACE 23780000 ** BUFFER ICB312* 23790000 ** 2 TCBSTMCT PTR(8), /* COUNT FOR OUTSTANDING NUMBER 23800000 ** OF 'STEP MUST COMPLETE' 23810000 ** REQUESTS ICB443* 23820000 ** 2 TCBRCMP BIT(24), /* COMMON INTERFACE BETWEEN 23830000 ** AOS/1 AND AOS/2 TO KEEP 23840000 ** ABTERM COMPLETION CODE DUE TO 23850000 ** A VALID RECURSION IN STAE 23860000 ** ICB411* 23870000 ** 2 TCBRSV48 PTR(31), /* RESERVED * 23880000 ** 2 TCBRSV49 PTR(31), /* RESERVED * 23890000 ** 2 * CHAR(0) BDY(DWORD); 23900000 ** 23910000 ** 23920000 ** /* END OF TCB * 23930000 ** 23940000 ** 23950000 **/* **************************************************************** * 23960000 **/* * 23970000 **/* ***** JOB/STEP CONTROL BLOCK ***** * 23980000 **/* * 23990000 **/* AOS/1 RELEASE 2, AOS/2 RELEASE 1, 03/02/72, LEVEL=6 * 24000000 **/* * 24010000 **/* METHOD OF ACCESS * 24020000 **/* PL/S - %INCLUDE SYSLIB(IKJTCB) TO DEFINE TCBJSCB * 24030000 **/* BAL - L REG,TCBJSCB * 24040000 **/* USING IEZJSCB,REG * 24050000 **/* * 24060000 **/* WHERE REG IS ANY REGISTER OTHER THAN ZERO GIVES * 24070000 **/* ADDRESSABILITY FOR ALL SYMBOLS. * 24080000 **/* * 24090000 **/* NOTE * 24100000 **/* IN ADDITION TO THE MANDATORY USE OF THIS MACRO FOR * 24110000 **/* REFERENCES TO THE JSCB, MODULES IN AOS/1 AND AOS/2 WHICH * 24120000 **/* ALLOCATE AND/OR FREE THE JSCB ARE REQUIRED TO USE THE * 24130000 **/* GETJSCB AND FREEJSCB MACROS. * 24140000 **/* * 24150000 **/* FUNCTION * 24160000 **/* COMMUNICATION OF JOB OR STEP RELATED DATA ITEMS * 24170000 **/* * 24180000 **/* **************************************************************** * 24190000 ** 24200000 **DECLARE 24210000 ** 1 IEZJSCB BASED(TCBJSCB), /* JOB STEP CONTROL BLOCK * 24220000 ** 24230000 ** 2 * CHAR(188), /* ALLOWS ADDRESSABILITY 24240000 ** FROM TCBJSCB * 24250000 ** 24260000 **/*------------------------------------------------------------------* 24270000 **/* * 24280000 **/*SECTION 1 DATA ITEMS USED IN AOS/1 AND AOS/2 * 24290000 **/* * 24300000 **/*------------------------------------------------------------------* 24310000 ** 24320000 ** 2 JSCBSEC1, /* JSCB SECTION 1 * 24330000 ** 3 JSCRSV01 FIXED(31), /* RESERVED * 24340000 ** 3 JSCHPCE PTR(31), /* ADDRESS OF OPTIONAL JOB 24350000 ** ENTRY SYSTEM PROCESSOR 24360000 ** CONTROL ELEMENT ICB459* 24370000 ** 4 JSCRSV32 CHAR(1), /* RESERVED ICB459* 24380000 ** 4 JSCHPCEA PTR(24), /* SAME AS JSCHPCE ABOVE 24390000 ** ICB459* 24400000 ** 3 JSCBSHR PTR(31), /* ADDRESS OF AMBL CHAIN 24410000 ** ICB434* 24420000 ** 3 JSCBTCP PTR(31), /* ADDRESS OF TIOT CHAINING 24430000 ** ELEMENT CHAIN ICB434* 24440000 ** 3 JSCBPCC PTR(31), /* ADDRESS OF PRIVATE 24450000 ** CATALOG CONTROL BLOCK 24460000 ** CHAIN ICB434* 24470000 ** 3 JSCBTCBP PTR(31), /* ADDRESS OF INITIATOR'S 24480000 ** TCB ICB434* 24490000 ** 3 JSCBIJSC PTR(31), /* ADDRESS OF JSCB OF THE 24500000 ** INITIATOR WHICH ATTACHED 24510000 ** THIS JOB STEP ICB426* 24520000 ** 3 JSCBDBTB PTR(31), /* ADDRESS OF THE DEB 24530000 ** TABLE ICB380* 24540000 ** 3 JSCBID CHAR(4), /* JOB SERIAL NUMBER * 24550000 ** 3 JSCBDCB PTR(31), /* ADDRESS OF DCB FOR DATA 24560000 ** SET CONTAINING SCHEDULER 24570000 ** TABLES FOR THIS JOB * 24580000 ** 4 JSCRSV02 CHAR(1), /* RESERVED * 24590000 ** 4 JSCBDCBA PTR(24), /* SAME AS JSCBDCB ABOVE * 24600000 ** 3 JSCBSTEP PTR(8), /* CURRENT STEP NUMBER. 24610000 ** CONTAINS 1 FOR FIRST 24620000 ** STEP. * 24630000 ** 3 JSCRSV03 CHAR(3), /* RESERVED * 24640000 ** 3 JSCBSECB CHAR(4), /* ECB FOR COMMUNICATION 24650000 ** BETWEEN MAIN STORAGE 24660000 ** SUPERVISOR AND THE 24670000 ** INITIATOR ICB366* 24680000 ** 3 JSCBOPTS BIT(8), /* FLAG BYTE * 24690000 ** 4 JSCRSV04 BIT(1), /* RESERVED * 24700000 ** 4 JSCRSV05 BIT(1), /* RESERVED * 24710000 ** 4 JSCBLONG BIT(1), /* FAIL REDEFINE BECAUSE OF 24720000 ** LONG RUNNING TASK 24730000 ** (AOS/1) ICB351* 24740000 ** 4 JSCRSV06 BIT(1), /* RESERVED * 24750000 ** 4 JSCRSV07 BIT(1), /* RESERVED * 24760000 ** 4 JSCRSV08 BIT(1), /* RESERVED * 24770000 ** 4 JSCRSV09 BIT(1), /* RESERVED * 24780000 ** 4 JSCBAUTH BIT(1), /* STEP REPRESENTED BY THIS 24790000 ** JSCB IS AUTHORIZED TO 24800000 ** ISSUE THE MODESET MACRO * 24810000 ** 3 JSCRSV10 CHAR(3), /* RESERVED * 24820000 ** 3 JSCBTTTR CHAR(3), /* JOB QUEUE ADDRESS (TTR) 24830000 ** OF TIOT EXTENSION 24840000 ** (AOS/2) ICB351* 24850000 ** 3 JSCBSWT1 BIT(8), /* STATUS SWITCHES 24860000 ** (AOS/2) ICB351* 24870000 ** 4 JSCBPASS BIT(1), /* WHEN THIS BIT IS SET TO 24880000 ** ONE AND A CORRESPONDING 24890000 ** BIT IN THE DCB IS SET TO 24900000 ** ONE, OPEN WILL BYPASS 24910000 ** PASSWORD PROTECTION FOR 24920000 ** THE DATA SET BEING OPENED 24930000 ** (AOS/2) ICB351* 24940000 ** 4 JSCRSV11 BIT(1), /* RESERVED (AOS/2) ICB351* 24950000 ** 4 JSCRSV12 BIT(1), /* RESERVED (AOS/2) ICB351* 24960000 ** 4 JSCRSV13 BIT(1), /* RESERVED (AOS/2) ICB351* 24970000 ** 4 JSCRSV14 BIT(1), /* RESERVED (AOS/2) ICB351* 24980000 ** 4 JSCRSV15 BIT(1), /* RESERVED (AOS/2) ICB351* 24990000 ** 4 JSCRSV16 BIT(1), /* RESERVED (AOS/2) ICB351* 25000000 ** 4 JSCBPMSG BIT(1), /* A MESSAGE HAS BEEN ISSUED 25010000 ** BECAUSE THE DUMP DATA SET 25020000 ** WAS NOT SUCCESSFULLY 25030000 ** OPENED. PREVENTS USE OF 25040000 ** MULTIPLE SMB'S FOR 25050000 ** MULTIPLE OPEN FAILURES IN 25060000 ** JOB STEP (AOS/2) ICB351* 25070000 ** 3 JSCBQMPI PTR(31), /* ADDRESS OF THE JOB STEP'S 25080000 ** SWA QMPA (AOS/2) ICB430* 25090000 ** 3 JSCBQMPO PTR(31), /* ADDRESS OF THE QMPA FOR 25100000 ** THE JOB'S OUTPUT MSGCLASS 25110000 ** QUEUE ENTRY (AOS/2)ICB351* 25120000 ** 3 JSCBWTP CHAR(4) BDY(WORD), /* WRITE-TO-PROGRAMMER DATA * 25130000 ** 4 JSCBWTFG BIT(8), /* FLAGS FOR WTP FUNCTION * 25140000 ** 5 JSCBIOFG BIT(1), /* PREVIOUS WTP I/O HAD 25150000 ** I/O ERROR * 25160000 ** 5 JSCRSV17 BIT(1), /* RESERVED * 25170000 ** 5 JSCRSV18 BIT(1), /* RESERVED * 25180000 ** 5 JSCRSV19 BIT(1), /* RESERVED * 25190000 ** 5 JSCRSV20 BIT(1), /* RESERVED * 25200000 ** 5 JSCRSV21 BIT(1), /* RESERVED * 25210000 ** 5 JSCRSV22 BIT(1), /* RESERVED * 25220000 ** 5 JSCRSV23 BIT(1), /* RESERVED * 25230000 ** 4 JSCBWTSP PTR(8), /* NUMBER OF LAST STEP TO 25240000 ** USE WTP * 25250000 ** 4 JSCBPMG FIXED(15), /* NUMBER OF WTP'S FOR STEP * 25260000 ** 2 JSCBCSCB PTR(31), /* ADDRESS OF CSCB USED FOR 25270000 ** PROCESSING COMMANDS 25280000 ** RECEIVED FROM JOB ICB351* 25290000 ** 2 JSCBEND1 CHAR(0) BDY(WORD); /* END OF SECTION 1 * 25300000 ** 25310000 **/*------------------------------------------------------------------* 25320000 **/* * 25330000 **/*SECTION 2 DATA ITEMS USED ONLY IN AOS/1 * 25340000 **/* * 25350000 **/*------------------------------------------------------------------* 25360000 ** 25370000 **DECLARE 25380000 ** 1 JSCBSEC2 BASED(ADDR(JSCBEND1)), /* JSCB SECTION 2 ICB351* 25390000 ** 25400000 ** /* CURRENTLY NO AOS/1 ONLY DATA ITEMS EXIST */ 25410000 ** 25420000 ** 2 JSCBEND2 CHAR(0) BDY(WORD); /* END OF SECTION 2 ICB351* 25430000 ** 25440000 **/*------------------------------------------------------------------* 25450000 **/* * 25460000 **/*SECTION 3 DATA ITEMS USED ONLY IN AOS/2 * 25470000 **/* * 25480000 **/*------------------------------------------------------------------* 25490000 ** 25500000 **DECLARE 25510000 ** 1 JSCBSEC3 BASED(ADDR(JSCBEND1)), /* JSCB SECTION 3 ICB351* 25520000 ** 25530000 ** 2 JSCBJCT CHAR(4), /* TTR OF JOB'S JCT ICB351* 25540000 ** 3 JSCRSV24 CHAR(1), /* RESERVED ICB351* 25550000 ** 3 JSCBJCTA CHAR(3), /* TTR OF JOB'S JCT ICB351* 25560000 ** 2 JSCBPSCB PTR(31), /* ADDRESS OF TSO PROTECTED 25570000 ** STEP CONTROL BLOCK * 25580000 ** 2 JSCBTJID FIXED(15), /* TSO TERMINAL JOB 25590000 ** IDENTIFIER * 25600000 ** 2 JSCRSV25 CHAR(2), /* RESERVED * 25610000 ** 2 JSCBIECB FIXED(31), /* ECB USED FOR COMMUNICATION 25620000 ** BETWEEN DYNAMIC ALLOCATION 25630000 ** AND THE INITIATOR IN ORDER 25640000 ** TO PERFORM DATA SET 25650000 ** INTEGRITY * 25660000 ** 2 JSCRSV26 CHAR(4) BDY(WORD), /* RESERVED * 25670000 ** 2 JSCRSV27 CHAR(4) BDY(WORD), /* RESERVED ICB332* 25680000 ** 2 JSCBSWAB PTR(31), /* POINTER TO SWA CONTROL 25690000 ** BLOCK ICB332* 25700000 ** 2 JSCBJNL PTR(31), /* SAME AS JSCBJNLA 25710000 ** BELOW ICB332* 25720000 ** 3 JSCBJJSB BIT(8), /* JOB JOURNAL STATUS 25730000 ** INDICATORS ICB332* 25740000 ** 4 JSCBJNLN BIT(1), /* NOTHING SHOULD BE WRITTEN 25750000 ** IN JOURNAL ICB332* 25760000 ** 4 JSCBJNLF BIT(1), /* LIMIT SIZE OF JOURNAL 25770000 ** REACHED ICB332* 25780000 ** 4 JSCBJNLE BIT(1), /* ERROR IN JOURNAL, DO NOT 25790000 ** WRITE ICB332* 25800000 ** 4 JSCBJSBJ BIT(1), /* MODULE XEFXB500 TO 25810000 ** PROCESS 'AFTER 25820000 ** ALLOCATION' ICB332* 25830000 ** 4 JSCBJSBI BIT(1), /* JOB HAS NOT ENTERED 25840000 ** ALLOCATION FOR THE FIRST 25850000 ** TIME ICB332* 25860000 ** 4 JSCBJSBA BIT(1), /* JOB HAS ENTERED 25870000 ** ALLOCATION ICB332* 25880000 ** 4 JSCBJSBX BIT(1), /* JOB HAS COMPLETED 25890000 ** ALLOCATION ICB332* 25900000 ** 4 JSCBJSBT BIT(1), /* JOB HAS ENTERED 25910000 ** TERMINATION ICB332* 25920000 ** 3 JSCBJNLA PTR(24), /* INITIATOR JSCB ONLY - 25930000 ** ADDRESS OF JSCB FOR STEP 25940000 ** BEING INITIATED. 25950000 ** OTHERWISE, ZERO ICB431* 25960000 ** 2 JSCBJNLR PTR(31), /* POINTER TO LRCB IN 25970000 ** LSQA ICB332* 25980000 ** 2 JSCBSMLR PTR(31), /* ADDRESS OF LRCB FOR 25990000 ** SYSTEM MESSAGE DATA SET 26000000 ** FOR THIS STEP ICB429* 26010000 ** 2 JSCBSUB PTR(31), /* SAME AS JSCBSUBA 26020000 ** BELOW ICB333* 26030000 ** 3 JSCRSV31 CHAR(1), /* RESERVED ICB333* 26040000 ** 3 JSCBSUBA PTR(24), /* ADDRESS OF JES-SUBTL FOR 26050000 ** THIS JOB STEP ICB333* 26060000 ** 2 JSCBSONO FIXED(15), /* THE NUMBER OF SYSOUT DATA 26070000 ** SETS PLUS ONE ICB335* 26080000 ** 2 JSCRSV28 FIXED(15), /* RESERVED * 26090000 ** 2 JSCRSV29 PTR(31), /* RESERVED * 26100000 ** 2 JSCRSV30 PTR(31), /* RESERVED * 26110000 ** 2 JSCBEND3 CHAR(0) BDY(WORD); /* END OF SECTION 3 ICB351* 26120000 ** 26130000 ** /* MACRO DEFINITIONS OF JSCBDISP, JSCBAOS1, AND JSCBAOS2 */ 26140000 ** 26150000 ** JSCBDISP: GEN (EQU 188); 26160000 JSCBDISP EQU 188 26170000 DS 0H 26180000 ** JSCBAOS1: GEN (EQU 72); 26190000 JSCBAOS1 EQU 72 26200000 DS 0H 26210000 ** JSCBAOS2: GEN (EQU 128); 26220000 JSCBAOS2 EQU 128 26230000 DS 0H 26240000 ** 26250000 ** /* END OF JSCB */ 26260000 ** DECLARE 26270000 ** 1 TJB BASED(TJBPTR), 26280000 ** 2 TJBTSB PTR(31), /* ADDR OF TSB FOR THIS 26290000 ** JOB,0-STARTED BY OPERATOR * 26300000 ** 2 TJBATTN CHAR(1), /* NUMBER OF UNPROCESSED ATTNS 26310000 ** FOR THIS JOB * 26320000 ** 2 TJBSTAX CHAR(1), /* NUMBER OF STAX EXITS YET 26330000 ** UNSCHEDULED * 26340000 ** 2 TJBSTAT CHAR(1), /* STATUS FLAGS * 26350000 ** 3 TJBNJB BIT(1), /* NO JOB,THIS TJB IS CURRENTLY 26360000 ** UNUSED * 26370000 ** 3 TJBINCOR BIT(1), /* USER IN CORE * 26380000 ** 3 TJBLOGON BIT(1), /* LOGON START,SET BY TIOC AT 26390000 ** DIAL-UP,TSC RESET * 26400000 ** 3 TJBIWAIT BIT(1), /* INPUT WAIT,TERMINAL JOB IS 26410000 ** IN INPUT WAIT * 26420000 ** 3 TJBOWAIT BIT(1), /* OUTPUT WAIT,TERMINAL JOB IS 26430000 ** IN OUTPUT WAIT * 26440000 ** 3 TJBSILF BIT(1), /* SYSTEM INITIATED LOGOFF * 26450000 ** 3 TJBDISC BIT(1), /* DISCONNECT SET TO REQUEST 26460000 ** TIOC TO DISCON LINE * 26470000 ** 3 TJBSILF2 BIT(1), /* SYSTEM INITIATED LOGOFF * 26480000 ** 2 TJBSTAT2 CHAR(1), /* STATUS FLAGS * 26490000 ** 3 TJBHUNG BIT(1), /* HUNG UP * 26500000 ** 3 TJBHOLD BIT(1), /* USER IS IN OWAIT DUE TO HOLD 26510000 ** OPTIONS * 26520000 ** 3 TJBOCAB BIT(1), /* TSO FAILURE RESULTING IN 26530000 ** OUT-OF-CORE ABEND * 26540000 ** 3 TJBRNAV BIT(1), /* USER CANNOT BE LOGGED ON 26550000 ** BECAUSE MACHINE CHECK IN 26560000 ** REGION OR NO REGION LARGE 26570000 ** ENOUGH BITS * 26580000 ** 3 TJBSURSV BIT(1), /* ON NEXT SWAP IN,DO NOT MARK 26590000 ** SWAP UNIT AVAILABLE FOR USE * 26600000 ** 3 TJBQUIS BIT(1), /* QUIESCE STARTED FOR USER * 26610000 ** 3 TJBUSERR BIT(1), /* USER READY TO RUN * 26620000 ** 3 TJBDEAD BIT(1), /* INDIACTE ABEND RECURSION 26630000 ** TO IKJEAT07 * 26640000 ** 2 TJBEXTNT PTR(31), /* POINTER TO TJB IN SWAPPED 26650000 ** OUT JOB IMAGE * 26660000 ** 2 TJBRCB PTR(31), /* POINTER TO RCB FOR THIS 26670000 ** REGION * 26680000 ** 2 * PTR(31), /* RESERVED * 26690000 ** 2 TJBSPCT PTR(31), /* PTR TO USER SPCT * 26700000 ** 2 * FIXED(15), /* RESERVED * 26710000 ** 2 TJBRSTOR CHAR(1), /* RESTORE FLAGS, TESTED BY RCT 26720000 ** RESTORE * 26730000 ** 3 TJBOWP BIT(1), /* POST OUTPUT WAIT,SET BY 26740000 ** TIOC,ENDS AN OWAIT * 26750000 ** 3 TJBIWP BIT(1), /* POST INPUT WAIT,SET BY 26760000 ** TIOC,ENDS AN IWAIT EQU * 26770000 ** 3 * BIT(1), /* RESERVED * 26780000 ** 3 TJBLOGP BIT(1), /* POST LOGON,POST ECB WAITED 26790000 ** ON BY LOGON IMAGE * 26800000 ** 3 TJBLWAIT BIT(1), /* USER IN LONG WAIT,SWAP OUT 26810000 ** IF NOT MADE READY BY RESTORE 26820000 ** PROCESSING EQU * 26830000 ** 3 TJBDDRD BIT(1), /* WHEN ON RESTORE WILL RESET DDR 26840000 ** NON DISPATCHABILITY BIT * 26850000 ** 3 TJBFAT BIT(1), /* AN ATTN EXIT IS REQ FOR THIS 26860000 ** USER * 26870000 ** 3 TJBDDRND BIT(1) , /* INDICATES TO RESTORE TO SET 26880000 ** TCB NON DISPATCHABILE WHEN 26890000 ** JOB SWAPPED IN * 26900000 ** 2 * CHAR(1), /* RESERVED * 26910000 ** 2 TJBUSER CHAR(8), /* USERID OF THIS JOB 26920000 ** OWNER,PADDED RT WITH BLANKS * 26930000 ** 2 TJBIPPB FIXED(31), /* IPPB CHAIN OF ECB'S TO BE 26940000 ** POSTED BY RESTORE * 26950000 ** 2 TJBNEWID PTR(8), /* RGN ID INTO WHICH THIS USER 26960000 ** SHOULD BE LOGGED ON. 0 IF 26970000 ** SELECTED BY DRIVER * 26980000 ** 2 TJBFLUSL CHAR(1), /* STAX LEV OF LAST STAX ISSUED 26990000 ** WITH NOPURGE OPTION * 27000000 ** 2 TJBTJID FIXED(15), /* TERMINAL JOB ID * 27010000 ** 2 TJBMONI CHAR(1), /* MONITOR CMD INDICATING INFO 27020000 ** REQUESTED * 27030000 ** 3 TJBMDSN BIT(1), /* DSNAMES * 27040000 ** 3 TJBMJBN BIT(1), /* JOBNAMES * 27050000 ** 3 TJBMSES BIT(1), /* SESSION * 27060000 ** 3 TJBMSPA BIT(1), /* SPACE * 27070000 ** 3 TJBMSTA BIT(1), /* STATUS * 27080000 ** 3 TJBGETBF BIT(1), /* THIS BIT INDICATES TPUT SHOULD 27090000 ** ATTEMPT TO GET ADDITIONAL 27100000 ** BUFFERS FOR USER BEFORE GOING 27110000 ** INTO A WAIT STATE * 27120000 ** 3 * BIT(1), /* RESERVED * 27130000 ** 3 * BIT(1), /* RESERVED * 27140000 ** 2 TJBSTAT3 CHAR(1), /* STATUS FLAGS * 27150000 ** 3 TJBDISC2 BIT(1), /* TJB GOING TO DISCONNECT * 27160000 ** 3 TJBSOEM BIT(1), /* SWAP OUT ERR MSG RECURS FLG * 27170000 ** 3 TJBLOGTM BIT(1), /* INDICATES TO LOGON THAT 27180000 ** TERMINATION IS REQUESTED * 27190000 ** 2 TJBLINE CHAR(2); /* CONTAINS THE BINARY REP OF THE 27200000 ** UNIT ADR OF LINE BEING USED * 27210000 ** DECLARE 27220000 ** 1 TJBX BASED(TJBEXTNT), 27230000 ** 2 TJBXFST PTR(31), /* ADDR LOGON TCB WHICH IS 27240000 ** FIRST IN USER READY QUEUE * 27250000 ** 2 TJBXLAST PTR(31), /* ADDR LAST TCB IN USER READY 27260000 ** QUEUE * 27270000 ** 2 TJBXDSE PTR(31), /* ADDR OF DSE USED BY TSO'S 27280000 ** DYN ALLOC * 27290000 ** 2 TJBXSQE PTR(31), /* POINTER TO SQE CHAIN FOR 27300000 ** QUIESCED USER * 27310000 ** 2 TJBXRQE PTR(31), /* ADDR FIRST RQE PURGED FROM 27320000 ** ASYNCHRONOUS EXIT QUEUE A * 27330000 ** 2 TJBXIQE PTR(31), /* ADDR FIRST IQE PURGED FROM 27340000 ** ASYNCHRONOUS EXIT QUEUE J * 27350000 ** 2 TJBXTAXE FIXED(31), /* QUEUE OF TAXE'S USED TO 27360000 ** SCHEDULE ATTENTION EXITS * 27370000 ** 2 TJBXLECB FIXED(31), /* LOGON ECB POSTED BY RCT * 27380000 ** 2 TJBXPSWD CHAR(8), /* USERS LOGON PASSWORD-IF 27390000 ** BLANK-NOT REQUIRED * 27400000 ** 2 TJBXATTR FIXED(31), /* PTR TO CHAIN OF ATRCB'S * 27410000 ** 2 TJBXAIQE PTR(31), /* ADDR ATTN IQE CURRENTLY 27420000 ** BEING PROCESSED * 27430000 ** 2 TJBXQPL PTR(31), /* ADDR QUIECSE PARM LIST * 27440000 ** 2 TJBXNQPE FIXED(15), /* NUMBER ENTRIES IN QPL * 27450000 ** 2 TJBXNTCB FIXED(15), /* NUMBER TCBS ACTIVE IN USER 27460000 ** JOB STEP * 27470000 ** 2 TJBXLQPL FIXED(15), /* LENGTH QPL * 27480000 ** 2 TJBXHBFL CHAR(1), /* CUR VAL OF LAST HOLDBUF 27490000 ** LEVEL. USED BY STAX SVC 27500000 ** ROUTINE * 27510000 ** 2 * CHAR(1), /* RESERVED * 27520000 ** 2 TJBXACT FIXED(31), /* TTR OF ACT ON SYSJOBQE * 27530000 ** 2 TJBXAECB PTR(31); /* POINTER TO LOGON/LOGOFF ECB 27540000 ** UNTIL LOGON PROCESSING THEN 27550000 ** TO CSCB CANCEL ECB AFTER 27560000 ** CSCB IS CREATED * 27570000 ** 27580000 ** DECLARE 27590000 ** 1 TSCVT BASED(CVTTSCVT), 27600000 ** 2 TSCVTTJB PTR(31), /* POINTER TO TJB TABLE * 27610000 ** 2 TSCVTRCB PTR(31), /* POINTER TO RCB TABLE * 27620000 ** 2 TSCVTRPT PTR(31), /* PTR TO REFERENCE POINTER 27630000 ** TABLE * 27640000 ** 2 TSCVTFLG CHAR(2), /* FLAGS TO INDICATE FUNCT 27650000 ** REQUESTED OF TSC * 27660000 ** 3 * BIT(1), /* SPARE * 27670000 ** 3 TSCSWPBG BIT(1), /* SWAP SHOULD BE STARTED * 27680000 ** 3 TSCLOGON BIT(1), /* A LOGON IS TO BE PROCESSED * 27690000 ** 3 TSCDISC BIT(1), /* A DISCONNECT IS TO BE 27700000 ** PROCESSED BITS * 27710000 ** 3 TSCVTTHR BIT(1), /* SYSTEM IS THRASHING * 27720000 ** 2 TSCVTFL1 CHAR(2), /* FLAGS TO INDICATE FUNCT 27730000 ** REQUESTED OF TSC * 27740000 ** 3 TSCSSTOP BIT(1), /* SYSTEM STOP REQUESTED AND 27750000 ** TSC IS STOPPING * 27760000 ** 3 TSCRSTOP BIT(1), /* REGION STOP REQUESTED * 27770000 ** 3 TSCASTOP BIT(1), /* ABEND-STOP TS FLG. SET BY 27780000 ** TSO/RMS IF TCAM MCH'SSET BY 27790000 ** TCAM STAE EXIT IF TCAM 27800000 ** ABENDS BITS * 27810000 ** 3 TSCTSTOP BIT(1), /* RMS/MCH INTERFACE HAS STOPPED 27820000 ** /* TSC * 27830000 ** 3 * BIT(1), /* RESERVED * 27840000 ** 3 * BIT(1), /* RESERVED * 27850000 ** 3 * BIT(1), /* RESERVED * 27860000 ** 3 * BIT(1), /* RESERVED * 27870000 ** 2 TSCVTI04 PTR(31), /* ADDRESS OF IKJVAI04 IN TS 27880000 ** DISPATCHER * 27890000 ** 2 TSCVTCUS FIXED(15), /* CURR NO. OF USERS LOGGED ON 27900000 ** TSO * 27910000 ** 2 TSCVTLUS FIXED(15), /* CURRENT LIMIT NO. OF USERS 27920000 ** LOGGED ON TO TSO SET BY TSC * 27930000 ** 2 TSCVTNTJ FIXED(15), /* NO.TJB-TSB'S ALLOC BY TSO 27940000 ** INITIALLY * 27950000 ** 2 TSCVTSZU FIXED(15), /* SIZE OF TJB * 27960000 ** 2 TSCVTCTR FIXED(15), /* NO. OF RCB'S ALLOC BY TSO 27970000 ** INITIALLY * 27980000 ** 2 TSCVTMUS FIXED(15), /* MAX NUMBER OF USERS LOGGED 27990000 ** ON TO TSO SET BY START AND 28000000 ** MODIFY COMMANDS (TSC) * 28010000 ** 2 TSCVTSAV PTR(31), /* PTR TO SAV AREA FOR 28020000 ** TSC,TSIP&TS DISP * 28030000 ** 2 TSCVTECB PTR(31), /* PTR TO TSECBTAB CTL BLK OF 28040000 ** ECB'S * 28050000 ** 2 TSCVTSIA PTR(31), /* PTR TO TSIA * 28060000 ** 2 TSCVTICB PTR(31), /* PTR TO TSICB * 28070000 ** 2 TSCVTI01 PTR(31), /* ADDRESS OF ENTRY POINT 28080000 ** IKJEAI01 TSIP BR ENTRY * 28090000 ** 2 TSCVTTQE PTR(31), /* PTR TO TQE FOR TSO'S TIME 28100000 ** SLICING * 28110000 ** 2 TSCVTI02 PTR(31), /* ADDRESS OF ENTRY POINT 28120000 ** IKJEAI02 IN TS DISPATCH * 28130000 ** 2 TSCVTI03 PTR(31), /* ADDRESS OF ENTRY POINT 28140000 ** IKJEAI03 IN TS DISPATCH * 28150000 ** 2 TSCVTD02 PTR(31), /* ADDRESS OF ENTRY POINT 28160000 ** IKJEAD02 IN TS DRIVER * 28170000 ** 2 TSCVTLCQ PTR(31), /* ADDR OF TOP ELEM ON LOGON 28180000 ** COMM. QUE * 28190000 ** 2 TSCVTTRB PTR(31), /* ADDR OF TRACE CTL BLK CHAIN * 28200000 ** 2 TSCVTLPA PTR(31), /* ADDR OF 1ST CDE IN TS LINK 28210000 ** PACK AREA * 28220000 ** 2 TSCVTSLF FIXED(31), /* SYSTEM INIATED LOGOFF * 28230000 ** 2 TSCVTTSC PTR(31), /* ADDR OF THE * 28240000 ** 2 TSCVTSPL PTR(31), /* ADDRESS OF START PARAMETER 28250000 ** LIST * 28260000 ** 2 TSCVTRSZ FIXED(15), /* MIN REGION SIZE FOR LOGON * 28270000 ** 2 * CHAR(2), /* RESERVED * 28280000 ** 2 TSCVTSVT CHAR(4), /* SVCTBL ENTRY FOR TSIP PRIOR 28290000 ** TO START TS * 28300000 ** 2 TSCVTSVQ CHAR(4), /* SVCTBL ENTRY FOR QTIP PRIOR 28310000 ** TO START TS * 28320000 ** 2 TSCVTABN PTR(31), /* ADDR OF OUT-OF-CORE ABEND 28330000 ** RTN(IKJEAT07) * 28340000 ** 2 TSCVTD03 PTR(31), /* ADDR OF EP IKJEAD03 IN TS 28350000 ** DRIVER * 28360000 ** 2 TSCVTFLM PTR(31), /* ADDR OF EP - IKJEFLM * 28370000 ** 2 TSCVTQTP PTR(31), /* ADDR OF EP OF QTIP SVC - 28380000 ** IKJGGQT1 * 28390000 ** 2 TSCVTT08 PTR(31), /* ADDR OF EP - IKJEAT08 * 28400000 ** 2 TSCVTDMP PTR(31), /* ADDR OF TSO DUMP CONTROL 28410000 ** BLOCK - IKJTSDMP * 28420000 ** 2 TSCVTT06 PTR(31), /* ADDR OF TCB FOR IKJEAT06 * 28430000 ** 2 TSCVTLS3 PTR(31), /* ADDR OF LOGON OUT OF CORE * 28440000 ** 2 TSCVTSMI PTR(31), /* ADDRESS OF SMITDSN CONTROL 28450000 ** BLOCK * 28460000 ** 2 TSCVTMSG PTR(31), /* BRANCH ENTRY POINT FOR IKJVAMS 28470000 ** * 28480000 ** 2 TSCVTSCN PTR(31), /* BRANCH ENTRY POINT FOR IKJVASC 28490000 ** * 28500000 ** 2 TSCVTR01 PTR(31); /* ADDRESS OF IKJVAR01. * 28510000 ** 28520000 * DCL ECTPTR PTR(31) AUTO; 28530000 ** DECLARE 28540000 ** 1 ECT BASED(ECTPTR), 28550000 ** /* *************************************************************** * 28560000 ** /* THE ENVIRONMENT CONTROL TABLE (ECT) IS BUILT BY THE TMP AND * 28570000 ** /* STORED IN A NON-SHARED SUBPOOL. ITS FIELDS CAN BE MODIFIED * 28580000 ** /* BY A CP OR SERVICE RTN BUT NOT FREED. * 28590000 ** /* *************************************************************** * 28600000 ** 28610000 ** 2 ECTRCDF CHAR(1), /* HIGH ORDER BIT INDICATES CP 28620000 ** ABENDED * 28630000 ** 2 ECTRTCD PTR(24), /* RETURN CODE FROM LAST CP OR 28640000 ** ABEND CODE IF ECTRCDF IS SET * 28650000 ** 2 ECTIOWA PTR(31), /* ADDR I/O SRV RTNS WORK AREA * 28660000 ** 2 ECTMSGF CHAR(1), /* HIGH ORDER BIT SET MEANS 28670000 ** DELETE SECOND LEVEL MSG * 28680000 ** 2 ECTSMSG PTR(24) BDY(BYTE), 28690000 ** /* ADDR OF SECOND LEVEL MSG 28700000 ** CHAIN * 28710000 ** 2 ECTPCMD CHAR(8), /* PRIMARY COMMAND NAME * 28720000 ** 2 ECTSCMD CHAR(8), /* SUBCOMMAND NAME * 28730000 ** 2 ECTSWS CHAR(1), /* 4 BYTES OF SWITCHES * 28740000 ** 3 ECTNOPD BIT(1), /* 0 BIT ON= NO OPERANDS EXIST 28750000 ** IN CMD BUFFER * 28760000 ** 3 * BIT(1), /* RESERVED * 28770000 ** 3 ECTATRM BIT(1), /* CP TERMINATED BY TMP DETACH 28780000 ** W/ STAE EQU * 28790000 ** 3 ECTLOGF BIT(1), /* LOGON/OFF REQUESTED TMP TO 28800000 ** LOGOFF USER BITS * 28810000 ** 3 ECTNMAL BIT(1), /* NO USER MSGS TO BE RECVED AT 28820000 ** LOGON * 28830000 ** 3 ECTNNOT BIT(1), /* NO BRDCST NOTICES TO BE RECVED 28840000 ** LOGON * 28850000 ** 3 * BIT(1), /* RESERVED * 28860000 ** 3 * BIT(1), /* RESERVED * 28870000 ** 2 ECTDDNUM PTR(24), /*COUNTER FOR TEMPORARY DDNAMES * 28880000 ** 2 ECTUSER PTR(31), /*RESERVED FOR INSTALLATION USE * 28890000 ** 2 * PTR(31); /*RESERVED * 28900000 ** 28910000 ** DECLARE 28920000 ** 1 PSCB BASED(DAPLPSCB), 28930000 ** /* *************************************************************** * 28940000 ** /* THE PROTECTED STEP CONTROL BLOCK IS CONSTRUCTED BY LOGON AND * 28950000 ** /* FILLED IN FROM THE UADS . A FIXED LENGTH TABLE WITH ATTRIBUTE * 28960000 ** /* AND ACCOUNTING FIELDS, THE PSCB IS USED TO MAINTAIN USER ATTRI- * 28970000 ** /* BUTES AND ACCOUNTING DATA ON A USERID BASIS. THE ADDRESS OF PS * 28980000 ** /* IS PASSED TO THE TMP. HENCE IT IS AN EXTERNAL INTERFACE * 28990000 ** /* *************************************************************** * 29000000 ** 29010000 ** 2 PSCBUSER CHAR(7) BDY(WORD), 29020000 ** /* USERID PADDED RIGHT WITH 29030000 ** BLANKS * 29040000 ** 2 PSCBUSRL PTR(8), /* LENGTH OF USERID * 29050000 ** 2 PSCBGPNM CHAR(8), /* ESOTERIC GROUP NAME INIT BY 29060000 ** LOGON FROM UADS USED BY DYN 29070000 ** ALLOC WHEN UNITNAME NOT 29080000 ** SPECIFIED BUT IS REQUIRED * 29090000 ** 2 PSCBATR1 CHAR(2), /* A 15 BIT STRING OF USER 29100000 ** ATTRIBUTES * 29110000 ** 3 PSCBCTRL BIT(1), /* OPERATOR COMMAND USER * 29120000 ** 3 PSCBACCT BIT(1), /* ACCOUNT * 29130000 ** 3 PSCBJCL BIT(1), /* SUBMIT BITS * 29140000 ** 3 * BIT(1), /* RESERVED * 29150000 ** 3 * BIT(1), /* RESERVED * 29160000 ** 3 * BIT(1), /* RESERVED * 29170000 ** 3 * BIT(1), /* RESERVED * 29180000 ** 3 * BIT(1), /* RESERVED * 29190000 ** 2 PSCBATR2 CHAR(2), /* A 15 BIT STRING RESERVED FOR 29200000 ** INSTALLATION USE * 29210000 ** 2 PSCBCPU FIXED(31), /* CUMULATIVE CPU TIME USED 29220000 ** DURING SESSION * 29230000 ** 2 PSCBSWP FIXED(31), /* CUMULATIVE TIME RESIDENT IN 29240000 ** THE REGION * 29250000 ** 2 PSCBLTIM FIXED(31), /* ACTUAL LOGON TIME OF DAY * 29260000 ** 2 PSCBTCPU FIXED(31), /* TOTAL CPU TIME USED IN THIS 29270000 ** ACCOUNTING PERIOD,EXCLUDING 29280000 ** THE CURRENT SESSION. * 29290000 ** 2 PSCBTSWP FIXED(31), /* TOTAL TIME USER IS RESIDENT 29300000 ** IN THE REGION DURING THIS 29310000 ** ACCT. PER.,EXCL. THE CURR. 29320000 ** SES * 29330000 ** 2 PSCBTCON FIXED(31), /* TOTAL TIME USER IS CONNECTED 29340000 ** THIS ACCT. PERIOD,EXCLUDING 29350000 ** THIS CURR. SES * 29360000 ** 2 PSCBTCO1 FIXED(31), /* TOTAL TIME USER TERMINAL 29370000 ** IS CONNECTED DURING THIS 29380000 ** CURRENT SESSION M0759 * 29390000 ** 2 PSCBRLGB PTR(31), /* PTR TO RELOGON BUFFER * 29400000 ** 2 PSCBUPT PTR(31), /* PTR TO USER PROFILE TABLE * 29410000 ** 2 PSCBUPTL FIXED(15), /* LENGTH OF UPT * 29420000 ** 2 * BIT(16), /* RESERVED FOR IBM USE * 29430000 ** 2 PSCBRSZ POINTER(32), /* REGION SIZE REQUESTED IN 2K 29440000 ** UNITS * 29450000 ** 2 PSCBU CHAR(8); /* RESERVED FOR INSTALLATION 29460000 ** USE * 29470000 ** 29480000 ** 29490000 * DCL IORMSPTR PTR(31) BASED(CVTDCBA); /*ADDR OF IORMS AREA* 29500000 * DCL 1 IGFIORMS BASED(IORMSPTR) BDY(WORD), /*IORMS AREA * 29510000 * 2 * CHAR(20), /*USED BY CCH A41399* 29520000 * 2 DDRFLGSA BIT(8), /*USED BY DDR A41399* 29530000 * 3 * BIT(2), /*USED BY DDR A41399* 29540000 * 3 DDRPROG BIT(1), /*DDR IN PROGRESS A41399* 29550000 * 3 * BIT(5), /*USED BY DDR A41399* 29560000 * 2 * CHAR(47), /*USED BY DDR A41399* 29570000 * 2 ALLOCECB FIXED(31), /*DDR ALLOCATION ECB A41399* 29580000 * 3 * BIT(1), /*USED BY DDR A41399* 29590000 * 3 DDRPOST BIT(1), /*POST BIT IN ECB A41399* 29600000 * 2 ALLOCTCB FIXED(31), /*SAVE AREA FOR TCB A41399* 29610000 * 2 * CHAR(8), /*USED BY DDR A41399* 29620000 * 2 * FIXED(31), /*USED BY DDR A41399* 29630000 * 3 ALLOTJID FIXED(15), /*SAVE AREA FOR TJID A41399* 29640000 * 3 * FIXED(15); /*USED BY DDR A41399* 29650000 * DCL R0 REG(0) FIXED(31); /* REGISTER * 29660000 * DCL R1 REG(1) PTR(31); /* REGISTER * 29670000 * DCL R2 REG(2) PTR(31); /* REGISTER * 29680000 * DCL R6 REG(6) PTR(31); /* REGISTER * 29690000 * DCL Q REG(8) PTR(31); /* REGISTER * 29700000 * DCL R11 REG(11) PTR(31); /* REGISTER * 29710000 * DCL R12 REG(12) PTR(24); /* REGISTER * 29720000 * DCL R13 REG(13) PTR(31); /* REGISTER * 29730000 * DCL R14 REG(14) PTR(31); /* REGISTER * 29740000 * DCL R15 REG(15) FIXED(31); /* REGISTER * 29750000 * RESTRICT (5); /* REGISTER * 29760000 * RESTRICT (7); /* REGISTER * 29770000 * RESTRICT (8); /* REGISTER * 29780000 * RESTRICT (2,6); /* REGISTER * 29790000 * DCL P PTR(31) AUTO; /* POINTER * 29800000 * DCL GTMNPTR PTR(31) AUTO; /* GETMAIN PTR * 29810000 * DCL SRCHPTR PTR(31) AUTO; /* SEARCH PTR * 29820000 * DCL DDFIRST PTR(31) AUTO; /* FIRST DD IN GROUP * 29830000 * DCL RTRNPT LABEL BASED(R14); /* RETURN POINT LABEL * 29840000 * DCL DA34PDSN PTR(31) BASED(P); /* POINTER * 29850000 * DCL OPPTRS PTR(31) BASED(Q); /* CODE 28 PTR * 29860000 * DCL DA28PTR PTR(31) AUTO; /* CODE 28 WORK PTR * 29870000 * DCL REGPTR PTR(31) AUTO; /* POINTER * 29880000 * DCL 1 WORK FIXED(31) AUTO, /* WORK FIELD * 29890000 * 2 WORK2 CHAR(4); /* WORK AREA * 29900000 * DCL WORKPTR PTR(31) AUTO; /* DAIR AREA PTR * 29910000 * DCL 1 DAIRWA AUTO , /* DAIR WORKAREA * 29920000 * 2 DSEADDR PTR(31), /* FIRST DSE BLOCK* 29930000 * 2 SAVPTR PTR(31), /* CALLERS SAVE AREA * 29940000 * 2 TCBADD PTR(31), /* ADDR OF TCB * 29950000 * 2 USERIDL CHAR(1), /* USER ID LENGTH * 29960000 * 2 USERSID CHAR(7), /* USER ID * 29970000 * 2 UNITDEF CHAR(8), /* DEFAULT UNIT NAME * 29980000 * 2 PARMPTR PTR(31), /* @ OF DAIR PARM LIST * 29990000 * 2 RTCODE FIXED(31), /* RETURN CODE AREA * 30000000 * 2 RTCODE15 FIXED(31), /* RETURN CODE FIELD * 30010000 * 2 LIST99 PTR(31), /* POINTER * 30020000 * 2 LIST99S2 FIXED(31), /* SIZE OF LIST * 30030000 * 2 CATLIST PTR(31), /* WORK PTR * 30040000 * 2 CATLSTSZ FIXED(31), /* CATALOG PARM LIST * 30050000 * 2 SECSAVAR PTR(31), /* SAVE AREA * 30060000 * 2 SECSAVSZ FIXED(31), /* SECONDARY SAVE AREA* 30070000 * 2 DDNPTR PTR(31), /* NEEDED DDNAME * 30080000 * 2 DSNPTR PTR(31), /* NEEDED DSNAME * 30090000 * 2 MEMPTR PTR(31), /* NEEDED MEMBER * 30100000 * 2 BLKPTR PTR(31), /* NEXT DSE BLOCK * 30110000 * 2 DDNADDR PTR(31), /* DSE FOR DDNAME * 30120000 * 2 DSNADDR PTR(31), /* DSE FOR DSNAME * 30130000 * 2 NOTUADDR PTR(31), /* NOT IN USE DATASET* 30140000 * 2 DYNMADDR PTR(31), /* DYNAM ENTRY * 30150000 * 2 STATUS1 CHAR(1), /* STATUS BYTE * 30160000 * 3 BIT0 BIT(1), /* USED IN CODE 18 * 30170000 * 3 BIT1 BIT(1), /* USE DSE FOR LIST * 30180000 * 3 BIT2 BIT(1), /* STOP ON FIRST FIND * 30190000 * 3 BIT3 BIT(1), /* DSN FOUND * 30200000 * 3 BIT4 BIT(1), /* DSN DYNM. CONCATEN. * 30210000 * 3 BIT5 BIT(1), /* DSN IN CONCAT GROUP * 30220000 * 3 BIT6 BIT(1), /* DSN,FOUND MORE THAN 1* 30230000 * 3 BIT7 BIT(1), /* DEFAULT DISP TO OLD * 30240000 * 2 STATUS2 CHAR(1), /* STATUS BYTE * 30250000 * 3 BITT0 BIT(1), /* KEY ON DDNAME * 30260000 * 3 BITT1 BIT(1), /*ATTR LIST GIVEN C99236* 30270000 * 3 BITT2 BIT(1), /*ATTR LIST NAME C99236 30280000 * FOUND C99236* 30290000 * 3 BITT3 BIT(1), /*SEARCH DSE'S C99236* 30300000 * 3 BITT4 BIT(4), /*INDEXING BRANCH TABLE * 30310000 * 2 SWITCHES CHAR(1), /* SWITCHES A43020* 30320000 * 3 CONVERTB BIT(1), /* CONVERT BIT SW A43020* 30330000 * 3 OMODNWHD BIT(1), /* MOD AS NEW A43020* 30340000 * 3 LOCADONE BIT(1), /* DID A LOCATE A43020* 30350000 * 3 * BIT(5), /* RESERVED A43020* 30360000 * 2 * CHAR(1), /* RESERVED A43020* 30370000 * 2 CNCAADDR PTR(31), /* CONCAT. NOT C99236 30380000 * IN USE C99236* 30390000 * 2 ATRLNAME CHAR(8), /* ATTR-LIST-NAME C99236* 30400000 * 2 ATRADDR PTR(31); /* PTR TO ATRCB C99236* 30410000 * DCL TIOTPTR AUTO PTR(31); /* THE FOLLOWING A43020* 30420000 ** /* AOS/1 RELEASE 2, AOS/2 RELEASE 1, 10/21/71, LEVEL=1 * 30430000 ** 30440000 ** DECLARE 30450000 ** 1 TIOT1 BASED(TIOTPTR) BDY(WORD), 30460000 ** 5 TIOCNJOB CHAR(8), /* JOB NAME * 30470000 ** 5 TIOCSTEP CHAR(16); /* STEP NAME * 30480000 **/******************************************************************** 30490000 **/* * 30500000 **/* DD ENTRY: * 30510000 **/* * 30520000 **/* A DD ENTRY INCLUDES A DEVICE ENTRY. BEFORE ALLOCATION, THERE * 30530000 **/* MAY BE SEVERAL DEVICE ENTRIES IN EACH DD ENTRY. * 30540000 **/* * 30550000 **/******************************************************************** 30560000 ** DECLARE 30570000 ** 1 TIOENTRY BASED(ADDR(TIOT1)+24), 30580000 ** 10 TIOELNGH PTR(8), /* LENGTH OF THIS ENTRY * 30590000 ** 10 TIOESTTA BIT(8), /* STATUS -A- * 30600000 ** 11 TIOSLTYP BIT(1), /* NONSTANDARD LABEL (NOTE 1)* 30610000 ** 11 TIOSPLTP BIT(1), /* SPLIT CYLINDER PRIMARY * 30620000 ** 11 TIOSPLTS BIT(1), /* SPLIT CYLINDER SECONDARY * 30630000 ** 11 TIOSJBLB BIT(1), /* JOBLIB INDICATOR * 30640000 ** 11 TIOSDADS BIT(1), /* DADSM ALLOCATION NECESSARY* 30650000 ** 11 TIOSLABL BIT(1), /* LABELED/UNLABELED (NOTE 1)* 30660000 ** 11 TIOSDSP1 BIT(1), /* DISPOSITION BIT 1 * 30670000 ** 11 TIOSDSP2 BIT(1), /* DISPOSITION BIT 2 * 30680000 **/* NOTE 1 - IF BOTH BITS TIOSLTYP AND TIOSLABL ARE ON, THE VOLUME * 30690000 **/* IS A TAPE AND HAS AN 'ANSI' LABEL. * 30700000 ** 10 TIOERLOC CHAR(2), /* REL. LOC OF POOL * 30710000 ** 15 TIOEWTCT CHAR(1), /* COUNTOF NUMBER OF DEVICES 30720000 ** DURING ALLOCATION STILL 30730000 ** ELIGIBLE TO DADSM ALLOCATE 30740000 ** THIS DATA SET REQUEST * 30750000 ** 15 TIOELINK CHAR(1), /* DURING ALLOCATION OF 30760000 ** ALL BUT POOLS THIS WILL BE 30770000 ** A LINK TO THE APPROPRIATE 30780000 ** PRIME SPLIT,UNIT AFFIN 30790000 ** VOL.,AFFIN OR SUBALLOCATE * 30800000 **/* FOLLOWING BIT MASKS APPLY TO 'TIOELINK' FIELD */ 30810000 ** 17 TIOSYOUT BIT(1), /* SYSOUT D.S.THAT HAS DATA * 30820000 ** 17 TIOTOPEN BIT(1), /* DATA SET IS OPEN * 30830000 ** 17 TIOTTERM BIT(1), /* THIS IS A TERMINAL * 30840000 ** 17 TIOEDYNM BIT(1), /* 'DYNAM' KEYWORD USED * 30850000 ** 17 TIOEQNAM BIT(1), /* 'QNAME' KEYWORD USED * 30860000 ** 17 TIOESYIN BIT(1), /* ENTRY FOR SPOOLED INPUT * 30870000 ** 17 TIOESYOT BIT(1), /* ENTRY FOR SPOOLED OUTPUT * 30880000 ** 17 TIOTREM BIT(1), /* INDICATES THE ENTRY IS FOR 30890000 ** A REMOTE DEVICE ICB340* 30900000 ** 10 TIOEDDNM CHAR(8), /* DDNAME * 30910000 ** 10 TIOEJFCB CHAR(3), /* JFCB DISK ADDR * 30920000 ** 10 TIOESTTC BIT(8), /* STATUS -C- * 30930000 ** 11 TIOSDKCR BIT(1), /* CORE/DISK ADDRESS * 30940000 ** 11 TIOSDEFR BIT(1), /* DEFERRED MOUNT * 30950000 ** 11 TIOSAFFP BIT(1), /* UNIT AFFINITY PRIMARY * 30960000 ** 11 TIOSAFFS BIT(1), /* UNIT AFFINITY SECONDARY * 30970000 ** 11 TIOSVOLP BIT(1), /* VOLUME AFFINITY PRIMARY * 30980000 ** 11 TIOSVOLS BIT(1), /* VOLUME AFFINITY SECONDARY * 30990000 ** 11 TIOSBALP BIT(1), /* SUBALLOCATE PRIMARY * 31000000 ** 11 TIOSBALS BIT(1), /* SUBALLOCATE SECONDARY * 31010000 **/******************************************************************** 31020000 **/* * 31030000 **/* DEVICE ENTRIES: * 31040000 **/* * 31050000 **/* 1. DURING ALLOCATION: * 31060000 **/* ONE DEVICE ENTRY FOR EACH DEVICE REQUIRED, OR FOR * 31070000 **/* EACH PUBLIC DEVICE ELIGIBLE. * 31080000 **/* * 31090000 **/* 2. DURING PROBLEM PROGRAM: * 31100000 **/* ONE DEVICE ENTRY FOR EACH ALLOCATED DEVICE * 31110000 **/* * 31120000 **/******************************************************************** 31130000 ** 10 TIOESTTB BIT(8), /* STATUS -B- * 31140000 ** 11 TIOSUSED BIT(1), /* DATA SET IS ON DEVICE * 31150000 ** 11 TIOSREQD BIT(1), /* DATA SET WILL USE DEVICE * 31160000 ** 11 TIOSPVIO BIT(1), /* DEVICE VIOLATES SEPARATION* 31170000 ** 11 TIOSVLSR BIT(1), /* VOLUME SERIAL PRESENT * 31180000 ** 11 TIOSSETU BIT(1), /* SETUP MESSAGE REQUIRED * 31190000 ** 11 TIOSMNTD BIT(1), /* MOUNTED * 31200000 ** 11 TIOSUNLD BIT(1), /* UNLOAD REQUIRED * 31210000 ** 11 TIOSVERF BIT(1), /* VERIFICATION REQUIRED * 31220000 ** 10 TIOEFSRT PTR(24), /* SRT POINTER * 31230000 **/******************************************************************** 31240000 **/* * 31250000 **/* TIOT POOL ENTRY * 31260000 **/* * 31270000 **/******************************************************************** 31280000 ** 5 POOLSTAR, 31290000 ** 10 * CHAR(1), 31300000 ** 10 TIOPNSLT PTR(8), /* NR. OF SLOTS FOR POOL * 31310000 ** 10 * CHAR(1), 31320000 ** 10 TIOPNSRT PTR(8), /* NR. OF DEVICES (FILLED 31330000 ** SLOTS) * 31340000 ** 10 TIOPPOOL CHAR(8), /* POOL NAME * 31350000 ** 10 TIOPSTTB CHAR(1), /* STATUS OF SLOT * 31360000 ** 10 TIOPSLOT PTR(24), /* SRT ADDRESS OF EMPTY SLOT * 31370000 ** 10 TIOTFEND CHAR(4); /* FINAL END OF AN ENTRY OR 31380000 ** THE TIOT * 31390000 ** 31400000 **/* **************************************************************** * 31410000 **/* * 31420000 **/* U N I T C O N T R O L B L O C K * 31430000 **/* * 31440000 **/* **************************************************************** * 31450000 **/* * 31460000 **/* STATUS * 31470000 **/* * 31480000 **/* AOS/1 RELEASE 2, AOS/2 RELEASE 1, 03/23/72, LEVEL=10 * 31490000 **/* * 31500000 **/* METHOD OF ACCESS * 31510000 **/* * 31520000 **/* PL/S - DCL (UCBPTR,UCBDCPTR) PTR * 31530000 **/* BAL - DSECT CARD SHOULD PRECEDE MACRO CALL. SYMBOLS IN * 31540000 **/* COMMON SECTION AND DEVICE DEPENDENT SECTIONS ARE * 31550000 **/* ADDRESSABLE BY A USING ON UCBOB. ADDITIONAL USINGS * 31560000 **/* ARE NECESSARY TO OBTAIN ADDRESSABILITY FOR EACH * 31570000 **/* EXTENSION OR PREFIX. THESE ARE AS FOLLOWS - * 31580000 **/* * 31590000 **/* DIRECT ACCESS EXTENSION UCBDA * 31600000 **/* DIRECT ACCESS EXTENSION 2 UCBDA2 * 31610000 **/* PREFIX TO MAGNETIC TAPE EXTENSION UCBMTPRF * 31620000 **/* MAGNETIC TAPE EXTENSION UCBMT * 31630000 **/* TAPE CARTRIDGE READER EXTENSION UCBTCR * 31640000 **/* OPTICAL READER EXTENSION UCBOR * 31650000 **/* UNIT RECORD WITH UCS EXTENSION UCBUCS * 31660000 **/* 3211 SENSE INFORMATION EXTENSION UCBSNINF * 31670000 **/* M65 MULTIPROCESSING PREFIX UCBM65MP * 31680000 **/* * 31690000 **/* WHEN LISTING IS SUPPRESSED, YOU CAN DETERMINE WHICH * 31700000 **/* DSECT A SYMBOL IS IN BY USING THE STATEMENT NUMBER * 31710000 **/* IN THE DEFN COLUMN IN THE CORSS REFERENCE LISTING. * 31720000 **/* FOR EXAMPLE, ANY SYMBOL DEFINED BETWEEN THE * 31730000 **/* STATEMENT NUMBERS FOR UCBDA AND UCBDA2 IS IN THE * 31740000 **/* UCBDA DSECT. * 31750000 **/* * 31760000 **/* F.E.'S * 31770000 **/* * 31780000 **/* MICROFICHE LISTING - IEFUCBOB * 31790000 **/* * 31800000 **/* DEVELOPERS * 31810000 **/* * 31820000 **/* BAL LISTING - SPECIFY LIST=YES ON MACRO CALL * 31830000 **/* * 31840000 **/* FOR INTEGRATION, A LISTING MUST NOT BE REQUESTED UNLESS * 31850000 **/* YOUR MODULE CREATES THE CSECT. * 31860000 **/* * 31870000 **/* FUNCTION * 31880000 **/* * 31890000 **/* A UNIT CONTROL BLOCK * 31900000 **/* INCORPORATING A SYSTEM RESOURCE TABLE * 31910000 **/* RECORDS THE STATUS OF * 31920000 **/* A PHYSICAL INPUT OUTPUT DEVICE ADDRESS * 31930000 **/* IS CREATED AND INITIALIZED DURING SYSTEM GENERATION * 31940000 **/* RESIDES IN THE NUCLEUS BELOW 32 K * 31950000 **/* POINTS TO A DEVICE TYPE DEPENDENT EXTENSION * 31960000 **/* RESIDING HIGHER IN THE NUCLEUS * 31970000 **/* IS POINTED TO BY THE UCB LOOKUP TABLE INDEXED BY * 31980000 **/* A FUNCTION OF THE CHANNEL CONTROL UNIT DEVICE ADDRESS * 31990000 **/* MAY BE POINTED TO BY TASK INPUT OUTPUT TABLES * 32000000 **/* AND DATA EXTENT BLOCKS * 32010000 **/* CONTAINS INDICES INTO TABLES FOR * 32020000 **/* DEVICE STATISTICS ATTENTION LOGICAL CHANNEL * 32030000 **/* MAY POINT TO AND BE POINTED TO BY REQUEST QUEUE ELEMENTS * 32040000 **/* * 32050000 **/* OUTPUT * 32060000 **/* * 32070000 **/* SYSGEN INDEPENDENT COMMON SECTION * 32080000 **/* INCLUDING UCBTYP WORD * 32090000 **/* DEVICE DEPENDENT SEGMENT (ONE OF THE FOLLOWING) * 32100000 **/* DIRECT ACCESS (EXCEPT DATACELL) AND MAGNETIC TAPE * 32110000 **/* DATACELL (INCLUDING TEN CELL DESCRIPTIONS SUBMAPPED BELOW)* 32120000 **/* UNIT RECORD WITH UNIVERSAL CHARACTER SET * 32130000 **/* GRAPHICS * 32140000 **/* TAPE CARTRIDGE READER AND OPTICAL READER * 32150000 **/* CELL DESCRIPTION FOR ONE OF THE TEN CELLS * 32160000 **/* IN THE DATACELL DEVICE SEGMENT ABOVE * 32170000 **/* UCB EXTENSION (ONE OF THE FOLLOWING) * 32180000 **/* DIRECT ACCESS * 32190000 **/* DIRECT ACCESS 2 * 32200000 **/* MAGNETIC TAPE AND ITS PREFIX * 32210000 **/* TAPE CARTRIDGE READER * 32220000 **/* OPTICAL READER * 32230000 **/* UNIVERSAL CHARACTER SET * 32240000 **/* 3211 SENSE INFORMATION * 32250000 **/* M65 MULTIPROCESSING PREFIX * 32260000 **/* (CONTIGUOUSLY PRECEDING COMMON SECTION) * 32270000 **/* * 32280000 **/* **************************************************************** * 32290000 **/* * 32300000 **/* SYSGEN-INDEPENDENT * 32310000 **/* COMMON SECTION * 32320000 **/* * 32330000 **/* * 32340000 **DECLARE 32350000 ** 1 UCBOB BASED(TIOEFSRT), 32360000 ** /* > UCBOB 32370000 ** * 32380000 **/* **************************************************************** * 32390000 **/* * 32400000 ** 2 UCBJBNR CHAR(1), /* INTERNAL JOB ID * 32410000 ** 3 UCBJBNRF BIT(6), /* IDENTIFIER OF INITIATOR 32420000 ** REQUESTING RETAIN OR 32430000 ** PASSED DATA SET USAGE 32440000 ** (AOS/2) ICB347* 32450000 ** 4 UCBKEY BIT(4), /* JOB PROTECTION KEY (AOS/1) 32460000 ** (SET FOR RETAIN OR PASS) * 32470000 ** 4 UCBRSV01 BIT(1), /* RESERVED (AOS/1) * 32480000 ** 4 UCBRSV02 BIT(1), /* RESERVED (AOS/1) * 32490000 ** 3 UCBDEM BIT(1), /* DEMOUNT AND RETAIN OR 32500000 ** PASS (SET DURING DEVICE 32510000 ** ALLOC) * 32520000 ** 3 UCBMONT BIT(1), /* MOUNT AND RETAIN OR PASS 32530000 ** (SET DURING DEVICE 32540000 ** ALLOC) * 32550000 ** 2 UCBFL5 CHAR(1), /* FLAGS * 32560000 ** 3 UCBRSV03 BIT(1), /* RESERVED * 32570000 ** 3 UCBAF BIT(1), /* ATTENTION FOR THIS CONSOLE 32580000 ** DEVICE TO BE PROCESSED BY 32590000 ** COMM. TASK ICB321* 32600000 ** 4 UCBAMV BIT(1), /* FOR DIRECT ACCESS DEVICES 32610000 ** ONLY - IF ONE, IT 32620000 ** INDICATES A SUCCESSFUL 32630000 ** COMPARISON CHECKING OF 32640000 ** THE ACCESS METHOD CATALOG 32650000 ** AND THE VOLUME CONTENTS 32660000 ** ICB437* 32670000 ** 3 UCBTICBT BIT(1), /* CHANNEL END AND/OR DEVICE 32680000 ** END OR MOUNT CONDITION 32690000 ** PENDING. USED ONLY WITH 32700000 ** PTF. ICB289* 32710000 ** 3 UCBVSDR BIT(1), /* DEVICE HAS VARIABLE 32720000 ** LENGTH SDRS * 32730000 ** 3 UCBEXTSN BIT(1), /* UCNBRSN CONTAINS LENGTH 32740000 ** AND UCBSNADR ADDRESS OF 32750000 ** SENSE INFO * 32760000 ** 3 UCBNALOC BIT(1), /* DEVICE NOT ALLOCABLE 32770000 ** BECAUSE OWNED BY OLTEP * 32780000 ** 3 UCBALTCU BIT(1), /* DEVICE HAS ALTERNATE CU 32790000 ** ADDRESS * 32800000 ** 3 UCBALTPH BIT(1), /* DEVICE HAS ALTERNATE 32810000 ** PATH * 32820000 ** 2 UCBID CHAR(1), /* UCB ID (FF) * 32830000 ** 2 UCBSTAT CHAR(1), /* DEVICE STATUS * 32840000 ** 3 UCBONLI BIT(1), /* DEVICE ONLINE * 32850000 ** 3 UCBCHGS BIT(1), /* DEVICE TO BE VARIED 32860000 ** OFFLINE * 32870000 ** 3 UCBRESV BIT(1), /* VOLUME RESERVED * 32880000 ** 3 UCBUNLD BIT(1), /* UNLOAD PENDING * 32890000 ** 3 UCBALOC BIT(1), /* DEVICE ALLOCATED * 32900000 ** 3 UCBPRES BIT(1), /* VOLUME PERMANENTLY 32910000 ** RESIDENT * 32920000 ** 3 UCBSYSR BIT(1), /* SYSTEM RESIDENCE OR 32930000 ** PRIMARY CONSOLE OR 32940000 ** ACTIVE CONSOLE * 32950000 ** 3 UCBDADI BIT(1), /* STANDARD TAPE LABELS 32960000 ** VERIFIED OR ALTERNATE 32970000 ** CONSOLE OR CONSOLE 32980000 ** STATUS CHANGING * 32990000 ** 2 UCBCHA CHAR(1), /* CHANNEL ADDRESS FLAGS * 33000000 ** 3 UCBHIO BIT(1), /* HALT I/O * 33010000 ** 3 UCBMOD BIT(1), /* STATUS MODIFIER * 33020000 ** 3 UCBCHANA BIT(6), /* CHANNEL ADDRESS * 33030000 ** 2 UCBUA PTR(8), /* UNIT ADDRESS * 33040000 ** 2 UCBFL1 CHAR(1), /* FLAGS * 33050000 ** 3 UCBBUSYD BIT(1), /* DEVICE BUSY * 33060000 ** 3 UCBNOTRD BIT(1), /* DEVICE NOT READY * 33070000 ** 3 UCBUSING BIT(1), /* CHANNEL PROGRAM EXECUTED 33080000 ** AND NOT YET POSTED 33090000 ** COMPLETE * 33100000 ** 3 UCBINTER BIT(1), /* DEVICE END ERROR AFTER 33110000 ** CHANNEL END (IOB 33120000 ** INTERCEPT) * 33130000 ** 3 UCBNOTRC BIT(1), /* CONTROL UNIT BUSY * 33140000 ** 3 UCBSTS BIT(2), /* DEVICE STATUS * 33150000 ** 3 UCBERR BIT(1), /* ERROR ROUTINE USING 33160000 ** DEVICE EXCLUSIVELY * 33170000 ** 2 UCBDTI PTR(8), /* DEVICE TABLE INDEX * 33180000 ** 2 UCBETI PTR(8), /* ERROR TABLE INDEX 33190000 ** (ERROR ROUTINE SUFFIX) * 33200000 ** 2 UCBSTI PTR(8), /* STATUS TABLE INDEX (*10 33210000 ** = STATAB INDEX) * 33220000 ** 2 UCBLCI PTR(8), /* LOGICAL CHANNEL WORD 33230000 ** TABLE INDEX (*8 = LCHTAB 33240000 ** INDEX) * 33250000 ** 2 UCBATI PTR(8), /* ATTENTION TABLE (ANTAB) 33260000 ** INDEX * 33270000 ** 3 * BIT(8), /* OPTIONAL JOB ENTRY SYSTEM 33280000 ** FLAG BYTE ICB455* 33290000 ** 4 UCBRSV04 BIT(1), /* RESERVED * 33300000 ** 4 UCBRSV05 BIT(1), /* RESERVED * 33310000 ** 4 UCBRSV06 BIT(1), /* RESERVED * 33320000 ** 4 UCBRSV07 BIT(1), /* RESERVED * 33330000 ** 4 UCBRSV08 BIT(1), /* RESERVED * 33340000 ** 4 UCBRSV09 BIT(1), /* RESERVED * 33350000 ** 4 UCBHALI BIT(1), /* OPTIONAL JOB ENTRY SYSTEM 33360000 ** ALLOCATION INDICATOR 33370000 ** ICB455* 33380000 ** 4 UCBHPDV BIT(1), /* IF ONE, INDICATES OPTIONAL 33390000 ** JOB ENTRY SYSTEM PSEUDO 33400000 ** DEVICE ICB455* 33410000 ** 2 UCBWGT CHAR(1), /* FLAGS AND CHANNEL MASK * 33420000 ** 3 UCBIN BIT(1), /* SYSIN * 33430000 ** 3 UCBOUT BIT(1), /* SYSOUT * 33440000 ** 3 UCBPUB BIT(1), /* ASSUME PUBLIC VOLUME * 33450000 ** 3 UCBREW BIT(1), /* REWIND COMMAND * 33460000 ** 3 UCBPATH BIT(4), /* INOPERATIVE PATHS * 33470000 ** 4 UCBPATH0 BIT(1), /* PRIMARY PATH INOPERATIVE * 33480000 ** 4 UCBPATH1 BIT(1), /* OPTIONAL PATH 1 33490000 ** INOPERATIVE * 33500000 ** 4 UCBPATH2 BIT(1), /* OPTIONAL PATH 2 33510000 ** INOPERATIVE * 33520000 ** 4 UCBPATH3 BIT(1), /* OPTIONAL PATH 3 33530000 ** INOPERATIVE * 33540000 ** 2 UCBNAME CHAR(3), /* EBCDIC UNIT NAME * 33550000 ** 2 UCBTYP CHAR(4), /* DEVICE DESCRIPTION * 33560000 ** 3 UCBTBYT1 CHAR(1), /* MODEL BITS * 33570000 ** 4 UCB1FEA0 BIT(1), /* BIT 0 * 33580000 ** 4 UCB1FEA1 BIT(1), /* BIT 1 * 33590000 ** 4 UCB1FEA2 BIT(1), /* BIT 2 * 33600000 ** 4 UCB1FEA3 BIT(1), /* BIT 3 * 33610000 ** 4 UCB1FEA4 BIT(1), /* BIT 4 * 33620000 ** 4 UCB1FEA5 BIT(1), /* BIT 5 * 33630000 ** 4 UCB1FEA6 BIT(1), /* BIT 6 * 33640000 ** 4 UCB1FEA7 BIT(1), /* BIT 7 * 33650000 ** 3 UCBTBYT2 CHAR(1), /* OPTION FLAGS * 33660000 ** 4 UCB2OPT0 BIT(1), /* FLAG 0 * 33670000 ** 4 UCB2OPT1 BIT(1), /* FLAG 1 * 33680000 ** 4 UCB2OPT2 BIT(1), /* FLAG 2 * 33690000 ** 4 UCB2OPT3 BIT(1), /* FLAG 3 * 33700000 ** 4 UCB2OPT4 BIT(1), /* FLAG 4 * 33710000 ** 4 UCB2OPT5 BIT(1), /* FLAG 5 * 33720000 ** 4 UCB2OPT6 BIT(1), /* FLAG 6 * 33730000 ** 4 UCB2OPT7 BIT(1), /* FLAG 7 * 33740000 ** 3 UCBTBYT3 CHAR(1), /* CLASS BITS * 33750000 ** 4 UCB3TAPE BIT(1), /* TAPE * 33760000 ** 4 UCB3COMM BIT(1), /* COMMUNICATIONS * 33770000 ** 4 UCB3DACC BIT(1), /* DIRECT ACCESS * 33780000 ** 4 UCB3DISP BIT(1), /* DISPLAY * 33790000 ** 4 UCB3UREC BIT(1), /* UNIT RECORD * 33800000 ** 4 UCB3CHAR BIT(1), /* CHARACTER READER * 33810000 ** 4 UCBRSV10 BIT(1), /* RESERVED * 33820000 ** 4 UCBRSV11 BIT(1), /* RESERVED * 33830000 ** 3 UCBTBYT4 CHAR(1), /* DEVICE CODE * 33840000 ** 2 UCBLTS CHAR(2), /* LAST REQUEST ELEMENT * 33850000 ** 2 UCBSNS CHAR(2), /* SENSE INFORMATION FOR 33860000 ** DEVICES WITHOUT EXTENDED 33870000 ** SENSE ICB425* 33880000 ** 3 UCBFL7 BIT(8), /* FLAG BYTE FOR DEVICES 33890000 ** WITH EXTENDED SENSE 33900000 ** ICB425* 33910000 ** 4 UCBASDEP BIT(1), /* INDICATES CANCEL KEY 33920000 ** DEPRESSED ON 3211 ICB425* 33930000 ** 4 UCBRSV12 BIT(1), /* RESERVED * 33940000 ** 4 UCBRSV13 BIT(1), /* RESERVED * 33950000 ** 4 UCBRSV14 BIT(1), /* RESERVED * 33960000 ** 4 UCBRSV15 BIT(1), /* RESERVED * 33970000 ** 4 UCBRSV16 BIT(1), /* RESERVED * 33980000 ** 4 UCBRSV17 BIT(1), /* RESERVED * 33990000 ** 4 UCBRSV18 BIT(1), /* RESERVED * 34000000 ** 3 UCBRSV19 BIT(8), /* RESERVED BYTE FOR DEVICES 34010000 ** WITH EXTENDED SENSE 34020000 ** ICB425* 34030000 **/* * 34040000 **/* **************************************************************** * 34050000 **/* * 34060000 **/* DEVICE-DEPENDENT UCB SEGMENTS * 34070000 **/* * 34080000 ** 2 UCBDEV BDY(WORD); 34090000 **/* * 34100000 **/* **************************************************************** * 34110000 **/* * 34120000 **/* DIRECT ACCESS (2300) * 34130000 **/* (EXCEPT DATA CELL) * 34140000 **/* AND MAGNETIC TAPE (2400) * 34150000 **/* UCB SEGMENT * 34160000 **/* * 34170000 **DECLARE 1 UCBOBS01 34180000 ** BASED(ADDR(UCBDEV)), /* DEVICE-DEPENDENT SEGMENT 34190000 ** * 34200000 **/* **************************************************************** * 34210000 **/* * 34220000 ** 2 UCBSENSE CHAR(4) BDY(WORD), /* ADDITIONAL SENSE 34230000 ** INFORMATION FOR DEVICES 34240000 ** WITH SIX SENSE BYTES * 34250000 ** 3 UCBSENSB PTR(31), /* SAME AS UCBSENSA BELOW * 34260000 ** 4 UCBSENSN PTR(8), /* NUMBER OF EXPANDED SENSE 34270000 ** BYTES * 34280000 ** 4 UCBSENSA PTR(24), /* ADDRESS OF EXPANDED 34290000 ** SENSE INFORMATION * 34300000 ** 2 UCBVOLI CHAR(6), /* VOLUME SERIAL NUMBER * 34310000 ** 2 UCBSTAB CHAR(1), /* VOLUME STATUS * 34320000 ** 3 UCBBSVL BIT(1), /* NOT SHARABLE * 34330000 ** 3 UCBPGFL BIT(1), /* UCB IS OPEN AND IS USED 34340000 ** AS A PAGE FILE ICB338* 34350000 ** 3 UCBPRSRS BIT(1), /* THIS DEVICE WAS SPECIFIED 34360000 ** IN PRESRES BUT WAS NOT 34370000 ** MOUNTED AT IPL * 34380000 ** 4 UCBBALB BIT(1), /* MORE VOLUME LABEL 34390000 ** PROCESSING * 34400000 ** 3 UCBBPRV BIT(1), /* PRIVATE USE * 34410000 ** 3 UCBBPUB BIT(1), /* PUBLIC USE * 34420000 ** 3 UCBBSTR BIT(1), /* STORAGE USE (DA) ANSI 34430000 ** LABEL (MT) * 34440000 ** 3 UCBBJLB BIT(1), /* JOBLIB VOLUME (DA) * 34450000 ** 3 UCBBNUL BIT(1), /* MCS MOUNT/DEMOUNT MSGS 34460000 ** ISSUED (MESSAGE IDS IN 34470000 ** UCBFSER) (MT) CONTROL 34480000 ** VOLUME (DA) * 34490000 ** 2 UCBDMCT CHAR(1), /* VOLUME USE BYTE * 34500000 ** 3 UCBMOUNT BIT(1), /* MOUNTED OR REQUEST 34510000 ** ISSUED (OFF MEANS 34520000 ** MOUNT VERIFIED) * 34530000 ** 3 UCBDMC BIT(7), /* NUMBER OF OPEN DCBS * 34540000 ** 2 UCBVTOC CHAR(4) BDY (WORD), /* TTR0 OF VTOC (DA) * 34550000 ** 3 UCBFSCT FIXED(15), /* DATASET SEQUENCE COUNT 34560000 ** (MT) * 34570000 ** 3 UCBFSEQ FIXED(15), /* DATASET SEQUENCE NUMBER 34580000 ** (MT) * 34590000 ** 2 UCBFSER CHAR(8) BDY (WORD), /* DATASET SERIAL NUMBER 34600000 ** (MT AFTER OPEN) OR 34610000 ** MESSAGE IDS (MT BEFORE 34620000 ** OPEN) PLUS TWO RESERVED 34630000 ** BYTES (MT) * 34640000 ** 3 UCBSQC PTR(8), /* NUMBER OF RESERVE MACROS 34650000 ** (DA INCLUDING DATACELL) * 34660000 ** 3 UCBDVRES PTR(8), /* DEVICE RESERVATION 34670000 ** (SHARED DASD) (DA 34680000 ** INCLUDING DATACELL) SET 34690000 ** TO UCBSQC AFTER GOOD SIO * 34700000 ** 3 UCBRQESV FIXED(15), /* ADDRESS OF RQE TO VERIFY 34710000 ** VOL SER NUMBER IN UCB 34720000 ** (SET FROM UCBLTS AFTER 34730000 ** UNSOLICITED DEVICE END) 34740000 ** (DA INCLUDING DATACELL) * 34750000 ** 3 UCBORSVA PTR(31), /* ADDRESS OF DEB FOR FIRST 34760000 ** USER ON QUEUE FOR 34770000 ** DEVICE (DA INCLUDING 34780000 ** DATACELL) * 34790000 ** 4 UCBFL4 CHAR(1), /* FLAGS (DA INCLUDING 34800000 ** DATACELL) * 34810000 ** 5 UCBDAV BIT(5), /* VOLUME VERIFICATION 34820000 ** FLAGS * 34830000 ** 6 UCBMNT BIT(1), /* VOL SER VERIFIER ISSUED 34840000 ** MOUNT * 34850000 ** 6 UCBVVRTN BIT(1), /* VOL SER VERIFIER IN 34860000 ** CONTROL * 34870000 ** 6 UCBFT BIT(1), /* FIRST VERIFIER ENTRY FOR 34880000 ** VOL * 34890000 ** 6 UCBTCC BIT(1), /* ALTERNATE TRACK 34900000 ** PROCEDURE HANDLING VOL 34910000 ** LABEL * 34920000 ** 6 UCBVER BIT(1), /* VERIFIER VERIFIED VOL * 34930000 ** 5 UCBORCNT BIT(3), /* NUMBER OF REQUESTS FOR 34940000 ** DEVICE FROM FIRST USER 34950000 ** ON QUEUE * 34960000 ** 4 UCBORSVB PTR(24), /* ADDRESS OF DEB FOR FIRST 34970000 ** USER ON QUEUE FOR 34980000 ** DEVICE (DA INCLUDING 34990000 ** DATACELL) * 35000000 ** 2 UCBSKA CHAR(8) BDY (WORD), /* MBBCCHHR OF LAST SEEK 35010000 ** (DA INCLUDING DATACELL) * 35020000 ** 3 UCBXTN PTR(31), /* ADDRESS OF UCB EXTENSION 35030000 ** (MT) * 35040000 ** 4 UCBVOPT CHAR(1), /* VOLUME STATISTIC FLAGS * 35050000