 TITLE 'IGG029DU - DADSM SCRATCH - DUMMY MODULE ENTRY POINT'            00050060
IGG029DU CSECT                                                          00100060
**********************************************************************  00150060
*                                                                    *  00200060
*MODULE NAME - IGG029DU                                              *  00250060
*                                                                    *  00300060
*DESCRIPTIVE NAME - DADSM SCRATCH - ENTRY POINT DUMMY MODULE         *  00350060
*                                                                    *  00400060
*COPYRIGHT - NONE                                                    *  00450060
*                                                                    *  00500060
*CHANGE ACTIVITY -                                                   *  00550060
*                                                                    *  00600060
*                  MODULE NEW FOR VS2-3.7  SU60                @G60ASBJ 00650060
*                                                                    *  00700060
*STATUS CHANGE LEVEL 000                                             *  00750060
*                                                                    *  00800060
*ATTRIBUTES - REENTRANT                                              *  00850060
*                                                                    *  00900060
*FUNCTION - THIS MODULE IS THE ENTRY POINT TO SCRATCH (SVC 29).      *  00950060
*          IT IS A DUMMY CSECT WHICH IMMEDIATELY PASSES CONTROL TO   *  01000060
*          SCRATCH MODULE IGC0002I WITHOUT CHANGING ANY REGISTERS    *  01050060
*          EXCEPT REGISTER 15.                                       *  01100060
*                                                                    *  01150060
*          THIS CSECT MAY BE REPLACED BY A USER WRITTEN ROUTINE      *  01200060
*          IF DESIRED TO PERFORM PROCESSING BEFORE OR AFTER THE      *  01250060
*          SYSTEM SCRATCH ROUTINES RECEIVE CONTROL.                  *  01300060
*                                                                    *  01350060
*          ANY USER WRITTEN ROUTINE WHICH REPLACES THIS CSECT MUST   *  01400060
*          BE RE-ENTRANT AND PASS CONTROL TO THE FIRST SCRATCH       *  01450060
*          MODULE IGC0002I WITH THE REGISTER CONTENTS CONFORMING     *  01500060
*          TO STANDARD SVC ROUTINE CONVENTIONS. REGISTER 1 MUST      *  01550060
*          CONTAIN THE ADDRESS OF THE SCRATCH PARAMETER LIST WITH    *  01600060
*          THE SAME FORMAT AS DESCRIBED BELOW UNDER INPUT.           *  01650060
*                                                                    *  01700060
*          IF THE USER WRITTEN ROUTINE NEEDS TO SAVE REGISTERS,      *  01750060
*          IT MUST PROVIDE A RE-ENTRANT SAVE AREA TO SAVE AND        *  01800060
*          RESTORE ITS REGISTERS.  THE SVRB SAVE AREA SHOULD NOT     *  01850060
*          BE USED SINCE IT IS USED BY THE SCRATCH ROUTINES.         *  01900060
*                                                                    *  01950060
*ENTRIES - THE ONLY ENTRY POINT TO THIS MODULE IS IGG029DU. ENTRY IS *  02000060
*          MADE BY SVC 29.                                           *  02050060
*                                                                    *  02100060
*SUPERVISOR CALLS AND EXTERNAL ROUTINES USED BY THIS MODULE - NONE   *  02150060
*                                                                    *  02200060
*OTHER MACROS ISSUED - NONE                                          *  02250060
*                                                                    *  02300060
*INPUT -   AT ENTRY TO THIS MODULE REGISTER 1 POINTS TO THE PARAMETER*  02350060
*          LIST.  REGISTER 0 MAY POINT TO A UCB, OR IT MAY CONTAIN NO*  02400060
*          ADDRESS. THE PARAMETER LIST CONSISTS OF 4 WORDS:          *  02450060
*                                                                    *  02500060
*          WORD 1 - CHECK PURGE DATE = X'41004000'                   *  02550060
*                 - OVERRIDE PURGE DATE = X'41005000'                *  02600060
*                   BIT 0 OF THE 2ND OPTION BYTE IS SET BY DYNAMIC   *  02650060
*                   UNALLOCATION AND BY JOB AND STEP TERMINATION     *  02700060
*                   TO INDICATE NOT TO INVOKE DYNAMIC ALLOCATION.    *  02750060
*                                                                    *  02800060
*                   IF THE SECOND WORD OF THE SECOND BYTE IS         *  02850060
*                   SET TO 1, AND IF (1) THE CALLER IS               *  02900060
*                   AUTHORIZED AND (2) RACF IS ACTIVE IN THE         *  02950060
*                   SYSTEM AND (3) THE JSCBPASS BIT IN THE           *  03000060
*                   JSCB IS SET TO 1, THEN THE RACDEF PROFILE        *  03050060
*                   DELETE IN SCRATCH MODULE IGG0299A WILL BE        *  03100060
*                   BYPASSED.                                        *  03150060
*                                                                    *  03200060
*                   BIT 0 OF THE THIRD OPTION BYTE IS SET BY         *  03250060
*                   DYNAMIC UNALLOCATION TO INDICATE THAT THE        *  03300060
*                   TIOT HAS ALREADY BEEN ENQ'ED.                    *  03350060
*                                                                    *  03400060
*          WORD 2 - ADDRESS OF THE DATA SET NAME                     *  03450060
*                   IF BIT 0 IS SET, ENTRY IS FROM JOB TERMINATION   *  03500060
*                   OR FROM STEP TERMINATION.  IF BIT 1 IS SET, ENTRY*  03550060
*                   IS FROM THE READER OR WRITER.                    *  03600060
*                                                                    *  03650060
*          WORD 3 - NOT USED                                         *  03700060
*                                                                    *  03750060
*          WORD 4 - ADDRESS OF THE VOLUME LIST                       *  03800060
*                                                                    *  03850060
*          THE VOLUME LIST IS VARIABLE IN LENGTH. THE FIRST TWO BYTES*  03900060
*          INDICATE THE NUMBER OF 12 BYTE VOLUME ID FIELDS WHICH     *  03950060
*          FOLLOW. A 12 BYTE VOLUME ID FIELD CONTAINS A FOUR BYTE    *  04000060
*          DEVICE CODE, SIX BYTE VOLUME SERIAL NUMBER, ONE BYTE SPARE*  04050060
*          AND ONE BYTE USED FOR RETURNING THE STATUS OF THE DATA SET*  04100060
*          ON THAT VOLUME AS FOLLOWS:                                *  04150060
*                                                                    *  04200060
*                    BINARY 0 - SUCCESSFUL SCRATCH                   *  04250060
*                    BINARY 1 - DSCB NOT FOUND IN VTOC               *  04300060
*                    BINARY 2 - PASSWORD DIFFICULITY                 *  04350060
*                    BINARY 3 - UNEXPIRED PURGE DATE                 *  04400060
*                    BINARY 4 - PERMANENT I/O ERROR                  *  04450060
*                    BINARY 5 - APPROPRIATE UCB UNAVAILABLE          *  04500060
*                    BINARY 6 - OPERATOR UNABLE TO MOUNT VOLUME      *  04550060
*                    BINARY 7 - DATA SET IS OPEN                     *  04600060
*                    BINARY 8 - THE DSCB INDICATES THAT THE DATA SET *  04650060
*                               IS DEFINED TO RACF BUT EITHER THE    *  04700060
*                               ACCESSOR IS NOT AUTHORIZED TO THE    *  04750060
*                               DATA SET OR TO THE VOLUME OR THE     *  04800060
*                               DATA SET IS A VSAM DATA SPACE OR THE *  04850060
*                               DATA SET IS NOT ACTUALLY DEFINED TO  *  04900060
*                               RACF.                                *  04950060
*                                                                    *  05000060
*                                                                    *  05050060
*OUTPUT -  REGISTER 15 CONTAINS THE ENTRY POINT ADDRESS OF THE NEXT  *  05100060
*          LOAD OF SCRATCH (IGC0002I). REGISTERS 0 - 14 CONTAIN THE  *  05150060
*          SAME VALUES AS THEY DID UPON ENTRY TO IGG029DU.           *  05200060
*                                                                    *  05250060
*ERROR CONDITIONS - NONE                                             *  05300060
*                                                                    *  05350060
*STORAGE - PROGRAM CODE = 12 BYTES.                                  *  05400060
*                                                                    *  05450060
*ERROR CONDITIONS IN THIS MODULE - NONE                              *  05500060
*                                                                    *  05550060
**********************************************************************  05600060
*REGISTER USAGE:                                                        05650060
R0       EQU   0                        REGISTER 0 - NOT CHANGED        05700060
R15      EQU   15                       BASE REGISTER - ENTRY ADDRESS   05720060
         SPACE 3                                                        05740060
         BALR  R15,R0                   LOAD REGISTER 15                05760060
         USING *,R15                    ESTABLISH BASE REGISTER         05780060
         L     R15,IGC0002I             GET IGC0002I ENTRY ADDRESS      05850060
         BR    R15                      TRANSFER CONTROL TO IGC0002I    05900060
IGC0002I DC    V(IGC0002I)              ADDRESS OF IGC0002I             05950060
         END                                                            06000060
