LY20 2228 1_Special_Real_Time_Operating_System_Logic_Manual_Aug83 1 Special Real Time Operating System Logic Manual Aug83
LY20-2228-1_Special_Real_Time_Operating_System_Logic_Manual_Aug83 manual pdf -FilePursuit
LY20-2228-1_Special_Real_Time_Operating_System_Logic_Manual_Aug83 LY20-2228-1_Special_Real_Time_Operating_System_Logic_Manual_Aug83
User Manual: LY20-2228-1_Special_Real_Time_Operating_System_Logic_Manual_Aug83
Open the PDF directly: View PDF .
Page Count: 839
Download | |
Open PDF In Browser | View PDF |
Licensed Material - Property of IBM L Y20-2228-1 Systems IBM System/370 Special ·Real,Time Operating System Prograin",ing RPQ Z06751 Systems Logic Manual Program Number 5799-AHE This publication describes the internal logic and metllod of operation of the Special Real Time Operatinr: System. The purpose of this publication is to provide information for systems analysts, programmers, systems engineers. and maintenance personnel to facilitate making modifications, diagnosing error situations, and performing maintenance. --..------ ---- ---- -- ---- ---~ -~- .. - Second Edition (August 1983) This is a reprint of LY20-2228-0 incorporating changes released in Technical Newsletter LN20-3622 (dated 31 August 1976). This edition applies to Version 1, Modification 1 of the Special Real Time Operating System PRPQ (programming Request for Price Quotation) number 5799-AHE, Version 1, Modification 1, and to all subsequent versions and modifications until otherwise indicated in new editions or Technical Newsletters. References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Changes are periodically made to the specifications herein; before using this publication in connection with the operation of IBM systems, consult the latest System/370 Bibliography (GA22-6822) for the editions that are applicable and current. The PRPQ described in this manual, and an licensed materials available for it, are provided by IBM on a special quotation basis only, under the terms of the License Agreement for IBM Program Products. Your local IBM branch office can advise you regarding the special quotation and ordering procedures. A form for readers' comments has been provided at the back of this publication. If the form has been removed, address comments to IBM Corporation, Dept. 824, 1133 Westchester Ave., White Plains, New York 10604. IBM may use or distribute whatever information you supply in any way it believes appropriate without incurring any obligation to you. © Copyright International Business Machines Corporation 1976 CONTENTS section 1 2 Page INTRODUCTION ••••••••••••••••••••••••••••••••••••••••• 1-1 System Environnlent •••••••••••••••••••••••••••••• 1-2 Special Realtime Operating System Overview •••••• 1-2 Online Execution •••••••••••••••••••••••••••••••• 1-2 Offline Execution ••••••••••••••••••••••••••••••• 1-3 LOGIC DESCRIPTION •••••••••••••••••••••••••••••••••••• 2-l How to Read HIPO Diagrams.e ••••••••••••••••••••• 2-l Initialization ••••••••••••••••••••••••••••• 2-8 Task Management •••••••••••••••••••••••••••• 2-43 Time Management ••••• 2-84 Data Base Management ••••••••••••••••••••••• 2-l06 Message Handlero •••••••••••••••••••• _~ ••••• 2-140 Input Message Processing ••••••••••••••••••• 2-l52 Report Data Output ••••••••••••••••••••••••• 2-l60 Data Recording and Playback •••••••••••••••• 2-l64 Duplicate Data Set Support ••••••••••••••••• 2-l80 Supplementary Services ••••••••••••••••••••• 2-258 High-Level Language Interfaces ••••••••••••• 2-290 Two CPU Operations ••••••••••••••••••••••••• 2-346 Offline utility •••••••••••••••••••••••••••• 2-375 Data Base Compress ••••••••••••••••••••••••• 2-471 Playback Routine ••••••••••••••••••••••••••• 2-497 SYSGEN Utility ••••••••••••••••••••••••••••• 2-50l Sample Programs •••••••• ·••••••••••••••••••••••••• 2-505 g 3 •••••••••••••••••••••• PROGRAM ORGANIZATION DESCRIPTION ••••••••••••••••••••• 3-1 OOMICEXT ••••••••••••••••••••••••••••••••••• 3- 3 OOMIRBT •••••••••••••••••••••••••••••••••••• 3-3 OOMIRCMN •••••••••••••' •••••••••••••••••••••• 3-5 OOMIRCPY ••••••••••••••••••••••••••••••••••• 3-5 OOMIRFLV ••••••••••••••••••••••••••••••••••• 3-6 DOMIRFL2 ..................................... 3-7 DOOIRINT ••••••••••••••••••••••••••••••••••• 3-8 ~I~IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OOOIRPRB •••••••••••••••• II • • • • • • • • • • • • • • • 3-9 3-10 •••• OOMIRWT •••••••••••••••••••••••••••••••••••• 3-11 OOMISVC1 ••••••••••••••••••••••••••••••••••• 3-11 OOMISVC2 .................................... 3-11 OOMISVC4 •••••••••••••••• 3-12 DOMXS'I'GI ••••••••••••••••••••••••••••••••••• 3-12 DPCALCF' 1 ••••••••• '0 ............................ 3-13 DPCTIME1 ••••••••••••••••••••••••••••••••••• 3-13 DPCTIME2 ••••••••••••••••••••••••••••••••••• 3-13 DPCTSVCl •••••••••••••••••••••••••••••••• '••• 3-13 DPCTSVC2 ••••••••••••••••••••••••••••••••••• 3-14 o •••••••••••••••••• LICENSED MATERIAL - PROPERTY OF IBM iii DPCTSVC3 •••••••••••••••••••••••••••••••• 3-15 DPCTSVC4 •••••••••• 3-16 DPCUPCF1 ••••••••••••••••••••••••• ~ •••••• 3-16 DPCUPCF2 •••••••••••••••••••••••••••••••• 3-16 DPCUPCF3 •••••••••••••••••••••••••••••••• 3-17 DPCUPCF4 •••••••••••••••••••••••••••••••• 3-17 DPIDBAS1 •••••••••••••••••••••••••••••••• 3-18 DPIDBAS2 •••••••••••••••••••••••••••••••• 3-18 DPIDBAS3 ••••••••••••••••••••••••••••••.•• 3-18 DPINIT01 •••••••••••••••••••••••••••••••• 3-19 DPINI'I'C>2 •••••••••••••••••••••••••••••••• 3-21 DP I NI TO 3 •••••••••••••••• ~ 3 - 25 DPINIT04 ••••••••••••••••••••• o • • • ~ • • • • • • 3-27 DPINITOS •••••••••••••••••••••••••••• s • • • 3-32 DPINIT06 ••••••••••••••••••••• ~ •••••••• 5.3-33 DPINIT08 •••••••••••••••••••••••••••••• &~3-34 DPINITl ••••••••••••••••••••••••••••••••• 3-35 DPINIT11 •••••••••••••••••••••••••••••••• ]-36 DPINIT2 ••••••••••••••••••••••••••••••••• 3-37 DPINIT3 ••••••••••••••••••••••••••••••••• 3-38 DPINITS ••••••••••••••••••••••••••••••••• 3-39 DPPCALCF •••••••••••••••••••••••••••••••• 3-40 DPPCPTIM •• " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 DPPCTIME •••••••••••••••••••••••••••••••• 3-42 DPPCTSVC .................................... 3-42 DPPCUPCF •••••••••••••••••••••••••••••••• 3-42 DPPDARAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 OPPOBLOK •••••••••••••••••••••••••••••••• 3-46 DPPDBSIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 DPPDFREQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 DPP[)(;ETL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 DPPDITEM •••••••••••••••••••••••••••••••• 3-48 DPPDPUTL •••••••••••••••••••••••••••••••• 3-S2 DPPDRIFT •••••••••••••••••••••••••••••••• 3-53 OPPDSUB2 ...................... •-1• • • • • • • • • • • • 3-54 DPPDUMPL •••••• 3- 5 5 DPPDUPDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-56 0 ••••••••••••••••••••• II II •••••••••••••• .......................... DPPDWRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 5 7 DPPFAONC •••••••••••••••••••••••••••••••• 3-58 DPPFIXFR •••••••••••••••••••••••••••••••• 3-59 DPPIDBAS . . . . . . . . . . . . . . . . . 3-60 OPPI IRB ••••••••••••••••••••••••••••••••• 3-60 OPP I LOGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61 DPPINIT ••••••••••••••••••••••••••••••••• 3-62 DPPINITO •••••••••••••••••••••••••••••••• 3-64 DPPINIT1 •••••••••••••••••••••••••••••••• 3-66 DPPIPFIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-69 OPPIPFRE ......................... ~ .......... e .3-71 DPPISTAE ................." •••••••••••••••• 3-71 DPPITIMl ••••••••••••••• o • • • • • • • • • • • • • • • • 3-72 DPPMINIT .................................... 3-73 DPPMMSG ..................................... 3-74 DPPMMSGV .................................... 3-75 0 ••••••••••••••• 0 LICENSED MATERIAL - PROPERTY OF IBM iv ........... DPPMMSGl •••••••••••••••••••••••••••••••• 3-76 .3-77 DPP'ARM •• , • , •••••• .3-79 DPPPIF ••••••••••• DPPSAMP 1 •••••••••••••••••••••••• , •••• , •• 3 - 84 DPPSASOC ••••••••••••••••••••• , •••••• , ••• 3-84 DPPSBFST •••••••••••••••••••••••••••••••• 3-84 DPPSBFl. •••• , •• e , • • , • " , • , , e , • • • • • • 3-86 .3-86 DPPSCHCK •••• • 3-88 DPPSCHK2 ••••• G • • • • • • • • • • • • • • • • • • , , .3-89 DPPSCHK3 .............. . DPPSCHK4 •••••••••••••• · ..••..••.... . 3-90 DPPSCHPR •••••••••••••••••••••••••••••••• 3-90 DPPSCLUP •••••••••••••••••••••••••••••••• 3-91 DPPSCLI ••••••••••••••••••••••••••••••••• 3-92 •• 3-93 DPPSCMPR •••••••• ..3-95 DPPSCP2B •••••••••••••• ..3-96 DPPSCRBK •••••••••••••• DPPSC'r2T •••••••• 3-97 DPPSDDSX ••••••••••••••••• , ••••••• , ••• , •• 3-101 DPPSINIT ••••••••• , ••••• , •••••••••••••••• 3-102 DPPSINI2 •••••••• .3-103 DPPSINI3 •••••••• e , • • • • • • • • • • • • • • • • • • • ,.,3-104 DPPSINI4 ••••••••••••••••••••••••• , •••••• 3-105 DPPSINIS •••••••••• 3-106 DPPSINI6 ••••••••••••••••• , •••• , ••••••••• 3-106 DPPSLOCK •••••••••••••••••••••••••••• , ••• 3-107 DPPSMSGI •••••••••••••••••••••••••••••••• 3-107 DPPSMSGO •••••••••••••••••••••••••••••••• 3-109 DPPSNOTE •••••••••••••••••••••••••••••••• 3-110 DPPSNTPT •••••••••••••••••••••••••••••••• 3-110 DPPSOPCL •••••• ~o • • • • • • • • • • • • • • • • • • • , • • • • 3-111 DPPSOP1 ••••••••••••••••••••••••••••••••• 3-112 DPPSOP2 ••••••••••••••••••• e • • • • • • • • • • • • • 3-113 DPPSPNTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-115 DPPSRCIO .................................... 3-115 DPPSRDWT •••••••••••••••••••••••••••••••• 3-116 DPPSRDW2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-117 DPPSRLSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-117 DPPSRSRV .................................... 3-118 DPPSRSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-118 DPPSRTCP •••••••••••••••••••••••••••••••• 3-119 DPPSSHAR ....................................... 3-120 DPPSSRCH .................................... 3-120 DPPSSTl ••••••••••••••••••••••••••••••••• 3-120 .DPPSSWCH •••••••••••••••••••••••••••••••• 3-121 DPPSTBOS ..................................... 3-121 DPPSUNLK .................................... 3-122 DPPSUNSH •••••••••••••••••••••••••••••••• 3-123 DPPSWRST •••••••••••••••••••••••••••••••• 3-124 DPPSXTCB ................................... 3-125 DPPTCBGT .................................... 3-126 DPPTCSVC ••••••••••••••••••• o . . . . . . . . . . . . . . 3-127 DPPTD~P ............... '. . . . . . . . . . . . . . . . . . . . . 3-127 DPPTDSVC ...................................... 3 -130 DPPTETXR ... , ................................ 3-131 • • • • • • • • • • 2 •••••••••••••••• ·........... . .......... ·...... . G ••••••••••••••••••••••• ....................... <) •••••••••••••••••• , •• LICENSED MATERIAL - PROPERTY OF IBM v DPPTGWFW •••••••••••••••••••••••••••••••• 3-133 DPPTIMPS •••••••••••••••••••••••••••••••• 3-134 DPPTPMON •••••••••••••••••••••••••••••••• 3-136 DPPTPSVC •••••••••••••••••••••••••••••••• 3-138 DPPTPWQE •••••••••••••••••••••••••••••••• 3-140 DPPTOIMP •••••••••••••••••••••••••••••••• 3-141 DPPTRGt"zA •••••••••••••••••••••••••••••••• 3-142 DPPTRSVC ••••••••••••••••••••••••••••_•••• 3-143 DPPTSMON •••••••••••••••••••••••••••••••• 3-144 DPPTSTAE •••••••••••••••••••••••••••••••• 3-146 DPPTWODL •••••••••••••••••••••••••••••••• 3-148 DPPTWSVC •••••••••••••••••••••••••••••••• 3-1S0 DPPUMSG ••••••••••••••••••••••••••••••••• 3-152 DPPUMSG1 •••••••••••••••••••••••••••••••• 3-1S2 DPPUMSG2 •••••••••••••••••••••••••••••••• 3-152 DPPXDBAS ••••••••••••••••••••••••••• ~ •••• 3~lS3 DPPXDBAT •••••• 3-160 DPPXDBCP··.· •••••••••••••••••••••••••••• 3-169 DPPXDBDA· ••• • ••••••••••••••••••••••••••• 3-174 DPPXDBIN.· •••••••••••••••••••••••••••••• 3-179 DPPXDBLG· ••••••••••••••••••••••••••••••• 3-180 DPPXDEFL.· •••••••••••••••••••••••••••••• 3-182 DPPXDPB •••• • •••••••••••••••••••••••••••• 3-183 DPPXDRC···.· •••••••••••••••••••••••••••• 3-184 DPPXDRCX ••• •• ••••••••••••••••••••••••••• 3-186 DPPXIMPp.·.· ••••••••••• ~ •••••••••••••••• 3-186 DPPXIMPW •••••••••••••••••••••••••••••••• 3-187 DPPXKILL.· •••••••••••••••••••••••••••••• 3-187 DPPXLOCK······ •••••••••••••••••••••••••• 3-187 DPPXNRTI.·.· •••••••••••••••••••••••••••• 3-188 DPPXPCON.··· •••••••••••••••••••••••••••• 3-189 DPPXRDR······ ••••••••••••••••••••••••••• 3-189 DPPXRINT •••••••••••••••••••••••••••••••• 3-190 DPPXRPRT •••••••••••••••••••••••••••••••• 3-191 DPPXSVCP·.· ••••••••••••••••••••••••••••• 3-191 DPPXUTIL.··· •••••••••••••••••••••••••••• 3-192 DPPZSAMP •••••••••••••••••••••••••••••••• 3-201 DPTCSVC1 •••••••••••••••••••••••••••••••• 3-202 DPTDLMP1 •••••••••••••••••••••••••••••••• 3-203 DPTDLMP2 •••••••••••••••••••••••••••••••• 3-204 DPTDLMP3 ••• • •••••••••••••••••••••••••••• 3-20S DPTDLMP4·· •••••••••••••••••••••••••••••• 3-20S DPTPLMPS •••••••••••••••••••••••••••••••• 3-20S DPTDSVC1 •••••••••••••••••••••••••••••••• 3-206 DPTPMON1 •••••••••••••••••••••••••••••••• 3-208 DPTPMON2· ••••••••••••••••••••••••••••••• 3-210 DPTPMON3 •••••••••••••••••••••••••••••••• 3-211 DPTPMON4 •••••••••••••••••••••••••••••••• 3-213 DPTPMONS •••••••••••••••••••••••••••••••• 3-214 DPTPMON6 •••••••••••••••••••••••••••••••• 3-214 DPTPSVCl· ••••••••••••••••••••••••••••••• 3-21S DPTPSVC2 •••••••••••••••••••••••••••••••• 3-216 0• • • • • • • • • • • • • • • • • • • • • • • • • • LICENSED MATERIAL - PROPERTY OF IBM vi DPTPSVC3 •••••••••••••••••••••••••••••••• DPTPSVC4 ••••• ~ •••••••••••••••••••••••••• DPTPSVC5 •••••••••••••• ~ ••••••••••••••••• DPTSMONl ••••••••••••••••• ..•..•.•... . DPTWSVC1 . . . . . . . . . . . . . . . . . . . .•..•.••.. . DPTWSVC3 ••••• ~ •••••••••••••••••••••••••• DPXDBIN1 •••••••• ••••••••••••••.•••.• DPXDBtN2 •••••••• • ••••••••••• 3-217 3-~19 3 - 2 21 3-221 3- 222 3-222 3-223 3-223 OPXDBtN3 •••••••••••••••••••••••••••••••• 3-224 npXDBIN4 •••••••••••• o • • ~ • • • • • • • • • • • • • • • • 3-225 DPXDB1N6 •••••••••••••••••••••••••••••••• 3-225 APPENDIX A. APPENDIX B. APPENDIX C. APPENDIX D. 01 RECTORY •••••••••••••••••••••••••••••••••••• A-l STORAGE ALLOCATION ••••••••••••••••••••••••••• B-1 DATA AREAS ••••••••••••••••••••••••••••••••••• C-1 1 NTF. RNAL M.P.CROS •••••••••••••••••••••••••••••• 0-1 LICENSED MATERIAL - PROPERTY OF IBM vii LICENSED MATERIAL - PROPERTY OF IBM PREFACE Scope and Objectives This publication describes the internal logic and method of operation of the Special Real Time Operating System. The purpose of the publication is to provide information to systems analysts, programmers, system engineers, and maintenance personnel to facilitate making modifications, diagnosing error situations, and performing maintenance work. All of the general functions and services provided by the Special Real Ti.me Operating System are described in the DOM, as well as the details and requirements for installi.ng, operating, and customizing this PRPQ. However, very little emphasis is given to individual programs that comprise these services or to the overall organization of these programs. The SLM contains the detailed material pertaining to the design and coding of the Special Real rime Operating System. While the DOM concentrates on the services and how to use them, the SLM concentrates on the load modules ana how they perform their functions. The SLM is not intended to replace or duplicate any information found in the DOM; it supplements the DOM with information for diagnosing error situations, or maki.ng modifications. This publication contains three sections: 1. Section 1. o o o 2. o o viii summarizes general information about the Special Real Time Operating System describes the relationship between the functional operationsoriented information contained in the Special Real Time Operating System Description and Operations Manual (51120-1773) and the detailed program-oriented information contained in this manual describes the relationships between the various sections and appendixes of this manual Section 2. o Introduction Logic description summarizes the organization of the various functional areas that compose the Special Real Time Operating System defines the format of the diagram and the symbols used to describe the individual programs that comprise the various functional areas provides a visual description of the major logical processes for the individual programs through use of Hierarchy Input Process Output (HIPO) diagrams LICENSED MATERIAL - 3. Section 3. o PROPERTY OF IBM Program Organization provides a detailed listing of the organization of the individual programs and defines the major processes of those programs through the use of Program Design Language (PDL) This publication contains four appendixes: 1. Appendix A. o o o o 2. 3. o Storage Allocation contains information concerning the amount of storage required to execute the Special Real Time Operating System Appendix C. o 4. contains cross-references of the Special Real Time Operating System CSECT names to the source members that comprise that CSECT contains cross-references from CSECT name to the appropriate HIPO and PDL information contains cross-references from Special Real Time Operating System macro names to CSECT name contains cross-references from CSECT name to the functional area Appendix B. o Directory Data Areas contains charts describing the relationships between various Special Real Time Operating System control blocks and data areas contains detailed description of each Special Real Time Operating System control block used by multiple modules Appendix D. Internal Macros - Contains Macros used internal to the Special Real Time OPerating System The page numbering structure of this manual is designed so that the first digit is the section and the remaining digits are the page numbers. For example, 2-34 means you are in Section 2 on page 34. The references within the logic diagrams are references to other figure numbers not page numbers. The reader must have a general knowledge of the concepts of Program Design Language and must understand the concepts and techniques involved in using HIPO function. Section 1 Introduction, can help in using this manual effectively. In addition, the reader must have a thorough understanding of the concepts and a knowledge of the terminology used in OS/VSl. ix LICENSED MATERIAL - PROPERTY OF IBM PREREQUISITE PUBLICATIONS The reader should be familiar with the concepts presented in the following publications: Special Real Time Operating System Description and Operations Manual rSH19-0080) IBM System/J7G Principles of Operation (GA22-7000) OS/VSl Planning and Use Guide (GC24-5090) IBM System/370 System Summary (GA25-700l) RELATED PUBLICATIONS OS/VSl Debugging Guide (GC24-S093) OS/VSl Supervisor Logic (SY24-Sl55) x LICENSED MATERIAL - PROPERTY OF IBM Section 1. INTRODUCTION The Special Real Time Operating System PRPQ is a group of programs that augments the services of OS/VSl to support realtime applications. Additional services provide for lower supervisor overhead; new capabilities; and increased flexibility in the areas of task management, time management, data base, message handling, duplicate data set support, data recordings and playback, failover/restart, and other supplementary services. The services provided by OS/VSl are still available to a program or system of programs utilizing the Special Real Time Operating System. However, in some cases, the Special Real Time Operating System may act as an interface between OS/VSl and user programs. The Special Real Time Operating System is designed to enhance areas that are critical to a realtime operation and to provide a stable operating environment which will minimize the impact of an abnormally terminating program. SYSTEM ENVIRONMENT The Special Real Time Operating System executes as an application program under the contr~ of OS/VSl. There are two distinct modes of operation, either an online job step which executes in conjunction with user programs and/or other program products in a realtime environment, or an offline job step which creates and/or modifies tables, data sets, etc., that are essential for the proper execution of the online job step. The online job step includes supervisor call instruction (SVC) and contains non-SVC routines which may attain supervisor state and/or supervisor protect key while executing as application load modules. Any other program products and user programs are executed as subtasks to the online job step task. In this environment, all the Special Real Time Operating System services described in the Description and Operations Manual (DOM) are available to the user programs, Special Real Time Operating System routines, and/or other program products. The offline job step (e.g., offline utility) executes as a separate independent job step from the online (or realtime) job step and, in this environment, the Special Real Time Operating System services, as such, are not available. 1-1 LICENSED MATERIAL - PROPERTY OF IBM SPECIAL REAL TIME OPERATING SYSTEM OVERVIEW The Special Real Time Operating System is separated into two modes of operation: online excution and offline execution. Each mode of operation is composed of one or more functional areas as shown in Figure 2-4. Note: When referring to an overview chart, the numbers following the description (usually found in the lower right corner of the boxes), refer to either the figure number of another overview chart or the figure number of the detailed HIPO diagram that describes the routine that is given control. Each of the functional areas that comprises the Special Real Time Operating System is represented in this section by a brief narrative of that function, an overview chart, where applicable, followed by detailed HIPO charts of the modules involved. ONLINE EXECUTION Online execution of the Special Real Time Operating System is initiated through standard OS/VSl Job Control Language (JCL) statements with the EXEC card specifying PGM=DPPINIT. The JCL defines to the Special Real Time Operating System the data sets which have been created by the offline utility and the Special Real Time Operating System SYSGEN procedures (described in the Description and Operations Manual). The JeL also defines the devices which are to be used by the online routines. The module DPPINIT is responsible for initializing most of the functional areas for online execution. Once the basic initialization has been completed, the Special Real Time Operating System performs meaningful processing only when its services are requested, either by user programs executing user macro calls in a realtime environment or by user interfaces such as Input Message Processing commands and/or PATCH statements in the SYSINIT input stream. Figure 2-5 shows the relationships between the user macros and the functional areas. The number following the macro name is the figure number of the HIPO diagram that describes the module that receives control in response to a particular macro call. Figure 2-6 shows the input message processing operator commands that are recognized by the Special Real Time Operating System. It also shows the entry point names that can be specified on a PATCH statement in the SYSINIT input stream that result in processing by the Special Real Time Operating System. 1-2 LICENSED MATERIAL - PROPERTY OF IBM During normal execution, or as a result of a user request, the Special Real Time Operating System may execute one or more internal macro calls, as well as the user macro calls. Use of these internal macro calls is restricted by the Special Real Time Operating System because they may be used to obtain supervisor state, page fixing, etc. which, without strict controls, could jeopardize the performance or the integrity of the operatina system. Figure 2-7 shows the internal macros used by the Special Real Time Operating System. Appendix D contains a list of these macros and their calling sequences. OFFLINE EXECUTION The offline functions of the Special Real Time Operating System are executed through the use of standard OS/VSI Job Control Language (JCL). These functions are the offline utility, data base BDAM data set compress, playback of recorded data, and stage I of the system generation procedure. 1-3 LICENSED MATERIAL - PROPERTY OF IBM Section 2. LOGIC DESCRIPTION HOW TO READ RIPO DIAGRAMS The RIPO diagrams illustrate the functions performed by the Special Real Time Operating System. Each major functional area has a set of diagrams. The first figure in each set is a visual table of contents for that functional area. The HIPO diagrams are read left to right, top to bottom, and illustrate the input, the processing steps, and the output for each function performed. The input to the function appears on the left and the output of the function appears on the right. The processing is divided into a series of steps. If further explanation of a processing step is needed, that step is numbered and the explanation appears in the Extended Description for that diagram. The Extended Description also contains segment names, so that the reader can refer to the proper PDL segment or pertinent code in the program listing. Arrows are used to signify data movement, data reference, and processing flow. The arrow conventions are shown in Figure 2-1. Other conventions used in the RIPO diagrams are illustrated in Figures 2-2 and 2-3. Primary Flow of Control Secondary F low of Control -----> Data Movement Data Pointer ------' - ..... Figure 2-1. Data Reference RIPO Arrow Conventions 2·1 Figure 2-04 (1 Of 2) Title Or Module function - ~ Djagram Number Indicates Where Control Came From. If It Is A Special Real Time Operating S~ Module And Can Be Uniquely Identified, An Off Page Connector Will Be Used. 2 -04 - f) ~rowMay B~r Sample Diagram SAMPLE - Diagram Number Module Name From INIT Macro Call rAddress Of CB o m CB Register 1 L Z I..---_---'r en m C 3: ---~-- Subroutine Block Within ProC1!SSing Block Indicatf1S Subroutine Contained In Same Module (Module Name Is 'Internal Routine' And Title Is 'Find Ir') Indicatf1S Only 2·19 XYZlsMoved ~ m :D l> r t -g :D Subroutine Block Not Within Processing Block IndiC61l!S Subroutint! Not In Same Module (Module N~ Is 'External Routine' And Titk Is 'Record Change') Record Change Record Change 2-08 ~t-----------f-- Iridicatf1S Diagram Number . .......- - - . , , - - - - ' Of 'R«:ord Change' ~ m :D -f -< o ." - OJ s: L./n(Ji,cafl'!S Both XDA TA And YDATA Tables Are Moved. May be A Bracker Rather Than A Box (lor 0:) Figure 2·2 . Sample HIPO Diagram Return To Caller ~~-===;;;::=======:'-..-- An Offpage Connector To Indicate fndicatf1S When' Control Is To Be GhN!rI. If It IsA Special RtJal·Time OpHating System Module And Can Be Uniquely Identified. An Offpage Connector Will Be I.hed. (ArrowMqBe Or . . . . . . 1 t a.......... That ProcH:sing Continues On AnothK Diagram (246). ERROR Is The Modilh Name. ,-Oiagram Number D..", Number ~ 2-04 Figure 2-04 (2 Of 2) Step Exptll1tded o.cription With ProcIIG Step 1 • Mq Include D«Iillnfonnation About Input Or Output As Well AsProct!a. ~ POS Segment Extended Desaiption Notes For Step 1 SAMPLE 1 Notes For Step 2 SAMPLE3 Notes For Step 3 ABEND 004 SAMPLE4 PDL Segment Name Corresponds To Segment Name In Listing r n m Z en m o 3: ... l> m ::0 l> r Figure 2·3 . Sample Extended Description Special Real Time Operating System Offline Execution 2·152 Offline Utility " " ' . . . Bund Task Mgt. 2.,.1 2·153 I .ro- o m Z en Time Mgt. m 2·30 1 o -User Utilities Data Base Message Handler 2441 I D." .... Compn,. 2·161 I 2·58 , 3: » -f m - :lJ » roI ." :lJ o "'0 m :lJ -f -< o ." m -Related Programs Or PRPQ's May Receive Control From The Offline Utility. These User Utility Routines Will Be Documented In The R elated Programs System And Logic Manual. Figure 2-4 - Special Real· Time Operating System Overview 3: Special Real Time Operating System User Macro Calls Subroutine Subroutine (Continued) Supervisor Call 1 Data Record And Playback Task Mgt. PURGEWa ".1 I Task Mgt. 2.691 RECORD 2711 PATCH 2211 m I 2.571 2491 GETBLOCKI PUTBLOCK GETLOG REPATCH Duplicate Data Set Support Data Base 1 1 Hal r '0,,1 I 2.761 DDSOPEN 2231 »-f I ! DDSFIND m -» ~ 2... 1 r I 2.851 -,;, ~ I DDSSTOW '0,,1 I 0-,;, m 2-8.1 ~ I DDSBLDL Message Handler 2·58 uol :>J -f I DEFLOCK I LOCK Continued 1 2-1151 I • I GETWA/FR~EWA Figure 2-5 - Special Real Time Operating System Macro Calls '0",1 < 0 -n -3: OJ 2·10 '0.. 1 1 MESSAGE 2851 Supplementary Services DUMPLOG m 3: 2-8,1 DDSCLOSE z en C CHAIN PUT LOG r(") '0".1 2·108 J User Interface PATCH Statements Operator Commands Data Base DPPDUPDL Data Base Refresh 247 r Message Handler 2·58 MSGRC 2~1 n m Z (I) m C ~ Input Message Processor ~ 2-63 CANCEL 2-66 STOP I 2~1 m :0 » rI -0 ::D 0 -0 m REPORT 2~1 :0 ~ 0 -n CD 3: Duplicate Data Set Support 2.76 DDSCNTRl Figure 2-6 - User Interface 2-89 I Special Real Time Operating System Internal Macro Calls Subroutine I Task Mgt. I~QDEL Supervisor Call I I J Two CPU Operation 2.141 225J 2·140 I WTFAILD6 r- ,.,.21 ~ J Z J -.I (I) m Supplftnef1tary Services C ,I 2-107 l ~ Routines Gain Control By Expending The Linkages Internally Rather Than Executing A Macro Call. I I I I Figure 2-7 - Special Real Time Operating System Internal Macro Calls o m 3: ·GETMORE 2.,J I SETPSW r- 2J 2.1171 I CBGET/CBFREE ~ m ~ I ~ 2J 2.1121 ~ m 2-1131 -4 I 2J DPPFIX I DPPFREE 2.1141 I < o"11 - I LICENSED MATERIAL - PROPERTY OF IBM Initialization The Special Real Time Operating System's initialization module, DPPINIT, is assembled during the SYSGEN procedure and contains the SYSGENed values as data constants. rhis module receives control from the OS/VSl initiator whenever an EXEC statement specifying PGM=DPPINIT is executed. The module DPPINIT references the SYSGENed values (data constants) and the SYSINIT input stream and initializes the realtime job step accordingly. Once the basic initialization has been completed by DPPINIT, control is transferred (XeTL) to the Special Real Time Operating System's system monitor routine, DPPTSMON, and the realtime job step is ready for processing to begin. Figure 2-8 provides an overview of the modules executed during the initialization process. Special Reai Time Operating System Initi"ization DPf'INIT Processing Flow 2·9 !: o m Z en m C 3: »-I m ::u ...»DPPITIMI Initialize Time Mgt. Routines DPf'ILOGN Initialize Data Base logging Routines I ." ~ ." m ::u -I DPPXIMPW Initialize Input Message Processor Routines 2-64 Continued Figure 2-8 - Special Rea.-Time Operating System Initialization Overview < o." - ~ DPPINIT OSNS1 Initiator Input o Process Output CVT HEX '10' CVTTCBP r(') m 2 m C Verity That This Is The Job Step (I) Task. If Not Abend With User 30. s: » -4 m [!J :0 CALL CARD l> r- READ ROUTINE I Card Read Routine 2·11 Input Conlrol Statements ~ :0 o ~ m :0 -4 -< UMAINBL OK MAINTcas MAINCBCR MAIN # GSZ o ." Override SYSGEN Values (TCa, GETWA, CBGET) Figure 2-9 (1 Of 12) - Special Real Time Operating System Initialization aJ 3: Figure 2·9 (2 Of 12) Step 1 2 3 Extended Description Special Real Time Operating System initialization must run under the job step TCB. It cannot be an attached task. The CVT - new/old pointers are used to get the TCB address under which initialization is running. The TCB address is compared to the TCBFTJST address to find if it is the job step task. If it is not, the job is ABENDed with a code 30. Messages and ABEND Codes POL Segment USER 30 DPPINIT ,.. (") Program DPPINITO is branched to in order to have the input stream read. See Figure 2-11 for detail. DPPINIT Override SYSGEN values for number of advance TCBs and GETWA. Override CBGET value. DPPINIT m 2 en m o 3: » -t m ::rJ ,..» ." ::rJ o"'0 m ::rJ -t -< o ." OJ 3: From Figure 2·9 (1 Of12) DPPINIT Input Output Process Calculate Core Requiremenu For XCVT And SCVT Plus Block Identifiers r- ei m Z (I) m Get SP253 Core And Initialize XCVT o 3: » -t m l:J Initialize SCVT » rI ""D l:J o Link To DOMIRINT If Failover Restart Or External Time Source Has Been SYSGEN'ed. ." m l:J -t -< External Interrupt Handler Initializa· tion 2.142 Initialize TMCT Storage And Control BlocksrBl Figure 2·9 (7 Of 12) "'/ Figure 2-9 (3 Of 12) - Task Management Control Block Initialization o ." Figure 2-9 (4 Of 12) Messages and ABEND Codes POL Segment Step Extended Description 1 The core required for the XCVT and SCVT is calculated by (XCVTLNTH + IDLNTH + SCVTLNTH + IDLNTH). The ID is an 8-byte control block identifier which precedes the control block in core and makes it easy to locate the control block in a core dump. DPPINIT 2 The core for both the XCVT and the SCVT is obtained by one GETMAIN from subpool 253. The XCVT identifier is put ahead of the control block and then XCVT fields .are initialized in the fullowing order: XCVTSVCl - An executable type 1 SVC instruction (OAXX) XX = SVC number XCVTSVC2 - An executable type 2 SVC instruction (OAXX) XX = SVCnumber XCVTSVC4 - An executable type 4 SVC instruction (OAXX) XX = SVC number XCVTSBOP - Initial flags set (XCVTPRS, XCVTIPL, XCVTCPU) XCVTPGSZ - Size of page 2K - VSl XCVTCVTS - Pointer to SCVT DPPINIT r- n m 2 en m o 3: » -f m ::D » r~ ::D 3 4 The SCVT ID is placed ahead of the control block. The SVCT fields are then initialized in the following order: SCVTLOGI } SCVTLC~2 If logging is SYSGENed SCVTLOG3 SCVTTlBR - Type 1 SVC branch table address SCVTT2BR - Type 2 SVC branch table address SCVTPIHI - Partition high address SCVTPILO - Partition low address SCVTTMCT - Pointer to Task Management Control Table DPPINIT If either failover/restart or external time source has been SYSGENed, a link to routine DOMIRINT will be generated. DPPINIT o -0 m ::D -f < o ." Figure 2-9 (5 Of 12) ~--~~-----------------------------------------------------------------------r------------~--------~ Step Extended Description 5 A GETMAIN for the TMCT and GFMB. The TMCT ID is put ahead of the TMCT. The TMCT fields are then initialized in the following order: TMCTEFWD GETWA Type = PC dummy GFBE TMCTEBKW TMCTGFMB - Pointer to the first GFMB TMCTXCVT - Pointer to the XCVT Messages and ABEND Codes PDL Segment DPPI~ITI r n m :2 en m 0 3: l> -f m :ll . l> r "'0 :ll 0 -0 m :ll -f -< 0 "TI OJ S I I '---_~l...--_ _ _ _ _--_-----------------------------------------------------L -_______ -___ "--________--: LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank Figure 2-9 (6 of 12) 2-15 From Figure 2·9 (3 Of 12) DPPINIT Process Input [D SYSGEN Values (May Be Overridden At Initialization) ""- ~ -y Output Calculate The Amount Of Storage Required For GElWA Control Blocks And GETMAIN. r- es m ABEND Job ~~~. GFMB rn Not Met Z ... INITIALIZE GFMB's I!I GFMB# BlK ~ .. Initialize GFCS's And GFBE's And Get The GETWA Core Turn On The Initial Allocation Flag > (I) m ~ C ~~ .... , ...... ' n .. r.~CRI .6.c:T ... .......... .. .. 3: Block Of Subpool Zero Core I ) ." ::D o ." m ~ IX) ::D -t '" -< o"T1 Block Of SP 253 Core SCVT [!] ~ Get CBGET Core And Initialize PSCB's / ......... ... ./ :>LV UNX ~VIL}t'HV I ..) ~ C Figure 2·9 (7 Of 12) . Initialize GETWA And CBGET Storage And Control Blocks m ::D > r- ..... II.. . »-I TCBX Create Figure 2·9 (9 Of 12) '";)~" ·~N I I I'SGBNf:X r.i\;;tn PSCBIO lEV to ~ Figure 2·9 (8 Of 12) ~----~------------------------------------------------------------------------.----------~~----------- Step 1 Extended Description Messages and ABEND Codes POL Segment The amount of protected storage required for GETWA control block USER 46 storage is calculated (number of sizes x GFCBLNTH) + (total number of blocks x GFBELNTH). The storage required is GETMAINed from subpool 253. If a GETWA size of at least 1024 bytes is not requested, the job step is ABENDed with a code 46. DPINITl r 2 3 The following fields are initialized in the GFMB GFMBSIZE - Size of GETWA blocks GFMBFCNT - Free count of GETWA blocks GFMB#BLK - Initial number of blocks requested GFMBGFCB - Pointer to corresponding GFCB GFMBID - ID (0, 1, 2, 3 ..• 31) maximum 31 The GFCB is initialized in the following manner GFCBGFMB - Pointer to corresponding GFMB GFMBGFBE - Pointer to first GFBE (free queue) - All GFBEs are then queued to this free queue. GFCBFRST - Low address of associated SP zero core GFCBLAST - High address of associated SP zero core DPINITl The amount of CBGET core is calculated if no value is given at initialization time (CBGET statement) and core is obtained from subpool 253. A Protected Storage Control Block (PSCB) is built in the first 12 bytes of obtained core and is backward (PSCBREV) and forward (PSCBNEXT) chained to the dummy PSCB in the SCVT. The number of 32 byte blocks available is calculated from the number stored in the PSCBFCNT field. m Z (I) m o 3: » -f m :D DPINITl » r"'0 :D o "'0 m :D -f The initial allocation flag (GFCBINIT) is turned on. 4 (") < DPINIT2 o ." OJ 3: DPPINIT Input .. m Load Task Management Routinel DPPTETXR, DPPTPMON, And DPPTSMON r Ci m Tce Z TC8X en m C ~ » -t m TCe~tr~S~t~ ______~-L________~~ Or SYSGEN V.'ues ::D > r ..,::DI Create TCBX - Tca Pool And Olain The Free Pool To The TMCT ..,m rn ation, If two1>artition oper· synchronize 0 the two partitions """ -- .. . :c -t DPINJT5 -< Two-Partition Synctl 2·10 0 "T1 OJ rn LINK To Functional 3: Area Initialization Modules ATTACH ATTACH DPPINITl • • • • •~ PATCH Processor 2·12 Figure 2-9 (9 Of 12) - Create TCaX . Tea Pool Figure 2-9 (11 Of 12) Step 5 Extended Description Special Real Time Operating System subroutines are loaded or linked in the following order: LOAD LOAD LOAD LOAD LOAD LINK LOAD LOAD LOAD LOAD LOAD LINK LINK LINK LINK DPPTSTAE DPPTPWQE DPPXDEFL DPPTGWFW DPPXLOCK DPPSINIT DPPSOPl DPPSCLl DPPSBFl DPPSSTl DPPXDRCX DPPIDBAS DPPMINIT DPPITIMI DPPILOGN ATTACH DPPXIMPW LOAD DPr'IPFRE LOAD DPPISTAE 6 DPINIT 3 - Store address in SCVTSTAE Store address in SCVTPWQE Store address in SCVTDEFL - LOCK Store address in SCVTGWBS Store address in SCVTLOCK - DE FLOCK If DDS SYSGENed If DDS SYSGENed If DDS SYSGENed If DDS SYSGENed If DDS SYSGENed Store address in SCVTREC - Data recording Link to data base initialization Link to message handler initialization Link to time management initialization Link to logging initialization if SYSGENed - Input message processor - Store address XCVTPFRE - Job step STAE routine - Initialization is complete so the PATCH stream processor (DPPINITl) is attached, then control is passed (XCTL) to the system monitor (DPPTSMON) • ATTACH DPPINTl XCTL DPPTSMON. Messages and ABEND Codes PDL Segment r(") m Z en m o 3: »-f m :0 » r- ." :0 o." m :0 -f -< o DPPINIT " ~ Figure 2-9 (10 Of 12) o Step Extended Description 1 The Special Real Time Operating System task management routines are brought into virtual storage via the LOAD macro. LOAD DPPTSMON LOAD DPPTETXR, store ETXR address in TMCTETXR LOAD DPPTPMON, store interface entry point in SCVTPMON. 2 A TCBX is created and initialized and chained to the job step task TCB. The TCBX fields are initialized as follows: TCBXPRTY - TCB's dispatching priority TCBXTFWD {Dummy GETWA type at GFBE TCBXTBKW TCBXQFWD {DUmmy GETWA type at GFBE TCBXQBKW TCBXDCVT - Pointer to the XCVT Messages and ABEND Codes POL Segment DPINIT3 USER 33 DPINIT3 m Z CI) m o s: l> -I m JJ l> r- If enough CBGET storage cannot be obtained, the job step task is terminated with a code j3. 3 4 r(") A TCB pool is created by ATTACHing DPPTPMON for the number of advance TCBs. A TCBX is created for each TCB (as in step 2) and the free chain is chained to the TMCTFREE chain. DPINIT3 The two partition flags in the MAINBLOK are tested (MAINMSTR, MAINSLAV); if either is on, the two partitions are synchronized (see Figure 2-10). DPINIT5 " o JJ " m :g -i -< o -n OJ s: LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank Figure 2-9 (12 of 12) 2-21 N N Call From DPPINIT DPPINIT (Figure 2-9,9 Of 12) Input N Process Output MAINBLOK ~--- Check For A TwoPartition Run r- n m Z en m Check For RESTART On SLAVE If Yes Else rn m o 3: » ~ m :xJ If This Is Initial Start Check For Other Partition Started »rI If Other Not Started Wait And Issue Message If Other Is Started,' Find Other And POST Him -0 :xJ PARTN 1 SCVT2PTS ... _.~rn If This Is Restart I-_ _ _ _ _ _-L._---l On SLAVE, Find ~------~-_....J MASTER And Synchronize TCBt I TIOT t-CJ Figure 2·10 (1 Of 2) • Two Partition Synchronization SCVTP2LO SCVTP2HI xc~x o -0 m ::u SCVT X'IO' Synchronize Two Partitions PARTN 2 ~ I I -t SCVT2PTS SCVTP2LO SCVTP2HI ml-__X_C_VT2_PT_X_~ I I -< o." Figure 2-10 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 The MAIN BLOCK MAINMS flags are checked for the presence of a MASTER or SLAVE statement in the input stream. If none exists t the synchronization routine is bypassed. DPINITS 2 An ENQ for MASTER jobname - MASTER jobname is issued t if the resource is available, this is an initial start. If it is not available, this is a restart of a SLAVE partition, processing continues at step S. DPINITS r (") m 3 4 An ENQ is issued on MASTER jobname - SLAVE jobname to find if the other partition is started. If the resource is available the other partition has not started, a message is issued and the partition WAITs. If the resource is not available, the other partition has started and it is WAITing. The TCB ready queue is searched, looking for the jobname in the TCB's TIOT; when the other job is found, its XCVT is posted with this partition's XCVT address. DPP046I DPINIT5 Z en m o ~ » -t m :XJ » r Each partition gets the other's low and high partition addresses and puts these in his own SCVT, and gets the other's SCVT address and puts it in his own SCVT. DPINITS ." :XJ o." m S If this is a restart on a SLAVE, the MASTER is located via the TCB ready queue and if he is not currently ABENDing and does not already have a SLAVE partition, he is given the SLAVE's low and high pa!tition boundaries, and the SLAVE's SCVT and XCVT address. The SLAVE gets the MASTER's low and high partition boundaries, and the MASTER's SCVT and XCVT addresses, the two partition bit is set on in each XCVT, and the resync bit is set on in the MASTER's XCVT and initialization continues. USER 36 USER 42 43 44 USER USER DPINITS :XJ -t -< o " DPPINITO Call From DPPINIT (Figure 2·9, 1 Of 12) Inpllt ~ Process Output MAINBlOK OJ r I ~ ... MAINFLAr. MAINFIGS A Control Statement rn ... ~ r- ~~ OR L~ting >~ I Print The Input Statement ... ... 10 ... Member r Build A MAINBLOK Set 2 Partition Flag If SYSGENed Turn On DBREF YES Flag All Continuations J ;:: Operation Field c:D Identify Control Statement Operation Type And Pr~ Control Statement. (See Figure 2·11 (3 Of 12) For More Detail) .> .. @] IFrom Fi!J.lre 2·11 (70112) MAINBlOK .1'. ...> Exit From READ LOOP WIlen END'()F·FI LE (EODAD) m - tvJ From Figure 2·11 (11 Of 12) Figure 2-11 (1 Of 12) - Statement Read Routine ABEND If Control Statement Error Detected Otherwise Return Control To DPPINIT MAINBLOK Address In Register 1 [] OR Modified Created MAINBLOK To Figure 2·11 (3 Of 12) Return To CaIIe1' s: ~ :0 » rI ." :D Q m -< ~ ./ Modified Chain " INlTCB To Figure 2-11 (11 Of 12) o :D -C ... ~ ~ II]] ~ ~~ Build WAIT LlST/5) See Figure 2-11 (11 Of 12) For More Detail) INITCB IN/TCB ,.. .....> Z m (I) m MAINRlOK ~ .~ One Complete Control Statement o m \ INITCB o"TI Figure2-11 (2 of 121. Step Messages and ABEND Codes PDL Segment Extended Description I A MAINBLOK is built in subpool O. 2 A read loop is established to read control statements. The only exit from the read loop is end-of-file (EODAD) on SYSINIT. The label is moved to the work area. If column 1 is nonblank and if the data in column 1 is an asterisk (*), the statement is a comment statement, it is written to the INITLIST data set and the next card is read. If it is not a comment statement, the operation is moved to the work area, then the operands are moved to the work area. All comments and blanks used as delimeters are removed, and only meaningful information is moved to the ~ork area. Blanks within the PARAM field are kept. A flag is set to indicate continuation if column 72 is nonb1ank or the last data column contained a comma. If column 72 was nonb1ank and the last data column was not a comma, a flag is set to indicate that no more operands are expected. If an error is found in control statement, issue an error message. 3 4 DPPINITO DPP836I DPP8001 DPP801I DPP802I DPP822I USER 40 DPP045I r- n m Z C/'J m C 3: l> -t m :IJ l> r DPPINITO The input control statement is written to the SYSLIST data set. Continuation cards are read until there are no more continuations expected. If the maximum number of operands is not exceeded, the operands are moved to the work area. DPPINITO DPINIT06 DPP804I DPP822I DPINIT03 ." ~ o ." m :IJ -t < o-n 5 The control statement operation type is identified. (3 of 12) for detail.) 6 At end-of-fi1e, control is passed to program label BLDWTLST. DPINITO 7 See Figure 2-11 (11 of 12) for description of Build Wait List routine (BLDWTLST). DPINIT05 8 If any errors were detected during control statement processing, the job step is ABENDed with a code 34; otherwise, control is returned to DPPINIT. (See Figure 2-11 USER 34 DPINIT05 From Figure 2·11 (1 Of 12) DPPINITO Input Procas MAINBLOK MAINBLOK MAINBLOK MAINBLOK r n m 2 m Control Statement en MAINBLOK C 3: l> -t m ::D l> r MAINBLOCK I "'0 INITCB ::D Q m ::D -i -< o "C» 3: Figure 2·" (3 Of 121 . Identify Control Statement Operation Routine c:v To Figure 2-11 (7 Of 121 Figure 2-11 (4 of Step 12~. Messages and ABEND Codes POL Segment Extended Description 1 Ensure TCB field contains all decimal data. value in MAINTCBS. Convert data and store 2 Ensure CBGET field contains all decimal data. storage value in MAINCBGT. 3 Ensure all decimal GETWA input and number suboperands do not exceed 32. Move the converted data to the MAINBLOK and sort the entries by GETWA size. Ensure that the number of blocks is not greater than 4095 and the size is not greater than 30760. Ensure blocks which are greater than 2K are 2K mUltiples. Convert data and DPP834I DPP8051 DPINIT04 DPP8291 DPP805I DPINIT04 DPP0371 DPP0381 DPP039I DPP0401 DPP04l1 DPP0421 DPP0431 I (") m 2 CI) m o 3: »-f m 4/5 DPINIT04 If two partition SYSGENed, accept MASTER or SLAVE statements. If MAINMSTR and MAINSLAV are both off, no previous MASTER or SLAVE statement has been encountered in the input stream. The MASTER= or SLAVE= operand is verified and if it is valid, the job name is moved to the MAINNAME field and the appropriate flag (MAINMASTR if MASTER or MAINSLAV if SLAVE) is turned on. DPP8061 DPP8l31 DPP8301 DPP8451 If DBREF NO request, turn off the refresh flag (MAINRIMT) in the MAINBLOK. If YES, the flag is left alone as it is already set. DPP8021 DPP80S1 DPINIT04 7 Build an INITCB, chain it on the chain, and turn on the INITWAIT flag to identify this is a WAIT control block, locate the INITCB with the given label and verify that it is a PATCH block. If it is, calculate the address of the PATCH blocks INITECB field and put it in the WAIT blocks ECB field. DPP8071 DPINIT04 8 Build an INITCB. chain it on and turn on this as an ABEND control block. If DUMP INITDUMP flag. If a time was specified, INITECB field, otherwise put the default INITECB field. the INITABND flag to identify DPP833I was requested, turn on the DPP832I convert it and put it in the DPP83lI time (30 seconds) in the PPINIT04 6 ::D » I "lJ ::D o '"V m ::D -f -< o ." ~ ~ Figure 2·11(5 of 12). Step Messages and ABEND Codes POL Segment Extended Description 9 Build and chain an INITCB and turn on the INITWRST flag to identify this as a RESTART control block if no previous RESTART WRITE statement has been read. Set WRITE, PROBE, CMON, and CANCEL flags as required. 10 See following pages for detailed description of PATCH statement processing. DPP805I DPP808I DPINIT04 r(") m 11 12 13 Build QPBK from data on OP statement and chair. chair. Add to main QPBK Build QHBK from data on OR statement and add to main QHBK chair. Build STAX BX from data on STAEX statement and add to main STBK chair. DPQ8051 DPP8l3I DPP814I DPP8281 DPP8481 DPP8491 DPP8521 DPP853I DPP8541 DPP857I DPINITOA DPP80lI DPP8ll1 DPP813I DPP8481 DPP8521 DPP8561 DPINITOA 2 en m C s: l> -i m :0 l> r- ." :0 o DPP801I DPP8131 DPP849I DPP853I DPP854I DPP855I ." m jJ -i -< o "CD s: LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank Figure 2~11 (6 of 12) 2·29 From Figure 2-11 (3 Of 12) DPPINITO Output Process Input INITCB ){w ... I I I CREATE INITCS ..::> INITFLGS INITCS -::1 ">1 m ...) I I r- INITCS rn ~ One Complete Input Control Statement ... I = If Keyword EP I ~w If Keyword TASK .. I = n m .. ) I I 2 m en INITCB = If Keyword QL o . I 3: ...> I 1 ~ PROSl If Keyword ID ::XJ .... I I = m l> ./ I rI INITCB >F I - ~ From Figure 2-11 (9 Of 12) INITCB If Keyword PARAM I CREATE PROBl I 1 ~ I Check For EP I Reset Flags To Figure 2-11 (1 Of 12) C ::XJ o"'0 ...-< ::XJ I To m '1'1 m r Figure 2-11 (9 Of 12) -V :.vl't'! SUPPRTYV .. = --.. I@ Figure 2-11 (6 Of 12) PATCH Statement Processing ... . / I .... ::1[1J .. I If Keyword PRTY = PROBL ... ... ) o ." Figure 2-11 (8 of 12). Step Extended Description 1 Create and chain an INITCB. Turn on the INITPTCH flag to identify this as a PATCH control block and move control statement label to INITLABL. 2 If no EP=keyword previously processed for this PATCH statement, turn on the PTCHEP flag and move the EP name to the SUPL. The SUPL is part of the INITCB. 3 4 Messages and ABEND Codes POL Segment DPINIT02 DPP8091 DPP8l71 DPINIT02 r- If no TASK=keyword previously processed for this statement, turn on the PTCHTASK flag and move the TASK name to the SUPL. DPP8l01 DPP8l7I DPINIT02 If no QL=keyword previously processed for this statement, turn on the PTCHQL flag. Validity check the QL data, convert it, and put the converted value in the SUPL. DPP8261 DPP8l11 DPP8l7I DPINIT02 n m Z (I) m o 3: » -f m :0 5 If no ID=keyword previously processed, turn on the PTCHID flag. Validity check the ID value, convert the value, and save it to be moved later to the PROBL. DPP8271 DPP8l21 DPP8171 6 If no PRTY=keyboard previously processed, the PTCHPRTY flag is turned on. If the first character of the operand is a left parenthesis, the operand is of the format (job name, prty). The job name is moved to the SUPL and the priorty value is validity checked, converted, and moved to the SUPL. If the first character is not a left parenthesis, the operand is of the format JOBSTEP-n. The priority reference value is validity checked, converted, and moved to the SUPL. DPP814I DPP8151 DPP828I DPP8161 DPP817I DPINIT02 DPINIT02 7 See Figure 2-11 (9 of 12) for processing description of PARAM. DPINITOI 8 If no PROBL exists (no PARAM=keyword), create a PROBL. Move the ID to the PROBL. DPINIT02 9 Check PTCHFLGS for PTCHEP flag to ensure EP=specified. 10 Reset PTCHFLGS. DPP8351 DPINIT02 DPINIT02 » r- DPPINITO Output Process From Figure 2·11 (7 Of 12) Input PROSl m 'Donoc, r.. ~~b~~d IPRnRI ... Check For No Previous PARAM = T~ ....., C 'ABC' F 'ZV' X '120' ..... Build i [II .... .,;> Data Identifier = 'X'! ... ") .... Converted Hexadecimal Data ~ r o m Z en m c 3: ~ m ::D ); .... ") .... One Complete Input Control Statement !!I ... ./ Data Identifier = 'F' Converted Fullword Data r I -a ::D Q m :D .,.. / .... . (9 Of 12) Figure 211 . Build Walt .... ;;> Data Identifier '" 'C' To Figure 2·11 (7 Of 12) List Routine -4 rn F < Character Data o " Figure 2-11 (10 of 12). Messages and ABEND Codes PDL Segment Step Extended Description 1 If no previous PARAM=keyword has been processed, turn on the PTCHPRAM flag. The first data character is checked,' If it is a left parenthesis, the operand is scanned, and the quote characters are counted. If the quotes are balanced (even number), a PROBL is created. If no right parenthesis, then issue error message. DPP824I DPP822I DPP828I DPINITOl 2 If data type is X, validity check the data, convert it, get storage for the data, and move the converted data to the storage area. The address of the converted data is then placed in the PROBL along with the data length. DPP8l81 DPP8l91 DPINITOl If the data is F, four bytes of main storage is obtained, and the data is checked to see if a sign was specified. The data is converted, and if a minus sign was specified, the data is complemented. The converted data is placed in the obtained storage, and the address and length are placed in the PROBL. DPP8181 If the data type is C, storage is obtained and the character data is moved to the storage. The address and length of the storage are placed in the PROBL. DPP8201 DPP82l1 DPP8181 3 4 I' ("') m Z en DPINITOI m C S l> -f m :c l> r- DPINITOI ." :c o-0 m :c -f -< o." DPPINITO From Figua 2·11 (1 Of 12) Input! Process OutpUt MAINBLOK MAINBLOK OJ Joo. . MAINERR "'" Check For Control Statement Erfon INITeB MAINBLOK ill ~ .. 1t4IT~ r(; m Z (I) m Modified o.ain Build A Wait List For The Write Block o INITeB 3: » ~ J-,. m :c 1m INITeB A Wait Block ~ !13uild Following The Last » INITeB rI INITCB ." :c o ." m INITeB :c ~ -< MAINBLOK MAINOHBK MAINOPBK hi m QH~ J I r 1 - Q~ I r J Put Addr Of QPBK Into OHBK And Addr Of OHBK Into OPBK MAINOHBK MAIf'!ClPBK []] 1 Oleck For Errors In OPBK/QHBK Cross Reference -" ~ _Q!,BK OPBKOHCT QJ>BKOHAD l QP~ I _gl'BK ") F Figure 2·11 (11 Of 12) QHBK I Q[£ QHBK J o "T1 MAINBlOK To Figure 2·11 (1 Of 121 ' OHBKOPCT . OHBK I , Figure 2-11 (12 of 12). r-----~------------------------------------------------------------------------------------~----------_.------------ Messages and ABEND Codes PDL Segment Step Extended Description 1 If the MAINERR flag is on, a control statement error was detected and the job step is ABENDed with code 34, otherwise, the wait list(s) are built. DPINITOS 2 A count is made of the number of PATCH blocks. If there are no PATCH blocks, the job step is ABENDed with a code 40. If a WRITE block exists, the PATCH blocks preceding the WRITE block are counted, and a wait list is created pointing to the INITECB field of each PATCH block. The wait list address is placed in the WRITE blocks INITECB field, and the count of entries in the wait list is placed in the INITWTCT field. DPINITOS All PATCH blocks following the WRITE block (or all PATCH blocks if no WRITE blocks exist) having the PARAM= (with greater than 8 bytes for a PROBL length) parameter are counted and a wait list entry is created for each. An INITCB is created and chained to the end of the INITCB chain, the INITWAIT and INITWLST flags are turned on. The new block is pointed to the wait list by the INITECB field, and the count of the number of entries in the wait list is put in the INITWTCT field. DPINITOS 3 4 The address of the QH blocks reference by each QP block is stand into the QP block and the addr. of the QP block is stored into the QH block. If more than 21 connections to any QH block, or referenced QH name not found, output message and seter for flag. 5 If any errors found in DIan QP/QH cross reference check, abend code 34. r n m Z en m C s » -t m JJ » r DPP846I DPP847I DPP8S7I OPINITOS From DPPINIT DPPINIT1 Via ATTACH (Figure 2-9,9 Of 12) In put Output Proceu ~ Register 1 Address Of MAINBLOK .. [ill -/ Initial Processing r- n m 1AINBLOK Z en m o ( ~ 3: » -I INITCS PATCH Block m :D . 1m PATCH Block ... ./ .../ Program PATCHed ~ r I ." :D Q m INITCS WAIT Block .~ 1m ..) WAIT Block -../ :D PATCHed Program Waited On ~ o " INITCB .. ABEND Block ./ [!] Figure 2-12 (3 Of 4) Figure 2·12 (1 Of 4) . Initialization Subsystem PATCHor . ..) ABEND Block A Job Step ABENDed User 22 Figure 2-12 (2 of 4). Step Messages and ABEND Codes PDL Segment Extended Description 1 Register conventions, get the XCVT address. PATCH processing has begun. 2 Get the PROBL and SUPL addresses from INITCB and issue the PATCH. If PARAM= was coded, PATCH is issued with ECB option. Also if the PATCH precedes a RESTART statement, the PATCH is issued with ECB option; otherwise, no ECB option is specified. If PATCH return code is nonzero, ABEND the job step with a code 31. 3 Issue message to indicate The INITWLST flag is checked to see if the WAIT is on a list of ECBs. If it is, the INITWTCT is obtained, and a WAIT is issued on the list. If no wait list, the WAIT is issued on a single ECB with the ECB being the INITECB field of the PATCH INITCB. When the ECB is posted, the completion code is checked, and if no error occurred processing continues. If an error ~OST ·code nonzero) occurs, an error message is issued and the nonzero POST code is zerod. If the bad POST was for a PATCH prior to the RESTART, the task ABENDs with a code 35. DPP04l1 DPPINITl USER 31 DPPINIT1 r n m Z DPP0441 DPPINIT1 en m o 3: » -i USER 35 m l:J »r \J 4 The program issues a STlMER WAIT for the specified time. time expires, the job step is ABENDed with a code 22. When the USER 22 DPPINITl l:J o." m lJ -i < o ." From Figure 2-12 DPPINIT1 (10f4) Output Input Register 1 Address Of MAINBLOK MAINBLOK Failover Data Set r- nm Z en m RESTART BLOCK C 3: IRB ~ m :JJ » rI -a :D o-a LINK To DPPIIRB m :JJ -t -< o ." All Control Block Storage Freed If CANCEL, Job Step Figure 2·12 (3 Of 4) . Initialization Subsystem PATCHor Figure 2-12 (4of4). Step 1 Extended Description Messages and ABEND Codes POL Segment DPPINITI If RESTART request A B C D Link to DPPIIRB (Data Base Create IRB Routine) A WAIT is issued on all previous PATCHes. The failover restart data set is then written and then the restart flags are propagated to all PATCHes following the RESTART block. The flags are stored in the PROBL. If it is a SLAVE partition that has been restarted, the WRITE RESTART is bypassed and an error message is issued. Link to DDS failover restart routine (DPPSRSTR) Link to DPPIIRB DPP0541 .(") m Z (I) m C 3: ~ -4 2 A B C D E 3 DPPINITI If PROBE request Nonzero POST codes will cause an error 4 All control block storage is FREEMAINed. 5 ABEND job step with a code 45. » r- Create IRB for the time function PATCH DOMIRPWT (PROBE Routine) Link to DPPIIRB Link to DPPSRSTR Link to DPPIIRB All ECBs are checked. message to be issued. m :JJ ~ :JJ o -0 m DPP044I DPPINITI :JJ -4 < o -n DPPINITI USER 45 DPPINITI OJ 3: N ~ o DPPISTAE OSNS1 ABEND Output ~ Input XCVT jll] t--;;;:;;;;:;;;~-1-_-1._-__--1.-_-_~ .. ~..::~~~;v'..::..:..I"'.:..."'·lti:.:.IIt:==-...}-_ _r - - - _ -_ _'-----v".,- I Calf The Page Free Routine DPPIPFRE I ... t----...,-------'Y./) UNFIX Pages Previously Fixed By DPPIPFIX DPPIPFRE -or- Page Free Routine m Z 2-114 en m XCVT r--;~~~V;;';: :»tll~UI':--}--L.-_-_-L~_ _"...Jrn 1 C If External Interrupts Were Initialized, Cleat' FLAGS 3: » -I m :D XCVT I\~V I~' -\: ~m ../. . . . ---- .------r---~ L-__I..---l_ _ _ I I -0 :D XCVT (Masterl ~'''........ i[!) If This Is A Slave Partition .--__~--r-----../')I .. » r- If This Is A Single Partition Operation Turn Off The Two Partition Flag In The Master Partition .. o -0 m :D -I -< o '"" If This Is A MASTE R PARTITION, Find The Slave And ABEND It .. Figure 2-13 (1 Of 2) - Job Step Task STAE Routine OS/VS1 ABEND tD 3: Figure 2-13 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 The page free (unfix) routine, DPPIPFRE, is branched to unfix any pages fixed by the initialization routine. DPPISTAE 2 If external interrupts have been initialized at initialization time, the flags (XCVTSBOP) are reset. DPPISTAE If this is a single partition run, control is returned to ABEND with register 15 cleared to indicate no retry. DPPISTAE If this is a SLAVE partition in a two partition run, the MASTER partition's XCVT is found, and the two partition flag (XCVTF2PT) is turned off, and control returned to ABEND with register 15 zero to indicate no retry. DPPISTAE 3 4 5 If this is a MASTER partition in a two partition run, the SLAVE partition's job step task TCB is located, and the SLAVE job is ABENDed with a code 41. Control is then returned to ABEND with register 15 zero to indicate no retry. .o m Z en m o ~ » -t m ::D USER 41 DPPISTAE » r~ ::D o ~ m :D -t < o ." CJJ 3: Special Real Time Operating SyStem Task Management MonitOf" Routines ~ I Supervisor Call Routine I DPPTMON PATeN Monitor Subroutines 1 DPPTPSVCPATCH SVC f 2·T6 I 1 2-211 I DPTMONJ User Interface 2·17 DPTPMON2 HlL Entry 2·18 I 1 DPTMON6 OH/OP Interface 2·18.1 2-2J I I DPPTPWOE PURGEWO Call I DPPTWODl WODEl Call DPPTRSVC REPATCH SVC I I DPPTDSVC DPATCH SVC 1 J 0"."." Com~"'" I 2-241 2-251 I I I 2-2J I DPPTDlMP DlMP Command Processor I DPPTIMPS STAE Command Processor I 2-261 r- n m 2-271 Z CI) m 51 3: DPPTST AE Routine STAE Exit For DPPTPMON 2-28 C ~ -I m DPPTSMON System Monitor :D 2-201 I I J DPPTETXR End Of Task Exit 2.19 Routine J ); rI "'V ~ "'0 m ~ < o " Figure 2-14 (1 of 2) Special Real Time Operating System Task Management Overview LICENSED MATERIAL - PROPERTY OF IBM Task Management The Special Real Time Operating System's task management services are an extension of the OS/VSl tasks supervisor to make more efficient use of systems resources in a real time processing system. These additional services are provided by the Special Real Time Operating System through the use of SVC routines, monitor routines, operator commands, and service subroutines as shown in Figure 2-14. The PATCH monitor routine and the system monitor routine, DPPTPMON and DPPTSMON respectively, receive control from the Special Real Time Operating System initialization module, DPP!NIT, and form the heart of task management. DPPTSMON executes under the job step task and performs the services required by the real time system as a whole (i.e., create new subtasks, LOAD reentrant modules, etc.). DPPTPMON executes under each subtask created by DPPTSMON and interfaces with the user routines as required on a PATCH macro call. The relationship between the user program and the task management routines is shown in Figure 2-15. The task management routines provide most of the communication between partitions in a two-partition environment. This is done internally to each routine and does not affect the overall logic flow or the function of that routine. SVC/Service Routines User Program PATCH -- II - REPATCH POST _ - ... I -- I I DPPTPSVC ....... - I --- J -- DPPTSMON ,+ POST POST __ .... I DPATCH Service Subroutines Monitor Routines POST_ .... DPPTPMON -- DPPTWODL ....... DPPTDSVC I PURGEWO Figure 2-15. - I -.... I DPPTPWOE Task Management-User Program Relationships 2-43 ATTACHed By OPPTSMON (Figure 2-18) DPPTPMON Input ~ Output ocess TCB CD ........ TCBUSER .... Wait On TCBUSER For TCBX Address TCBX TCBX ... TCBXRSTB rigur~ m > r- Resource Table If No Resource Table Present Issue GETMAIN -y TCBXRSTB ~ BBytes 16 1 1 nm Z en m C s: 00 l> -t Issue STAE To Gain Control Whenever Task Abends • TCBX TCBXWQ '\;D""Vnu \\ ,1 l WOE l l 0 ~ l 1 _EX: ill l 1 1 QE DPPINIT Wait On ~~~~~CB For Firit l [ 0 t .... m I .......CAL~ 1 Tr"RYI' LAG2 Prooess WOE's On Cleanup Work Oueue DPTPMON6 OP/OH Interface 2.B1.' 1I ....- ~ .... WOE Processor l If No DPATCH FLAG SET Else And Not Held Else A ~\ WONEXT 2-'7 .. 10 V TCBXWa TCBXCUWO If No DPATCH Occurred -y"). Wait On TCBXECB For Next PATCH Or DPATCH ~181 Figure 2-16 (1 Of 4) - PATCH Monitor TCBX 1 ... I ::D ..... -< o ." 1 DP11'MONJ 1 TCBX ::D o "1:1 I@J Q "1:1 If TCBX Is A aBEVE Processor C":AI ~EXT WO£~ I If TCBUSER Posted By ... )I h ::D l> r- ~l!J WOE m To Figure 2-16 (3 Of 4) J~ CD 3: FiQurtt 2-" (2 of 4) Step Extended Description Messages and ABEND Codes POL Segment I The PATCH monitor is attached by DPPINIT during Special Real·Time Operating System initialization or by the system monitor DPPTSMON thereafter. The address of the TCBX is put into the TCBUSER field via POST by the mother task. DPPTPMON 2 It is checked if a resource table address is present in the TCBX and if not, a resource table plus work area are obtained through GETMAIN and the address stored into TCBXRSTB. DPPTPMON r- o m Z en 3 The STAE specifies DPPTSTAE as the exit routine. DPPTPMON m 4 If DPPINIT posted TCBUSER, this is an initial TCB on the FREE chain (TMCTFREE), and the PATCH monitor waits here on TCBXECB for the first PATCH. DPPTPMON »-I If TCBX is a queue processor (QP), then segment DPTPMON6 is used to select work from one of the queue holders associated with this QP. DPPTPMON 5 o 3: m :D » r"'0 6 If any WQEs are on the cleanup work queue TCBXCUWQ they are dechained, DPPSCLUP is called and the WQE-DELETE routine is invoked through a branch entry to delete the. WQE. Then the top WQE is dequeued from the TCBXWQ chain, it becomes the "current" WQE and its address is kept in TCBXCWQ. Each WQE is processed as. long as WQEs are present on the queue and no DPATCH TYPE = U (unconditional) is received. DPPTPMON 7 If no DPATCH occurred, indicating that the queue is empty, the PATCH monitor waits here for a next PATCH or DPATCH. DPPTPMON 8 If no DPATCH flag is set (TCBXFLG2) and not HELD (TCBFLG3), control goes back to step 5 for processing of the received PATCH. Otherwise t if a DPATCH was received, control goes to A. (Figure 2-16 (3 of 4». If task is being HELD, the PATCH monitor WAITs until released before processing additional work queues. DPPTPMON :D o"'0 m l:J -I < o-n O:J ~ DPPTPMON From Figure 2·16 (1 Of 4) Input Process Output TCBX TCBX WOE r\;tI~uwu ~ 0 IT! .... ) TMCT ~ TCBX TCBXNEXT ( ). DPTPMON3 TCBX TCBXNEXT \ ... If DPATCH wa Not Empty Process WOE OnDWO ~ ~ ............ , r o WOE Processor 2·17 rn LCB LCB LCBNEXT ~ 0 ""-/ ~ TCBXLCB m 2 en m TCBX TMCT Clean Up The TCBX; Delete All LCB's; Delete All WOE's; FREEWA AT - Type Areas; DECHAIN TCBX /'j TCBXNEXT o ... 3: ). ..... TCBX TCBXWa Active Chain 1l1li WOE WON EXT \ '}-Pl WOE 0 Llrr'! VYUUL ... ,. TCBX Modified Active Chain ... .... WOE Delete TCBX EJ 0 2·25 0 l> -I m :D l> rI "1:J jJ If DDS Specified, Then .... ~N_K ... ..... o"1:J nP~IIIP m DDS Cleanup jJ --". 2·78 rn TCBX TMCT TCBX 0 (7/ TCBXNEXT TMCTFREE EJ TMCT#FRE i...,--- ....> Oleck #FREE TCBX's; If Low Make TCBX Look 'INITIAL' CHAP TASK To ZERO PRTY; CHAIN TCBX To FREE CHAIN o ELSE FREEMAIN Resource Table I '~ SVC EXIT I TCBX TMCT (1 ... 0 ~~ 2·16 (1 Of 41 Retum To OSNS TCBX TMCTFHEE r+ I TCBXNEXT -< o " ~ TCBXNEXT To Figure I~ Figure 2-16 (3 Of 4) - PATCH Monitor -I ~ Figure 2-16 (4 of 4). Step Extended Description 1 If the DPATCH work queue TCBXDWQ is not empty, that WQE is dechained and its address is kept in TCBXCWQ. The WQE is processed like any other WQE. 2 The TCBX will then be cleaned up. DPPSCLUP is called to clean up DDS. Remaining WQEs are deleted by using the WQDL routine. AT-Type GETWA areas are freed using the special entry to FREEWA. Remaining LCBs are deleted. If there is a corresponding LCB on the T~~T-LCB chain, that LCB's use-count is decremented. If it goes to zero, the flags LCBFDEL and TMCTLCBD are set to cause DPPTSMON to delete the program. If the program was not reentrant, it is deleted here. Then the TCBX is dechained from its active independent or dependent task chain, TMCTAIND or TMCTADEP, respectively. Messages and ABEND 'Codes PDL Segment DPPTPMON DPP0161 DPTPMONI r- n m Z en m C 3: » -t m :JJ 3 A check is made for the number of TCBXs on the TMCTFREE chain. If it is low, the TCBX is further cleaned up t~ look "initial" (TCBXNAME, TCBXPARM, TCBXFLGs), the task is CHAP'ed down to zero priority, and the TCBX is chained to the FREE chain. Control now goes back to step 4 of Figure 2-16 (1 of 4), where the PATCH monitor will wait for a new "first" PATCH. DPTPMONI »r- " o :JJ " m :JJ 4 If the limit number of free TCBXs is already reached, the flag TCBXlTRM is set, and FREEMAIN of resource table plus work area is done. Then SVC EXIT is issued to terminate the task. DPPTPMON -t -< o -n aJ 3: CALL From DPPTPMON Fi.,re 2-16.(1 Of 4) Or Figure 2-16 (3 Of 4) DPTPMON3 Input TCBX TCBX-LCB LCB TCBXLCB ~ TCBxcwa ~ WOE r LCBEPNAM Output Procell ~ _~~ind The Program 1 m If Program NONREENTRANT load Program WOlCB r- ei m TMCT TMCT TMCTSMON TCBX TCBX ~ 1/ ) 0 ITCBXSMON TCBX Irn IfREENTRANT Program Is ~ Chain TCBX To TMCTSMON Chain Post System Monitor Wait On TCBXLECB TCBX D Z m (I) TMCTSMON I)IJI TMCTSECB TCBXSMON TCBX TCBX It TCaXSMON It o TCBXLECB 3: l> 0 m -t lJ Wait On TC8XLECB TMCTSECB Posted l> r I ~ ..') TCBX WOE fliJ ~ TCBXCWa :D IF Not 10 255 • Load Parameter -Transfer GETWA Area • Execute User's Program ... ....) WOlD J.WOPARAM Register 1 ..... CALL ... , -.. TCBX -. f=I (';IHI.LJ(';VI I~ TCBX-LCB ~ WOE TCBXLCB r! 1 I PROBl· TCBX I Resource Table rCBXRSTB ........1 I TI"'D'"'''' User's Program Return o"0 XCVT PROBl - LCa I l []} If DELETE Was Spec. And If PGM NON REENTRANT, Delete User's Program TCBX 1111 lCBEPNAM WalCB TCBXCWa ... ...). [!] Clean Up WaE FREEWA AP·Type Areas, Delete The WaE ......., .. !TCBXLC8 r---. TCBX-LC8 Chain /' Figu At 2·17 10f 2) - WOE Processor Return To Caller m :0 -t -< o " Figure 2·17 (2 of 2) Step Extended Description I If the pu~ge flag is set in the LCB pointed to by the current WQE, DPPTPMON waits for dynamic load module PURGE to complete. If the LCB is unresolved, a search is made to find the program on the TMCT-LCB chain. If found, the TCBX-LCB is pointed to the TMCT-LCB, the user count is incremented, and the EP address is copied. If not found on the chain, a BLDL is "issued to locate the program. 2 3 4 If the program is non-reentrant, it is LOADed and its EP address kept in the LCB. If it is a Queue Processor task build a duplicate LCB for this Q Proccessor Reentrant programs are task oriented and the CB for the QH is not. If the program is reentrant, flags LCBFLOAD and TCBXILCB are set, and the TCBX is chained to the TMCTSMON chain a Then the system monitor is POSTed (TMCTSECB) and the PATCH monitor waits on TCBXLECB. The address of the PROBL is stored into TCBXPARM. If ID is not 255, the address of TCBXDCVT is loaded into register I and the user's program is given control via BALR 14, 15. Messages and ABEND Codes PDl Segment DPPOl4I DPPOl5I DPTPMON3 r DPTPMON3 n m 2 en m DPTPMON3 o 3: »-f m :XJ DPTPMON4 :t> r -c DPTPMON4 :XJ o -c m 5 6 The user's program will return here. If the program is nonreusable or if it is reusable and DEL was specified, it is DELETEd. If the purge flag is set and an ECB address was supplied by DPPTDLMP. the ECB is POSTed. If any AP-type GETWA area is chained to TCBXOFWD. FREEWA is executed (via the branch entry of FREEWA.) Then the WQDL routine is invoked via branch entry to delete the WQE. :XJ DPTPMON5 -f -< o "T1 OJ ~ ~ (J'l o CALL From DPPPARM DPTPMON2 (Figure 2·139, 3 Of 10) Input ~ WOE 11L;Ij.l\.L;VYU lCB ~ I WOlCB WaF PATCH TCBXlCB TCBXWO TCBXCWO .> ~ 1 ~-;1 l'- - WONEXT " Wales ~ ~ 1\ WQPARAM IT] ... lCBFLAGS ~ TCBX Output PrOClSl lCB lCBEPNAM If PURGE FLAG SET Or If DELETE Was Spec. Set NZERO Return Code ~Ier E -- "..,! To TCBX IsA Oueue Processor TCBX ~ TCBXLCB ~_ TCBxwa I"'" TCBXCWO DPTPMON6 .... ~ ~ OP/OH Interface 2.18.1 walCB WOFREElN WaFREEAD ")I~f Next WOE ReQuests J The Same Program, FREEWA AP·Type Areas. Invoke WOE DELETE RTN. Get Next WOE, Load Parameters, Zero RETURN Code 0 ~ , + PROBl D ./ TCBX TCBXlCB TCBXWO TCBXCWO /1 ~ " WOE WONEXT WOlCB TCBX TCBXFlG2 lCB 0 ~ lCSEPNAM ( ~ WOE 0 walCB .0 ...") ... If Next WOE Requests Another Program, Set NZERO RETURN Code WOE I) WQPARAM :D m » r I -0 :D o "m :xl -I t.o -< .... v ~····I I User's ECB Posted ON TCBXECB TCBX Upon Return: Register 15 161 TCBXWa "- ) -v If NO DPATCH FLAG SET, ELSE Set NZERO RETURN Code Return To Caller Figure 2-18 (1 Of· 2) - PATCH Monitor· High level language Entry » -I RetumTo !catl« If No WOE On Chain. ~ Post U~r's ECB, WAIT 3: walCB I...... rn Z m Caller lCa lCBNEXT LCBEPNAM LCBEPNAM r n m o "----'" TCBXPARM lea en iI"" \ !- WOE WOE WOlCS __ I Return Code I o " Figure 2·18 (2 Of 2) Step Extended Description Messages and POL Segment ABEND Codes This part of the Patch Monitor is entered only from the high level language interface programs (DPPPARM for PL/I or DPPFPRM for FORTRAN). 1 If the purge flag is set or if DEL was specified, return to caller with a nonzero return code. DPTPMON2 r(') 2 3 If TCBX is a queue processor (QP) then segment DPTPMQN6 is used to select work from one of the queue holders associated with this ~P. DPTPMON2 A check is made if the next WQE requests the same program. If yes, the old WQE is cleaned up; AP-Type GETWA areas are freed and the old WQE deleted via branch entry to the WQDL Routine. Then the new WQE is scheduled, and the PROBL address loaded into TCBXPARM. If ID is not 255, the return code is set to zero and control returned to the caller. If ID is 255, no return is performed; but the routine continues to check the next WQE while WQEs are present on TCBXWQ and no DPATCH flag is set. DPrPMON2 If the next WQE requests a different program, the current control is passed back to the caller with a nonzero return code. 5 6 m Z (I) m o 3: l> m -4 ::D l> r""0 ::D o ""0 m DPTPMON2 ::D -4 < o If no WQE is on TCBXWQ, the user's ECB is posted to indicate that processing of this work queue is completed, the ECB address is cleared from the WQE, and the Patch Monitor waits on TCBXECB for a next PATCH or DPATCH. DPTPMON2 After TCBXECB is posted and if no DPATCH flag is set in TCBXFLG2, the routine continues processing with step 2. If a DPATCH occurred, the return code is set nonzero and control returns to the caller. DPl'PMON2 "OJ 3: CALL From OPPTPMON (Figure 2·16, 1 Of 9) And OPTPMON2 (Figure 2·18. 1Ft DPTPMON6 Input I TCBXOCT TCBXOADA TCBXCUWO ~ tr. I TCBXWO .... ~ WOE ~ m Find A WOE One One Of The Associated OH's Work Queue Chair (TCBXWO) And Move It To The OP's Work Oueue Chair. r I TCBX-OPl B A ~ -I Move WOE's on the OH's Oean-Up Chair (TCBXCUWO) To The QP's Clean-Up Chair. TCBXCUWO WOE WOE TCBXCUBWO IT] TCBX-OH2 TCBXCUMO TCBXQADR TCBX-OPl TCBX-OHl TCBX-OPI Output Process WOE WONEXT C I WOE 0 B WOB ~ D I I r- nm 2 m C'I) o 3: » -I m C :xl WOE ." » rI TCBX-OPl TCBXWO TCBXOADDR J :D A TCBX-OH2 TCBX-OP2 TCBXECB TC8X-QP3 l ')llIJlf This OP Has Not Selected A WOE From The OH That POSTed Him Or From The OH That It Selected The Previous WOE, The POST Another QP To See If Additional Work Can Be Performed. TCBXOCT o." TCBX-QP2 m ::D -I TCB£ECB -< o"TI OJ TCBXQAOR 3: TCBXQAOR Figure 2-18.1 (1 Of 2) - OP/OH Interface Return To Caller Figure 2-18.1 (2 Of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 The address of each associated QH TCBX is contained in the TCBX for that QP. Since a QH is not associated to an QS task the clean-up work queue for the WHs are moved to the TCBX for the QP. DPTMONG 2 The chain of QHs is searched looking for and available work queue (is a work queue on the work queue chain of a QH the QH is not HELD, and the QH is not sequential with another work queue currently being processed by another QP). DPTPMONG 3 I (") m Z (I) The chain of QPs associated with the QH that the work queue was selected from is searched looking for a available QP (Le. a dormant QP that is not HELD and has not been previously posted). m o 3: » -t m :D » I "'tJ :D o-0 m :D -t -< o "OJ 3: DPPTETXR From OSNSl Task Termination Input LOCKCBLKs SCVT • LOCKNEXT ~ LOCKNEXT II ~ 0 TCB ~ Process SCVT ... LOCKCBLKs T~ II -:> 1m ...."'> SCVTLKCB Output "> ... Release All Locks For This TCB 0 If r- !SCVTLKCB C') .. Register 1 / m Z en m C 3: l> ~ m TCB TCBUSER ::XJ » r- TCBX TCBX WOE TCBXWO TCBXCWA - WONEXT i--P' TCBXWO :, illIf Task ABENDED WOE WOE 0 I\w~ "'- .> ... TCBXCWO r-. WONEXT o I TCB)(C'lIwn ... WOE "m :0 -i < o on ..... 1m If NORMAL TERMINATION Free The TCBX l >10 Free CB·GET Storage ~ TCa .... " - I ::XJ rCBX Figure 2 19 (1 Of 2) 0 -0 ..-:> Write Message,Chain WOE To Clean Up Work Oueue. POST System MonitClr For A New TeB WOE f+ - End Of Task EXit Routme CL------ @] DET ACH The TCB That Abended Return To OSNS1 ~~D v-v-- Free Stor~ Figure 2-19 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment The End of Task Exit routine is specified when the PATCH monitor is attached by the Special Real Time Operating System initialization or the system monitor and it executes as an asynchronous exit routine of OS/VSl task termination. 1 2 DPPTETXR The SCVTLKCB chain is searched for any LOCKCBLK referring to the ABENDing TCB and if found, an UNLOCK is issued. If it is not a daughter of the job step task, ABEND with a code 64. USER 64 r- "enm Z DPPTETXR DPPOlOI DPPOllI DPPOl2I DPP013I DPPOl8I If the task ABENDed (TCBCMP nonzero), a message is issued. If flag TCBX1TRM is not set, the WQE is chained to the TCBXCUWQ cleanup work queue. The flags TCBX1TCB and TCBXlCHP are set, and the TCBX is chained to the system monitors request chain TMCTSMON. Then the system monitor is posted (TMCTSECB). m 0 3: » -t m :::D 3 If the task terminated normally (TCBX1TRM is set), the TCBX is freed. DPPTETXR 4 The ABENDing task's TCB is detached to remove it from the OS/VSl TCB chains and release its storage from fixed PQA. Then the routine returns to OS/VSl. DPPTETXR » r- " :D 0 ""0 m :D -t -< 0 -n aJ 3: I I I ! DPPTSMON from DPP .NIT (figure 2-9,9 Of 12) Via XCTL Input TMCT 1)If TCBX TCBX TCBX It TMCTSMON TCBXSMON TCBXSMON 1I 0 .. ~ ..') OJ .. Output PrDcess TCBX DECHAIN TCBX From CHAIN TCBXSMON It 0 r(") TMCT LeB TMCTLCBA D TMCTSMON ") TCBX TCBX TMCT f-4' TCBX1LCB ..') OfIf FLAG TCBXFLGl Set. (} lCBEPNAM ... lCBEPNAM Search TMCT-lCB CHAIN. If Not Found Build And CHAIN LCB. LOAD Program. POST TCBXLECB LCB TCBX I."" / ) LCB LCB • LCBNEXT ~ LCBNEXT TMCTLCBA LCB 1-'9" 0 7 LCBEPAD 11 rn -fcsXI=LG1 Tl;BXPR TCB ... If FLAG TCBXlTCB Of TCBXFLGl Set ATTACH PATCH Monitor, POST TCBUSER With TCBX ") ... L:>l~ti)l.t'tiIY rCBX ." ~ lJ ~ TCBXTCB m lJ -f -< o." TCB ~ TCBXTCG TCBXFLGl TCBUSER TeB 3: l> rI TCBXFLGl . TCBX o lJ LCBLCBA LCBEPAD TCBXLCB TCBXLECB en m !fm TCBX LCBEPNAM TCBXLCB m Z TMCT rn LCB LCBNEXT ~ TCBX ... .../ TCBUSER /' - TCBXECB to 3: I@] While TCBX's ON REO CHAIN TMCT ITMCTLCBA iTMCTFLGl • _CB LCBNEXT rP LCB -LCBNEXT I('RS:: LCB ~ I TMCT 0 .Il.roc TMCT ·-TMCTECB .. If FLAG TMCTLCBD Set,DECHAIN LCB. ~~~~TCc~rogram. /)m WAIT On TMCTSECB Figure 2·20 (1 Of 4) • System Monitor LCB LeB ")I@ ... ,.. ,...~ITMCTLCBA • LCBNEXT V- 0 Figure 2-20 (2 Of 4) Step Extended Description Messages and ABEND Codes PDL Segment The System Monitor is entered via XCTL from the Special Real Time Operating System initialization and executes under the job step task TCB in a never ending loop as long as the real time system is running. 1 2 3 4 5 The first TCBX is dechained from the TMCTSMON chain, the system monitors request chain, and the flag byte TCBXFLGl is inspected for the kind of service requested. If flag TCBXlLCB is set, the TMCT-LCB chain is searched for a program with the same name. If found, the TCBX-LCB is pointed to the TMCT-LCB, the EP address is copied, and the use count is updated. If not found, a new LCB is built from CB-GET storage and chained, the program is loaded, and the EP address stored in both LCBS. However, if CB-GET storage for a new LCB is not available, the program is treated nonreentrant, loaded and its EP address stored in the TCBX-LCB only. Then the waiting PATCH monitor is posted (TCBXLECB). DPPTSMON r- n DPPOl7I DPTSMONl m Z en m C 3: ....l>m ::0 l> r- If flag TCBXlTCB is set, a new patch monitor is attached with the specified priority, the TCB address is stored into the TCBX, and the TCBUSER field of the TCB is posted with the TCBX address. DPPTSMON If flag TCBXlCHP is set, the requesting task is CHAPed to the proper priority, and the waiting patch monitor is posted (TCBXECB). DPPTSMON While more TCBXs are chained to TMCTSMON, the system monitor continues to service these requests (step 1 above). DPPTSMON -0 ::D o " :D m .... < o -n ~ Figure 2-20 (3 Of 4) Messages and ABEND Codes PDL Segment Step Extended Description 6 If flag TMCTLCBD is set, the TMCT-LCB chain is searched for LCBs that are requesting a DELETE service (LCBFDEL). The LCBs are dechained, the programs deleted and the LCBs are freed. If any LCB had the purge flag set, DPPTDLMP is posted. DPPTSMON 7 After the system monitor has serviced all requests, he waits on TMCTSECB, and a POST for further service will pass control back to step 1. DPPTSMON r- n m Z m Cf) C ~ »-« m' JJ » r- LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank Figure 2~20 (4 of 4) 2..59 DPPTPSVC From PATCH Macro Call nput ~ SCVT SCVTP1LO SCVTP1HI SCVTP2LO SCVTP2HI Reg 0 PROSL PROBLNTH -.. ") ..") .- .... ) -'" ... TMCT IM~IAINU I--r1M'" . .> Validity Check Input Addresses • PROSL • SUPL • SUPECB • SUPTC8X • SUPFREEA If Invalid Set Return Code And Exit ... ') J;f IReturJ. Caller ill . It Task Name Specified Search For TCBX On Independent Task Chain C m ::D .. .- Cb P WOE ~. WOTCBX WOFLAGS TCSXLOL TCBXCQL 1-10 ... ) nur"~''''' .. .."') rn .. --,... PROBLNTH ·PROBID .. ':> YWUtl.QAU ''''DAr ... . Lca LCB ._. I rIU::D":AU 1-+ 0 LCBI'PNAM .......... . Build A waE l TCSXLCB ~ ~ "'>lCB~ If Task Has No LCB For The Requested Load Module Build An LCB And Chain It To TCBX -.. J LCBNEXT LCBFLAGS LCBEPNAM . PATCH SVC Routine A To Figure 2-21 (3 Of 4) rI "lJ ::D o m ::D -4 < o-n TCBX [!J LCBREQCT . (1 Of 4) Figure 221 IA/QF~EE~foI . "') ...') I(!} ". WOPTCS .. l> ." WOlD If No Task Specified Or If Not Found On Chain Get A TCBX ~ lCBNEXT m :i: l> .,.,. I - Z .. PROSL TCBXLCB m (I) -f ~-ut.J..:.~I~ TCBX rn Address Of Existing TCSX With The Specified Name TCSX TCBX II. - - Retum Code 2 . TCBX Invalid 12· PROSL Invalid 14 . SUPL Invalid 18 • Free = Invalid Mee l\l r Reg 15 SUPL SUPTASK SUPEP SUPPRTYN SUPFI AG SUPOL SUPPRTYV SUPECB SUPFREEL SUPFREEA SUPTCBX T""~' Output ... ill l...- PROBID PROBPARM \Reg1 Process f----- - Figure 2-21 (2 of 4). Step 1 Extended Description The Problem Parameter List (PROBL) and Supervisor Parameter List (SUPL) addresses passed to PATCH are checked, both must be nonzero. ECB. TCBX, and FREE addresses may be specified; if so,the specified addressees) are also checked. The addresses must be within the partition in a single partition environment or within either the MASTER or SLAVE partition in a two-partition environment. Messages and ABEND Codes POL Segment DPTPSVCl r If a task name was specified, the PATCH is for an independent task. The independent task chain (TMCTAIND) is searched for the name given., DPPTPSVC If no task name was specified (the PATCH is for a dependent task). or if a TCBX with the given name does not exist, a free TCBX is taken from the FREE chain (TMCTFREE) or if none is available, CB-GET storage is obtained and a new TCBX is built. Transfer GETWA area if required. DPTPSVC4 4 A work queue element (WQE) is built from CB-GET storage. DPTPSVC3 5 The TCBXLCB chain is searched for an LCB with the given EP name. If none i~ found, an LCB is built from CB-GET storage and chained to the TCBX. DPTPSVC3 2 3 n m 2 m en o 3: » -t m ~ » r rv en rv From Figure 2·21 DPPTPSVC (1 Of 4) Input Output Process TCBX TCBX LCB TCBXLCB ~ LCB Yf'[ IA1 I-L _ _ _-L_r... ..."') ~---__-../.... TCBXlCB illPoint WOE To LCB " And Chain WOE T9 TCBX As Requested 1 0 "I \ WOE WOE EJ 0 LeB ~ ~ TCBXWO WOE WOE \WOE 0 I J TCBXWO LeB LCB LCB WOE 0 WONEXT 1'1 r- WOlCB I _______L m Z en m TCBX rCBX I-=:-:-:--::--::-~ n _ _ _l...."''''' ill TCBXFLGl ~~~~-r--------'r----...--..\-'>/ ... If TCBX Was On Active Chain-POST DPPTPMON ..:> TCBXECB C 3: Posted ~ m »-r :Xl Active Chain TMCT 0 TMCTAIND TMCTSMON TMCT TCBX @] . ') """-Ii TCBXNEXT - , TCBX - ... Else - TCBX Was Built,Chain TCBX To DPPTSMON's Request Chain,POST DPPTSMON,Chain TCBX To Active Chain ~ Modified TMCTAIND ~Active Chain ~ I .\ , TMCTSMON ) Posted TMCTSECB TCBX 1 '0'" R.."re, 1 Figure 2-21 (3 Of 4) -PATCH SVC Routine J___ I RotumTo~ ... Register 1 Register 15 I I :Xl o m TCBX Address Return Code :Xl 'DO TC~MON ,\ TCBXSMON Load TCBX Address ." ........ I [1] I TCBXNEXT ." ~ ..... DPPTSMON's Request Chain Modified 0 TCBXNEXT "4 TCBX DPPTSMON's Request Chain TCBX r ~ I I - -f -< o'T1 Figure 2-21 (4 of 4). Messages and ABEND Codes PDL Segment Step Extended Description 1 Point the WQE to the LCB and chain the WQE to the TCBX as requested in the QPOS operand of PATCH. LAST - chain to the end of the TCBXWQ chain - chain at the top of the TCBXWQ chain. In this case, FIRST if the limit queue length is already reached, the bottom WQE is dechained and chained to the cleanup work queue TCBXCUWQ instead .. DPATCH - chain this WQE to TCBXDWQ (one WQE only can be chained to the DPATCH work queue). QPQS-DPATCH is invaluable for queue holders and queue processors. DPTPSVC3 If the TCBX was on the active chain (flag TCBXlCHP in TCBX is zero, for no CHAP is necessary in this case), the Patch monitor DPPTPMON is posted (TCBXECB). For PATCH is to queue holders the first inactive available queue processor for that queue holders is posted. DPTPSVC3 Otherwise the TCBX is chained to the system moni~or DPPTSMON's request chain (TMCTSMON - TCBXSMON), and DPPTSMON is posted (TMCTSECB). DPTPSVC4 Also, the TCBX is chained to the top of the proper active chain in the TMCT. TMCTAIND - if task name specified TMCTADEP - if no task name given DPPTPSVC r(") m 2 en m o 3: 2 3 » -f m ::D » I ." ::D o ." m ::D -f -< o." OJ 3: The DPATCH=W flag TCBX2DPW in the TCBX is set also in case it is a dependent task to stop processing in DPPTPMON upon completion of this work request. 4 The return code is loaded into register l~ and if it is less than or equal to 8, the TCBX address is loaded into register 1; otherwise, it is cleared. Then the routine returns to the caller. DPPTPSVC From DPATCH Macro Call DPPTDSVC ~ Input Register 0 Output Process , Register 1 I I DPATCH Type Code I I I PTNI Address Of TCBX Name Flags ..--- --v> OJ Validity Check Inputs If Invalid Register 15 Return Call ""..... 22 . Invalid PTN= 24 . Invalid Parameters r- Return To Caller n m TCBX TMCT TMCTAIND TCBX r. TCBX TCBX TCBXNEXT ~ 1+ TCBXNAME 0 I ... ill Find TCBX On v > .> 2 m ... Active C"ain And Set DPA TCH Flag In TCBX (J) -/ TrR'lt'J:lr.? o 3: l> -f m :xl TCBX » r- .. ') mlf DPATCH v .. ,;> TCBXTCB I Type = I ABTERM That Task With User ABEND Code 65 .... l [IJElse POST ~ ~ ..... "o m " :xl :xl TCBX TCBXECB Posted .... -< UI'I'I I'MU'i o ." Register 15 Set Return Code Figure 222 - (1 Of 2) - DPATCH SVC L Return To Caller Routine ..... ..... Code 4 ·DEPATCHed . W 8 -DEPATCHed . U 12 . No! Dormant 16 . Not Removed 20 . No TC8X Found 22 ·SLAVE PTN not active 24 ·Invalid ~V,g, ""'V' 28 ·QH or OP task and not TYPE I or A -s: OJ Figure 2-22 (2 of 2). Step 1 Extended Description Messages and ABEND Codes POL Segment ° The ~ontents of register and 1 are checked. If register 1 is zero, the DPATCH is for the issuing task itself, in this case the TCBUSER field is checked. It must be within partition boundaries. If register 1 is nonzero, its content is the address of a storage field with the TCBXNAME that is to be DPATCHed. The address must be within partition boundaries. Register must contain a valid TYPE code (0, 4, 8 or 12 corresponding to Type U, C, W, A, or I). Note: All type DPATCHs to queue holders are invalid and only DPATCH type A or I is valid for queue processors. DPTDSVCl If register 1 is nonzero, the ~fCTAIND active task chain is searched for a TCBX with the specified name. A return code is loaded into register 15 if it cannot be found. DPTDSVCl ° r (') m en Z m o » ;: -t m ::D » r The DPATCH - Flag corresponding to the DPATCH TYPE is set in the TCBX. If the same or another flag was already set, a return code in register 15 will indicate this. ." ::D 3 If DPATCH TYPE = I (i~uediate) was specified, the OS/VSl ABTERM routine is invoked through a branch entry to ABTERM that task with a USER ABEND code of 65. USER 65 DPPTDSVC o ." m ::D -f eo( 4 Otherwise DPPTPMON is posted (TCBXECB). The DPATCH SVC routine returns to the caller with a return code in register 15. DPPTDSVC o ." DP PTRSVC From REPATCH Maero Call ~ Input Register 0 Register 1 I REPATCH Type Code I r Process Output Register 15 -> REPl - ADDR ill I Validity O1eck Inputs If Invalid " I y Return Code 32 - Invalid Parameters > REPl , SUPTASK SUPEP SUPPRTYN SUPFLAG SUPOL SUPPRTYV SUPECB SUPFREEL SUPFREEA SUPTC8X REPl.PARM REPLPROB REPLAO ill ~ Reg 1 TMCT CAll TMCTREPL ~ REPlAD REPLCHN II s: » -t DPPTPSVC m :Il PATCH Routine 2·21 » ~ mitIssueTYPEFREEMAIN =PURGE -0 .. .:> To Process User's FREE =·Request :Il Free .... o"'0 Virtual Storage m :0 ~u.• REPL TMCT REPLAD REPL IA -t < User's REPL REPLAD REPlCHN rI ~ ~REPL REPl (") ."-....-, I .. m 2 (I) m o .. ..~ Usen Area r- If TYPE = EXEC Invoke PATCH SVC RTN ~ ~ Ir Return To Caller -> ... ICil Get REPl DECHAIN From TMCT - REPl CBFREE The REPl TMCTREPl ~ I\ REPLAD REPLCHN Figure 2-23 (1 Of 2) - REPATCH SVC Routane REPLAD Return To Caller REPl REPl' REPLAD REPLCHN ~ REPLAD REPLCHN o ." Figure 2-23 (2 of 2). Step 1 Extended Description Messages and ABEND Codes PDL Segment The contents of register 0 and 1 are checked. Register 0 must be 0 or 1, and register 1 must be a valid address of a REPL. Addresses are checked against partition boundaries of the own partition and if outside and two-partition operation boundaries also. If invalid, a return code of 32 is loaded into register 15, and the routine returns to the caller. DPPTRSVC If register 0 is zero (TYPE=EXEC), the input registers for the PATCH SVC routine are set up, and DPPTPSVC is invoked via branch entry. Any return code received upon return will be in turn passed to the caller of REPATCH. DPPTRSVC If register 0 is 1 (TYPE=PURGE) and a FREE= request was specified on the original PATCH, the FREEMAIN is issued. DPPTRSVC r ("') 2 3 4 The address of the Special Real Time Operating System - supplied REPL is obtained and the REPL is dechained from the TMCT - REPL chain and freed. The REPATCH SVC routine returns to the caller with a return code in register 15. m 2 en m C ~ » -I m :D » DPPTRSVC r o" :JJ " m :D -I < o ." DPPTPWQE From PURGEWa Macro Call ~ nput Register 1 A(PWOE) 1m ") PWOE PWOETASK PWOEEP PWOEECB PWOELNTH PWOEADDR PWOEPTN PWOEID Output Process Register 15 Validity Check Inputs • Task Name Address • EP Name Address • ECB Address • FREE Address If Invalid Set Return Code And Return .... ./ I 1~ Return To Caller 24-lnvalid PTN 2a-lnvalid Parameters !C~)( 1\,;1:SJl.l.WU I ..... DJl.UWU TCBX TMCT I I TMCTAfND TMCTADEP 1j TCBX TCBX D n=J ~ Locate TCBX Requested l ... 1m Remove Specified WO's From TCBX And Put It On The Cleanup Work Queue, TCBXCUWa V- "-..... l Code To X' 46' If ECB=Was Specified On PATCH [[if Set The 1L Free Address And Length If Specified On The PURGEWO - PU R GEWO Macro Call Routme I Return To Caller ... I I . I ./ .. ) WOE Z m C ~WOE » -f ~ D ") TCBX Set The POST Fi9ure 2-24 1 Of 2 ... Vo r o m 6 (I) 3: m :0 » r I -u :0 o woe v .... ... ) ,>{ ." m :0 wm:CBOD WOFREELN -t -< o ." Figure 2-24 (2 of 2). Step Extended Description 1 The PWQE address is passed in register 1. The task name address (PWQETASK), entry point name address (PWQEEP), ECB address (PWQEECB), FREE address (PWQEADDR), and the requested partition are validity checked to determine if the addresses are within the partition (or within either the MASTER or SLAVE partition in a two-partition environment). Messages and ABEND Codes PDl Segment DPPTPWQE r(") 2 3 4 The TMCT independent task chain (TMCTAIIID) and dependent task chain (TMCTADEP) are scanned to locate the specified TCBX. DPPTPWQE The EP name and ID are used to identify which work queue elements are to be removed and placed in the cleanup work queue. The work element may be on the current work queue chain (TCBXCWQ), the DEPATCH work queue chain (TCBXDWQ), or the active work queue chain (TCBXWQ). For queue holders the associated queue processors must be scanned for active work queues. DPPTPWQE The free address and length specified on the PURGEWQ are moved into the work queue element (WQFREEAD and WQFREELN) to be FREEMAINed when the work queue is detected. DPPTPWQE m Z (J) m o 3: ~ -f m JJ ~ r- "'0 JJ o ." m JJ -f -< o ." Dl 3: From WaDEL Call - DPPTPMON Figure 2·16 OPPTWQOL . Process npu Output l I REPL Reg 1 /woe Address 1 J WOE ...... LCe If WOE Was Pushed Out Of Oueue And If Repatch Option Was Specified Construct Repatch List (REPL) From CB·GET Storage ~ WaLCe I--P WOTCBX WOFPATCH TCeXNAME WOECBAD WOFREELN WOFREEAD TCBXLOL WOPARAM TCBXPRTY r rm LCBEPNAM ~ SUPTASK SUPEP SUPPRTYN SUPFLAG SUPOL SUPPRTYV SUPECB SUPFREEL SUPREEA SUPTCBX REPLPARM REPLPROB REPLAC REP LAD .. _ _ _~...L..._ _ _-L_-""--. .... ") ~ \ Else Proce$$ Free Request r- n m Z en m C ~ »-f m ::0 » r- WOE ... WOECBAD ... WOE § ... ... ~ ... I I ECB Was Specified, POST User's ECB Posted "') .. Jo. .... lIDDecrement Request I ~ LeB > .. D Count In LCB If Request Count Zero And If Delete Was Specified Free The LCe I[§J ~ Free ET Storage ['-/"'v--WOE Free The WOE I "- ...") D ~ Return To Caller Figure 2·25 (1 Of 2 . WOOL Call Routme User's ECB Free CB·GET Storage Lce LceREOCT rn ") If Addrm Of User's I 1 -U ::0 o"'0 m ::0 -I -< o-n Figure 2-25 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 If the WQE was pushed out of the queue (another PATCH with QPOS=FIRST was issued and the queue was full) and REPATCH option was specified (SUPFRPTH), a repatch list is constructed from CB-GET storage, and the parameters necessary for REPATCH are copied from TCBX, WQE, and LCB into the REPL. DPPTWQDL 2 Otherwise, if a FREE= request was specified at PATCH time. it is processed and a FREEl-lAIN SVC is issued to free the user's area. DPPTWQDL r n m Z (I) 3 If an ECB address was specified, the ECB is posted with the REPL address if step 1 above was executed; otherwise the completion code is obtained from the WQE. DPPTWQDL The request count in the LCB is decremented. If DELETE was specified and the module is reentrant, the use count in the corresponding LCB on the TMCT - LCB chain is also decremented. If it goes to zero, flags LCBFDEL and TMCTLCBD are set and DPPTSMON is posted. If DELETE was specified and the request count in the LCB is zero, the LCB is dechained and freed. DPPTWQDL m o 3: l> -t m 4 :IJ » r ." :IJ o." m 5 The WQE must be dechained already at entry to the WQDL routine and it is freed before the routine returns to the caller. DPPTWQDL :IJ -t -< o"T1 DPPTDLMP PATCHed By IMP As Result Of DlMP Comm~ Input TCBX Register 1 I r- PROBL TT .... TCBXOCVT TCBXRSTB TCBXPARM L 10 A(TIME) If "-y Process Output IILLCheck Time Specified .~ If Not OK A(NAME1) A(NAME2) mI,,~ ,..lJ 1 ;t' ,t' TIME MODULE NAME1 MODULE- LOCKCBLK Return To OSNSl ...'> ~ LOCK I DLMP Lock Is Set For OLMP To Serialize PURGE Requests r- nm Z m en m o Issue STIMER ~ ...... TMCT r'lt. TCBX r6E TCBXLCS ' . TcBXWa LCBNEXT WQNEXT "(~ LCB I r4 I s: » -t n n m LCB "- .> ~ "- ... > :0 ill Scan All TCBX - LCB CHAINS For The Specified Module And Set The Purge Flag LCBECSAD "> LCSFLAGS ... PURGE FLAG Set (X'tO') » rI -g :0 o"'CJ m :D -t < LCB TMCT TMCTLCBA V LCB LCBNEXT L..-- ~ .n L..-- .... > .... ~n TMCT - LCB CHAIN For The Specified Module And The PURGE FLAG .... "T1 ') set ilrRFLAGS [§] WAIT For Current Users To Finish Executing The Module Or For STIMER To Expire o ..... ECBLlST A{ECB-1) ..., ... / r PURGE FLAG Set (X'l0') ECS's ~ "EcBil r I 1 1 1 ECB's Waited ON Figure 2-26 (1 Of 4) - Dynamic Load Module Purge To Figure Z-26 (3 Of 4) Figure 2-26 (2 of 4). Step Extended Description Messages and ABEND Codes PDl Segment Dynamic Load Module Purge is entered as a result of 'a DLMP operator command through the input message processing interface. 1 A check is made if the specified time value exceeds the maximum allowed (20 minutes); and if yes,message DPP019 is issued. DPP019I DPPTDLMP 2 A LOCK is issued to serialize Load Module Purge requests and message DPP020 is issued. DPP020I DPPTDLMP r n m 2: (I) 3 4 A STIMER macro is i~sued with the specified time or a default of 2 seconds, if not specified. DPPTDLMP All TCBXs on both the independent and the dependent task chain are scanned for LCBs which reference the module names received in the purge request. If a match is found, the purge flag is set in the LCB, and if the LCB is referred to by the current WQE, an ECB is built and its address stored into the LCB. DP TDLMP 1 m o 3: » -I m :%J ,» r "tJ :%J 5 6 The TMCT-LCB chain is scanned for the module names received in the purge request. If a match is found, the purge flag is set in the LCB. DPPTDLMP The program waits on an ECB list for all current users of one of the modules to complete (DPPTPMON will POST the ECB) or for the STIMER issued in step 3 to expire. DPPTDLMP o"tJ m :%J -I < o ,-n OJ 3: :' r-D_P_P_T_D_L_M~P____ f_:...o;, ::- ln..;.p_ut_ _ _ _ _ _ _ _ _ .:..TC=.:B:.:.X.:-_~ ~____~ ;: L:: _~L~CB~·~__~ ' \ LCBNEXT . . ~_ _- ; TCBXLCB ___ Process _________ Output I~STIMER Expired Else TTIMER iCANCEL ~ LCa 2~ Module(s} Deleted ~~~:~~Elt:~N,...'E_D__...:L;:.;:C..:;.B..... .. IrnCause" ~------...L...J"....> Modules In PURGE To Be ~_ _ _---I._ _ _L.-.--lL.-._ _--.l"'~ .> ... Deleted By The Task Which Issued -v LCBEPAD From LCB And UnresolV'ed FLAG SET r- I LCBFLAGS J I LCBEPAD I C; m Z The LOAD (I) m C 1m WAIT For All I .~ ECBLlST AIECOI) ... DELETE's To Complete Ii ~ ECB's I ECB's Waited On ~ ... TMCT TMCTAIND TMCTADEP I'-..... TCBX All TCBX's And POST .. 1m Scan DPPTPMON If TCBX TCBX > .... 1\ TCBXPECB 1 \ TCBX ~----~ TCBXPECB ~:~~I~~ ... ....., ... :D o ""0 m -< I[[] I I~_ _ _- -a o ." TCBXPECB DLMP > r- ~ TCBX ~~~--~ LOCKCBLK m :D I TCBX TCBXPECB TCBXPECB > -4 _ _----;-...,...v"'> Figure 2-26 (3 Of 4) - Dynamic Load Module Purge ~~e ~NE~~E Return To OSNS 1 ~il '---------' Figure 2-26 (4 of 4). Step Extended Description 1 If the STIMER has expired issue an error message and give control to step 4 below; otherwise TTIMER CANCEL is issued. 2 The modules to be purged must be deleted by the same task that issued the LOAD. The program scans all TCBX-LCBs for both the purge flag set and loaded by DPPTPMON. For each task with this condition an IRB and ECB are built and the asynchronous delete routine DPTDLMP5 issues the DELETE, clears the purge flag, and posts the ECB. Also the TMCT-LCB ch'ain is scanned, and modules with the purge flag set are also flagged for delete, aqd DPPTSMON is posted to process the DELETE. 3 DPPTDLMP waits on an ECB list for all scheduled DELETE operations to complete. A message is issued to indicate successful execution. Messages· and ABEND Codes POL Segment DPP022I DPPTDLMP DPTDLMP2 r (') m Z en m o DPP023I DPPTDLMP 3: ~ -t m ::XJ ~ 4 5 Both the independent and the dependent task chain are then scanned for any DPPTPMON waiting on TCBXPECB. If waiting, TCBXPECB is posted so that DPPTPMON will resume execution. Messages are issued and UNLOCK is done, then the program returns to the caller. DPTDLMP3 r -0 ::XJ DPP0211 DPPTDLMP o -0 m ::XJ -t < o ." DPPTIMPS PATCHed By IMP As Result Of ST AE Operator Command Input Output Process Verify Option Specified. If Invalid Issue 24 And Exit DPP024 M~S5age Return To r- OSNSl [!] STAEBlK SCVT Verify load Module Names Specified. If Any Are Invalid Issue Message 25 For Each Invalid Name. I----'-------'-----..J', Scan For STAEBlK With This Name. If One Is Found, Reset Option To Option Specified On STAE Command, Else Build r--~-----.L----...r_.... New STAEBlK With Option Specified STAE Command And Chain Onto SCVTDCHN STAEBlK n m DPP025 Z (I) m 0 STAEBlK STAENEXT STAEABND STAEMAXD STAEDPNO STAElNAM STAENAME s: » -f m :rJ » r I '"V :rJ 0 '"V m :rJ -f -< 0 -n -i: OJ. Return To OSNSl Figure 2·27 (1 of 2) STAE Command Processor· DPPTIMPS Figure 2-27 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment The STAE command processor is entered as a result of a STAE operator command through the Input Message Processor (IMP) interface. 1 The valid options are DUMP, NODUMP, ONEDUMP, STEP, or OPTION. DPP024I DPPTIMPS 2 The load module name must be alphameric or one of the special characters $, #, or @. The first character must not be numeric. DPP025I DPPTIMPS 3 The STAEBLKs are chained in collating sequence. r (') DPPTIMPS m 2 C'I) m o 3: l> -t m ::u l> r "'U ::D o"'U m :0 -f < o ." CD :s: OS!VS1 Abend DPPTSTAE Input ~ TCB ~ Register 15 I TGBRBP TCBCMP ---------- f- ----- --+ RB RB J .... 1 XRBNM Output Process 1 I XRBNM 1 ~. IW _...J :1 If Abend Is A Step Abend Or User Abend Then Zero Register 15 And Return To Abend 0 RB Search For PRB Of Abending Module. V ~ I 1 Return To Abend TCBX LCB J ~ TCBXCWa l 1 wa "l A ~- I I WalGB LCBEPNAM I lCB v "' > STAEXBK 1 STAEXBK 1 1 STAEBLK 1. STAENAME :. STAEBLK I STAENAME l I ~1° 3: I l User Routine 1m Q m STAEBLK I ./l ~ v ") STAEMAX STAEOPNO Figure 2-28 (1 Of 2) - ST AE Exit Routine For Subtask Return To :D ~ o -n ii 3: TCB Suppress Dump If NOOUMP Option Or If ONEOUMP Option And Number Of Dumps Greater Than One. Force Job Step Abend If Option Is STEP. » "V I Or ~ rI :D .... Search For Dump Control Block (STAEBlK) For Thil Module Name. If Not Found Then Return To Abend. Z m en !4m STAEX BK I nm o RlTO Abend STAEBLK STAEABNO l ~ SCVT ~ Or Search For User Exit Routines For This Module Name. If Found Execute User Routine. t STABKNXT SCVTDCHN I Return To Abend 1m 1 Search For LCB Of Abending Module. If Not Found. Then Return To Abend. 1 SCV· SCVTUSRX 1m ~ ... J lCBEPNAM r- LCB I ,. l ./l L 1 TCBCMP I 1 Figure 2-28 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 The TCB request block chain (RB) is scanned to find the first PRB whose load module name is not DPPTPMON. This is to identify any routine that has been LINKed or SYNCHed to. DPPTSTAE 2 The work queue (WQE) load control block chain (LCB) is used to locate the entry point name of the module "given control from DPPTPMON. If it is not a Special Real Time Operating System task, control is returned to ABEND processing. DPPTSTAE 3 ,o m Z en m Using the PRB module nane (if found in step 1) or the LCB entry point nane from step 2 as the name of the ABEND module, the user STAE exit control block (STAESBR) chain is scanned to determine if a user exit routine was specified for that module. If so, the user exit routine, register 15 will contain zero if normal SRTOS STAE processing is to continue zer~ if normal SRTOS is a plus for value,if OS retry is requested and a negative four value to by pass normal SRTOS STAE processing and OS retry. C 3: » -f m ::0 » ,'"0 4 5 ::0 Using the PRB load module name (if found in step 1) or the LeB entry point name from step 2 as the name of the ABENDing module, the STAE control block (STAEBLK) chain is scanned to determine if any special processing has been requested for that module. If not, control is returned to ABEND processing. DPPTSTAE The option flags in the STAE control block (STAEABND) is used. to determine the processing requested on a previous STAE command. DPPTSTAE o '"0 m ::0 -f < o "OJ 3: PATCHed By IMP As A Result Of as Operator Command Input Output Process Internal Work Space Register 1 Move Input Parameters To Internal Work Space. P3 PATCH Probl Examine P1 And Build Mask Byte To Select TCBX's To Be Affected By Command. If Specific TCBX Name Specified, Save It. c: n m Z ID (I) m 0 L A (P2) L A (P3) Internal Work Space Examine P2 And Build Mask Byte To Modify Selected TCBX's. To Change Status. !::! l> -t m :J:J :; rI Examine P3, Must Contain Blanks Or 'PURGE'. ~ :J:J 0 ~ m :n P1 P2 P3 -t If Any Errors Detected, Output Error Message And Exit. < 0 .." CD ~ Return To Caller Figure 2-28.1 (1 Of 4) - DPPTQIMP 2-28.1 (3 Of 4) Figure 2-28.1 (2 Of 4). Messages and ABEND Codes POL Segment Step Extended Description I Standard save entry conventions are observed and space is GETMAINed for internal work space. DPPTQIMP 2 PI can contain QPnn ALLQP ALLQH ALL - DPPTQIMP name 3 P2 can contain SEQ NONSEQ HOLD REL NOPATCH PATCH STATUS XREF 4 5 any of the following: one specific queue processor to be affected all queue processors to be affected all queue holders to be affected all queue processors, queue hclders and independent tasks to be affected - one specific task or queue holder to be affected - r n m Z en m o any of the following: set selected TCBX(s) to sequential state set selected TCBX(s) to non sequential state do not allow work to be started from work queue of this TCBX release hold state do not accept PATCHes to selected TCBXs accept PATCHes to selected TCBXs report status of above conditions without change report status as above plus connections between queue holders and queue processors. P3 can be omitted or contain the characters 'PURGE'. thing else will be an error condition. DPPTQIMP m :XJ 'j; r -0 :XJ o -0 m :xJ -t < Any- Any errors detected processing PI, P2, or P3 will cause the remaining processing to be bypassed. The parameter that is in error is inserted into the message. 3: » -t DPPTQIMP o." OJ 3: DPP8641 DPPTQIMP 2-28.1 (1 Of 4) Input Process Output Internal Work Space Loop Through TCBX Chain And Modify Selected TCBX's And Save Data From Each For Message. Int~rnal Message Data Work Space r("') Loop Through Message Data That Was Saved. P3 If 'PURGE' Was Specified Purge Work For Selected TCBX's. Message Output Status Messages For Data Selected TCBX's. Messages 862 And 863 m Z tn m C 3: » ~ m :D ; rI "V :D o "V m :D ~ -< o'"T1 m s: Return To Caller Figure 2-28.1 (3 Of 4) - DPPTQIMP Figure 2-28.1 (4 Of 4). Step Extended Description I All TCBXs are examined to determine if they are to be affected, based on the mask byte and/or name. Those selected are modified if requested and a message data block in the internal work space built for each selected TCBX. 2 The data collected in the message data block(s) is formatted into message DPP862I. If XREF was specified, message DPP863I is output one or more times for each selected queue holder and queue processor. It contains the names of the TCBX(s) that are connected to the selected TCBX. Messages and ABEND Codes PDL Segment DPPXQIMP DPP8621 DPP863I DPPTQIMP r(") m 2 en m o ~ » -t m :D » r- LICENSED MATERIAL - PROPERTY OF IBM Time Management The Special Real Time Operating System time management services fall into two major categories. First, the Special Real Time Operating System time and date are maintained independently of the OS/VSl time and date. Second, the capability of issuing PATCHes on a cyclic-time interval is provided through the PTlME macro call. This is accomplished by two subtasks created during initialization by DPPITIMI and the PTIME SVC, DPPCTSVC. The time update routine, DPPCTlME, is responsible for updating the time and date in the Special Real Time Operating System data base array, DPPCTIMA, and for posting the PTIM monitor routine, DPPCPTIM, whenever one or more PATCHes are to be issued. The user communicates with the time management routine through a PTlME macro call. This is shown in Figure 2-29. At initialization, or at midnight, or whenever it is determined that the time maintained by the Special Real ~ime Operating System is not correct, a time management routine,DPPCALCF, is called to calculate a new correction factor to be added to the time-of-day clock value to obtain the corrected time. Another routine, DPPCUPCF. is called to update the correction factor. Serial use of the array, and this PTQE chain by the time management routines is via the use of LOCK requests specifying the resource name 'TIME'. PTIME ... .... I I I I I I I I I I Figure 2-29. 2-84 Data Areas DPPCTIMA SVC Routine User Program .. ...- 14---- C .A. Array <" Time Update Routine DPPCTSVC .....:> Tasks DPPCTIME PTOE --- ...... 'I Control Block .A. ....r ~ Post .,DPPCPTI M K===~ ,.. -- POST Time Management-User Program Relationship --.. -- PTIME Monitor Routine Special Real Time Operating System Time MlNgemlnt Monitor Routines 1 DPPITIMITime Initialization Routine Supervisor Call Routine I DPPCTSVC PrIME SVC Time Alteqtjon Routines OPPCALCF Calculate Correction 2-341 F.:tor 2-31 I 2·32 I I 2-35 I fI) Factor 2-40 J 2-36 r- n m Z m DPPCUPCF Update Correction OPCTSVC2ADD Option DPPCPrIM PriME Monitor Routine 2·33 2-39 OPCTSVCl RET Option DPPCTIME Time Update Routine J I C 3: ~ m I ::0 5> DPCTSVC3 MOD Option 2-37 I rI -V ::0 DPCTSVCA DEL Option 2-38 t I ~ :u m ~ o-n ii ~ Figure 2-30 (1 of 2) Special Real Time Operating System Time Management Overview N 00 0') DPPITIMI LINK From OPPINIT Figure 2-9 (9 Of 12) Input ~ DPPCTIMA fIT] 1-_ _ _ _ _-1-_ _ _ _-1-.1"--. ...., ./ ... Output P-. .. Locate And Initialize Time Array (DPPCTIMA) If Unable, ABEND Jobstep With User Code: '001' -Invalid TCBX '002' - Invalid SCVT or XCVT '003' - DPPCTIMA Not Defined SCVT > (r ;J rnCalculate Time Correction Factor If Time Of Day Cloc~ Not Operational ABENDJobstep With User Code '003' ... :;CVTTIME r- DP?CTIMA TIMEECB TIM~LOCK IIMt:I"KIY IIMt:~Ht:U TIMEUPD '-DPPCA.LCJ: ~ LINK • ",. Calculate t ' • Factor 2-39 .., 1m Update Time Correction Factor In DPPCTIMA, Set Time and Date ==>. TIMEHS TIMETOD IIMETOAY TIMEEBC IIMt:I:SUAY (; m Z en m C s: » -t m ::tJ ~ rI "'0 :0 ~ .. LINK ",. ..... DPPCUDCI: Update Correction Factor 2-40 ~ m :IJ -t -< 0 rm Establish PTIME Monitor Task . ATTACH . [[!] Establish Time Update Task ATTACH ..... Return To OPPINIT Figure 2·31 (1 of 2) Time Management Initialization· DPPITIMI .. DPPCPTIM " OJ PTIME Monitor Task 2-33 urn-IIMt: Time Update Task 2-32 s: Figure 2-31 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment I A GETARRAY macro call is used to obtain the address of the time array, DPPCTlMA. This address is stored into the SCVT. USER I USER 2 USER 4 DPPITIMI 2 Module DPPCALCF is entered via a LINK SVC to calculate a time correction factor. The condition code is tested after a "store clock" instruction to determine if the TOD clock is operational. USER 3 DPPITIMI r n m 2 m 0 3 Module DPPCUPCF is entered via a LINK SVC to update the time correction factor and set the current time in the time array. DPPITIMI CIJ 4 Module DPPCPTIM is attached to create the PTIME monitor task. DPPITIMI s: » -f 5 Module DPPCTIME is attached to create the time update task. DPPITIMI :D m » r -0 :D 0 -0 m :D -f -< 0 -n to s: DPPCTIME Input SCVT SCVTTIME r o m oPPCTIMA TIMECFAC TlMEINTl }--- -r I I L DPPCTIMA C s: ~ mUpdate Time In oaU Base Array oPPCTIMA mitError, There Has Been A Time· Recalculate Correctio m -» :%J ~ - - - r I -0 Factor :0 1 •••~ ..... Update Correction Factor 2-39 If Tnere Has Been A Time Error Or If Time Exceeds 24 Hours, Update Time Correction Factor o-0 m :D -4 -< m ~ - LINK @] POST oPf'CPTIM (EeS Is TIMEECB In DPPCTIMA) If There Are PTOE's Note: This Routine Will Not Complete. It Is In An Infinite Loop. Figure 2·32 (1 Of 2) • Time Management Time Update Routine Z en m f':\ \J - - Update Correction Factor 2-40 o-n Figure 2-32 (2 of 2). Step 1 ,.- 2 3 4 Messages and Extended Description A STlMER WAIT all processing of the program ed in the time ABEND Codes PDL Segment is issued specifying the SYSGENed time interval. After has been completed, DPPCTlME branches back to the top and reissues the STlMER. The time interval is containarray, DPPCTIMA, which was defined during SYSG~N_. DPPCTIME DPPCTIME The OS/VSl time-of-day c1ock-varue-and the time correction value are used to calculate the current time of day. r If the Special Real Time Operating System time is less than or greater than the expected time by a predefined tolerance value, DPPCTIME links to DPPCALCF to recalculate the correction factor. Message 38 is issued to inform the user of this condition. If the Special Real Time Operating Sys tern time is greater than 24 hours a 24-hour value is subtracted from the correction value, and DPPCTlME - links to DPPCUPCF to update the Special Real Time Operating System time array DPPCTIMA with the new correction factor, time, and date. t DPP0381 DPCTIME2 The TIMEECB ECB is posted. Module DPPCPTIM WAITs on this ECB. posted t DPPCPTIM processes all PTQEs in the time interval. When m Z (I) m C ~ DPCTIMEI l> -f m ::JJ l> r ~ If the Special Real Time Operating System time was found to be in error in step 3, DPPCTIME LINKs to DPPCUPCF to update the Special Real Time Operating System time array with the new correction factor. time, and date. 5 o ::JJ o ~ m :D -f DPPCTIME -< o " DPPCPTIM ATTACH From DPPITIMI Figure 2-31 (1 Of 2) Process Input Output SCVT A SCVTTOET SCVTTIME Establish A Loop To Be Activated By A POST From Either DPPCTSVC Or DPPCTIME. eou • WAIT ECBLlST S B A SCVT DPPCTIMA --.-- TIMEECB2 I PTOE I I r- n m If TIMEECB2 Has Been POSTed By DPPCTSVC, Process All PTOe's Marked To Be Deleted (j.e., Remove The PTOe From The PTOe .1 I o 3: I ~ I L __________ L __ _ Z m (I) PToe I I m :xJ ---' » rI SCVT SCVTTOET SCVTTIME ""0 :xJ DPPCTIMA --.-- TIMEECB I I PToe SCVT If TIMEECB Has Been POSTed By DPPCTIME, PrOCl$SAIf PTOE's That Have expired During This Time Interval BV PATCHing The Specified User Routine. :xJ ~ o." I I CD I 3: I 1 L __________ ...lI _ _ _ Q m I _--1 PATCH Note: This Rout.ine Will Not Complete_ It Is In An Infinite Loop. Figure 2-33 (1 Of 2) - Time Management PTIME Monitor Routine User Routine \9 A Figure 2-33 (2 of 2). , - - - . . - - - r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - , - - - ---------,-------, Messages and Step Extended Description ABEND Codes POL Segment I DPPCPTIM waits on an ECBLIST (TIMEECB & TIMEECB2). After all processing has been completed, DPPCPTIM branches back to the top of the program and reissues the WAIT. DPPCPTIM 2 Bit 7 of the PTQEFLGI is used to determine if the PTQE is to be deleted. A DPATCH is issued if the user had requested it. The PATCH ECB is posted with an X'4F' if the user had supplied an ECB. The problem parameter list (if any) is then freed. The PTQE is removed from the PTQE chain and the CBGET core is freed. DPPCPTIM 3 All PTQEs with a time of next PATCH value (PTQETIME) less than the current Special Real Time Operating System time plus the SYSGENed time interval are processed. That is, a PATCH is issued specifying the TASK as defined in the PTIME macro. If this is the last PATCH requested or if the PATCH return code is greater than 8, a DPATCH is issued if the user had requested it. The PATCH ECB is posted with an X'4F' if the user had supplied an ECB. The problem parameter list (if any) is then freed. The PTQE is removed from the PTQE chain and the CBGET core is freed. If the PATCH return code is greater than 8, an error message is issued. r- n m Z en m C DPP06II DPPCPTIM 3: » .... m :J) » r- ." :IJ o "V m :J) .... < o-n OJ ~ N - cO DPPCTSVC Input PTIME SVC Macro Call Output Reg 0 Reg 0 DPCTSVC1 ill If 'Ret' Option, Then Calculate Current Time Option Flags: 0= Ret 4 ~ Add 8=Mod 12 z Del .LCAl..L ... """ ... ":.> 'Ret' Option Routine 2·35 Current TIme ~ r '--~ " ') r-rv" ... Reg 1 n A(OPPCTIMA) en m Z m 0 Reg 1 A(PTIMEL) If Not 'Ret' Option 3: rn OPCTSVC2 If 'Add' Option, Then Build PTOE l..& ~ CALL. . 'Add' Option Routine 2-36 @] If 'MO~' Option, Then Modify Existing PIOE mIf 'DEL' Option, Then Delete Existing PTOE CALL .... """ . 'Mod'Option Routine 2·37 ~ SCVT r-~ m ::0 t:, PTQENEXT Ut"\,;I:SVIA l> r SCvnOET I v?- "V PIOE L ... "V m ::0 -t -< 0 .. CALL ... .. ::0 0 'Del' Option Routine 2·38 -3: ." aJ Reg 15 Set Return Code In r------......L-----'-----r-...""'Register 15 "./ Retum To Caller F!9Ure 2-34 (1 Of 2) - Time Mangement PTIME SVC !Return Code o = Successful 4 = Invalid Interval 8 = PTOE Not Found 12= Task Or EP Name Invalid 16= No CBGET Core Figure 2-34 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes I Call subroutine DPCTSVci to calculate current time. DPPCTSVC 2 Call subroutine DPCTSVC2 to build a new PTQE. DPPCTSVC 3 Call subroutine DPCTSVC3 to modify an existing PTQE. DPPCTSVC 4 Call subroutine DPCTSVC4 to delete an existing PTQE. DPPCTSVC ,... n m 2 en m C 3: l> -t m ::D l> ,... ~ ::D o ~ m ::D -t -< o." OJ 3: DPCTSVC1 Call From DPPCTSVC (Fi!JJre 2-34) npu Output Process ~ Req 0 Current Time DPPCTIMA TIMECFAC TIMEJDAY m } .... v > Calculate Current Time r- n m ';> Z v Reg 1 en m C Address Of DPPCTIMA 3: ~ m ::1J » rI ." ::1J ~ m ::0 -t < o -n F19ure 235 - (1 Of 2) - Time Management RET " Option II Return To Caller Figure 2-35 (2 of 2). Step Extended Description 1 On entry to DPPCTSVC, general purpose register 1 contains 0 to indicate a RET PTIME option request. The Special Real Time Operation System correction factor is subtracted from the OS TOD clock value to obtain the current Special Real Time Operation System time. Messages and POL Segment ABEND Codes DPCTSVCl r- n m 2 (I) m o 3:. » -t m ::IJ » r- " o '"0 :J:J m ::IJ -t -< o -n g, 3: Call From OPPCTSVC (Figure 2-34) Process Output PTQE PTQETIME PTQEINVL PTQECNT PTQEFLGl PTQEFLG2 PTQETASK PTQEPREF PTQEEP PTQEFLAG PTQEQL PTQEPRTY PTQEECB PTQEFREL PTQEFREA PTQETCBX PTQEPRBL PTQEQRGS t--.------ ~ lill ~--L-..J':>i ....---,--........./ Obtain CBGET Storage And Initialize PTQE PTIMEL PTIMSFLG PTIMSTRT PTIMIFLG PTIMINTL PTIMEFLG PTIMSTOP PTIMPTCH PTIMPARM v SUPL r- o m Z en m C 3: ~ m :D » r- SUPTASK SUPEP SUPPRTIN SUPFLAG I -a Add The PTQE To PTQE Chain Z PROBL PROBID :D o -a SCVT I PTQENEXT SCVTIQET m· ::D ~ r I 1 ~ New PTQE Return PTQEID Reg 1 PTQEID Figure 2-36 (1 Of 2) - Time Management "ADD" Option Retum To Caller -< PTQE 1 o ." Figure 2-36 (2 of 2). Step 1 Extended Description On entry to DPPCTSVC, general purpose register 0 contains 4 to indicate an ADD PTIME option request, and register 1 contains the address of the PTIME input parameter list, PTIMEL. Messages and PD L Segment ABEND Codes DPCTSVC2 If the PROBL length is less than 8, it is saved in the PTQE. r- The SYSGENed time interval is the minimum acceptable value for the start, stop, or interval times. The user is informed of this condition through a return code in register 15. (See Figure 2-34.) If neither a stop time nor a count value is specified, the PTIME is assumed to be infinite. (") m Z en m C ~ :t> 2 3. The newly created PTQE is added to a call. This PTQE chain is ordered in the value in the PTQETIME field. If then the storage address of the PTQE chain of PTQEs via a CHAIN macro ascending sequence according to a PTQE ID was not specified, is used for the PTQE ID. The PTQE ID is returned to the caller in register 1. DPCTSVC2 -f m :IJ :t> r- Call From DPPCTSVC (Figure 2-34) DPCTSVC3 Input Output Process ~ SCVT SCVTTIME SCVTTOET I .... PTOE • PTOENEXT PTOETASK PTOEEP .. y PTOE Locate The Requested r- nm And Remove From """ PTOE PTOE Chain PTOENEXT PTOETASK PTOEEP - PTOE m ... ... ~ ~ Update the PTOE Z en rI .... K '" m C PTOE ~ 3: ~ -t I" ut: 1M PTOEINVl PTOECNT m PTQEFLG1 PTIMEL PTIMSFLG PTIMSTRT PTIMIFLG PTIMINTL PTIMEFLG PTIMSTOP PTIMPTCH PTIMPARM :D iUt:I'AHM PTOEFLG2 ~ I'IUt:I"I1t:t r I PTQEFLAG -g Ut I~" PTQEEP J1- SUPL SUPTASK SUPRTYN SUPFLAG l:J PTQEQL o -g I"IUt:I'HIY m PTQEECB PROBL I PROBIO ~ lucrrH:L. I ucr- II:I-'< o ." PTnS:PRRI K.... IT] < I" Ut:I\';!:iJl. .. _ IUt: ,,~ Replace The PTOE On The PTOE .JI' Chain SCVT "')I I SCVTTOET r .~ I Figure 2-31 (1 Of 2) - Time Management "MOD" Option Return To Caller PTQE PTQENEXT PTQE I I Figure 2-37 (2 of 2). Step I Extended Description On entry to DPPCTSVC, general purpose register a contains 8 to indicate a MOD PTIME option request, and register I contains the address of the PTIME input parameter list PTIMEL. Messages and ABEND Codes POL Segment DPCTSVC3 The PTQE chain is searched in order to locate the correct PTQE (or PTQEs). Either the task name and/or entry point must have been specified in the PTIME maeyo. All PTQEs containing the specified task name, and/or entry point name, and/or ID are modified. If a PTQEID is not specified. If a PTQEID is supplied then only that PTQE is modified. DPCTSVC3 o 2 The PTQEs are rebuilt from this information contained in the PTIMEL. DPCTSVC3 3 The update PTQEs are added to a chain of PTQEs via a CHAIN macro call. l> -t m r- n m 2 (I) m 3: :D l> r ." ::D o ." m :D -t < o 'TI CD 3: -oo ~ CALL From DPPCTSVC DPCTSVC4 (Figure 2-34) Input Output ~ SCVT SCVT ... SCVTTIME SCVTTOET 1" PTOE PTOENEXT PTOETASK PTOEEP 1m ..") Locate Requested And Set A Delete Flag In Each .. ':> PTCE{s) /r '( PTOE (; m PTOE ~ PTOENEXT PTOETASK PTOEEP .~ DPPCTIMA ... TIMEECB2 \ rm "> PTOENEXT PTOEFLG1 DPPCTIMA ~ > . POST DPPCPTIM ,... SCVTTIME SCVTTOET TIMEECB2 PTOE V PTOENEXT PTOEFLG1 Z en m C s: »-t m :D » ,... I "1:J :D o"1:J m :D -t -< o'TI a:J 3: Fi 9ure 2-38 (1 Of 2) • Time Mana 9ement Return To Caller Figure 2-38 (2 of 2). Step 1 Extended Description On entry to DPPCTSVC, general purpose register 0 contains 12 to indicate a DEL PTIME option request, and register 1 contains the address of the PTIME input parameter list PTIMEL. Messages and ABEND Codes PDL Segment DPCTSVC4 The PTQE chain is searched in order to locate the correct PTQE (or PTQEs). Either the task name and/or entry point must have been specified in the PTIME macro. All PTQEs containing the specified task name, and/or entry point name, and/or ID are modified (i.e., bit 7 of the PTQEFLGI is turned on to indicate that this PTQE is to be deleted), if a PTQE IO is not specified. IF a PTQE IO is supplied then only that PTQE is modified. r- n m Z en m o OPCTSVC4 2 The TIMEECB ECB is posted. ~lodu1e OPPCPTIM waits on this ECB. When posted, OPPCPTIM removes all PTQEs with bit 7 of the PTQEFLG1 set to one. 3: » -t m :0 »' ro" :0 "m :0 -f -< o " DPPCALCF LINK From DPPITIMI (Figure 2·31) or _------~~~-------D-PPCTIME (Figure Output OJ Calculate External Time. r- r; m Z (I) m rn c Calculate SY$tcm Real Time. 3: » -t m :D » r rn Calculate Correction Factor. I ." ::D 0 ." m :D -t < 0 -n OJ 3: Return To Caller Figure 2-39 (1 Of 2) - Time Management· Calculate Correction Factor Figure 2-39 (2 of 2). Step 1 Extended Description Register 1 contains the address of a 3-word parameter area. The time and date obtained from the external time source is stored in CALTIME and CALDATE, respectively. The time is binary in 10 millisecond units. The date is a Julian date of the form "OOYYDDDF" where YY is the last two digits of the year and DDD is the day of the year. NOTE: 2 Messages and ABEND Codes POL Segment DPCALCFl r- The default external time source is the standard as time routine. Segment DPCALCFl may be replaced by a user written interface program to support another time source. C') m en m 2 DPPCALCF A PTIME macro call with the RET option is used to obtain the current time. C 3: » -f m 3 The time is subtracted from the time provided by the external time source to provide an algebraic sum to be added to the current correction factor. DPPCALCF JJ » r-0 JJ o-0 m :D -f -< o"T1 I DPPCUPCF LINK From DPPITIMI (Figure 2-31) Or DPPCTIME (Figure 2-32) nput process ~ Output DPPCTIMA Parameter Area ... . ") OJUpdate Time . Correction A(XCVTl ) ... r n m TIMECFAL; Z m en CALDSECT 1mUpdate Time Of Day C 3: .-'l K.... . "') »-f OPPCl "IMA m :D j; SCVT /~ r I OPPCTIMA rn ~L;VIIIME Update Date SCVllUt:1 .... ~ "'0 OPPCTIMA .... """ :D o"U TIMEJDAY m IIMt:~UAY :D -f TIMEMDAY PTOE t"IUt:Nt:)1.I V~ -< o -n PTOE t'lUt:Nt:XI ... ill ") .. -..., ;:: Update PTOEs ~ .. :> Figure 2-40 (1 Of 2) - Time Management - Update Correction Factor Routine SL;VTlUt:T V~ PTOE t"IUt:Nt:XT I'TOENEXI PTOEINVL PTOEINVL PTOECNT PTOECNT t"IUt:IIMt: Return To SCVT Figure 2-40 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 Register 1 contains the address of a 3-word parameter area. The CALTIME field contains an algebraic sum to be added to the current correction factor. DPPCUPCF DPCUPCFl 2 The current time is updated based on the new correction factor. DPCUPCF2 3 The date stored in the CALDATE field is stored into the time array as the current date. DPCUPCF3 4 If the time is adjusted backward, then the time and count values in the PTQEs are reset (back to the original start time if necessary). If the time is adjusted forward, then it is assumed that the intervening time intervals were skipped. r- n m Z DPP039I DPCUPCF4 en m o 3: »-I m :D NOTE: Message 39 is issued to inform the user that the time correction factor has been updated. » r~ :J:J o ~ m :D -I < o." to 3: LICENSED MATERIAL-PROPERTY OF IBM Data Base Management The Special Real Time Operating System data base is designed to fulfill the needs of data storage and access of a realtime operating sys tem. The Special Real Time Operating System data base subroutines provide the user with an interface to the information contained in the data base. Through the use of these subroutines, datal may be retrieved from or replaced in the data base. In addition, sections of the data base may be copied to a direct access device to provide a historical log. During a normal start, i.e., when the job is initially started through standard OS/VS Job Control statements with the EXEC card specifying PGM=DPPINIT, the data base initialization programs will read in the initial data for all VS resident arrays that specified "INIT=YES" on the ARRAY macro in the offline utility phase. Those VS arrays for which "INIT=YES" was not specified have VS storage space allocated, but no data is moved into the space. During a refresh start, i.e. t when the job is reinitialized from a restart data set, or during a normal start when the SYSINIT input stream does not contain a "DBREF NO" control statement, the data base initialization program will refresh all VS resident arrays that specified "REINIT=YES" and that requested logging in the offline utility phase with the last logged copy 'of that array. The log arrays are initialized to resume logging with the last logged copy of each loggable VS resident array. The Data Base Initialization program, DPPIDBAS, is responsible for the initial load of the VS resident data base, building the data base control blocks, and loading the data base subroutines (DPPDBLOK (GETBLOCK/PUTBLOCK), DPPDITEM (GETITEM/PUTITEM), and DPPDARAY (GETARRAY /PUTARRAY») • These subroutines are independent with little or no communication with each ocher and provide the user interface with the data contained in the data base as shown in Figure 2-41. The Data Base Logging Initialization program, DPPILOGN, is responsible for loading the logging subroutines (DPPDGETL (GETLOG), DPPDPUTL (PUTLOG), and npPDUMPL (DUMPLOG), initiating time-driven logging (DPPDFREQ), and re~ freshing user-specified VS resident arrays (DPPDUPDL). The three logging subroutines are also independent of each other but use GETBLOCK, PUTBLOCK, etc. to actually retrieve the requested data as shown in Figure 2-42. Data base is the only functional area that requires special routines used primarily for communications between partitions in a two-partition environment. Since the OS/VSl I/O control blocks used to read snd write data from the DA resident data base exist only in the MASTER partition, any data base request must be executed by a task in the MASTER partition. This is accomplished by a SLAVE partition interface routine, DPPDSUB2, which receives control in the SLAVE partition as the result of a user macro call (i.e., GET BLOCK , PUTLOG, etc.) DPPDSUB2 PATCHes a MASTER partition interface routine, DPPDBSIF, in the MASTER partition. DPPDBSIF then b~anches to the appropriate subroutine (i.e., DPPDBLOK, DPPDPUTL, etc.) ~to perform the requested service as shown in Figure 2-43. 2·106 LICENSED MATERIAL-PROPERTY OF IBM Data Base Subroutines User Program I I 1.- I DPPDITEM 1- I I _1 -I -I ~I I I GETITEM PUTITEM 1- _I -. Figure 2-41. - .. -- I -1 DPPDGETL • "- - VS Resident Blocked Array or ~ --- -1 I . DPPDPUTL I ---- ~ I I Figure 2-42. I -. I I • I I I I VS Resident Non Blocked Array -- I 1 Data Base Subroutine ....- DPPDUMPL -- I I Data Base I DPPDBLOK (GETBLOCK) DPPDBLOK (PUTBLOCK) I I .. J DUMPLOG DA Array I Data Base Logging Subroutine I --- - Data Base Subroutines I PUT LOG Vs Resident Array <: - ::::- -- II -. User Program GET LOG -- I DPPDARAY Data Base -' ---. I -I I 1__ _ '- I _I I I1 Composite Items Data Set I DPPDBLOK I- GETARRAY PUTARRAY -- ~ I I GETBLOCK PUTBLOCK I<: - DPPDBLOK (GETBLOCK) J_ --- --- I I __ ~ - DA Array ............ - -""" l- or I. .. G -- I I ~ I - 1- I . Array Data Base Logging Subroutines 2-107 LICENSED MATERIAL-PROPERTY OF IBM User Routine Slave Partition ~ DPPDSUB2 I I PATCH __ • I Data Base Macro Call (i.e., GETBLOCK, PUTLOG, etc.) Data Base Subroutine Master Partition -- DPPDBSIF --- Data Base Subroutine (i.e., DPPDBLOK, . DPPDPUTL, etc.) -~ ~ r--+ I DA Array .......... I or I -- Data Base ~ I -.l Array I I I ~--------------~~-------------/I~~-------------------,,~-----------------------) SLAVE Figure 2-43. 2-108 MASTER Data Base Two Partition Operation Special Real Time Operating System Data Base -n r- Initialization m Z en m DPPILOGN Data Base Logging Initialization 246 OPPOBSIF Master Interf.c:e i: ~ OPPOUMPL OUMPLOG Routine OPPOUPOL - Refresh Array 2·54 OPPOFREQ Time Driven Logging 2·55 CI -4 rn ::D - :,.... - CD ~ -.& o CO Figure 2-44 . Special Real Time Operating System Data Base Overview DPPIDBAS o LINK From DPPINIT (F;,"", 2.9, 9"Of~ Input Output Process SCVT If Master Partition Initialization Data Base Initialization m ... ... " m ... SCVTALOC Verify Control Blocks If Invalid, Issue ABEND Read Data Base Control Blocks Into Storage If Invalid Issue ABEND ~ DBALTPRI nR41 T?Nn ... - V DBALTSEC nDAITlra rom DBALTDD { ......... DBLOGCB DBDADD ... .. o ) 3: SCVT Irn Build Page Boundary Table Z en m .... 5CVJAt'tsl v SCVTALOC ") ... DBALTPRI DBALT2ND DBPBT V1( ' UDI"D NAM DBPBTALT -'= DBALTSEC V DBALTPaT :r> -I m ::IJ ~ rI "'0 :lJ 1'-.._/ r-..._ ........ ... DBINIT v 1---_...... ) rrn Read In Initial Data For VS Resident Arrays And OPEN DA Resident Arrays! ~'~I~~~~lid DCB, - ..... ) -Vj ( ... ... LOAD The Data Base Access Routines, DPPDBLOK, DPPDITEM, And oPPDARA Y Else, If Slave Partition Initialization LOAD The Slave Partition Interface Routine DPPDSUB2 naAI TPDI .... ...) ·DBALTDD DBALTDTA :)(.;VIl>1:11 -< o SCVTPUTB Ut't'UI1I:M ~ Pl m -I oPPoARAY SCVT SCVTGETA SCVTPUTA o "'0 ::D DBooDCB ~VI\.1l:lts Figure 2-45 (1 Of 2) - Data Base Initialization V DBoAoo SCVTPUTI Return To VS Array n••n.,n. " CJl ~ Figure 2-45 (2 Of 2) Step Extended Description Messages and ABEND Codes PDL Segment 1 If there is an invalid XCVT, SCVT, or TCBX, job step. USER 10 USER 11 2 The partitioned data set referenced through the DBINIT DD card contains the four primary data base control blocks (the Primary Array Locator Table, the Secondary Array Locator Table, the Data Base Logging Control Block, and the Data Base DD name table). These were built by the offline data base utility program DPPXDBIN. If there is not an @INIT member, ABEND job step. If unable to locate log array, ABEND job step. USER 13 USER 54 DPPIDBAS DPIDBASI r (') m Z en m C 3: NOTE: 3 l> -of m The DBALTPRI and DBALTSEC are read into supervisor storage, and DBLOGCB and DBDADD are read into user storage. :D The DBPBT contains the name of the last array in each page of the DBALTSEC. This will allow the data access routines to locate the requested array with a minimum number of page faults to the DBALTSEC. DPIDBAS2 l> r ." :D 4 The data £or VS resident arrays is read into storage from the partitioned data set referenced through the DBINIT DD card. All data sets containing the direct access resident arrays are opened. If unable to open, ABEND job step. USER 12 DPIDBAS3 o ." m :D -of < o." O:J 3: ....~.... .... DPPILOGN Input LINK From DPPINIT (FIgure 29 9 Of 12) Process ~ Output DPPDGETL SCVT XCVT }I.~~-'~_V~ I "I..VI;)D~ _.... CD If It Is Pre-restart, LOAD Logging Routines. r SCVTGLOG ~_V.IP~C3_ SCVTDLOG ( ~ V '-. nppn.JMPI IJ SCVT If It Is Pre-restart, Build A PUTLOG Array Number List For Each Logging Frequency ~ V .A .... -'" SCVT ) r .~VT..AhQQ r- DBALTPRI / DBALTLCB I ... ~ ..> [1J DBLOGCB DBLGNUM nRIr.J:ROO DBLGFR01 nRI r.~Rn? nRI r.~RO~ A- If It Is Pre-restart, Initialize First Log Copy Of Each Log Array SCVT o m Z en m C 3: ~ -i m ::D ~ rI " o l:J SCVTLOGt SCVTLOG2 SCVTLOG3 J. .. ~ rrn lf It .Is Pre-restart, Initiate Time Driven Logging For Each Non-Zero Logging Frequency V PTIME ..A ~ "::D m -i -< o." [i] If It Is A Restart Or If REFRESH Is Requested, Refresh The Data Base And Resume Logging With The Last Log Copy For Each Array OPPDUPDl ~ LINK .. ~ ., Return To Caner Figure 2-46 (1 Of 2) - Logging Initialization Refresh Routine 247 Figure 2-46 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 Logging routines DPPDGETL, DPPDPUTL, and DPPDUMPL are loaded into storage and their addresses are stored in the SCVT. DPPILOGN 2 A PUTLOG macro call is issued for each log frequency (0, 1, 2, and 3) using the array number list as input. DPPILOGN 3 A PTIME macro call is issued for log frequencies 1, 2, and 3 specifying TASK and EP name DPPDFREQ if the SYSGENed time interval for that particular log frequency is nonzero. Log frequency 0 is used for arrays that are to be logged on a demand basis only. DPPILOGN If an array has been defined as refreshable during the data base offline compilation, it will be refreshed from the last logged copy of that array following a restart or if data base refresh had been specified through the use of a DBREF statement in the SYSINIT input stream during a normal start. In addition, logging will be resumed with last logged copy for all logging arrays. DPPILOGN 4 ,.. o m Z (I) m C 3: l> ~ m :D ,.. l> -0 :D o-0 m :D ~ < o-n OJ 3: , ......w ~ DPPDUPOL LINK F,.m DPPILOGN IF...,. ~ Input Output ~ PAL T .@REFRSH rL--ru;Ai"TnTA-1... ___-..~DA I "'OAI T"'T" -=-1~~_HBaseesIClenl't, ... ----r-----r~/ ... ~ r- IITJ Read The Refresh Array,@REFRSH, Into Storage L -_ _ _ _ _ _ _ _ _ _ _ _ _ _ ... ... ~ I @REFRSH Array # I Blk # Array #1 Blk # ~ ILld... LID ..... I LI I ' " ~--~----, ~ GETBLOCK DDDDBLOK • .. GETBLOCK/ PUTBLOCK Routine 2-48 Array # I r- o I I I Blk # m 2 (I) m C ~ SCVT DBAl TPRI - Origin ~ SCVTALOC SCVTPBT ~ DBPBT " DBPBTALT DBALTNAM VS Resident Data Base DBAlT2ND CMLnEC~ri';' ~ " ... 1m Locate The Data Address For Each VS Resident Array To Be Refreshed L-____________________ .. ......'-.----~-----~ ~-- ~ .. ~ l> -t m :D Array 1 l> rI -0 :0 o-0 DBPBTNAM m :0 -t -< ~ " IDA Res-i·dJ-e·rn-tJ---------------L--------L-.J'.....:> ... iLog Array I~ o "Tl Read The Last Log Copy Into The VS Resident Data Bi$e ~ ~ GETBLOCK .. . Return To Caller Figure 2-47 (1 Of 2) - Data Base Refresh Routine GETBlOCKI PUTBLOCK Routine 2-48 Figure 2-47 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment I A GETARRAY macro call is used to find the size and number of blocks in the refresh array, @REFRSH. Then a GETBLOCK macro call is used to retrieve the array. DPPDUPDL 2 The Page Boundary used to calculate number is used as DBALTPRI contains DPPDUPDL Table and the Secondary Array Locator Table are the array number for the named arrays. The array an index into the Primary Array Locator Table. The the address of the VS resident array. r nm Z (I) m 3 A GETBLOCK macro call is used to read the last log copy into the VS resident data base. DPPDUPDL C s: » -t m ::D » r ." ::D o ." m ::D -t -< o." \JJ 3: DPPDBLOK Entry Via A GETBLOCKIPUTBLOCK Macro Call Input , Output Process I I I I SCVT SCVTJ I SCVTPBT ( 1. ~ • ~r VS Resident Ar.ray DBAlTPRI DBPBT ill Ul3rl3l NAM DBPBTALT Locate Array Data Area Or TTR Address I ~.,...---'--------lU' >~-------tV i Array Data .. , A r r a y Data ......... ~---_r_----- ~... I ........ DBALTPRI nRAIT?Nn nRA ~ ~F'(, DBALTPBT I I I :::\ II LOCK Data Base If PROTECT = YES Requested DBALT"4A~ I I I DA Resident f-----/ Anay ~ Array Data Array Dau ~ , -- .----I . . 1m ~_---JL--_ _ _-J"""") Move (Or READ) Data Into User Area If GETBLOCK Request T 1.----..-----"'-""" ... .... ~-----..._--~:.:.:._:_:.-:..:.:.-:..:.-:..:_ ...... ) ,... [!J Z en m C 3: » -I m » r- Array Data Array Data I "'0 User Data Block User Data User Data n m :::rJ User Data Block '--_'--___-J"".:> r- Move (Or WRITE) Data Into Array Block!s) If PUTBLOCK Request "A'"'--_ _-'-_ _ _ _-L.._ _ _ _ _ _ _ _ _ _ _ _---l K. .~.--_.,...-----,_------:;:=__=__:__;__:_;;__--.J . I . . . VS Resident Array ~---~-------~------~) L-____________-r------r--, :::rJ o"'0 m :::rJ r -I User Data User Data -< o ." Or UnlOCK Data Base If PROTECT = YES Requested ~ L-...-L-_ _ _ _ _ _ _.... ,......, ~ 1.-_ Return To Call.. Figure 2-48 (1 Of 2) - GETBLOCK/PUTBLOCK Routine _ _ , . - - - - - - - - ,....... ) User Data ~ DA Resident Array Figure 2-48 (2 Of 2) Messages and ABEND Codes POL Segment Step Extended Description 1 The DBPBT and the DBALTSEC are used to calculate the array number for the named arrays. The array number is used as an index into the DBALTPRI and·DBALTPRI contains the address of the data for VS resident arrays or the relative track address of the data for DA resident arrays. DPPDBLOK 2 If protect=YES is specified, the entire VS resident data base is locked for VS resident arrays or one Direct Access data set is locked for that DA resident array. DPPDBLOK 3 Only the user specified blocks of the array are accessed or modified on GETBLOCK and/or PUTBLOCK requests. JPPDBLOK r(") m Z en m C and 4 s: » -t m ::D » r- DPPDITEM From User Via GETITEM Or PUTITEM Macro Input Output ~ 1m Convert Input To > OPtions Internal Format ~ II GPR 15\ Opt. FLAG GPR '1 r I I I Address Namesl Address I Internal Work Source 1m Item If User Supplied Names r r ~ypel Disp I - Convert Item Names To Array 10 And Displacement Specifications -":> r r- .'"...., 1\ RPT n m im C NAMESOLV ... ... r 3: ~ Resolve Item Names 2-50 m :0 r@J GPR Address Users Area I I I "- .....) » r- A If User Requested Item Specifications -Move K "I I Specifications ." To User's Area ~lfUser Requested Data Or eConvert Specifications To Data Addresses :0 A "" Internal Work Space !~ User Requested .... Data Addresses ) ... If User Requested ~-') Data • Move Data To Or From User's Area ... I I Item Address :> User's A~ea > ....... K... .A K. ::IJ ~ .,.,o - :: r ... ) Return To Caller Figure 2-49 (1 Of 2) - Access Data Base Items Item LEN .. - Move Data Addresses To User's Area ![§j ~ I Q m Data Base I Figure 2-49 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 This program may be entered for GETITEM or PUTITEM processing. The user may supply the name of a single item for which data is to be processed or a list of items. DPPDITEM 2 Program segment NAMESOLV converts item names to internal format. DPPDITEM 3 Program segment MOVESPEC will move the specification data to the user's area. DPPDITEM r(') m Z 4 5 6 (I) Program segment CONVSPEC will convert the specification data to addresses. DPPDITEM m Program segment MOVEADDR will move the item addresses to the user's area. DPPDITEM 3: ~ -t Program segment MOVEDATA will move the item data to the user's area if a GETITEM is being processed or from the user's area to the data base if a PUTITEM is being processed. DPPDITEM C m :lJ ~ r- "'0 :lJ 0 "'0 m :D -t -< 0 -n OJ 3: . N .... .... co DPPDITEM From OPPOITEM (Figure 2-49) Input Process ~ Output Segment NAMESOLV Allocate Work "'I Space And Move Addr~s Of Item Names To It. , Jo. rUser Supplied List Of Item Names "> ..- (") Sort Name .... Addresses Based I( Upon Name Represented m Z ~ Internal Work Space en m C .. '----"" Joo. ... @lCIDS Array .) Joo. .) ---./ I[DScan each Block Of Array OCIDS 10 Retrieve The ~ification "'I I I I I I 3: ~ m ::D ,........ » r- ~ Dna For .Each Item In The List I ." ::D o . ." m Sort Work Space Entries Back To Original Sequence ::D ~ o I I ." @CIDS Index Table iii 3: If Arty Item Names Not Found, Set Return Code To 4 Return To Caller Figure 2-50 (1 Of 2) . Access Data Base Items (NAMESOLV) Registe! 15 J Figure 2-50 (2 of 2). Step Extended Description 1 The array named @CIDS contains the item specifications for every item defined to the system. 2 The @CIDS index table is used to locate the block of the DA resident array that contains the specified item name, if it exists. This reduces the number of I/O operators required to locate this item name. Messages and ABEND Codes POL Segment • DPPDITEM ,.. n m Z en m C 3: » .... m :a ,..» -~ N DPPDARAY From User Via GETARRAY Or PUTARRAY Macro Input ~ >jm User Request Parameters Addr Of Array Name Or Number Or List Of Array Names Or Numbers RO Addr Of Area Or List Of Address To Which Data Is To Be Moved R15 Byte Zero Contains Option Code Output Process Trlnslate Input OptiOFl$ To Bit Masks Rl m rrn· ~ Array Locator Tables ./ I I If PROT£CT .. YES And TYPE" DATA Or PUTARRAY, Set Data Base Lock r- n m Z (I) If Array Name(s) Or Number{sl Supplied • Resolve Name!s) Or Number(s) To Array 10 • If TYPE" ADDR, Move Array Address Dau To User's m o 3: ~ m Area • If TYPE .. SPEC, Move Array Spec Data ..... ...... ..... ...... :u ); SPECMOVE Code Segment To Retrieve Item Specifications 2·51 (5 of 61 rI ." ::XJ -- Q m ::D If TYPE = DATA, Move Array Data .... ..- 1m VS Resident Data Base ~ ........ ~ - Code Segment To Move Array Data 2·51 (3 of 6) I USER AREA If Array Addresses Were Supplied, Move Array Data To Or From User's Area r V"r-... , If Lock Was Set, Release lock Retum To Caller Figure 2·51 (1 01 6) - GETARRAY /PUTARRA Y Processor o-n MOVEOATA ... V ~ Data To Be Moved To Or From Data SiI$e Figure 2-51 (2 of 6). Messages and ABEND Codes POL Segment Step Extended Description 1 The processing for GETARRAY or PUTARRAY is identical with the exception of the direction of the data movement if TYPE=DATA. DPPDARAY 2 The protect function disallows a user from moving data into or out of the data base until previous users have completed their data moves. DPPDARAY 3 The user may specify a single array name, number or address or a list of array names, numbers or addresses. In either case, the processing is similar with the exception that the program loops through this logic if lists are supplied. DPPDARAY Array addresses may be resolved and passed to this program to bypass name resolution on each use of a list. The addresses passed are used as the address of the array_ DPPDARAY 4 r o m Z (I) m o 3: ...» m :IJ » r DPPDARAY From DPPDARAY (Figure 2·51. 1 Of 6) npu Output ~ Primary Array Locator Table D----~- -,I ..... I I I Secondary Arr-v Locator Table 0---- I Base A ... ....... 2 m I C'I) I I ~ --1 I IL __ VS Retident Data r- n m o ~ m :D f----~ ) ~v ); 1m MOVEDATA • If Array Is D.A. Set RETURN CODE - 4 Or Else • Calculate Site And Address Of Array User Area V .... ... • Move Data To Or From Datlt Base .. .;> Data To Be Moved To Or From Data Base rI -0 ::D ~ m ::u ~ o.". Return To Caller Figure 2-51 (3 Of 6) - GETARRAY/PUTARRAY Processor (MOVEDATA) Figure 2-51 (4 of 6). Step 1 Extended Description GETARRAY and PUTARRAY processing is identical with the exception of the direction of the movement of data if TYPE=DATA. Messages and POL Segment ABEND Codes DPPDARAY r- o m 2 en m o 3: )- -4 m :D )- r- o" :D "m :D -t < o-n m 3: From OPPOARA Y (Figure 2-51(1 Of 6}) DPPDARAY Process SPECMOVE DBINIT Data Set GETMAIN Storage For Save Area r- n m Set Lock For OBI NIT Data Set Z en m Read Item Definition Record For Selected Array Into User's Area C 3: ~ Release Lock Of DBINIT Data Set FREEMAIN Save Area m ::D Repeat Of Above For Each Item Defined In Array > rI "V ::D ~ m ::D -t -< o "" Return To Caller Figure 2-51 (5 Of 6) - GETARRAY/PUTARRAY Processor (SPECMOVE) Figure 2·51 (6 of 6). Extended Description Step 1 The DBINIT data set contains a logical record for each array which consists of a 16-byte entry for each item defined for the array. Messages and POL Segment ABEND Codes DPPDARAY ,-' n m Z (I) m o s: » -f m - :D » ,- " o :D " m ::D. -f < o." , DPPDGETL Entry From A GETLOG Macro Call npu Output Process ~ VS DBALTPRI DBAl TPRI - Origin SCVT ~ DBALT2ND SCVTALOC SCVTPBT DBPBT ( ~ •••• __ /~ DBALTS"C DBALTPBT ... "'i~n ...) m .......... Locate The Logable Array PAlT, Logheader, And Data Addresses DBALTDTA VS R.esident ArrO!) t"..... -v Logheader Data r- n m DBPBTA~n••'~~ Z en m .A ,r-., ""SCV'T SCVTALOC Log DB4.L TPAI DBAlTPRI - Origin V; .... ... DBALTLCB ") -v m ... Locate The Log Array PALT And Logging Control Block ? DBALTNDX o 3: » -I m II » r- A , no t::t'o,v DBLGFTIM OSLGLTIM v t \. DBLOGCB - Ori, pn lO!! DBLOGCB DBLGCTIM ...... I "0 ::D ill o "0 Search For Requested Log Copy Bv GETBLOCK Macro Call .. - m :D .. -I nppnRLOK -< o GETBLOCKI PUTBLOCK 248 -3:" OJ User Area . ') 10 . .... ., Figure 2-52 (1 Of 2)· GETLOG Routine ..) . Read In Requested Log CoPV Into User Area By GETBLOCK Maao Call ... nppnRI.OK GETBLOCKI PUTBLOCK 248 R_mT.~~ User Area Figure 2-52 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 The DBPBT and the DBALTSEC are used to calculate the array number for the named arrays. The array number is used as an index into the DBALTPRI. The DBALTPRI contains the address of the VS resident array. The logheader precedes the array data in storage. DPPDGETL 2 The VSarray logheader contains the array number for the associated log array. The log array number is used as an index into the DBALTPRI. The DBALTPRI for the loggable array contains an index into the data base logging control block. DPPDGETL r- n m 2 en m C 3 4 The time fields in the DBLOGCB are used to reduce the search for the requested log copy. GETBLOCK subroutine is used to read the 10gheader from the log copies until the correct log copy is found. DPPDGETL GETBLOCK subroutine is used to read the entire log copy into the user provided area. DPPDGETL 3: » -I m ::D » r." :u o"'V m :u -I -< o ." OJ 3: .r:-> w o DPPDPUTL Entry From A PUT LOG Macro Call Input ~ ~ SCVT OutpUt DBALT2ND (:"~.T DML~ V SCVTAlOC [] .. .... locate Array DBAL TPRI, -v~ ~ader, ... And Data .PBALTDTA .. LOg~eader· ~ , TA Addresses II ( .0IIII VS Resident Array DBALTPRI nRAITPAI '\ DBALTPBT DBALTNAM Utst'tslI'fAM ~DBPBTALT nm --~R Loa Copy Logheader v ) ill Z m en o If LOGHDR Is Specified, Issue PUTBlOCK On Number List Built Based On User Specified Logheade~ 3: »-t nppnRI n .... ...... ..... USER Block List rn y .) If BLKLIST Is Specified, Issue PUTB.LOCK On Number List Built Based On Current VS And User Supplitld Block Numbef5. m GETBLOCKI PUTBLOCK 248 ..... .... J:J » rI "'0 .... ::D o"'0 nppnR. n .... ......-.... Logheader \ ...... . VS Resident Array '{ {{ .... m GETBLOCKI PUTBlOCK 248 .. ...~ @J DATA Array Data ~ k== If Neither lOGHDR Or BLKLIST Are Specified, Update VS Logheader And Log Control Block. Issue PUTBlOK On Number list Built Based On Updated VS Logheader If Last Log Copy, PATCH User Routine (If Any) [)PpDB ..n .... - ..... ...... .... ...... Return To Figure 2-53 (1 Of 2) - PUTLOG Routine VS Resident Array DBALTPRI LOG DBAL TPRI n.'"'A,n / r- GETBLOCKI PUTBLOCK 2-48 Ca"~ DBlHCTIM cc: .... DBALTDTA "- lOG-DBAl TPR I -nR41TNnv nDl-Ui'nAV "'-Dlural .... " .... ......... DBLHPTIM OBcHPOAY nRI-iWRI .... DBlCB DBLGCTIM DBLGCDAY nalr-rDt'" DBlGFTlM DSLGl:Dl'v oa-lGI..TIM DBLGLI>AY =t < o " Figure 2-53 (2 of 2). Step Extended Description 1 The DBPBT and the DBALTSEC are used t.o calculate the array number for the named arrays. The array number is used as an index into the DBALTPRI. The DBALTPRI contains the address of the VS r~sident array. The logheader precedes the array data in storage • . 2 3 The LOGHDR option is used to replace a log copy in the log array. Messages and ABEND Codes POL Segment DPPDPUTL DPPDPUTL The BLKLIST option is used to update blocks within the current log copy of the Log Array. DPPDPUTL The logheader and Log Control Block are modified to point to the next log copy. DPPDPUTL r nm 2: (J) m 0 4 3: l> -I m 5 Normal logging copies the current VS resident array and its log header into the next log copy. If it is determined that wraparound will occur with the next PUTLOG request, the user defined wraparound processor (if any) is patched. DPPDPUTL ::D l> r ~ ::D 0 ." m ::D -I -< 0 ." OJ 3: ...... ~ W DPPDUMPl Entry From A DUMPLOG Macro Call Input ()utput p~ ~ DUMPLOG Data Set User DUMPLOG DCB ..... ) _ OJ ... Position DUMPLOG Data Set For Next Output ... ...> JFCB For OlIMPI OG 0 Or 0 r(; m Z en m SCVT SCVTALOC ( .J VI SCVTPB~ DBPBT ... ~, ~ ' •• ~~ ~~ALT ( / DBj\LT2~ ~AmEC~~~" / ... ill ...;> .) Locate Logable Array DBALTPRI And Logheader ... Logheader ~_AL.:rDTA ~ Data C s: l> -f m ::JJ > .. ;> rI .A I]] ..... locate The Log Array DBAlTPRI And Logging Control Block "-... Log DBALTPRI -") . DBALTNDX nRAI TPR I - Ori~ in . // VS Resident Array VS DBALTPRI DBALTPBT DBAlTNAM SCVT SCVTALOC DBAlTPRI- Origin I' Log DBLOGCB ." DBLGCTIM o." Nt: r.r.RIK DBl(JFTIM nAI TiLt DBAlTL~ m Read In Requested Logcopy By GETBLOCK Macro Call ::JJ m ::JJ -I -< o"TI A K '" DBLOGCB- Origin "'l1lI ~ , .. .. CD s: DPPDBLOIC' GETBLOCK/ PUT~LOCK 2-48 DUMPLOG Data Set 1m Write This Log Copy To The DUMPLOG Data Set Return To Caller Figure 2-54 (1 Of 2) - DUMPLOG Routine ,.. ...'" 0 Or 0 Figure 2-54 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 The user supplied DD name defines the DUMPLOG data set. This data set is opened and positioned according to the options specified on the DUMP LOG macro. DPPDUMPL 2 The DBPBT and the DBALTSEC are used to calculate the array number for named arrays. The array numbers used as an index into the DBALTPRI. The DBALTPRI contains the address of the data for the VS resident array, and the 10gheader immediately precedes the array data in storage. DPPDUMPL The VS array logheader contains the array number for the associated log array. The log array number is used as an index into the DBALTPRI. The DBALTPRI for the loggable array contains an index into the data base logging control block. DPPDUMPL 3 4 The requested log copy is read into VS storage. 5 The log copy is then written to the DUMPLOG data set using variable blocked spanned records. r- o m Z en m o 3: » -t m :lJ »r- " m " :lJ :lJ o -t -( o"TI CXJ 3: DPPDFREQ Entry Via A PATCH Input Output ~ OBlOGCB If 10 Is Nonzero Then OBLGS:~QO . . OBlGFRQl ~--~~~----~--------L----~------~~~CO l~~PUTLOGNum~r Itr-------~------~~--~>nRIr.s:Rn? C I r-r--_ _ ".OBL I ''---------i ""---il ( I V I • U~ J ... I ~~ nRI r.J:Rn3 j 10 II~TP4AU -, PUTLOG M_ r'-------,r--------r---------' ~------------~ .... SCVT SCVTAlOC \.XCVT I r- C; m Z m (I) C 1.......~PUTlOG Routine 2.53 ~ ~ "'III....", -f >- ,0BALTPRr OBALTLCB Else v • OBLOGCB . .1'[1) I---r-------r---~/ OBREFRSH Build A Table Of Current LOg Copies ll----..L...-------IL-...-..J~"') J .. OBREAID OBREBlK m :D -r~ I ~ :D o ~ Update The Refresh Array Via A PUTBLOCK Macro Call m I . po ::u -f -< nppnRIOK GETBlOCK/ PUTBLOCK Routine 2-48 Return To Caller Figure 2-55 (1 Of 2) - Time Driven Logging o -n Figure 2-55 (2 of 2). .Step Extended Description Messages and ABEND Codes POL Segment The ID passed through the PATCH macro (4, 8, or 12) is used as an index into the table of. PUTLOG· number lists contained in the Log Control Block •. The patch is the result of the PTIME SVCs issued by DPPILOGN during initialization. DPPDFREQ 2 The DBLOGCB tables are used to build the DBREFRSH table which contains the current block number for each log array. DPPDFREQ 3 GETBLOCK macro call is used to write the DBREFRSH table into the refresh array, @REFRSH. DPPDFREQ rn m Z (I) m o 3: > -I m :D > r." :D o." m :D -I < o " .... ·N lit DPPDSUB2 Jnput FromO' ......... CIII (GETARRAY. GETtTEM, GETaOCK. GETLOG, PUTARRAY. PUTlTEM, PU1BLOCK. PUTLOG, OrDUMPLOG) r nm Z en PROBL ~Ic:u" PATCH I-_~ _ _----,_ _--L_ _ _ _ _ _ _L..-_ _ m C 3: » ~ ~ m PanmetIra Reg 0 Reg 1 ::u » rI -0 2J [!J . ~ m PATCH The ~R.tnamc. Routine DPPOBSIF ::D To Pwfonn Semce ~ < 1 .... • • •~. Fi..re 2·56 (1 Of 2) . Data Base SLAVElnt..f~ o M8ster RoutineInteff8ce 1-57 ." Figure 2-56 (2 of 2). Step Extended Description Messages and ABEND Codes POL Seg_ment I Each macro call in the SLAVE partition branches to a unique location in load module DPPDSUB2. The location is used to determine· correct subroutine to be executed in the MASTER partition. DPPDSUB2 2 The PATCH parameter list consists of the address (in the MASTER partition) of the data base subroutine to be executed and registers 0 and I as passed to DPPDSUB2 by the user as the result of the macro call. DPPDSUB2 DPPDBSIF is patched in the MASTER partition to branch to the subroutine DPPDSUB2 WAITS until the PATCH has completed. DPPDSUB2 3 r (') m Z en m C ~ l> -I m :D l> r ~ :::0 o ~ m :D -I -< o"n OJ ~ I\,) • w ...., - From DPPDSUB2 (Figure 2-57) Via PATCH ~ w co DPPDBSIF Input Output .. Register 1 ( -4 m Move Message Data Set DeB To MDT (Message DeB Table). :0 > r- XCVTSBOP rn I Open Message Data Set. If Data Set Not Opened ISSUE ABEND ." :0 0 ." m :0 -4 -< If Pre-restart Flag in XeVT Is ON, Set MOATFLAG Flag to Pre-restart 0 -n ELSE If Pre-restart Flag is Off Set MOATFLAG Flag to Post-restart to :s': [[] Move Message DCB Address to MOAT Figure 2-59 (3 Of 4) Figure 2-59 (1 Of 4) - Message Handler Initialization Figure 2-59 (2 of 4). Step Extended Description 1 The message handler initialization routine, DPPMINIT, will create a Special Real Time Operating System task with task name DPPMMSGI for the message output task (DPPMMSGl). 2 The address of the message routing code table (array DOMXSMRC) will be obtained from the data base. If the array cannot be found~ ABEND 23 will be issued. 3 4 Messages and ABEND Codes POL Segment DPPMINIT USER 23 DPPMINIT r o m The contents of the message data set will be moved to the message DCB table (MDT). The message data set pointed to by the MSGDS DD card will be opened as a BPAM input data set. If the data set cannot be opened, ABEND 20 will be issued. DPPMINIT Z (I) m o USER 20 DPPMINIT 3: » -4 m :D » r 5 The MDAT flag is a one bit flag in the message address table (MDAT). This flag will be turned off (set to 0) if the pre-restart flag (XCVTSBOP) in the XCVT is on. The flag will be turned on (set to 1) if XCVTSBOP is post-restart. DPPMINIT ." :D o \J m :D 6 The address of the message DCB will be placed in the MDAT. DPPMINIT -4 < o ." OJ 3: From Figure 2-59 (1 Of 4) DPPMINIT Process Array DOMXSMRC If Output Data Set Specified In Array OOMXSMRC Move All Output DCBS To MDT Open All Output Data Sets r- o If Data Set Not Opened Issue Error Message m Z (I) m Move Address Of All Output DCB's to MOAT o 3: » -t m illLoad OPPMMSG In Storage And Move Address To location SCYTMSGH In The SCYT. Move MOAT Address To location SCYTMWA In The SCVT. :Xl ~ ______-J, F-:=-=-:'~I I l. [!)BUild Lock Control Block For DPPMMSG And Place Address In MOAT 1----,....,,.....,..---1 l I '---- ...J » rI ." :Xl o." m :Xl Build lock Control Block For OPPMMSG1 And Place Address In MOAT Move Address Of Array DOMXSMRC To MOAT Return To Caller Figure 2-59 (3 Of 4) - Message Handler Initialization -4 -< o'TI Figure 2-59 (4 of 4). Step 1 Extended Description When message output data sets DD names are specified in Array - DOMXSMPC, DPPMINIT will do the following: A. Move all message output data sets neBs to MDT. B. Open message output data sets DCBs as QSAM output data sets. If any message output data set is not opened, error message DPP 89'8 will be issued. C. 2 Messages and ABEND Codes POL Segment Place address of all message output data sets in MDAT. DPPMINIT r- DPP8981 (') m Z en m DPPMINIT The MESSAGE macro processor (DPPMMSG) will be loaded into core and its address will be placed in the SCVT. DPPMINIT 3 The address of MDAT will be placed in the SCVT. DPPMINIT 4 A Special Real Time Operating System lock control block will be built for DPPMMSG and it's address will be placed in MDAT. DPPMINIT A Special Real Time Operating System lock control block will be built for DPPMMSGl, and its address will be placed in MDAT. DPPMINIT The address of array DOMXSMRC will be placed in MDAT. DPPMINIT 5 6 0 3: » -f m :a » r " "m :a :a 0 -f < 0 -n to 3: DPPMMSG From User Via a Message Maero Call Input ~ Register 1 1 ./ Message Macro Expansion Address, Output Process Return Codes ~ 2 I ") 4 ) ", ./ 8 1 ~ .... I [] , ... fIl .../ Number of Routing Codes Number of Variables Save Address Of MESSAGE Macro Expansion. Find Address Of The SCVT And From The SCVT Get The Address Of The MOAT And From The MOAT Get The Address Of The lock Control Block For DPPMMSG. LOCK DPPMMSG. ... ..1'> 1 ..;) 12 r('") m 2 m (I) Message Number 10 Message Action Code Message Return [~ MOAT. Got Add,~ Of M""- DCB F,= C 3: ')~ Find Specified Message On Message ~ Data Set. Address If Message Not Found. Set Return Code To 8. m r---J-. :D » r- Message Routing Codes If Variable Count In Message Macro Expansion less Than Defined (OEFMSG MACRO I Message Set Return Code To 4 Message Variables r-------"- ~ Message Data Set @ f[!f SCVT rn -----Joo.. ":Dm ~ Format Message With Time AndlOr Date, Action Code And All User Variables. If User Message Return Area Specified Pass Message To User. o ." I ".... I OIeck Routing Codes For Validity. If Routing Codes Not Valid' Set Return Code To 12 MOAT - Else PATCH DPPMMSG1 (Message OutpUt Routinel ~ ,~ .,,~ o" :D Else If Variable Count In Message Macro Expansion Greater Than Defined Message. Set Return Code To 2. ~ I ... ~I I MUl"l11VlVvD Rerum to Figure 2-60 (1 Of 2) - Message Macro Processor il 1 Message Output 2-61 I C"~ 1~~~~!'!.~.HH:MM:SS:t IMessage Text Figure 2-60 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment I On entry to DPPMMSG, register I will contain the address of the MESSAGE macro expansion. DPPMMSG 2 A Special Real Time Operating System LO~K macro will be issued for DPPMMSG with the lock control block found at location MDATLCK in the MDAT. DPPMMSG 3 4 r Save address of the message data set DCB found at location MDATMDCB in the MDAT. DPPMMSG If the specified message is found in the message data set, it will be read into virtual storage. If the message is not found, the return code will be set to 8. DPPMMSG n m Z en m o 3: » -f m ::D 5 The specified message will be formatted with all variables converted to EBCDIC. The time is converted to (HH:mm:SS.t, HH-Hours, MMMinutes, SS-seconds, t-tenths of seconds), and if requested the date (DD/MMM/YY, DD-DAY, MMM-Month, YY-year) and the action code (I-information, A-action, D-decision). DPPMMSG If the address of a user return area is specified in the MESSAGE macro expansion, the message will be moved into the area. DPPMMSG If no routing codes are passed in the MESSAGE macro expansion, the one on the defined (DEFMSG) message will be used. The routing codes are checked against the valid routing codes in the DOMXSMPC array (RCT message routing code table) in the data base. If the routing codes are not valid, the return code is set to 12. If the routing codes are valid, the message will be passed to DPPMMSGl via a PATCH macro. Routing code 255 is a no operation (DPPMHSGl is not patched). DPPMMSG » r o" ::D " m 6 7 ::D -f < o ." DPPMMSG1 PATCHed By DPPMINIT (Figure 2-59) Or By DPPMMSG (Figure NiO) Input ~ f Output Process -i m ;xl rf the MDATFLG flag is on (flag set to post-restart), find the specified codes in RCT (Array DOMXSMRC). The formatted message is then putput to the devices specified in the table. ~outing l> r- o" ;xl "m ;xl -i < o-n DPPMMSGV Input PATCHed By IMP As Result Of MS~RC Operator Command Process Output Save Passed Parametel"$ Address . m r- Save Address Of RCT 1 n m 2 If Alternate Route Code Not Active Issue Error Message 33 Set Error Flag en m o 3: » -I m :D If Routing Code = Alternate RQute Code Then Issue Error 34 »rI Set Error Flag -U :D o -U If Error Flag Not Set m :D -I -< o ." Routing Code IN/OUT/STATUSI t-------~'" STATALL [§] If Invalid Parameter Passed Issue Error Message 35 Alternate Routing Code RCT ~========: Return To Caller Figure 2-62 (1 Of 2) - Message Routing Code Status Change Facility Figure 2-62 (2 of 2). Step 1 2 Messages and PDL Se ment ABEND Codes g Extended Description Save the address of the passed parameters. DPPMMSGV Save the address of the ReT (message routing code table array DPPMMSGV DOMXSMRC) • 3 4 If an alternate routing code is passed which is not active, issue error DPP033I message 33 and set the error flag in the register save area used by DPPMMSGV pointed to by register 13. DPPMM8GV If the routing code = alternate route code, issue error message 34 and set th~ error flag in the register save area used by DPPMMSGV pointed to by register 13. DPPMMSGV DPP034I r- n m 2 (I) m o 3: l> -f m 5 ::D If the error flag is not on: l> rPlace the routing code in service if in-parameter passed. parameter passed, place routing code out-of-service. If the out." ::D If the STATUS or STATALL parameter passed, display status of routing cOde(s) via system messages 29 through 32. 6 ... ... ~ 0"1 DPP029I DPP0301 DPP03lI DPP032I o ." m :0 -f < o "T1 If invalid parameters passed, issue error message 35. DPP035I LICENSED MATERIAL - PROPERTY OF IBM Input Message Processing The Special Real Time Operating System provides a facility to allow for operator - Special Real Time Operating System communication or for the operator to communicate with a subsystem. This facility is th'e Input Message Processor. The Special Real Time Operating System, during initialization, issues a WTORand leaves the reply outstanding. At a later time, the operator may reply with a predefined IMP command. The Input Message WTOR routine, DPPXIMPW, recrives control and a~ the result of this reply patches the input message processing routine, DPPXIMPP. DPPXIMPP is responsible for validating the operator command and patching the specified user routine. 2-152 Spec;ial Re,a! Time Operating System Input Message Processing Input Message Processing WTOR (OPerator Command) Routine Input Message Processing CANCEL Command Inwt Message Processing Cornmll'ld Processor r EJ 2-64 1 EJ 2~ 1 EJ 2~ 1 n m Z en m C 3: »-t m ::D » r I ." :a o." m ~ -< o,.. -3: OJ Figure 2-63 - Special Real Time Operating System Input Message Processing Overview DPPXIMPW Input From370/7f Proc:ea Output DPPXIMPW wrOR Special Real Time Operating System Input Message Processing (IMP) Command IW .... Issue DPPXIMPW WTOR And Wait On IMP Command "") .> -y Input Message Processing Awaiting Reply r- n m [!) Z m If STOP IMP Command ABEND JOBSTEP With 222 Code C'I) C 3: ~ -I !!~IMP To ...... ..> PATCH ..... ~::Uing· m :D IMP Command ~ rI DPPXIMPP ." Input Message Process Routine o "'0 PATCH .. .. :D 2~5 m :D -t H] ... Issue Diagnostic Input Message ) Processing ..... Command Accepted Message -< o ." CD s: .. Figure 2-64 (1 Of 2)· Input Message WTOR Routine Figure 2-64 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 The System/370 operator will issue an IMP Command to a WTOR issued by DPPXIMPW. INPUT MESSAGE PROCESSING AWAITING REPLY. 2 If the STOP command is entered, ABEND job step with dump code 222. 3 The IMP command will be passed to DPPXIMPP via PATCH. DPPXIMPW 4 DPPXIMPW will issue a diagnostic WTO message to the System/370 operator. INPUT MESSAGE PROCESSING COMMAND ACCEPTED. DPPXIMPW DPPXIMPW USER 222 DPPXIMPW r- n' m 2 (I) m o 3: » -4 m :rJ » r." :D o ." m :D -4 < o.." OJ 3: ~ C1I C1I From DPPXIMPW (Figure 2-&t) Via A PATCH Macro c.n Or From A PATCH Statement In SYSINIT DPPXIMPP I nput StremI Input ..... ~ RegiIt8f 1 Translate end Test Tlb/e lID .nnnnn )j Buikl Translm And Test Tlble 1 nn'Jnft r- PATCH PARAMETERS ADDRESS ~ Il1l R...·TIme Opeming Sys1IIm Input "'-Ie "-ing (IMp) Command Retrieft IMP ~ And Mow ei m WOf1t Are. I . :>I To DPPXIMPP WOf1t Azea PoInted ToBy Regliner13 Spede/ .. III C » -t Find ~ Of IMP (Input ,..... ProcnIing T. . . Array DPPXIMP) m ::u ~ r I SeIn:h IMP Telll, For The Passed IMP c:omn..nd -0 li¥stlllm Mesege If IMP Commend Invelld laue System Mesuge 26, 70. 19 Input . . . . . I >I PrOCIIIIing (IMP) T"'C~ DPPXIMP) i m 3: [!J l.tJle IMP Commend' IMPCommInd Z en I I I - ~ -< The IMP Command Plnmeten P-s To DPPXIMPP Wdl Be eonv.rted To FuI~. Heudec:imel, or EBIDIC Formet. The ForlNU Are Specified In The IMPT. . . If!) ~ o " 'PIa eor-ted IMP Commend .........,. To Pr-mg ~ .. :> Specified In IMP Table Vie A PATCH Mec:to Cell .. PATCH User Routine ~mTOCalI" Figure 2-65 (1 Of 2) - Input Message Processing Routine o-0 m m ~ ::u Converted IMP Commend I'Iremeters Figure 2-65 (2 of 2). Step 1 .2 3 Messages and I ABEND Codes PDl Segment! Extended Description A 255 byte translate and test table will be built where byte 0 is 1 and byte 107 is 2 and the other 253 bytes are set to o. DPPXIMPP Register 13 points to a work area used by DPPXIMPP. will be moved to this area. The IMP command DPPXIMPP will be obtained via a DPPXIMPP The address of the IMP table (array DPPXIMP) GETARRAY nacro. r(") m Z C/) 4 A search is made of the Th~ table for the passed IMP command. If the command is invalid, system message 26, 70, 72, or 79 will be issued. 5 The IMP table contains the parameter format for the passed IMP Command paramete~s. The parameters will be converted to fullword, hexadecimal, or EBCDIC format. DPP026I DPP070I DPP072I DPP079I DPPXIMPP m o ~ l> m -t :D DPPXIMPP l> r." :D 6 The IMP table contains the name of the processing programs for all IMP commands. The IMP command converted parameters will be passed to the processing program via a PATCH macro to either the MASTER or SLAVE partition. DPPXIMPP o "tJ m :D -t < o -n DPPXKILL Input From DPPXIMPP (Figure 2·65) Via A PATCH Process Output Register 1 r Patch Parame\ers Address ("l Save Passed Parameters m Z (I) m Cancel Input Message Processing (lMPJ Command Parameters o If Operator Comments Passed With CANCEL IMP Command Parameters. Output Operator Comments Via System Message 60. DUMP/ NODUMP 3: »-4 m ::D » Operator Comments r I ." ::D o." m ::D -4 _ Invalid Action Specified. Issue Error Message 27. Figure 2-66 (1 Of 2) - Cancel Routine <' o -n Figure 2-66 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment DPPXKILL 1 Save address of the CANCEL Input Message Processing (IMP) command parameters. 2 If operator comments passed with the CANCEL IMP parameter, output the operator comments via message 60. DPP060I DPPXKILL 3 If the DUMP parameter is passed, issue ABEND macro with the dump option and a completion code of 122. USER 122 DPPXKILL If the NODUMP parameter is passed, issue ABEND macro without the dump option and a completion code of 222. USER 222 If action requested is not DUMP or NODUMP, an error message is issued. DPP027I 4 r n m 2 en m C 3: l> DPPXKILL -f m :D » r ~ :D o ." m :D -f < o"T1 to 3: LICENSED MATERIAL - PROPERTY OF IBM Report Data Output The report data output facility provides the capability of transferring user-generated data from one or more user-defined sequential data sets to a single user-defined sequential data set. The report data output facility is invoked through a REPORT input message processing command. 2-160 Special Real Time Operating System Report Data Output Facility REPORT Input Message Processing Command Processor EJ1 Of'I'XRPRT .. 2-68 rn m Z en m C 3: » -f m :D »rI -0 :D o -0 m .~ -< o-n -3: OJ Figure 2-67 Special Real Time Operating System Report Data Output Facility Overview DPPXRPRT From OPPXIMPP (Figure 2-85) Via A PATCH Macro Call Input Process Output Register 1 PATCH Parameters Address Save Passed REPORT IMP Commands Parameters r- Report Input Message Processing (IMP) Command Parameters 0m OPEN Output Data Set DCB. Not OPENED Issue System Message 53 And Exit Z m C '(I) If DCB s: ~ Return To Output Data Set :JJ Caller If NEW Parameter Passed Position Output Data Set To Beginning Of Output Data Set Input Data Sets 00 ~:----:~ I I 1 ----- l.., [J OPeN Input Data Set. If Input Data Set Not OPEN Issue System Message 53 And Exit Move Data From Input Data Sets To Output Data Sets I I I ,) Figure 2-68 (1 Of 2) - Report Data Output Facility -f m ~ rI ." :JJ 0 ." m ::D 0 -f < 0 on CD 3: Figure 2-68 (2 of 2). Step Extended Description I Save the address of the passed REPORT IMP command parameters. 2 OPEN the passed output data set. issue system message 53. 3 If the NEW parameter was passed with the REPORT IMP command, theoutput data set will be"positioned at the beginning of the output data set. 4 5 Open the passed input data set. system message 53. If the data set was not opened t If the data set was not opened, issue All data in the input data sets is moved into the output -data set. The output data set must be large enough to contain the data. Messages and ABEND Codes POL Segment DPPXRPRT DPP0531 DPPXRPRT r0 m Z DPP0531 DPPXRPRT (I) m C 3: DPPXRPRT »-4 m :u »r- " m " :u :u 0 -4 -< 0 ." aJ 3: LICENSED MATERIAL - PROPERTY OF IBM Data Recording and Playback Data recording and playback enable the user to record data in a realtime environment and to play it back at "a later time either in a realtime environment or in an offline envir0nment. Data recording is enabled (or disabled) by DPPXRINT as the result of a DREC operator command. When data recording is enabled DPPXDRC receives control from the user via a RECORD macro call and is responsible for formatting and recording the requested data. When data recording is disabled a stub routine. DPPXDRCX, replaces DPPXDRC. DPPXDRCX sets a return code and returns to the user without recording any data. Data playback is initiated in the online system by a PATCH to module DPPXPCON. This routine is responsible for converting the input playback parameters to a form acceptable to the playback routine, DPPXDPB. DPPXDPB gains control from DPPXPCONby a LINK macro call and is responsible for playing back the requested data. Data playback is initiated in the offline "system by executing module DPPXNRTI on an EXEC statement specifying PGM-DPPXNRTI. This routine is responsible for building a parameter list in a form acceptable to DPPXPCON and then linking to that routine. Once DPPXPCON receives control. the playback operation is the same as for the online system previously described. 2-164 Special Real TIme Operating System Data Recording And Playbeck DREC Input Message Procasing Command PrClCeSling Data PlaybKk Routines RECORD Macro Processor DPPXRINT Data Recording Initialization DPPXDRC Data Recording Routine 2-71 2·70 I DPPXNRTI· Data Playback Non-Real TIme Initialiution 2-162 I I DPPXORCX Dummy Data Recording Routine 2·72 I DPPXPCON·· Data Playback Parameter Con~on Routine 2-73 en m C 3: l> m OPPXOPS·· Oeta Playback Routine 2-74 ::D »rI I "V OPPXRDR-Hex Dump Routine 2-74.1 J m Z ~ I ·Offline Execution ··Online Or Offline Execution r- o ::D o"'0 m ::D ~ -< o ." ·69 - Special Real Time Operating System Data Record And Playback Overview From OPPXIMPP OPPXRINT (Figure 2-65) Via A PATCH Macro Input Call RegisterJ 0 4 8 ~ ~ITJ ... PATCH Parameters Address L Save Address Of The REPORT Input Message Processing Command Data Recording Lock Control Block Report Input Message Processing ~ 0 4 Command lIJ. . I Real-r lme Operating . System, Build Specla f Parameter Address ,~ Parameter Address 1 Parameter Address ~ :-+ , ENABLE! DISABLE r--- r+ rn r\ I It 3 I I \ ADD/DEUALL \r\o ~ .- - .... --tI I!!J I I I 10 ~. I I I I L_..;. P -1m If ENABLE Parameter Passed ~ Data Recording Data Set (DRECOUT DO Card) :~~~~ Set If DCB 50 And Exit OPEN Data Not Opened ISSUE I I ft-oad ::D l> r- 1 .;, v I lsi Store Address Of The Time Array (DPPCTIMEI At Location SCVTTIME In Program DPPXDRc.. Figure 2-70 Figure 2·70 (1 Of 4) . Data Recording Initialization Routine A ::D o ~ Data Recording Data Set m < ,.,0 DRT -: DRTTIME ;; B3 t > ~ ::D -I Build Data Recording Table (DRTI And Store Address In SCVT At Location SCVTRWA. ORTAB In PrOQAm DPPXDRC. I ~ Q0 Data Ilecording Routine DPPXDRC And Place Address In SCVT At Location SCVTREC ~ Store Address Of DRT At Location m v I >[1_ » -I ... I 10 3: .2 :: ...> II T" LOAD DPPXDRCX (Dummy Data Recording Routine) And Store DPPXDRCX Address In SCVT At Location SCVTREC Z m C ~ ...... 4 or n m en SCYT 0 II ,., ~] I ... If DISABLE Parameter Passed I r- ..... Lock Control Block For Data Recording (RECD), L~ ~l\.t1m 0 '" Output Process DRTID DRTDCB 16 ..... " .?d R ~~ I:: I Ut1I\ovUN I Dlta Recording Routillf! DPPXORC ,., ~ o ." DRTAB LOCK ~ ,....... ,r- OSAMBUF ~VIIIM~ Figure 2-70 (2 of 4). Step Extended Description Messages and ABEND Codes POL Segment I When DPPXRINT is entered, the address of the REPORT input message processing command will be saved. DPPXRINT 2 A Special Real Time Operating System DEFLOCK macro will be issued to build a LOCK control block (RECD) for data recording rout"ines (DPPXRINT and DP.PXDRC). A LOCK macro will be issued" to lock DPPXRINT. DPPXRINT If the DISABLE parameter was passed. DPPXRINT 3 rn m Z (f) m A•. Clear location SCVTRWA in the SCVT. B. C. 4 » ~ Issue a LOAD ma.cro for DPPXDRCX (dummy data recording routine) and the address of DPPXDRCX will be stored at location SCVTREC in the" SCVT. m :D »r- Close the data recording data set. If ENABLE parameter was passed. A. o 3: DPP0501 DPPXRINT ~ :D o OPEN data recording data set. message 50. If DCB is not opened, issue B. Issue a LOAD macro for DPPXDRC (data recording routine). C. Build data recording table (DRT) and store addres·s at location SCVTRWA in the SCVT. D. Store address of DRT at location DRTAB in program DPPXDRC (the first 36 bytes of DPPXDRC are used as a control table). E. The Special Real Time Oper~ting System time array (DPPCTIME) address will be stored at location SCVTTIME in program DPPXDRC(see 4-D). ~ m :D ~ -< o " DPPXRINT -i Input ill F~ FI.,:: (1 Of 41 Output If ENABLE Parameter Passed ~ 0 ../' Move Data Recoroing (RECD) Lock Control Block Name To Location LOCKNAME In Program OPf>XDRC ... 4 p Store Address Of Dati Rec:ording Lock Control Block At Location LOCK In Program DPf>XORC. 1 It£] ) Z m LOCKNAME asAMBUF ~, SCUTTIME C 3: l> -t m rI - If ADO Parameter Passed 10 I~)[f] .. 3 AOO/OEUALL "V :D ... [[J ./ Store Passed 10's In ORT ---- If ALL Parameter Passed ,... I ..... lID ;) ... (0 51 ==:J C;S .... IV Retum To Caller Figure 2-70 (3 Of 4) - Data Recording Initialization Routine "- ..../ ~ /' I-- DRT o"V m :D ORTTIME -t ORTCOUNT o ." 2s .. If DEL Parameter Passed Delete The 10's From DRT 0 ;) Set 10 Count In ORT To 255 : en l> 1"-) 10 LOCK Move Copy Of Time Array 10PPeTIME) To DRT. ENABLE/ DISABLE 4 n m @ 8 2 .";,., ORTAB :D REPORT Input Message Proc· essing Command 0 ) ~6 ) ... Get Address Of OSAM Output Buffer And Store Address At Locatiori OSAMBUF In Program OPf>XORC. 0 r- 8 []] 0 Dati Recording Routine (DPf>XORC) < ORTID Figure 2-70 (4 of 4). Step I Extended Description If the ENABLE parameter passed: A. Move data recording (RECD) lock control block name to location LOCKNAME in program DPPXDRC (see Figure 2-70 (2 of 4) 4-D). B. ~tore C. D. data recording (RECD) lock control block address at location lock in program DPPXDRC (see Figure 2-70 (2 of 4) 4-D). A GET macro will be issued for the address of an output buffer. The address of the output buffer will be stored at location QSAMBUF in program DPPXDRC (see Figure 2-70 (2 of 4) 4-D). A copy of the time array (DPPCTlME) will be moved to location DRTTIME in the DRT. E. If the ADD parameter passed, all passed IDs will be moved to the DRT at location DRTID. F. If the ALL parameter passed, the lD count (DRTCOUNT) in the DRT will be set to 255. Messages and ABEND Codes POL Segment DPPXRINT ,... o m 2 en m o 3: l> -t m :0. l> ,... ." :0 o ." m :0 G. If the DEL parameter passed, all passed IDs will be deleted from the DRT. . -t < o "OJ 3: ":V '-J 0 From RECORD Macro Call DPPXDRC nput ~ Pr0C8IS Output OAT 0 .... RECORD Macro Expansion . ICD ORTTIME ---> Retrieve Record Macro Expansion Register 0 Record 10 l~ili_1 To Record ... [l] ) r- n m Validity Check ID In RECORD Macro Expansion, If Invalid Z en Register 1 ) Address of Data To Record J 1° I Build Data Recording/PIaybaek Data Set Om - C .. .. If Date In Data Recording Table· (DRn Not Current Date. Move Copv of Current TIme Array (DPPCTIME) To DRT I "'- m m !: J> -I m ::D Or I [ID .. If Data Recording Task (OPPXRINT) Has An I/O Error. Program Cleek, Or Any Other Error. IIIUt System Message 895 DiAbIe '----"'" ) ... » rI "::D0 " m ::D -t < 0 "11 ~~~ Return To Caner Figure 2·71 (1 Of 2) - Data Recording Routine OJ 3: Figure 2-71 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 When,DPPXDRC is entered, register 0 will contain in bits 0-15 the ID to be affixed to the data and in bits 16-31 the length of the data. Register 1 will contain the address of the data to record. DPPXDRC 2 Contained in the Data Recording Table (DRT) are the IDs that may be used for data recording. The ID passed to data recording will be checked against this table. If the passed ID is in DRT or if the enable all flag is on, the data will be recorded, otherwise the return code is set to 8, and no further processing is performed. DPPXDRC When the time in the DRT is not current timet DPPXDRC will replace the time array contained in DRT with an updated copy. DPPXDRC 3 r- n m :2 (I) m C 3: l> m -f 4 5 DPPXDRC The Data Recording/Playback data set built by DPPXDRC is a sequential QSAM data s,et that may be on a tape or a disk volume. The data set consists of three types of records: date records, pad records, and user records. A date record consists of the time array. The date record is written each time the DRT is updated. A pad record is written whenever the QSAM output buffer, used by DPPXDRC, contains less than 50 but more than zero bytes of data. A user record consists of the data that the user requested to be recorded. If there is any error in the data recording task (DPPXRINT), message DPP895 will be issued and data recording will be disabled. :n l> r ." :n o ." m :n -f DPp89S1 DPPXDRC -< o ~ OJ 3: DPPXDRCX From RECORD Macro Input r- ei m Z en m Regitter 15 To Zero » ~ ill Set Register 15 (Return Code) C 3: Zero m :D » rI "'V :D 0 "'V m :D ~ -< '0 -n CD 3: Figure 2-72 (1 Of 2) - Dummy Data Recording Routine Figure 2-72 (2 of 2). Step 1 Extended Description DPPXDRCX is a dummy data recording routine that sets register 15 to return code 4. The RECORD macro will branch to DPPXDRCX until the . actual data recording routine (DPPXDRC)is initialized through the DREC IMP command. Messages and PDL Segment ABEND Codes DPPXnRCX r (") m 2 (I) m o s: » -t m ::D » r ~ ::D o ~ m :D -t-- --- < o "T1 OJ s: - Nt ~ W LINK From OPPXNRTI (Figure 2-162) DPPXPCON Input For Offline Execution PATCHed For Onrme E - x~ Output Process Register 1 Address Of Playback Parameters ... 1m r ) Retrieve Address Of Playback Parameters Converted Playback Parameters 0 rn Playback Parameters 0 9 START DATE START DATE to.. ..... r START TIME STOP TIME Load Module Name 40 42 46 o 3: l> Load Module Name 36 38 10 40 10 Count . 10 · ·· " OPPXOPB Data Playback 2-74 ·· · -I m :u l> rI -a ::D o"'0 m :u -I -< o-n Return To Caller Figure 2·73 (1 Of 2) - Data Playback Parameter Conversion Routine 10 Count 10 LINK To OPPXOPB (Data Playback Routine) 10 44 STOP DATE 34 rn en m STOP TIME 26 STOP DATE 32 13 START TIME 22 16 25 Z 9 Convert Playback Parameters To EBIOIC Or Hexadecimal Format r- n m Figure 2-73 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment DPPXPCON 1 When DPPXPCON is entered, register 1 will contain the address of the playback parameters to process. 2 The playback parameters pointed to by register 1 will be moved to a work area for processing. 3 The start and stop dates and LOAD module will be converted to EBCDIC. The start and stop times will be converted to decimal data, and the ID count and IDs converted to hexadecimal data. DPPXPCON The converted playback parameters will be passed to DPPXDPB via a link. DPPXPCON 4 DPPXPCON r- (=) m Z en m o ~ » ~ m ::D '»r"'V ::D o "'V m ::D ~ < o "OJ :i: Nf ....., (J1 From DPPXPCON DPPXDPB (Figure 2-73) Input ~ Register .. m Plnmeter Address ~------'r-----,---,"".../1 (,-------, r- o m Playblck Parameters \ "-. START DATE START TIME STOP DATE STOP TIME f-LOAD MODULE NAME J I-----'-r...-j ! - - 10 COUNT 38 10 3B 10 40 L.....J~--J'.... ") 42 ' - - - - - ! - - - - ' .. 0 9 13 22 26 34 Z If Offline Job Issue ABEND And Exit en m If Online Job Issue SYSTEM C Message 51 . <=100=------------" Playback Requ~ Data From Data Playback DIU Set. ~m 3: To Ca''''_ ... ___'''';, I---.----r--------,......... I-_--L.._.--!:.!!:!:~~~~ Playback Data Is In The Fonn Of A Data Record On The DatI Reoording PIr(back Data Set !im :D i> rI -0 l:J Q m Data Playback o DataSet Specified loed Module :0 -f -< o ." Or If Playback Parameters Are Invalid Issue Message 893, 894, 896, Or 897 ... Return To Caller Figure 2-74 (1 Of 2) - Data Playback Routine DPP893 DPP894 DPP896 DPP897 Figure 2-74 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 When DPPXDPB is entered, register 1 will contain the address of the playback parameter. DPPXDPB 2 The data recording/playback data set is a sequential QSAM data set built by DPPXDRC. The data set can be a tape or disk data set. DPPXDPB 3 The data recording/playback data set is opened for input. If the data set is not opened and DPPXDRC is running offline (non-Special Real Time Operating System), DPPXDRC will ABEND. If. DPPXDRG is runnIng under Special Real· Time Operating System, and the dataset is not opened, DPPXDRC will issue message 51. In either case, no further processing is performed. 4 DPP05lI DPPXDPB USER 71 r- nm Z en m C 3: ....» When the data was recorded, it was time tagged (date and time ,of day was added) • In the playback parameters a time and ID range is speci-· fied. All data on the data recording/playback data set that falls . within the specified time and ID range will be read in. DPPXDPB m :u » r -0 5 The data played back will be passed to a routine for processing. The data will be passed to a user routine if one is specified. If no user routine is specified, the data is passed to Special Real Time Operating System hexadecimal dump routine (DPPXRDR). DPP893I DPP894I DPP896I DPP8971 DPPXDP8 :u o-0 m :XJ -I < o-n CD 3: ~ ...., ...... Input Register 1 Address Of Playback Data 2·74) o Process Output Convert Data To EBCOIC And Build Print Line Print om r- n m Z PI-vbIck Oata fI) m C 3: ~ m :u l> rI '"0 :D ~ m :D ~ o'"II i Figure 2-74.1 (1 Of 2) Figure 2·74.1 (2 Of 2) Step 1 Extended Description The Data Is Converted From Hexadecimal To EBIDIC For Printing. A Print line Will Be Built In The Same Format As An OSNS ABEND Dump line. Messages And ABEND Codes POL Segment DPPXROR r- orn Z fn m 2 The Data When Printed Will Resemble An OS/VS ABEND DUmp. OPPXRDR o ~ » -I m 2J ); r- LICENSED MATERIAL - PROPERTY OF IBM Duplicate Data Set Support One of the capabilities of the Special Real Time Operating System is to have a higher degree of direct access data reliability by duplicating some of the data sets. This functional area, called Duplicate Data Set (DDS)~ is a S\SGENed . 1ption . and al10ws a limited deatee \)f lH\.\ h\e data ~rlt switching. During initialization. the frequently used DDS load modules are loaded into core and their addresses are saved within the DDS control table header. The DDS data areas are constructed at DDS initialization time also, and DDS chains are established. There are ,four pasic DDS data areas: The DDS control header (DDSCTLHD), the DDS control area (DDSCTLA), the DDS input/output area (DDSlOA) with its related DDS DECBs, and the DDS extension task chain (DDSXTCBC). There are six logical chains in the DDS system which, along with the data areas, are graphically demonstrated in Figure 2-75. The Systems Communication Vector Table (SCVT) has two pointers in it pertinent to DDS. The first pointer (SCVTDDSE at displacement 00) is to the DDSCTLHD, which is followed serially by all of the DDSCTLAs. Each DDSCTLA will point to a DDS lOA if a DDSDCB is currently DDS opened against this DDS. The second pointer in the SCVT (SCVTDDSX at displacement 20410) is to the first DDSXTCBC. Each DDSXTCBC will point to the next one, the last one pointing to zero. Examining the DDSXTCBCs will tell which tasks are using DDS in which ways. The DDS routines can be divided into four major areas: control routines, subroutines. operator commands, and internal subroutine. The control routines are responsible for initializing DDS, cleaning up open Data Control Blocks (DCBs) etc. at task termination, and ensuring that the proper data sets are in service, out-of-service, following a failover/restart. The DDS subroutine provides the user interface with DDS during realtime execution while the DPS operator commands provide the operator communications and control over the DDS data sets (e.g •• CREATE a back up, etc.). The DDS internal subroutines provide the subservices required by each of the other three areas. They function as subroutines and may be called by one or more of the other routines in a number of different logical combinations. 2-180 LICENSED MATERIAL - PROPERTY :OF IBM COMPOSITE PICTORIAL DESCRIPTION OF ALL DDS CHAINS . DDSCTLHD +O .....-------~~----., SCVTDDSE ...... ' LEca ............... •••••• ····~.....- - -.... '+-N-E-XT-illil ...... , '-----,.'-0-«1--0--0000---, 'J---------~.-.----~ / ...... - ..... I+NE~ ~,~----~------~ .'.... .......,~--+----~-I. *,," I / SECB .... 1· - - - - '.... +-N-EX-T-S-E-C8j--, .;;- f :! i , I ; ........,...--,-~-r~~-=-1 I !,: I.',' ..-a...---+.--'----~.J .i ....----....______ ~ •••••••'" ,+ NEXT LECBI ,....--=---r--:-()J-:-::oo:70:::-:::0Q0-:-:oo~ It.................... :i,. \Ii : ,II I '-------'------' ••.• : ~ 1'00000000 ,I i J+ . ' NEXT SECar , , i -, ....... ::I,-,- ... .... DDSIOA : I. ii' : .I " . ", DDSINIO~ , OOOOOOOO , J I ,,, . /.' . :: ... .r~~~r-----~./· ......, I '.I " ~ I;' DDSXNTCB ...-- DDSDTCBN I+DDSDRCBN (~ I I /' I I I I .. I. ~ / r-----r:D:-=D-:::SX::-:-L-::OC-:-:I(~ ••••••• ODSIOA •••••••••• - •• --.~{ DDSIRCBP. i: I : II : .. - ...... OOOOOOOO --.. --- DDSDTCBN ~ OOOOOOOO I FFFFFFFF J I I FFFFFFFF'I ,,*" DDSXSHAA ~ - - - - - DOSX Chain •• - - •••••••• _. DDSIOA By Talk Chain - - - - DDSSECB By Ta.k Chain .__ ••••••• -.... DDSDECB By DDSIOA Chain ••••••••••••••. DDS Lock Chain •• _ . - •- DDS Shue Cheln Figure 2·75 (1 Of 2) - Composite Pictorial Description Of All DDS Chains 2-181 LICENSED MATERIAL PROPERTY OF IBM Descri ptions DDSX CHAIN The SCVTDDSX Word Points To The First OOSXTCBC, Which Points To The Next DDSXTCBC, Etc. Each ObSXTCBC Consists Of Pointers Pertaining ToA Different Task Using DDS. DDSIOA By TASK CHAIN All Of The DDSIOA's Opened By A Task Are Chained Together Via The DDSINIOA Word In The DDSIOA. The First DDSIOA Is Pointed To By The DDSXIOA Word In The DDSXTCBC For This Task. DDSDECB By TASK CHAIN Each DDSDECB Reserved By A Task Is Chained Through The DDSDTCBN Word Of The DDSDECB. The First Such DDSDECB Is Pointed To By The DDSXDECB Word Of The DDSXTCBC For That Task. DDSDECB By DDSIOA CHAIN Each Reserved DDSDECB For A DDSIOA Is Chained By The DDSD RCB.N Word Of The DDSDECB. The First Reserved DDSDECBls Pointed To By The DDSIRCBP Word Of The DDSIOA. DDS LOCK CHAIN Each Talk Waiting To Lock A DDS Is Chained Together Via Its LECB. The First LECB Is Pointed To By The DDSCLECB Word Of The DDSCTLA. If A Talk Has A ODA Locked, Its DDSXLOCK Word Of Its DDSXTCBC Will Point To The DDSCTLA. DDS SHARE CHAIN Each Task Waiting-To-Share A DDS Is Chained Off That DDS Via An SECB. The First SEeB Is Pointed To By The DDSCSECB Word Of The oDSCTLA. If A Task Is Currently Sharing A DDS, Its DDSXSHAR Word Of Its DDSXTCBC Points To The DDSCTLA. Figure 2·75, 2 Of 2 2-182 Special Real Time Operating System Duplicate Data Set Support DOS Subroutines I OPPSCHCK DOS Chec:tt ROUti~-80 - - DDS - - <;ommondo I I OPPSMSGI - OOSCNTRL IMP Command Proces1or 2_ I 1 DPPSTBOS TAKE Processor I r- 2~1 I =:""~I I 2·4n DPPSBF1 DO$ BLOL/FINO 1 DPPSCRBK -. . .! 1 CREATE Procesaor 2-92 I 2-85 I 'OPPSCL1 DDS Close Routine 2-88 II DPPSCMPR Processor COMPARE 2-93 I I n m Z en m OPPSCHPR Determine Primary DDSDECB 2.95 o DPPSLOCK Lode A DOS Data Set 2-96 ~ DPPSMSGO DDS. O\Itput -Message .. 1 Processor 2-97 I I OPPSOPCL ()pen/CIose PRI/BACKUP 2-98 -v 2-87 =:,., 1 DPPSRCIO Recreate 10 ROO"-;... I OPPSRTCP A'TCOPY IMP Command Processor 2-93.1 » rI ::D I DPPSOP1 DDS Open Routine I~DDS~_~ ~ m ::D 2-99 J Q m ~ ~ o "CD ~ ~ 00 eN Figure 2·76 Special Real Time Operating System Duplicate Data Set Support Overview DPPSINIT From DPPINIT (Figure 2·9 9 Of 12) Proc:as Input ~-----r Input cards Output ~ --r-- mRead And Interpret ---~ I The DOSCTLIN Input Control Stream. If Invalid, Issue Abend. -o I I ~ - -- - -- - ---- r- I m -~ m Z DDSCTLHO Establish A DDS Control Header Table And Create (With Initial Values) One DDS Control Area Per DDS r--- .;; Declared ! en m 1 3: C ~ m lJ STEPLIB With DDS Load Modules tr:: ........ .... ....""l _./ j; DDSCTLA [!] Load All In-Core DDS Load Modules And Save Their Entry Point Address In The DDS Control Header h-! ~ ~ .... i· , , ! , I , rI ~ "lJo -g m :rJ I SCVT ~----. ---- ----+ .... SCVT (!J Connect The DDS Control Header To The SCVT And Write The DDSTATUS Record Return To Figure 2-77 (1 Of 2) - DDS Initialization .. ) -yo +DDSCTLHD :! o " i Figure 2-77 (2 of 2). Messages and ABEND Codes PDL Segment Step Extended Description I Normally, each card represents a DDS declaration (DDSNAMES card). If the first card is REFRESH or REAOONLY, read the DDSTATUS data set to determine the DDS declarations. If errors occur in conjunction with the DDS input control stream, ABEND with a decimal code of 80. 2 The DDS control header (DDSCTLHD) and DDS control areas (DDSCTLA) will will be GETMAINed from subpool O. A Special Real Time Operating System define lock will be needed for each DDSCTLA. USER 80 DPPSINIT DPPSINIT r- n m Z 3 4 (I) Except for the pseudo-SVC routines (DDSOPEN, DDSCLOSE, DDSFIND/BLDL, DDSSTOW)., all other DDS load modules will be loaded and their entry points saved at predetermined slots in the DDSCTLHD. Using the CHAIN function, the DDSCTLHD shall connect to the SCVT. This provides a pathway to the DDSCTLHD from the job step TCB through the TCBX, XCVT, SCVT. The DDSTATUS data set will keep the DDS declarations up to date. message will be output if the DDSTATUS cannot be updated. A DPPSINIT m C 3: » -t DPP88lI m ::D » r- ." ::D o ." m "::D . -t < o "OJ 3: -. f\) CD U1 From OPPTPMON OPPSCLUP Output (Figure 2 16) ~ Input Register 1 .. . ~ r- n m SCVTOOSX 400Sl0A Z DDSCTLA OOSXTCBC -, ill Unlock And UOJhare Any ~ DOS Which May Have Been Left "Locked' Or 'Shwed' By The Terminating T. . ... en I .. ~ I I ; I ):at ... I r- . y~ I I , DOSOECB"s ~ ~. I 3C > -I ::D DOSIOA I t o m I , t m -a I 3J :f2l~ Any .......,~ .. ----I-L -r.. I I From This DDSX T_ Chain And OtherTask's DOSDECB's From ~ DDSIOA QI8in For This . . u.r, DC8 .... .. o . ..) ; "m :D -t -< I o"'II I a:J I f 1-_ - ,..., -3: m Disconnec:t Any Of This Task's DDSIOA's From Their DDSCTLA's, Restore 1l1e AIsoc:i1Ited lJIer's ""''''', And F. . 1l1e Con For Thole DDSIOA's Return To CIIIIIr Figure 2-78 (1 Of 2) - DDS Task-End Cleanup Figure 2·78 (20f 2). Step Extended Description Messages and ABEND Codes POL Segment 1 Those DDSs which were left shared or locked, if any, will be in the DDSX task chain for this task, which can be located from the pointer to the DDSXTCBC within the SCVT. DPPSCLUP 2 Sihce each reserved (unchecked) DDSDECB is logically part of two chains, the task chain and the DDSIOA chain,each must be de-chained from both chains if there are any for this task, or for any DDSIOA for this task. DPPSCLUP r(") m Z en 3 Any DDS opened DDSDCB will still be pending if they were not disclosed; therefore, these user DCBs must be restored to their preopen status. The OS/VSI system will close the DCBs within the DDSIOA, which will.also be freed •. DPPSCLUP m o s: »-f m :JJ » r- "'0 :lJ o ." m :0 -f -< o ~ -. N 0....., 0 DPPSRSTR From OPPINIT1 (Figure 2·12) ~ Input Output Process OOSCTlHD ODSCTLHO ~--- 1---- .....IDlf .... This Is A Write Restart In READONL Y Mode, Return Directly To OPPINIT -:> : I I ~u~ Off The r n m Z READONLY Rag And Abend My Task Which Has Outstanding DDS (I) m o Requesu 3: ODSCTLA', t-----1DDSTATUS o.ta Set .... ~ The DDSTATUS Data Set And Read In The DDS ~ .... ..:> ~ m ...) XI » r Status Record, Updating Each IrM:ore DDS Control Area Repmented In The DDSTATUS Record I "'0 XI o "'0 A Message (If !"equl~-' Indicating Any I .. In..t"" .. ... .. ") Incorw DOS ControIArea Not Found In "The DDSTATUS Record Or Any DDS On· 'The Status And m K.... "ecord Incore XI ~ Messages ~ A Message Indicating Restart Is Complete Return To Caner Figure 2-79 (1 Of 2) • DDS Failover/Restart »-I >L:::J -I < o "'" Figure 2-79 (2 of 2). Step Messages and ABEND Codes POL Segment Extended Description writ~ 1 Failover/restart processing is not required at time in read only mode. 2 Those tasks which have outstanding DDS requested, as noted in the DDSX task chains, will ABEND with code decimal Bl. 3 restart data set If the DDS TAT US data set cannot be opened or if the DDS status record cannot be read, output the appropri~te messages. DPPSRSTR USER Bl DPPB901 DPPSRSTR DPPSRSTR (I) m C DPP8B2I 5 m Z DPPB9lI DPPB921 4 rn Messages indicating that the DDS status data set has too many or not enough declarations alert the operator to these conditions. DPP886I DPP887I DPPSRSTR The 'DDS restart is complete' message indicates that the DDS aspect of Failure/Restart (updating in-core DDS control tables) is completed. DPPB88I DPPSRSTR 3: l> -i m ::D l> r- " o ::D "m ::D -t -< o." CD 3: -oco ~ CHECK Macro Call DPPSCHCK Output Determine That The User's OECB Is Connected To A Reserved ODSOECB If r om Invalid Exit Z m (I) Return To (!] ... C Caller Share The DDS And Call 3: OPPSCHPR To Determine Which Half Of The DDSDECB Is Primary And ~ Which Half Is Backup m - .. ::xJ DPPSCHPR > r I Primary DOSDECB Determinator 2-95 If UMble To Determine -0 ::D o -0 Perform Actual Check On The . . . . . . . , - - - - - - r - - - - - - y - - - - - - V 1-----,..,....,......,....., Primary ODSOECB Half, And, When Appropriate, On The Badcup DDSDECB Half < User's OECB Available Reserved Flag X 'FF' "_~lIDRelease The DOSOECB For Future Use And Unshare The DDS Return To Figure 2-80 (1 Of 2) - DDS CHECK Module m :u -I o -ms:" Figure 2-80 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description I This determination is made by comparing the user's DECB pointer in the DDSDECB with the address of the user's DECB. The availability/ reserved flag (DDSDAVAL) within the DDSDECB should be X'FF' to indicate a READ/WRITE operation has been executed. If this condition is not satisfied, the user's SYNAD is taken. and control is returned to the user following his CHECK macro (bypassing steps 2-5). DPPSCHCK The module DPPSCHPR will return the address of the primary half of DDSDECB and the backup half. If the DDSDECB is not properly organized and such a determination cannot be made, the user's SYNAD will be taken and control will proceed directly to step 5. DPPSCHCK 2 3 r- n m m C ~ ~ .~ After initially checking on the primary half DDSDECB.the backup half is checked if both the backup is in-se,!=,vice and the DCB Js opened for update or output. DPPSCHCK ~ <0 m :J3 l> r- If SYNAD occurs on the primary DDSDECB and indicates a hardware failure, switchover will occur automatically if the backup is inservice. If SYNAD occurs·during the backup CHECK,the backup is taken out~of-service. If SYNAD occurs and there is no backup or no hardware failure, the user's SYNAD is taken. -- Z (I) 4 The user's DECB will contain the correct ECB code and pointers to the primary DDSDECB data (lOB, etc.). When running in update mode and the check is for a prior read operation, the backup lOB address is saved in the us.er' s DECB in the low-order three bytes of his ECB. DPPSCHCK 5 The availability flag is set ·to X'OO' and the DDSDECB is taken off its DDSIOA reserved and TASK reserved chains. DPPSCHCK DPPSNTPT r- o m Z en Call The Approprim Routine OOSIOA User's OCB D U1er Options D DOS NOTE Processor 2-82 OOSPOINT/FIN (Type C) Processor 2-83 D User's Note List D m C 3C l> -t m :0 l> rI -a :0 o-a m :0 -t < o"TI CD 3C Figure 2-81- DDS NOTE/POINT Sending Interface LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank. 2-193 DPPSNOTE DPPSNOTE Process ODSCTLA User's DCB r OOSIOA I ---- ---I r-I I I I I I I I I , + OOSCTLA ----- .J nm 2 (I) m 0 ~ I1J Execute The NOTE Macro On The Primary DCB m ::D ..,I f :u I L »-f »,... I I ODSCSECB ,... I I I I I I OOSCTLA + OOSOC81 Share This DOS 0 UnshaIe This DOS " m ::D .... -< 0 "-aJ ~ Figure 2-82 (1 Of 2) - DDS NOTE Internal Figure 2-82 (2 of 2). Messages and PDL Segment ABEND Codes Step Extended Description 1 The DDS share function is used to prevent a lockout of this DDS during the note operation. DPPSNOTE 2 The primary DCB is used since there is no output, and the backup need not be inspected. DPPSNOTE This DDS is released for other tasks to lock. DPPSNOTE 3 r- n m Z (I) m o 3: » -t m :u » r." :D o ." m :0 -t- -< o ~ ....~ DPPSNPNTF Input From DPPSNTPT (Figure Output (0 (l) DDSCTLA DOSCSECB ~--- SNre This ODS -r- OOSCSECB I I I I I I I r- n m II] Z Eumine CIIJerIs PNwious InstNCtions To Dmrmine fI) m C 3C TheTypeOf~ J »-I If This Is A POINT Request, Then laue POINT For The Prinwy DC8 (And a.ckup DC8 If The Bckup I. InService m -»r- :D DDSIOA I ." :D a.cIwp DC8 If This Is A FIND (TYPE-C) Request. Then ..... FIND(TYPE-C) MKro For The Prinwy DC8(And a.ckup DCa If The BIdwp Is In-Semce, 0 ." m :u -I -< ,.. 0 -3C OJ 1..._ Figure 2-83 (1 Of 2) - DDS POINT Or FIND (Type-C) Unsha,. The DDS Figure 2-83 (2 of 2). r-----r-------------------------------------------------------------------------~----------_.-------------- Step Extended Description Messages and ABEND Codes POL Segment 1 The share function will be used to prevent a lockout of this DDS until to POINT or FIND is completed. DPPSPNTF 2 The indexing on the BALR instruction within the macro indicates the type of macro (no index = POINT, index = FIND (TYPE = C». DPPSPNTF 3 The POINT should be executed to the backup also if the backup is in-service. DPPSPNTF 4 5 The FIND (TYPE is in-service. = C) should be executed for the backup when the backup The share function will release this DDS for locking. ,n DPPSPNTF m Z m DPPSPNTF »-i CI) o 3: m ::D » ,o" ::D " m ::D -i -< o ." DPPSRDWT Input ODSCTLA ODSCHRON J If REAOONL Y And This Is A WRITE. Return To Without Starting I/O ~-----r- I rm •I User OEca c=J---- (; I I I --- ~ ... Z (I) III m Allocate An Available C DOSDECBA 3: DOSIOA o »~ m :Il Primary DCB Backup DCB » rt ." OOSOECB ::u 0 ." L __ I OOSDECBS __ .JI m ITE OrREAO Update • ...-._ _--L-..... I/O For The Backup DCB ~-----r-----r-----V :Il -t < 0 ~---- ." CD ~ Return To Figure 2-84 (1 Of 2) - DDS READ/WRITE Module Figure 2-84 (2 of 2). Messages and ABEND Codes PDL Segment Step Extended Description 1 Output operations are invalid when running in read only mode. Returning to user without starting I/O will cause a SYNAD if he should try the related check, so a meaningful return code is given. DPPSRDWT 2 Should no DDSDECBA be available for I/O the user will be given a meaningful return code. DPPSRDWT r n m Z When an available DDSDECBA is found, it is marked reserved and connected to the user's DECB. en m 0 3: 3 The I/O is started against the primary DCB by branching to the appropriate OS/VSl routine. DPPSRDWT l> -f m 4 The I/O needs to be started against the backup if in UPDATE mode so that the subsequent write update can be done for the backup also. DPPSRDWT l> r ::D -0 ::D 0 -0 m ::D -f -< 0 -n OJ 3: DPPSBFl Output . Input R~14 --, I Previous Macro Instructions L-- SR&ALR 14,15 I I -t I I I L ,.. nm Examine Previous Instructions In Macro Z en m rn C IF Previaw Instructions Indicate DDSFIND (TYPE-O) Macro Type Indicator m :XJ ~ THEN ~1 !: »-t • Set The Type Indicator For DDSFIND (TYPE-D) • Recornplement The IJser's DeB Pointer User's DCB Pointer ,..~ I -0 :u o -0 lher's DCB m ELSE • B1, Set l'h4! Type Indicator For DDSBLDL • B2, Set The User's DCB Pointer As Is ~ -< o"TI CD 3: Register 0 Call The External Routine DPPSBFST To Execute The Actual BLDL/FIND(TYPE-O) Request Macro Parameter(s) Execute SLOLI . . . . . . .~ FINO(O) Or STOW 2·100 Figure 2-85 (1 Of 2) - BLDL/FIND (Type-D) Formatter Figure 2-85 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 The previous instructions generated by the DDSBLDL or DDSFIND (Type-D) macros indicate which type 6f macro was issued (an LCR 1, 1 instruction would indicate DDS FIND instead of DDSBLDL). DPPSBFl 2 The type indicator (used as input to DPPSBFST) is 0 for BLDL and 4 for FIND (TYPE-D). DPPSBFl m Z (I) m The user's DCB pointer will have been complemented (negative value) by the macro instructions for DDS, FIND (TYPE-D). • 3 The external routine DPPSBFST executes the actual BLDL or FIND and expects as input the user's DCB, the macro parameter, and the type. The return code from DPPSBFST is not altered when returning to the user. r- n C DPPSBFl 3: l> ~ m ::D l> r- " o -v :D m ::D ~ < o -n CD 3: DPPSCLl Input Dose LOSEMa.o~ Output Procea OJ --- --- ..... Usar's 008 If The User's DCB Is Not For A DOS, Issue The r.1 ~ SVC Against The User's OCS And Return Directly To The User .. .... ""J r- n m DDSlOA . r - I ---. ) CLOSE The Primary DCB ~, If OPENed,cLOSEThe BackuJ: DCB l~ .... ig}Restore The User's DC8 To I .J. I - - - -+ I I I L Its Pre-OPEN Status, And Remowe The DDSIOA And » DOSIDC82 m •• + ... ...> --OOSOECB's ... t • t ~ ~-- .. The Core For The DDSIOA, And UnshaI'e The DDS ~ :u » rI "V ::D o "V OOSCTLA ~isconnec:t The DDSIOA From The DDSCTLA, F,. i: DDSIOCS1 DOSDECS's From Their DDS TASK Otains. ... " m ::D ~ ""J DDSCIOA -< o '"" iii 3: --. Ratum To c.Ier Figure 2-86 (1 Of 2) - Close A DDSDCB C Jo.. I I m .... 1m Z (I) Figure 2-86 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 If the user did not declare this DDS during initialization, it will be running in single mode, and the user's DCB will be closed. Steps 2 through 4 should be omitted, and contr~l returned directly to the user. DPPSCLI 2 The DDS must be shared and both the primary DCB (within the DDSIOA) and the backup DCB should be closed, if the backup had been inservice at open time. DPPSCLI . r- o m Z (J) m 3 4 Those fields of the user's DCB (DDSIOA, DDS READ/WRITE, DDS CHECK , DDSNOTE/POlNT, DCBOFLGS) which were altered at DDSOPEN time will be restored to their pre-open status. The DDSIOA and any unchecked DDSDECB for this DDS lOA will be removed from their DDSX task chain (DDSXTCBC) which is _created the fi-rst time a task uses DDS. DPPSCLI The DDS lOA pointer in the DDSCTLA will be zeroed and the core for this DDSIOA will be FREEMAlNed, the FREEMAIN parameters having been saved at DDSOPEN time. This DDS will be unshared. DPPSCLI o 3: » -t m ::D » r- " o ::D "m ::D -t -< o-n OJ s: DPPSOPl Input User's DCB D-----f--~- rm ei Z (I) m C OPEN The Primary And s.ckup DCB's 3: DDSIDC81 ~ m DDSIDCB2 o f t DOSCTLA DDSDECBA'J ~-+ • I I I I i :D l> rI "V :D Q m :II ~ I L_ 0 '"TI -3: CD Initialize All DDSDECBA's As Available For I/O f'..I----..--\ Figure 2·87 (1 Of 2) - DDS OPEN Routine Figure 2-87 (2 of 2). Step Messages and ABEND Codes PDL Segment Extended Description 1 The DDS lOA will be GETMAINED from subpoo1 0 and the FREEMAIN parameters saved. The NCP operand (default = 1) of the user's DCB will determine how many DDSDECBpairs are generated. DPPSOPI 2 If the primary OPEN fails, automatic switching will be performed if the backup is in-service. If the OPEN On the backup fails, take backup out-of-service will become automatic. DPPSOPI r(") m Z 3 4 5 The DDSCTLA should point to the DDSIOA and vice versa. DCB should point to the DDSIOA and vice versa. The user's DPPSOPI en m 0 ~ The DCBOFLGS must beset and the addresses of DDSREAD/WRITE, DDSNOTE/POINT, and DDSCHECK must be set in the user's DCB. DPPSOPl Each DDSDECBA will be initialized and available for use in I/O requests. There will be a serial chain of available DDSDECBs minus the reserved DDSDECBs. DPPSOPI » -f m ::xJ » r-0 ::xJ 0 -0 m :0 .... < 0 ." to 3: DPPSST1 .Input Register 14 Previous Macro Instructions }--- r- (; m BALR 14,15 Macro Type Indicator m C Register 1 -'I-1~L= User's DeB Z fI) 3: Set The Type Indicator Accoroing To The Previous t--------o.-~ Instructions And, If Needed, Rec:ornpIiment The Parameter Registers User's DC8 Pointer ~ m ::D l> rI '"a :D o'"a m Register 0 :0 -t Call The External Routine DPPSBFST To Execute The Actual STOW Request < o Macro Parameter(s) ." OJ -1 ... ....~ RetUrn To Macro Caller Figure 2-88 (1 Of 2) - DDS STOW Formatter ExecuteMKro STOW 3: Figure 2-88 (2 of 2). Messages and PDL Segment ABEND Codes Step Extended Description 1 The previous instructions of the STOW macro indicate which types of STOW macro is being issued. DPPSSTl 2 Set up type indicators by complementing registers as follows: DPPSSTl Macro Type STOW STOW STOW STOW 3 r- Register to Complement n m Z (R) 1 CJ) (D) (C) 0 0 and 1 o (A) none The external routine DPPSBFST will execute the actual STOW macro to both primary and backup (if in service) and returns the proper return code for the macro caller. m 3:. ....m~ DPPSSTl ::n ~ r- ." ::n o ." m ::n -I < o ." From Special Rell-Time ap.ating System Input , . . . . . Proceaor D~P_P_SM ____S_G____I ________I~nprt ________________~v.~.~APATcH~ Reginar 1 r- TcaX I I TcaXDCVT TCBXRSTB TCBXPARM r n. m z I en m I XCVT C I XCVTCVTS ~ » ~ I I :xJ l SCVT SCVTDDSE I I I I I DDSCTLHD t DDSCTLA's m ---- • --- > r rnUse The I Appr~ prim Proc:eaor To H.ndIe The PIrticuIar Request -I U -0 :xJ Q m ::D ~ -< I I 0 -n I I OJ _J - - - - -~ Figure 2-89 (1 Of 14) - DDS. Input Message Processor Main Segment 3: Figure 2-89 (2 of 14). Messages and POL Segment ABEND Codes Step Extended Description 1 The message DDS NOT DECLARED will be output when the DDSNAME is not declared in the DDSCTLAs. DPP0631 DPPSMSGI 2 Valid requests are STATUS, TAKE, CREATE, COMPARE, REPLACE, and SWITCH. The default is STATUS, and if the code is none of these, output the message DDS REQUEST NOT UNDERSTOOD. DPP0711 DPPSMSGI 3 There is a processor HIPO chart for each internal processor: r- DPPSMSGI nm Z (I) m TAKE (see Figure 2-89 (3 of 14) ) STATUS (see Figure 2-89 (5 of 14) ) » -t SWITCH (see Figure 2-89 (7 of 14) ) :0 CREATE (see Figure 2-89 (9 of 14» REPLACE (see Figure 2-89 (11 of 14» COMPARE (see Figure 2-89 (13 of 14» o 3: m » r- " o :0 "m :0 -t -< o -n OJ 3: ~ DPPSMSGI (Take) From Main Segment (Figure 2-89, 1 Of 14) Input I1J rI LOCK This DOS r- I DDSCTLA I I Z (I) m I DDSCTLA ~--- I I ~---t I I 0 3: ill ~ m Call External Routine OPPSTBOS To Take The Backup :D Out-Of-Service I Take Backup OutOf-Service2«l I l> rI ." ::D I Q m I I L_ nm rn ::0 ~ UNLOCK This DDS 0 -"3: OJ Return To Segment (Figure 2-89, 1 Of 14) Figure 2-89 (3 Of 14) - Take Backup Out-Of-Service Processor FIgUre 2-89 (4 of 14). Step Extended Description Messages and PO.l Segment ABEND Codes 1 Use the internal DDS LOCK function to inhibit the use by other tasks of this DDS until the function is completed. DPPSMSGI 2 ·The routine DPPSTBOS will cause the backup to be taken out-of-service (if not already) and will set the DDSCTLA as such. DPPSMSGI 3 Use the interna'l DDS UNLOCK function to release the LOCK on this DDS. rDPPSMSGI esm Z (I) m C 3: » -t m :D » r-0 :II O. '"'G m :D -t -< o ." Q) 3: DPPSMSGI(Status) From Main s.gm.rt (Figure 2., 1 Of 14) Input r-I DOSCTLA If The BKkup Is Out-Of·SeMce. Output A Mesuge Which Indates The Primary And t---y----, BKkup DO N.mei With The Indication That The Backup Is Out-Of·Service Backup F'-9 -----_.- C 3: I ~ --; L__ I Z en m I I I Out-Of-8ervice r- n m If The Backup Is In-Service. Output A Message Indic:fting The PriINr( And Backup DO Names And The Indication That The Backup Is In&vice m :D » rI ." :D Q m :D ~ o ." Figure 2-89 (5 Of 14) DDS Status Message Processor Figure 2-89 (6 of 14). Step Extended Description Messages and POL Segment ABEND Codes 1 The message indicating the DDSNAME, the primary DDNAME, and the backup DDNAME will also have the message OUT-OF-SERVICE. DPP0561 DPPSMSGI 2 Ths message indicated in step 1 will be standard (indicating the backup is in service). DPPS0561 DPPSMSGI r(') m Z (I) m C ~ » -4 m :xl » r." :xl o." m ::IJ -4 < o ." OJ 3: ....~w From Main DPPSMSGI (Switch) Proc:aor (Figure 2-89, 1 Of 14) Process Input ~ ill r- f-+ LOCK This DDS I I (") I ~--- Ir m I DDSCTLA I Call OPPSSWCH (External Routine) I To Perform Switth Function I f---1 ~ ...- I I J .... ..) DDSCDDNt en DDSCDDN2 C m ~Jo.. . /' m 2 3: I -- - .... .~ ...=> J ~I~(,A » -I m -»r::XJ Switch Primary And Backup 2-91 I I rn I Metuge ..) If· a.dtup Was Not Alreldy In-Service, Output Appropriate &ror Mesuge I I ... I DPP082 ~ -0 .::XJ o "V m :D -I -< o-n I I L_ r- DDSCTLA [i) i+ IUNLOCK This DDS Return To Main Segment (Figure 2-89, 1 Of 14) Figure 2-89 (7 Of 14) - Switch Backup To Primary Processor Figure 2-89 (8 of 14). Step Extended Description Messages and ABEND Codes PDL Segment I The DDS LOCK function is invoked to prevent other tasks from interfering with the SWITCH operation. DPPSMSGI 2 The internal routine DPPSSWCH will accomplish the switching of the DDNAMES and restart the I/O if necessary. DPPSMSGI 3 Switching cannot be done if the backup was not already in service; if this is not true, output a message indicating that the switch could not be accomplished. 4 The DDS LOCK function will be released to allow other tasks to continue processing this DDS. DPP0621 DPPSMSGI rn m Z en m DPPSMSGI C 3: ~ -i m ::u ~ r." ::D o ." m :xJ -i < o ." OJ 3: DPPSMSG I (Create) From Main Segment. (Figure 2-89, 1 Of 14) I :=~ ~ Only Flag Output ~- Input - - - - f- - - - I --. W nuoo I. RE~NLY Mode, Output The Appropria~ ~-------.r----....., Error Message And Return Directly To The Main Segment r(") m Z en m C link To The External 3: l> -t Routine DPPSCRBK To Perform The Function Of Creating A Backup Copy m .. ::u Create A Backup Copy 2-92 »rI ." :0 o ." !IJ If Create Was Successful, Output The Status Message And Update The DOSTATUS OaU Set, Return To Main Segment m ::u -f -< o ." m 3: If Create Was Unsuccessful, Output The Appropriate Error Message Figure 2-89 (9 Of 14) - Create Backup Processor Return To Main Segment (Figure 2-89, 1 Of 14) Figure 2-89 (10 of 14). Step Extended Description is 1 CREATE function 2 The·external module DPPSCRBK will direct the actual COpy operation and bring the backup in-service. 3 The DDSTATUS data set contains the latest information concerning the DDS declarations. The status message indicates the CREATE completed successfully. 4 prohibited in the read only mode. Either the backup was already in unsuccessful. s~rvice or the COpy operation was Messages and ABEND Codes POL Segment DPP8891 DPPSMSGI DPPSMSGI DPP0561 DPPSMSGI r- om Z DPP0641 DPP0591 DPPSMSGI en m o 3: »-I m :u »r- DPPSMSG I (Replace) From Main Segment (Figure 2-89, 1 Of 14) Process Input s- 1m DDSCTlHD DOSCH RON _____ I- _ _ _ "" ___ .. If A User Task Is Already Using This DDS, Then Output The Approprim Error Message And Return r nm . . . . . . . . . To The Main Segment Z m (I) DDSCTLA [1J DOSCTlA -.J----"'..) r------~----~L-.. t-[UIDsLJ:jro~UUi5i"NN:12i----' ,1"'--'----...---.----.----""1..,./ ----' I Set That Backup DDNAME To Be The New Prirn..-y DDNAME And Set The New ......... ~-%5~~~Primary DDNAME To Be t----y---~---.----,l Y The 3rd Parameter Entered _ _.1'00.. .. ...... (Or The Old Backup - -........//~-----_, DONAMEI [ o ~ l> -f m~ :D l> rI "V :a Turn The Backup-OutOf-Service Flag Off ~ DDSCTLA's ~- ~ m ~ i[1] ::> ....) r----....---__ ----.-----yv Output The New Status ""-=:J MeIuges 0 L _ _ _ _......... AndWRITEThe DOSTATUS..... Record - - - - - - - - - -.................. .-- I : ~ ~--~----~:'~I~ RMum To M.in SegmMt Figure 2·89 (11 Of 14) - Replace Primary DDS Processor (Figure 2-89, 1 Of 14) :D -f -< o-n Figure 2-89 (12 of 14). Step Extended Description I The REPLACE function is invalid if a DDSDCB is already opened against the DDS. 2 If the user did not enter a third parameter, the default will be to change the old backup to the new primary. In either case, the old primary will become the new backup. 3 4 Messages and ABE N 0 Codes PO L Segment DPP065I DPPSMSGI r The REPLACE function automatically sets the backup in service. (This is consistent since the old primary will be the new backup - the user can bring the backup out-of-service with a subsequent TAKE connnand.) The new status will be output and the current DDS declarations (as changed by the REPLACE request) will be recorded on the DDSTATUS data set. DPPSMSGI DPPSMSGI n m Z (I) m o DPP057I DPPSMSGI ~ » -f m :0 » r ." :0 o ." m :0 -f -< o ""OJ 3: N N N DPPSMSGI (Compare) o rm ei Z en m C 3: » -t j------------t______i -______~rnSet The Default Compere m ::D DDNAMES To ThIIt Of The Primary And Backup DDNAME List 1> rI "1:J :xi m o "1:J If The User Specified His Own DDNAMES, Set Those As The CoInf*8 DDNAMES m ::D -t -< o " III LINK To The External Routine OPPSCMPR To Perform Actual Compare DDS Compare Routine 2-93 Figure 2--89 (13 Of 14) - DDS Compare Processor Figure 2-89 (14 of 14). Step Messages and POL Segment ABEND Codes Extended Description 1 The default for the COMPARE request is the compare to set against the backup. 2 The user can specify his own DDNAMES and effectively compare any two data sets of like DSORG. 3 The external DDS routine DPPSCMPR will direct the actual compare and the messages. primary data DPPSMSGI DPPSMSGI r,r DPPSMSGI n m Z en m o 3: » -f m :IJ » r ~ :IJ o ~ m :IJ -f < o ." OJ 3: . OPPSTBOS From A DDS Module Input ~ Output Process DDSCTLA ~_D_DSC_D_D_N_l_-l } __ _ DDSCDDN2 DDSCBOSF ~--- I I I I I I r- - I..... m L - (") m Z en m If The Backup Is Already Out· Of-Service. Return Directly To The Caller With The Proper Return Code. C 3: ... DDSCTLA ill » -t m Set The Out-of-Service Flag On In The DDS Control Area .... :2J And Output A Message Indieating The kkup Is Being Taken Out-of-5ervice v ); :> ... I -U DDSIOA ... III .":> Use The OPEN/ClOSE Half DOS Routine DPPS OPel To CLOSE The s.ckup DCB .... ., Figure 2-90 (1 Of 2) - DDS Take Backup Out-Of-$ervice :2J o -U m :2J -t ... Return To Caller [)PPS()PCL ()pen/Close Half ADDS 2-98 -< o " Figure 2-90 (2 of 2). Step Extended Description 1 Another request may have taken the backup out-of-service before this module gains control. . 2 This message will indicate that the backup was taken out-of-service successfully, as requested. 3 The backup DCB will be closed (asynchronously if opened by a different TCB) and the DDS status will be updated to reflect the change in serviceability of the backup. Messages and ABEND Codes PDL Segment DPPSTBOS DPP0561 DPPSTBOS DPPSTBOS r (") m Z (I) m C 3: » -I m :IJ » r ." :IJ o ." m :IJ -I -< o ~ CD 3: DPPSSWCH Input r- ei DOSCTLA ~---.~- rn There If m Z Is All Opened DDSDCB Which Had Been Opened For Input, Then Call 1--_ _ _ _ _....1.-_..... ECB's DPPSRCIO To Re-Create The L..-_ _ _ _ _ _ _-------.-----~ To The en m o 3: » -t m Recreate I/O To The Backup 2·99 ::D » rI o DSCT LA Switch The Primary AIld Backup DO Names As Well As The DCB Pointers DDSCDDN1 -a ::u o-a m ::D -t -< o " Return To Caller Figure 2-91 (1 Of 2) - DDS Switch Backup To Primary Figure 2·91 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 Switching is not possible if the backup is not already in service. DPPSSWCH 2 When a DDSDCB is opened for input, these I/O requests will not have been issued for the backup. This needs to be accomplished since the backup will become the primary data set. DPPSSWCH 3 The DDNAME within the DDS control area indicates which is primary data set and which is backup for the CONTROL and COPY functions. The backup will be automatically taken out-of-service as part of the switch over function. DPPSSWCH ,... n m Z en m C 3: » -I m :IJ » r." :IJ o." m :IJ -t -< o ." OJ 3: ~ N N U'I DDS Create A Backup Dr-""P_P_S_C_R_B_K ___ln_pu_t_ _ _ _ _ _--..;F~ro...,~ ~:)~MSGI (Figure 2-89) -, OJ Process Output BackuJ:. Data Set Update The Backup's DseB As Per The Primary's DseB I I I IL ___ [lJ r EXCP DCB's ,. Establish Two OPENed EXCP DCB's n m With Proper Disk Start Address Z en m INPUT (Primary) OUTPUT (Beckup) C 3: ~ -I ill m :D Acquire A Buffer large Enough For One Full Track And C9\>y The Primary To The Backup, Release The Buffer -, Then l> r I I I I I r-I I I Beckup Dataset [!) If The DDS Is Not In Use Or If In Use As Output By A User Task, Update The Last Record Field Of The Backup DseS's I '"'0 :D 0 '"'0 m :D -I < last Record F"eeid [ID ." - CD 3=: If The DDS Is In Use By A User T_, AsynchrOllOUSJy OPEN The s.dwp DCB And Re-create The 110 For The Badcup OA Figure 2-92 (1 Of 2) - DDS Create Backup 0 Figure 2-92 (2 of 2). Step Messages and ABEND Codes PDL Segment Extended Description 1 The following fields will be updated in the backup DSCB: RECFM, OPTCD, KEYLEN, BLKSIZE, and LRECL. DSORG, RECF 2 The primary EXCP will be opened for input, the backup EXCP will be opened for output, and the extents will be acquired from examining the Data Extent Block built by the OPEN. DPPSCRBK The buffer size will be found using the DEVTYP macro and the COpy operation will be track-to-track for every track in the extent. DPPSCRBK DPPSCRBK .o 3 4 5 m Z (I) m The last record field of the backup EXCP DCB (which would be pointing to the end of the extents as a result of the COpy operation) will be updated so that during the CLOSE the backup DSCB will be correctly updated. DPPSCRBK Each unchecked reserved DDSDECB for output or READ update will have to be restarted for the new backup. DPPSCRBK o 3: l> -I m ::D .-l> o" ::D "m ::D -I -< o ." OJ ~ DPPSCMPR From DPPSMSGI (Figure 2-89 (13 Of 14)) Process nput ~ Register 1 I - tI .... Input List DDSCTLA DDNAM t I- - -r-- t--_..J - -- r----. I DDSCTLA ---- -- - -- -. DDNAMEl I ~ 1 _Joo ...) I J 1 I I OJ Read The JFCB's For The Two DDNAME& Specified If Invalid Exit r I1J Build The Input Control .", ~ Cards For OS/VS1 System Utility IEBCOMPR If Unabie To OPEN, Exit ... r----- n m ~ (I) Z m DDSCMPIN C ~ 3: » ~ m !II I --" Set Up The DDNAME List ... For The Utility IEBCMPR :D l> r I -0 ::D J Message [!] ~L::J LINK To IEBOMPR For The Actual Compare And Issue Message 75 o-0 m ::D ~ -< o ." IEBCOMPR ~ .............. Compare Messages >LJ ~ Output The Appropriate Message Indicating Results Return To Caller Figure 2·93 (1 Of 2) • DDS Compare Figure 2-93 (2 of 2). Step 1 Extended Description Messages and p"-;L Segment ABEND Codes If either of the JFCBs could not be read, output the message UNABLE TO READ JFCBs and return to DPPSMSGI. DPP073I If the DSORGs are not the same type, output message NOT SAME TYPE and return to DPPSMSGI. DPP074I If the control card data set DDSCMPIN cannot be opened and written successfully, output message DDS COMPARE CONTROL CARD ERROR and return to DPPSMSGI. DPP078I -:JPPSCMPR r nm Z m (I) C 3 4 5 J;PPSCMPR The two compare DDNAMES should be supplied by DPPSMSGI, DDSCMPIN will replace SYSIN, and COMPRINT replaces SYSPRINT. The DDS will be locked during the execution of IEBCOMPR ~ » -t m ::D DPP075I » Dy'?PSCMPR One of the following three messages will result: D;9~PSCMPR r." COMPARE ENDED, DATA SETS ARE EQUAL DPP036I COMPARE ENDED, DATA SETS ARE UNEQUAL DPP076I ::D COMPARE RESULTS ARE ON COMPRINT. DPP077I -< o ::D o." m -t ." aJ 3: From DPPXIMPP (Figure 2-65) I\..) ~ W DPPSRTCP a -. Input Register 1 J[!] ($1) XCVT RESTBL 0 Output Process Interrogate The Command Parameters Update The DSeB For The 'TC' Data Set l DseB r(') PROBL 0 DD1 002 I GJ ) Establish Two Opened EXCP DCB's With Proper Extents m Z en m 1 From DeB Acquire A Buffer Large Enough For One Full Track And Perform The Copy Operation (Track By Track) I C 3: > ~ m :D fm > rI Update The Last Record Pointer In The 'TO' OSCB And Close The EXCP DCB's "'V :D o"'V m DSCB~.-/• • • • • • • • • • ~ -< o-n CD 3: Figure 2-93.1 (1 Of 2) DDS Real Time Copy Return To Caller ....... 2-93.' (2 Of 2) Step Extended Description Messages and PO L Segment ABEND Codes 1 The DDNAMEs of the 'from' and 'to' data sets should be in the TIOT. 865 866 867 DPPSRTCP 2 The following fields will be updated: BLKSIZE, and LRECL • 868 869 870 871 DPPSRTCP 3 4 5 DSORG, RECFM, OPTCD, KEYLEN, The 'from' EXCP DCB will be opened for input, the 'to' for output, and the extents will be obtained from the DEBs. r(") m 2 en m DPPSRTCP 0 s: l> The buffer size will be determined using the DEVTYP macro and the copy operation will be track-to-track. DPPSRTCP The lost record field of the 'to' DSCB will be set according to that of the 'from' DCB. DDSRTCP -f m :D l> r-0 :D 0 -0 m :D -f -< 0 ." ClJ 3: I\) I - I\) ·w DPPSASOC From OSNSl D_~ .lnPIJt. ~ Process Regi~eI' 1 C DDS~ ill Jo, ...) DDSIPARM Set The Parameter Register For An SVC ... ~1 I ... 1 DDSI .... ~ r- o m , .. ----- ~ Jo, I r .; Execute The Predetermined SVC I I I L. __ --- .... Z DDSIOA ,m [j] POSTThe ECB At DDSIAECB .. 15 ..... ..~ Ji (I) m DDSDCBl C DDSDCB2 »-t ~ m :D nn<::LII.~l"R » rI "'0 :D o"'0 m ::D -f -< o " Return To System Figure 2-94 (1 Of 2) - Asynchronous OPEN Or CLOSE Figure 2-94 (2 of 2). Step Extended Description Messages and AB END Codes PO L Segment 1 The parameters DDSIPARM and DDSIASVC are set by DPPSOPCL which builds an IQE and causes this routine to be dispatched via a related IRB. The task under which the IRB is running should be the same as the tasl< that opened this DDS (this determination is made by DPPSOPCL). DPPSASOC 2 The particular request (OPEN or CLOSE) will have been set already by the module that had called DPPSOPCL. The SVC instruction code will be in the input parameter DDSIASVC. Either DDSDCBl or DDSDCB2 will be opened or closed, depending ort the inputs. DPPSASOC The ECB at DDSIAECB is the one the task for DPPSOPCL is waiting on. This results in a RETURN TO CALLER through the IRB path. DPPSASOC ·3 r("') m Z C/) m o 3: » -i m :0 » r"lJ :0 o "lJ m :0 -i < o .,., m 3: From DPPSCHCK (Figure 2-80) DPPSCHPR Process Input Output Register 1 ,-- Input List t t DDSDECB Primary DCB ___ JI I ____ t t DCBA DCBB I I I r- ---~ I I If DCB Pointer In DDSDECB1 Equals T'le Primary DCB Pointer In The input List, Then Set Outputs To indicate DDSDECB 1 is Primary And DDSDECB2 Is Backup J--II I lI I I I I I I I I I I I I m C If DCB Pointer In DDSDECB2 Equals The Primary DCB Pointer In The Input List, Then Set Outputs To Indicate DDSDECB2 Is Primary And DDSDECBl Is Backup I L Figure 2-95 (1 Of 2) - Primary DDSDECB Determinator 3: ~ m ::D > rI ""0 ::D ~ J. L_~ r- n m (I) I I Primary Or 0 Z I I -I-~ I Register 15 If Neither DCB Pointer For DDSDECBl N ,.. I I ." I I I I L_ :D o ." m :D Set The DDS Control Area's Address In The DD5X Lock Word For This Task :;! o -3:" CD OutPUt A Message Indicating That This DDS Is LOCKed Figure 2-96 (1 Of 2) - Lock A DDS Return To Caller DPP075 Figure 2-96 (2 of 2). r-----r---------------------------------------------------------.----------------~-----------~------------ Step Extended Description Messages and ABEND Codes POL Segment 1 The Special Real Time Operating System LOCK (defined by DPPSINIT) will be used while adding this LECB to the chain. • DPPSLOCK 2 The LECB will be posted when all previous DDS LOCKS are released and all current users unshare this DDS. DPPSLOCK 3 The DDSX task chain is used to indicate that this DDS is locked out in case this task should be prematurely terminated. DPPSLOCK r- n m Z (I) 4 The message DDSNAME IS LOC.KED will be outp·ut to inform the operator of the LOCK condition. DPP057I DPPSLOCK m o 3: » -of m :JJ » r~ :JJ o ~ m :JJ -f < o ." N N• ~ DPPSMSGO From Calling DPS Input Process Output m CVT Follow The Chain Of Pointers (From 10 HEX) To Get The Address Of The SCVT. CVTTCBP r(") m Z en o m TCB ~ If the Message Handler Has Been Initialized TCBUSER Issue The Output Via The Message Macro. ~. m JJ l> TCBX r- TCBXDCVT I XCVT Q "JJ m JJ ~ XCVTCVTS < o-n --1 I Reg 1 I ____ J A(Last PARM) Figure 2-97 (1 Of 2) - DDS Output Message Processor Figure 2-97 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment I This chain will give the address of the SCVT from which it can be determined whether or not the Special Real Time Operating System message handler has been initialized. DPPSMSGO 2 The number of variables in the message has been predefined with the offline utility DPPXUTIL. This message macro passes the maximum number of variables for DDS (5). DPPSMSGO r- n m 2 C/) m o s: .» -f m :IJ » ro" :0 "m :0 -f -< o"TI o:J 3: DPPSOPCL From A DDS Module Call. Input Process Output DDSIOA III ~ Opener TCB r- ---+ If This Module Is Running Under The Opener TCB, Then Execute The SVC Directly And Return To The Caller r C') m ASYNC SVC Z r- en m ill - - - ... C ~~I~d~:eS~a~~eer ~:ner 3: JOB STEP TCB IRB ~ m :xJ » ro- Get An IRB From The OSNSI System I "'0 :JJ 0 "'0 m Establish An IOE For The SVC Parameters :JJ -I -< 0 " Call The Stage 2 Exit Effector To Schedule The IRB OJ 3: IEAOEFOO Schedule IRB DDSIOA Wait On The Asynchronous ECB In The DDSIOA Figure 2-98 (1 Of 2) - DDS OPEN/CLOSE For Primary/Backup Figure 2-98 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 The SVC to be executed and the address of the task requesting the service are both in the DDSIOA input. DPPSOPCL 2 The validation algorithm assumes that the priority of the task requesting the service is less than or equal to the priority of the job step TCB. DPPSOPCL 3 The IRB is obtained using the CIRB macro. DPPSOPCL 4 The IQE contains the parameters for the subsequent routine DPPSASOC which will be entered asynchronously. DPPSOPCL 5 6 ,.. n m 2 en m 0 3: The stage 2 exit schedules the IQE in step 4 to be executed at the next task switch. DPPSOPCL The WAIT causes a task switch yielding control to DPPSASOC under the IRB of step three. DPPSASOC posts the ECB in the DDSIOA when completed. DPPSOPCL » -i m :0 » ,.. ~ :0 0 "U m :0 -i -< 0 -n aJ 3: N, N ~ DPPSRCIO From A DDS Module Input Process ~ Output DDSIOA DDSIOA ~------4 ITJ - - ~-, - - + I If This Is BPAM Or BSAM, Point The Backup DCB According To The First Unchecked DDSDECB Jo. :> Backup DCB r- I o m Z I DDSDECBS I en u------~ m o 3: I1J ~ Exit If There Are No Unchecked DDSDECBs m :0 l> rI "'0 :0 L 1- .. ---' DDSDECBs []] ~ m For Each Unchecked DDSDECB. Start The Same I/O To The Backup DCB For The Backup DDSDECB .,> ::D ~ o"TI - I Retum To Caller Figure 2-99 (1 Of 2) - Recreate I/O To A DDS Backup Figure 2-99 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 The OPEN parameters determine if POINT is allowed. The correct TTR can be obtained using the OS/VSl conversion routine for CCHHR to TTR against the primary DDSDECB lOB. DPPSRCIO 2 Unchecked DDSDECB require no I/O restart. DPPSRCIO 3 Each unchecked DDSDECB is chained sequentially according to the time that the I/O was issued, so the same order can be used for the backup DDSDECB. DPPSRCIO r(") m en Z m o 3: » -t m :D » r-g :::0 o-g m :D -t < o ." From DPPSBF1 (Figure 2-85) Or DPPST1 (Figure 2-88) DPPSBFST Input e Register 1 lL..--------' User's DCB Input List User'~ DCB t Macro PARAM Macro Type 1- DDSIOA I I m Return To I L r(1 - I ---, I I User's DCB If The Dataset In Question Is Not Duplicate, Then Issue f - - - - - - - r - - - - - r - - - - - ' V ' " The Desired Macro Against The User's DCB 2 Caller (I) m If A STOW Request Is Made . . . . . . . . . . .. In READONL Y Mode, Return .. The Appropriate Return Code To The User C s: ~. -t Return To Caller -1 m :0 ~ DDSIOA rI -a DDSIOA t Execute The Desired Macro Against The Primary DCB And, When Appropriate, Against Primary DCB The Backup DCB t Backup DCB DOSI DCB 1 DDSIDCB2 :0 0 -a m :xJ -l < 0 ." m 3: Return To Caller Figure 2-100 (1 Of 2) - BlDl, FIND (Type-D), Stow Executer Figure 2-100 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 The chain of DDS control areas is searched for one whose DDSIOA pointer matches the input (user's DCB DDSIOA pointer). Finding a match signifies that the data set is a DDS. DPPSBFST 2 No output is allowed in read only mode (backup computer). DPPSBFST 3 The DDS is shared during the executions of the macro. If a CONTROL function is needed (switchover if an error occurs on the primary, or take backup out-of-service if ~n error occurs on the backup of output), an interim DDSLOCK is placed on the DDS until the CONTROL function is completed. DPPSBFST r (") m Z en m C s: » -f m JJ »r ." JJ o ." m JJ -f -< o-n DPPSSHAR From A DDS Module Input ~ p rocess Output OJ Lock The DDS Share Chain And Clear The Input Share DDSCTLA OOSClECB DDSCSECB ~ ECB -,I I I I I -, _... _1 I I I I I DOSCTLA --'" 1m Ilf Thn DDS Is Locked Out. Add This Share ECB To The DDS Share Olain. Unlock DDS Share Chain. And Wait On The Input Share ECB ~ r(') :> m Z en m C 3: I L J_ . m'f l> -f m This DDS Is Not Locked Out. Increment The Share -+ :D Counter For This DDS And UnIodc Thn DDS Share l> O\ain DDSXTCSC iHJ Atea Record This DDS's Control In This Task's DDSX ... ') rI o" :D ~~.~ " TC8C Share Word m :D -f -< o"II Return To Figure 2-101 (1 Of 2) - DDS Sh8e Routine Figure 2-101 (2 of 2). Messages and ABEND Codes PDL Segment Step Extended Description 1 The share chain must be locked while additions or modifications are being made to it. DPPSSHAR 2 The LOCKING task will post all share ECBs waiting to share when it releases the DDS LOCK. DPPSSHAR 3 When this task unshares the DDS the share count will be decremented. DPPSSHAR 4 If this task should ABEND, the DDS cleanup routine could unshare this DDS by examining the DDSXTCBC chain. DPPSSHAR r C') m Z en m o 3: » -i m :D » r DPPSSRCH From A DDS Module Input ~ I t t ! I Input List t Otput u , Register 1 ~ p rocess CD r Start Of Table nm End Of Table CI) Input Argument '> Until All Entries In The Table Are Checked, DO Z m Length Of Each Entry @ Relative Key Position Key Length o Compare The Key Of The Input Argument With The Key Of Thi~ Entry In The Table 3: ! > -i m ::0 l> r I ([) Exit If They Are Equal "'0 ::0 (£] o "'0 Get Next Entry In The Table m ::0 -i Return Register 15 m If A Match Was Found, Pass That Address Back To Caller; Otherwise. Return Zeroes To Indicate No Match Found Figure 2-102 (1 Of 2) - DDS Search Routine Return To ... :> < o " Figure 2-102 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 Each entry in the table should be checked, starting with the first and proceeding serially until the last entry. DPPSSRCH 2 The caller will be notified by the contents of return register 15 if a match was found. Zero indicates that the argument has no match in the table, while a nonzero value will be the address of the entry matching the input argument. DPPSSRCH I o m Z en m C 3: » -t m :D » I o" :D "m :D -t -< o-n OJ 3: DPPSUNLK r--------------- From A DDS Module Input__________________~ Out DDSCTLA DDSCTLA DDSCSECB DDSCLECB - OJ -, I I I I L_ LOCK The DDSLECB Chain And Remove This LECS From The Chain DDSCLECB DDSCSECB If There Is Another LECB 'Waiting To Lock', Set The Lock Flag On And POST LECS; Otherwise, POST All SECS's That Are 'Waiting To Share' And Set The Share Count Accordingly - Clear r (") [1] m 2 m (I) C r----.,.....--..J 3: l> -t m ~ l> r Register 1 I If The 'Hold' Input Is Not On, Then Unlock The DDSLECB Chain And Output The Unlock Message " o." :rI m :rI -t -< DDSXTCBC Clear The Lock Word In The DDSX Task Chain Figure 2·103 (1 Of 2) ,. Unlock A DDS t-----,--------,r------~ I-------~ o ." Figure 2-103 (2 of 2). Step Extended Description I Use the Special Real Time Operating System LOCK to inhibit other tasks from acc'essing the DDSLECB chain while being modified by this task. 2 A task that is waiting to LOCK a DDS takes precedence over all tasks waiting to share that same DDS. 3 The caller has the option of holding the DDSLECB chain in LOCK (by setting the high-order bit of register 1 on) so he may use other DDS modules to make further modification to the chain. The message indicates that the DDS LOCK has been released. 4 The UNLOCK function should erase the LOCK pointer in this task's DDSX chain. Messages and ABEND Codes POL Segment DPPSUNLK DPPSUNLK DPP0581 DPPSUNLK r n m Z en m C DPPSUNLK ~ » -f m :D » r "'0 :D o"'0 m :D -I < o "01 ~ N N c.n - From A ODS Module DPPSUNSH Input ~ DDSCTLA DDSCLECS ~ DDSCSECB ~ -, OJ Lock The DDS SECS Chain Decrement The Share - ----. And Counter By 1 I I r- I I I L_ DDSCTLA ill - - -- -- n m 2 If The Share Counter Went IT. Zero.POSTThe First ~. IWaltlng To Lock. If Any, ""' .... ISet The Lock Flag On .. to. ) DDSCLECB ... ...) DOSCSECB en m C ~ ~ -f m ::rJ Register 1 ~----- L - -_ _ - ---. » r- @] If The Hold Input Is Off, Then Unlock This DOS SECS Chain I -a ::rJ o-a m 10 Clear The Share Word In This Task DOSX TCB Chain Return To Caller Figure 2-104 (1 Of 2) - Unshare A DDS ... ) .... DDSXTCBC ::rJ -f DDSXSHAR o ." -< Figure 2-'04 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment I Use the Special Real Time Operating System LOCK to prevent other tasks from using the DDSSECB chain while it's being modified. DPPSUNSH 2 Only after all current users are finished with a DDS can it be locked. DPPSUNSH 3 The caller could have specified HOLD (setting the high-order bit of register Ion) for further modifications. DPPSUNSH r(") m Z (/) 4 The share pointer to this DDS control area in this task's DDSX chain ·should be zeroed. DPPSUNSH m C 3: » -f m ;x, l> rI "'0 ;x, o"'0 m ;x, -f -< o ." CXJ 3: N N U'I w DPPSWRST From A DDS Module Input Process rDDSCTLHD DDSCTLA's l I - .... Set The DDS STATUS DCB Blocksize And OPEN The DCB For Output r- I om --' (I) Z m I I CLOSE The DDS STATUS DeB And Output A Message Indicating DDS STATUS C t-----,r------r------ Updated 3: » -f m :D » rI o" :D Clilculate The DDSTATUS Record's Length And WRITElr-----.J~-----'-----~ The Complete DDS Control t-----,r------r------..../! Areas " m :D -I -< o "OJ 3: Figure 2-105 (1 Of 2) . Write DDS Status Record Figure 2-105 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment I If this is read only mode, output a message indicating that DDSTATUS WRITE cannot be executed, and if OPEN failed, output a message indicating such. DPP884I DPP880I DPPSWRST 2 Each DDS control area (DDSCTLA) should be output to contain all DDS declarations. If SYNAD occurs, output message indicating unable to update DDSTATUS. DPP8811 DPPSWRST rn m 3 The message DDSTATUS HAS BEEN UPDATED will notify the operator that the DDS declarations have changed. DPP885I DPPSWRST Z en m o 3: l> -t m :xJ l> r ~ :xJ o ~ m :xJ -t < o ." OJ 3: DPPSXTCB .From A DDS Module Output Process Input DDSlI:TCBC ~---. [!J - Search Through DDSX Chain ..... For A DDSX TASK Chain Whose TCBX Is Same As This Task's r- n m Z en m o DDSXTCBC If No Match Is Found. Allocate A New DDSX Task 1 - - - - , . - - - - - , - - - - -...... Olain And Olain It To The DDSX ~ _ _~_~ 3: > -I m ::D l> rI -0 ::D o-0 m Return The Address Of The OOSX Task Chain In Register 1 ::D -I < o -" CD 3: Return To Caller Figure 2-106 (1 Of 2) - DDS Task Chain Locater Figure 2-106 (2 of 2). Messages and PDL Segment ABEND Codes Step Extended Description 1 The DDSXTCBCs are chained together and each one contains the address of its TCBX. DPPSXTCB 2 Allocation of a DDSXTCBC is obtained only once per task, and it is initialized at allocation time. DPPSXTCB 3 The address of the DDSXTCBC, either found or recently allocated, is returned to the user. DPPSXTCB rC') m 2 (I) m o ~ » -I m ::u » r-0 :JJ o-0 m :JJ -I -< o "OJ 3: LICENSED MATERIAL..;;. PROPERTY OF IBM Supplementary Services The Supplementary Services functional area is composed of individual subroutines each of which is entered by a macro call. These routines are not logically associated with any of the other functional areas but are used as subroutines by most of the functional areas. 2-258 Special Real Time ()perating System Supplirnentary Services Subroutines OPPIPFRE Page Unfix DPPXDEFL - OPPTWSVC - . Branch Entry I Define Lock 2-110 a- n m Z (I) m C 3: ~ m -»r:D I ." ~ ." m ...-< 2J o-n Figure 2-107 Special Real Time Operating System Supplementary Services Overview From GETWAIFREEWA ~~I~ Input I I Register 0 Register 1 I I Output Procell _1 W ItsueGETWASVC ~ n m Z I ~OO r FREEMAIN Services Required tI) .~GrnvA _ _ "j .. FreMi I m C ~ » .... m ~ t ra ..- ~ SeMces'i~~;:iad, rrnGETMAlN A New GFCB Is Built, And Added To The GFMB And TMCT Chilins. The Additionll GEl:\YA Core Is Gotten V .. GETMAIN. Return To Caller ); ... .. ~ ~ """"'-. I \ . . fffi Normal Completion Return To Cal_ Figure 2-108 (1 Of 2) - GETWA!FREEWA Branch Subroutine :JJ TMCT GFMB GFCB I ." I :JJ I m ~ o "V GFC8 ~ t GFCB :JJ .... -< o-n CD ~ Figure 2-108 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 A GETWA SVC is issued. DPPTGWFW 2 FREEMAIN services are indicated by register 15 being negative and equal to register 1. Register 1 contains the complement of the address to be freed, and register 0 contains the length. The FREEMAIN is issued and then control is returned to the user. DPPTGWFW 3 GETMAIN services are indicated by register 15 being negative and not equal "to register 1. The high-order byte of register I contains 012 3 ! r- DPPTGWFW m Z CI) m o 456 7 3: -...--~ GETWA o » -C In of GFMB needing expanding m :zJ TYPE » r- 00 - A.p 01 - AT 10 - PC "U :zJ o "U Additional GETWA space is obtained, a GFCB is created and initialized, and the GETWA is retried. If CBGET core could not be obtained, the GETWA storage is freed, and return code 8 is passed to the user. 4 If register 15 is not negative, return is passed to the caller. m :zJ -t DPPTGWFW < o "aJ 3: DPPTWSVC From SVC Call By DPPTGWFW (Figure 2·108) Input I Reg 0 I ~ to. and f I ) Output Process ill I ~ .. GETWA Function r - - r+ TMCT ~---- I ... I --I ...... .....- I A Block of Virtual Storage Is Allocated To The Requester DPPTWSVC A Block Of GETWA 2·109 (3 Of 6) Subpool Zero Virtual Storage I I GFMB ~-- -- -+I I ill .Jo-... FREEWA Function f--+ . I I GFCB ~---- ...,., .... -. --- ~-+- r-+ I I "0 1m t....... ~ Branch Entry (Used By SRTOS Task Management) .. I I ....... ""' All Virtual Storage Allocated To The Requester Is RetUrned ::J:J o "0 m ~ -< o"TI DPPTWSVC Branch Entry 2·110(lOf 2) I I ----- _-.J Return To Caller Figure 2-109 (1 Of 6) - GETWA/FREEWA 3: r- I I C l> I Blocks Of Subpool Zero, Virtual Storage m Z en m ::J:J FREEWA 2·109 (5 Of 6) I I (; ~ m OPPTWSVC I GFCBGFBE GFBE' ..L I -~ Or A Block Of 'Virtual Storage Is RetUrned r- Figure 2-109 (2 of 6). Messages and ABEND Codes POL Segment Step Extended Description 1 The function (GET or FREE) is determined by register 1. If negative, the request is a GETWA. If positive, it is a FREEWA. A detailed description of the GETWA function is shown in Figure 2-109 (3 of 6). DPPTWSVC DPTWSVCl 2 A detailed description of FREEWA is shown in Figure 2-109 (5 of 6). DP;pTWSVC DPTWSVCl 3 The branch entry to GETWA is used by Special Real Time Operating System task management only (DPPTPMON). It is used to free all AP and AT type GETWA storage allocated to a· task. A detailed description of the branch entry function is shown on Figure 2-110. DPTWSVC3 r- n m Z (I) m o 3: » -t m ::D »r- " o ::D "m :D -of < o." CD 3: OPPTWSVC From DPPTWSVC . (F.".. 2·109, 1 Of 6) ~ I I Reg 0 ~ Validity Oleck '" .:> ~ Request, If Invalid r And Register 15 Set Return Code, Then Exit TMCT .~ -n r- GFMB .... ~ TMCT~Z 00 ...... V .... ~ ."'~ - 1- 1---'" m Z Find GFMB For Large Enou!tt Block Size And See If There Is Any Available - en m "'''' L~C8 C == ~. rrn .:> ..... ..... Allocate Core To ... ) User ( TCBX (!J If No Blocks Are Available Set Up Code For Branch Subroutine (DPPTGWFW) TCBXTGWA m :a Register 1 = Pointer T c Core For User » rI GFBE ~ I I Type 0, AT GFBE Type - AP TCBXQGWA J I---.f I Block Of Subpool Zero Core I Or TMCT TMCTEXGW ---1 GFBE Type" PC I A Block Of Subpool Zero Core I Figure 2.,109 (3 Of 6) - GETWA Function Return To Caller Register 1 r-1 I ." :a o." m ::0 -I -< o -n ell == Figure 2-109 (4 of 6). Step Extended Description Messages and ABEND Codes POL Segment 1 The size of the request is validity checked to ensure that the request is riot for zero bytes. A zero request will not be honored, and a return code of 4 will be returned. DPPTVSVC 2 Each GFMB is checked to see the block size it represents. If the blocksize (GFMBSIZE) is equal to or greater than the requested size, the number of blocks available (GFMBFCNT) is checked. If there is a block available, a GFCB for the size with available blocks is located (GFMBGFCB) and a GFBE is taken from the free chain (GFCBGFBE). The core address for the core represented by this GFBE is calculated. DPTWSVCl 3 The GFBE for TCBXTCWA TCBXQGWA TMCTEXGW the for for for core being allocated is then chained to the user Type = AT Type = AP Type = PC The core address is placed in register 1. If a positive return code is being passed to the requestor, register 1 will be set to negative 1. 4 If no core is available, register 15 is made negative and the highorder byte of register 1 is set up with a code for the type and size as follows: High-order byte bits 0 1 2 ~ 0 = AP 1 = AT 2 = PC 345 6 7 - GFMB ID for size r(") m Z en m C DPTWSVCl 3: l> -I m :D l> r- DPPlWSVC From~VC (Figure 2·109, 1 Of 6) Input ~ [III , I to. ...;> I ..J TMCT ~ ........ ' ..... ~''''- - --r:~"'1l1 ' R.., ... .. 15 r- .)f Validity Check Request. If Im.leI. GFCB ~' ~ Output (; m Z ISet'Return Code IThen Exit. (I) :> m ACT C g. » -t m -, ._._- :D »rI TCB ""U :D ( TCBUSER GFBE TCBX ,,,aJ\luw~ o""U GFCB ! :D [~] .. ... ") r Type,. GFBE m -t < GFCBGFBE Calculate The GFBE Address For The Core Being Freed o"TI • ~T TYIII • AP ) ~ ... ..> GFBE's TMCT IM""!.!:J\"" ..... GFBE .... ~ :> l!l Free The Core Return The GFBE To The Free Q\ein (GFCBGFBG) Type· PC F'.gure 2.109 (5 Of 6) . FREEWA Function Retum To c.u. J Figure 2-109 (6 of 6). Step 1 2 Extended Description Messages and ABEND Codes POL Segment The GFCB that represents the storage to be freed (address falls within GFCBFRST-GFCBLAST) is located. If the address is not represented by a GFCB, it is invalid. The GFMB is then located, and the address is checked to ensure it falls on a block boundary for the blocksize (address/GFMBSIZE with no remainer). If it is not on a block boundary, it is invalid. DPPTWSVC The GFBE is located for the specified core. DPPTWSVC rn m Z (I) 3 If the allocated bit is on in the GFBE, the GFBE is dechained from its existing chain and added in to the GFCB free chain (GFCBGFBE). If the allocated bit is not on, it is an invalid free request and the requestor is given a return code 4. If all blocks in the GFCB are now free, the GFCB is moved to the end of the GFMB chain. If. the GFCB is not the initial allocation and all blocks are free and the total free count is larger than irtitial allocation and free count for this GFCB, the GFCB is de chained and freed. The compliment of the GETWA address is placed in registers 1 and 15 so that the branch subroutine (DPPTGWFW) will FREEMAIN the GETWA storage. DPPTWSVC m o 3: > -f m ::D > r." ::D o ." m ::D -I -< o -n g, 3: DPPTWSVC From DPTPMON3 (Figure 2·17) GFCB GFCBGFCB TCBX GFCBGFBE Free All AT And AP Core Allocated By This Talc ~ _ _ _ _ _ _~---, _ _- -....... ( r\ iJ m Z en m GFCB GFCBGFCB ( co C 3: GFCBGFBE ~ m :xl ». rI ~ GFCB ( :xl GFCBGFBE ) Q m :xl -f -< ,,,o TCBX TCBXTGWA TCBXQGWA Figure 2·1' 10 (1 Of 2) • GETW A Branch Entry OJ 3: Figure 2-110 (2 of 2). Step I Extended Description The GFBE is dechained from its existing chain. The GFBE ID field is used to calculate the GFMB which represents the core size. The GFCB address is obtained (GFMBGFCB), and the GFCBowning the block is located and the GFBE returned to the GFCB free chain (GFCBGFBE). The address of the chain to be processed is'passed to the branch entry by DPPTPMON in register 1. The processing terminates when this address points to itself (all GFBEs are removed from the chain). If all blocks in the GFCB are now free, the GFCB is mould to the end of the GFMB chain. If the GFCB is not the initial allocation and all blocks are free and the total free count is larger than initial allocation and free count for this GFCB, the GFCB is dechained and freed. The storage represented by this GFCB is then FREEMAINed. Messages and ABEND Codes PDL Segment DPTWSVC3 r- n m Z en m o 3: l> -t m ::D l> r- o" ::D " m ::D -t -< o ." CD 3: lJPPTRGWA From DPPTPSVC (Figure 2-21) Or DPPTPMON (Figure' 2-16) Process npu Output ~ GFBE [] .. ... 1m Reg 0 o Or A(TCBX) J'...-> Locate GETWAIFREEWA Control Block' And Dechain It. K.... m Z en m o .... ... ) TMCT I I .. Place Control Block On PC Chain . )- ~ Reg 1 TMCTEXGW I A(GETWA Area) GFCB TMCT r(") I! A If Register 0 Is Zero I I /I !m GFCBNEXT ..... ./ TCBX Else If AP Request Place Control Block On AP Chain l ..... ...;) TMCTGFCB I TCBXTGWA TCBX .. 10 ... ~ . Figure 2110.1 (1 Of 2) . GETWA Control Block Transfer Lo. Else Place Control Block On AT Chain 1./ Return To Caller I TCBXQGWA n n n 3: GFBE ~ I m. :lJ l> rI ~ GFBE :D I o ~ m :D -I -< o.." GFBE I Figure 2-110.1 (2 of 2). Step Extended Description 1 The GFCBs are scanned to locate which one controls the GETWA area passed in register 1. 2 A zero in register the PC chain. 3 A 4 in the high-order byte of register 1 indicates that the area is to be placed on the AP chain. o indicates that this area is 'to pe placed on Messages and POL Segment ABEND Codes DPPTRGWA DPPTRGWA r- DPPTRGWA n m Z en 4 An 8 in the high-order byte of register 1 indicates that this area is to be placed on the AT ·chain. DPPTRGWA m C' s: }> -I m ::D }> r~ :IJ o ~ m :0 -I -< o -n NI N ...., - DPPTCSVC From CHAIN Macro CIIII Input ~ SCVT rm SCVTP1LO ~VTP1HI J. SCVTP2LO .. _~HI ~~ Procea ~ Validity Check Chain List Addreaes: • CHAINORG • CHAINBLK • CHAINECB r- Register 1 Chain List nm I Z m U) C O1ain Ust ~ r.t..IAINAI I( ... rm ..;; ~ 'I , Add Or Remove The Block (CHAINBLK) From ll1e Users OIlin (CHAINORG) Depending On The FIIgi (CNAINFLG) s: Modified Users Chain ~ m ... r ../I :0 l> Ip rI User Control Block Chlln ":0 l ~ m ....:0 -< OIlin Ust J. CHAINCC ..) rID POST Users ECB (CHAINECB) With Specified Completion Code (CHAINCC) \ ../ I JECB Return To Caller Figure 2-111 (1 Of 2) • CHAIN SVC . .... POSTed ECB - J o-n Figure 2·111 "(2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 The addresses passed to CHAIN in the chain list (CHAINORG, CHAINBLK, CHAINECB) are checked. They must be within the partition (SCVTPlHI, SCVTPlLO). If two partition operation, they must be within either partition (SCVTP2HI, SCVTP2LO). DPPTCSVC 2 The block passed (CHAINBLK) is added to or removed from the specified chain (CHAINORG). If the first and add flags are on, the new block is added at the origin. If the add flag is on, the chain is scanned, and the new block is added to the end. If the order flag is on, the new block is inserted in the chain in ascending order by the value in the CHAINORD field. The chaining pointers in the blocks are displaced in the blocks by the value in CHAINNDX. If the add flag is off, the block is removed from the chain. DPTCSVCl 3 The specified ECB is posted with the specified completion code from the chain list (CHAINECB) if the operation completed successfully, otherwise, the user is given a nonzero return code. r (") m Z en m o 3: » -I m :xl »r " o :xl " m :xl -I -< o "T1 DPPTCBGT From CBGET Macro Call Input 1_____ Reg_O---,I and l Register l Output ,!rfl .......... 1l..!.J Determine If Request Is CBGET Or CBFREE SCVT SCVT r- .SCVTPLST_ ~v (; m UUMY ,I Z (I) t / ../ m C PSCB Chain 3: ~ CBGET m :D . PSCB Modified OPPTCBGT PSCB Chein OBGET 2-112 (3 Of 6) ,...); I ." :D J Q m :D -t PSCB ~________-r-----r------~~Y~/ CBFREE • -< o'TJ 1 ~_ _~_ _ _ _ _ _ _ _~_ _ _~~_~....., _ _ _1_.--J OPPTCBGT I I CBFREE 2·112 (5 Of 6) SUBPOOL 253 (PQA) Con Return To Figure 2-112 (1 Of 6) - CBGET SVC c.ler Figure 2-112 {2 of 6). Messages and ABEND Codes POL Segment Step Extended Description 1 Register 1 is checked to determine if the request is a CBGET or CBFREE. If register 1 is negative, the request is CBGET; if positive, the request is CBFREE. DPPTCBGT 2 Blocks of protected storage (PQA Subpool 253) are allocated to the requestors in 32-byte multiples (i.e., a request for 50 bytes will allocate 64). The requestor can have any PSW protect key; however, if he does not have zero, he will get a protection interrupt when he attempts to store in the allocated storage. The core will be cleared to zeros before it is allocated to the requestor. DPPTCBGT 3 Blocks are returned to the pool of PQA by the CBFREE function. The freed core will be combined with any adjacent free core at the time it is freed. r o m Z en m C s: » -f m ::D »r ~ ::D o"'V m ::D -f < o ." m s: From DPPTCBGT (F.... 2-112, 1 Of 6) DPPTCBGT Input I I Register 0 Register 1 0uIput. ~ ..~IITICllculate The Number I I Of 32 Byte Blocks Required To Satisfy The RIqUISt SCVT rei m ... ...)l Z SCVT .. ...... SCVTPLST SCVTOUMY PSC8 Chlin :.- 1mSIerch PSCB Loop To Find A PSC8 WIth Enough Free Core To Satisfy The RequlSt \ (I ~ ( ~DI'"\,;NI 0 ._ ... ,. _.- ..... ~ ... ....) 1m .... If The PSCB Is Not FOI' The Euct Amount Of Core Required Crute A New PSCB And Put It In The OIain ... Modified PSC8 O\ain ~ ( ( ~ 0 RItUm Addnss To Requester Subpooi253 St -I m :JJ l> r~ II o." m :JJ -I -< o"'T1 DPPTCBGT From DPPTCBGT (Figure 2-112. 1 Of 6) "PUt I 1 I Register 0 ~ I [1] :") ~ Register 1 Calculate Number Of 32-8vte Blocks Being Freed ...n Validity Check Address m I z PSCBID (I) m } PSCB C "III Sl~{ To Be ~ PSCBFCNT Will Have A Number Representing The Number Of Free 32-8vte Freed > -t m Bloc'" \ ::D 1m 1~1$r-~NII ~ jo. ..> Free The Storage ...> I I "'D ::XJ o." SCVT II]] ~HNI:Jt r ...... r '''' ~ ... PSCS's ( Lj ~ Return To Requester Figure 2·112 (5 Of 6)· CBFREE Function SCVTPLST ;)\.,Yluvm Modified PSCB Chain ) ::D -t ~ Attempt To Combine The Freed PSCB With Any Adjacent Free m < o ." Figure 2·112 (6 of 6). Step Extended Description Messages and ABEND Codes POL Segment 1 The address passed to be freed (in register 1) is backed up by the PSCBLNTH value (a PSCB is built immediately preceding the core it represents). A check is made for the PSCBID field (hexadecimal 'C9C4'~ If the ID is valid, the address to be freed is valid. DPPTCBGT 2 The storage being freed by this request is freed by storing the number of blocks being freed in the PSCBFCNT field. DPPTCBGT 3 The next PSCB in the circular chain (PSCBNEXT) is interrogated to determine if it represents free: core (PSCBFCNT nonzero). If it does, the number of blocks it represents is added to the.current PSCB and the PSCBNEXT PSCB is removed from the circular chain. If it represents allocated core (PSG.BFCNT =.0), the chain is not modified. The previous PSCB (PSCBPREV) in the circular chain is then checked to see if it represents free core. If it does, the number of free blocks in the current PSCB is added to the number of free blocks in the previous, and the current PSCB is removed from the circular chain. If the previous PSCB represents allocated core, the chain is unmodified. r- om Z en DPPTCBGT m o s: ....l>rtI :D l> r- "'0 :D o"'0 m :D .... -< o"T1 DPPIPFIX From OSMI Procea ~ Input ..~m ~ I Get Array DPPXFIX If Invalid, Exit . 1m .... ArrlY OPPXFIX L l I I ... r Requested Pages 'Fixed' In Real Storage L Load Module Name .. l@l N Item Type 'L' - Load Module Fix Request r- .. /I Array Number om Z PFIXLOAO PFIXHIAD en m C ~ Item Type 'N' ~ Numbered I Array Fix Request } » PFIXLOAO PFIXHIAD N .-4 m :II A >lrn Array Name Item Type' A' - Named Array Fix Request ~ I I I C [!] FFFFFFFF Item Type 'c' Control Block Fix Request 1 } PFIXLOAO PFIXHIAD A {BGET GETWA 1 PFIXLOAD rI PFIXHIAD ." :II o ." FFFFFFFF Array DPf>XFIX m :II -I -< o ." --'" o:J ~ 1° Fiure2-113 lOf 2) 9 - Page FIX Routme Issue Ending Status Message I OSNS1 Figure 2-113 (2 of 2). Step Messages and ABEND Codes POL Segment Extended Description 1 Array DPPXFIX (VS array) is located by the GETARRAY macro. array cannot be found, the FIX routine terminates. 2 If the DPP047I DPPIPFIX A BLDL is issued for the load 7"mOdulej if it is found, the module is loaded. If a fix length is specified, the length is added to the entry point address to get the fix length. If no length was requested, the module length as returned by the LOAD is added to the entry point. In either case, the address range is fixed via the DPPFIX routine. If the FIX is successful, the addresses -are stored in the DPPXFIX array (PFIXLOAD and PFIXHIAD). DPP042I DPP043I DPPIPFIX The numbered array is located via GETARRAY. If a length was requested, it is added to the start address to get the range to be fixed; if not, the entire array is fixed. If the FIX is successful, the fixed address range is put in the array DPPXFIX. DPP043I DPP048I Same as 3, for 'named' arrays. DPP043I DPP048I DPPIPFIX DPP043I DPPIPFIX r (') m Z en m C ~ 3 4 5 6 The control block to be fixed is specified in the name field where 'CBGET' is a request for the CBGET storage & 'GETWA' is a request for the GETWA storage. If a length was requested it is added to the start address to get the range to be fixed, if not the entire control block is fixed. If the FIX is successful the FIXed address range is put in the array DPPXFIX. l> -f m ::D l> r-a ::D o -a m ::D -f -< o ." A message is issued stating whether or not all arrays and load modules DPP049I were fixed successfully. A user ABEND will result if an invalid DPP052I address range is specified. DPPIPFIX DPPIPFIX USER 32 DPPIPFIX DPPIPFRE X19 OSNS1 Input ~ Output Process Array DPPX F IX l PFIXHIAD PFIXLOAD IT] "') ~ N PFIXlOAD PFIXHIAD '" ..'"> UNFIX Previously Fixed Address Ranges Page Fix Count Reduced For Address Range r(; m Z en m C ~ A PFIXLOAD »-I m PFIXHIAD :xJ » r- FFFFFFFF I -0 :xJ - -- - o -0 m :xJ -I -< o " - Figure 2 114 (1 Of 2) - Page Unfix Routane OSNS1 Figure 2-114 (2 of 2). Step I Extended Description Array DPPXFIX is located with GETARRAY. A loop is set up to process each item in the array_ If the PFIXHIAD is nonzero, the address range (PFIXLOAD - PFIXHlAD) is used with routine DPPFREE to unfix all previously fixed virtual storage. Messages and PDL Segment ABEND Codes DPP047I DPPIPFRE r- n m Z en m C s: l> -I m :D l> r- ~ - :D o ~ m :D -I < o." OJ s: DPPXDEFl DEFLOCK Mecro c.l1 Input ~ Register 0 l Resource Neme l LOCKCBLK :~m I , SCVTLKCB I A ... Irn LOCKCBLK ~ LOCKNEXT LOCKNAME ..:> .. r- _ Requests LOCKCBLK LOCKNEXT LOCKNAME ..) I If DEFLOCK MlQ"o W. A TYPE-GET And A PrwIousIy Defined LOCK Control Block W. Found, Increment Count Of SCVT I Se.-d1 For A Previously Defined LOCK Control Block .... ..) LOCKCBLK n m LOCKCNT fI) Z m C !: » -t SCVT If DEFLOCK Macro W. A TYPE-GET And No Previously Defined LOCK Control Block W. Found; Build, Initillize, And Add A New LOCKCBLK Onto The Chain Of LOCKCBLKs -"" ....7> m LOCKCBLK LOCKhcJl.I SCVTLKCB ~ :D »r- L\A;".II.\oY LOCKCNT I I Clr.KCRLK "V :D ~ m Joo. ...7> . :> If DEFLOCK MlQ"o W. A TYPE-REL And A Prwiously DefIned LOCK Control Block W. Found, Decrements Count To Requests 'rn IfRemove Count Is Leu ThIn One, LOCKCBLK From ~nAncl ... SCVT -t SCVTLKCB o < I I A (" Free It "' I . ..'" ... ..) :D LOCKCBLK LOCKCNT i------l} LOCKCsLK I LOCKCNT I I I L _______ -'I 0eIe1ed R.tum To c.tler Figure 2·115 (1 Of 2) • DEFLOCK Function -~" Figure 2-115 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes , I On entry to DPPXDEFL t register o contains the resource name. DPPXDEFL 2 A CHAIN macro call is used to add the LOCKCBLK to the chain of LOCKCBLKs. DPPXDEFL 3 A CHAIN macro call is used to remove the LOCKCBLK from the chain of LOCKCBLKs. DPPXDEFL r n m Z (I) m o s: :t> -t m ::D :t> r ~ ::D o ~ m ::D -t < o -n DPPXlOCK ...~ LOCK M nput Call Process Output Register 0 Resource Name "> Y .) m Validate LOCK Control Block Address LOCKCBLK .. t'" A ..... r Register 1 LOCKCBLK A(Lock Control Block) m Z ... If It Is A LOCK Request And The Resource Is Available, Set LOCKFLAG n lor.KFLA(; ... en m o s: l> SCVT LOCKCBLK I SCVTLKCB LOCKNEXT LOCKNAME rnIf It Is A LOCK Request And The -f m .A ~ :::0 ..... Resource Is Not Available, CHAIN A WAIT Control Block To The LOCKCBLK And WAIT .. IDr.Kr.RIK . LOCKWAIT LOCKCBLK » r I "V ~ :::0 LOCKNEXT LOCKNAME WAITCBLK ........., ... WAITNEXT If It Is An UNLOCK Request And Another Task Is WAITING On This Resource; UnCHAIN TIle First WAITCBLK And POST The Task That Is Waiting K".... -< ~ LOCKCBLK "- ') -v I}~ : WAITCBLK L______ -' I I Return To Caller :::0 -f o WAITCBLK r-----' I Figure 2-116 (1 Of 2) - LOCK Function o "V m Figure 2-116 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes 1 The resource name in register o must match the resource name in the LOCK control block pointed to by the address in register 1. DPPXLOCK 2 The CHAIN macro is used to add the WAIT control block to the bottom of the WAITCBLK chain. DPPXLOCK r- n m Z (I) m C 3: » ~ m :D » r\J :xl o\J m :D ~ -< o ." OJ 3: DPPXSVCP From SETPSW MIICrO c.l1 Input I ~ Joo Register 1 Output I ...) rm Validate Input Option Flags I"'" rn TCB J . Build Current PSW Output Option Flags I ... Z (I) m TCBJSCB o . JSCB "II1II n m .. rn " ~ m ~ Set Authority Bit In Job Step Control Block . "> 3: JSCB JSCBOPTS ::D > I"'" [iJ I "::Do "m ::D Branch To MODESET IGC107 I. I I Mode Set -4 I < o ." A [!J ... JSCB Reset Authority Bit In JSCB "l ... Figure 2·117 (1 Of 2) - SETPSW SVC Return To JSCBOPTS to 3: Figure 2-111 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment 1 The input option flag in register 1 is used to indicate the desired PSW setting. This flag must conform to the bit settings that the MODESET PSW recognizes. (See OS/VSl Supervisor Logic SY24-5l55.) DPPXSVCP 2 DPPXSVCP builds an option flag based on the PSW setting at entry to DPPXSVCP. The user can then reset the PWS back to the original PSW by using these option flags as input option flags on another SETPSW SVC. DPPXSVCP 3 Bit 7 of the JSCBOPTS field in the Job Step Control Block is set to allow this task to branch to the MaDESET routine. 4 MODESET is used to change the old PSW setting. r- n m Z en m o 3: l> -I m ::IJ l> 5 Bit 7 of the JSCBOPTS field in the JSCB is reset to the state it was in at entry to DPPXSVC. r- -0 ::IJ o-0 m ::IJ -I < o ." to 3: LICENSED MATERIAL - PROPERTY OF IBM High-Level Language Interfaces The Special Real Time Operating System routines provide an interface to allow pL/I and FORTRAN users to use most of the services provided by the Special Real Time Operating System. The interface routines are independent of the compiler level or the optimizing compilers. Figure 2-118 lists the Special Real Time Operating System macros supported by the interface routines for PL/I. The macros in the following tabI'e are also supported for FORTRAN, but there are no default structures. PL/I Macro Name ID Structure Name PATCH PATCH Param PTIME PTIME DPATCH REPATCH GETARRAY GETITEM GETBLOCK PUTARRAY PUTITEM PUTBLOCK MESSAGE PUTLOG GETLOG DUMPLOG RECORD PATCH WAIT Figure 2-118. 0 0 4 4 8 12 16 20 24 16 20 24 40 44 48 52 56 60 PATCHSTR PARMSTR PTlMESTR PTIMRSTR DPACHSTR REPCHSTR ARRAYSTR ITEMSTR BLOCKSTR ARRAYSTR ITEMSTR BLOCKSTR MESAGSTR PTLOGSTR GTLOGSTR DPLOGSTR RECRDSTR WAITSl'R Member Name PATCHDEF PARMDEF PTlMEDEF PTIMRDEF DPACHDEF REPCHDEF ARRAYDEF ITEMDEF BLOCKDEF ARRAYDEF ITEMDEF BLOCKDEF MESAGDEF PTLOGDEF GTLOGDEF DPLOGDEF RECRDDEF WAITDEF Macro Supported by FORTRAN-PL/T Interface Routines All interface routines are invoked as shown in Figure 2-119. The parameters are passed using standard linkage conventions to the assembler language interface routine. The interface routine adjusts the parameter list and then issues an execute form of the appropriate macro to invoke· the desired service. After the service routine has completed execution, the interface routine stores the return code for use by the calling program and returns to the caller. 2-290 LICf-\lSED MATERIAL - PROPERTY OF IBM BAL PUI Or FORTRAN CALL X (PARAM) -.. .... X Special Real Time Operating System Macro MF = E. Save Return Code. RETURN SVC/BAL --.. .... Special Real Time Operating System Service. RETURN Figure 2-119 FORTRAN - Pl/I Interface Structure 2-291 Special R... Time Operltlng System High-Level lM9J. . InllrllClS ,... nm Z en m C 3: -t DPPPIF DEPATCH Int.rftee 2-124 l> rn -,... :D l> PLl1 Optimizing Compiler Initializing Program DPPPLIO High-Lev.1 unguage PATCH Macro Interftee Parameter Build Routine 2"30 .l I -a :D o"'0 rn DPPPARM 2.301 ~ .-( ·0 'TI -O3:J Figure 2-120 (1 of 2) Special Real Time Operating System High-Level Language Interface Overview LICENSED MATERIAL.- PROPERTY OF IBM Intentionally Blank 2-293 DPPPIF Input Calling Program SAVEAREA From PL/I Or FORTRAN Program ~ !III Joo. or Output ~ ........ Begin Macro ~ -v OPPIF SAVEAREA And STAECORE WORKAREA r- o Registert A(Parameters) -" ;; - PJ m Z Load Parameter Address en m C STAECORE STAE WORKAREA ::i ... 1m ) ..) Issue STAE And Cancel SPIE A~(';UHt A(PICA) s: l> -4 m ::D l> rI eVT A(New/Old TeS) "::Do "m ::D I( \ -4 -< Jl o "T1 1m Locate XCVT CCB (I A(T~BX) TCBX ~ Fi~re 2 -121 (3 Of 8) \9 A Figure 2·121 (1 Of 8) . High-level Language Macro Service Interface Main Segment Figure2-121 (20f8). Step Extended Description 1 A combination 72 byte save area and 12 byte STAECORE work area is obtained after the caller's registers are saved in the save area pointed to by register 13. The save .areas are chained together with register 13 becoming the base for the SAVEEM DSECT. 2 Load parameter address. 3 4 Messages and PO L Se ment ABEND Codes 9 DPPPIF DPPPIF (") m Z en The high-level language SPIE exit is canceled and the address saved for the return logic. A STAE is issued to provide a means for freeing core should an ABEND occur due to an error in the user parameter list. The address of the Special Real Time Operating System XCVT will be located. I m o 3: » -I DPPPIF m :xJ » I o" :XJ " m :XJ -I -< o "aJ 3: From Figure 2·121 (1 Of 8) DPPPIF Input Output Process (f Parameter (0 = 0 r---"'l""L~ CALL PATCH R J-._~ r Macro Interface nm Parameter Address Z (I) Parameter (0 CALL PTIME Macro Interface (f =4 DPPPIF ~ ....... ..... PTIME Interface 2·123 m C 3: ~ m 4 -» :D Macro Intemce If Parameter 10 '" 8 CALL OEPATCH Macro Interface ........... ....... ~ [)f)PPIF OEPATCH Interface 2·124 r I ~ :D Q If Parameter 10 '" 12 CALL REPATCH Macro Interface ............. ........... f Parameter 10 ,. 16 CALL GETIPUT ARRAY ........-.r"" Macro Interface .... ..... OPPPIF REPATCH Interface 2·125 OPPPIF ~~1'~~T Interface 2·126 Figure 2·121 rBl (5 Of 8) "'../" Figure 2-121 (3 Of 8) - High-Level Language Macro Service Interface m :D .... -< o ." m 3: Figure 2-121 (4 of 8). Step Extended Description 1 Based on the value of the 10, one of the following interface segments in OPPPIF will be entered: Messages and POL Segment ABEND Codes OPPPIF ID Interface Segments o- PATCH 4 - PTIME r- n m , Z en m 8 - OEPATCH o 12 - REPATCH »~ 16 - GET/PUT ARRAY :D 3: m » r- o" :D "m :D ~ < o "OJ 3: DPPP1F Input Register 1 Parameter Address r Parameter IF Parameter 10"'24 CALL GETIPUT BLOCK MacrOi Interface ............... ~ OPPPIF GETIPUTBLOCK Interface 2·128 n m Z en m o Macro Interface ........... IF Parameter 10-40 CALL MESSAGE ""'III""'" Macro Interf8ce .......... IF Perameter 10-44 CALL PUT LOG ""......... Macro Interface IF Parameter 10-48 CALL GETLOG Macro Interface ............. ............... OPPPIF MESSAGE Interfece 2·129 OPPPIF PUTLOG Interface 2·130 OPPPIF GETLOG Interface 2·131 ~ ~ m :xJ ~ r I -0 :xJ Q m :xJ ~ o." .............. IF Parameter 10-52 CALL OUMPLOG "",......,... Macro Interface IF Parameter 10-56 CALL RECORD Macro Interface .......... .............. FiFre 2·121 (7 Of 8) OPPPIF OUMPLOG Interface 2·133 OPPPIF RECORD Interfece 2·132 r7l. V Figure 2-121 (5 Of 8) - High-Level Language Macro Service Interface Main Segment Figure 2-121 (6 of 8). - Step 1 Extended Description Messages and PDL Segment ABEND Codes Based on the value of the 10, one of the following interface segments in OPPPIF will be entered: 10 Interface Se~ment 20 - GET/PUT ITEM 24 - GET/PUT BLOCK r- n m Z en 40 - MESSAGE 44 - PUTLOG 48 - GETLOG 52 - DUMPLOG 56 - RECORD 60 - PATCH/WAIT m o s: l> m -f ::D l> r- " ::D o ." m :XJ -I -< o." I\.) w o !iF,omFiguN2 121 DPPPIF 0 (SOfS) Input o PrOc.s Output PUI Parameters Parameters 10 I RC Service Parameters .... ! II] Store Service Routing Return Code In Register t5 Into RC Field Of The Parameter Ust ') -~ rn .. ) .. 10 I~ Service Parameten r- n m Issue A STAE Cancel To Restore PUI STAE Z en m C STAECORE A(PUIPICAI ... 3: !~ ~ m Load A(PUt PICA) And Issue A SPIE To Restore PUI SPIE Interface ..") :D PUI SAVEAREA - DPflPlF SAVEAREA ... A(SAVE) .. ') I~ Exit Maao ... ') ..... 5> rI -0 :D o-0 m SAVEAREA :D -t < o ." iii 3: Return To Caller Figure 2-121 (7 Of 8) - High-Level Language Macro Service Interface Figure 2-121(8 of 8). Step Extended Description 1 The EXIT macro frees the DPPPIF save area obtained by GETMAIN, marks the save area to indicate DPPPIF is done, reloads registers, and returns to the program via register 14. Messages and POL Segment ABEND Codes DPPPIF r("') m Z m en o 3i: » ...f m ::JJ : » r." ::JJ o." m ::JJ ...f -< o "OJ 3i: DPPPIF From Figure 2·121 (3 Of 8) I \ PATCH Parameters RC It) I A(Parms) Task Name EP Name PRTY Name Queue LNG I PRTY CHNG A(ECB) ... I(!J The Addresses Of The PATCH Supervisor And Problem Parameters Are Loaded GETPROBL PATCH Parameten -'0 . Problem Parameters Length PATCH 10 I 0 0 Flag ~ XCVT I I r r ... AITCBxJ I m t' :0 I RC - -- Task~ EPName Supervisor Parameters r .... ...) Store The Address Of The TCBX Block Of The PATCHed Task In The Callers PATCH Parameters. Restore The Queue length Field Return To Caller Figure 2-122 (1 Of 2) - High-Level Language PATCH Interface l> o"V A(P,nTIS) I ~ :0 ID I 3: "V 1 PATCH Parameters [ C rI I .. en m :0 -~ A Issue PATCH SVC - m Z m .... New/Old Problem ParametJlrs )I ~ PATCH 10 I o .-- - ( • Else Retum Old Address r User Parameters I -. • If Problem Parameters Longer Than 8 Bytes, Move To GETMAIN Core. Set Free PROSL Flag And Point Register To New Problem Parameter List r- - RC A(Parms) fISk Name EP NaIY1e ./ PRTY Name -Flag raue-OiN IPRTYCii",~ A(ECB) • Move Supervisor Flags 0 0 A(TCBX) FI~ I Output ~ ~ Input .... v ~ PATY Name ~ \PRTYCHNG A(EC~ 0 0 MTCBX) FiagT .- -4 -< o ." Figu re 2-122 (2 of 2). Step 1 Extended Description The PATCH Supervisor Flags are relocated to their correct position in the parameter list,. If the problem parameters are longer than 8 bytes, they are moved to GETMAIN core, and the SUPFREEP bit is set to indicate the core is to be freed; otherwise, no move is performed. ·The addresses of both the old and new problem parameters are returned. Messages and POL Segment ABEND Codes DPPPIF r- n m Z (I) m C 3: ~ -t m :D ~ r- "'0 :D o"'0 m :D -t -< o "TI' GJ 3: DPPPIF From Figure 2-121 (3 Of 8) Input Output PTIME Parameters PTIME Parameten 10 10 RC I RC Type Start Is Zero laue ~=====~In~~alc======t::::::~::::::::~~:::::~~ t~_n .-----r-------../) fA-- ......... A(PATCH) If Type SVC For Current PTIME Time And Store In Parameter List .. F1' Start t:::::~==~::=====~~_~F2_1~_~lnte~~al ... I F3 Stop ___~~ ~ A(PATCHl F)3"""1-~ Z FIT'""-I-FA2";"'(PaT'""-,rms...,.;.- t en m .. IlIl Load o The Addresses Of The PATCH And Problem Parameten And Move The PTIME L..~:::::::;:::::::~_-:c/~""'" .... 3: » ~ Flags. m :c PATCH Parameten PATCH Parameters T_ Name PfI r- n m U] rv flilme Task Name EP Name Move Supervisor Flags. If Problem Parameters. Longer Th.an 8 Bytes, Move To GETMAIN Core And Point Register To New Problem Parameter List Else Retum Old Address Flag PRTYName PRTY CHG I Queue » rI -0 :c o-0 m :c .. Problem Parameters LNG PATCH 10 User Parameters r r r-----~X~CVT~------~------1---------JL------~.. I .. laue PTIME SVC New/Old Problem Parame1ers LNG PATCH ID User Para neters r: L--________________- - - i PAT'/- PTIME RC 10 Task ~me EP Nam>e ~----------------~ K........- -....... A Restore The Altered PL/I Par.rneters To Their Original Condition ----I Start PRTY 'fJIIme Oueue LNG i ~TY CHG Interval Stop A(PATCH) A(Parms) Fl 'F2 F3 Al~} I Flag 1 Problem LENG I PATCH:: User Parameters Figure 2-123 (1 Of 2) - High-Level Language PTIME Interface Return To Cal... ~ -< o -n Figure 2-123 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 The TYPE field determines the kind of PTIME SVC and the structure of the parameter list. For TYPE=O, a PTIME TYPE=RET is issued to obtain the current time of day and the address of the Special R~al Time Operating System time array. DPPPIF 2 The PATCH Supervisor Flags are relocated to their correct position in the parameter list. If the problem parameters are longer than 8 bytes, they are moved tv GETMAIN core, and the SUPFREEP bit is set to indicate the core is to be freed; otherwise, no move is performed. The addresses of both the old and new problem parameters are returned. DPPPIF r- n m Z en m C 3: » -I m :xl » r- DPPPIF Output Input OEPATCH Parlftleten OEPATCH Parameten load Purge Option And Address Of The Task tame r- n m Z m en C XCVT Issue OEPATCH SVC 3: » -t m -»r:0 I "V :0 o "V m ~ -< o-n Figure 2-124 (1 Of 2) - High-Level Language DEPATCH Interface Figure 2-124 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes 1 Load the DEPATCH purge option and the address of the task name. DPPPIF 2 Issue a DEPATCH SVC with passed DEPATCH parameters. DPPPIF r(') m 2 (Jl m o !S: » -f m ::D » rI "'C ::D o -0 m ::D -f -< o"T1 Dl !S: DPPPIF Input From Figure 2·121 (3 Of 8) ~ Procass Output REPL REPATCH hramettrs I 10 RC ...") ... Address Of REPATCH Block m ....) ... Lo.d Address Of Rt:PATCH Control Block And laue REPATCH SVC. REPATCH Block ,.. Ci m XCVT 2 (I) Pl)l REPATCH Plrameters 100 .. Move Retum Code From - REPATCH To RC Field In Pl)l REPATCH REPL - ParMllten ~ C s: » .... m ::iJ » ,.. prASK :P "!'! LAG I Si ." ::zJ II TV ~ o Sl. flEC !i:I ....~ m ~A rl ." 1=1 I:DI " CDI nD m ::zJ .... -< ~u o-n :EPLAO - I Alrtum To Cal_ Fagure 2-125 (1 Of 2) - High-Level Language REPATCH Interface Figure 2·125 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes 1 Load the address of the REPATCH control block (REPL) and issue REPATCH SVC. DPPPIF 2 The return code in register 15 (REPATCH return code) will be stored in the REPATCH parameters. DPPPIF "" rC') m Z en m o s: l> -I m ::D l> r~ ::D o -0 m ::D -I ~ o-n OJ s: r-..J W o DPPPIF Input From Figure 2·121 (3 Of 8) 0u1put ~ ~ GET/PUT Arrey Parlmeters 10 .') 1m .. I Load The Parameters Into Re9sten And Issue A GETARRAY Or "UTA'''lA MlCf'o r- n m Add Z fI) m XCVT GET/PUT ARRAY Parameters m Move Return Code From GET/PUT ARRAY To RC Field In GETIPUT ARRAY Parameten ... ... -" RC C 3C » .... m ::D » rI "'D ::D o"'D m ::D .... < o ." OJ 3: . Return To Caller Figure 2-126 (1 Of 2) - High·Level Language GEl1PUTARRAY Interface Figure 2-126 (2 of 2). Step Extended Description Messages and POL Segment ABEND Codes 1 Load the address of GETARRAY/PUTARRAY parameters and issue the GETARRAY-PUTARRAY macro. DPPPIF 2 The return code in register 15 (GETARRAY/PUTARRAY return code) will be stored in the GETARRAY/PUTARRAY parameters. DPPPIF r- n m Z CI) m C s: » -t m :D » r-0 :D o-0 m :D -t < o '~ to s: r-..,) w DPPPIF Output GET/PUT ITEM Paremtten Load The Parameters Into Reglsten And Issue A GETITEM Or PUTITEM Macro r(") m 2 m (I) GETIPUT ITEM Parameters XCVT Move Return Code From GET-t------''-------'------J'o...... ITEM To RC Field In /PUT ITEM Patameters RC o 3: » -I m :ll » rI ." :D o"0 m :D -I -< o " Figure 2-127 (1 Of 2) - High-Level Language GETIPUTITEM Interface Figure 2-127 (2 of 2). Step Extended Description Messages and POL Segment ABEND Codes 1 Load the address of GETITEM/PUTITEM parameters and issue a GETITEM/PUTITEM macro. DPPPIF 2 The return code in register 15 (GETITEM!PUTITEM return code) will be stored in the GETITEM/PUTITEM parameters. DPPPIF r- om Z C/) m C 3i: » -t m :::0 » r- ." :::0 o " m :::0 -t < o ." a:J 3i: N - W w DPPPIF Input • (5 Of 8) From 19ure 2121 Output PrOC*S ~ GETIPUT BLOCK Parameters I ... ") ... mLoed The ParMneters Into Registers And Issue A r(; m GETBLOCK Or PUTBLOCK Macro I Z en m C XCVT GETIPUT BLOCK P.... meters 00 Move Return Code From GET/PUT BLOCK To RC Field In GET/PUT BLOCK Parameters » -I .... ) .... 3: RC m :XJ » rI "V :XJ o." m :XJ -f -< o ." Return To Caller Figure 2-128 (1 Of 2) - High-Level Language GET/PUTBLOCK Interface Figure 2-128 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes 1 Load the address of GETBLOCK/PUTBLOCK parameters and issue a GETBLOCK macro. DPPPIF 2 The return code in register· 15 (GETBLOCK/PUTBLOCK return code) will be stored in the GETBLOCK/PUTBLOCK parameters. DPPPIF r(") m Z (I) m o 3: l> -t m :D » r"'0 :D o"'0 m :D -t -< o ." From FI..... 2·121 DPPPIF (6 Input M. . . . ID Mta.- Of 8) Output ProoIa ~ Message Parameten p.,.mttm I MIg.# ActlW,FLG 0 AlA rl.l -.{ WV# R# .. ACt I . Ac:tIon. Walt ... I~vt FIll. And MIlage .. Cod.. RC 10 RC ~ .r Act I MAreaI .... .... Number To Correct Location In Plrem- ~~1) Lilt IN Mig. ~ A(Veriable 2) }= r o m Z en m C 3: Add...... !im Of Varlabl•• -» :D A(V.riible 10) r I "V :D ~ m )(CVT .... ') ill I... MESSAGE Mecto ... v :D -4 < o ." - i ReIum To c.l1w Figure 2·129 (1 Of 2) . High-Level Language Message In1Brface Figure 2-129 (2 of 2). Extended Description Step Messages and POL Segment ABEND Codes I---- I Move action, wait flag, and message number to correct location in the message parameter. DPPPIF 2 Issue a MESSAGE macro. DPPPIF rC') m 2 en m o ~ l> -4 m :0 l> r- -g :0 o-0 m :0 -4 -< o"T1 ... DPPPIF Input From F;gu.. 2.121!SF-l Output PUT LOG Parameters I .. IOJ Ir --~==---t====~=:::::::=:::===)....., Load Parameten All .....---y-------,..V'~ PUTLOG Macro. And Issue A r- 11 n m BLK AI?D Z (I) m C PUTLOG Parameters XCVT Move Return Code From PUT LOG To RC Field In PUTLOG Parameten RC I------~ 3: ~ m ::XJ l> rI "'0 ::XJ o "'0 m ::XJ -t -< o ." Return To Caller Figure 2-130 (1 Of 2) - High-Level Language PUTLOG Interface Figure 2-130 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes 1 Load parameters and issue a PUTLOG macro. DPPPIF 2 The return code in register 15 (PUTLOG return code) will be stored in the PUTLOG parameters. DPPPIF r (") m Z (I) m o 3: l> -I m ::0 l> r ~ :D o ~ m ::0 -I -< o"T1 DPPPIF From Figure 2·12· (6 Of 8) nput Output ~ GETLOG Parameters GETLOG Paramet.rs I I I AIArIl) .... ') ~ ... If Name W.. Specified, Then Move The Address To Th. First Word. ....:> I I AIAreal Step No. Step No. AI LoghNCltt') AI Logheader) AINam./ A(Name) f-~ r(") m Z en m o 3: > -t m :0 > rXCVT .. I .... CD " .)0' ." ~ Issue A GETLOG Macro Using Vfhichever Form Of ~=~ter List Is ..... :0 o ." m :D -t -< o " Return To Caller Figure 2-131 (1 Of 2) - High-level language GETlOG Interface Figure 2-131 (2 of 2). Step 1 Extended Description Load parameters and issue a GETLOG macro. Messages and POL Segment ABEND Codes DPPPIF r- n m 2 en m C 3: » -I m ::D » r~ ::D o ~ m ::D -I -< o "aJ 3: DPPPIF Input from figure 2·121 (5 Of 8) PrO«*S ~ Output Record Parameters I I Length ,.. . 1m . ~ o Lold Parameters And Issue A RECORD Macro m Z en m I C ~ XCVT Record Parameters [1] ~ m Move Return Code To RC Field Of RECORD Parameters ::D .... .. ') RC ,..» I ~ ::D o ~ m ::D ~ o." Return To Caller Figure 2-132 (1 Of 2) - High-Level Language Record Interface Figure 2-1 J2 (2 of 2). Step Extended Description Messages and POL Segment ABEND Codes 1 Load parameters and issue a RECORD macro for the parameters specified. DPPPIF 2 Move RECORD return code to the return code field of the of the RECORD parameters. DPPPIF rn m Z en m o 3: »-f m JJ » r-0 JJ o-0 m :0 -f -< o-n DPPPIF Input 1'\, 'UD, From Figure 2·121 (6 Of 8) Output Proc. ~ DUMPLOG Parameters nt; F".mllten I ..") Type If Either Lilt Of Arrey. Or Arrey Namll Is Specified, Relocate The Add ..... -A v => I I A(Name Ust) A(Start Time) I--I---- r- A(Stop Time) A(Stop Time) o m AIU.r Dlta) A(U1er Data) en A(Start -v DO Name DO NI ..... A(Name Lilt) A(NI ...../Lilt) Z m C s: ~ m ::D » r" XCVT ...") )0' I -a m Issue A DUMPLOG MICrO Lilting Using The Comet Parlmeter Lilt .A p;.. ::D Q m ::D ~ o ." m 3: R..... m ToCIII_ Figure 2 133 (1 Of 2) - High-Level Language DUMPLOG Interface e Figure 2·133 (2 of 2). Step 1 Extended Description Issue a DUMPLOG macro for the parameters specified. Messages and POL Segment ABEND Codes DPPPIF r- n m Z rn m o 3: » -f m :0 » ro" ~ "m :0 -f < o-n OJ 3: DPPPIF From Fitalre 2·121 (5 Of 8) I n put ~ PATCHIWAIT Parameters 10 I Out put RC r(; m . ") m Issue A WAIT On Z (I) The ECB ... m C ;: ECB ~ m ::D »r- ID Post Flags I Fp. ... CodE PATCHIWAIT Parameters rn PATCHIWAIT Parameters '" iWhen ECB 15 Posted IPick Post Flags IFrom As A jReturn Code And ~Iear Flags '" ./ ID I I ""0 RC ::D o""0 m ::0 -t -< o "6i 3: Return To Caller Figure 2-134 (1 Of 2)- High-Level Language PATCH/WAIT Interface Figure 2-134 (2 of 2). Step Extended Description Messages and POL Segment ABEND Codes 1 An OS/VSl WAIT macro will be issued on the ECB passed. DPPPIF 2 When the ECB is posted, pick up the post flags from ECB as a return code, and clear the post flags. DPPPIF r- n m Z (I) m o 3: » -I m :D » r- ~ :D o ~ m :D -I -< o ." CO 3: DPPFAONC Entry Point Copy F.... Input FORTR~ Output Process Re9ister 1 ( )jj j Address Of FORTRAN Parlmeter Address tIl ,/ I I~ Z m Address Of To r l rn ,... ToAru Load Address Of To Area Addresses Into Register 4. Area ~ From Area Contenu Address Of To C 3: ~ m ::D Area . ,;> » r- rn Move ContenU Of From AnI. To Corres· ponding To Area. To Area .') ... I I -V From Area ContenU ::D Q m ::D ~ o I ..... Address Of From ~ r- n m en Address Of From Area Addrea I ~ !.oed Addrea Of From Are. Addresses Into Register 2. " Area OJ 3: Addrea Of From Area . I From Area I I Return To Caller Figure 2-135 (1 Of 2)- FORTRAN Interface Copy Routine Figure 2-135 (2 of 2). Step 'Extended Description Messages and POL Segment ABEND Codes 1 Load the address of 'from area addresses' into register 2. DPPFAONC 2 Load the address of 'to area addresses' into reg,ister 4. DPPFAONC 3 Move the contents of the 'from area' to the corresponding 'to area' contents. DPPFAONC r- n m Z (I) m C 3: » ~ m ::D » r-0 :D o -0 m :D ~ -< o"T1 I'V W w o DPPFAONC Entry Point ORBIT From FORTRAN Program I nput Process ~ Register 15 Register 1 Aadress Of FORTRAN ... / OJ L.oKt Into Register 15 Address Of Byte To OR. Address 0 L 1 ....) . Address Of Byte To OR r- Register 1 ~rn Aadress Of Byte To OR 1. 1 Address Of 0 R Flags loIId Into Register 1 Address Of OR FI8gL ... I I . :> n m Z (I) Address Of OR Flags m C 3: » ..... m :0 » r- n '" FORTRAN Byte To OR I -0 T ~ :0 0 1 ...- f[iJ Set OR Byte To R~ OR Flags. II J OR Flags 1 Return To c.I" Figure 2·136 (1 Of 2) . FORTRAN Interface Or Bit (OR) Routine .. ') .. 1 ORe Regi.,., 15 Addr.a I \: ! Add.... Of Bytw To AND Of Bytw To AND. I[ -" Addrwa Of Byte To AND O' rrn Of AND ,R FORTRAN Byt. To AND [!J ~ Set AND Byte To Requemd MD Fl. 1 \ ., L.oed Into RegilUr Add,.. Of AND FIIIII FIIIII \ Z en m C Regjmr 1 Add~ ,... n m -I . ....~ . 3: l> :D MOed Byte ..,I :D o ..,m 0 --..~ 1 m Add.... Of AND Fl • ; ,... ~ -< o." o:J AND FIIIII 1 Figure 2·137 (1 Of 2) • FORTRAN Interface And Bit (AND) Routine 3: Figure 2-137 (2 of 2). Step Extended Description Messages and PDL Segment ABEND Codes 1 Register 15 will be loaded with the address of the byte to AND. DPPFAONC 2 Register 1 will be loaded with the address of the AND flags. DPPFAONC 3 The byte to be AND flags. DPPFAONC ~~ed will be ANDed with the user-supplied r n m Z (Jl m o s: » -f m :D » r -0 :D o ~ m :D -f < o -n DPPFAONC Entry Point IADDR npu From FORTRAN Program Output ~ R89ister 1 Register 0 Address Of FORTRAN PIIr.meter Add~ss ')IflIT Load Into Register 0 The Address Of The FORTRAN Parameter . FORTRAN ./ Parameter Address r- o m Z en m o V! FORTRAN Parameter Address 3: Register 15 " rrnSet Register 15 (Return Codel to 0 ...> '" » ...... m 0 ::JJ »rI ." ::JJ FORTRAN Parameter o ." m II ...... -< o " Return To Caller Figure 2·138 (1 Of 2) • FORTRAN Interface Address (IADDR) Routine Figure 2-138 (2 of 2). Step Extended Description Messages and POL Segment ABEND Codes 1 The address of the FORTRAN parameter address pointed to by register 1 will be loaded into register O. DPPFAONC 2 On exit from the program, register 15 will be set to return code O. DPPFAONC .("') m Z en m o s: » -t m :0 .-» ~ :0 o." m :0 -t -< o ." DPPPARM From Pl/1 Or FORTRAN Program Input Calling Program SAVEAREA ~ Output Procea DPPPARM SAVEAREA .. 1m ~ .. BEGIN Macro ./ -v" STAECORE Register 1 io Problem parameters ~ ... A(Parameten) ... R~tryl RC A(XCVT) load Parameter Address -v A(OId Probl) ,.. n m Z en m o SfAECORE STAECORE .... ") 1mIssue SfAE And ... .... cancel SPIE ~~I_C~ 3: > -I m ::JJ ,..> I ." ::JJ CVT A(NewlOld TCB) o." ( m ::JJ -I , -< o "" A(Current TCB) ( .... TCB ) locate The PATCH PROBl Parameters A(TCBX) TCBX Figure 2-139 (3 Of 10) A Figure 2-139' (1 Of 10) - Hi~-Level Language PATCH Macro Interface Parameter Build Routine Figure 2-139 (2 of 10). Step Extended Description Messages and ABEND Codes POL Segment 1 As part of the BEGIN macro, the name DPPFPM is defined as an external name with an entry point equal to the CSECT name DPPPARM. In addition, an 84 byte combination save area/work area (STAECORE) is obtained for use during execution of this routine. Register 13 is the base for this area. DPPPARM 2 The high-level language error exits are temporarily overridden to ensure that the save area/work area obtained above is freed. The STAE routine forces a recovery to permit the subsequent entry of the high-level language STAE routine. DPPPARM r- n m Z (I) m C 3: » -t m ::XJ »r." ::XJ o-0 m ::XJ -t < o -n g, 3: N tv DPPPARM From Figure 2·139 (1 Of 10) w co Output Process Input PATCH Input Parameters PATCH Input Parameters I ( ") .. ,~ ovu ..... , A(Old Probl) m XCVT .... ( > ... Test and Set The Re-entry Flag -. A In 1 (D m 2 If The Re-entry ~la9 r(") CJ) m Was On: o SCVT ... .> ~ s: »-f Locate The Address Of DPPTPMON Entry Point DPTPMON2 m ::0 » rI Ut'It'MUN2 Branch And Link To DPPTPMON Entry Point. ~.-..... ..... .,... ." ::0 PATCH Monitor o 2·18 ." m ::0 -f -< o ." EIs,e Set Register 15 Zero. PATCH Input Parameters PATCH Input Parameters I ~ ') A(XCVT) AlOld II . Store The Return Code In Register 1;.. To RC Field And Move Parm Addresses To Parameter List. .> 1 (XCVTI A( Resource) ,(Old B Figure 2·139 (5 Of 10) Figure 2-139 (3 Of 10) - High-Level Language PATCH Macro Interface Parameter Build Routine I) CD 3: Figure 2-139 (4 of 10). Step Extended Description Messages and PDl Segment ABEND Codes I Test and set the reentry flag. DPPPARM 2 If the reentry flag was on, locate the address of DPPTPMON entry point DPTPMON2 from SCVT at location SCVTSBI8. DPPPARM r(') m Z (I) m o 3: » -f m :IJ » r'lJ :0 o'lJ m :IJ -f < o ." DPPPARM From Figure 2-139 (3 Of 10) Output Input 1m Register 1 r r .. r--~-----'''''') .. DPPPARM SAVEAREA If ABEND P-.ed A Workarea, Loed A(DPPPARM SAVEAREA) And Move In The ABEND Code -", ) --v I------~ rm ei Z STAE WOR~J!EA ..,... ...n .... SAVEl I L - i . - ' - L -_ _ _ _~.. L-.""T'""I'__._----"" .. J .........., ~-----t-------I--~ Ehe Store ABEND Code From RegisUr 1 To DPPPARM SAVEAREA Pointed To By Register 2 en m C s: » -4 m ::xJ »r- DPPPARM SAVEAREA I Return To ABEND With RETRY (Register 15·4) ~To DPARMRCV. ." ::xJ o ." m ::xJ -t < o " Figure 2-139 (7 Of 10) r7l "V Figure 2-139 (5 Of 10) - Hi!ll-Level language PATCH Macro Interface Parameter Build Routine Figure 2-139 (6 of 10). Step 1 Extended Description If ABEND passed a work area, load address of DPPPARAM save area and move in the ABEND code from the STAE work area; otherwise store the ABEND code from register 1 to DPPPARM save area pointed to by register 2. Messages and POL Segment ABEND Codes DPPPARM r n m Z en m o 3: » -I m :xJ »r"'V :xJ o ""0 m ::D -I -< o -n OJ 3: N ~ .... DPPPARM Input From Figure 2·139 (5 Of Output STAE WORKAREA If There Is A Workarea From ST AE. Load The DPPPARM SAVEAREA Addreu And The ABEND Code. Free 1 he Workarea. r- n m Z en m C Else Search For DPPPARM SAVEAREA. 3: ~ m ::c » rt ~ ::c o ~ m ::c Load A(PICA), Issue SPIE. Free DPPPARM SAVEAREA Reload Registers Figure 2-139 (9 Of 10) \V Figure 2-139 (7 Of 10) - High-Level Language PATCH Macro Interlace Parameter Build Routine -I -< o -n Figure 2-139 (8 of 10). Step 1 Extended Description If there is a work area from STAE t load the DPPPARM save area address (register 13). Free the work ,areas; otherwise search for DPPPARM save area. Messages and POL Segment ABEND Codes DPPPARM r(5 m Z en m o 3: » -4 m :0 » r-g :0 o ~ m :0 -4 -< o -n O:J 3: From 2-139 (7 Of 10) DPPPARM Input Output Process If Issue A STAE Cancel To Restore High level La~age STAE Exit. STAECORE A(PICA) ... ... OPPPARM SAVEAREA J A(SA1 ~ Load A(PICAI And Issue SPIE To Restore Hi91 Level Languege ........, 1m ... EXIT MKro I \ SAVEAREA Retum To Caller Figure 2-139 (9 Of 10 ) - High-Level Language PATCH Macro Interface Parameter Build Routine . .) SAVEAREA FF I Figure 2-139 (10 of 10). Step 1 Extended Description The EXIT macro FREE MAINs the save area obtained at entry, marks the previous save area to indicate DPPPARM has completed, reloads the caller's registers, and returns via register 14. Messages and PDL Segment ABEND Codes DPPPARM r n .r:::. en m o ~ l> -i m ::0 l> r ." ::0 o." m ::0 -i -< o-n I I DPPPLIO In"ut If ISASIZE [ "mgth of IS":, area I r output Procell -. .. > ..:> rttJ. BUild Argument list tor call A(AAGlISTI A{lSALENGI I 0 0 r (; 0 BOIA(DPPPlIEOI m ISALENG en m Z length of ISA ) APLlIST lao I 0 I c i: ~ m :xJ ~ DPPPlIEO Execution OPtions ); r I "'0 ::D o "'0 m :xJ -t -< .0 ."'11 Branch and link to PLICALLB entry point - Figure 2-344.1 (1 Of 2) - PL/1 Optimizing Compiler Initialization ... - PLII main program Figure 2-139.1 (2 of 2) Step 1 Messages and PDL Segment ABEND Codes Extended Description DPPPLIO If "ISASIZE" external symbol exists and if it is not zero then use the value at ISASIZE, rounded to a double word, and place at ISALENG. If "ISASIZE" external symbol does not exist then use default size. _." (ii" m o -3: l> -t m :D l> ,... "V :D o "V m :D -t < o "CJJ 3: --~ tv I l;) ,r::,. V1 --- LICENSED MATERIAL ·. PROPERTY OF IBM Two CPU Operations The Special Real Time Operating System has facilities to allow for execution in a two-CPU configuration where a job in the backup CPU monitors the performance of the online CPU. When either CPU recognizes that a failure has occurred, that 8PU can request a failover, and the backup CPU becomes the online CPU. Failover can also be initiated by program request to facilitate scheduled maintenance or changes to the operational environment. Failover/restart operates by copying the contents of virtual storage, the OS/VSl job queue, and the SWADS for the one or two partitions tha.t encompass the realtime job, into a disk data set. This is initiated by a WTFAILDS macro call from DPPINITl. The write failover data set SVC routine, OOMIRFLV. is responsible for ensuring that both partitions in a twopartition environment have iss~ed the WTFAILDS macro. Then DOMIRFLV writes the failover data set. This data set can then be IPLed to accomplish the restart. The effect of IPLing this volume is to ~eturn the System/370 to the identical state it was when the RESTART WRITE card was encountered in the SYSINIT Special Real Time Operating System initialization stream. The failover/restart bootstrap program, DOMIRBT, is responsible for restoring the virtual storage, the job queue data set. and one or two SWADS data sets to the identical state they were in when the restart was written. The continuous monitor feature of the Special Real Time Operating System is available in all systems having the failover/restart feature. The continuous monitor is started by patching a task with EP=DOMIRCMN. This can be done by a user program, by a PATCH card in the SYSINIT input stream, or by the CMON parameter on the RESTART card. The probe functions, DOMIRPRB, operates in ,the backup CPU and tests the online CPU (the continuous monitor) 'and is responsible for recommending failover when it gets a Continuous Monitor Recommended Failover signal or if the continuous monitor fails to change the bits on the static signal lines at the specified rate. Upon a system restart, any data base data sets supported by DDS must be closed and opened to account for any changes in the status of primary and backup DDS data sets. This is accomplished by an IRB scheduled under the job step task by DPPIIRB. This IRE executes program DPPDWRST, whichcloses and re-opens the data sets. 2-346 Special Real Time Operating Systems Two CPU Operation r(') m Z en m o 3: ~ .... m :D ~ rI ~ :D o ~ m :D IPl Failover DIU Set .... -< o ." Figure 2-140 - Special Real Time Operating System Two CPU Operation Overview From WTFAllDS Macro rm S~lSY~BQO Synchronize Maner/Slave Partitions I ~ SYS1.PAGE SYS1.SYSWADS SWADS ~rn Write Failover/Restart Data Set ... I ...") I f ... J@f Restore Read Storage And 1 ~ Data Sets r- FailO'ler/ Reuan Data Set (OPPFAIL) n m Z (I) m I IPL Of F /R Data Set All Of Real Storage Restart BOOTSTRAP (DOMIRBT) Output Process ~ Input A '" o 3: ~ m :xJ . Return To Caller SVC3 ...") . 0 SYS1.SYSJOBOf SYS1.PAGE SYS1.sYSWADS SWADS All Of RMI Storagt :t> rI "V :2J ~ m :2J ~ o "'" Figure 2-141 - FailoverIRestart Process Overview Figure 2-141 (2 of 2). Step Extended Descrjption I The MASTER (SLAVE) partition delays until the SLAVE (MASTER) partition issues theWTFA1LDS macro. Execution then continues under the MASTER SLAVE partition. 2 All of real storage, the protect keys, the SYSI.SYSJOBQE data set(s), the SYS1.SYSWADS data set, the active entries in the SYSl.PAGE data set(s), and one or two SWADS (MASTER and SLAVE) data sets are copied to the DPPFAIL data set. The 1PLl and 1PL2 records on track zero are modified to read in module DOMIRBT when the disk is 1PLed. 3 When the disk containing the data set named in the DPPFAIL DD card is IPLed, DOMIRBT receives control and restores real storage, the protect keys, SYSI. SYSJOBQE, SYSl.SYSWADS and the active SYSl.PAGE entries. SYSl.SYSPOOL is not restored. Control is returned to the MASTER and SLAVE partitions just as it was when the original WTFA1LDS was issued except that return code 4 is placed in register-IS and the restart flags in the XCVT are set to reflect an 1PL of the failures/ restart data set on the same or a different CPU. Messages and ABEND Codes POL Segment r- n m Z en m o ~ » -f m JJ »r"'tJ JJ o"'tJ m JJ -f < o ~ I\.) tv (]l o DOMIRFLV From WTFAllDS Macro Input ~ O---r Output Process XCVT - ---+ I OJ ... Two-Partition Operation NO y ::> XCV TSBUt' ,... YES Wait FOf Other Partition To Issue WTFAILDS n I m I I I I en L - -- Z m C 3: .... m » -t Slave Partition m NO :lJ ,...~ YES Wait For Master To Write Restart Data Set , r To load 2 (Page 2-143) I "'0 ::D Q m ::D -t -< o ." Figure 2-142 (1 Of 2) - Failover/Restart SVC - Load 1 Figure 2-142 (2 of 2). Step I Extended Description The SCVTFLGI field is tested for two-partition operation. ABEND 37 is issued if the other partition cannot be located. ABEND 38 is issued if another WTFAILDS is still in progress. ABEND 39 is issued if a realtime initialization has not been performed. An ENQ is issued on QNAME 'DPPINIT', and RNAME of the MASTER realtime jobs to determine if the other partition has reached its WTFAILDS yet. If it has, its ECB (in the SVRB) is posted; otherwise, this partition waits on an ECB in th6 SVRB that the other partition will post. Messages and ABEND Codes PDL Segment USER 37 USER 38 USER 39 OOMIRFLV .("') m Z m en 2 The SLAVE partition waits on an ECB in the SVRB which the MASTER partition will post when the restart is completed. OOMIRFLV o 3: ~ -f m :D ~ .." :D o." m :D -f -< o-n DOMIRFL2 From Load 1 (Figure 2-142) Via XCTl ~ Input Output Process ) Input Panns Rev 3 .. 5 6 7 - CVT TCB SVRB XCVT SCVT Or POST Code If 1---- ----- 1m ~---+ Is Restart Allowed And Is This The Mater Partition? T~ NO Stave XCVT, SCVT, Paging Supervisor Tables, UGS rabies 2-143 (3 of 4) II] ~ ..') Load Necessary Modules And Page Fix Them r- nm A or :> DOMIRNIP LC»ded DOMI RWT Loaded DOMIRBT Loaded Workarea Obtained DOMIRBT Header (DOMBOOTHI Updated Z en m C s: » -t m TCSS TCB Ready Queues UCBs .... m ...") ... ....') Set All TCBs Nondiapatchable. TCBFLGS5 ~ » rI Loop Until All I/O Stops. ." ~ o ." m m ~ Invoke DOMIRWT To Write Restart. .., 00 -t ... Reset Not Ready, Busy Bits In UCBS NO Invoke OOMIRCPY To M.ke Copes Of F /R ") - .... Figure 2-143 (1 Of 4) - Faiiover/Restart SVC - Load 2 A " .., Dati Set , o ResurtlWrite 2-144 On Restarted CPU? YES To Figure 2-143 (3 Of 4) -< DOMlllWT ... ,.~ A FIR Data .-t ~ 2·145 UCBS UCBFl1 Figure 2-143 (2 of 4). Step Extended Description Messages and ABEND Codes POL Segment 1 If this is the SLAVE partition or if this job does not own restart/ write eligibility (CINFD table)t control is passed to step 1, Figure 2-143 (3 of 4). DOMIRFL2 2 A work area the size of the maximum blockage of the device containing the failures/restart data set is obtained. Modules DOMIRWT (restart/ write), DOMIRBT (restart bootstrap), and DOMIRNIP (re-NIP) are loaded and page-fixed. The DOMIRBT header DOMBOOTH is initialized. OOMIRFL2 3 4 r n m All TCBs except the one under which DOMIRFL2 is executing are set nondispatchable using the TCBSYS bit. A loop is entered to test for all I/O complete by testing the UCBPST and UCBBSY bits of all UCBs. OOMI RFL 2 DOMIRWT is invoked via BALR to write the failures/restart data set. OOMIRFL2 Z (I) m o 3: » -t m :D » r 5 The return code from DOMIRWT IPL of the failures/restarts a restarted CPU, DOMIRCPY is any) of the failures/restart is tested. Code 4 indicates that an data set has occurred. If this is not loaded and BALRed to make copies (if data set. OOMIRFL2 ." :D o ." m :D -t -< o -n to s: DOMIRFL2 From Figure 2-143 (1 Of 4) Output ~ Input IOJPrint Message Indicating Restart Status . .." Message To Routing Code 5 r- n m Z (I) m o XCVT, SCVT - I~ There A SI_ ") Partition? Yes - POST It ... .. ") FL's In Slaves SURB s: » -4 m :D •»I "V m Return To Ca"er With Correct Post Code ::D o"V m ::D -4 -< o -n CD s: Return To Caller Of DOMIRFLV Via SVC3 Figure 2·143 (3 Of 4) - Failover/Restart SVC - Load 2 Figure 2-143 (4 of 4). Step 1 Extended Description A message to indicate the success or failure of the failures/restart write is printed. Messages and POL Segment ABEND Codes DPP080A DOMIRFL2 ~PP081A ~PP082A ~PP083A DPP084A IDPP085A r- ~PP086A n m ~PP087A OPP0901 DPP09l1 DPP092A DPP0931 Z (I) m o 3: 2 If a SLAVE partition is waiting, its ECB is posted. DOMIRFL2 3 The caller of DOMIRFLV is returned to via EXIT (SVC3). DOMIRFL2 » -i m :D » r." :D o ." m :D -i < o." DOMIRWT From DOMIRF.l2 (Figure 2-143) Via BAlR Output ~ ~ nput . Input Parms Reg 12 . Addr Of DOMIRBT ~- '-- -- 1m I-- r Set Up Disaster Recover( - F Write All Of Real Storage To The F/R Data Set I :: "'" ;> PSA (Low Corel 1 r L f-----" Jo.. . rOO Copy The Active Entries In The Plging DIU Set To The FIR Data Set r ~ ~ ... .. ") FIR Data Set n m Z en m o 3: [!} Copy » -t The SYS 1.SYSJOBQE m Data Setls}, The SYS1.SYSWADS And One Or Two SWADS Data Sets To The FIR Data Set ::D ~ r I roo The DOMIRBT Program 14K) And The Protect Keys Are o" Written On The First Track Of The FIR Data Set roo . --.. ::D "m::D The IPL 1 And IPL2 Records On Track Zero Of The Disk Are Adjusted To Read In The DDMI RBT Program mOSNS Return To DOMIRFL2 With Environment Re- -t < o." r established From OOMIRBT VielPSW (On Restored CPU) [(Figure 2-146) To DOMIRFl2 Via BR14 Figure 2-144 (1 Of 4) - Failover/Restart WRITE Figure 2-144 (2 Of 4) Step Extended Description Messages and ABEND Codes PDL Segment I As a non-OS/VSI environment exists (standalone I/O) during DOMIRWT's execution, certain precautions are taken to ensure that it can finish execution. The program check new PSW and machine check·new PSW are saved and replaced with PSWs that point to recovery routines within DOMIRWT. The DAT box remains on throughout the execution of DOMIRWT. The control registers are saved in the DOMIRBT header. DOMIRWT 2 All of real storage from location 0 to the end (as determined from the CVT) excepting the 4K occupied by DOMIRBT and the first 2K of the work area are written to the failures/rest~rt data set starting with the second track. The protect key of each block is saved and restored across each I/O operation to avoid changing the reference bit. DOMIRWT The active entries on the paging data set(s) (those which could possibly be paged in) as preserved on the failures/restart data set. An LRA instruction is issued for all address space (2K at a time) defined in the PDDT. A paging data set entry is copied to the failures/ restart data set if either of the following conditions occurs on the LRA: DOMIRWT j" 3. (") m Z (J) m o !i: » -t m :D » j" ." :D o-0 m :D a. b. The LRA indicates a page exception and the "valid bit" (bit 15) is set in the page table entry. The LRA indicates a valid translation and the change bit is off in the frame. -t -< o"T1 Figure 2-144 (3 Of 4) Messages and ABEND Codes POL Segment Step Extended Description 4 The entire contents of the JOBQUEUE and SYSWADS are copied to the failover/restart data set. Unless the partition is using SWA, the SWADS data set(s) are also cDpied. ·OOMIRWT 5 The two 2K blocks of DOMIRBT are written as one record on track zero of the failover/restart data set. The protect keys for all of real storage are saved and written as the second record on track zero of the data set. OOMIRWT The IPLl and IPL2 records are adjusted to read DOMIRBT into the same real storage locations it was written from during the disk IPL. The PSW placed in the 1PLl record points to the first byte after the DOMIRBT header (real address). DOMIRBT The PSA is restored and control is returned to DOMIRFL2. A code of zero is passed in register 15 if the restart/write was successful. A code of 12 is passed if an error occurred with a sub code in register zero. If this is a restarted CPU, DOMIRBT will have entered DOMIRWT at location RESUME after restoring the environment as it was at restart/write. In this case, code 4 is returned to DOM1RBT r- om 2 6 7 OOMIRFL2. en m o 3: l> -i m ::D l> r- LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank Figure 2-144 (4 of 4) 2-369 ENTRY From DOMIRFL2 (Figure 2-143) DOMIRCPY Or PATCH Card ~----------~~~-----------, Process ~------~------------~ r- (; m Z (I) m o 3: ~ m Copied FIR Data Set Failover/Restart Data Set Adjust DOMIRBT Header In Output Data Sets And IPL 1 And IPL2 Records :JJ »rI "'0 :JJ o "'0 m :JJ -t -< o"T1 aJ 3: Return To Caller Via BR14 Figure 2-145 (1 Of 2) - Failover/Restart Data Set Copy Figure 2-14 Step (2 of 2). Extended Description Messages and ABEND Codes PDl Segment I A list of the output volumes (DPPFAILx) is constructed. All must be of DPP089A the same device type and only one failover/restart data set can exist on a volume. In addition, a failover/restart data set cannot reside on the system residence volume that contains SYSI.NUCLEUS. DOMIRCPY 2 The data set is copied, track for track, using EXCP from the DPPFAIL volume to each DPPFAILx volume. DOMIRCPY DPP088A r(") 3 The DOMIRBT header is adjusted on each output volume for new absolute disk addresses. The IPLI and IPL2 records are also adjusted. OOMIRCPY m Z en m o ~ ....m» ::D » r""C ::D o""C m ....::D < o"T1 OOMIRBT Entry Via Input -~ Output ~. 1m Set Up ,... Temporary Environment t!"'-......., r-------Fa/loverl Restart Data Set ~ ./ ./ !m :, Reload R..I Storage r Temporwy Page Tables r- Real Storage nm 2 en m C [l) ~ ~ Adjust Oirect A.cceu UCS's m ... . .... :D ); r- ReNIP Routine 2-147 I ("'"-~ rn . Restore The Pal'"I Data Set, Job c:uu., And SWAD', ------- .... 'J, Job Queues ./ And SWAO's ...... _ / ." :D ~ m :xJ ~ o "m 3: Enter OOMIRWT Via lPSW (Figure 2-144) Figure 2-146 (1 Of 2) - Failover/Restart Bootstrap Figure 2-146 (2 of 2). Step 1 Extended Description A check is made to determine if this CPU has enough real storage. If not, a X'18' ·wait occurs. A set of page tables is constructed with 8K of valid address space: The first 2K of the PSA, the 4K of the DOMIRBT module, and the first 2K of the work area. Control register 0 and 1 are initialized, and the DAT box is turned on. A machine check in the restart bootstrap causes a X'E2' wait state. An unexpected program check causes a X'18' wait state or a X'19' wait state. The location of the Format #1 DSCB for the failover/ restart data set is read in and if the data set no longer exists, a X'F' wait state occurs. Messages and ABEND Codes POL Segment "Failover/ Restart in Progress" on a 3210 or 3215. DOMIRBT r n m Z en m C 2 3 All of real storage is reloaded from the failover/restart data set. After real storage has been reloaded, the control registers are restored to their values at the time the failover/restart data set was written. DOMIRNIP is invoked via a BALR to check for disks mounted on addresses different than they were at time the failover/restart data set was written. If DOMIRNIP indicates that a needed disk is missing, a X'd' wait state occurs. DOMIRBT s: » -f m :0 » DOMIRBT r -0 :0 o -0 m 4 The paging data set(s), SYSI.SYSJOBQE, and SYSI.SYSWADS are restored. The SWADS data sets (MASTER and SLAVE) are restored unless SWA was used. DOMIRBT :0 -f < o-n DOMIRNIP BALR From DOMIRBT (FIgUre 2146) Reg 12 Output Process -~ Input I ~---- -- -- DOMIRBT Header ---+ f[IT . ." . Read The Volume Label For Each Direct Access Device In The OSIVS System. Build Conflict Element For Devices Which Are Not The Same .) Conflict Elements r- n m 2-Byte UCB Lookup Table UCB's Logical Channel Queues ...) .- Remove All ROE's From Logical Channel Oueu~ And Place On Common Internal Oueue r-- . .) y Z m en Internal LCH Oueue C 3: ~ 1m m Using The Conflict Elements. Resolv;) As Many As Possible By Exchanging UCB Locations And 2-Byte UCB Lookup Entries V '" " .. UCBS 2 Byte-Table ::D 5> r I ." ::D Place ROE's Awaiting Execution As Correct Logical Channel Queue. K ... --" .) Logical Olannel Queue o ." m ::D -t -< m Return A Code Of 4 If Critical Disks Missing Return To DOMIRWT Via BR14 Figure 2-147 (1 Of 2) - ReNIP Routine o ." Figure 2-1417 (2 of 2). Step Extended Description Messages and ABEND Codes POL Segment I Conflict elements built for volumes which have moved to a different device address are built into the failover/restart work area. DOMIRNIP 2 Conflicts are resolved by swapping the location of the UCBs and their pointers in the 2-byte lookup table. Thus, DEBs and other UCB pointers throughout OS/VSI still point to the same vnlume and lOS can still find the correct UCB based on device address. Device related fields, e.g., UCBLCI, go with the UCB to the new location. Volume related fields, e.g., UCBDMCT, remain in the old location. DOMIRNIP r("') m Z C/) m 3 A critical disk is one that is permanently resident and allocated. DOMIRNIP C 3: » -t m :tJ » ro" :tJ " m :tJ -t -< o " ~ W 0'> 0'> DOMIRCMN Entry Via PATCH ill · Data Base locations To Test Output Process ~ Input · ... ,-~ Send Signal To Backup Computer Via Direct Control Backup Computer And Status Panel r- ill nm Z Delay For SYSGENed Time Interval. Did Restart Signal en m Occur o !.IV'" YES nr no 3: ~ .. ..... PROBE Function ~ m ::D ~ · rI ") ill Test SYSGENed Data Base · Locations. See If All Have Changed. Have All Changed? Send Failover Signal If Not YES ill YES Wait Until All Locations Change Again NO •.. NO .- Return To Caller Figure 2-148 (1 Of 2)- Continuous Monitor "::Do " m ::D ~ < o ." Figure 2-14·8 (2 of 2). Step Extended Description I If the continuous monitor is operating in duplex mode (no other continuous monitor or probe), a signal is sent to the backup computer via the direct control static data lines. The computer status panel is also driven (ready light). 2 Delay is via STIMER. If a failover request external interrupt occurs, it is interpreted as a restart signal, and an XCTL is executed to OOMIRIPL (within DOMIRPRB) to cause the failover/restart data set to be IPLed. 3 If any of the participating data base locations have failed to change during two time intervals, failoveris recommended to the backup computer by sending X'F' on the static data lines. Messages and ABEND Codes POL Segment DPP099I OOMIRCMN DOMIRCMN r(") m Z CI) DPP098A OOMIRCMN m C 3: » -f m jJ 4 If the data base locations start to change again, the sampling process is restarted. OOMIRCMN » r- DOMIRPRB Entry Via PATCH Or ATTACH (DOMIRPWT And DOMIRPLX Entri.) Entry Via PATCH Or XCTL (DOMIRIPL) Output Input ITJ Is Another Continuous Monitor Or A Probe Running Or This YES CPU Or Is The DPPFAIL DO Card Missing Exit (BR14) With RC = 0 Direct Control Static Data Lines From Primary CPU r nm 2 CI) m C 3: > -t m :xJ ); r I -a :xJ • • • • • •~ @ Status Panel Interrupt IPL The Failover/Restart Data Set (DOMIRPLK Entry) Or Return (DOMIRPWT Interrupt) o -a m :xJ -t -< o • • • •~ FIR BOOTSTRAP Exit (BR14) With RC· 4 s: 00 Figure 2-149 (1 Of 2) - Probe Function "a:J Static Lines Started To Change Again Figure2-149 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 An ENQ is issued to test for the presence of another continuous monitor or probe. The module terminates if another one is present. tooMIRPRB 2 The ready light on the status panel is driven J and a delay for the SYSGENed time interval is instigated via the STlMER function. DOMIRPRB 3 The static lines are tested via READ-DIRECT. If they have changed, the STIMER loop is reissued. If they have failed to change for two STIMER cycles, the fai10ver recommend signal is sent to the computer status panel. tooMIRPRB 4 The fai10ver confirmed signal from the status panel can occur in response to the failover recommend signal or asynchronously at any time. If the probe was entered at DOMIRPLK J it simulates a hardware IPL to the fai10ver/restart data set. If the probe was entered at OOMIRPWT, it returns with code 4 in register 15. The IPL of the fai1over/restart data set can also be entered (from DOMIRCMN) at OOMIRIPL. If the static data lines start to change again while awaiting the fai10ver confirmed interrupt J the STIMER loop is reentered. r(") m Z (I) m o OOMIRPRB 3: l> -i m JJ l> r- ~ JJ o ~ m JJ -i < o-n DPPIIRB Input From DPPINIT1 (Figure 2 12) .~ Procea Output Regilt.r 1 to. OPEN/CLOSE FIIIII ...:> 1m S.ve OPEN/CLOSE Flag To P•• To The OPEN/ CLOSE Routine (DPPDWRST) r- esm Z (I) m I1J OSNSIRB C Crelle D$NS I RB For DPPOWRST To Run Under .... ...:> 3: l> -t m OSNS IRS rn .... ':> Schedule IRB To Run Under Job Step T.k And Wilt Until OPPOWRST Completes Execution ::D }; r I ." ::D o." m (!J ::D -f LINK To OPPOWRST -... I POST OPPIIRB ECB -- I RlltUm To Cllier Figure 2·150 (1 Of 2) . Data Base Create IRB Routine .. -< Write Restart 2·151 o-n OJ 3: Figure 2-150 (2 of 2). Messages and ABEND Codes POL Segment Step Extended Description 1 When entered, register 1 will contain an OPEN/CLOSE flag. If register 1 contains a 0, all data base data sets are closed, and if register I contains a one, all data base data sets are opened. DPPIIRB 2 A CIRB macro will be executed to create an OS/VSI IRB under which the OPEN/CLOSE routine (DPPDWRST) can run. DPPIIRB 3 The IRB will be scheduled under the job step task to facilitate the opening or closing of the data base data sets because the initialization task under which DPPIIRB runs, terminates at the end of initialization. DPPIIRB will wait for the OPEN/CLOSE routine to' complete. DPPIIRB When the CIRB macro is executed, it points to a segment in DPPIIRB which links to the OPEN/CLOSE routine. On return from the link, this segment will post the ECB that DPPIIRB is waiting on. DPPIIRB 4 r(") m 2 CI) m o 3! » -f m ::D » r~ ::D o ~ m ::D -f -< o"'T1 flo) w ......... DPPDWRST From OPPIIRB (Figure 2-150) Input ~ r--::__-t-L---.-l.----...L---...I..." ... ill Retrieve Passed Parameters Data Base Data Sets ........ .,.f----'" ..) r(=; m Z (I) m o 3: » -t m ::D '---_.&.-_ _--J-r-.........., ~------r---, ~ ~_r-_ _--... ..../.r I I OPEN Or CLOSE All Data Base Data Sets Il » r- v I I I I -0 ::D I I I I I I .... - - f----~ I I ~ ---- ~ -=- =-=. ----:.-~ D=========JJ I I l ...... o-0 m ! ::D I o ." I _---", J -t -< m Issue System Message 9 If Pre-Restart And Post-Restart ~---.l.-----.&.-_---"~ Or Pre-Probe And Post-Probe ~---..------r----Data Bases Are Different .. ...""""'-" Return To Caller Figure 2-151 (1 Of 2) - Data Base OPEN/CLOSE 3: OPP0091 Figure 2·151 (2 of 2). Step Messages and ABEND Codes PDL Segment Extended Description 1 When DPPDWRST is entered, register 1 will point to a The first word contains an ECB which is being waited and the second word contains an OPEN/CLOSE flag. If is 1, all the data base data sets are opened, and if is 0, all the data base data sets are closed. 2 All the data base data sets in the system are opened or closed according to the OPEN/CLOSE flag pointed to by register 1. double word. on by DPPIIRB, the second word the second word DPPDWRST DPPDWRST r C') m Z 3 A BLDL will be executed to retrieve the @INIT data base directory entry. If the DBDIBUPD field in the @INIT entry is different from the DBDIBUPD field in the Data Base DDNAME Table, message 9 will be issued. DPP0091 DPPDWRST en m o S l> -f m :D l> r LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank 2-374 LICENSED MATERIAL - PROPERTY OF IBM Offline Utility The offline utility is primarily designed to control the offline maintenance of the data base, message, and user-associated data sets used during online execution. Through an interface with the OS/VSl utility, IEBUPDTE, source data sets, which serve as input to the online data set build, may be updated by the offline utility. Online data sets are updated through an interface which will invoke the appropriate final phase processor for the area (data base, messages, or user) being modified. 2-375 Offline Execution I Offline Utility Data Base Compress J Playbeck OPPXOBCP Main Control Routine Figure 2-161 OPPXUTlL Main Control Routine Figure 2·154 Figure 2·154 (13 of 30) I SYSGEN OPPXNRTI Playblck Routine Figure 2·162 Get Compress Control Table Figure 2·161 (9 of 24) Control Card Validity Check I .- DPPXPCON PleybKk Conversion Routine Figure 2·73 I Input Processing Routine Figure 2·154 (19 of 301 r- n Read Data Base POS Directory Figure 2·161 (11 of 24) I m Z I IEBUPOTE Interface Figure 2·154 (23 of 30) (I) m C Read OA Control Records Figure 2·161 (13 of 241 I 3: l> I -C m Sort Compress Control Input Read/Write Figure 2·154 (25 of 30) :D Table Figure 2·161 (15 of 24) i> rI I Move Direct Acceu Arrays Figure 2·161 (17 of 24) Assembler/Loader/Final Phase Processor Interlece Figure 2·154 (27 of 30) Read/Write Direct Acceu Records Figvre 2·161 (23 of 24) OPPXOBAS Data Base Build Figure 2·153 OPPUMSG Message Definition Figure 2·159 I ·User Utilities "'0 :D o "'0 / m :D -C -< o ." I I 1 DOMXSTG1 Stage I SYSGEN Utility Figure 2·163 I I DPPXDBIN Build Initialization Array Figure 2·160 ·User Associatad Programs Figure 2-152 - Special Real Time Operating System Offline Execution Overview Data Base Build Data Base Final Phase Processor - First Load Write Direct Access Arrri Data Data Base Final Phase Processor - Second Load DPPXDBAT Main Control Routine Figure 2·156 DPPXDBAS Main Control Routine Figure 2·155 ADD Arrays Figure 2·155 (11 of 24) DPPXDBDA Figure 2·157 Update Initialization Array Figure 2·156 (7 of 22) DPPXDBLG Format Logging Arrays Figure 2·158 I Update Array ID Table Figure 2·156 (9 of 22) Figure 2·155 (17 of 24) I I DPPXDBAT Data Base Final Phase Processor - Second Load Figure 2·156 . I I Update Refresh Array Figure 2·156 (11 of 221 m Z en m C 3: ::rJ » rI "'V ::rJ o "'V m Update Composite Items Array Figure 2·156 (15 of 22) I Update PDS Directory Figure 2·156 (21 of 22) Figure 2-153 - Data Base Build Overview r- n m Read Data Base PDS Directory Figure 2·156 (19 of 22) I DELETE ''''Y' DPPXDBLG Figure 2·158 »-I I DPPXDBDA Write Direct Access Arrays FigUre 2·157 Format Logging Arrrf :D -I -< o -3:" tD DPPXUTll ~ Inp,I! ~ WAREA ....) PJ Regiltii' 1 .. GETMAIN And Clear Work Area ~ I l.eng1tI .... ~ J PARMS ..... ;;< :r WAREA Sot E"""" Co.......... "".om I I - ...) NOGENFLG Z m ...) INPARM 3: ... ... ...:) .... WAREA WAREA Joo. p III] ~ .... ... Initialize Work Area ,.. nm ) en C ~ m :u »,.. I "V ::D ~ m :u -l -( m o I laue STAE SVC 1 Figure 2·154 (3 Of 30) Figure 2·154 (1 Of 30) . Main Control Routine A " Figure 2-154 (2 of 30). Messages and ABEND Codes PDL Segment Step Extended Description 1 GETMAIN is used to obtain a storage area for register save area and for work space. The area is cleared to contain all binary zeros. DPPXlITIL 2 The execute card parameters may specify the use of assembler H or the OS/VSl assembler and may specify that input to the assembler be preceded by a PRINT GEN or a PRINT NOGEN. Default options are the OS/VSl assembler and PRINT NOGEN. Specifying invalid options will result in setting the default options and a parameter error flag. DPPXlITIL Initialize read buffers. IEBUPDTE parm list. assembler parm list. loader parm list, sequential input DCB, and PDS input DCB areas of the work area. DPPXurIL Issue STAE SVC to prepare for cleanup processing in case of an DPPXUTIL 3 4 ABEND. r (') m Z en m C ~ ~ -t m :D ~ r \J :D o\J m :D -t -< o'TI DPPXUTIL SYSPRINT DCB OPENED NT OPEN SYSPRINT And SYSIN DCB r(') m Z en m SYSPRINT ~----------- --r- C SYSPRINT Not OPEN 3: » -I I I I \D I I I IL __ Figure 2·154 (11 of 30) SYSPRINT OPEN m :.0 » rI o" :.0 " m WAREA ~------------ :.0 Execute Card Plrlmeter Error -< o-n Figure 2·154 (5 Of 3O) Figure 2·154 (3 Of 30) • Main Control Routine -I c:v Figure 2-154 (4 of 30). Step Extended Description Messages and ABEND Codes POL Segment 1 The SYSPRINT and SYSIN data sets are opened. DPPXUTIL 2 If SYSPRINT does not open, register 15 is set to 16, and error exit processing is performed. DPPXUTIL 3 If SYSPRINT is open, the DPPXUTIL header message is written to SYSPRINT. DPPXUT22I If errors were found in the execute card parameters, a message indicating that default options are used is written to SYSPRINT. DPPXUT25I 4 DPPXUTIL r(") DPPxtITIL m Z en m o 3: l> -i m :c l> r- ." :c o ." m :c -i -< o ." DPPXUTIL Output SYSIN §----- -----..--~L__ =_SY~S~IN~OC~B~N~o~t~OP~E=N~ J··fIIl __ r om Z Start Of Loop (I) m WAREA Get A Card From SYSIN C 3: » -t m :::c » r I "'0 :::c o"'0 m Write Card To SYSPRINT :::c -t -< o "TI Fiiure 2-154 (7 Of 30) Figure 2·154 (5 Of 30) . Main Control Routine r7l '\./ Figure 2-154 (6 of 30). Step Extended Description Messages and ABEND Codes POL Segment 1 If the SYSIN DeB is not open, a missing DD statement message is written to SYSPRINT, return code 12 is set in register 15, and error exit processing is performed. DPPXUTOlI DPPXUTIL 2 The input buffer is checked for a control card. If no control card is present, a GET is issued to obtain the first card from SYSIN. When the end-of-file is read from SYSIN, the message SYSIN END-OFFILE is written to SYSPRINT. DPPXUT201 DPPXUTIL 3 The card now residing in the input buffer is written to SYSPRINT. I' ("') DPPXUTIL m Z en m C 3: l> -f m :xJ l> r- ." ~ o ." m :xJ -f -< o ." Ol 3: DPPXUTIL Output Input r WAREA ~-- If Not Control Card I I I I L C 3: DO .. ., ~ Control Card Validity Check Figure 2-154 (13 of 30) m ::D » r- WAREA INVALID ~ --, --t- I ." ::D o If Valid Control Card ." m I I Figure 2-154 (9 of 30) I L Figure 2-154 (7 Of 30) - Main Control Routine Z (I) m If Control Card, Validity check Operandi .... ~ n m WAREA DPPXUTLl BYPASS r- End of Load Figure 2·154 (11 of 30) --1 If Not A Valid Control Card ::D ~ o .." Figure 2-154 (8 of 30). Step Extended Description Messages and ABEND Codes PDL Segment 1 If the card in the input buffer is not a control card, print a message that the first card must be a control card. Read and flush cards from SYSIN until a control card or an end-of-file is reached. 2 If the card in the input buffer is a control card, go to the control card validity check routine. 3 If the control card 'is valid, the CONTROL CARD ACCEPTED message is written to SYSPRINT. DPPXUT99I If the control card is not valid, the SKIPPING FOR NEXT CONTROL CARD message is written to SYSPRINT. DPPXUT211 DPPXUT02I DPPXUTIL DPPXUTIL r 4 DPPXUTIL n m DPPXUTIL en m o Z s »-I m ::D » r ~ ::D o ~ m ::D -I -< o-n to :s: Figure 2·154 DPPXUTIL (7 Of 30) Output PrOC*S Input SVSUT4 ... 1m ....... IOPEN SVSUT4 DCB SYSUT4 .... DCB OPENED ') v DCBOFLGS ~----- ~-I I I __ L ill f-+ Register 15 ..":> If DCB Not OPEN ~ 12 II ~1y!Figure 2·154 (11 of 301 Nnr.~t.II:1 r.: ...., ~----- ~...1.. ~~ AREA I. . . . 1 1 T I J T roo ___ ~----- .... ..:> ..":> ... ~ ERRE BAD ...... ~----- .... ...... Dati ~ m ::D » rI ." ::D o ." m -t -< o OPPXUTL2 Input Processing Routine Figure 2-154 (19 Of 301 "OJ 3: rID Source Om Set UpdIte Operation ...... 00 ..... ............... DPPXUTL4 IEBUPDTE Interf.ce Routine Figure 2-154 (23 Of 301 F Figure 2-154 (9 Of 30) . Main Control Routine OSAM 3: ::D .. DO ... ---- ~ Set ... WAREA DPPX UTO 1 SVSUT4 Online Om Set Build Operation m Z en m o ')i WAREA r- o Figure 2·154 (11 Of 30) Figure 2·154 (10 of 30). Step Extended Description Messages and ABEND Codes POL Segment DPPXUTIL 1 The utility data set described by the SYSUT4 DD statement is opened. 2 If the SYSUT4 DeB does not open, a missing DD statement message is written to SYSPRINT, return code 12 is set in register 15, and error exit processing is performed. 3 If the NOGENFLG is set, a PRINT NOGEN card is written to SYSUT4. An area definition macro card is constructed from the input control card and written to SYSUT4. If the operation is an online data set build, control is passed to the input processing control routine for online data set build. DPPXUTIL If the operation is a source data set update, control is passed to the IEBUPDTE interface routine for source data set update. DPPXUTIL DPPXUTOlI DPPXUTIL r (") m Z en m o 3: 4 » -I m :D » r -0 :D o -0 m :D -I -< o -n OJ 3: • DPPXUTIL Input WAREA ~----- No End-Of-File Reached On SYSIN Figure 2-154 (5 of 30) r(") m SYSPRINT Z SYSPRINT DCB (I) m ~_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _L -_ _ _ _ _ _L-~Im SYSIN CLOSE SYSIN And SYSPRINT C 3: DCB CLOSED ~ ~ m ::D ~ rI ~------- -0 ::D If Data Base Operation Performed 0 -0 m ::JJ -I ..... iiii• •~ tion Build DB Initializa""'II Array Figure 2-160 GJ Free Work Area Return To Schedular Figure 2·154 (11 Of 30) • Main Control Routine ." Ol ~ WAREA C]-·------f-1 -< 0 Figure 2-154 (12 of 30). Step Extended Description 1 If end-of-file has not been reached on SYSIN, go back and process next control card. 2 If end-of-file has been reached on SYSIN, write the UTILITY ENDED message to SYSPRINT, CLOSE SYSPRINT and SYSIN, and set return code o in register 15. 3 If a data base operation was performed, link to DPPXDBIN to build the data base initialization array, @INIT. 4 Free the gotten work area. Messages and ABEND Codes POL Segment DPPXUTIL DPPXUT23I DPPXUTIL DPPXUTIL rn m Z en m DPPXUTIL o 3: » -I m :::D »r." :::D o ." m :::D -I < o -n DPPXUTIL Process Input WAREA WAREA ITl If Not Valid Operation On Control Card --iI I r- I I nm I I ,I ... - rn WAREA C Validity Check Control Card Format I I 3: ~ m I I I I t-- rn ::D l> r- Break Out Keywords And Operands I I I I I , I I Z en m -V rn ::D 0 -V m If Online Data Set Build Operation ::D ~ < Q III 0 "CD g If Source Data Set Update Operation \9 {!J Mark Control Card Checked Return To Figure 2·154 (70130) Figure 2-154 (13 Of 30) - DPPXUTL 1 - Control Card Validity Check WAREA Figure 2-154 (14 of 30). Step Extended Description 1 The control card is checked for a valid operation field. A message is written to SYSPRINT if the operation is omitted or incorrect. Set bypass if message written to SYSPRINT. 2 The control card is checked for proper format and continuation. Messages are written to SYSPRINT for: Messages and PDL Segment ABEND Codes DPPXUT18I DPPXUT19I DPPXUTIL DPPXUTIL r PARAMETER OR CONTINUATION MARK MISSING EXPECTED CONTINUATION NOT RECEIVED COLUMNS 1-15 MUST BE BLANK CONTROL CARD TEXT BEYOND COL 71. (') DPPXUT03I DPPXUT04I DPPXUT05I DPPXUT06I m Z en m 0 3: Set bypass if message written to SYSPRINT. DPPXUTIL 3 Break out keyword operands into separate fields. DPPXUTIL 4 Validity check keywords and operands on online data set build control card. DPPXUTIL Validity check keywords and operands on source data set update control card. DPPXUTIL Mark control card to indicate completion of validity checking. DPPXUTIL » -I m ~ » r ." ~ 5 6 0 ." m :IJ -I < 0 "OJ 3: DPPXUTIL Process Output WAREA WAREA OJ Validity O1eck AREA Keyword And Operand r Validity Check OPTION Keyword And Operand nm Z m en o 3: Validity O'Ieck lNPUT Keyword And Operand ~ m ~ Validity Check TYPE Keyword And Operand i> rI -0 ~ ~ m ::D -I -< o " Retum To Figure 2-1 (13 Of 30) Figure 2-154 (15 Of 30) - DPPXUTL 1 - Control Card Validity Check Figure 2-154 (16 of 30). Step Extended Description Messages and PDL Segment ABEND Codes 1 The operand specified for AREA is validity checked. * DPPXUTIL 2 The operand specified for OPTION is validity checked.* DPPXUTIL 3 The operand specified for INPUT is validity checked.* DPPXUTIL 4 The operand specified for TYPE is validity checked.* DPPXUTIL r (") m Z en m o 3: ~ ~ m ::D ~ r *Messages written as a result of this validity checking are: WRONG PARAMETER MULTIPLE KEYWORD PARAMETER IN ERROR RIGHT PARENTHE~IS MISSING, TREATED AS VALID WRONG KEYWORD INPUT SPECIFICATION MISSING AREA SPECIFICATION MISSING NO OPERAND FOUND DPPXUT07I DPPXUT08I DPPXUT09I DPPXUTIOI DPPXUTIlI DPPXUT12I DPPXUT13I DPPXUT17I Figure 2·154 (13 Of 30) DPPXUTIL Ou1put Process Input WAREA WAREA .... I .... .; IITJ .... Validity Cleek NEWSET Keyword v ") INVALID , r- n m Z en m II] .... y ) C Validity Cleek OLDSET Keyword 3: » -t m ::0 » rI ""0 :D o""0 m ::0 -t -< o " l Figure 2-154 (17 Of 30) - DPPXUTL 1 - Control Card Validity Check Return To F~re 2·154 (1 Of 30) Figure 2·154 (18 of 30). Step Extended Description Messages and PDL Segment ABEND Codes 1 The operand specified for NEWSET is validity checked.* DPPXUTIL 2 The operand specified for OLDSET is validity checked. * DPPXUTIL r (') m Z en m o 3: » -f m :D » r ." :D o ." m JJ -f -< o"T1 *Messages written as a result of this validity checking are: WRONG PARAMETER MULTIPLE KEYWORD PARAMETER IN ERROR WRONG KEYWORD NEWSET SPECIFICATION MISSING OLDSET SPECIFICATION MISSING DPPXUT071 DPPXUT08I DPPXUT09I DPPXUTllI DPPXUT15I DPPXUT16I Figure 2·154 OPPXUTIL (9 Of 30) Input WAREA ~ .... Input Output Process rill ,/ IF Input From SYSIN DPPXUTLJ ..... DO...... Input READ/WRITE Fig 2·154 (25 Of 301 .......- ..... To ERREXIT v DPPXUTLJ ..... 00.... .... Input READ/WRITE Fig 2·154 (25 Of 30) r- (; m Z en m ..... 1':>1m IF Input From I.,,> Sequential Data Set ...... SEQINDCS ..... --' :\:V C 3: »-I Fig 2·154 (9 Of 30) m :0 »r- WAREA I Input "'0 :0 JFCB ~ ... rn o"'0 Member :0 -I m ..... ~ERREXIT IF Input From Partitioned Data Set DPPXUTL3 PDSINDCB JFCS ...... 00.... Input READ/WRITE ......--..- Fig 2·154 (25 Of 30) Figure 2-154 (21 Of Figure 2·154 (19 Of 30) - DPPXUTl2 - Input Processing Control 3O)~ ... ) .~ Fig 2·154 (9 Of 301 -< o ." .. ", ... u ...., , " ... . ') aJ 3: Figure 2-154 (22 of 30). Step 1 Extended Description Perform external interfaces with assembler, loader, and final phase processor. Messages and PDL Segment ABEND Codes DPPXUTIL ,.. o m Z m (I) C 3: » -f m ::D » r." ::D o ." m ::D -f -< o "OJ 3: DPPXUTIL Figure 2-154 (23 Of 30) Input OJ Do Input READ/WRITE OPPXUTIL Output Process .....00..... .... .... r- o m DPPXUTL3 Input READ/WRITE FIgUre 2·154 Z en m (25 Of 30) C 3: »-4 m -»r:D LINK Do IEBUPDTE Processing Update Source Data Set I "'0 :D o"'0 m :D -4 -< ..,o OJ 3: Figure 2·154 (23 Of 30) - DPPXUTL4 . IEBUPDTE Interface Routine Figure 2·154 (24 of 30). Step Extended Description Messages and POL Segment ABEND Codes 1 Control is passed to the input READ/WRITE routine. DPPXUTIL 2 Link to IEBUPDTE to update the source data set. DPPXUTIL r- n m Z en m C 3: » -i m :Il » r"'0 JJ o "'0 m JJ -i <: o 'T1 to 3: N 8.... Fi~re 2-154 (19 Of 30) Figure 2-154 (23 Of 30) DPPXUTIL Output Process ~ Input SYSUT4 ... / ..." / ("~' From SYSIN IT] REAO/WRITE Input ... ./ .. I- i------" Input From SYSIN > ,_/ ~ r- n m Z (I) m C 3: :t> -4 m 1J WAREA l> 1m OPERATN "') Online Data Set Build Operation rI '"'0 1J o '"'0 m 1J -4 -< o ." -~ Return To Caller Figure 2-154 (25 Of 30) - DPPXUTL3 - Input ReadIWrite Figure 2-154 (26 of 30). Extended Description Step 1 input from SYSIN and WRITE input cards to SYSUT4. The message END-OF-FILE ON INPUT DATA SET is written to SYSPRINT when the endof-file is read on the input data set. 2 If online data set build operation, write appropriate area definition END macro to SYSUT4. p~ Messages and PDL Segment ABEND Codes DPPXUT24I DPPXUTIL DPPXUTIL r- n m 2 en m o s: » -4 m II »r"'tJ ::D o"'tJ m II -4 -< o " DPPXUTIL M If Assembler H Specified r- LINK Assembler H om Z SYSUT4 CI) m C 3: » -t If OS/VS Assembler Specified m ::D » r- LINK I "'V ::D o "'V m If Assembler Return Code Greater Than 16. ABEND ::D -t -< o." If Assembler Return Code Is 8 Or Greater Figure 2·154 (29 Of 30) Figure 2.154laJ (29 Of 30) ""'V Figure 2-154 (27 Of 30) - DPPXUTL5 - ASM/Load/FPP Interface Figure 2-154 (28 of 30). Step Extended Description Messages and ABEND Codes POL Segment 1 If Assembler H was specified, the input cards on SYSUT4 are assembled by the Assembler H. DPPXUTIL 2 If the OS/VSl Assembler is specified, the input cards on SYSUT4 are assembled by the OS/VSl Adsembler. DPPXUTIL 3 If the assembler return code in register 15 is greater than 16, DPPXUTIL ABENDs with ABEND code 55. 4 If the assembler return code in register 15 is 8 or greater, the PROCESSING ABORTED DUE TO BAD RETURN CODE FROM ASSEMBLER message is written to SYSPRINT. USER 55 DPPXUT26I DPPXUTIL DPPXUTIL r- o m Z m C'I) o 3: » -4 m :D » ,... ~ :D o ~ m :D -4 < o ." tJl 3: Figure 2·154 (27 Of 30) N .i::. o DPPXUTIL m ( Assembled Object Deck Output Process Input W ... ....) m load Object Deck Into Storage r- .. ... CALL . ...... I-II=WlnAnA nm .) Loader ... Z Loaded Assembler (I) Output C m 3: ~ Register -l5 . m Return Code v :XJ » Register 15 ~ Return Code Loaded Assembler Output I I rI ... rID ... :> If loader Return Code Is 8 Or Greater . .. rm Loaded Assembler Output Interface With Final Phase Processor .. " LINK ... . 1 Final Phase Processor ! ~ '\ Register 1 A(lnput Load Module) Input L M. Size DO) SYSPRINT line ~"t ~Y' Return To Figure 2·154 (21 Of 30) Figure 2-154 (29 Of 30) - DPPXUTL5 - ASM/Load/FPP Interface -a :XJ ~ m :XJ -4 -< o "T1 Figure 2-154 (30 of 30). Step Messages and ABEND Codes PDL Segment Extended Description 1 The assembled object deck is loaded into storage by the LOADER. return code is returned in register 15. A 2 If the return code is 8 or greater, the PROCESSING ABORTED DUE TO BAD RETURN CODE FROM LOADER message is written to SYSPRINT. 3 A link is performed to the final phase processor for online data set build. The name of the final phase processor is not known. The address of a program name is contained in the loaded assembler output. DDPXUTIL DPPXUT26I DPPXUTIL DPPXUTIL r (") m Z en m C 3: » -f m ~ » r"'0 ~ o"'0 m ~ -f eo( o ." OJ 3: N .t::- DPPXDBAS Entered Via link From DPPXUTI L Figure 2-154 (29 Of 30) Input O ~ ex> ::1[1] Register 1 Output Process WAREA ":> ... GETMAIN SaveIWork Area W "~ID , ..... WAREA DBINPARM A(lnput L.M.) L.M. Size ,.1 DCB) II;)';:)' C I[I] TnPut ~ I Load DPPXDBDA And DPPXDBLG 1l SYSPRINT Line Count ")0 .) ... WALMDBDA WALMDBLG -n r- m Z (I) m C 3: Loaded Assembler Output DBINIT DBINIT .... DCB .... 1[2] OPEN Data Base PDS -) L ~ DCB (OPENED) » -t m :Jl » rI -0 DBINIT r r I DCB DCBOFLGS I I ------ 1------ .... .... 111] If Data Base PDS Not OPENED ~ Figure 2·155 (1 Of 24) - Main Control Routine A :Jl o-0 m :0 ERREXIT ALL Figure 2-155 (9 Of 24) Figure 2-155 (3 Of 24) Register 15 -t -< o " rF~ig~u~re~2-~1~5~5_(=2~o_f_2~4~)~__________________________________________________,-_________-.________ ___ Step Extended Description Messages and PO L Segment ABEND Codes 1 GETMAIN is used to obtain a register save area and work area. The address of the input parameter list is saved in the work area. DPPXDBAS 2 The data base final phase processor branch routines are LOADED into storage. DPPXDBAS 3 The DATA BASE FINAL PHASE PROCESSOR ENTERED message is written to SYSPRINT and the data base PDS is OPENed. DPPXDB01I DPPXDBAS r(") m Z (I) 4 If the OPEN fails, the UNABLE TO OPEN DATA BASE PDS message is DPPXDB071 written to SYSPRINT, register 15 is set to 16, and error exit processing is performed. DPPXDBAS m o s: » -t m :c » r"0 :c o '"'0 m :c -t < o." DPPXDBAS Input Figure 2·155 (1 Of 24 Outpu-,! Process WAREA DBINIT 1m GETMAIN DCB DCBBLKSI 1------ ~ - -- r-. J..,,: Input/Output Buffel"l ./ II ~ WAICBBUF WAOLDCID ~ New Dir WAREA L.M. [1] ~ DBDFNOAR V l' ... ~~rt:""11 r-~ GETMAIN New Directory Buffer ~ ..... rn o ~ ............. ADDARRAY Add Arrays To Data Base Figure 2·155 (11 Of 24) m :0 ~ ... rI ." :0 o "'" :0 -i (IJ If Option Is Delete ~ .....----..- DELARRAY DELET Arrays From Data Base Figure 2·155 (17 Of 24) Figure 2·155 (3 Of 24~ Figure 2-155 (3 Of 24) - Main Control Routine 8 s: » -i ~ ~ - Register 15 -::> If Option Is Add Z m Figure 2· (9 Of 24) - m CI) ~ DBDFOPTN rn B -< o "T1 Figure 2·155 (4 of 24). Step Messages and ABEND Codes PDL Segment Extended Description 1 GETMAIN is used to obtain buffers for input and output. addresses of the buffers are saved in the work area. 2 If arrays have been defined in the input load module, GETMAIN is used to obtain storage for new directory entries. Otherwise, the message NO ARRAYS DEFINED is written to SYSPRINT, register 15 is set to return code 8, and error exit processing is performed. DPPXDBAS The DPPXDB05I DPPXDBAS rn 3 If the processing option is ADD, go to the ADD {irray routine. DPPXDBAS 4 If the processing option is DELETE, go to the DELETE array routine. DPPXDBAS m Z en m o 3: »-f m ::D »r-c JJ o-c m ::0 -f < o ." ......... N DPPXDBAS Input Fig 2·155 (3 Of WAREA LM. ...... UDUr-Vr-11'4 .~ Process m J-.> - IF Option Is REPLACE ./ DO ....- .. WAREPL DELARRAY r- Delete Arrays From Data Base Fig 2·155 (17 Of 24) C') m 2 m C (I) 3: DO ....- .. ~ ADDARRAY m Add Arrays To Data Base Fig 2·155 (110f24) :0 l> r- WAREA 1m J'..) - .Joo. IF Option Is TEST ) WATEST :0 o ." m DELARRAY DO .... .. . Delete Arrays From Data Base Fig 2·155 (17 Of 24) ADDARRAY .. ....- DO ... Figure 2·155 (7 Of 24) Figure 2-155 (5 Of 24) - Main Control Routine I ." Add Arrays To Data Base Fig 2·155 (11 Of 24) c :0 -I -< o " Figure 2·155 (6 of 24). Step -- Extended Description Messages and PDL Segment ABEND Codes 1 If the processing option is REPLACE, set the replace flag in the work area, go to the DELETE array routine, and go to the ADD array routine. DPPXDBAS 2 If the processing option is TEST, set the test flag in the work area, go to the DELETE array routine, and go to the ADD array routine. DPPXDBAS ,CO) m Z m CI) o 3: »-I m :D » ,"'0 :D o"'0 m :D -I -< o "'T1 DPPXDBAS Figure 2·155 (5 Of 241 Input WAREA lM UDU ·Ut Output Process [[IT N .."'> . ")I IF Invalid Option Default To TEST ... "' DO _.. r WATEST ,... DELARRAY De1ete Arrays From Data Base Fig 2·155 (17 Of 24) (") m Z en m C .. "' ADDARRAY DO ... ... 3: » ~ Add Arrays From Data Base Fig 2-155 (11 Of 24) m ::xJ > ,... I Register 1 A(WAREA) -0 "'> .... ::xJ i[]]Data Base Final Phase Processor (Second Load) Q m ::xJ WAREA ... ... . LINK ~ ,.... ...,.... Data Base FPf' Second load Fig 2·156 ~ o "T1 OJ 3: Figure 2·155 (9 Of 24) Figure 2-155 (7 Of 24) - Main Control Routine 0 Figure 2·155 (8 of 24). Step Extended Description 1 If the processing option is invalid, the test mode flag is set in the work area, and the message, INVALID OPTION-TEST ASSUMED, is written to SYSPRINT. DELETE array and ADD array processing is performed. 2 The second load of the data base final phase processor is entered via a LINK SVC to complete data base processing. Messages and ABEND Codes POL Segment DPPXDB04I DPPXDBAS DPPXDBAS r o m Z en m C 3: » -t m ::D » r ." ::xJ o." m ::D ~ < o ." OJ 3: DPPXDBAS Figure 2·155 (7 Of Inputs 24~ ~ Process OutputS DBINPARM m Set Data Base Processed Indicator -"> . r- n m 2 en m C s: ERREXIT ALL WAREA CU • ~ m . ... ..-:> [l] FREEMAIN SaveMork Area . -"> "Y Register 15 :D Return Code rI » -a :D o-a m ::D -I -< o ." Return To DPPXUTIL Figu re 2·155 29 Of 30 Figure 2-155 (9 Of 24) - Main Control Routine F·'_9 ure 2.155 (10 0 f 24) Step Extended Description 1 Set data base processed indicator in the input parameters to tell DPPXUTIL that data base processing was performed. 2 The DATA BASE FINAL PHASE PROCESSOR COMPLETED message is written to SYSPRINT, the save work area is freed, and the return code is set in register 15. Messages and PDL Segment ABEND Codes DPPXDBAS DPPXDB031 DPPXDBAS r ('") m Z CI) m o 3: » -t m ::D » r "0 ::D o "0 m ::D -t < o"TI Figure 2-155 (3 Of 24) Figure 2-155 (5 Of 24) Figure 2-155 (7 Of 24) DPPXDBAS Process Output ~------------~~--------------~ lM ill ---- BALR Format logging Array Fig 2-158 IF logable Array r- n m Z en m 0 3: » ---4 lM ---- IF Virtual Storage Resident Array Add Array To PDS Fig 2-155 (13 Of 241 m :ll l> rI ." :ll 0 ." m lM :ll IF Direct Access Resident Array Add Array To Direct Data Set Fig 2-155 (15 Of 24) ---4 -< 0 ." gJ 3: Figure 2-155 (11 Of 24) - ADDARRAY - Add Arrays To Data Base Figure 2·155 (12 of 24). Step Extended Description Messages and POL Segment ABEND Codes 1 If the array being processed is a loggable virtual storage resident array, BALR to the logging array formatter. DPPXDBAS 2 If the array is a virtual storage resident array, go to the routine to ADD arrays to the data base PDS.* DPPXDBAS 3 If the array is a direct access resident array, go to the routine to ADD arrays to the data base direct data set.* DPPXDBAS I ("') m Z (I) m C ~ l> -t m ::c l> I ." ::c o ." m ::c -t < o ." *These messages may be written to SYSPRINT: DUPLICATE ARRAY NAME DUMMY BIT SET BLDL I/O ERROR MESSAGE DPPXDB061 DPPXDB171 DPPXDB181 Figure 2-155 (11 Of 24) DPPXDBAS npu ~ LM noAD. nt',i Output ------ ~ ~--- rm r--. ............ IF Blocked Array ............... WRITEBL-'( Write Blocked Array Data Fig 2-155 (19 Of 24) r- n m Z LM ~ .. nOAD nt' ... rrn ~----~---~ WHIII:UTA I F Unblocked Array ~ ............... Write Unblocked Array Data Fig 2-155 (21 Of 24) en m o 3: ~ -I m ::xJ ~ rI WAREA -0 WADBDIR ::xJ .) .. STOWDIR rOO STOW Directory Entry ~ ............... STOW Array Directory Entry Fig 2-155 (23 Of 24) L M o-0 m ::xJ -I -< o ." Return To Figu re 2-155 (11 Of 24 ) Figure 2-155 (13 Of 24) - ADDARPDS - Add Arrays To Data Base PDS Figure 2-155 (14 of 24). Step Extended Description Messages and PDL Segment ABEND Codes 1 If the array is blocked, go to the routine to write blocked array data to the data base PDS. DPPXDBAS 2 If the array is unblocked, go to the routine to write unblocked array data to the data base PDS. DPPXDBAS 3 STOW is used to write a dummy directory entry and an end-of-file at the end of the PDS array data. The real directory entry is moved to the new directory buffer. DPPXDBAS r(") m Z (I) m o 3: » -f m :0 » r"'0 :0 o"'0 m :0 -f -< o -n Figure 2-155 (11 Of 24) DPPXDBAS ~ Input Output Process LM ..) [IT]Write Array Data .. To Direct Data Set WAREA .... nn .... ... BALR , ~ "LlULI Write Array Data Fig2-1S7 r- ei m Z WAI MnRnA -~ (J) m C 3: WAREA ~ . WADABUF 1m Write Direct Access Control Record YVMII t:UIA ~ ..... ..,... Write Unblocked Array Data Fig 2-155 (21 Of 24) > -f m :7l » rI ~ WAREA :xJ o " m WAD8[)IR r; LM f[lJ. ~ . ./ STOW Directory Entry ."J5"". . .............. STOWDiR Stow Array Directory Entry Fig 2-155 (23 Of 24) Return To Fi re 2-156 (1fOf 24) Figure 2-155 (15 Of 24) - ADDARDDS - Add Arrays To Data Base Direct Data Set ~ < o " ,Figure 2-155 (16 of 24). Step Extended Description Messages and PDL Segment ABEND Codes 1 BALR to DPPXDBDA to write array data to the data base direct data set. DPPXDBAS 2 Go to the routine to write unblocked array data-to write the direct access control record to the data base PDS. DPPXDBAS 3 STOW is used to write a dummy directory entry and an end-offile at the end of the PDS array data. The real directory entry is moved to the new directory buffer. r- . DPPXDBAS n m Z en m o 3: »-4 m :D » r-0 :u o -0 m ::D -4 -< o ." OJ 3: Figure 2-155 (3 of 24) Figure 2-155 (5 of 24) Figure 2-155 (7 of 24) DPPXDBAS Input ~ WAREA LM. ... ~.~~ vuv .~ .v Output Process ... ) 1m ~" .) GETMAIN Delete Table WADEL TAB DBARNAME r o m DELTAB ..) rIl BLDL On Array Name v -" .) Array Name Z en m o 3: » -4 m :D » DELTAB DELTAS ..") v @] --" Sort Delete Table By Array Name y ) (Sorted) r I "'0 :D o "'0 m :D -4 -< o "T1 Return To Caller Figure 2-155 (17 Of 24) - DElARRAY - Delete Array From Data Base Figure 2-155 (18 of 24). Extended Description Step Messages and ABEND Codes POL Segment 1 GET MAIN is used to obtain storage for the DELETE table. DPPXDBAS 2 BLDL is used to determine if the array exists. If the array is found on the data base PDS directory, the array name is saved in the DELETE table.* DPPXDBAS r("') 3 DPPXDBAS The DELETE table is sorted in ascending sequence by array name. m Z (I) m o 3: »-t m ::D » r." :l) o ." m :l) -t -< o ." *These messages may be written to SYSPRINT. ARRAY DELETED ARRAY NOT FOUND DUMMY BIT SET BLDL I/O ERROR DPPXBD12I DPPXDBlSI DPPXDB171 DPPXDB181 Figure 2-155 ( 13 DPPXDBAS Of~ Input Output Process l.M. l.M. .. OJ ~ ") ,~- r-WAREA ~- I-'~ ... If Array Block Size Greater Than Data Set Block Size, Truncate. ) ~ I ,~~ ,-- .,:) I I I _.J WAREA r L.M. """) .... 1-------------- f------- 1--. [lJ If Data Size Greater Than Array Block Size, Truncate. J NEWCID .. [l] Save New Composite Item Entries " l.M. I ~ I ~ ..,,, ,CIA,r-ln r- om Z (I) m o s: l> ~ m :D I l> rI "V "- ~ Write Array Data To Data Base PDS " .=> .... f---../ Data Base PDS WAREA WARIk'NIIM I o"V m :D ~ -< L.M. ~----------- ---,L__ :D o -n WAREA --.,. .. []J ...') If Number Of Blocks Greater Than Array Block Count. Truncate Retum To Figure 2(13 Of 24) Figure 2-155 (19 Of 24) - WRITEBLK - Write Blocked Array Data To PDS .. -/ OJ 3: WARIk'NIIM Figure 2-155 (20 of 24). Step Extended Description Messages and ABEND Codes POL Segment 1 If the array blocksize is greater than the data set blocksize, set the array blocksize equal to the data blocksize. Write the ARRAY BLOCKSIZE TRUNCATED message to SYSPRINT. DPPXDBlOI DPPXDBAS 2 If the array data size is gr€ater than the array blocksize, truncate the excess data and write the DATA TRUNCATED message to SYSPRINT. DPPXDB09I DPPXDBAS rC') m 3 4 5 Move the item control blocks for all named items into the new composite items buffer. DPPXDBAS Z (I) m o Write blocked array data to the data base PDS. If assigned block numbers are out of sequence, default to the next sequential block number. Write the BLOCK NUMBER ERROR message to SYSPRINT. DPPXDB20I If the number of blocks of array data written exceeds the array block count, truncate the excess blocks. Write the ARRAY BLOCK COUNT EXCEEDED message to SYSPRINT. DPPXDBl6I DPPXDBAS 3: » -4 m ::0 l> DPPXDBAS r- ." ::0 o-g m ::0 -4 < o-n DPPXDBAS nput Figure 2-155 (13 Of 24) Figure 2 155 (15 Of 24) Output Process ~ ~ ill Register 5 ... PDS BlK Size ...) Register 6 .... Data Length y v Data Base ~ .PDS WAREA WAN EWCI D NEWCID .... ~ Save New Composite Items Entries Z (I) m Write last Record Or Single Data Record I~ r- n m m ~ Register 7 AIData Start) ... If Array Data Size Greater Than PDS Block Size, Write Multiple Records ... ,) C s: » -I m ::xJ l> rI y -0 L.M. ::xJ o-0 m ::xJ -I -< o ." Return To Figure 2-155 (21 Of 24) . WRITEDTA . Write Unblocked Array Data To PDS Figure 2-155 (22 of 24). Step Ext-ended Description Messages and ABEND Codes PDL Segment 1 If the array data size is greater than the data base PDS blocksize, write PDS blocksize records until the size of the remaining data is less or equal to the PDS blocksize. DPPXDBAS 2 Write one data record to the PDS which is less than or equal to the size of the data base PDS blocksize. DPPXDBAS r(") 3 Move the item control blocks for all named items into the new composite items buffer. DPPXDBAS m 2 m (I) C s: »-4 m :lJ » r- "'0 :tJ o"'0 m :tJ -4 < o "" DPPXDBAS Figure 2·155 (13 Of 24) Figure 2·155 (15 Of 24) nput Ou tput p rocess ~ WAREA L. M. .."') v OJ .... Construct Directory Entry With Dummy Array Name .... ") WADBDIR r f------" WAREA ... v Data [l] ") ) STOW Directory Entry Base PDS Directory o m Z en m o ~ »-4 m WAREA WANEWDIR .... ... @] Save Directory Entry In New Directory Table With Real Array Name :JJ » rI ." NEWDIR 11 ... -v ::D o." m ::D -4 -< o." Return To Caller Figure 2-155 (23 Of 24) - STOWDIR - Stow PDS Directory Entry Figure 2-155 (24 of 24). Extended Description Step 1 Construct a new data bap- array directory entry with a dummy al"ray name. * 2 STOW the directory entry into the data base PDS directory. This will cause an end-of-file to be written at the end of the array data. 3 Messages and POL Segment ABEND Codes DPPXDBAS r- n m The real array name is moved into the directory entry and the directory entry is saved in the new directory entry buffer. Z CI) m o 3: l> -f m ::IJ l> r- *These messages may be written to SYSPRINT: ARRAY ADDED ARRAY REPLACED ARRAY TESTED DUPLICATE ARRAY NAME N b .... DPPXDBllI DPPXDBl3I DPPXDBl4I DPPXJ)Bl9I DPPXDBAT Entered Via Link From OPPXOBAS Figure 2-155 (7 Of 24) Input ~ Register 1 ~UpDilN/T [!] ~ -.... A(WAREAI Output Process Update Initialization Array ......00...... ...... ..... Update Initialization Array Fig 2-156 (7 Of 221 OBI NIT r- ~ WAREA o m Initia/i· zation Array Z en m C AlDTA8 WAREA WAREA rrn .,,> .... ~~ ... ...:> GETMA/N For Array 10 Table VYAAIUIAH ~ s: ~ m ::D »rAIDTA8 .... ... > I rn Update Array ID Table ~ UPDAID ~ Update Array ~ 10 Table o ::D Fig 2·156 (9 Of 221 DBINIT ~ ..... Data Base PDS Directory -y ill READ Data Base Directory ~ ~ ::D -I READD/R READ Data Base PDS Directory 1~!l2.156 (19 Of 221 A/DTAB .,....-......., DB/N/T2 F------' Refresh Array 1- .. ') I m Update Refresh Array ; ~ ........ ..... ... Figure 2-156 (1 Of 22) - Main Control Routine ~ Update Refresh Array Figure 2·156 (11 Of 221 A ~ m Figure 2-156 (3 Of 22) -< o ." Figure 2-156 (2 of 22). Step Extended Description Messages and POL Segment ABEND Codes 1 Branch to the routine to update the initialization array. DPPXDBAT 2 GETMAIN is used to obtain storage for the array ID table. DPPXDBAT 3 Branch to the routine to update the array ID table. DPPXDBAT 4 Branch to the routine to read the data base directory. DPPXDBAT 5 Branch to the routine to update the refresh array, @REFRSH DPPXDBAT r- n m en Z m o 3: l> -i m :lJ l> r"'0 ~ o "'0 m :lJ -i -< o ." DPPXDBAT Figure 2-156 (1 Of 22) Output Process Input NEWCID NEWCID 1m .,) ~ Sort New Composite Items Area ... (Sorted) r- n m Z en m o 3: » ~ m NEWCID ... -,/ 1m :D » r- Update Composite Items Array I DBINIT re=:=:::: ... - DO .. --.. UPDCIDS Update Composite Items Array Fig 2-156 (15 Of 22) -0 :D o -0 m :D Composite Items Array ~ -< o -n to 3: Figure 2-156 (5 Of 22) Figure 2-156 (3 Of 22) - Main Control Routine Figure 2-156 (4 of 22). Step Extended Description Messages and POL Segment ABEND Codes 1 Sort the new composite items table in ascending sequence by item name. DPPXDBAT 2 Branch to the routine to .update the composite items array. DPPXDBAT rn m :z (I) m o 3: ~ ~ m :IJ »r." :IJ o ." m :IJ ~ -< o ." Ol 3: DPPXDBAT Output Input NEWDIR ill r Update Date Base PDS Directory o m Z DBINIT .. "' DO ... r UPODIR Update Data Base PDS Directory Figure 2-156 (21 Of 221 (I) m C 3: » -I m - ::D » r I -0 ::D o -0 m ::D -I -< o-n Retum To DPPXDBAS Figure 2-155 (7 Of 24) Figure 2-156 (5 Of 22) - Main Control Routine Figure 2-156 (6 of 22). Step 1 Extended Description Branch to the routine to update the data base PDS directory. Messages and PDL Segment ABEND Codes DPPXDBAT r- es m Z (I) m o 3: l> -t m :D l> r- ~ :D o ~ m :D -t -< o " DPPXDBAT Figure 2-156 I1ru~ Input Output Process WAREA WAREA -m BlDl On Initialization Array Name ... ...)I I Register 15 ~ Return Code y ,.. (") m DBINIT Register 15 Return Code I I -... rn ~ ...') If Return Code Is 4, WRITE New Initialization Array '----"" Data Base PDS WAREA 'wAINTBuf Register 15 ~ Return Code I Z (I) rn ':>l If Return Code Is Zero, READ Existing Initialization Array ct m C 3: ~ m :0 WAREA ,..» I "> "V ... ::D Q m DBINIT ::D f----.-/ ~ o Data Base PDS .." NIT ~ m WAREA ~ ..) WRITE Update To Existing Initialization Array .. . Return To (1 Of 22) Figure 2·156 (7 Of 22) . UPD@INIT - Update Initialization Array Fi~re 2-1 ..') Data Base PDS OJ 3: Figure 2·156 (8 of 22). Step Extended Description Messages and POL Segment ABEND Codes 1 BLDL is used to locate the data base initialization array on the data base PDS. DPPXDBAT 2 If the BLDL return code is 4, no initialization array exists on the data base, and a new initialization array is written to the data base. DPPXDBAT If the BLDL return code is 0, the existing initialization array is read from the data base. DPPXDBAT (I) DPPXDBAT s: » -i 3 4 The initialization array data is updated and written back to the data base PDS. r- n m Z m o m :xJ » r- -0 :xJ o -0 m :xJ -i -< o-n OJ s: DPPXDBAT Fig 2·156(1 Of 22) npu ~ NEWDIR NEWDIR .) v [I] ,) Sort New Directory Table (Sorted) r- ~ DIRBUF ..") III Data Base .. PDS Z . (I) m -./ Read Old Directory Entries (=; m C 3: ~ m :D » r- AIDTAB 1 I I I NEWDIR I I I I DELTAB ! I I AIDTAB I I ... ... ) m .... .....) Build Array 10 Table :D Q m :D ~ I o ." Return To Figure 2·156 (1 Of 22) Figure 2-156 (9 Of 22) - UPOAIO - Update Array 10 Table I ." Figure 2-156 (10 of 221. Step Extended Description Messages and PDl Segment ABEND Codes 1 Sort the new directory table in ascending sequence by array name. DPPXDBAT 2 The data base PDS directory is read from the data base data set and saved in the directory buffer. DPPXDBAT 3 The contents of the array ID table are constructed. DPPXDBAT ,.... C') m Z en m C s: l> -t m :IJ l> ,.... ~ :IJ o ~ m :IJ -t < o "TI DPPXDBAT Figure 2-156 Output Process (10F~ Input WAREA WAREA IITJ .... BLDL On Refresh Array Name .... WADBDIR ... )I .. "> Register 15 l Return Code r "'> WAREA m If Return Code Is 4. Build New Refresh Array I l- AIDTAB m .... > If Return Code Is O• .... DELTAB Return Code ... NEW DIR ~ ,... Register 15 ... 1 WADBDIR Z en m C 3: ~ m ::XJ NEWREF » ,... ~ I ":> ." ... Update Old Refresh Array WANEWREF 1 n m ::XJ o." m ::D ~ -< o ." OLD DIR DBINIT2 ~ Refresh Array Figure 2-156 (13 Of 22) Figure 2-156 (11 Of 22) - UPREFRSH - Update Refresh Array 0 Figure 2-156 (12 of 22). Step Extended Description Messages and PDL Segment ABEND Codes 1 BLDL is used to locate the refresh array on the data base PDS. DPPXDBAT 2 If the BLDL return code is 4, the refresh array does not exist, and a new refresh array is constructed. DPPXDBAT 3 If the BLDL return code is 0, the existing refresh array is read from the data base PDS and updated. DPPXDBAT r n m Z en m o ~ l> -t m ::c l> r ." ~ o ." m ::c -t -< o " Figure 2-156 (11 Of 22) DPPXDBAT Output Process Input NEWREF . ... CD ...) L Sort Refresh Array NEWREF (Sorted) r- "'> nm ~ o ... BALR .... WAREA ..) rn ... Z en m WRITE New Refresh Array .. .. STOW Refresh Array Directory Entry ... 3: ' ~ m .... w ... Write Array Data Figure 2· 157 :r:J > r- .. ) ... DBINIT I ~ "0 Data Base PDS Directory :r:J o ." m :r:J -t -< o ." Return To Figure 2-1 (1 Of 22) Figure 2-156 (13 Of 22) - UPREFRSH - Update Refresh Array Figure 2-156 (14 of 22). Step Extended Description Messages and POL Segment ABEND Codes 1 The refresh array is sorted in ascending sequence by array ID. DPPXDBAT 2 BALR to DPPXDBDA to write the new refresh array to the data base direct access data set. DPPXDBAT 3 STOW the refresh array directory entry to the data base PDS. DPPXDBAT r- o m Z en m o 3: » -i m ::0 » - r'"'0 ::0 o'"'0 m ::0 -i < o ." o:J 3: DPPXDBAT Figure 2·156 (3 Of 22) npu Process ~ Output WAREA NEWCID L. M. .... ') [w .. WAf'll nf'ln .... New Composite Item Entries To Buffer ... ') r- o. Data Base PDS ....> n m Z m OLDCID m en .."'"') READ Old Complete Items C 3: »~ WAREA ICBBUF A/DTAB ... ') 1m .... . Update Composite Items ') ~ WAII"DDIU: m :::rJ »rI -a :::rJ o -a DELTAB m :::rJ ~ -< o ." NEWCID -3: CD OLOCIO E Figure 2·156 (15 Of 22) . UPDCIDS - UJXlate Composite Items Array Figure 2·156 (17 Of 22) Figure 2-156 (16 of 22). Step Extended Description Messages and PDL Segment ABEND Codes 1 Move new composite items to new composite items buffer. IDPPXDBAT 2 READ the existing composite items array from the data base PDS. IDPPXDBAT 3 Update the composite items. If any duplicate item names exist, WRITE the DUPLICATE ITEM NAME message to SYSPRINT. DPPXDB081 IDPPXDBAT r(") m Z en m o s: l> m -.. :ll l> r- o" :ll " -..< m :ll o ." Figure 2-156 (15 Of 22) Input Output Process DBINIT ICBBUF r- WRITE New Composite Items Array nm Z (I) m BALR WRITE Array Figure 2-157 DBINIT2 C 3: »-t m :lJ » rI -v DBINIT :lJ o-v m WAREA :lJ STOW Composite Items Array Directory / - - - - ' - - - - - - - ' - - - - - - - - - " . Entry Retum To Figure 2(3 Of 22) Figure 2-156 (17Of 22) - UPDCIDS - Update Composite Items Array -t < o ." Figure 2-156 (18 of 22). Step -Extended Description Messages and 'PDL Segment ABEND Codes 1 WRITE the new composite items array to the data base PDS. BALR to DPPXDBDA to WRITE the composite items array to the data base direct access data set. DPPXDBAT 2 STOW the composite items array directory entry to the data base PDS directory entry. DPPXDBAT .-' r- n m 2 en m o s: l> -of m ::D l> r-0 ::D o-0 m ::D -of -< o " I\J .~ DPPXDBAT Figure 2 156 (1 Of 22) o WAREA output Process ~ Input (Jl WAREA m " . WA1NPARM ,AI ''''DAD'' j>, FREEMA1N loaded Assembler Object Module ) DBINlMAD ... ...') DBINlMSZ v l.M. r- n m WAREA RR ... ') WANUMBlK Z m C en WAREA [l] -") If Number Of Arrays Is Greater Than Number of Available Directory Entries, Enter Test Mode v WATEST 3: WAREA » -I m ::D DIROUT WAREA WANUMARR ..') y ill GETMAIN Directory Output Buffer ... 0 I ... -" I » rI ." :D o "'0 m ::D DIRIN I~ ") -y GETMAIN Directory Input Buffer DBINIT ~ _ Data Base PDS ...... ..') ... ~ -I -< o ." aJ "-., .. ..) m 3: ijEAD Data Base PDS Directory ... Return To Figure 2-156 (1 Of 22) Figure 2-156 (19 Of 22) - READDIR - Read Data Base PDS Directory Figure 2-156 (20 of 22). Step Extended Description 1 FREEMAIN the input load module storage area, zero the address, and zero the size in the input parameter list. 2 If the number of arrays to be added to the data base exceeds the number of available data base PDS directory. entries, enter test mode and WRITE the INSUFFICIENT DIRECTORY SPACE-ALLOCATED message to SYSPRINT. Messages and ABEND Codes PDL Segment DPPXDBAT DPPXDB02I DPPXDBAT r (') m 3 GETMAIN is used to obtain storage space for the data base PDS directory output buffer. DPPXDBAT 4 GETMAIN is used to obtain storage space for the data base PDS directory input buffer. DPPXDBAT 5 READ the data base PDS directory from the data base PDS. 2 en m C 3: » -4 m JJ DPPXDBAT » r ." JJ 0 ." m JJ -4 -< 0 ." OJ s: DPPXDBAT Figure 2-156 (50f2~ Input Output Process NEWDIR .. OJBuild New Data Base PDS ..) Directory DIROUT ... 1 v r- o m DIRIN 2 en m o 3: AIDTAB ~ ....m ::D DBINIT ~ DIROUT .... .) 00 WRITE New Directory To Data Base PDS ..) ~ Data Base PDS Directory »rI "'0 ::D o"'0 m ::D .... WAREA REF -< o"T1 T ,-~~~. 1 I I I I I I 1 I I wARIDTA~ ..") m --v FREEMAIN Storage Gotten For Tables \AlA'f'DD''': Retum To Figure 2-156 ( 50f22) Figure 2-156 (21 Of 22) - UPDDIR - Update Data Base PDS Directory Figure 2-156 (22 of 22). Step Extended Description Messages and PDL Segment ABEND Codes 1 Build a new data base PDS directory in the directory output buffer. DPPXDBAT 2 WRITE the new data base PDS directory to the data base PDS. DPPXDBAT 3 FREEMAIN all storage obtained for all tables that are no longer required. DPPXDBAT r ("') m Z (J) m o ~ l> -f m jJ l> r -g jJ o-g m jJ -f -< o " DPPXDBDA En...s Via BALR From DflPXDBAS And· DflPXDBOA Figure 2-156 (15 Of 24) F...... 2-'68 (13 Of 22) Figure 2-158 (17 Of 22) Input ~ R.,.,' ( Oucp . P.- A(Wor1< Area) WAREA r- om nRIII.!1 UAn J I Z en LM DA DCB ... ..; IUJMove DDNAME ... C 3: l> ~ m .:> To DCB And OPEN Data Sa. BDAM Data Set m :D DA DCB §---- 1----- 1--- 1m IF DCB Not ... OPENed, Enter Test Mode WAREA i> r- ·WATEST ." I :D o ." m :D LM ~-- - ---- ... ~ -< 1m IF Array Not o ." Blocked, Enter Test Mode WAREA jB"J ). WRITE Array To Dati Set n.~. .... :. ~ WRDDSCTL WRITE ArrlY Control Routine Figure 2·157 (3 Of 6) Return To Caller Figure 2-157 (1 Of 6) - Main Control Routine Figure 2-157 (2 of 6). Step Extended Description 1 Move the DDNAME of the direct access data set to the direct access DCB and OPEN the DA DCB. 2 If the DCB does not open, enter test mode and write the UNABLE TO OPEN DDNAME message to SYSPRINT. Messages and PDL Segment ABEND Codes DPPXDBDA DPPXDB50I DPPXDBDA r ('") 3 4 If the direct access array is not blocked, enter test mode and WRITE the message, NOT A BLOCKED ARRAY, to SYSPRINT. WR.ITE array data to the direct access data set. DPPXDB51 DPPXDBDA m Z en m DPPXDBDA C s: » -t m JJ » r ~ JJ o ~ m JJ -t < o ." DPPXDBDA Figure 2 157 (1 Of 6) Output Process ~ Input WAREA L.M WABlKDDS .... ) l. M -- m ... If Array Block Size Greater Than Data Set Block Size, Truncate y ) -_._- -- r (') m Z .--~ en ..... m C 3: » -t m ::D ill L.M ... ) » If Data Size Greater Than Array Block Size, Truncate L.M ... .. rn ... y ~ ." ) ::D o." m ::D If Block Numbers Out Of Sequence, Use Default Numbers. -t -< o." A Figure 2-157 (3 Of 6) - WRDDSCTL - Write Array Data Control Routine r I Figure 2-157 (5 Of 6) Figure 2-157 (4 of 6). ~~--~-----------------------------------------------------------------------------------~----------~-----------. Step Extended Description Messages and ABEND Codes PDL Segment 1 If the array blocksize is greater than the data set blocksize, use the data set blocksize as the array blocksize. The message, ARRAY BLOCKSIZE TRUNCATED, is written to SYSPRINT. DPPXDB52I 2 If the data size is greater than the array blocksize, truncate the data to the array blocksize. The message, DATA TRUNCATED, is written to SYSPRINT. DPPXDB53I If a block number is defined out of sequence, default the block number to the next sequential block number. The message, BLOCK NUMBER ERROR, is written to SYSPRINT. DPPXDB55I 3 r(") m Z en m o 3: l> m -I :Xl l> r-c :Xl o -c m JJ -I < o ." OJ 3: DPPXDBDA Figure 2·157 (3 Of 6) Output Process Input L.M. ..... ill ... ...) WRITE Array Data To Direct Access Data Set r- ~ n m Direct Access Arrays en Z m C s: » -I m :xJ » rI '"0 L.M :xJ DBARBKCT WAREA .... WAREA rn .... If Number Of Blocks Is Greater ,....)I Than Block Count. Truncate ,....)I 0 '"0 m :xJ -I < WANUMARR 0 "-a:J s: WANUMARR Retum To Figure 2·157 (1 Of 6) Figure 2-157 (5 Of 6) - WRDDSCTL - Write Array Data Control Routine Figure 2-157 (6 of 6). Step Extended Description 1 WRITE the direct access array data to the direct access data set. 2 If the number of blocks written is greater than the array block count, truncate all excess data blocks. The message, BLOCK COUNT EXCEEDED, is written to SYSPRINT. Messages and ABEND Codes PDL Segment DPPXDBDA DPPXDB541 DPPXDBDA r(') m Z (I) m o s: » -4 m :0 » r- ." :tJ o." m ~ -4 -< o ~ DPPXD6 LG I n put Entered Via BALR From DPPXDBAS FIgure 2155 ( 11 Of 24) Process ~ Otpt u u Register 1 (... WKAREA CD WKINPARM I C o m > GETMAIN Work Area r- ... DRDAI MAn Z m en L. M. DBARDDNM .. .... ) 1m .. Logging Array DD Name To DA DCB ~ DA DCB C DCBDDNAM » ~ 3: m l:J DA DCB @J .... ') ..') OPEN DA DCB ... DA DCB » r- (OPENed) -0 I l:J o-0 WAREA DA DCB ... DCBOFLGS ...> m :D 0 ~ .... -> If DA DCB Not OPENed WATEST -< o." -s: OJ Figure 2-158 (3 Of 4) Figure 2-158 (1 Of 4) - Data Base Logging Array Formatter A Figure 2·158 (2 of 4). r-----r--------------------------------------------------------------------------~----------~------------ Step Extended Description Messages and ABEND Codes POL Segment 1 GETMAIN is used to obtain a register save area and work area. DPPXDBLG 2 The DDNAME of the logging array data set is moved to the direct access DCB. DPPXDBLG 3 The direct access DCB is opened. DPPXDBLG r(") m 4 If the direct access DCB does not open, test mode is entered, and the UNABLE TO OPEN DDNAME message is written to SYSPRINT. DPPXDB25I DPPXDBLG Z en m C 3: » -f m JJ » r""C JJ o""C m JJ -f < o ." Figure 2·158 (1 Of 4) DPPXDBLG Output Procas Input l l. M. DBARBKCT .~" ,~~ I I .. =:> rm .J ) Calculate Logging Array Block Count ~ I :1 I ~ M. DBARBKCT ") nDAnnv ... ~ ") nDA ..... ,,, ... ·~"v_ • ~ 'v 1 h WAREA I W.I!.RI J("n()c:: :f C.I~I'" Logging Array BI~k ~,. 2 m (I) C r ~ ~ m "l> l.M h>frD RRn4RI r- o m I I( nRn.l!.RIIO::7 I J : rI Calculate Logging Array Block Per Copy --/ \J ::J:J o\J DA DCB DA DCB :f CLOSE DA DCB Return To Caller Figure 2-158 (3 Of 4) . Data Logging Array Formatter r " ) -10-' m ::J:J -4 (CLOSed) -< o ." Figure 2-158 (4 of 4). Step Extended Description Messages and POL Segment ABEND Codes 1 Calculate the block count of the logging array. DPPXDBLG 2 Calculate the blocksize of the logging array. DPPXDBLG 3 Calculate the number of logging array blocks required to contain one copy of the loggable array. DPPXDBLG 4 CLOSE the opened direct access DCB. I (") m Z en m o 3: » -i m ::D » I o" ::D " m ::D -i -< o ,., DPPUMSG Entered Via Link From DPPXUTI L F19ure 2 154 (27 Of 30) Input ~ ~ Outpu t Process ""'---_/ Address Of Parameters From DPPXtJTll ""'-,../ OJ Retrieve DEFMSG (Define Message) Parameters From DPPXUTIL. r- n n Address Of DEFMSG Macro Expansions -;> m If Messages Are To Be Deleted ~ ~ L m Z "> ... Delete Requested Messages From Message Data Set. Message Data Set (MSGDSDD Card) length Of DEFMSG Macro Expansions I C 31: l> -i m ::xJ rrn 8 Address Of QSAM Output (Print) DCB en m "") If Messages Are To Be Added And If Messages Found In Message Data Set Print Error Message. ~ ....::> Message DataSet Already Contains DPPnnn » rI ~ ::xJ 12 Q "") ... 0 Print Input Messages And Old Copy Of Messages If Message Is To Be Replaced . ...::> Input Message DPPnnn -< DE FMSG Macro Expansions "') rID o'TI If Messages To Be Added Or Replaced ~ .."> Add Message To Message Data Set . . Return To DPPXUTll Figure 2-154 (29 Of 30) Figure 2-159 (1 Of 2) - Message Final Phase Processor m ::xJ -i Old Message DPPnnn Figure 2-159 (2 of 2). Step Extended Description Messages and ABEND Codes PDL Segment 1 The address of the parameters passed by the offline utility (DPPXUTIL) will be retrieved from register 1. DPPUMSG 2 if messages are to be deleted, delete the requested message from the message data set. DPPUMSG DPPUMSGI 3 When messages are requested to be added to the existing message data set, an error message, MESSAGE DATA SET ALREADY CONTAINS DPPnnn, will be printed. DPPUMSG2 All entered messages (DEFMSG expansions) will be printed. If a message is to be replaced and it already exists on the message data set, the old copy of the message will be printed. DPPUMSG2 The ADD and REPLACE options cause all entered messages (DEFMSG expansions) to be added to the message data set. DPPUMSG2 4. 5 r("') m Z m Cf) C 3: »-f m :c »r ""'0 :c o""'0 m :c -f < o " DPPXDBIN nput Entered Via Link From OPPXUTI L Figure 2-154 (11 Of 30) ~ Output Proceu PDS Directory BLOCKS rm "'... > I A(NEXT BLOCK) OPEN Data Set Described By DBJNIT DO Statement And READ PDS Directory Blocks Into Storage. If Unable To OPEN Data Set Issue Abend 50. >' I r DBDIRR n I m Z en m o \ ~ s: I ... .. ~ DBDlRR ~ I m ::D » r DBTITEMR rrn I ... READ @INIT Member Into Storage. If Unable To Locate @INIT Member Issue Abend 54 )l -v "::D "m::D @lINIT Data o DBALTPRI m DBDlRR .,. DBDIRNAM DBDIRICB DBDIRC DBDIRDTA DBOIQNUM DBDIRBAS DBDIRUSE .... ... ) Build The Following Data Base Control Blocks To Be Used In Real~Time Execution. • DBAl TPRI - Primary Array Locator Table • DBAlTSEC • Secondary Array Locator Table • DBDADD • Direct Access DCB Table • OBLOGCB • logging Control Block "" ,.> Figure 2-160 (1 Of 4) - Build Data Base Initialization Array 1 1 DBLOGCB DB DADO DBDDLOCK OBOODCB If A Log AmlV Can Not Be Found For A Loggable Array, Issue ABEND A DBALTSEC DBALTNAM DBALTICB DBALTIRS DBALTUSE DBALTlOG DBALTDTA DBALTBCT DBALTBAS DBALTBFT DBALTBOT DBALTNDX ~ ~- Figure 2-160 (3 Of 4) DBLGANAM DBLGLNAM OBLGAID OBLGLAID DBLGWNAM ~ o " Figure 2-160 (2 of 4). Step Extended Description Messages and ABEND Codes POL Segment I The user-defined partitioned data set defined by the DBINIT DD statement contains data base arrays as members. USER 50 DPXDBIN6 2 The @INIT member must have been built previously by the data base final phase processor, DPPXDBAT. USER 52 DPXDBINI 3 The information from the directory entries of the members (arrays) and the data associated with each directory is used to construct the Primary and Secondary Array Locator Tables for each array, the Direct Access DCB Table for each direct access array, and a Logging Control Block for each loggable array. If a log array cannot be located for each loggable array, the job step is ABENDed with code 53. USER 53 DPXDBIN2 r (") m Z CI) m o 3: » -f m :xJ » r"lJ ::D o -v m :xJ -f -< o ." Figure 2·160 (1 Of 4) DPPXDBIN Output PrOC8S$ Input DBALTPRI DBALTPRI DBRES DBALIGN DBMIN DBALTUSE Sort The VS Re$ident Arrays By ~Use Code And Boundary Ali!1lment ReQue$ts 1---r----~----vL/) ~ r- o m Z en m C 3: ~ DBALTPRI m DBALTSEC DO DBLOGCB 00 :xl » rI WRITE The Data Base Control Blocks To I---L----.......J.----"""'-~I OBI NIT As Data Portion Of @INIT Member And STOW @INIT Directory Entry. If Non-Zero. Return Code From STOW. Issue ABEND .;> ~ :xl o ~ m :xl ~ o-n Gi !: m To DPPXUTIL Figure 2·154 (11 Of 30) Figure 2~ 160 (3 Of 4) ~ Build Data Base Initialization Array Figure 2-160 (4 of 4). Step 1 2 Extended Description Messages and ABEND Codes PDL Segment The VS resident arrays are arranged by a use code (1 to 7), for paging consideration. Within each use code, the arrays that require a page boundary are sorted. Then the arrays that request minimum boundary crossovers and the other arrays are filled into the slots left by the arrays with page boundary requests to prevent core fragmentation. The relative displacement of each array is placed in the Primary Array Locator table. The data base control blocks are written to the DBINIT data set. The Secondary and Primary Array Locator Tables are grouped together to be read into protected storage during real-time execution and the Directed Access DCB table and the Logging Control block are grouped together to be read into user storage. If the STOW receives a nonzero return code, the job step is ABENDed. DPXDBIN3 r- n m USER 51 DPXDBIN4 2 m (I) C 3: » ~ m :::D » r- " o :::D " m :::D ~ < o ." aJ 3: LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank 2-470 LICENSED MATERIAL - PROPERTY OF IBM Data Base Compress The data base BDAM data set compress program is used to regain direct access space rendered unusable through the normal process of updating the data base through the offline utility. All usable data is moved from a data base BDAM data set into a utility data set. Then, starting at the front of the data base data set, the data is moved back into the data set, in contiguous records, compressing out unused space. 2-471 DPPXDBCP WKAREA GETMAIN And Clear Work Area SYSPRINT SYSPRINT DCB DCB (OPENed) OPEN SYSPRINT And DBINIT DBINIT DeB (OPENed) m Z en m C s: l> -t m SYSPRINT 8----- r- n ::D l> SYSPRINT Not OPEN rI -0 ::XJ ERREXIT Figure 2(7 Of 24) DBINIT §------- m ::D -t -< o." DBINIT Not OPEN ERREXIT ALL Figure 2(7 Of 24) Figure 2-161 (1 Of 24) - Main Control Routine o." Figure 2-161 (2 of 24). Step Extended Description Messages and ABEND Codes PDL Segment 1 GETMAIN is used to obtain storage area for register save area and for work space. The area is cleared to contain all binary zeros. DPPXDBCP 2 The SYSPRINT and DBINIT data sets are opened. DPPXDBCP 3 If SYSPRINT does not open, register 15 is set to 16, and error exit processing is performed. DPPXDBCP r- n m 4 If DBINIT does not open, register 15 is set to 12, the message UNABLE TO OPEN DBINIT is written to SYSPRINT, and error exit processing is performed. DPPXDB35I DPPXDBCP 2 (I) m C s: » -4 m JJ »r- ~ JJ o ~ m JJ -4 to( o ." CD s: N .i:. -....J DPPXDBCP F~N2.~ (1 Of 24) Input Process ~ [IT SYSPRINT And DBINIT opened Register 15 ~ DBINIT Data Base POS ~------------------~--------~--------~:/~~ .... ... ) 1(1] ,... (=; m Z BLDL For Initialization Array en m C 3: rrn ... .. Jo, ) r IF BLOL Return Code Is 4 Return Code v .... IF BLOL Return Code Is 8 m :u I ERREXIT ALL Figure 2·161 (7 Of 24) m "), ....» »-,... ... ~ Register 15 ~ illNIT Array Directory Entry ." :u o." ..... ... m ::0 ... rrn· -:> .... ERREXIT ALL FilJlre 2·161 (7 Of 241 -< o ." IF BLOL Retum Code Is Zero CNTLTABL CNTLTABL DO. -. Get Control Table Storage Figure 2·161 (9Ot 241 Fiqure 2-161 (5 Of 24) Figure 2·161 (3 Of 24) • Main Control Routine r;--, "'V' to. .) -3: CD Figure 2-161 (4 of 24). Step Extended Description Messages and ABEND Codes PDL Segment 1 If SYSPRINT and DBINIT are successfully opened, the DATA BASE COMPRESS DPPXDB401 STARTED message is written to SYSPRINT. DPPXDBCP 2 BLDL is used to locate the data base initialization array to determine if DBINIT defines a valid data base PDS. A return code is returned in register 15. DPPXDBCP 3 4 5 .- Return code 4 indicates that the initi~lization array could not be DPPXDB361 found. The INVALID DATA BASE DATA SET message is written to SYSPRINT, and error exit processing is performed. DPPXDBCl' Return code 8 indicates an I/O error from BLDL. The PERMANENT I/O ERROR message is written to SYSPRINT, and error exit processing is performed. DPPXDBCP Return code 0 indicates that DBINIT is a valid data base PDS. The CNTLTABL routine calculates the size and GETMAINs the storage for the Compress Control Table. DPPXDB37I n m Z en m o 3: » -t m :0 DPPXDBCP .-» "'tJ :0 o"'tJ m :0 -t -< o"T1 Figure 2-161 (3 Of 24) DPPXDBCP Output Input CNTLTABL [IT .--_--LJ,..."'") - - -.... ~~ READDIR READ Directory Entries Entries READ Directory Fig 2·161 (11 Of 24) ~lr=~===C====~"'E=fiUH~IUA~\'~1 t3 ..; tl .... r- n m 2 m (I) Data C Base PDS ....... _/ '--_L.r-...... L..-_--.-........... ") Il'f READ Direct Access Control Records ...------4 nC"UvI'fIL nn ~ ............... READ DA Control Records Fig 2·161 CNTLTABL ~ ...........>t-_~~~~BID~A,·IT:;;:;:~;-i ~ll~3~0~f~2~4~)_~~-r-------~---------~~/ UDUAD~II UDI-'A~ s: » -t m :XJ » rI CNTLTABL CNTLTABL ;:)UtlIIAHL Sort Compress Control Table Figure 2·161 115 Of 24) (Unsorted) ~~ ______ ______ ~ ~~/> (Sort~) -a :D o-a m :XJ -t -< o MVVAt'lAr:> 1m Data Base ~ ____________~_______-'-,r..., ....:) Mave Arrays ~ FIgure 2 161 (7 Of Figure 2-161 (5 Of 24) - Main Control Routine Move DA Arrays Figure 2·161 (17 Of 24) BDAM Data Set 24~ t--'-________-'-______-.J'O", ~:~=d t-,---------r----------~~/") BDAM Data Set -"~ Figure 2-161 (6 of 24). Step Extended Description Messages and ABEND Codes POL Segment 1 Directory entries are read from the data base PDS. Data is moved to the Compress Control Table from the directory entry for each direct access resident array. DPPXDBCP 2 The direct access control record for each direct access resident array is moved into the Compress Control Table entry that contains dir€ctory data for that array. DPPXDBCP The Compress Control Table entries are sorted by the DDNAME contained in the direct access control record portion of the Compress Control Table. DPPXDBCP 3 4 Data base BDAM data sets are compressed by moving direct access resident arrays. .- n m Z (I) m o 3: DPPXDBCP »-.. m JJ .-» ~ JJ o ~ m -.. JJ -< o "T1 DPPXDBCP Process ERREXIT AL SYSPRINT Register 15 DCB o CLOSE SYSPRINT And DBINIT SYSPRINT DCB (Closed) DeB (Closed) r- n m 2 en m C 3: » -f WAREA m FREEMAIN Compress Control Table ::D » rI -a 0------ ::D o""0 WAREA .--L_ _ _ -I,Ill. FREEMAIN Work Area m ----l ::D -f < o " Return To Schedular Figure 2·161 (7 Of 24) - Main Control Routine Figure 2-161 (8 of 24). --- Step Extended Description Messages and POL Segment ABEND Codes 1 The DATA BASE COMPRESS COMPLETED message is written to SYSPRINT, return code a is set in register 15, and SYSPRINT and DBINIT DCBs are closed. 2 The Compress Control Table area of storage is freed. DPPXDBCP 3 The work area and the register save area are freed. DPPXDBCP DPPXDB41 DPPXDBCP r CO) m Z (I) m o 3: l> -I m :D » r-0 :D o-0 m :D -I -< o ~ DPPXDBCP F~ra 2-161 (3 Of 24) ~ Input Output Process ~:~o~rr:~try WKAREA - IJJ --1 DBDIBICB READ Data Base Initialization Array .... ... ) I WKINTBUF r- DBINIT ei m ~ en m 2 C illNIT Arrav 3: » -I ~ m WKAREA .~ DBIITEMR 1 I r I T [00 . ) If No Direct Access Resident Arrays In Data Base L IER~ALL ...- Register 15 I "'0 :0 o "'0 m :0 -I CNTLTABL Return To Fi9Jre 2-161 (3 Of 24) Figure 2-161 (9 Of 24) - CNTL TABL - Get Compress Control Table ~ r- Figure 2-161 (7 Of 241 ... ITT Calculate Size, GETMAIN, And Clear ..../ Compress Control Table Storage :0 ... ..."> -< o-n Figure2-161 (120f24). Step Extended Description Messages and ABEND Codes PDL Segment I READ directory blocks from data base PDS into a directory block buffer. DPPDXDBCP 2 The directory entries in each directory block are searched for direct access resident arrays. DPPXDBCP 3 The direct access control record TTR, the array block count, and the array blocksize are moved from the directory entry to the Compress Control Table. . DPPXDBCB r(") m Z en m C 3: »-I m :D » r- o"-0 :D m :D -I < o." Ol 3: DPPXDBCP figure 2·161 (5 Of 24) Input Output Process ~ CNTLTABL IOJ DBDATTR """ ... Register 0 ... Get Direct Access Control Record TTR TTR ¥ r- o m CNTLTABL Z m DBDANAME !: DBDATTR m C'I) DBINIT ~ Data Base PDS C ... ) ~v .. rooREAD Direct Access Control ....---' Record 1 .. l .. l .... .. .; .. ~ ..../ » -I :xJ DBDABKT1 DBDABKOT i= rI ." :xJ o ." m :xJ -I < o ." Return To Figure 2·161 (5 Of 24) Figure 2-161 (13 Of 24) - READCNTL - Read Direct Access Control Records Figure 2-161 (14 of 24). Step Extended Description Messages and POL Segment ABEND Codes I Get the direct access cQntrol record TTR from the Compress Control Table. DPPXDBCP 2 READ the direct access control record from the data base PDS and put it into the Compress Control Table. DPPXDBCP r- n m Z en m C 3: » ~ m :xJ » r." :D o." m :xJ ~ -< o " DPPXDBCP Input Process CNTLTABL (Sorted) CNTLTABL ~--------- Sort Compress Control Table f-----L.-----'-----Jo...... r- n m Z m (I) C ~ l> -t m ::0 l> rI ~ ::0 o ~ m ::0 -t -< o " a:J 3: Return To Figure 2·' (50124) Figure 2·161 (15 Of 24) . SORTTABL . Sort Compress Control Table Figure 2-161 (16 of 24). -- Step 1 Extended Description The Compress Control Table entries are sorted in ascending alphanumeric sequence on the DDNAME field (DBDANAME). Messages and . PDL Segment ABEND Codes DPPXDBCP r (") m Z (I) m C 3: l> m -f ::IJ l> r "'tJ JJ o"'tJ m ::IJ -f < o "'T1 DPPXDBCP Figure 2·161 Input CNTLTABL (5 Of 24) (0 ~ .m ....") .... f t .... Output Process DADCB ... .--- ...") Move DO Name To Direct Access DCB '" DA DCB DA'OCB D I~ OPEN Direct Access DCB EJ I r(; m 2 en m C 3: . DA DCB Irn ... ----_. ~-------. ~- -v If Direct Access DCB Not Opened ..; 0 SYSUT1 . m . DCB .. ") [ Open SYSUT1 DCB ... -:J - • __~~PXDB42 » -I m ::xJ » rI -a SYSUT1 ::xJ DCB (OPENed) -a 'm o ::xJ -I -< o -n SYSUT1 DCB DCBOFLGS \-------- r------ ~- ... Register 15 IffiJ If SYSUT1 DCB Not Opened .~ 1 I B ERREXIT All Figure 2·161 (7 Of 24) -- Figure 2·161 19 Of 24 Figure 2·161 (17 Of 24) . MOVARAYS . Move Direct Access Arrays G Figure 2-161 (18 of 24). Extended Description Step Messages and ABEND Codes POL Segment 1 The DDNAME is moved from the Compress Control Table to the direct access DCB. DDPXDBCP 2 The direct access DCB is opened. DPPXDBCP 3 If the OPEN of the direct access DCB is not successful, the UNABLE TO OPEN DD STATEMENT message is written to SYSPRINT. Processing will continue with the next Compress Control Table entry with a different DDNAME. 4 The SYSUTI DCB is opened. 5 If the OPEN of the SYSUTI DCB is not successful, the UNABLE TO OPEN SYSUTI message is written to SYSPRINT, return code 8 is set in register 15, and error exit processing is performed. DPPXDB42I DPPXDBCP rC') m Z en m DPPXDBCP C 3: ~ DPPXDB351 DPPXDBCP -i m ::D ~ r- o" ::D " m ::D -i -< o 'TI to 3: DPPXDBCP Figure 2·161 (17 Of 24t ~ ~ ... Direct Access Data Set 0u1put Process Input 1mREAD/wRITE ... .. ) ~ Data Records f----" SYSUTl Data Set READWRIT CNTLTABL DO .. .... CNTLTABL READ/WR ITE DA Data Records Fig 2-161(23 Of 24) ... ...") r- nm Z (I) m o CNTlTABl 3: DA DCB ::xJ ... ...') DA DCB 1m "- :> ~ rI Exchange DO Names SYSUTl DCB ." ::xJ ~ m ... ... "" SYSUT1 DCB ~ m ::xJ ~ o "TI r------' 1m. F-..._ ..... SYSUT 1 Data Set ) ~ Aa::ess Data Set .. CNTLTABL ~ READ/WRITE DA Data Reocrds Direct READWRIT DO ..... ~ CNTLTABL READIWRITE DA Data Records Fig 2·161(23 Of 24) .... ./ tCV H FIgUre 2 161 (2 1 Of 24 Figure 2-161 (19 Of 24) - MOVARAYS - Move Direct Access Arrays Ol 3: Figure 2-161 (20 of 24). ---- -Messages and POL Segment ABEND Codes Step Extended Description 1 READ direct access array data from the DA data set and WRITE the data to the SYSUT1 data set. DPPXDBCP 2 The DDNAMEs in the DA DCB and the SYSUT1 DCB are exchanged. DPPXDBCP 3 READ direct access array data from the SYSUT1 data set and WRITE the data to the DA data set. DPPXDBCP r C') m Z en m o 3: » ~ m :JJ » r- DPPXDBCP Figure 2-161 (19 Of 24) Input Output Process ~ CNTL TABL .... IT] n"n.ll."I.Il."~ I >- ) .... ) WRITE Direct Access Conuul Record .. Data Base PDS r- DBDABKT1 n m DBDABKOT Z en m o 3: DA DCB DA DCB (Closed) .. ) SYSUT1 DCB ; rI ') ~y . III ~ m :D ""0 CLOSE DA DCB And SYSUT1 DCB SYSUT1 DCB ... / (Closed) :D o""0 m :D -t -< o ~ Return To Figure 2-1 (5 Of 24) Figure 2-161 (21 Of 24) - MOVARAYS - Move Direct Access Arrays Figure 2-161 (22 of 24). Step Messages and PDL Segment ABEND Codes Extended Description 1 WRITE the updated direct access control data from the Compress Control Table to the data base PDS direct access control record. 2 CLOSE the direct access data set DCB and the SYSUTl DCB. SET COMPRESSED message is written to SYSPRINT. The DATA DPPXDBCP DPPXDB391 DPPXDBCP rn m Z en m o 3: » -t m :lJ » r'"0 :D o " m ::0 -t < o " DPPXDBCP Figure 2-161 Input 119~ CNTLTABL .... v Output Process WKAREA rrrr .... READ Direct Access Array Data From Direct Access DCB Data Set .> WKDATABF .... r(') m Z (I) m ~ ~ DADCB Data Set .... SYSUTl DCB Data > Set -y '-'" o s: »-I m ::D > rI WKAREA WKDATABF CNTLTABL TIJ .... .... ... WR ITE Direct Access Array Data To SYSUTl DCB Data Set I I I K-,/ v m ) ::: ::D "Q ~~~ ~, UDU,"\D" ::D -I -< o ." OJ s: Return To Figure 2-1 Of 24 ) ( 19 Figure 2-161 (23 Of 24) - READWRIT - Read/Write DA Data Records Figure 2-161 (24 of 24). Step Extended Description Messages and PDL Segment ABEND Codes 1 Control Data is taken from the Compress Control Table and used in reading direct access array data from the data set defined by the DA DCB. DPPXDBCP 2 The direct access array data is written to the data set defined by the SYSUTl DeB. Direct access control data is updated in the Compress Control Table. DPPXDBCP r n m 2 en m C 3: » -I m :D » r ~ ::D o ." m :D -I < o "OJ s: LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank ( 2-496 LICENSED MATERIAL - PROPERTY OF IBM Playback Routine The playback routine is used in an offline environment to convert, format, and print data recorded during online execution. The data played back was created using the RECORD facility of the Special Real Time Operating System. 2-491 DPPXNRTI EntenId From SCHEOi~ Input Output Procea Register 1 .-Address Of Playback Parameters I ... I ITITRetrieve Address Of Playback Parameters Work Area r Playback Parameters 0 START DATE 9 START TIME 16 STOP DATE 25 STOP TIME 34 Load Module Name 42 ID COUNT 44 ID 46 10 48 .... ... ) rn ... .. ) Move Playback Parameters To A Work Area And Load Register 1 With The Address Of The Work Area_ 0 9 16 25 34 42 44 46 48 00 LI N K To Date Playback Conversion Routine (DPPXPCON)_ . n m Z en m C s: ~ m :rJ » r I ..... ... Playback Parameters START DATE START TIME STOP DATE STOP TIME LOAD Module Name 10 COUNT 10 10 LINK ... ... ....., Parameter Conversion Routine Figure 2-73 "'0 :rJ o "'0 m :rJ ~ o." 6i 3: Return To SCHEDULAR Figure 2-162 (1 Of 2) - Data Playback Non-Real Time Initialization Routine Figure 2-162 (2 of 2). Step Extended Description Messages and POL Segment ABEND Codes 1 Retrieve the address of playback parameters from register 1. DPPXNRTI 2 All playback parameters will be moved into a work area built by DPPXNRTI. The address of the work area will pe stored in register 1. DPPXNRTI 3 An OS/VSl LINK macro will be issued to' the data playback conversion DPPXNRTI routine (DPPXPCON) • r o m Z CJ) m o 3: » .... m :Jl » r ." :D o ." m :D .... < o en LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank 2-500 LICENSED MATERIAL - PROPERTY OF IBM SYSGEN Utility The stage I SYSGEN Utility uses software option and hardware configurations specifications as input. The output is a printed listing and the job stream for stage II of SYSGEN. The job stream. when executed creates a Special Real Time Operating System. 2-501 DOMXSTG1 Process Input Register 1 A(Parameter ADDR) A(Parameters) ,.. ITl Obtain Assembler Type (H Or Fl. Assembler Parameter (SYSPARM=l, And CPU 10 From Parm Field. nm Z (I) m C Parameters 3: ~ m :l:J SOFTOPT Data Set » ,.. Obtain Current Member(s) From CONFG Data Set And Correct Member From SOFTOPT Data Set·To SYSIN Data Set. Error In Above Process? NoInvoke The Correct Assembler I '"0 :l:J 0 '"0 m :l:J ~ Assembler 0 -" CD !: Yes - Exit Figure 2-163 (1 Of 2) - Stage 1 SYSGEN Utility Figure 2-163 (20f2). ------------------~-----------.------------- Step Extended Description Messages and ABEND Codes PDL Segment 1 The CPU ID is of the form System/370xx or System/7xx where xx is any decimal number from 01 to 99. If an error is detected, issue message INVALID PARM FIELD. DOMXSTGl 2 The correct members are: DOMXSTGI A. The member of the configuration data set named in the PARM field. rn m Z (J) B. C. All other configuration members named in the first or subsequent configuration member(s) CONFIGH child parameters *. The member of the SOFTOPT data set named 1n the PARM field. m C 3: l> -i m :0 l> *Multiple CONFGH members will be used only if the SYstem/370 Energy Management System Program Product (5740-Ull) is being generated. r"C :0 o"C m :0 -i < o " LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank 2-504 LICENSED MATERIAL - PROPERTY OF IBM SAMPLE PROGRAMS. The Special Real Time Operating System sample programs provide a minimal test of the functioning of the Special Real Time Operating System. The primary program, DPPZSAMP, exercises the following functional areas: Task Management Time Management Data Base Management Message Handler The secondary program, DPPSAMPI, is used to substantiate the functioning of test management and time management routines by issuing message 66 whenever entered as the result of PATCH or PTIME macro call. 2-505 Special Real nme Operating System Sample Prognm Sample Program . Semple Program PATCH ENTRY Progrwn r(') EJ J m Z C'I) m o 3: ... » m ::rJ » rI ." ::rJ o -0 m ...-< ::rJ Figure 2-164 (1 of 2) Special Real Time Operating System Sample Program Overview o -n LICENSED MATERIAL - PROPERTY OF IBM Intentionally Blank 2-507 DPPZSAMP Input Entry Via A PATCH Macro Call Process Output If PATCH Successfully Issued Issue System Message 68 Data Base r(") GETARRAY for DPPZSAMP Array. If Array Retrieved Display Array Contents Via System Message 66 Sample Program Array (DPPZSAMP) @ Item DPPSAMP2 Log Out Array DPPZSAMP , m Logged Sample Program Array (DPPZSAMP) If Array Logged Out Issue System Message 68 2 en m 0 3: Logged Array Data Set » -f Log In Array DPPZSAMP m If Array Logged In Display Array Contents Via System Message 66 » r- ::x:J I "::x:J If PUTARRAY Issued Issue System Message 68 0 "'0 m @] ::x:J -f GETITEM For Item DPPSAMP2 -< Issued Issue System 0 '"T1 o::J 3: If PUTITEM Issued Issue System Message 68 [!J Issue PTIME For DPPSAMPl If PTIME Macro Successful Issue System Message 68 DPPQ69 Figure 2-165 (1 Of 2) - Special Real Time Operating System Sample Program Figure 2-165 (2 of 2). Extended Description Step Messages and ABEND Codes POL Segment I The sample program will PATCH task DPPSAMPI at entry point DPPSAMPI DPP068I DPPZSAMP 2 Array DPPZSAMP will be retrieved from the data base by a GETARRAY macro. DPP066I DPPZSAMP A. Array DPPZSAMP will be logged out by the PUTLOG macro. DPPQ68I B. Array DPPZSAMP, contents of the array logged, will be logged in by a GETLOG macro. DPP066I Array DPPZSAMP, contents of the array logged, will be placed back in the data base by a PUTARRAY macro. DPP068I C. 3 DPPZSAMP Item DPPSAMP2 contents retrieved by the GETITEM in step 3 will be placed in the data base by a PUTITEM macro. A PTIME macro will be issued to cause task DPPSAMPl, at entry point DPPSAMPI, to be patched three times at I-second intervals. n m Z en m o ~ » -i m Item DPPSAMP2 will be retrieved from the data base by a GETITEM macro. DPP069I A. 4 ,... ::D DPP068I DPPZSAMP DPP068I DPPZSAMP »,... o" ::D "m ::D -i -< o " DPPSAMPl Input ITJ Issue System Mesuge 28 r o m :2 (I) m o 3: ~ m :lJ ~ r I "o:lJ m " ~ < o ." Figure 2-166 (1 Of 2) - Sample Program PATCH Entry Routine Figure 2·166 (2 of 2). Step 1 Extended Description Issue message 28 to indicate the sample program has been entered. Messages and ABEND Codes I DPP0281 POL Segment DPPSAMPl r (') m Z Cf) m C 3: ~ -f m ::D ~ r ." ::D o ." m ::D -f -< o " LICENSED MATERIAL - PROPERTY OF IBM Section 3. PROGRAM ORGANIZATION DESCRIPTION TIle Program Organization section of the System Logic Manual describes the method of implementation of the functions described in Section 2. This is done through Program Design Language (PDL) representation of ,each member of source code that comprise the Special Real Time Operating System. PDL provides a more detailed insight into the logic flow of the individual programs and closely resembles the actual program structure. This section is intended to be an intermediary step and to aid in the transition from the functional overview of the logic descriptions (Section 2) to the program listings themselves. The HIPO charts in Section 2 can be used to tie a function in question to one or more program segments. The PDL charts in this section can then be used to pinpoint the area of concern within the referenced segment(s). Neither the HIPO charts nor the PDL charts are intended to be a subset of the other; nor is either a oneto-one mapping of the other. They support each other and should be used together to fully understand the logic flow of the program. In some cases, several members of source code are combined, by use of COPY statements, into one assembly. A cross-reference of source members that are COPYed into base CSECTs is provided in Appendix A. A cross-reference of module names to HIPO and PDL charts is provided in Appendix C. A cross-reference of ABEND codes and message numbers to module names can be found in the Description and Operations Manual. All ABEND codes and message numbers used (directly or indirectly) by a module are defined in the extended description of the HIPO chart for that module. The actual ABEND code or message number issued by a particular segment (e.g., a common subroutine) may, in some cases, be ascertainable only in realtime execution. Therefore, not all PDL segments will reference a specific ABEND code or message number. For ease of use, the following PDL charts have been arranged in alphabetical order. 3-1 LICENSED MATERIAL - PROPERTY OF IBM Intentionally B+ank 3-2 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-1. DOMICEXT MAIN SEGMENT INCLUDE DPPICINF EXTA NUMERIC 1* VALUE FOR lPPS EXT' EXTB NUMERIC I*VAlUE fOR fAIL SELECT EXT.I 1* THIS MODULE IS ENTERED IN PLACE OF T~E as EXT fllH*1 IF EXTA IS ON THEN IF 'TIME SYNC OPTION IS SELECTED IN A JOB STEP' THEN 'POST TIME SECTION' ENDIF ENDIF IF EXTB IS ON THEN IF 'PROBE FUNCTION (S RUNNING' THEN 'POST PROBE' ENOlf ENOIF 'PASS CTL TO OS/VS EXT FlIH' ENpSEGMENT DOMtCEXT OC~lCEXT 01 01 01 01 01 02 03 02 01 01 02 03 02 01 01 Figure 3-2 (1 of 2). DOMIRBT 01 01 01 01 02 02 03 03 02 02 02 03 02 02 01 02 01 OOMIRBT ENTERED VIA HARDWARE IPl SET UP TEMP AOOR TRANS TABLE TURN eN OAT BOX WAIT STATE CODE' F' IF oseB FO~ fiR GATA SET NOT THERE IF CONSCLE AODR FURNISHED WRITE OUT MESSAGE T~AT RESTART HAS OCCURED ENOlf UNlil TC ENe Of REAL STORAGE IF READ AOOR NOT FIRST PART BOOT If ~ED NOT SECC"D PART BOOT IF NOT AOOR WORK AREA R~AO 8LOCK ( f REAL STOR~GE IF fIRST BLeCK REAL S~VE PC ~EW/MC NEW PUT WAIT STATE PSWS AT PC AND Me E~OIF GET AMT READ IF BLOCKS NCT 2K MULT QUIT-DROP DEAD WAIT ENOIF GET NEXT READ ADOR ELSE UP REAC AODR 2K ENDIf ENDOO ALL REAL STORAGE IN--GET FULL CTl REGS READ PROTECT KEYS UNTIL END OF REAL STORAGE 3--3 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-2. (2 of 2). DOMIRBT 01 01 01 01 01 01 02 02 03 03 02 01 01 01 02 03 03 03 03 03 03 03 04 03 02 01 3-4 SET KEY IN REAL STORAGE ENDDO TO RENIP TO AOJLST ue8 S IF CRITICAL DISK MISSING CODE 3 WAIT STATE ENDIF DO COpy FOR PAGING [ATA SETS UNTIL All JOeQ,SWADS PROt COpy AN EXTENT OF JOSQ,SWAOS,SYSWADS SET NEXT EXTENT PTR ENODO IF OS/VS CLOCK eMP SUPPORT IF CLeCK SET OR IF CLOCK ~CT SeT ADJUST CLeeK CMP RESTQRE VAL WHILE TQE- S Re~AIN ADJUST TOX IN TOE GET NEXT TQE ENDeo ENDIF SET CPU TIMER AND CLUCK eMP ENDIF RESTORE PC AND ~C NEW PSWS RETURN TO OCMIRWT AS THOUGH RESTART JUST BGNSEG COpy SEGMENT-COPY A DATA SET IF ACTUAL OSET IMAGE THERE UNTIL E~D OF INPUT ON FIR OSET RElOC REAC CHAN PROG GET AMT T~EAD IN BUILD OUTPUT CHAN PROG GET DEVICE AOOR WRITE IT CUT UP INPUT OISK ADDR If END CYl ON INPUT ADJUST ~H AND CC ENDIF ENDDO END IF ENDSEG COpy ~RITTEN LICENSED MATERIAL - PROPERTY OF IBM Figure 3-3. DOMIRCMN MAIN SEGMENT THtS SEGMENT IS PATCHED ON A CYCLIC BASIS TO ~ONITOR THE EMS SYSTEM--IT CONVERSES WITH THE BACKUP CPU VIA DIRECT eTL *1 INCLUDE D1~RCMN SAVESTAT UNDEFINED I*SAVELOCS FOR crRS*1 LISTARVS CHARACTER 1* LIST OF ARRAYS TO CHECK.I FIRSTENT BOOLEAN 1*INITIAl ENTRY SW ./ GOOOVAl BOOLEAN If FIRSTENT=YES T~EN FIRSTENT=NO 'TURN OfF LTFREQ AND LTSELT' 'ALLOCATE SAVESTAT' GOaOVAl=TRUE ENCIF DO 'FOR ALL VALUES IN LIST'RYS' WHILE GOODVAl=TRUE IF 'LISTARYS VAlUE-=SAVED VALUE IN SAVESTAT' THEN IF 'lIST'RYS VALUE NE ZERO' THEN GOODVAl=FAl SE ENOIF ELSE SAVESTAT(XJ=lISTARYSeX) ENDIF ENCDO IF GOODVAL=TRUE T~EN 'SET BTOC TO NEW CONFIG' 'TURN ON lTC~L AND LTRDY' ELSE 'SET BTOC TO 'F" INDICATES FAIlOVER REg*1 ENDIF ENOSEGMENT DCMIRCMN '* OC~tRCMN 01 02 02 01 01 01 01 01 01 02 02 02 02 01 01 02 03 04 03 02 03 02 01 Ot 02 02 01 02 01 '* Figure 3-4. DOMIRCPY 01 01 01 01 01 OO~IRCPY MAIN SEGMENT DOMIRCPY IS eRANC~EO TO BY DOMIRFLV TC MAKE MULTIPLE COPIES OF THE FAILOVER/REST'RT [AT A SET. BUILD ceNTROl SLCCKS FOR ALL CPPfAll DC CARCS COpy All OF FIR DATA SET EXCEPT FIRST TRACK WRITE BOOTSTRAP AND P~OTECT KEYS ON EACH TRACK READ Rl AND R2 fROM DISK TRACK ZERO AND COpy READ IPl 1 ANC IPl2 ~RITE OUT IPl1 AND IPL2 TO EACH OPPfAtlX CLOSE CCBS,RElEASf BUFFERS ENOSEG~ENT OC~IRCPY 3-5 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-5. DOMIRFLV 01 01 01 01 02 01 02 01 01 DOMIRFLV SYNCHRONIZES WITH THE SLAVE(MASTER) PARTITION (If ANY) ANC PREPARES TO WRITE THE RESTART ABEND NOT A REAL TIME JOB ABFND IF ANOTHER WTFAILOS GOING IF 2 PA~T OP ABEND IF CANT LOCATE OTHE~ PARTITION GET TeB ADDR (THER PARTITION ENe eN MASTER JOB JOB NAME IF E GOT RESOURCE WAIT FOR OTHER PARTITION ELSE POST OTHER PARTITION ENOIF ENOIF IF IS SLAVE PARTITICN WAIT fOR MASTER TO WRITE RESTART ENDIF 3-6 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-6. DOMIRFL2 01 02 03 03 04 04 04 04 04 04 04 05 06 05 DOMIRFL2 PREPARES TO WRITE THE RESTART If MASTER PART. IF RESTART IS ALL(WEO IF DPPFAIL OOCARD FOUND IF NOT SYSRES (IPl VOL) IF VALID DEVICE LOAD RESTART BOOTSTRAP LCAD RENIP LOAD RESTART WRITE PUT EXTENT INFO FOR JOBCUEUE AND SkADS IN BCOT HDR IF SWAOS NOT SWA ENDIF IF TWO PARTITION OPERATION IF SWADS NOT SWA PUT EXTENT INFC FeR SWADS Of SLAVE P~RTITION IN BOOT HDR E~DIF 04 04 04 04 04 04 04 ENDIF GET lID WORK AREA PUT CONSOLE ADCR IN BCT rDR FIX BCOT,RNIP,WORK AREA, AND RESTART WRITE IN REAL STORAGE LOOP Til 110 STOPS GO TO DOMIRWT TO WRITE RESTART IF ON RESTARTED CPU 05 RESET NR,CUB,BSY eN ALL UCBS 04 ENOIF 04 UNFIX ITEMS FIXED 03 ELSE 04 SET INVALID DOCARD FETURN 03 ENDIF 02 ELSE 03 SET NO COCARO RETURN 02 ENDIF 02 tF RESTART WRITE OK 03 GC TO DG~IRCPY Te COpy DPPFAIL 02 ENOIF O l E LS E 02 MAKE LOCK AS IF RESTART WENT OK 01 ENDIF 01 ISSUE APPROPRIATE MESSAGES 01 POST OTHER PARTITION IF EXIST ENDIF qETURN TO CALLER 3-7 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-7. DOMIRINT 01 01 02 03 J4 DCMIRINT MAI~ SEGME~T INCLUDE DPPICINF 1* THIS MODULE IS LINKED TO BY SYSINIT IF FAIlOVER/RESTART AND OR EXT INT. HANDLING WAS SYSGENED *1 IF ~OT SLAVE PART ENQ ON NAME REPRESENTING FAllOVER/EXT I~T GO WITH THIS JOB IF ENQ CK IF CAN ~AVE EXT IF EXT FllH NOT PREV INIT SET uP SUeSTITUTE EXT FllH 03 E~OIF ~3 04 IF EXT TI~E STND EXT INT IN SYS ATTACH TIME DRIFTER CORRECTOR TASK - 03 E~DIF f-NDIF fLSF 02 SET NC RESTART/EXT INT THIS JOB 01 fNDIF ELSE SLAVE PART 01 5ET FXT/INT RST OFF ENOIF O~ 01 ENDSfG~ENT O(~IRINT DPPDRIFT LICENSED MATERIAL - PROPERTY OF IBM Figure 3-8. DOMI RNIP ot 02 03 03 04 04 05 04 03 04 04 05 04 03 02 01 01 01 02 02 02 02 03 03 03 02 03 02 03 02 01 02 01 DCMIPN(P MAIN SEGMENT FORMAT BOOTSTRAP WORK AREA FOR CONFLICT ELEMENTS WHILE NOT AT END uce LOOK UP IF NOT FILLER ENTRY IF DIRECT ACCESS DEVICE READ VOLUME LABEL IF UNABLE TC READ LABEL IF DEVICE CNLINE BEFORE IF REAL VClSER CREATE CONFLICT EL~ ENDIF ELSE WAS ABLE TO READ VOL LABEL IF DEVICE WAS OFFLINE OR If V(lSER IS DIFFERENT CREATE CFLICT ELM ENDIF ENDIF ENDIF ENDlf BGNWHIlE GET NfXT UCB AODR ENDDO REMOVE POE S FRC~ LOGICAL C~ANNEL QUEUES AND CHAIN TOGETHER WHILE CFLICT ELMS STill TO BE CHECKED IF A NO~ VClEPS EXISTS IN THIS ELM SET UP TO SeA ~ (THE R' CFll CT ELMS STRTSRCH EL~S TC CHECK EXITIF NOW Of ONE EQLS eLO OF ANOTHER ~ND EXITIF SAME DEVTYP INTERCHANGE UCB S RESWAP VOLUME RELATED INFO UNCHAIN CFllCT ELM ORElSE NEXT TO CC~PARE AGAINST ENDLOOP GET NEXT TO C~ECK FOR VALID NOW VOlSER ENDSRCH ELSE GET NEXT TO CHECK FOR VALID NOW VOlSER ENDIF ENDDO PUT RQE S BACK CN ceRRECT lCH SET RETURN CODE IF CRITICAL DISK MISSING ENOSEGMENT DCMIRNIP 3-9 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-9. DOMIRPRB OCMI~P~B MAIN SEGMENT 01 1* THIS SEGMENT RUNS ON A CVCllC BASIS IN THE 02 CFFLINE CPU--IT TESTS THE ONLINE CPU VIA DIRECT CTL INCLUDE D1MRCMN INCLUDE DPPICINF ECe( 2 JUNO EFIN ED I • , 1 J IST.I ME, C2) I SEX TIN T */ GOODY BOOLEAN 'SAVE INFO IN OOMICINF FOR E~T INT' GOOOY=TRUE 'SET ECBtl) POSTED' DO INDEFINITELY 'WAIT fOR ECE(l) OR EC8(2) TO BE POTEO' IF 'ECB(l) IS POSTED' THEN 'SET ECB(1) NOT POSTEO' • READ BT ec' IF BlOC I S ZERO THEN GOOOY=TRUE ELSE IF eTDC EQ 15 THEN GOODY=FAlSE ELSE IF 'BTDC IS THE SAM AS LAST TIME' T~EN GOODY=FAlSE ENDIF ENOIF ENDIF ENOIF IF' EC B , 2 I I spa S TED' THEN GOODY=FALS E ENDIF 'SET lTRDY ON' 'SET STIMER FOR NEXT ENTRY' IF GOOOY=FAlSE THEN If 'ECB(2) IS NOT POSTED' THEN 'SET lTFREQ ON' 01 01 01 01 01 01 01 01 02 02 03 03 03 04 03 04 05 04 05 06 05 04 03 02 02 03 02 02 02 02 03 04 03 04 04 04 03 02 01 3-10 ELSE 'SET lTFREQ AND lTSElT ON' 'SET BT2q14 AND DELAY' 'FORCE IPl OF fAll/RST CATA SET' l*eXIT., EONI F . ENDIF ENOOO ENDSEGMENT DOMIRPRe *' LICENSED MATERIAL - PROPERTY OF IBM Figure 10. DOMI RWT DOMIRWT IS ERANCHED TO BY COMIRFl2 TO WRITE THE fAllOVER/RST DATA SET. IT RETURNS AfTER DOING SO. SAVE GEN REGS IN BOOT HOR SAVE CTl REGS I~ BOOT HDR I NClUOE DOMI RSIO SAVE eLK CMP fOR RESTART READ PUT RESUME PSW IN eCOT HEADER DUMP ALL OF REAL STORAGE EXCEPT FIRST 2K WORK AREA AND BOOT' 3 2 K BLOC KS I N ALL. COpy ACTIVE ENT~IES FROM PAGING DATA SET TO ODPFAll COpy SYSl.SVSJOSQU AND SYSl.SVSWADS COpy SW~DS FO~ MASTER PARTITICN COpy SWADS fOR SLAVE PARTITION If EXIST WRITE PROTECT KEYS AND BOOTSTRAP WRITE TRACK ZERC IPl RECORDS RETRUN TO DI~IRFlV Figure 3-11. DOMISVC1 01 01 01 02 03 DOMISVCl MAIN SEGMENT 1* TYPE 1 SVC ROUTER *1 I~CLUDE DOMISVCO 03 IF 'SUBSVC VALID' THEN CASENTRY SUBS~C CAS E 1 CALL 1* NO RET DISABLE SVC*I CASE 2 CALL 1* NO RET CHAIN SC *1 ENDCASE 02 ELSE 04 03 04 03 02 01 'AREND USING SVCNO' END IF ENCSEG~E~T DCMISVCl Figure 3-12. DOMISVC2 01 01 01 02 03 04 03 02 03 02 01 DOMISVC2 MAIN SEGMENT 1* TYPE 2 SVC ROUTER *1 I ~c LUDE DOM IS veo IF 'SUBSVC VALID' THEN CASENTRY SUBSVC CAS E 1 CALL 1* PATCH-NO RETURN*I ENCCASE ELSE 'ABEND USI~G SVCNO' ENOIF ENDSEG~ENT DCMISVC2 3-11 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-13. DOMISVC4 01 01 01 02 03 04 03 02 03 02 01 OOMISVC4 MAIN SEGMENT 1* TYPE 4 SVC ~OUTER *1 INCLUDE DOMISV(O IF 'SUBSVC VALID' THEN CASENTRY SUBSVC CASE 1 CALL DOMIRFlV ENOCASE ELSE 'ABEND USING SVCNO' ENDIF ENOSEGMENT 00MISVC4 1* NO RETURN*I Figure 3-14. DOMXSTGl 01 01 01 01 01 01 01 01 01 02 02 02 02 03 03 04 04 04 03 04 03 02 02 03 02 03 02 02 02 03 02 01 3-12 OCMXSTGI MAIN SEGMENT VAlIO_SW BOOLEAN CONFG FILE SOFTOPT FILE OUTPUT fILE SYSPRINT FILE HIEARCHY_CHAIN UNDEFINED '*PTR AND LIST OF PAR/CHIlO*: PARM_FIELD CHARACTER 1* PARM FILED FRCM EXEC CARO*I 'OBTAIN PARM_FIElD' DO 'FOR EACH CPU IN PARM_FIElO' 'OPEN CONFG,SOFTOPT, AND OUTPUT FILES' VAL IO_SW=TRUE 'SET HIERARCHY_CHAIN TO 1 STATED CPNFG MEMBER' DO WHilE VAlIO_SW =TRUE UNTIL 'H[EARC~Y_CHAIN AT 'READ CONFIGH ~ACRO F~OH CURRNET MEMBER' IF 'CCNGIGH MACROS VALID' THEN 'INSTALL CHILDREN IN HJEARCHY_CJAIN' 'COpy CCNFG MEMBER TO OUTPUT FILE' 'SET FOR NEXT MEMBER~IF ANY' ELSE VALID_SW=FALSE ENCIF ENOOa If VAlID_SW=TRUE THEN 'CGPY SOPFTOPT MEMBER TO (UTPUT' ELSE PUT SYSPRINT 'INVALID CONFIGH' ENDIF CLeSE OUTPUT IF VALIO_SW=TRUE THEN CAll 'ASSEMBER' ENDIF ENDOO ENOSEGMENT DOMXSTGl E~[ LICENSED MATERIAL - PROPERTY OF IBM Figure 3-15. DPCALCF1 01 01 DPCALCFI-INClUDED SEGMENT OPPCALCF TIME AIN GET as TIME STORE TI~E AND CATE IN PARAMETER AREA ENDSEGr-tENT AND DATE Figure 3-16. DPCTIME1 SEGMENT CPPCTIME IF CURRENT TIME GREATER THAN 24 HOURS SET CCRRECTION FACTOR TO ~INUS 24 HOURS LINK DPPCUPCF UPCATE TIME ELSE CALCULATE TIME IN HDURS-MIN-SEC-DECISECONDS STORE TI~E IN HOURS-MIN-SEC-OEC[SECONDS IN TIME ARRAY STORE TIME IN B(N~RY DECISECONDS IN lIME ARRAY ENOIF ENDSEGMENT DPCTI~E1-INClUDED 01 02 02 01 02 02 02 01 Figure 3-17. DPCTIME2 SEGMENT MESSAGE 'TI~E CHANGED' LINK DPPCALCF LI~K DPPCUPCF DPCTI~E2-I~CLUDED 01 01 01 DPPCT I~E CALCULATE NEW CORRECTION FACTOR lJPCATE TIME E~OSfGMENT Figure 3-18. DPCTSVC1 01 01 01 CPCTSVC1-INCLUDED SEGMENT RET OPTION REQLEST READ TOO CLeCK CALCULATE CURRENT TIME RETURN TIME IN REG a ANt ADDRESS OF TIME ARRAY IN REG 1 EI\OSEGMENT 3-13 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-19. DPCTSVC2 01 01 01 01 02 03 02 01 02 o3 O? 03 04 03 02 01 01 02 03 02 03 04 05 04 03 02 02 03 02 02 01 02 03 01 01 01 01 01 01 3-14 CPCTSVC2-INCllJDED SEGMENT ADD OP1ICN REQUEST CBGET PTOE ceNTROl BLOCK INITIALIZE PTQE ~ITH DATA IN PTIME [~PUT P~RAMETER-PTIMEl IF PRrBL IS LESS THAN 8 BYTES LONG AND IF PQOBL IS ~CT TO BE FREEr BY PTIME MCVE PROSL INrc THE PT'E ENDIF IF Tce SPECIFIED IF START TIME LESS THAN CURRENT TIME SET START TI~E AHEAD BY 1 CAY ENQIF ELSE IF REL SPECIFIED ACDC UR R EN TTl ~ ETa S TAR T T IJ.,IE ELSE ASSUME ADJ SPECIFIED WHILE START TIME lESS TH~N CURRENT TIME ADO INTERVAL TO START TIME ENO~O ENOIF ENDIF IF STOP TI~E SPECIFIEO IF REL SPECIFIED ADD CURRENT TIME TO STOP TIMl El S E IF ACJ SPECIFIED WHILE STOP TIME LFSS T~AN CURRENT TIME ADD INTERVAL TO STOP TIME ENODO ENDIF ENDIF WHilE STOP TIME LESS THAN START TI~E ADD 24 HCUR VALUE TO STOP TIME ENDOO CALCULATE THE NUMBER OF INTERVALS ELSE IF ZERO CCLNTS SPECIFIED SET INFINITE PTI~E FLAG E~DIF ENOIF SAVE CCUNT VALUE LOCK eN TIME ARRAY CHAIN PTQF. TO PTOf ChAIN UNLOCK TIME ~RRAY Ef\CSEGMENT LICENSED MATERIAL - PROPERTY OF IBM Figure 3-20. DPCTSVC3 01 01 02 03 03 02 02 03 02 03 04 C5 04 03 04 05 04 05 06 05 04 03 03 04 05 04 C5 06 01 06 05 04 04 05 04 04 03 04 05 04 03 O~ 03 02 01 Ot OPCTSVC3-INCLUDED SEGMENT MOO SPECIFIED LOCK (~ TIME ARRAY WHILE ~C~E PTQE'S ON CrAIN DO FOR ALL PTCE'S IF THIS IS A PTQE TO BE MODIFIED CHAIN RE~OVE PTCE fPOM PTOE CHAIN RESET PTQE WITH INFORMATICN IN PTIME INPUT PARAMETER-PTI~EL IF PROBL IS LfSS TrAN 8 eYTES LONG AND IF PROBL IS ~OT TO BE FREED BY PTI~E ~OVE PROBL INTO THE PTQE ENOIF IF Teo SPECIFIED IF START TIME lESS THAN CURRENT TIME SET START TIME AHEAD BY 1 CAY ENOIF EL SE IF REl SPECIFIED ADD CURRENT TIME TO START TIME ELSE ASSUME ACJ SPECIFIEO WHILE START Tl~E LESS THAN CURRENT TIME ADD INTERVAL TO START TIME ENcca ENOIF ENDIF IF STOP TIME SPECIFIED IF REL SPECIFIED ADD CURRENT TIME TO STOP TIME ELSE IF ADJ SPECIFIED WHILE STOP TIME LESS THA~ CURRENT TIME ADD INTERVAL TO STOP TI~E ENDDO ENOIF E~DIF wHILE STOP TIME LFSS THAN START TIME ADD 24 HOUR VALUE ·TO STOP TIME ENODO CALCULATE THE ~UMBER OF INTERVALS ELSE IF ZERO COUNTS SPECIFIED SET INFINITE PTIME FLAG ENCIF ENDIF SAVE COUNT VALUE CHAIN ADD THIS PTQE TO PTQE CHAIN ENDIF ENCOC UNLCCK TIME ARRAY ENOSEGMENT 3-15 LICENSED MATERIAL - PROPERTY OF IBM F igu re 3-21. DPCTSVC4 r.PCTSVC4-I~CLUOEO J1 LeeK CH O? ~HILE C~ SEGMENT DEL SPECIFIED ARRAY Tr~E ~CRE prOE'S ON CHAIN DO fOR !F TbIS IS A PTQE Te EE DELETED SET PURGE FLAG tJ -i ~LL PTCE'S f~OIF 02 01 01 01 fNCOr. POST DPPCPTI~ UNlCCK TIME TO REMGVE PTQE FRCM PTQE CHAIN ~RRAY ff\OSEGMF~T Figure 3-22. DPCUPCFl SEGMENT CPPCUPCF crNVERT INPUT CORRECTION FACTOR TO TOO COUNTER UNITS IF TIMF IS FAST T .... EN ACC CCPRECTICN FACTOR TO CURRENT CCNVERSICN FACTOR npClJPCFI-INCllJD~D J1 O? 03 O? FL SE SUHTRACT crRRECTICN FACTeR FROM CURRENT CCNVERSI(N FACTOR O~ O? Jl 01 07 Er-.:OIF * * T~[ CCNVERSICN FACTOR IS SUBTRACTED FRCM TAE Tno cnUNTER VALUE TO OBTAIN THE TIME STCRE NEw CONv[RSION FACTOR INTO TIME ~RRAY NeTF: F"JOSfGME~T 01 Figure 3-23. DPCUPCF2 DOC t JP C F2-- RFAC INC LlJ 0 t D Sf. GMEN T TOO CCU~TER CP PC UP CF VALUE SUPTRACT CCRRECTlnN FACTOP Ff«M TeO COUNTER VALUE ( -J ,,! VFRTTl M E Cr FFER ENe f TO 10M II LIS ECO" 0 UN ITS STClPF PIf\AI VARIABLE CCUNT IN DEFINED MESSAGE THEN SET RETURN CODE TO 2 ENDIF ENCIF CONVERT ALL USER DATA(VARIABLES) TO EBIDIC INTO MESSAGE AO[ TIME TO MESSAGE IF DATE FLAG c~rN DEFINED MESSAGE ADD CATE Te ~ESSAGE Ef\DIF IF ACTICN CODE SPECIFIED IN PARAMETER LIST ThEN MOVE ACTICN CODE-TO MESSAGE OPPMMS~ 01 01 01, O~ 01 01 01 02 01 02 03 02 01 02 03 02 01 01 01 ENOl F IF USER MESSAGE RETURN ~REA SPECIFIED THEN PASS MESSAGE TO USER SPECIFIED AREA ENDIF IF ROUTE CODE NOT EQUAL TO 255 T~EN RETRIEVE ROUTING CODE TABLE FRCM CATA BASE IF ROUTE CODES IN PARAMETER lIST NCT FOUND IN ThEN SET RETURN CCDE Te 12 ELSE PATC~ MESSAGE OUTPUT ROUTINE ENOIF ENDIF 01 01 01 02 01 01 ENOl F UNlCCK OPF~""SG ENDSEG~fNT 3-74 DPP~~SG ~OUTING CODE TABLE LICENSED MATERIAL - PROPERTY OF IBM Figure 3-76. DPPMMSGV OPPMMSGV MAIN SEGMENT 01 01 02 03 03 02 01 01 01 01 02 03 04 03 03 04 04 03 03 04 * SYSTEM MESSAGE ROUTING CODE MANIPULATIGN ROUTINE * ~ETRIEVE PASSEC PARAMETERS RETRIEVE MESSAGE ROUTING CODE FRCM CATA BASE IF ALTERNATE RCUlE CODE PASSED T~EN CO UNTIL ALTERNATE RCUlE CODE COMPARED AGAINST ROUTE CODE TABLE IF ALTERNATE ROUTE CODE OUT OF SERVICE THEN ISSUE ERROR MESSAGE SET ERROR FLAG ENDIF ENODO ENCIF IF PASSED PRIMARY ROUTE CODE = AlTER~ATE ROUTE CODE THEN SET ERROR FLAG ISSUE ERROR ~ESSAGE ENDIF IF ERROR FLAG OFF T~EN DO UNTIL ENO CF ROUTE (OCE TABLE IF P~IMARY ROUTE CeDE FOUND IN RCUlE CODE TABLE THEN IF ALTEP~ATE ROUTE SPEClflEC T~EN MCVE ALTERNATE ROUTE CODE TO ROUTE CODE TABLE ENDIF IF ROUTE (ODE CUT Of SERVICE TrE~ SET QUT-Of-SERVICE FLAG IN ~(UTE CODE TABLE DISPLAY STATUS Of ROUTE CODE E~DIF 04 IF ROUTE CODE IN SERVICE THEN SET IN~SERVICE FLAG IN ROUTE CODE TABLE DISPLAY STATUS OF ROUTE CODE ENDIF IF STATUS OF ROUTE ceDE ~E'UESTEC THEN DISPLAY STATUS OF ROUTE CODE ENDIF ELSE IF STATUS OF ALL ROUTE CODES IN SYSTEM REQUESTED THEN DISPLAY STATUS OF ROUTE CaCE(S) 03 02 ENCIF 04 03 03 04 03 02 03 01 01 E~DIF ENDDO ENCIF IF 8AD PARAMETER PAS SEC THEN ISSUE ERROR ~ESSAGE ENCIF ENDSEGMENT DPP~~SGV 3-75 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-77. DPPMMSG1 MAIN SEGMENT *REAL TIME MESSAGE HANDLER OUTPUT ROUTINE * GET FORMATTED ~ESSAGE AND ROUTE CODES FRCM MESSAGE FORMATTER ROUTINE GET ADDRESS OF MESSAGE ADDRESS CONTROL BLOCK FROM seVT LOCK DPP~~SGI IF PRE-RESTART FLAG SET IN MESSAGE AODRESS ceNTROl BLOCK THEN OUTPUT MESSAGE TO SYSTEM CCNSOlE ELSE IF peST-RESTART RETRIEVE MESSAGE ROUTING CODE TABLE FROM DATA BASE DO U~TIl MESSAGE HAS BEEN ROUTED TO All SPECIFIED ROUTE CODES IF ROUTE crOE FCUND IN ROUTING CODE TABLE THEN OUTPUT MESSAGE TO SPECIFIED DEVICE IN ROUTING CODE TABLE IF MESSAGE ~OT OUTPUTTED TO PRIMARY ROUTE T~EN OLTPUT MESSAGE TO ALTERNATE ROUTE CODE ENDIF ENDIF Ef\OOO ENDIF UNLOCK DPPMMSGI ENOSEGMENT CPP~MSGI DPPM~SGI 01 01 01 01 02 01 02 02 03 04 04 05 04 03 02 01 01 3-76 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-78 (1 of 2). DPPPARM 01 01 01 01 01 01 01 02 02 01 02 01 01 01 01 02 02 02 02 02 02 A(PA~A~ETER TABLE) CANCFl THE PL/I SPIE AND STAE EXIT ACROSS INTERfACE ROUTINE LOAD A(STAE RE~OTE LIST) SAVE A(PL/l PICA) A(CVT) A(NEW/ClD TeB ACCRESSES) A( CUR REN T TCB) A(TCBX) A(PATCH PAR~ TABLE) IS THIS THE FIRST ENTRY If *: NO LOAD A(XCVT) LOAC A(SC~T) LOAD A(SEC. EP DPPTPMON) LOAD POST CeDE FOR PMON TO PATCH GO GET AN(T~E~ WORK QUEUE ELSE CONTINUE RETURN CODE ENDIF FILL THE PARAMETER TABLE STORE RETURN CODE RESTO~E PL/1 SPIE AND STAE PRIOR TO RETURNING RESTORE PL/1 STAE LOAD A(PL/l PICA) RESTORE Pl/l SP[E EXIT STAE S~BRCUTINE TO PERMIT RECOVERY TO FREE CORE AND.ENTER PL/1 STAE BGNSEG IF THERE IS A WCRKAREA LeAt A(DPPPARM SAVEAREAl SAVE ABEND ceDE FeR RECOVERY ELSE SAVE ABENe CODE faR RECOVERY ENOl F A(DPPPARM STAE RETRY ROUTINE) REQUEST A RETRY ENOSEG CPARP'STA BGNSEG IF T~ERE IS A WCRKAREA LOAD AIOPPPARM SAVEAREA) LOAD CO~PLETICN CODE LOAD STAE WORKAREA LENGTH FREE THE STAE WORKAREA SETUP A(OPPPARM SAVEAREAI LeAD ACPL/l SAVEAREA) 3-77 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-78 (2 of 2). DPPPARM 01 02 02 02 ELSE SAVE T~E CCMPlETICN CODE lOAC ADDRESS OF DPPPARM lOAC A(CVT) lOA[ AlrCS NEW/OLD POfNTERS) LeAD A(CURRENT lCB) LCAD A(FIRST SAVEAREA) STRTSRCH NEXT (5 NCT ZE~O EXI1IF NEXT IS DPPPARM SAVEAREA lCAC A(OPPPARM SAVEAREA) 02 02 02 02 02 03 02 E~ClOOP 02 ENDSRCH ot ENDIF O i l OA C A ( PL /1 PIC A) 01 LOAD SAVEAREA LENGTH 01 fREE T~E SAVE AREA 01 SETUP TO RESTORE Fl/l SPIE 01 RESTCRE Pl/l SPIE EXIT 01 COMPlETICN CODE TO REG. 1 01 SETUP Pl/l SAVEAREA REG. 01 ~ESTORE PL/l REGS 2 TO 12 01 GO TO Pl/l STAE EXIT ENDSEG OPARMRCV 3-78 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-79 (1 of 5). DPPPI F 01 01 02 02 01 02 01 01 01 01 01 02 02 02 ot 02 02 02 02 02 02 03 03 02 02 o1 A(FIRST PARAMETER LIST) OVERRIDE PL/I STAf EXIT DURING CALLS FOR SERVICE LOAD A(STAE REMOTf lIST) CANCEL Pl/I SPIE FXIT CUqtNG CAllS FeR SERVICE SAVE td PL/I PICA) A «( VT ) A(~EW/(lD Tee ACCRESSES) A(ClH<.REf\T TCB) A{JnRSTEP TCB) A(TCBX) A{XCVT) ~nVf FRROR ~SG SKELETCN Tn CS IF MACR( NO. IS MULTIPLE OF 4 AND IF ITS NnT NEG"TIV~ ANI) IF ITS t\OT GT LIST, THFN EXEC. I~TERFACE CODE ENOIF STCRF RETURN CrOF./P(ST fLAGS RESTORE Pl/I STAE LOAD ~(Pl/I PICA) RESTrRE PL/I SPIE EXIT THIS SLBW(UTINE SAVES T~E CCMPLETI(~ ceDE IN THE INTERFACE RnlTINE SAVEARfA ~ND REQUESTS T~E RETRY OPTlrN. dGNSfG IF ~OPKAREA THFN LCAC A(OPPPIF S~VEAREA) MOVE CO~PlET[(t\ TC FI~ST WORC [L SE STORE C(~PlETI(f\ COOE ENDIF A(STAE RETRY ROUTINE) REQUEST A REr~Y FNOSEG CPIFSTAE THIS RnUTINE FRE~S THF STAF WURKAREA, T~E SAVEAREA nBTAINED HY THf BEGIN ~ACRC ANn FORCES A PLfl STAE ENTRY. AGNSEG ~AKE FNTRY T~E EASE IF REGISTER 1 C(~TAINS A(WORKAREA) SAVF STAf WORKAREA ACCRFSS lOAC ~«(NTERFACE SAVEAREA) P(I~T TO ADRESS OF ABE~C fLSE NO WCRKAREA - FIND SAVEAREA FRCM TCB A(C\iT) A(t\EW/ClO reB ACCRESSES) A(CURRENT reB) A{FIPST SAVEAREA) ST~TSRCH TO "'REV SAVEAPEA EXI1IF PRrV. SAVF.AREA fCUNO lCAC A( It\TERFACE SAVEAREA) NO ABEN[ ADDRESS ENDLOCP E~DSRCH END I F 3-79 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-79 (2 of 5). DPPPIF Jl 01 01 01 01 01 01 :")1 01 01 Ot 02 O? 02 01 01 J1 01 01 01 01 \) 1 01 01 01 01 01 FCINT TC CCMP. CeDE FOR MSG LA~GUAGE S~VEAREA ACCRESS LeAD ~f)CR OF PARAMETER ACCR LeAD AOOR CF ~ERVICE ID FC~ MSG LnAC CVT ADOR LnAC NEw/eLO TCR AOCR LOAC CURRENT TeB AOOR LOAC JOeSTfP TCB AOOR LOAC TCRX ACCR LOAr XCVT AOOR IF A STAf ~CRKAREA WAS PROVIDED THEN LnAD WCRK~REA SIZE, l CAD 'riCRKAR EA ACORESS At\C FQEE STAE WCRKAREA FNOIF SAVE COMPlETlr.N CODE FCR ~BEND lnAC SAVfAREA ACDR FOR FREE LCAD Fl/I-FCRT SAVEAREA tOAD A(Pl/I PICA) Ln~c SAV[ARfA SIZE FOR FREEMA(N FREE T~f SAVEARfA SF TUP F n R R t: S T() KING PL I I S PIE PESTOPF r~E Pl/[ SPIE EXIT CC~PlFTIC~ COCE Te REG. 1 SAVEAPEA AODR~SS TO REG. 13 RESTORF Pl/I REGS 2 TO 12 GO TC Pl/I STAE EXIT FNOSF( CPIFRCVY THE FCLLCWING C0Df ~ANOlES Pl/I PATCH REQUESTS l8A[ f~GNSEG ()l 01 01 01 01 01 A(Pr.;CPL) SETUP RASE T~ SUPl IF N~EDEO - SFTUP NEW PPCHl ISSUE PATCH STORE A(TCB EXTF~S(CN) (LFAR FLAGS F~CM FL/I HALF-WORD ENDSEG CPP I FCD ~GNSEG 01 JL ()~ J~ 07 a~ O? 0? 02 o.? 02 3-80 FLAGS TO SUP LIST FLAGS MUST EE O~TAIN[O SETUP FrR GFT~AIN GFT T~E cnRF roPY A(NFW PROBL) A{NE~ PRnRl FeR MOVE) lE~CT~ Cf MCVf cnpy A(CLC PRO~L) lE~CTH CF Mr.VE MC'vE PRORl TELL SUPERVISOR TO FRF.E PRCAl ~OVE IF CO~F LICENSED MATERIAL - PROPERTY OF IBM Figure 3-79 (3 of 5). DPPPI F 01 02 01 01 02 02 02 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 01 01 01 01 01 02 02 02 02 02 02 01 02 02 02 02 01 ELSE PETURN ~(OlD PReSL) ENDIF ENOSEG GETPROBL THE FCllCWING CODE ~ANDlES PL/I PTIME REQUESTS BGNSEG IF *: TYPE = RETU~N TIME GET CURRENT TIME STORE TI~E AND A(TIME A~RAY) ZERC RETURN CODE ELSE A(PTIME PARAMETER lIST) MCVE ST~RT FLAG ~OVE PURGE FLAG MCVE STOP FLAG A(PATCH AND PReBl) If NEEDED - SETUP NEW P~OBL A(P~OBL) BEING PASSED SETUP PARAMETER REGISTE~S FCR CALLING PTIME ISSUf RESTORE CLEAR FLAGS FRCM Pl/l FIXED PCINT FIELDS ENDIF ENDSEG DPPIF04 THE FCLlOWING COCE ~ANDLES PL/I DPATCH REQUESTS BGNSEG LOAD PURGE OPTION A(TASK ~AME) ISSUE DPATCH SVC ENDS EG DPP I Foa THE FOLLOWING CODE ~ANOLES PL/I REPATCH REQUESTS BGNSEG lOAC A(REPL. IF REt. TYPE (S ZERO, THEN MOVE REPL TO USER CORE RELOCATE SUPL FLAGS "MAK E QUEUE LE~GTH A HALFWORO AND COMPUTE ITS ADDRESS AND REPLACE A(REPL) SETUP A ZERO RETURN CODE ELSE RESTORE SUPL fLAGS CLEAR TEMP. fLAGS LOCATION COMPUTE RfPL (RETRY/PURGE) OPTION EXECUTE REPATCH SVC ENOIF 3-81 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-79 (4 of 5). DPPPI F 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02 01 02 02 02 02 01 01 01 01 01 01 01 ENOSE( OPPIF12 THE FOLLOWING CeDE ~ANOLES PL/l GET/PUTARRAY REQUESTS BGNSEG LOAD A(~A~E LIST) INSERT NA~E INCREMENT LOAD A(OATA LIST) INSERT DATA INCREMENT CALL SERVICE ENDSEG DPPIF16 THE FCLLOWING CODE rANDLES PL/1 GET/PUTITE~ REQUESTS BGNSEG LOAC A(~AME LIST) INSERT ~AME INCREMENT LOAD A(DATA LIST) INSERT DATA INCREMENT CALL SERVICE ENDSEG OPPIF20 THE FOLLOWING CODE ~ANDlES PL/I GET/PUT8l0CK REQUESTS BGNSEG lOAt A(tAlA LIST) PICKUP DATAL 1ST l~CREMENT LOAD A(ARRAY ~AME LIST» CAll SERVICE ENOSEG OPPIF24 THE fOLLOWING CODE HANDLES PL/I MESSAGE REQUESTS BGNSEG BUILD FIRST WORD OF MESSAGE PARAMETERS TO CONTAIN NO. ~AR AtRS/ROUTES AND ~SG NC. PLACE ACTICN ceDE LOAD ST~RTING AODP. FOR SEARCH LOAD INCREMENT FOR FULLWORDS LQAC END CF SEARCH ADDRESS STRTSRCH UNTIL END OF VARIABLES 00 TEST VARIABLE ACDRESS FC~ ZERO EXITIF A ZERO VARIABLE ADDRESS (S FOUND lOAD START ADDRESS CO~PUTE Ne. CF BYTES SE~RC~EO COMPUTE ~C. OF WORDS SEARCHED RESET NC. OF VARIABLES COUNT ENOLOOP ENOSRCH INSERT T"'E WA IT FLAG AtMESSAGE PAR~ LIST) CALL SUPPORT ROUTINE CLEAR WAIT FLAG CLEAR ACTION coDe ENOSEG CPPIF40 3-82 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-79 (5 of 5). DPPPI F 01 01 01 02 01 01 01 02 01 01 01 01 02 01 01 01 02 01 01 01 01 02 01 THE FOLLOWING CODE hANDLES Pl/l PUTlOG RECUESTS BGNSEG LeAC A(ARRAY ~AME/NUMBER/lIST) LOAD A(LOGHEACER/BLOCKLIST) IF REG 0 CCNTAI~S A(BLOCKLISTJ LOAC INCREMENT VALUE ENDIF CALL SERVICE ENDSEG OPPIF44 THE FOLLOWING CODE ~ANDlES PL/I GETLOG RECUESTS BGNSEG IF ITS AN ARRAY NA~E MOVE NAME AOOR TO lIST ENOIF LOAD A(GETlOG PARAMETER LIST) CALL SERVICE IF ITS AN ARRAY NAME CLEAR ACDRESS F~CM lIST ENOIF ENOSEG DPPIF48 THE FClLOWI~G CeDE ~ANOlES Pl/1 CUMPlOG REQUESTS BGNSEG IF A LIST OF NA~ES OR NUMBERS OR IF A NAME IS SPECIFIED MOVE ~DCR TO lIST ENOIF LOAD A(DUMPlOG PARAMETER llSTI CAll SERVICE If A liST AODR CLE~R ADDRESS FROM LIST ENDIF ENOSEG CPPIF52 THE FOLLOWING CODe HANDLES PL/I RECORD RECUESTS RGNSEG 01 01 01 01 01 01 01 01 01 PICKUP LENGTH INCLUOE 10 AlCAlA) CALL suppeRT RGUTJNE ENDSEG OPPIF56 THE FOLLOWING CODE ~ANOLes Pl/l PATCH WAIT REQUESTS BGNSEG AIEtS Te BE POSTEC) WAIT FOR' SINGLE EVENT lERO THE REGISTER LOAD POST FLAGS AS RETURN CODE CLEAR POST FLAGS FRCM COMP. CODE ENOSEG DPPIF60 3-83 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-80. DPPSAMP1 OPPSAMPl MAIN SEGMENT 'SAMPLE PROGRAM PATCH ENTRY ROUTINE' ISSUE SYSTEM MESSAGE 28 ENDSEGMENT OPFS.~Pl 01 Figure 3-81. DPPSASOC , DOS ASYNCH~C~IS OFEN OR CLOSE' GET ADDRESS OF INPUTS INPUTS = ~({OAJ,WHICH CONTAINS OPEN/ClOSe SVC & PARMS FUNCTICN = ASYNCHRONOUSLY OPEN/Close HAlf A DOS GET ADDRESS OF PARM FOR OPE~/ClOSE EXECUTE OPEN/CLOSE SVC POST THE ASVNCH ECB RETURN TO CALLER Figure 3·82 (1 of 2). DPPSBFST 01 ot 01 02 01 01 01 Ot 02 0) 03 03 03 04 03 02 , BlDl/FINOCTVPE-O/STOW FOR A Des' INPUTS: (A(UOCB),AIPARAMJ,ITYPE») IF THIS ODS IS Nor DUPLICATED, THEN CALL THE APPROPRIATE SEGMENT FOR USER'S as DeB ELSE If T~IS IS READC~LY, ANO IF STOW IS REQUESTED,THEN SET RETURN CODE TO 32 ANO RETURN TO USER END IF SHARE THIS DOS CALL THE AFPROPRIATE SEGMENT FOR THE PRIM~RY CDSDCB If A~ ERRCR ON THE PRIMARY, TtEN IF BACKUP IS IN-SERVICE, THEN LOCK THIS Des SWITC~ PRIMARY WITH BACKUP U~lOCK & SH~RE THIS CCS IF THE SWITCHCVER WAS GOOD, THEN EXECUTE SVC FOR THE NEW PRIMARY ENDlf 01 3-84 E~DIF ELSE LICENSED MATERIAL - PROPERTY OF IBM Figure 3-82 (2 of 2). DPPSBFST 02 02 03 03 04 03 02 01 01 01 01 02 01 01 01 02 01 01 01 02 01 IF IT IS NOT BLOL, AND IF BACKUP IS I~ SERVICE PERFORM SVC ON BACKUp·DCB IF AACKUP fAILED, THE~ TAKE BACKUP OUT-OF-SERVICE ENDIF ENDIF ENDIF UNS~ARE THIS DDS ENDIF RETURN TO T~E CALLER BGNSEG ISSUE A BLOl IF THE BLOL FAILED, THEN SET PROPER RETURN CODE END I F ENOSFG BlDL BGNSfG ISSUE fINO (TYPE 0 ) IF FIND FAILED, THEN SET PROPER RETURN CODE FNDIF ENOSfG FIND BGNSEG I SSUE STO~ ( TYPE A ) IF STOW FAILED, THEN SET PRCPER RETU~N CODE ENDIF E~DSEG 01 01 02 01 01 01 02 01 01 01 02 01 STO~~ BGNSEG ISSUE STOW ( TYPE R • IF STOW FAILED, THEN SET PROPER RETURN CODE ENDIF ENOSEG STOWR BGNSEG ISSUE STOW (TYPE C ) IF STOW FAILEC, T~EN SET PROPER RETURN CODE END IF ENDSEG STOWe BGNSEG ISSUE STOW ( TYPE C ) IF STOW FAILED, THEN SET PROPER RETURN CODE fNOIF ENDSEG STowe 3-85 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-83. DPPSBF 1 , BLDl/FINO(TVPE-D) FOR A ODS' INPLTS = $l=A(UCCB), $O=A(PARAM), $13=AISAVE-AREA) IF FIND (TYPE-D) t THEN 01 RECC~PlEMENT UOCB PO(NTE~ Et\DIF CAll INTERNAL BUllOl/FINO/STOW ROUTINE - DPPSBFST RETURN TO CALLER Figure 3-84 (1 of 2). DPPSCHCK • DOS CHECK MODULE' INPUTS: AtUSER'S OECB. - OECCCBAO FIELD POINTS TO RESERVED DOSOECB SEE IF USER'S OECS AND DDSOECB POINT TO EAC~ OT~ER IF THE UDECB IS C(N~eCTED TO THE DDSOECB, AND IF THIS DDSDECB IS RESERVED, 01 THEN 01 01 01 OOSS~ARE THIS DOS 01 01 01 01 01 02 02 02 02 02 02 02 SEE IF THIS OOSDECB IS ATTATCHED TO THE PRIMlRY DCB IF THIS DDSOECB IS ATTATCHED TO T~E PRIM~RY eta, T~EN ,CAll OPPSCHK2 TO PERFOR~ AC1UAl C~ECK RETURN PARM 1 PCI~TS TO UPCATED PRIMARY OEca RETURN PARM 15 INDICATES NORMAL(3), EOOC1I, OR SYNADIO) 02 02 02 02 03 02 03 02 02 02 03 02 3-86 MOVE PRIMARY OECB TO USER'S IF OSORG=CA MCVE IN BCAM CECB ELSE MOVE IN BSAM CECB ENDIF IF OPENED FOR UPCATE, A~O IF THIS IS A READ, THEN GET AOCRESS OF BACKUP lOB ENO,IF oece AREA LICENSED MATERIAL - PROPERTY OF IBM Figure 3-84 (2 of 2). DPPSCHCK 01 02 01 01 ELSE ZERO RETURN CODE ENDIF 01 01 01 RELEASE T~IS: CDSDt;C8 01 01 DOSUNSHARE 01 ELSE ZERO ENDIF RETURN THIS DOS caOE RETURN AS PER INDICATED IN NCRMAL ReTU~N CODe TVPE-SYNAD,EOD, OR IF EOD OR SYNAO TAKEN If eCDT AKEN SET RETURN ADDRESS FOR EOD 01 EL S E 02 SET RETURN ADDRESS FOR SVNAC 01 02 01 ENDIF ENDIF RETURN TO CALLER 3-87 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-85. DPPSCHK2 , CHECK A COSOECB - INTERNAL ' INPUTS = ( A(UCECB), A(PRIMARY DECBat A(IOA), A(CTLA1, A(8ACKUP DECS») IF 110 WAS ST~RTED, THEN 01 01 SET SYNAO & EOO fCR CHECK 01 01 01 BRANCH TO OS/VS ChECK PCUTINE 01 01 01 01 SEE IF SYNAO WAS TAKEN IF SYNAO kAS TAKE~ 01 02 02 02 01 01 02 02 02 02 CALL THE SYNAD UPDATE ChECK RCUTI~E RETURNS ACDRESS OF PRIMlRY CECS IN $1 & RETURN CODE IN $15 T~EN ELSE SEE IF NCRMAl RETURN - I.E., NO EOo IF ~rpMAl RETURN IF BACKUP IS IN-SERVICE, THEN 02 03 03 02 THEN CAll CHECK UPDATE ON BACKUP END IF ENOIF ELSE 01 SET RETURN (DCE TO INDICATE SYNAD ENOIF RETURN TO CALLER 01 3-88 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-86. DPPSCHK3 , SYNAD RCUTINE FOR DOS C~ECK' INPUTS =(A(PRIM~RY DECB), A(IOA), A(CTlA), A(BACKUP DECS)) IF BACKUP IS IN-SERVICE THEN SEE If ERROR WAS A DISK FAILURE IF ERFCR IS ~ UNIT CHECK, OR IF ERROR IS A C~ANNEl DATA CHECK, 01 A CHANNEL CONTRO~ C~ECKt CR 01 AN INTERF~CE CCNT~Cl CHECK, 01 THEN / 01 IF ERROR IS BUS aUT PARITY, 01 EQUIPMENT CHECK, 01 DATA CHECK, OR 01 aVE RRUN, OR 01 IF ERROR IS PERMANENT ERROR, THEN 01 02 NCT A USER ERRCR SO SWITCH eVER IS CALLED FOR. 02 02 02 UNS~ARE l~E DOS 02 LeeK T~E ODS 02 02 02 02 02 02 02 SWITCH PRIM~RY WITH BACKUP UNLOCK JHIS DOS 02 02 S~ARE T~E Des 02 02 02 03 IF 1/0 STARTED FOR NEW PRIMARY THEN CHECK OECB(PRI) 03 03 03 SET SY~AD & EOO AOC~ESSES 03 03 03 02 01 BRANCH TO 051 VS CliECK ROUT .INE ENOIF ENDIf ENDIf RETURN TO CALLE~ 3-89 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-87. DPPSCHK4 01 01 02 01 INPUTS = (A(fACKUP DECB),A(IOA),ACCTLA» 'CHECK A eACKUP DECB' IF 110 "AS ST~RTED~ T~EN CAll CS/VS CHECK ROUTINE IF EeD OR SYNAD TAKEN, THEN TAKE BACKUP GUT OF SERVICE ENDIF ENDIF RETUPN TO C~lLER f·\ 'ure 3-88. DPPSCHPR 'SET A(PRIMARY CECB) AND A(fACKUP DECS.· INPUTS = (A(CCSCECB),A(PRIMARY [CBIJ OUTPUTS = S15 = A(PRIMARV DECB) OP ZERO SO = ACeA(KUP DECal OR MEANINGLESS OECBl IS PRIMARY SET PACKUP ADCRESS TO DECBZ ELSE IF DECB2 [S PRIMARY SET BACKUP ~DCRESS TO DECBI ELSE INDICATE NO PRIMARY CECf END IF ENDIF IF 01 01 02 01 02 01 3-90 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-89. DPPSCLUP 'DDS CLEA~ UP ~OUTINE' INPUTS: REGISTER CONTENTS o -~(TCeX) IF ENTERED F~CM DPPTPMON -A(TCS) IF ENTERED FROM PORJECTED OIS ETXR ~OUTINE 1 A(XCVT» 2-12 NCT EXAMINED, SAVED & RETU~NED 13 C~LlER'S SAVE AREA 14 CALLER'S RETUPN AOCRESS 15 THIS ROUTINES ENTRY PCINT FUNCTICN: CLEAN UP THE DDS FUNCT[ONS LEFT OUTSTANDING BY THIS TASK 01 01 02 01 01 01 01 Ot 02 02 01 01 01 01 GET lS'T TC BC STRTSRCH EXITIF ORELSE ENDlOCP ENDSRCH IF THIS TASK HAS A OOSLOCK, T~EN RELEASE T~E ODSLOCK ELSE IF THIS TASK SH~RES A DOS U~SHARE THAT CDS ENDIF ENOl F WHILE T~ERE ARE MeRE DDSOECBS T-CHAINED REMOVE THESE OOSOECBS FROM THEIR lOA CHAINS REMOVE THESE CDSOECS'S FRCM T~EIR T-CHAIN ENDOO WHILE T~ERE ARE MORE lOA'S FOR THIS TASK FROCESS TER~I~ATr(~ CF THESE lOA'S WHILE THERE ARE MORE RSRVD DCSDECBS FOR THIS IrA ~EMCVE THESE COSOECBS F~OM THE T-CHAIN CF THE CWNER TASK ENODO DrSCC~NECT'THIS ICA FRCM THE eTLA RESTORE USFR'S DCB TO PRE-ODSCPEN STATUS FRFE T~E CORE FOR THIS IDA ENDDO CLEAR THIS TASKS IC~ CHAIN CRIGIN 3-91 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-90. DPPSCL 1 CLOSE A DeS I INPUTS $1 - (A(UDCB)) SAVE INPUTS GET ACCRESS OF USERS DeB SEE IF THIS IS A DDS IF NOT /J CDS RESTORE REG1 ISSUE CLOSE SVC ELSE THIS IS A DDS GET A(DOSICA) IF PRIMARY DCB OPENED, THEN CleSE DCB1 I 01 01 01 01 02 01 01 02 01 01 01 01 01 01 ·01 01 01 02 02 02 01 01 3-92 ENDIF IF BACKUP DCB IS OPENED, THEN CLOSE CC82 ENDIF PREPARE STAlLS RESTORE RESOTRE RESTORE RESTORE STATUS TO RESTORE UOCB TO PRE/OPEN UDCB UCCS UDCB UDCB BUFCB WORD OFLAGS WORD CPTICN CODE WORD NGTE/POINT/CNTL WORD UNTIL All ODSOECBS ARE CfECKEC IF THIS CDSDECB RESERVD,THEN ENDIF ENDOO FREE UP ThE DOS lOA SPACE ENDIF RETURN TO CALLER LICENSED MATERIAL - PROPERTY OF IBM Figure 3-91 (1 of 2). DPPSCMPR • CCMPARE FOR DeS' - TO INVCKE THE IEBCCMPR MODULE TO PERFORM A CC~PARE (~ A COS INPLTS - $1 POINTS TO A(eTlA), A(DDNAME1), A(ODNAMEZ. OUTPUTS - MESSAGES INDICATING C(MPARE STATUS ROUTINES CALLEe - LINKS TO IEBCCMPR RETURN ceDE - NeT SET PRERECU(SITES - REQUIRES A COSCMPIN 00 CARC IN ThE JeL TO HOLe IEBCCMPR'S INPUT FUNCTIC~ MOVE T~E DC~AMES FR(~ THE INPUT OSECT TO FOR IEBCOMPR AND TO THE RDJFCB DeBS ESTABLISH T~E AOCRESSES Fap IN THE ROJFCR DCBS T~E T~E OOhAME LIST EXIT LIST AND JFCB AREAS READ THE JFCBS IF 01 01 THE RETURN CODE IS NZERO, EXIT WITH THE 'UNABlE TO ACCESS OATASETS' ENDIF E~ROR MESSAGE: MOVE T~E DSCRG (PS CR PO) Te T~E TYPORG ceNTROl CARD FOR IEBCOMPR, OPEN ODSCMPINt PUT THE CONTPOl (~PO RECORD, AND CLOSE AND FREEPOOL DOSCMPIN NOTE: IF T~E TYPCRG'S ARE NCT E'UAL EXIT hlTH THE ERROR MESSAGE: 'CATA SETS NCT THE SAME TYPE' IF THE DDSCMPIN DCB CANNOT BE CPENED EXIT WITH THE ERROR MESSAGE: • NO DDSCMPIN DC CARD' If BPA~ 01 SET TVPORG TO PO ELSE 01 SET TYPEORG TO PS ENDIF IF DSORGS NOT EQUAL 01 EXTT ~ITH ERROR MESSAGE ENDIf IF NO DDSCMPIN 00 CARD 01 EXIT ~ITH E~POR M~SSAGE ENDIF 3-93 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-91 (2 of 2). DPPSCMPR OUTPUT MESSAGE: 'ODS COMPARE IN PROGRESS' LOCK THE CDS LINK TO THE IEBCG~P~ MODULE SAVE THE RETURN CeDE AND UNLOCK TNE DOS EXAMINE THE IEBCC~PR RETURN CODE AND EXIT WITH THE APPROPRIATE MESSAGE: RC=O - 'CCMPA~E ENDED OATASETS EQUAL' RC NE 0 - 'CCMPARE ENDED - [ATASETS NOT E~UAL' *: T~E ceNCODE IS ZERO, THEN PRINT CCMPARE EQUAL MSSGE ELSE IF *: IF ceNCODE GREATER THAN 8, THEN PRINT STAT~S UKNOWN ELSE PRINT UNEQUAL MESSAGE IF 01 01 02 01 02 01 ENOIF ENDIF 3-94 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-92. DPPSCP28 • COpy A ODS PRIMARY TO BACKUP' INPUTS = 'FRCM' START, 'FRCM' STOP, 'TO' START. A(OPENED INPUT DCBI, A(CPENEO OUTPUT OCB),A(DDNAME») GET A BUfFER LARGE ENOUGH TO HOLD A CCMPlETE TRACK, 13600 BlTES GET T~E 1ST FROM & TO TRACKS STRTSRC~ 01 01 T~ERE ARE ~( MORE TKS COpy TRACK TO TRACK: TO DCB, A(BUFFER) PARMS = fROM CCHH, FROM OC8, TO CCHH, 01 01 01 EXIT IF COpy WAS UNSUCCESfUL 01 EXITIF COpy WAS NOT SUCCESSFUL QRElSE 01 GET NEXT FRCM & TO TRACK 01 ENOLOCP 01 SET T~E RETURN eOCE TO ZE~O 01 ENDSRCH FREE THE TRACK BUFfER RETURN TO CALLER BGNSEG !14 HAS CCHH TO BE I~CREMENTED 01 IF NEED TO GO TO ~EXT CYLINDER 02 GO TO NEXT CYLINDER 01 ENotF ENOSrG BMPTRK $14 rAS INCREMENTED CCHH 3-95 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-93. DPPSCRBK 01 01 01 01 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 03 02 01 01 01 01 02 02 02 02 02 02 01 01 02 'CREATE A DOS BACKUP' INPUTS = (A(CTlA)) IF BACKUP IS CUT-OF-SERVICE. UPDATE THE BACKUP OSCB SET A(ARJFCBJ IN PRIMARY rCB SET A(JFCB) IN ARJFCB SET A(JFCB) IN CAMllST AS OSNAME SET A(VOl SER NO WITHIN JFCB) IN CAMLIST SET A(OSCB) IN CA~LIST MOVE IN PRIMARY OONAME MOVE IN eACKUP CCNAME READ THE JFCA IF JFCB READ IN O. K. GET THE PRI~ARY OSCB MOVE IN DSORG MOVE IN RECFM ~CVE IN CPTCD MOVE IN KEYLEN MCVE (N elOCK SIZE MOVE IN RECORD LENGTH OPEN AND CleSE FOR OUTPUT T~E BACKUP Dce SO AS TO UPDATE THE osee IF SET MACRF TO WI ENDIF ENDIF CALL OPPSCP2B TO CCPY PRIMARY TO BACKUP IF THIS DOS [S ~CT OPEN, CR IF IT IS NOT OUTPUT, THEN GET THE ADDRESS OF THE VOLID OF PRIMARY IN $9 MOVE lHE CCHHR OF THE PRIM'RY osee TO THIS PROGRAM'S WORK AREA 01 02 03 03 04 04 05 04 03 CAll DPPSCSC8 TO UPDATE THE BACKUP OSCB TO HAVE THE CURRENT TTRLl I" OSlLST~R (LAST RECORD PC1NTER AND NO. BYTES LEFT ON THIS TRACK) END IF IF COpy FAILED, THEN SET RETURN ceDE AS SUCH ELSE IF THERE IS AN ICA, THEN C~Ll OPPSGPCl TO ASYNCHRONOUSLY OPEN THE BACKUP DCB IF OCR NCT OPENED FOR INPUT, CALL OPPSRCIC TO RECREATE T~E 1/0 ON THE BACKUP IF 8PAM DATASET SET eACKUP DCB1S ~E~8ER TTR TO PRIMARY'S ENDIF E~DIF 02 01 ENDIF END IF ELSE 01 UNABLE TO ENDIF 3-96 CC~PlY, PRINT B~CKUP IS IN-SERVICE LICENSED MATERIAL - PROPERTY OF IBM Figure 3-94 (1 of 4). DPPSCT2T , Cnpy TRACK TO TRACK ' INPUTS= 'FRCM' CC ...... , 'TO' CCHH, INPUT CCBIOPENEO), OCTPUT OCB(OPENEO), A(BUFfEP) TO HOLD TRACK 01 THE fIELDS IN T~E 'FRCM' 108 * CC~PLETE * SET CATA ADDRESS IN EACH CCW OF THE CHANNEL PROGRAM ****** **** UNTIL THE LAST CCw IS SET SET ACDRESS IN CCW ENCDO *** ••• THE ECa * CLE~R *• READ INTO CORE THE COUNT FIELDS FOR All RECORDS (EXECUTE 'FROM' IDe CHANNEL PROGRAM) * * WAtT ON THE ECB **.*.* SEE IF THE CHANNEL PROGRAM TERMINATED WITH 'RECORD NOT FOUND' * IF COMPlET{CN CODE IS UNSUCCES IF SENSE BYTES INDICATE RNF . If UNIT CHECK IN CSW SEE IF RECORD 0 WAS READ IN; IE; IS 1S T CCW COMPLETE 01 01 * 01 IF RECORD ~O W~S READ I~T( CORE 01 02 02 02 02 02 * * • TURN OFF CCMMAND CMAINING FLAG FOR CCW PRIOR TO fAILING CCW C~ANGE ALL CHAINED READ COUNT COMMANDS TO READ CCUNT, KEY, & tATA COMMANDS 02 02 02 * 02 CALCULATE FOR ALL CHAINED READ COUNT ((hS T~E COLNT VALUES AND CATA ADtRESS VALUES FROM THE CORRESPONDING COUNT FIELDS READ INTO (ORE. 02 02 02 02 03 03 03 03 02 WHilE Tt-E CCW IS CHAINED SET NEW CO~~AND CODE & DATA ACORESS CALCULATE NEW DATA AOtRESS FOR NEXT tCW SET COUNT FOR THIS CCW GET NEXT CCW E"ODO 3-97 LICENSED MATERIAL - PROPERTY OF IBM =igure 3-94 (2 of 4). DPPSCT2T 02 02 02 02 02 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 02 03 03 03 03 04 STRTSRCH NEXT CCW ISN'T CHAINED * CLEAR THE EeB • REBUILD THE lOB *• READ IN ALL CATA FROM TRACK UP TO EOD; IE; EXECUTE CHANNEL PROGRAM * WAIT ON THE EeB *• SEE IF CHA~NEl P~OGRAM TERMINATED WITH EOD. IF NOT, EXIT THE SEARCH EXITIF NOT UNIT EXCEPTICN IF NOT PERMANENT ERROR GET CURRE~T CCW ADDRESS IF NOT EOD - POSITIVE DATA LENGTH SEE IF * 04 IF NCT, 04 03 04 E~ROR CHA~NEl PRCGRAM COMPLETED SUCCESSFULLY EXIT O~ELSE 04 04 04 04 * CHANNEL PROGRAM ENDED CN AN EOD * SET ADCRESS OF NEXT CCW IN DATA FIELD OF 2ND TIC CC * SET AotRESS OF CGUNT DATA IN DATA FIELD OF SEARCH I * RESET START POINTER FOR 108 REBUILC TO SEARCH 10 CC 04 04 04 04 04 04 04 SEE IF NEXT CCW IS CHAINED :)4 04 03 Ef\DlOCP fNDSRCH J3 03 la98 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-94 (3 of 4). DPPSCT2T 03 03 03 03 03 03 03 03 03 04 04 04 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 04 04 04 03 04 04 04 03 03 03 03 03 • COMPLETE TRACK SHOULD NeW BE IN BUFFER CHANGE ALL CHAINED READ COUNT, KEY, & DATA CCWS TO ~RITE COU~T, KEY, £ CATA, • AND SET THE 'TO' ACDRESS IN THE CYLINDER ADDRESS OF * EACH SUCH CCW. THIS CCW IS CHAINED SET THE CCM~~ND CODE TO WRITE CK&CATA MOVE IN 'TO' CYLINDER ACDRESS GET r.,EXT CCW Er.,OCO ~HILE T~E CYLINDER ADDRESS OF RO C(UNT AREA TO THE 'TO' ADDRESS C~ANGE * COMPLETE THE lOB FOR THE WRITE EXCP SET UP THE WRITE CHA~NEL PROGPAM AS FOLLOWS: (1) SEARCH 10 EQUAL O~ THE COUNT FIELD OF RO. IF NO CArA IS TO BE WRITTEN EXCEPT FOR RO, THEN SKIP TO (4) (2) WHEN FOUND, TIC Te T~E 1ST WRITE COUNT, KEY, & DATA CCW, WHICH (S ALREADY CHAINED TO ThE NECESSARY STRING OF SUC~ CCWS. (3) C~AIN T~E LAST CHAINED WRITE CGU~T, KEY, & tAT A CCW TO SEARCH 10 EQUAL ON THE COUNT FIELD (1.1) Of RO. (4) W~EN THE SEARCH IS SATISFIED, TIC TO THE LAST CCW, WHICH S~CUlD BE ~ WRITE CATA FOR RC. IF AT LEAST CNE NGN-RO D~TA RECORD IS Te BE WRITTEN, ThEN SET UP 2ND SEARCH 10 GN RO ELSE GET ACWRITE RO) TO BE BUILT SET THAT ADDRESS AS TIC ADDRESS AFTER SEARCH (D ON ~O IF GOOD E~DIF • CLEAR TrE ECB 3-99 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-94 (4 of 4). DPPSCT2T 03 03 • WRITE OUT THE TRACK; IE; EXECUTE THE CHANNEL PROGRAM * WAIT eN THE ECB * * SEE * IERC THE RETURN CODE 03 03 03 03 03 03 03 03 03 03 03 02 03 02 01 02 02 01 01 IF T~E C~ANNEL PROGRAM CCMPLETED SUCCESSFULLY IF NOT, ERROR EXIT ELSE UNABLE TO READ RECCRD 0 - SET RETURN CODE TO 12 ENCIF ELSE UNABLE TO READ THE COUNT FIELDS - SET RETURN ·CODE * ENDIF RETURN TO CALLER 3-100 =8 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-95. DPPSDDSX 01 01 01 02 01 01 01 'SEARCH FOR AN leA FROM A GIVEN UCCS' INPUTS =(A(UDCB» GET ST~RT & STOP OF CTLAS STRTSRCH WHILE THERE ARE STILL ODSCTlAS, DO EXITIF IF CORRESPONDING lOA FOUND ORElSE GET NEXT CTLA ENOlCOP ENCSRCH RETURN TO CALLER 3-101 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-96. DPPSINIT 01 01 02 01 01 01 01 01 02 01 01 01 'INITIALIZE THE DOS SYSTEM' ADDRESS OF XCVT FILL CUT TEMPORARY DR 846 * CTLA ~ITH DR 846 * DCNAMES AS PER CTlIN STREAM (F UNABLE TO OPEN DR 846 • DDSTATUSt OR DR 846 * SET FLAG FOR NOSTAT MESSAGE IF *: ThERE ARE NO CEClARATIONS SET END = START ELSE IF ERROR IN CTlIN STREAM ABEND WITH CODE = 80 ENDIF DETERMINE THAT EACH DDS OECLARAT[CN IS COAREeT WRT JCl IF BAC DDS DECLARATION ABENO WIT~ CODE = 80 ENDIF ENOIF ALLOCATE DCSCTLA t MOVE TEMPORARY eTLA INTO IT. SET T~E ooseTLA AOO~ESS IN THE SCVT IF ERRO~ IN DOSCTlA ALlOCATICN ABEND WITH CODE = 80 ENDIF CALCULATE MAX BLKSlE DR 846 * SET ~AX BlOCKSIZE IN DDSCTl~D FOR WRST IF THIS (S READONlY DR 846 * MODE, T~EN OR 846 • 01 01 CR 846 • TURN eN READCNlY BIT DR 846 ELSE DR 846 * 01 CAll TO WRITE DDSTATUS END IF DR 846 • IF NOSTAT MESSAGE REQUIRfD, THEN 01 OUTPUT THE ~ESSAGE ENDIF RETURN TO CALLER 3-102 * LICENSED MATERIAL - PROPERTY OF IBM Figure 3-97 (1 of 2). DPPSINI2 01 01 01 01 01 01 01 01 01 01 01 02 02 02 02 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 04 03 02 03 02 01 02 03 03 02 01 'PROCESS THE (TLIN STREAM' INPUTS = (A(CTLA),MAXDDS) OPEN T~E INPUT STREAM IF *: INPUT STREAM SUPPLIED, GET LENGT~ OF EACH CTLA OR 846 • MULTIPLY BV ~AX NC. CTLA'S TO GET DR 846 • MAX BlOCKSIZE FOR DDSTATUS DR 846 * SET IN DDSTATUS DCB OP 846 • GET THE 1ST CARD DR 846 * GET 1ST PARM DR 846 • SET READONLY FLAG ON OR E46 • IF ',OR READONLY WAS DR 846 * SELECTED, OR OR 846 * SET REAOONlV BIT CFF IF REFRESH ~AS, DR 846 • SELECTED, THEN DR 846 • SET UP THE CaSCIlA'S AS PER DDSTATUS CATASET OPEN DDSTATUS DR 846 * If CDSTATUS OPE~ED OR 846 • CK, T~EN DR 846 * CHECK T~E REAC DR 846 • GET ADDRESS OF lOB DR 846 • GET MAX BLOCK SIZE DR 846 • SUBTRACT BYTES NOT READ TO OR 846 • GET ACTUAL ODSTATUS RECORD OR 846 * LENGTH OR E46 • SET ADDRESS OF END OF. DDSCTLA'S DR 846 * CLOSE DDSTATUS DR 846 • CLOSE T~E INPUT STREA~ OR 846 • INDICATE NOR~Al RETURN CDCE DR 846 • SET RETURN REG 1 TO ADDRESS OF CR 846 * END OF CTlA'S DR 846 * INDICATE REfRESH IN RETREG 0 OR 846 * IF REAOCNlY SPECIFIEC,T~EN DR 846 • INDICATE READCNLY IN RETREG 0 DR 846 ENDIF DR 846 • ELSE OR 846 * INDICATE UNABLE TO OPEN OCSTATUS DR 846 • ENOIF OR 846 DR 846 • * * ELSE DR 846 * UNTil *: ~AXIMU~ CHECKED PROCESS THIS CARD tET NEXT SLOT IN eTLA ENODO ENDIF 3-103 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-97 (2 of 2). DPPSINI2 01 02 02 02 01 01 01 01 01 BGNSEG ClCSE THE INPUT STREA~ ACCRESS OF END OF CTlA INDICATE STANCARD START MODE DR 84~ * ENDSEG CARDEOD ELSE RETURN WITH CCNCCDE = 4 END IF RETURN TO CALLER BGNSfG DR 846 * THIS SEGMENT RETU~NS THE PROPER RETURN CODE O~ SYNAD OR EOD DR 846 OFF ODSTATUS READ DR 846 CLOSE DOSTATUS ENDSfG SVNEOD DR 846 * Figure 3-98. DPPSINI3 01 01 01 01 01 01 Ol 'VALICATE EAC~ COS DECLARATION WRT Jel' INPUTS = (A(CTlA),A{CTLAENO) SET T~E ADDRESSES FOR READ JfCBS WHILE THERE ARE MO~E eTLA'S MOVE IN DDNAMEl MOVE IN OC~AME2 R EAC THE JFCB S FeR EACH DCB ERROR IF NC CO CARD INSEPT OTHER JFCB VALIDITY C~ECKS HERE CLEAR THE JFCBS GET NEXT eTLA ENTRY ENDDO DOS OECLARATICNS PASS VAL C~ECK RETURN TO CALLER 3-104 * * LICENSED MATERIAL - PROPERTY OF IBM Figure 3-99. DPPSINI4 'AlLOCATF AND INITIALIZE PE~MANENT CDSCTlA' GET ACCRESS OF seVT CALCULATE LE~GTH CF CTLA SET LENGTH OF DCSCTl FOR GETMAIN ALLOCATE COSCTLA SPACE SAVE CDSCTLA START ADDRESS CLEAR CCSCTLHD IN ITS ENTIRETY GET ACC~ESS OF 1ST ENTRY IN ODSCTL ADDRESS OF END OF ooseTlA STORE THESE TWO ADDRESSES IN DDSCTlA MDR LOAD 1/0 ROUTINES & SAVE TrEIR ADDRESSES GET ADDRESS OF OPPSNTPT GET ODS NOTE ~CUTINE SAVE ADDRESS IN NTPT GET POINT/FINCCTVPE C) ROUTINE SAVE ADDRESS IN NTPT GET DOS SHARE ROUTINE SAVE ADDRESS IN CTL~D GET DOS UNSHARE RCUTINE SAVE ADDRESS IN CTL~D GET DOS LOCK ~OUTINE SAVE AOCRESS IN CTlHO GET DDS UNLOCK ~CUTINE SAVE ACCRESS IN CTl~D ADORE SS OF ODSeTLA IN SCVT RESET START eTlA ADDRESS IF 01 01 ANY DeS' WERE DECLARED, THEN MOVE eTLA INTO DDSCTLA ENOIF RETURN TO CALLER 3-105 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-100. DPPSINI5 'DEFORM~T T~E CTLIN CARD' INPUTS=(A(C~ROt~A(E~O)tA(CTlA)1 01 01 01 01 02 02 01 01 01 CLEAR THE DDNAMES ZERO REMAINDER OF CTLA ENTRY FIND 1ST NON-8lA~K CHARACTE~ IF *: A USER DONAME WAS ENTERED GET T~E USE~S DCNAME MOVE IN USER'S DO~AME FIND NEXT NCN-BlA~K CHARACTER ENDIF START OF DOS PAIR ~AMES GET NEXT NON-BLA~K CHARACTER GET T~E 1ST DO~AME MOVE IT TO, THE CTlA IF ',THEN MCVE IT TO UOON ALSO ENOIF GET 2 NO DDNAM,E If BACKUP IS OUT-OF-SERVICE If ',THEN THE REQUEST IS FORMATTED WRCNG, T~EN ERROR EXIT ENOlf SET BACKUP OUT-Of-SERVICE FLAG ON ELSE ERROR EXIT IF NCT FORMATTED CORRECTLY ENOIF BGNS EG 01 SET RETURN REG TO ADDRESS Of NEXT DEllMETER ENOSEG FINOP Figure 3-101. DPPSINI6 'OEfI~E LOCKS FOR E~CH INPUTS 01 = CTLA' A(CTlHO),A(XCVTJ WHILE THERE ARE MeRE CTLAS DEFINE A LOCK FOR THIS DOS & CLEAR THE ENDDO 3-106 lOCK/S~AR WORDS LICENSED MATERIAL - PROPERTY OF IBM Figure 3-102. DPPSLOCK • LCCK A CDS • GET ACORESS OF,eTLA GET ACtRESS OF ECB CLEAR THIS lECB WHILE THERE ARE MORE lECBS BGNWHllE 01 GET ~EXT LECB ENDDD PUT T~IS LEce IN CrAIN IF THERE ARE SECBS, OR IF THERE IS A PRIOR LOCK 01 WAIT ON THIS ECB ELSE 01 lET CALLER ~AVE ceNTROl NOW END IF Figure 3-103 (1 of 3). DPPSMSGI 01 ot 01 01 02 03 02 01 01 02 01 01 02 01 02 01 'OOS INPUT MESSAGE FROCESSOP' INPUTS = (A(XCVT),A(RESTBL),AIPPCBLa) PReSL = (CLG"IO),(L,AI1ST-FAPM», ••• ,(l,A(lAST-PARM»)) IF THERE IS A PARM 1, THEN MOVE IN THE 1ST P~RM END IF IF OSNA~E CODED, T~EN SKIP eVER KEYWORD ENDIF IF THIS DOS NOT DECLARED, THEN E~ROR MESSAGE ELSE IF A 2ND PARM WAS ENTERED IF A 2ND PARM, THEN MCVE IN THE 2~D PARM END IF ENOIF IF ',THEN NC PAR~2 ENTERED DEFAULT TO STATUS ENDIF IF RE~UEST NCT UNDERSTCOO, THEN ERROR MESSAGE - REQUEST NOT UNDERSTOOD ELSE PROCESS THE REQUEST ENOIF ENOtF BGNSEG 3-107 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-103 (2 of 3). DPPSMSGI 01 Ot 01 02 01 02 03 03 03 02 03 04 03 04 03 02 01 01 02 02 01 02 01 01 02 02 01 01 02 02 02 02 03 02 03 TAKE THE BACKUP OUT-OF-SERVICE ENOSEG lAKE BGNSEG ATTE~PT TO CREATE T~E BACKUP IF T~IS IS REACCNlV MODE OLTPUT NO COpy MESSAGE AND RETURN ELSE IF THE CREATE wAS SUCCESSFUL, THEN PRINT MESSAGE INDICATING SUCCESSFUL CREATE UPDATE DDSTATUS RECORD ELSE IF BACKUP IN SRVICE,T~EN PRINT MESSAGE INDICATING BACKUP ALREADY IN-SERVICE ELSE PRINT MESSAGE INDICATING BAC CREATE E"DIF ENDIF END IF ENDSEG CREATE BGNSEG IF T~E BACKUP [S IN SERVICE, THEN PRINT A MESSAGE FOR eOT~ CATA SETS ELSE PRINT A ~ESSAGE FOR PRIMARY OATASET- eACKUP=OUT-OF-SERVICE ENDIF ENOSEG STATLS BGNSEG IF T~E BACKUP IS NCT IN SERVICE, T~EN PRINT A ~ESSAGE INDICATING SWITCH NOT PCSSIBlE ENDIF ENDSEG SWITCH BGNSEG IF NO OPENED DCSCCB'S SEE IF A THIRD DO NAME kAS SPECIFIED STRTSRCH T~REE BlA~KS ENCOUNTERED EXITIF NC REPLACEMENT SPECIFIED ORElSE C~ECK NEXT PARM 04 04 03 3-108 E~DLOCP IF THE REPLACEMENT OONAHE EXCEEDS 8 CHARACTERS, THEN LIMIT ~EPlACEMENT OCNAME SIZE TO 8 CHARACTERS ENDIF LICENSED MATERIAL - PROPERTY OF IBM Figure 3-103 (3 of 3). DPPSMSGI 03 02 02 02 01 Q2 02 01 01 02 02 01 01 02 02 03 02 02 03 03 04 03 02 01 01 M(VE IN REPLACEMENT OCNAME ENDSRCH SET T~E NEW OCNAMES IN THE CTLA UPD~TE CCSTATUS RECORD EL SE PRINT A MESSAGE INDICATING REPLACE REQUEST IS PRECLUDED BY AN OPEN Dosecs FND IF ENOSEG REPl ACE BGNSEG IF A P~RAMETER CAN EXIST, THEN SEARCH fOR A BLANK, WHICH GETS THE PARAMETER END IF ENDSEG FINDP BGNSEG IF ANOTHER PARftI ENTERED IF THIS PARM IS NOT NULL, AND IF ',THEN 1ST CHARACTER NOT A BLANK MCVE IN USER SPECIFIED DOl ENDIF IF ANCTHER PARM ENTERED (F PARM IS NOT NULL IF ',THE~ 1ST CHARACTER NOT A BLANK MOVE IN USER SPECIFIED 002 ENOIF ENDlf ENDIF LtNK TO CC~PARE ROUTINE ENDSEG CCMP~RE Figure 3-104. DPPSMSGO 'DOS MESSAGE OUTPUT PROCESSCR' INPUTS : (IC,~{PAR~l), ••• ,A(lAST PARM)I (F 01 01 MAX=5 t THE OUT MESSAGE PROCESSOR IS INITIALllEC, THEN ISSUE THE APPROPRIATE MESSAGE MACRO ENDIF 3-109 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-'105. DPPSNOTE NOTE ON A CDS • INPUTS $1 = A(UDCB) SAVE $1 GET A[CRESS Cf IDA ISSUE NCTE CN PRIM~RY DeB 'PERFC~~ Figure 3-106. DPPSNTPT • NOTE OR PCINT FOR ODS' CALL THE NOTE OR POINT ROUTINE FOR PROCESSING 3-110 LICENSED MATERIAL - PROPERTY OF IBM Figure 3·107. DPPSOPCL OPE~/ClCSE HALF nF A ODS' INPUTS = (A(IOA)) SAVE INPUTS GET ADDRESS CF lOB GET ACCRESS OF CVT GET ACCRESS OF CURRENT TCH GET ADDRESS OF CPENER TCR IF THIS IS CPENER TeB EXECUTE THE CPE~/CLCSE SVC FRCM lOA SET ZERO RETURN CCDE ELSE SAVE RESU~E PSW VALICATF THAT OPENER reB IS STILL DEFINED UNDER THIS JOB STEP GET JUA STEP rCB THIS ~ALICATICN ALGORITHM ASSUMES THAT THF JOB STEP TASK PRIORITY IS GE TO r~E ~IG~[sr PR[CRITY CF ALL CAUGHTER TASKS STRTSRC~ T~fRE IS A LOWER TCB EXITIF OPE~ER TCB FOUND IF rCB 1\40T IN SA,"1E JOR STEP SFT RTN Cr,OE AS BAC Ef\D IF ORELSE GET NEXT LCWER TCB ENOLDOP ENOSRCH IF OPENER Tce IS STILL VAllO GET ADDRESS OF ODS ASYNCHRCNYS UPEN/CLCSE RCUTING CREATE IRS FeR CLOSE SAVF THE IRS AOORESS GET ACDRESS OF WORK AREA (IOE) CLEAP T~F ICE PUT AOOQESS CF lOA IN ICE PUT ACDRESS rF IRB IN ICE PUT AOCRESS OF CPENER TeB IN IQE CLEAR T~E ~ECB CALL ST~CF2 EXIT EFFECTOR RESET ThF PS~ WAIT ON ASYNCb ECB SET IERC RETURN CODE ELSE RESFT r~f PSW SET PETU~N CODE FOR UNABLE TO CeMPlY ENDIF ENOIF t 01 01 01 01 01 01 01 Ot 01 01 01 02 03 02 01 02 01 01 01 O~ 02 02 02 02 02 02 O? 02 02 02 02 02 02 01 02 02 01 3-111 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-108. DPPSOP1 • CPEf\; A CoSCC8' INPLTS SEE A(CfEN PARt~ETfRS) = «((PTION BYTE1,Al3(USER'S DeB)) IF THIS IS A CECLARED DOS IF THIS 01 = IS PERFORM ~CT A .DE(lARfO COS CS/VS OPEN ST~NDARr 01 01 Ot 02 ELSE IF T~IS IS REACr.NlY MonE, AND OPEN FCR CUTPUT, T~EN REILPN TO USER ~ITHCUT tPEN ENO(F I~ 01 01 01 DDS LOCK THIS DDS J1 01 IF 02 T~IS (TLA CONNfCTEO ~AS NCT YET BEEN O~ CALL rp2 TO 02 C(~PlETE THE CUAl OPEN 02 07 A(CFTIC~ 02 01 01 fNOIF 01 ODS UNlCCK 01 01 ENDIF 3-112 tJYTE),~(USER'S T~IS Des DCB),A(CTlA),A(CTLHO) LICENSED MATERIAL - PROPERTY OF IBM Figure 3-109 (1 of 2). DPPSOP2 'OPEN A OEClAREC DeS' INPUTS GET 01 T~E = A«(PT[CN ~AIN 01 01 01 01 CCRE FeR THE leA TO BE BUILT IF NCP SHCULB BE 1 SET NCP VALUE TO 1 ENDIF INITIALIZE 01 01 BYTE), A(USER'S OCBI, A(CTLAa, A(CTlHOJ T~E DDSICA UNTIL THE ENTIRE AREA [S CLEARED CLEAR THE NEXT 256 BYTE PORTION ENDOO IF STILL MORE BYTES TO CLEAR CLEAR THOSE BYTES ENOIF IF THIS IS A BPAM OS, OR IF THIS I S A BSAM OS, AND IF THIS IS NCT CRE~TE BCAM, FORCE T~E PCI~T CPT ION ENDIF UNTIL ALL ODSOECBS ~RE CONNECTED CONNECT THIS COSOECB GET NEXT DOSOECB ENDDO CONNECT THE eTLA WITH THE IDA ATTEMPT TO OPEN PRIMARY CCB IF DCBl OPE ~ED OK 01 01 02 IF BACKUP IS IN SERVICE ATTEMPT TO OPE~ BACKUP DCB 02 02 02 IF DCB2 FAILED TO OPEN 02 3-113 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-109 (2 of 2). DPPSOP2 03 03 03 TAKE BACKUP CUT-OF-SE~VICE ENOIF ENDIF 02 01 01 ELSE 01 01 01 OCBl FAILED TC (PEN ERROR If BACKUP OUT-Of-SERVICE *: 01 01 01 SWITCH PRIMARY WITH BACKUP & TAKE BACKUP QUT-Of-SERVICE 01 01 01 01 01 01 01 ATTEMPT TO OPEN PRIMARY DCB ERROR IF ece FAILED TO OPEN ENDIF *: ceNNECT USER'S FREE T~E ece kITH THIS OOSIOA lOA CORE DISCONNECT THE CTLA FRCM THE lOA 3-114 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-110. DPPSPNTF 01 01 02 01 01 01 02 01 , PERFORM POINT/FINC(TYPE C) eN A ODS' INPLTS: $1= AleCB) so = A(LIST) t $13 SAVE PARAMO SAVE PARAM1 GET CALLER'S SAVE AREA GET REUTRN ADDRESS POINT TO PREVIOUS I~STRUCTICN GET ADDPESS OF lOA IF POINT REQUESTED PCINT FOR P~IM~RY DCB IF BACKUP IN SERVICE POINT FeR BACKUP DCB ENDIF ELSE TYPE C FIND RECUESTEC FIND FOR THE PPIM~RY If BACKUP IN SERVICE FIND fOR ThE BACKUP ENDIF ENDIF = A(SAVE AREA) Figure 3-111. DPPSRCIO 'RECREATE I/O FeR A DDS HALF' INPUTS = ~(CTlA), A(IDA), A(fROM-DCS), AITO-DCB) GET ADDRESS OF 1ST UNChECKED OOSOECB If THERf IS AT LEAST ONE UNCHECKED 01 DOSOfCB, THEN 01 IF OSORG IS BSAM CR BPA~t ThEN 02 GET THE PRIMARY OECB 02 02 POINT 'TO-DCB' TC TTR Of 'FROM-DCS'S' 1ST UNCHECKED DECS'S lOS'S 02 SEEK ADDRESS 02 01 ENDIF 01 wHILE THEPE ARE MORE OOSOECBS 01" BGNWHllE 02 PREPARE TO-CECB NAlF FOR I/O AND CALL CS/VS REAblWRITE 02 GET THE NEXT UNCHECKED [DSCECS, IF ANY 01 ENDea ELSE 01 IF CSORG IS BSA~ CR BPAM. T~EN 02 POINT THE RECRE~TEO DATASET AS PER OLD DCB'S DISK ADDRESS 01 ENDIF ENCIF BGNS EG 01 CAll THE OS ROUT(~E TO CCNVERT MBBCCHRR TO TTR ENOSEG CNVRT 3-115 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-112. DPPSRDWT , RF~C/~RITE INPUTS GET T~E = MODULE FOR DOS' A(USER'S CECS) ACDRESSES OF THE USER'S DCB, T~E leA, AND THE elLA. A(CCSCTl"O) IF THIS rs REAO(NLY, THEN IF THIS (S BOA~t THEN IF THIS IS A WRITE, THEN RETURN TO USER WITHOUT DCING WRITE ENDIF ELSE T~IS IS BSAM/BPAM IF TH IS IS A WR ITE, THEN RETURN TO USER WITHOUT DOING WRITE GET 01 02 03 02 01 02 02 03 02 01 END IF ENDIF ENDIF DOS SHARE T .. e ODS RESERVE AN AVAILABLE OOSDEce - EXIT IF NONE AVAILABLE IF A ces hAS RESERVED, THEN CALL RDW2 FOR ACTUAL READ/WRITE 01 01 01 ELSE SET CODE FCR NO DOSOECBS ENDIF DDS 3-116 UNS~ARE THIS ODS LICENSED MATERIAL - PROPERTY OF IBM Figure 3-113. DPPSRDW2 'ACTUAL READ/WRITE FOR A DDS' INPUTS: (A(COSOECB), AeIOA), A(CTlA), ACUSER'S DECB») P~EPARE DCSCECBl FGR 110 BRANCH TO OS/VS REAC/WRITE ~aUTINE IF NOT GPENED FOR INPUT, ANC IF BACKUP IS Ih-SERVICE 01 PREPARE DCSCECB2 FOR 1/0 01 01 01 02 01 IF CPENO FOR UPCATE, AND IF T~IS IS A WRITE, THEN GET A(BACKUF ICBl FROM USER'S OEca ENOIF 01 01 eRANCH TO OS/VS READ/WRITE ~CUTINE 01 01 ENOIF Figure 3-114. DPPSRLSE 'RflEASE INPUTS = DE-CHAIN DE-CHAIN A COSDECB' (A(IOA),A(ODSDECB)) THIS OCSDECB FRCM ITS TCBX-ODS-C~AIN THIS OOSOECB FROM ITS OOSIOA CHAIN 3-117 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-115. DPPSRSRV 01 01 01 01 'RESERVE A CDSOECS' INPUTS = (A(IOA),A(CTLAJJ RESERVE AN AVAILABLE ODSOeCB STRTSRCH ALL CDSDECBS HAVE BEEN CHECKED EXITIF tHIS aoSOECB IS AVAILABLE CHAIN THIS CDSDECB TO ITS IDA AND ITS TCB-DoS-CHAIN ORELSE GET NEXT DOSDECS ENDLOCP INDICATE NO OOSDECB AVAILABLE ENDSRCH Figure 3-116 (1 of 2). DPPSRSTR 01 01 01 01 01 01 01 GET AIXCVT) GET AISCVT) GET A(OOSeT lHO I IF THIS IS READCNlY MODE, AhO IF THIS IS WRITE RESTART, THEN RETURN TO T~E USER END.IF TURN CFF REAC C~LY BIT CALL DPPSTKCK TO C~ECK TASKS FOR DOS VIOlATICNS GET A(DCSCTlA'S) SET MAX DDSTATUS BLCCKSIlE OPEN DDSTATUS fOR INPUT If OPEN FAILED, T~E~ OUTPUT N( OPENCINPUT) MESSAGE SET RETURN CODE Te 8 AND ~ETURN TO CALLER CLOSE DDSTATUS OUTPUT SYNAD ON RSTR CLOSE DCSTATUS UTPUT EotAD eN RSTR ENDlf RfAO T~E OOSTATUS RECORD AND CHECK THE RE~D CALCULATE THE DoSTATUS RECORD LENGTH GET A(IOB) GET RESIDUAL COUNT GET ~AX BlCCKSIZE GET ACTUAL ~C. BYTES READ CALCULATE A(END OF ODSTATUS RECORDa CLOSE DDSTATlJS WHILE T~IS IS NCT END OF IN-CORE eTlA 3-118 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-116 (2 of 2). DPPSRSTR 01 01 02 02 02 02 03 03 03 02 03 02 02 01 02 01 01 01 01 SEARCr ThROUGH ODSTATUS RECORD fOR THIS ENTRY. IF THIS eTlA IS I~ ODSTA1US UPC~TE INCORE DOSCTLA MeVE IN PRIMARY DDNAME MOVE IN BACKUP OONAME IF DOSTATUS BACKUP IS IN-SERVICE, THEN SET BACKUP OUT-Of-SERVICE fLAG ON IN IN-CORE CDsellA ELSE SET BACKUP GUT-Of-SERVICE FLAG OFF ENOlf UPO~TE IN-CORE USED CCUNTER ELSE UPCATE IN-CORE fLAG COUNTER END IF GET NEXT INCORE DoseTLA ENDOO IF MISSING OOSTATUS DDSNAME OUTPUT 'SMALLER' MESSAGE ENOl f CALCULATE N OOS~AMES IN OOSTATUS IF MISSING DDSNAMES IN CORE 01 OUTPUT 'LARGER' 01 MESSAGE ENDIF OUTPUT • RES TART COMPLETEO' MESSAGE CALL DPPSWRST TO WRITE THE NEW OOSTATlJS RECORD FIGURE 3-116.1. DPPSRTCP DPPSRTCP - REALTIME COpy 01 READ THE PRIMARY JFCB 01 IF JFCB READ WAS SUCCESSFUL 02 OBTAIN THE PRIMARY DSCB 02 OPEN PRIMARY DCB 02 OPEN SECONDARY DCB 02 CALL DPPSCP2B TO COpy PRIMARY TO BACKUP 02 CALL DPPSDSCB TO UPDATE THIS BACKUP DSCB 02 CLOSE PRIMARY DCB 02 CLOSE SECONDARY DCB 01 ENDIF 01 IF ERROR OCCURRED 02 SET RETURN CODE 02 ISSUE ERROR MESSAGE 01 ELSE 02 ISSUE COPY COMPLETED MESSAGE 01 ENDIF 3-119 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-117. DPPSSHAR 01 02 01 01 01 01 01 01 'SHARE A DDS' GET ACCRESS OF CTLA GET ACCRESS OF ECB CLFAR THIS SECA IF THIS DDS IS LOCKED OUT WHILE THE~E ARE MeRE SECBS GET NEXT SEes ENOOO ADO THE SEea TO T~E CHAIN WAIT eN T~IS ECB ELSE GET S~ARE COUNTER INCREASE IT BY 1 PUT BACK I~ SHARE COUNTER ENDIF Figure 3-118. DPPSSRCH 'SEARCH A FIXED LENGTH TABLE FOR AN ENTRY W~OSE X MATCHES THAT Of AN ARGUMENT',PSECT=NO STRTSRCH WHIL f THE RE ,6 REM 0 RE ENT RIE SIN T~ ETA BLE EXITIF ENTRY fCUND. SET RETURN REGISTER TO CORRESPONDING ENTRIES ADDRESS ORElSE GET NEXT ENTRY IN THE TABLE ENDLOCP SET RETURN REGISTER TO ZERC~ INDICATES NO ENTRY FOUND ENOSRCH KEY 01 01 01 01 Figure 3-119. DPPSST1 STOW FOR A DOS' = Sl=A(UCCBt, $O=A(P~RAM), S13=AISAVE AREA) IF THIS IS TYPE-C, THE~ SET TYPE INDICATOR & RECC~PlIMENT BOTH INPUTS ELSE IF THIS IS TYPE-D. THEN SET TYPE INDICATOR & RECCMPlIMENT IN PARAM ELSE IF THIS IS TVPE-R. THEN SET TYPE INDICATOR & RECC~PLIMENT A(uteBt ENOIF ENOIF ENOlf CALL THE INTERNAL 8LOL, FIND, STOW ROUTINE t INP~TS 01 01 02 01 02 03 02 01 3-120 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-120. DPPSSWCH 01 02 03 03 03 03 02 02 01 01 01 at Ot 'SWITCH PRIMARY-TO-BACKUP FOR A ODS' INPUTS ~(A'CTlAI) IF BACKUP IS IN-SERVICE, THEN IF THERE IS AN lOA, THEN • I F THE CCSCCB WAS CPENED FOR INPUT, THEN RECREATE THE 1/0 ON THE BACKUP DCB ENOIF SWITCH ADDRESSES OF P~IM~RY & BACKUP [CBS IN THE lOA END IF S~ITC~ CDNAMES IN THE eTLA TAKE THE BACKUP CUT-Of-SERVICE SET RETURN CODE Te ZERO ELSE SET RETURN CODE TO 4 ENOlf Figure 3-121. DPPSTBOS 'TAKE A BACKUP GUT-Of-SERVICE' INPUTS = (A(CTlA)) SEE IF BACKUP IS ALREACY OUT-Of-SERVICE 01 01 01 01 01 01 ot 01 01 02 IF BACKUP IS OUT-OF-SERVICE SET RETURN CODE TO INDICATE BACKUP-ALREADY OUT-Of-SERVICE ELSE SET OUT-Of-SERVICE FLAG FOR BACKUP DCB SEE IF IF T~ERE T~ERE SEE IF IS A DOSIOA IS AN IDA eACKUP DCB IS OPEN 02 02 C3 IF BACKUP DCB IS OPEN ASYNCHRONOUSLY CLOSE THE BACKUP DeB 03 03 02 01 01 ENDIf ENOIF UPCATE COSTATUS RECORD ENOIF 3-121 liCENSED MATERIAL - PROPERTY OF IBM Figure 3-122. DPPSUNLK 01 01 01 01 01 02 02 02 01 01 01 01 • UNlCCK A ODS I GET ADDRESS Of CTLA IF CALLED F~OM ETXR. THEN GET A(eTlA) ENOlf GET CURRE~T lECS GET NEXT LECB STORE I~ eTlA IF THERE IS ANOTHER lEeS POST THAT LECB ELSE GET 1ST SEeB, IF ANY ZERO SHARE COUNTER WHILE THERE ARE MORE SEcas POST THAT SECS INCREMENT SHARE COUNTER GET, NEXT SECS, IF ANY ENODC SET S ECB WORD (W I TH ,SHARE COUNT ER) ENDIF IF DDS HeLD IS OfF, THEN SRTOS UNLOCK THAT DOS LOCK/SHARE CHAIN ENDIF IF CALLED FROM ETXR,THEN GET ~(TCBC) DIRECTLY ELSE 01 CALL OPPSAOOX TO GET A(TCBC) ENDIF 3-122 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-123. DPPSUNSH 01 01 01 01 01 01 'UNSHARE A ODS' GET ACtRESS OF CTLA IF CALLED FPOM ETXR, THEN GET ACCTLA) ENOIF GET SHARE crUNTER DECREMENT SHARE COUNTER BY 1 IF NO MORE SECaS IF LOCK IS WAITING SET LeeK FLAG ON POST THE WA 1'1 I NG LOCK ENDIF IF DDS ~OLO IS CFf, THEN SRTOS UNLOCK THAT DDS LOCK/SHARE CHAIN ENOlf IF CALLED F~OM ETXR,THEN GET AtTest) DIRECTLY ELSE CAll CPPSADCX TO GET A(TeBC) ENDIF 3-123 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-124. DPPSWRST ot 01 Ol 02 02 02 02 02 02 02 02 01 02 02 01 01 01 GET DOSCTLHD IF MODE IS NOT REAOONlY, THEN SET ~AX BLOCKSIZE FOR DOSTATUS OPf~ DDSTATUS IF OPEN WENT O. K. , ThEN ESTABLISH SYNAO ADDRESS CALCULATE ODSTATUS RECORD LENGTH WRITE T~E CTlA'S C~ECK THE ~RITE CLOSE DOSTATUS OlJTPUT MESSAGE INDICATING GeeD UPDATE ZERO THE RETURN CODE ElS E OUTPUT DDSTATUS NOT OPE~ MESSAGE SET RETURN CODE TO 8 ENOIF ELSE OUTPUT RE~C(~LY MESSAGE SET RETURN ceDE Te 4 ENDIF RETURN TO T~E USER ENTER SYNAD PROCESSI~G HERE CLOSE ODSTATUS OUTPUT SYNAC MESSAGE SET RETURN ceDe Te 16 RETURN TO TrE USER 3-124 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-125. DPPSXTCB 01 01 01 01 01 FUNCTION: TO SEE IF THE INPUT(CURRENT) TeB HAS A OOSXTCBC, AND IF YES, RETURN ITS ADDRESS IN S1, OR IF NCT, ALLOCATE, INITI~LIZE, ~NO CHAIt-.. A NEW DDSXTCBC AND RETURN ITS ADDRESS IN S1. ALL DOSXTCBC'S ~RE CHAINED OFF TrE SCVT. [NPUTS: PTR TO ( 0 OR INPUT TCB), IF Q,GET CURREN rCB FROM THE CVT-TCB-SCVT PATH. OUTPLTS: $1 WILL CG~TAIN THE ACDRESS OF T~E DDSXTCBC FOR THE INPUT TASK 'LOCATE/ALLOCATE A CDSXTCBC FOR AN INPUT TASK' IF THE TCBX [S NCT INPUT,THEN GET THAT ADDRESS VIA CVT-JSTCB ENDIF IF SRTCS JOB STEP,T~EN GET A( TCBX) INSTEAD OF TCB ENDIF STRTSRCH WHILE THEPE ARE MORE TeBC'S GET NEXT Tesc BGNWHILE EXITIF FOUND ODSXTCBC FOR INPUT TASK ORElSE ENDLOOP GET CORE FOR A NEW Tese AND C~AIN IT TO T~E OTHERS ENDSRCH 3-125 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-126. DPPTCBGT DPPTCeGT - TYPE 1 SVC ROUTINE FOR CGNTPOL BLOCK GET IF THIS IS A CBGEl ~EQUESl 01 CALC N OF BLKS NEEDED - LNTH/32 01 GET LAST USED PSCB 01 * PSCB=PROTECTED STORAGE CTRl BLOCK 01 SET STOP INO FOR CIRCULAR CHAIN 01 STRTSRC~ SE~RCH PSCB CHAIN TIll STOPIND 01 EXITIF STOP WHEN PSCB WITH ENUF CORE FOUND 02 IF N FREE NE N AVAIL-A PSCB MUST BE 03. CREATED 03 CALC kHERE TO PUT NEW psce OJ PUT PSCBIO IN NEW PSCB 03 AOD NEW PSCB TC CIRCULAR CHAIN 02 ENDIF 02 CO~PLIMENT T~E fLOCK COUNT 02 PUT COMPLIMENTED COUNT IN BLOCK 02 PUT GOTTEN CORE ADDR IN REG 1 02 TURN OFF STOP IND 02 UPDATE LAST USED PTR 01 ORElSE 02 GET ACOR OF NEXT PSCB 02 C~ECK FOR STOP IND 01 ENDlOOP 02 SET NC COPE AVAIL RET CeDE 01 ENDSRCH 01 IF eSGET CORE WAS AVAILABLE 02 CLEAR GOTTEN CORE TO ZEPOS 02 RETURN 01 ENDIF ELSE 01 CHECK ADDR FOR VALIDITY 01 IF A PSCB - A VALID ADDRESS 02 * ~AS PASSED TO BE FREED 02 C(~PLIMENT T~E FREE COUNT 02 DEALLOCATE BY RESTORING FREE CNT 02 GET NEXT PSCB 02 IF IT HAS FREE fLOCKS 03 ACD THEM TO CURRENT PSCB 03 REMOVE OTHER PSCB FROM CHAIN 02 Ef\,C IF 02 02 03 03 02 02 GET PREVIOLS PSCB IF IT HAS FREE BLOCKS ADO CURRENT fREE TO P~EV FREE BLKS REMCVE THIS PSCB FRCM PSCB CHAIN ENOIF RESET LAST USED PTR 01 ELSE 02 SET I~VAlID AOOR RETURN CODE 01 ENDlf ENOIF RETURN 3-126 * LICENSED MATERIAL - PROPERTY OF IBM Figure 3-127. DPPTCSVC DPPTCSVC - TYPE 1 SVC ROUTINE FOR CHAIN IF ENDIF VALIDITY C~ECK INPUT ADDRESSES: MUST BE WITHIN PARTITION'S) • • CHECK BYPASSED IF PROGRAM • • ISSUE ING S VC HAS Pt<=C OR • * SUPVR STATE • • Figure 3-128 (1 of 3). DPPTDLMP •• **** •••• *****.*****.****.** ••••••••••••••••••••••••••••• ** ••••••••• •* MODULE NAME *• DESCRIPTIVE NAME - TASK MANAGEMENT •*••• ***.** •• ~** 01 01 02 01 01 01 02 01 02 03 04 04 03 02 02 02 03 03 03 03 03 03 •• - DPPTOLHP * CVNAMIC LOAO MODUlE PURGE *• ••••• ** •• *•••••••• *••**.* •••••••••••••••••*•••••••••••* GET INPUT PARAMETERS IF NO TOME SPECIFIED DR N5192 TAKE DEFAULT OF 2 SECS DR '5192 ELSE D~ 1#5192 IF NO TIME WAS SPECIFIED TAKE DEFAULT CF 2 SECGNDS ENDIF ENOIF DR '51Q2 IF TIME VALUE GT ~AX ISSUE MESSAGE DPP019 ELSE - IF TIME VALUE VALID IF ~C MODULES WERE PASSED DR #5192 ISSUE MESSAGE 22 DR '5192 ELSE OR 1#5192 UNTIL SEARCH ENTIRE LIST DR 1#5192 IF VAlID MODULE NAME AOCR DR N51G2 IF THIS IS FIRST VALID ADOR OR '~192 ENOIF DR #51q2 E~DIF DR 1#5192 ENCCO OR DR N5192 IF NO VALID ADORS OR #51~2 ELSE OR '5192 DEFINE LeeK LOC-< OTHER DLMP-REQUES·TS OUT ISSUE MESSA(E DPP020 SET ECB COUNT TO ONE ISSUE STIMER GET (NDEPENDENT TASK ChAIN ORIGIN 3-127 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-128 (2 of 3). DPPTDLMP 03 03 03 03 03 04 C5 C6 05 04 03 04 01 03 03 04 04 05 05 04 03 04 03 03 04 03 03 03 03 03 03 03 C3 04 05 06 06 05 04 05 04 03 04 03 03 04 05 05 05 04 3-128 00 DPTDLMPI - TCBX-LCB LSER SCAN GET DEPENDENT TASK CHAIN ORIGIN CO DPTOlMPl - TCBX-lCe USER SCAN GET TMCT-lCB CHAIN ORIGIN WHILE MeRE leB'S ARE CHAINED UNTIL All ~GDULE NA~ES EXAMINED IF NA~E ECUAL TO LCBEPNAH SET FLAG MODULE PURGE REQUESTED ENDlf ENOOC UNTIL BXlE BGNWHIlE GET AoOR OF NEXT lce IN CHAIN ENDoa WHILE Lce TURN OFF STIMER FLAG ~HIlE EeB COUNT DOES NOT GO TC ZERO WAIT FOR X EVENTS OUT OF LIST IF STIMER EXPIRED SET S1IMER FLAG CAUSE EXIT OF BCT-LOOP Ef\oIF STIMER BGNWHllE INCR NUMBER OF EVENTS TO WAIT FOR ENOoO WHILE BCT IF ALL POSTS RECEIVED IN TIME CA~CEl THE CUTSTANDING STIMER ENDIF GET INDEPENDENT TASK CHAIN ORIGIN DO DPTDl~P2 - TCBX-LCB PURGE SCAN GET DEPENDENT TASK CHAIN ORIGIN DO DPTDl~P2 - TCBX-LCB PURGE SCAN TURN CFF [~TE~~AL DELETE FLAG GET TMCT-LCB CHAIN ORIGIN ~HILE MORE Lee's ARE e~AINEO IF STIMER HAS NOT EXPIRED IF PURGE REQUESTEC SET FLAG DELETE REQ BY SHON IN Lea SET I~TERNAL DELETE FLAG ENOIF ELSE - IF STIMER HAS EXPIRED TURN OfF PURGE FLAG IN THE LCB ENOIF STI~ER EXPIREC BGNWHIlE GET AOOR OF NEXT lee IN CHAIN ENDDO IF STIMER HAS NOT EXPIRED IF INTERNAL DELETE fLAG SET CLEAR T~E ECB SET FLAG DELETE REQ BY SHON IN TMeT POST DPPTSMON FOR DELETE SERVICE ENDIF LICENSED MATERIAL - PROPERTY OF IBM Figure 3-128 (3 of 3). DPPTDLMP 04 05 04 03 03 03 03 03 03 04 04 05 06 01 01 06 05 04 04 03 04 03 03 03 03 02 01 (F ANY ECB wAS SET UP WAIT eN T~E EeB LIST ENOIF ENDIF STIMER EXPIRED GET [NDEPENDE~T TASK CHAIN ORIGIN 00 DPTDLMP3 - TCBX POST SCAN GET DEPENDENT TASK CHAIN ORIGIN 00 OPTDL~P3 - TCBX POST SCAN IF STIMER EXPIRED GET ADDR OF FIRST EeB UNTIL All ECB'S EXAMINED If ECB wAS NOT POSTED IF MODULE ~AME PRESENT ISSUE MESSAGE DPP021 CLEAR GUT MODULE NAME ENDIF ENOIF Eee NOT POSTED ENDDG UNTIL BXLE LOAC MSG N FOR PURGE ABANDONED ELSE - IF STIMER HAD NOT EXPIRED LOAD MSG 'FOR PURGE CCMPlETE ENOIF STIMER EXPIRED ISSUE MESSAGE U~LOCK - ~E A~E THROUGH RELEASE THE LGCK DEFINITION ENOIF TIME VALID ENOIF NO V'IIC ~CDULE NAMES ENDIF INVALID PARM liST - NC NAMES SUPPLIED RETURN COpy OPTOlMPl - TCBX-LCB USER SCAN COpy OPTOLMP2 - TCBX-LCB PURGE SCAN COpy CPTDLMF3 - TCBX POST SCAN COpy DPTDl~P4 - STI~ER EXIT ROUTINE COpy OPTDLMP5 - AS~NC DELETE ROUTINE OR '5192 DR '5192 3-129 LICENSED MATERIAL - PROPERTY OF IBM Figure 3·129. DPPTDSVC •• *••• *** •••• **.*.** •• ******.* •••••••••••• *.* ••••••••••••••••••••• *.* •• MOOULE NAME - DPPTDSVC *• * • * DESCRIPTIVE NAME - TASK MANAGEMENT. DPATCH TYPE 1 SVC ROUTINE • ****** •••••••• *••••••••••••••••••••••••• ****.*****.**** •••••••• *** ••• ** 01 02 01 02 03 03 03 03 02 03 04 03 03 04 03 03 04 05 04 05 06 05 06 07 08 07 08 07 06 07 06 05 04 04 04 05 06 05 04 03 02 01 LOAD DPATCH TYPE CODE LOAC ACCR CF T(eX~AME FIELD COpy OPTDSVCl - VALIDITY CHECK IF RETU~N CODE lOW IF DPI fLAG IS SET SET RC FOR TASK BEING REMOVED ELSE IF THIS WAS DPATCH=I SET FLAGS DP[ + DPU IN TCBX GET AeENC CODE GET ADOR OF ABTERM FRCM CVT ABTERM T~E CPATC~ED TASK ELSE IF DPW FLAG IS SET SET RC FOR ALREADY DPATCHEO=W E~DIF DPW IF DPU fLAG IS SET SET RC FOR ALREADY CPATCHEO=U ENDIF CPU IF RETURN CODE LOW IF THIS WAS DPATCH=U SET OPU FLAG ELSE IF THIS WAS DPATCH=W SET DPW FLAG El S E IF THIS WAS DPATCH=C IF TASK DORMANT FLAG SET SET OPC FLAG ELSE SET RC TASK NOT DORMANT ENDIF TASK DORMANT ELSE SET RC INVALID INPUT PARMS ENDIF CPATCH C ENOIF DPAICH W ENDIF DPATCH U IF RETURN CeDE LOW ~NO IF NO DPPTSMON REQ PENDING IF OPPTPM(N NOT POSTEC POST DPPTPMON ENOIF POSTBIT ENDIF RC LOW AND NO SMON REQ E~D[F RC lOW ENDIF OPATCH I ENDIF OPI SET ENDIF RC ZERO RETURN COpy DPTPSVC2 - ADDRESS CHECK 3-130 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-130 (1 of 3). DPPTl!TXR * * •* DESCRIPTIVE NAME - TASK MANAGEMENT • ENC-OF-TASK-E~IT ROUTINE *** •.* ••• $ • • • • • • • • • • • • • • • • • *•••••• **.* ••***** ••••••••••• *•••••• **** •• ** ••* • 01 01 02 02 01 01 01 01 01 01 02 03 03 02 02 01 01 01 02 03 03 04 04 03 04 03 02 02 03 03 04 03 MODULE NAME - OPPTETXR LOAD ADDR OF TCa WE'RE RUNNING UNDER IF IT'S NOT JOaSTEP = SMON'S Tee ISSUE ABEND USER CODE 64 ENDIF GET XCVT ADCR FROM DPPTSMON'S Tcax GET ACDR OF FIRST LeCK CONTROL fLOCK WHILE MORE lOCKCBlK'S ARE CHAINED IF EXITING TASK HAS CCNTRCl OF THIS RESOURCE CHA~GE THE TCB ADDR TO SMON'S TCB UNlCCK THE RESOURCE ENDIF GET AODR CF NEXT lOCKCBlK ON CHAIN ENDDO IF THIS PARTITION IS SLAVE PARTN GET MASTER PARTN XCVT ADDR GET ~ASTER PARTN SCVT ADDR GET ADDR OF FIRST LOCKCBLK ON CHAIN "HIlE MORE lCCKCBlK'S ARE CH~INED IF EXITING TASK HAS CNTRl CF THIS RESOURCE C~ANGE THE Tce ADOR TO SMON'S Tca U~lCCK THE RESOURCE ENDIF GET ADOR OF NEXT LOCKCBlK (~ CHAIN ENDDO ENDIF IF TCBXOC~T-FIELC WITHIN PARTITION GET XCVT ADeR FRC~ EXITING TASK'S TCBX IF XCVT ADDRESSES MATCH IF CURRENT WQE PRESENT IF cwe ADCR OUTSIDE PARTITION OR IF WOE DOES NOT POINT BACK TO TCBX ISSUE MESSA(E DPPOIO CLEAR WOE ADDR ELSE - CURRENT WQE AOCR VALID lOAC AOCR OF leB FRCM WQf ENDIF ENDIF CURRENT WQE If TCB CCMPlETICN CODE flElC NZERO • TASK TER~INATED ABNORMALLY IF IT WAS MSG OUTPUT TASK ISSUE ~TO MSG OPPOll ENOIF MSG OUTPUT TASK 3-131 LICENSED MATERIAL - PRORERTV OF IBM Figure 3-130 (2 of 3). DPPTETXR 03 04 03 04 03 03 02 03 04 03 02 02 03 04 05 05 05 04 04 04 04 04 05 05 05 05 06 05 06 05 05 05 04 05 04 03 03 03 03 03 03 04 03 03 03 03 03 02 03 02 3-132 If CU~PENT ~Qf PRESENT MOVE EP-NAME INTO MSG TEXT ELSE CLEAR ~SG TEXT AREA WIT~ BLANKS ENOIF CURRENT WQE ISSUE MESSAGE DPP012 ELSE - TeB CC~PlETICN CODE FIElC ZERO IF EXIT NOT C~USED BY DPPTPMCN ISSUE MESSAGE DPP018 ENDIF ENDIF ceMPL CODE IF EXIT NOT CAUSED BY DPPTP~CN IF CURRENT ~CE PRESENT IF MCDULE W~S LOADED BY ABENOING TASK * IT WILL BE DELETED BY * TaSK TERMINATIC~ OF CS/~S SET LeA UNRESOLVED fNDlf GET C(MPLET(~N CODE fRCM TCB SET ECB CC FOR ABNCRMAl TERMINATION STORE ECB C(MPlETIC~ COCE INTO WQE IF WQE ABENDED FLAG ZERO * THIS WQE DID NOT CALSE ABEND BEFORE SET FLAG ~QE ABENCED GET CLEANUP WORK QUEUE ORIGIN WHILE MORE WQE'S ~RE CHAINED KEEP AODR OF THIS WOE BGNWHllE GET ADOR OF NEXT hQE ENODO C~AIN OUR WOE TO END OF CLEANUP-WQ CLEAR CHAl~ WORD IN OUR WQE ELSE - WQE CAUSED ABEND 8EFORE EXEC WQE-DELETE SVC ROUTINE ENDIF weE ASENDEO ENDIF CURRE~T WQE RESET WQ ACTIVE FLAG IN T(BX SET FLAGS TCB + CHAP REQUIRED CLEAR SMON C~AIN WORD IN TCBX GET TMCTSMON CHAIN CRIGIN ~HILE MORE TCBX'S ARE CHAINED GET ADOR OF ~EXT TCBX ON CHAIN Et\DDO C~AIN TCBX TO OPPTSMON'S REQUEST CHAIN CLEAR ACOR OF DEAD TCB FRCM TCBX CLEAR POSTBIT POST DPPTSMCN FOR SERVICE ELSE - EXIT WAS CAUSED BY DPPTPMON CBFRE E Tt1E Te BX ENDlf PMON CAUSED EXIT LICENSED MATERIAL - PROPERTY OF IBM Figure 3-130 (3 of 3). DPPTETXR 02 01 02 02 01 CLEAR REG 15 ELSE - XCVi ACDR OON'T MATCH * CANNOT TR~ST TCBX LCAD ~EG 15 NZEPO ENDIF XCVT AOOR MATCH ELSE - TCBXOCVT FIELD OUTSIDE PARTITION 01 LOAC REG 15 NlERO ENDIF IF REG 15 NlERO - eAD TCBX ADDRESS 01 ISSUE MESSAGE DPP013 ENDlf DElAC ... (EAD TCB RETURN Figure 3-131. DPPTGWFW - eRANCH SUBROUTlNE fOR GETWA/FREEWA ISSUE A GElWA SVC IF RETURN CODE IS PLUS RETURN TO CALLER ELSE IF FREEMAIN SERVICES REQUIRED FREE THE EXTRA GETWA CORE ZERO RETURN CODE RETURN TO CALLER DPPTG~FW * ELSE GET ACCRESS OF GFMB TO BE EXPANDED GET LENGTH REQUIRED FOR GETMAIN GEl ADDITIONAL KEY 0 STORAGE fOR SIZE OF GETWA REQUIRED GET CONTROL BLOCK STCRAGE IF CBGET CORE NqT AVAILABLE FREE THE STORAGE GOTTEN FOR GETWA FREE THE SAVE AREA SET RETURN COOE=12 RETURN 10 CALLER ELSE PUT GETWA LOW ADDRESS IN THE GFCB PUT GETWA HI ADDRESS IN THE GfCB POINT NEW GFCS1rO ITS GfMB POINT GFCe TO FIRST GFBE PUT INIT , OF SLeCKS IN GFCS PUT INIT FREE COUNT IN GfCB UPDATE TOTAL. FREE BLKS IN GFMB ADD NEW GFCB TO CHAIN OFF TMCT ADO GFCB TO GFMB CMAIN ~ETURN TO EP (DPPTGWFWa TO RETRY GETWA ENOIF ENCIF ENDIF ENOIF 3-133 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-132 (1 of 2). DPPTIMPS DPPTIMPS - CUMP/NO CUMP FACILITY IMP INTERFACE DEFINE A RESCURCE FeR LOCK LOCK RESOURCE IF NO SYSTEM DUMP CONTROL BLCCK,THEN 01 GET~AIN FOR DUMP CNTl BLOCK 01 ENTER SUPSTATE 01 SAVE A(DUMP Cf\Tl BLOCK) IN seVT 01 EXIT FROM SUPSTATE ENDIf IF PARA~S WERE PASSEO,THEN 01 GET CPTION PARAM ADDRESS 01 IF OPTION PASSEC,THEN 02 ~CVE IN REQUESTED OPTION 02 UNTIL ALL OPTIONS CHECKED,DO 03 BLMP TO NEXT VALID aPTIO~ 02 Ef\OOC ' 02 IF NOT NORMAL CPTION,TrEN 03 SET ERRCR MESSAGE 02 ELSE 03 MCVE OPTICf\S INTO DEFAULT 02 END IF 01 ENDIF Ot IF ~AlID OPT OR DEFAULT SEL,T~EN 02 IF LOAD MODULES,THEN 03 C~lC AND SAVE NUM LOAD MODULES 03 UNTIL All LOAD ~ODULES PROCESSEOtDO 04 IF VAllO l~ ADOR,THEN 05 MOVE NAME INTO WORK AREA 05 IF INVALID LM NAME,THEN 06 ISSUE ERROR MESSAGE 05 ELSE 06 SAVE ~A~E lEf\GTH 06 WHILE NOT END OF CHAIN,AND 06 WHILE NA~E lOWtOO 07 INCR DUMP CNTl BLOCK PTR 06 ENODO 06 If NOT END Of C,,"AIN,AND 06 I F ~A ME F GUNO, THEN 07 RESET FLGS 06ElSE 07 GET NEW DUMP CNTL BLOCK 07 CHAIN IN NEW DUMP CNTL BLeCK 06 ENDIF E~DIF 05 04 03 02 ENDIF E~DDO Ef\DIF 01 ENDIF ENDIf 3-134 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-132 (2 of 2). DPPTIMPS 01 02 02 02 03 02 02 01 02 01 01 If VALID OPTION,THEN IF DEfAULT C~ANGEOtTHEN RESET DEfAULT FlGS ZERO T~E C~AIN PCINTER FROM SYSBlOCK WHILE NOT END OF CHAIN,DO FREEMAIN DUMP CNTl BLCCK ENDDO ISSUE MESSAGE ELSE ISSUf MESSAGE ENDIF ELSE ISSUE MESSAGE ENOIF UNLOCK RESOURCE RETURN 3-135 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-133 (1 of 2). DPPTPMON **** ••• ***********.*******.***********.****** ••• **.****************** ** MfDULE NA"'E ** - DPPTPMON ** ** DESCRIPTIVE NAME - TASK MANAGEMENT * PATCH MCNITOR ROUTINE ***** ••••••••••• ****.******.*** •• *******.*******.********************** WAIT FOR THE TCBX ADDR TO BE FIllED IN BY ThE MCTHER TASK (OPPINIT OR DPPTSMGN) IF NO RESOURCE TABLE PRESENT GET VIRT STORAGE FOR RESTSl AND WCRKAREA CLEAR WCRKAREA PLUS RESOURCE TABLE STO~E RESOURCE TAElE ADDR INTO TCBX ELSE GET ADDR CF wORK AREA ENDIF NO RESOURCE TABLE IF STAE TO BE ISSUED PRFN166 ENDIF PRFN166 UNTIL TASK TERMINAT~ REQUIREC IF THIS T~SK ATTACHED BY OPPINIT WAIT FOR FIRST PATCH ENDIF ~AKE IT LeeK liKE ATTAC~ED BY DPPINIT UNTil ANY DPATCH DO WHILE weE'S CHAINED TO TCBXWQ AND WHilE NO DPATCH=U TOP wQE BEC(MES THE CURRENT CECHAIN TOP weE IF CURRENT QUEUE LENGTH NCT ZERO DECREMENT CURRENT QUEUE LENGTH ENDIF cel NZE~O DO DPTPMON3 - LOAD USER'S ROUTINE DO DPTPMON4 - EXEC LSER'S PROGRAM DO OPTFMCN5 - PERFO~M weE-CLEANUP * 01 01 01 01 01 02 01 01 01 02 02 03 03 03 04 03 03 03 03 02 BGNkHllE 03 04 weE'S CHAINED TC TCBXCUWQ TOP weE BECCMES CURRENT DECHAIN TOP WOE IF ODS WAS INVOKED EXEC ODS CLEANUP ROUTINE ENOIF 00 DPTP~ON5 - PERFO~M WQE CLEANUP E~DOO WHILE TCBXCUWQ NlERO IF QP TCBX THEN DO DPTP SELECT WQ FROM QH ENDDO ENDDO WHILE TCBX WQ AND NO DPATCH U ~HllE 04 04 05 04 04 03 02 03 02 02 3-136 LICENSED MATERIAL - PROPERTY OF IBM Figure 3·133 (2 of 2). DPPTPMON 02 03 03 03 03 03 02 01 01 01 02 02 02 02 02 01 01 01 IF NO OPATCH CF ANY KINO CLEAR CWQ POINTER CLEAR POSTBll BEFORE WAIT SET FLAG TASK DCRMANT ~AIT FOP NEXT PATCH, CPATCH OR REPATCH TURN OfF TASK DORMANT FLAG ENCIF ENDOO UNTIL ANY OPATCH SET FLAG TASK IS BEI~G REMOVED IF DPATCH WORK QUEUE (S NCT EMPTY OPATCH WQE BECC~ES THE CURRENT CLEAR OW, POINTER 00 DPTPMON3 - LeAD USER'S ROUTINE 00 OPTPMON4 - EXEC USER'S PROGRAM DO OPTPM(N5 - PERFO~M WQE-CLEANUP ENOIF CLEAR CWQ POINTER COpy DPTPMONl - TCBX-CLEANUP AFTER CPATC~ ENDDO UNTIL TASK TE~MINATION REQ FREEMAIN WORK AREA AND RESOURCE TSl CLEAR RESOURCE TABLE ADOR FPOM TCBX ISS UE SVC EXI T COpy DPTPMON2 - HI lEVEL LA~G INTERFACE COpy OPTPMON3 - USER ROUTINE LOAD COpy DPTPMON4 - USER ROUTINE EXEC COpy DPTPMON5 - WQE-CLEANUP COPY DPTPtv1ON6 - QP/QH INTERFACE 3-137 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-134 (1 of 2). DPPTPSVC ••• ~* •• ~ •••••• ***.*************.***** •• ** •• ******.* •• *•••*****.*** •• * *• ** MOCULE ~AME - DPPTPSVC ** DESCRIPTIVE NAME - TASK ~ANAGEMENT * PATCH TVPE 1 SVC ROUTINE ** *** ••• *** ••••• ** ••• *•••• *** ••• ** •• **.*** •••••*•••• **.**** ••••••• ******* 01 02 03 02 03 03 02 01 01 02 03 04 04 04 04 04 05 05 05 04 05 04 C5 04 04 05 05 06 05 06 C5 04 03 03 04 04 05 04 LOAD AOOR OF PROBLEM PARM LIST LeAD ActR OF SUPERVISOR PARM LIST COpy OPTPSVCl - VALIDITY CHECK IF INPUTS ARE VAlIC IF TC8X WAS SPECIFIED IF GIVEN NAME S~ME AS IN Tcax 00 OPTPSVC3 - BUILD WQE AND Lca ELSE SET RC FOR INVALID Tcax ADDRESS ZERO TCBX= AOCR TO CAUSE C~AIN SRCH ENDIF GIVEN NAME SAME ENDIF TCBX SPECIFIED IF NC TCBX ADDRESS SPECIFIED IF TCBXNAME SPECIFIED (INOEP TASK) UNTIL FINO-lOCP COUNTER ZERO OECRE~ENT leop COUNT RESET rCBXNAME NCT FCUNO FLAG GET ORIGI~ CF INDEP TASK CHAIN STRTSRCH WHILE MORE TCBX'S CHNO EXITIF TCBXNAME FCUND ·00 0 P TP S V(3 - au IlD WQE A''0 l CB TURN OFf FINO FLAG SET LOOP eTR IERG - CAUSE EXIT ORElSE GET NEXT TCBX IN CHAIN ENDLC(P - NCT fOUND SET TCBXNAME NOT FOUND FLAG ENDSRCH IF F[~D WAS SPECifIED SEE IF OTHER PTN IS STIll ACTIVE IF TURN. OFF FIND FLAG ELSE SWITCH PARlITIONS ENDIF ENDIF E~ODO UNTIL FI~D-lOOP IF TCBXNAME NCT FOUND FLAG SET DO DPTPSVC4 - BUILD Tcax IF RETURN ceDE LOW CHAI~ TO INDEP TASK CHAIN ENDIF 3-138 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-134 (2 of 2). DPPTPSVC 03 02 01 ENDIF NCT FOUND ON CHAIN ELSE - NO TCBXNAME SPEC (DEPENDENT) 00 DPTPSVC4 - BUILD TCBX IF RETURN CeDE LOW SET DPATCH ~ FLAG TO CAUSE • OPPTPMON TO DELETE THE TASK AFTER ONE EXEC CHAIN TO DEPENDANT TASK CHAIN ENDIF ENDIF TCBXNAME SPEC ENDIF TCaX NOT SPEC ENOIF INPUTS VALID IF INDEPENDENT TASK AND IF RETURN CODE LE 8 TEll USER T~E T(aX-ADDRESS IN REG 1 01 ELSE CLEAR REG 1 03 03 04 04 04 03 02 01 ENDIF RETURf\ COpy DPTPSVC2 - ADDRESS C~ECK COpy OPTPSVC3 - BUILD WQE AND lee COpy OPTPSVC4 - BUILD Ttax 3-139 LICENSED MATERIAL - PROPERTY OF IBM Figure 3-135. DPPTPWQE 01 01 02 01 02 OJ 02 03 02 02 03 02 03 04 03 04 05 04 04 os 05 04 04 05 06 06 05 04 04 05 04 03 02 01 BGNSEG DPPTPWQE - PURGE wORK CUEUE ROUTINE VERIFY INPUT PARAMETER ADDRESSES IF /J~Y ARE It\VAlIO SET PETURN CODE ELSE IF TASK~AME [S ZERO USE CURRENT TASK'S TCBX ELSE SEARCH FOR TCBX OF SPECIFIED TASK NA~E ENDIF IF CPATC~ IN PPOGRESS FOR TASK SET RETURN CeDE ELSE IF TASK IS DORMINANT SET RETURN CODE ELSE IF CURRENT WQ IS CNE CF T~E WO'S TO BE DELETED FLAG TO BE PURGED ENOIF IF DPATCM WQ (S ONE Of THE WO'S TO BE DELETED REMOVE WQ CMAIN eN CLEANUP WQ ENDIF UNTIL ALL wQ'S ON WQ CHAIN HAVE BEEN PROCESSED IF we IS CNE OF THE ~Q'S TO BE DELETED REMOVE WQ CHAIN eN CLEANUP WO ENDIF ENOOO IF FREE SPECIFIED ON PURGE~Q SET LE~GTH AND ADDRESS IN LAST WQ TO BE PURGED ENOIF ENOIF EJ\DIF ENOIF ENOSEG OPPTPWQE 3-140 LICENSED MATERIAL - PROPERTY OF IBM FIGURE 3-135.1. OPPTQtMP .. ________ ~i> TQ IMP _.y_~JJ_G...R_A f_.J~___ f~_C ~J_~_~_'-~_~~_~!~_~~§__~~ E-B._~_ L_ -~ t ~9_~ ~.!_I~ ~__._______.__ GET~AIN ~CFK SPACE IF PAT CHI c . -.l..s.._~___ ._ ._-----------------_._-------_._-----IF PROBl LEN IS 12 OR l~ ~OVE USEP SUPPLIEC PARAMETERS Te WORK SPACE -----------SET- ~ A S 1 T'-S- --TCSEl-E-C'f'-l c --'R E'DIsTEc----e Y-F I-R S t- P-A"RAfJerrR--- .- -- - - SET MASK eITS TO CHANGE FLAGS AS REQUESTED SY 2ND PARA~ETER K-a ex .- --'--IFTHIR-C'-p ~R A-~ ET E-Ji- Ei\T-E-Rrf---~s '-', PUf< f E'-CR-- tfM-1 TTE""b----·--·----·---···----- __ . __.__ _ DISABLE SYSTEM TC PREVENT ERCKEN C~AIN5 ___._._--.hl:t_l_U_IC B1.Nf ~1.tJ~_,_~l.IB..~___ .e_~~ ~~U~_l(~}__ .~ _t~J.~ __________ ._ _ IF Tcax OF l~PE SELECTEe CHANGE FLAG elTS ACCCRCI~G lC MASK5 . -----SA-V E K--'--S P Aff-------------- --.-.-----.----.-.-------..--- _.-. -.--.-.--.----_____ ENJJl£_._.---. _____ .__________ _ ENDCC E NA Bl E S ~ S.J.J1!.________ ._______________ _ ._--_.. ._--- - - IF SELECTEC TCBX FOLNO CNTIL ALL SAVEC TC8X A[[~'S PROCESSfC ._ _ IF NO ERRC_R S ._12_t;_I~C T~J~______ ____ -TCBi--~oD'-R~---~(-R __ ---'--1 F --PUR G-E-- ~ A' S----EN-fERE-C---· --------.-------.-------.----.- - ------------ -.-- --------.--- CISA8LE SYSTEM -·----PURG E WO f P[iGE T L COPPECTIQN FACTOR [;PCALCFl TIM~ Ml~lJ 0 PT ION oE: L t 1 t u tJT ION UPLATl CURRECTIPN FACTnR UPCA1~ COk~ECTION FACTOR UPDATl TIME U~OATE:: DATE liP(.Alt prOF S GET PLTARAY PROCESSQP G~T PUT bLOCK ~URRnUTIN~ lWO PARTITION INTEPFACE For GATA ·fASlCM) cyeL Ie ,LOGG ING P fltfTI NE Gl:TlUl, ROUTINE A-3 LICENSED MATERIAL - PROPERTY OF IBM (,~r.Ll (,Lf-'lE[~ NA~[ ~t. t)~H, ~T [;~PuIT!:M DPPLPUll LPPGkl .. l:: ()PPL,kl FT DfJPu~Uh2 [;PPDUMPl DPPDLPUl OFPU1'JEM G.... PuPUTl LEI ~l.JTITE:M PR(1C~S~rf) PLJTLeC RUUTINE LUMMV INIT.TIME ~fTTFR TIMt ukl~T CORRECTION CPP[:klf-l [JPf.'iJf 1f-1 (.l P P LJ S l; b ~ ~ L AVl PAL T 1 T 1 Q N IN T F P FAr E P C' l! TIN L LPPl,UMF'l DUMP lUG RULJTINF.- GPPLwkST CPPFAUf.. C UL DPPGWkSl ('.PPFAuNC UATA lASl CPfN/ClOSE ON LJPPFI>'f-k l) .... Pf-IXt-k DPFIDlAS DF P l[;eAS OPPl,uf ['ATA bA~t. DPINIT2 LPINll:' lRE:ATE ADVANCF Tep s (jPINIT~ !;,YNChRUNIZf FOR TWP PAPIITJf1N ()~'lGRASf. DfJPILCLN LJPPINIT {)PPINIT(I [JPPINITU INI11~LIlE: LF-lt-JITC,::' uPlr~11\,.4 LON1~(jL LJPINIT('~ (, P I r~ 110 "I bLILD WAll lI~T RnUTYNF RLUllNE TU HANDLE ~lANKS IN PA~AM L~Nl~UL blOCK EUIlD A~r (~AI~ ~~kU~ M~SSAGE WFITff GPINIT,-,A ~P/~H uF-I~~IT06 u. . lNITGt P PIN 1 T 1 LJPINITII [;PINIT12 uf.'If'..IT13 LIP Ir~l T 14 PAGE: LPPI~TAt J t, b uPPllI~l Df'PITIMI DPPMINIT ldJPMMSb r pPMM~r, DPPMM~LV DP"'MM~GV uPPMM~Gl [i LPPPAkM LPPPAkM UPPPlf LJPP!>AMPI DPPPIF [IPP SAMP 1 l.JPFJ~A~[tC L P f·<.1 A~ (1 L INTE~RUP1S UNFIX P'(ll'TIN~ S T A[= P OLJ TIN F fkE-[ TIMl INITIALIZATION 1~111ALIZ~ TIMf IN 11~r AFFAY HANUL[~ ~VSTcM INITJAlI7~TJn~ MfS~AGE FnR~ATTrR ~Y~T~M M~~SAGE ~YSllM ME~SAG[ RnUTING CODf C~A~G~ OUTPUT pnUTINt PL/I ~ L/ l~TEkFAcr r RnUTINF J. NT t k f ~. C F RflU TIN F ~ AM~j L t P f...UCP,AM -P" TCH f:' Ot 'T1 N~. [I l: S A :.-, Y1\1 Lh F, n N1 S n p r: N n p (ltl S ~_ U(j~D~tC.T A-4 PATlhll~ ~ T E PTA S K M~G PPMMSG 1 PQOCF~SO~ SURSYSTF~1 MESSAGE ROUTINE Pf\Obl INTl F~FACE tu~11NUOUS MCNITQR INTFFFAt~ PkUbl/liME IRR T~ SUPPRES~ TIML J; ~ () ~ ...·1 X R UUT IN F DPPI~\Fkt [;~lTI~ll PRC1CrSSrp ~kk0k uPPI~TAE GPPIPt-lX CAf~[: ~TAfX CARD It.JITIhlllA11ClN LJPPlpf-lX DPPIPFPE. [j PPM 1 r-ll T CB("FT CARD rfA~ RUUTINl f'Af.,AM KEVWORD PfU)CESSOR. PA1CH CAkD PROCESSOP LC 1\41 1 ,... UATIll N CAP f) P Rr. CF S SO F' LJPINITO~ ~., R~AU 1~11IALIZA110N uPINITCl LP P It-d T 1 INITIAlIZ~TJn~J Lt-llt\I11 DPlut:AS~ tJPPILUlN [;PPINIT W~ITt/~F~TAFl Ub TAbLES INTO VS STnRAL~ INIlIALlZ~ DF TAPlFS f..l:AD VS ~ESIDlNT APRAV~ JN10 STr'fIut.A~l [JPf.'llk.E ~: l uGC,lNG USELl U~ UGS (ONTPOL AREA LICENSED MATERIAL - PROPERTY OF IBM CSE::CT MAIN ~AME: Sl::Gf'H:NT L f- P ~ f t-!J T C P P ~ J I- ~. 1 (.CH· 1 E.l' S t. Gf"It: Nl b l. U l \ 0~~~S[C' uPP~P>F J. t' ~,l 1-. CK DP f' !:. C. h (, K ~PPSCHK2 LPP~ChK~ U[ 1~ L/!:> L (, T LPPSChK3 GPPSChK3 LJPPSLhK4 DPF ~Cht,4 LJ P fJ !:. C h t-F. L; P P SCH ... ~ ChECK A LPPSCMPk L~PSCMPk [)PP~CP~b OPP~CP2b Df-PSCklK DPP!:.CkP.1\ (: S E L" 0 F LD~GSECl Ct-'ECt\ A bACKUP DECR USEeT Uf- DDS CONTROL AREA ~ [T UO~GS~(T l.JfJPSDDSX DPpSD[;~X ~PPSINll DPPSINIT DPPSIN12 LPP~I~l~ DPPSIN13 OPP~IN13 [) P PSI 1\ 1 4 D... P S ll-.J 1 4· DPPSLUlK ~PPSMSGI OPPSMS~I ~~PSMSGU UPP~NulE DPPSMSG() O~llT ~,fA"CH ~LSLSbCl DPPSLUCK L~ECT UF (j[:~ CONTRnl ~pr- t, CLUSE A UDS O~E(l UF DDS CONTROL AREA COMPAkb FUk DDS DSEel ~F DDS CONTROL AREA COpy A DUS PRIMARY Tn. RACKUP l~ECl lJUSNTPT ~~P~I~Ib A PkIM ARY 0 E CbAN r) A [~ A C K U P [, F C ~, USECl UF DOS CONTROL AREA ~O~U~E(l LJ [J S £. is EC T ~PPSlNlb ARE t~ LOSDS~Cl UD~US~Cl OPPSIN15 CON 1 R0 l uF ou~ CONTROL AREA tuPY TRACK TO TRACK DSlCT O~ ODS CONTROL ARfA UU~DS~tT UPPSIN15 (j [,1 S CREATI:: A U[IS PACKl'P OUSU~~CT GPP~CT2T UF LJlIS LJu£ CLr.AN UP ROUTINE DOS~SECl OPPSC1~T INTFPNAl CONTROL ARF A kUUTINf FOP DDS CHECK L't; S [j!'; t. C T u(/~()SE(.l DPP~CLI UD~LECB [is E. C, ~Y~AL DPP~C.l.up DPPSCLI for A DD~. Uf- [I [" S CON T P n l AR~' It D [) !;, C I- E:: C. K MUD t; LE L ~ EC, U F- Uuse ON T' RaL AF'~ E A u~ tel GUS U SE C T u~SUSECT ['''-PSCLUP r I N L: T Y P E D S Tn w F 0 f' ,. tJ [; ~, UF UD~ CONTROL ARFA LLUl flNLI TYPE n LJPP!:.bt-l L 1..1 ~ l. S 1: t 1 ~ 1-' u~ELl DD~GSE(l DDSUSECT UDSDSEtl DDSLSEtT UUSLSlCT AN IDA FROM A GIVEN l'DCP [I f- [J D !:. C(I N T R 0 l. A R f:. A ALL (j CAT tAN [I I N r T I ALI Z F P f p, MAN t· NT 0 () S C 1 L A CLPY LUut: FOR NOTE POINT f',KANC .. : f.; !:. E. C 1 GSECl UF GDS DlFOkMAT lH~ D~LLl Uf ODS DtFIN~ LOCKS CONTROL AREA CTlIN CARr CONTRCl APFA FOR FACH ellt DSECl UF CONTROL orJs Ar::.F~, LOCK A DDS DSELl OF DDS CONTROL ARFA GUS IN~UT MESSAGE PPOCESSOk OSleT Of DDS CONTROL APEA MlS~AGE nUTP~T PRnrf5S0R fEkF8RM NOTE ON A DOS GSEel LF LUS CONTROL ARFA ~DS DPP~NUTt fO .... UF UD~ CONTROL AREA INITIALIZE THf nrs SVSTfM ~S~CT Uf DDS CONTROL APEA PRuCE~~ Th~ (TLIN STREAM D~~Cl Uf LD~ CONTROL AREA VAlIOAT~ EACH DD~ DEClAFAlION Wfl JeL LICENSED MATERIAL - PROPERTY OF IBM C~t:L.T MAIN CUf-'IELI NAMl SE:G~iEf\JT ~EGMEl\iT [)~PSNTPT UPP~NTPT () J-i f-' ~OP CL OPP~OPCl DD~{;!)tCT LJPP~UPI UPPSOPI LJPPS(JP2 DPPSuP,2 l.JPf-'SP~TF LPP!:.PNTF [JDSUSEC T DDSGSE-CT D[JSUSE CT LJPPSkCIC Df-'PSkClu ()PPSkDWT DPPSRLWT [;PPS~~CW2 uPP S kLIW 2 LJPPSRLS[ L;PPSkLSl: UPPSRSRV (jPPSRSk V DI-'P!:.kS1E [)PP~k~Th LJ[)!:.uSECT D[j~(j~LCT UU~O~ECT DDSDS[CT DDSDSl.CT DPPS~TCP ()PPSf~TCf-' [IPPSSHAK [;PPSS~AR h CUDl- FOF NOTF Dr I Nt cuPV C.00l FOR NnTE pnJNT rrA~CH OPE~ tlO~~ ~ALF OF A GDS (j~E- CT OF L(IS CONTROL A r ~ A (lPtN A LJUSLCP G~~Cl Uf 0GS (ONTROL APFA DPlI'>4 A (jlC LAFEP ~~DS DSELT OF DD~ CONTROL AP~A PERFUKM P(JINT ~lND TYPf C ON A DSECT Of lOS CONTR0L APFA k~C~lATL I U FOR A ro~ ~AlF (}SE:C"f uf [Hl$ CONTROL ARFA ~(t Al) Wk 1 TE MODUL E FeR no S DSEeT OF DD~ CDNTROL APfft AL.1LAl kEAG WRITf FOR A ro~ D~ECT G~ DGS CONTRPL Ar~A klLtASE A urSOECP u~ECT uF DDS (ONTROl APfA kbSt:~V~ A ULSDECR LS~CT UF DOS (ONTPOl AfFA GDS FAILOVFP/RfSTART DDS kEAL lIME COpy ~'hAf\;C. ()[;~;N1Pl S~~AhE O[JSGSt:C T LL ~~ A eStlT Uf GDS CONTROL AREA LJPPS~kCH DPPSSRC~ ~t:ARCH uPP~STl DPPSSTl STOW fOR A [iDS DPPSSWCH Df'PSShCh DPPSTbOS LPPSTUOS l;PPSUNlK DPPSUNlK l.JLISUS[C 1 LJD!:.uSE:LT uuSu~I:.CT DPPSLNSH DPPSltNSH (;PPSWf.-ST uPPSXTCE GPP!:>Wf<.Sl [;PPTlBGT DPPTCSVC lJPf'TLLGl DPfJTCSVC [JPPTDlMP GJ.;PTiJLMP DI.JSLSl:Cl DPPSX1CA T~bLf: FC~, AN £NTkY wt-J () (;SECl UF nDS C(lNTROL AFfA SWITC.H PF,1r-1ARY TO BACKUP FPR A [.'DoS LS~LT OF 80S CONTROL AR[A lAKE A bACKUP OUT f1F srRVICF ll~t:CT CF 0US CONTPOl AFF A uO~, LStCl OF GDS CONTRnl Ar~~ GSELT UF ~US CONTROL APfA L[;S wRITL STATUS lL(AT~ AlLUCATE A nOSXTCBC Fnk AN INPUT LSlCl O~ DOS CONTROL Apr~ (EG~l TYPf 1 SVC RnUTINf Ct-';AIN TYPE. 1 SVC ROUTINf VALlf 11'( [;PTCS\tC 1 Ct-;Ali'-4 FUl"CTION ['PPTUlMP DPTDLMf.'l LUAD MUGUlE PUPGE RFfNTRANT TLEX LCD U5f SCAN TtbX LCb PUkGE SCAN TtLX PO~l SCAN ~TIMEk t:XIT RTN DPTLlMP~ DPTDlMP4 CPP1DSVC lENGT~ UNSHAt-\E A DDS uPTLJLf'I,P2 uPPTDSVC A FIXED UNlU( K A f..;D~uSfLl [IL'~' IJPTfJlf -""" Copy 1 ~-.--- .. } Copy 2 Logging Array Copies r---..-. _------ '- --" :- DBDADD Figure C-8. VS Resident Loggable Array/DA Resident Log Array Relationship C-11 LICENSED MATERIAL - PROPERTY OF IBM DBINIT DO ... r........... -"~ DBINIT Data Set r---. -" PDS Directory Entry Member Name Item Control Record Data Record t DBlltEMR DBII#ARY{N) DBAl TSEC HDR DBII #LCB(M) DBALTSEC #1 DBII#DDN(L) DBIIRES2 DBALTSEC #(N-l) DBflDARY DBAl TPRI HDR DBALTPRI '1 DBALTPRI #(N-l) DBlOCCB HDR DBLOGCB #1 DBLOGCB #(M-l) DON HDR DON #1 DON #(L-l) Figure (-9. DB Initialization Array PDS Directory Entry C-12 LICENSED MATERIAL - PROPERTY OF IBM DBINIT DD ... PDS Directory Entry Member Name Item Control Record Data Record Array Data Figure C-10. VS Resident Array PDS Directory Entry C-13 LICENSED MATERIAL - PROPERTY OF IBM DBINIT DO ... PDS Directory Entry Member Name Item Control Record Data Record DBLOGHDR OBLHANAM OBLHWNAM DBLHCOPY DBLHFREQ DBLHBKCP Array Oata Figure C-ll. VS Resident Array with Logging PDS Directory Entry C14 LICENSED MATERIAL - PROPERTY OF IBM DBINIT DO ... PDS Directory Entry Member Name Item Control Record Data Record DBDACNTL DBDATIR DBDABKTl DBDABKOT Figure c- )2. DA Resident Array PDS Directory Entry C15 LICENSED MATERIAL - PROPERTY OF IBM VS Resident Data Base SCVT TIMED Array --- SCVTTIME SCVTTOET :- PTOE PTOENEXT PTOEINVL Repeat for } Figure C-13. Time Management Control Blocks C-16 each unique PTIME request LICENSED MATERIAL - PROPERTY OF IBM SCVT SCVTLKCB --------------~.L9CKCBLK LOCKNEXT LOCKWAIT } Repeat for each unique resource WAtTCaL~ Wait Next Wait ECB Repeat for each task wait for } this resource Figure (-14. LOCK-DEFLOCK Control Blocks C-17 LICENSED MATERIAL - PROPERTY OF IBM The data recording and playback data set is a QSAM sequential data set which contains the data collected as a result of the RECORD macro. It is made up of fixed length physical records which contain variable length logical records. The size of each physical record is specified through the BLKSIZE=parameter of the DRECOUT nn card when recording the data. Any given logical record may span two or more physical records. The data set consists of three types of logical records: pad records, and data records. date records, A date record is written at the beginning of the data set and whenever the date in the Special Real Time Operating System Time Array changes. A pad record is written at the end of a physical record whenever there are less than 50 but more than 0 unused bytes in a physical record. A data record is written as the result of a RECORD macro. Whenever a date or data record spans more than one physical record, the data that is not on the initial physical record is preceded by a subheader on each physical record until the end of the logical record. The format of each logical record is described in Figures C-15 through C-17. C-18 LICENSED MATERIAL - 0 4 2 1 length time ..:>b -I.. array _._.L::"~ flag 40 42 ID I ID 10 8 5 I I fla~_j:~~:,-~-:: I 10 PROPERTY OF IBM I I length header 44 .-. Bytes Field Name ---- Field Description, Meaning, Contents 4 bits flag Flag 4 is specified. 2 length The entire length of the data. 4 bits flag o- Date record contained entirely within one physical record. 1 - Date record spans two or more physical records. 2 length Length is 0 if flag is O. Length is the number of bytes of the logical record contained on the physical record if flag is 1. 28 time a.rray A copy of the Special Real Time Operating System time array contained in the data base. 2-92 ID, Ii) ~ ID,... Valid three-digit hexadecimal numbers that may be used in recording data. Figure C- 15. Date Record C-19 LICENSED MATERIAL - PROPERTY OF IBM o Flag End of physical record 1 Unused Bytes Field Name 4 bits flag Figure C-16 Pad Record C·20 Field Description, Meaning, Contents This field contains a flag of 6 which indicates that the remaining data on this physical record is invalid. LICENSED MATERIAL - o 2 8 4 I ,---f_l_a_g---l_~_llengt h I time PROPERTY OF IBM 10 length] header End 10 Bytes Field Name Field Description, Meaning, Contents 4 bits flag o- Data contained entirely within one physical record. 1 - Data spans two or more physical records. 12 bits ID Three-digit hexadecimal ID supplied during data recording (RECORD macro). 2 length The length of the entire data record. 4 time Time contained in the Special Real Time Operating System time array when the data was recorded, measured in decimal 10 milliseconds units HHMMSSth. 2 length If flag is 0, length is O. Length is the number of bytes of the logical record contained in the physical record if flag is 1. Figure C-17 Data Record C-21 LICENSED MATERIAL - PROPERTY OF IBM The message data set is a partitioned data set. The data set contains variable length records, the maximum size is 291 bytes. Each message is identified by a unique three-digit number. To avoid duplication of numbers. each subsystem of the Special Real Time Operating System will be assigned a unique set of numbers (this is by convention only) for its message. 1. Directory Entry: o B !DPpnnnlllW 14 12 TTRC I Size nnn Message number Blank spaces Relative track position Message length ~~ TTRC Size 2. 1 0 I Member: Flag I RC 3 4 lAC I 5 Lgth luv 10 6 LI CONV I SN I DISP IL] 291 fText There will be a L, CONV, SN, DISP field for each variable specified. Flag RC AC Lgth Figure C-lB C-22 Flag byte in hexadecimal o - do not affix date to message 1 - affix date to message routing code in hexadecimal action code in character length of message in hexadecimal Message Data Set Format LICENSED MATERIAL - PROPERTY OF IBM The CINFD table is placed in the OS/VSl nucleus during the Special Real Time Operating System SYSGEN. In systems without External Interrupt Handling, it resides in the pageable nucleus; otherwise, in the fixed nucleus. The SETPSW routine returns the address of this table in register 1. CINFD +0 Contain the constant C'CINF' CINFDTIT +4 Address of the Type I SVC Branch Table in (DPPTYPlT) module DOMISVCl CINFDT2T +8 +12 Figure C-19 Address of the Type II SVC Branch Table in module DOMISVC2 (DPPTYP2T) CINFDPRB CINFDFRC Nonzero if continuous monitor or PROBE active Failoverl restart writes can be done if zero. CINFD Without External Interrupt Handling C-23 LICENSED MATERIAL - PROPERTY OF IBM The remainder of the CINFD table exists only in systems with external interrupt handling. +12 I CINFDPSW 10 CINFDPSW Save OS/VSl EXT.NEW PSW CINFDPSW CINFDTPE RESERVED External time standard period In seconds +2°10 CINFDPSS +24 10 Address of substitute external FLIH (DOMICEXT) CINFDEBI +28 10 ECB for Failover confirmed external interrupt CINFDTCI Addr of TCB that is waiting on CINFDEBI CINFDEB2 +36 10 ECB for External Time sync interrupt CINFDTC2 Addr of TCB that is waiting on CINFDEB2 CINFDCLK +44 10 TOD clock value when external time sync received +48 10 +52 10 Figure C-20 C-24 CINFDCLK POST Eligibili ty Bits (Note 1) CINFDFLI X'OO'Substitute Ext.FLCH not initialized CINFDCC Condition code from STCK instruction (Bits 2-3 of Byte) CINFDGEN Feature Bytes (Note 2) CINFD with ExternaL Interrupt Handling LICENSED MATERIAL - PROPERTY OF IBM The remainder of the CINFD table exists only in systems with Special Real Time Operating System clock comparator support. CINFDEB3 +56 ECB for clock comparator interrupt 10 CINFDTC3 +6010 Addr of TCB that will wait on above Note 1 CINFDECI lxxx h,{XX CINFDEBI can be posted CINFDEC2 xlxx xxxx CINFDEB2 can be posted CINFDEC3 xxIx xxxx CINFDEB3 can be posted CINFDBTM lxxx xxxx Ext. time standard SYSGENed CINFDBSW xlxx xxx x Failover confirmed interrupt SYSGENed CINFDBCP xxIx xxxx Special Real Time Operating System clock comparator support SYSGENed CINFDEC4 xxxI xxxx Set when failure confirmed signal received Note 2 Figure C-2l CINFD with Clock Comparator Support C-25 LICENSED MATERIAL - PROPERTY OF IBM This section describes the first 620 bytes of the failover/restart bootstrap module (Module DOMIRBT). DOMBVADl Virtual address of first 2K of bootstrap DOMBRADl +4 Real address of first 2K of bootstrap DOMBVAD2 Virtual address of second 2K of bootstrap +8 DOMBRAD2 +12 10 Real address of second 2K of bootstrap DOMBVAD3 Virtual address of DOMIRNIP iJOMBRAD3 Real address of DOMIRNIP DOMBVWK Virtual address of work area DOMBRWK (64 bytes) +28 10 Up to 16 real addresses of work area (32K maximum) DOMBWKL +92 10 Length of work area (32K maximum) (Note 1) DOMBCHRS CCHH of start of real storage dump on failover/re$tart Figure C-22 C-26 DOMBOOTH --Failover/Restart Bootstrap Header (Page 1 of 6) LICENSED MATERIAL - PROPERTY OF IBM DOMBCHRE +1°°10 CCHH of end of Real Storage dump on fai1over/restart data set DOMBCHPS CCHH of start of paging data sets copy on fai1over/ restart data set DOMBCHPE CCHH of end of paging data sets copy on fai1over/ restart data set DOMBCHJQ +112 10 CCHH of start of SYS1.SYSJOBQE dump on fai1over/ restart data set DOMBCHJQ +116 10 CCHH of end of SYS1.SYSJOBQE dump or fai1over/ restart data set DOMBC2JQ +12°10 CCHH of start of first SYSl.SYSJOBQE data set DOMBC2JQ +124 +128 10 10 CCHH of end of first SYSl.SYSJOBQE data set DOMBC3JQ Addr of UCB containing first SYSl.SYSJOBQE data set. DOMBCHJ2 (162 Bytes) CCHHCCHH/ CCHHCCHH & UCB for next 9 SYSl.SYSJOBQE data sets if any DOMBCHSW CCHH of start of SYSl.SYSWADS dump on failover/restart data set DOMBSCHSW CCHH of end of SYSl.SYSWADS dump on failover/restart data set Figure C-22 DOMBOOTH--Failover/Restart Bootstrap Header (Page 2 of 6) C-27 LICENSED MATERIAL - PROPERTY OF IBM Do:t·1BC2SW +300 10 CCHH of start of SYS1.SYSWADS data set DOMBC2SW +304 10 CCHH of end of SYS1.SYSWADS data set +308 10 DOMBC3SW UCB addr for SYS1.SYSWADS 10 Data set (MASTER partition) DOMBCHS1 CCHH of end of ,SWADS dumper on Data set (MASTER partition) DOMBC2S1 CCHH of start of SWADS1 data set (MASTER partition) DOMBC2S1 CCHH of end of SWADSI data set +312 +324 DOMBCHS1 CCHH of start of SWADS dump on fai1over/restart fa11overrr~C!f"!!I"f" DOMBC3S1 UCB address of SWADS data set 10 DOMBCHS2 CCHH of start of SWADS2 dump on failover/restart data set (SLAVE Partition) DOMBCHS2 +332 10 CCHH of end of SWADS2 dump on failover/restart data set (SLAVE Partition) DOMBC2S2 CCHH of start of SWADS2 data set (SLAVE Partition) DOMBC2S2 CCHH of end of SWADS2 data set DOMBC3S2 UCB address SWADS2 data set Figure C-22 C-28 (SLAVE Partition) DOMBCHSP Reserved DOMBOOTH--Failover/Restart Bootstrap Header (Page 3 of 6) LICENSED MATERIAL - PROPERTY OF IBM Reserved +348 +352 10 10 Reserved Reserved DOMBTCBU Address of MASTER RT Job Step TCB DOMBTCBO Address of SLAVE RT Job Step TCB or zero DOMBWTOA Address of a 3210 or 3215 console Reserved DOMBCTLR Control registers 0-15 (64 bytes) DOMBGPR Registers 0-15 for reserve (64 bytes) DOMBRPSW Resume PSW (8 bytes) DOMBRPSW +500 10 DOMBCPUI +504 10 Target for a STIDP instruction DOMBCPUI DOMBCKC Clock comparator value at restart write Figure C-22 DOMBOOTH--Failover/Restart Bootstrap Header (Page 4 of 6) C-29 LICENSED MATERIAL - PROPERTY OF IBM DOMBCKC +516 10 DOMBCK , TOD clock value at restart write DOMBCK DOMBPT CPU timer at restart write DOMBPT DOMBSTE +536 10 Real storage size DOMBTYP UCBTYP field of failover/restart data set +544 10 DOMBMAXB Maximum blocksize of device containing failover/ restart data set DOMBCC Number cyl of device containing failover/ restart data set DOMBHH Tracks/cyl of device containing failover/restart data set DOMBFACT +552 10 Device dependent information DOMBTOL +556 10 Figure C-22 C-30 Device dependent information DOMBOOTH--Failover/Restart Bootstrap Header (Page 5 of 6) LICENSED MATERIAL - PROPERTY OF IBM DOMBDSCB +560 10 DSNAME (44 bytes) and BBCCHHK of format 1 DSCB of failover/restart data set (52 'bytes) DOMBTIME Registers 0 and 1 from TIME macro at restart write DOMBTIME +616 10 Note 1: Figure C-22 The length of the work area "is the same as the maximum blocksize of the device where the failover/restart data set is allocated. DOMBOOTH--Fai1over/Restart Bootstrap Header (Page 6 of 6) C-31 LICENSED MATERIAL - PROPERTY OF IBM CONTROL BLOCKS The following pages contain reference information about content and format of Special Real Time Control Blocks. The control blocks described here are used by more than one module of the system. The block descriptions appear in this section in the order that they appear in this index. DSECT DESCRIPTION MACRO CALL DBALTPRI DBALTSEC DBARRAYD DBBLOCKD DBDACNTL DBDADD DBDEFD DBDIRB DBDIRR DBDMPHDR DBITEMD DBLOGCB DBLOGHDR DBPBT WAREA BRTI BRT2 DRT GFCB GFBE IMP LCB LOCKCBLK WAITCBLK RCT MDT MDAT PTIMEL PTQE PWQE REPL/SUPL PROBL SCVT Primary Array Locator Table Secondary Array Locator Table Array Macro Expansion Block Macro Expansion DA Array Control Header DA DDNAME Table DBDEF Macro Expansion Data Base Directory Entry - BLDL Data Base Directory Entry - READ DUMPLOG Header Record Item Macro Expansion Data Base Logging Control Block Data Base Logging Header Data Base Page Boundary Table Data Base Offline Work Area Type I SVC Branch Table Type 2 SVC Branch Table Data Recording Table GETWA/FREEWA Control Block GETWA/FREEWA Block Entry Input Message Processing Table Load Control Block LOCK Control Block WAIT Control Block Message Pointing Code Table Message DCB Table Message Address Table PTlME Parameter List PTIME Queue Element PURGEWQ Parameter List PATCH/REPATCH Parameter List User Parameter List Special Real Time Operating System Communications Vector Table STAE Command Control Block STAE User EXIT Interface TCB Extension Time Array DSECT Task Management Control Table Work Queue Element Subsystem Communication Vector Table DBALTPRI DSECT DBALTSEC DSECT DBARRAYD DSECT DBBLOCKD DSECT DBDACNTL DSECT DBDADD DSECT DBDEFD DSECT DBDIRB DSECT DBDIRR DSECT DBDMPHDR DSECT DBITEMD DSECT DBLOGCB DSECT DBLOGHDR DSECT DBPBT DSECT DBWAREA DPPXBRT DPPXBRT DRECBLKS DPPXBLKS GFCB=Y DPPXBLKS GFCB=Y IMPBLKS DPPXBLKS LCB=-Y DPPXBLKS LOCK=Y UPPXBLKS LOCK=Y MSGBLKS MSGBLKS MSGBLKS DPPXBLKS PTlMEL=Y DPPXBLKS PTQE=-Y PWQE DPPXBLKS REPL=Y DPPXBLKS REPL=Y DPPXBLKS SCVT=-Y STAEBLK STAEXBK TCBX TIMED TMCT WQE XCVT C-32 STAEBLK STAEXBK DPPXBLKS DPPXBLKS DPPXBLKS DPPXBLKS DPPXBLKS TCBX=Y TIMED=PTlME TMCT=Y WQ=Y XCVT=Y LICENSED MATERIAL - PROPERTY OF IBM Figure C-23 (1 Of 2). DBAL TPRI ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• • PRIMARY ARRAY LOCATOR TABLE • •• • .................................... ................................ . • FUNCTIO" - CONTAIN • USAGE FOR LOCATING AND lSING • •• A CATA BASE ARRAY. • • • REFERENCED BY - CONTROL BLOCK - LABEL = SCVTALOC • • ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ~ HIG~ INFO~~ATICN a SC~T 000 OBALTPRI OSECT •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• •• THESE LABELS DESCRIBE CATA IN FIRST ENTRY 0) CF • Tf-!E TABLE. ENTRY 0 CeNTA INS CONTROL INFORMAT ION AND PO IN TER S. • • • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• T~E 000 000 004 008 OBALTBG1 OBAlT2NO OBAlTLCB OBAlTCC ooe DBALTEN1 08AlTSZ1 OS OS OS OS OS EQU T~E (E"TR~ OF f A(SECCNOARY ALT) ACLOGGING CONTROL BLOCK TABLE) ACCA ODNAME TABLE) OF OeAlTENl-[BAlTBGl PRIMARY AlT ENTRY SIZE F F •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• •• LABELS OESCRI8E [ATA IN ALL SUBSEQUENT ENTRIES Of T~ESe • ooe l~E THE TABLE. 81T OS ORG BIT OS ORG BIT 000 D8ALIGN 004 .OBMIN OS ORG BIT 000 008 OS ORG elT • • •DBMIN .OBINIT 000 • • • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ORG OBAlTBGl *OBRES 000 DARES 001 ·OBBLOCK 000 C8BlOCK 002 .08All GN 000 010 THERE IS ONE ENTRY fOR EACH DATA BASE ARRAY. • •D81NIT OS ORG ·C8RE[NT 8[T •• • 08~EINT OS 7 ON - CA RESIDENT OFF - VS RESIDENT XlCB'OOOOOOOl') .-B'OOOOOOOl' 6 ON - BLOCKED --- OFF - UNBLOCKED Xl(B'OOOOOOlO') .-8'00000010' 5 ON - VS PAGE BOUN[ARY ORIGIN OFF - VS DOU8LEWCRO 80UNCARY OR'GIN XlCS'OOOOOlOO') *-B'00000100' 4 eN - ALIGN TO OCCUpy MINIMUM NUMBER OF ~S PAGES - VALID ONLY IF 81T 5 IS OFf OFF - USE BIT 5 TO DETERMINE BOUNDARY XLC8'OOOOlOOO'. .-8'00001000' 3 eN - INITIALIZE ARRA~ tAlA TO ~S - VALID ONLY IF 81T 7 IS OFf OFF - DO NOT INITIALIZE ARRAY DATA TO ~S XlC8'OOOlOOOO'. .-8'00010000' 2 ON - AFTER RESTART, REINITIALIZE VS ARRAY FROM LOG OA1A SET - VALID ONLY IF 81T 1 IS OFF OFF - 00 NOT REINITIAlIZE ARRAY XLCS'OOlOOOOO'. C-33 LICENSED MATERIAL - PROPERTY OF IBM Figure C·23 (2 Of 2). DBALTPRI 020 *08LOG * * 000 OBLOG 040 *OBOUMMY * * 000 080UMMY 080 000 OBALTFlG DBAL TeTA 001 004 DBALTBCT 006 OBAl TBAS 008 OBAlT8FT 009 OBAlTBOT OOA CBAL TNOX C-34 ORG 81T OS eRG BIT OS ORG DC eQU OS OS OS OS OS OS .-8'00100000' 1 ON - LOGABLE VS 'RRAY - VALID ONl Y IF BIT 1 IS OFF OFF - 'RRAY IS NCT lOGABlE XL(B'01000000') *-B' 01000000' eN - DUMMY ARRAY - NO INITIALIZATION OR a P~OCESSING ~ILL BE PERFCRMEO OFF - REAL ARRAY XLCB'lOOOOOOO'. ·-8'10000000' X'OO' OBAlTFLG CATA ACCRESS/TTR All BLOCK CCUNT H H 8LOCK SIZE/'RRAY SIZE BLOCKS ON FIRST TRACK XL 1 BLeCKS eN OTHER TRACKS XLi H OAOO/lOGC8 TABLE INDEX LICENSED MATERIAL - PROPERTY OF IBM Figure C-24. DBAl TSEC ........... ..................•...............••...................... •• • SEC(NOARY ARRAY LOCATOR TABLE • ••••••••••••••••••••••••••••••••••••••••••••••••••• 4 •••••••••••••••••••• • •• • LOW LSAGE FOR LOCATINC AND LSING ~ FU~CTICN •• CC~TAIN REFERENCED ey - • 000 ceNTROL SLaCK CONTROL BLOCK • = CBALTPRI = OBPBT •• - LABEL : [BALT2~O - LABEL = C8PBTAlT • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• OBALTSfC OSEeT •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• THESE LABELS CESCRI8E TrE CATA IN •• FIRST ENTRY (ENTRY 0) CF * 000 000 002 004 008 OOC 010 I~FOR~ATIC~ A CATA BASE jRRAY • T~E TrE TABlf:. ENTRY a CONTAINS CONTROL (NFORMATION AND POINTERS. • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• CBAlTBG2 OS OF CBALT.NO OS OBAlTNLM OS O~AlTP8T OS OBAlTPBS DS OBALTUNS OS OBALTE~2 OS OBAlTSl2 EQU H H f NUMBER OF NUMBEREC ARRAYS PlLS OF ARRAYS PLUS ONE A{PAGE eOU~CARY TABLE SIZE Of PAGE BOUNCARY TABLE UNUSED OF CBALTEN2-DBALTBG2 SECCNCARY ALT ENTRY SIZE • TrERE IS ONE ENTRY FOR EACH OATA BASE ARRAY. C~E NU~BEREO F F •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• TrESE LABELS DESCRIBE THE •• IN ALL SLBSECUENT ENTRIES OF O~TA 000 008 OOC OOE OaF • • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• OR G a e Al T BG2 • a 10 Tt"E TABLE. CBAlTNAM OBAlTICB CBAL1IRS OBAlTUSE OBALTLCG OPAlTREC as OS OS OS as EQU Cl8 F H Xll XLl 2048 ARRAY ~AME ITEM CONTROL BLOCK TTR NUMBER OF ITE~ CC~TRCL BLGC~S ARRAY ~SE CODE ARRAY lCG FRECUENCY CODE ITEM CONTROL BLeCK RECORD SIZE C-35 LICENSED MATERIAL - PROPERTY OF IBM Figure C-2S. DBARRAYD •••••••••• 4 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• • • ARRAV MACR( eXPANSION OSECT • • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• OBARRAVO OSECT 000 000 ceARSTRT 000 OBARN~ME 008 OBARBKCT OOA OBAR8KSZ OOC CBARCC~M 0140BARES 015 014 08ABLOCK 016 014 OBAALIGN 018 014DBAMIN 01C 014 OBAINIT 024 014 OBAREINT 034 014 08ALCG 054 014 OBAOUMMY 094 014 OBARFLGS 015 08ARUSE 016 OAAOALCG 096 016 DBARFLG2 011 CBARUNUS 01A OBARUPD OlA C~ARUNS2 OlC CAARICBS 020 OAARIC8P 024 CBARCTAS 028 OBAROTAP 02C 08ARNOIT 030 CAARNOBK 034 CBARSTOP ceA~SIZ~ C-36 DS OS OS OS OS OS ORG os ORG OS r.~G os ORG OS ORG OS ORG OS ORG OS nRG CC OS CS C~G DC OS OS CS OS OS OS OS OS OS OS eQU OF CL8 H H eL8 Xl(B'00000001'» +-8'00000001' XLce'OOOOOOlO'. +-e'OOOOOOlC' XL(S'00000100'. +-B'00000100' XL(e'OOOOlOOO'. +-B'00001000' XL(S'00010000') *-8'00010000' XL(R'00100000'J .-B'00100000' XL(S'OlOOOOOO'. .-R'01000000' XL(S'10000000') +-8'10000000' X'OO' X XLCB'lOOOOOOO') +-8'10000000' X'OO' X h H ~ V V V A A OF OBARSTOP-CB~RSTRT ARRAY NAME BLOCK C(UNT BLOCK SIZE CA/LO( 00 NAME USE CODE UNUSEC UPCATE lEVEL UNUSEC A(ITEM CONTRCL BLeCK START) A(ITE~ CCNTRCL BLeCK STOP) ACITEM CATA START) A(ITE~ CAlA STOP) NUMBER CF ITEMS NUMBER OF ~lOCK CCNTROL 8LeCKS LICENSED MATERIAL - PROPERTY OF IBM Figure C-26. DBBLOCKD •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• •• BLeCK MACRO EXPANSION OSECT •••••••••• *••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 000 000 000 002 004 OC8 OOC 010 014 CBBLCCKO OSECT CBBKSTRT OS OF ORBKSNUM OS H CSBKP~UM OS H CPBKBKIS OS V OBAKAK(P OS V OPBKAKDS OS V OBBKAKCP OS V ORAKSTOP D~ OF CSBKSIZE f-QU ceeKSTOP-DB8KSTRT START BLOCK ~UMBER STOP BLOCK ~U~BER 'A(SLOCKED ICB START) A(PLO(KED ICB END) AfBLOCKfD ITEM DATA START. A(BLOCKED ITE~ CATA END) Figure C-27. DBDACNTL ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• •* DA CONTROL ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ~RRAY 000 000 000 008 OOC 000 OOE 010 010 014 016 alB OeCACNTl OPCABGN OBOANAHE OBOATTR CBCABKTl D80ABKCT CeCAUNUS OBOAE~O OPCASllE OBDACTTR DBOABKCT OBOABKSl OBCASTCP OBCAlN1H OSECT OS OS OS OS OS OS OS EQU OS os OS os EQU "EACH~ OF CLa OA ARRAY NAME 414 RELATIVE TTR ON CA DATA SET XLt RECORDS WRITTEN eN FIRST DA TRACK XLl RECORDS WRITTE~ CN OTHER DA T~ACKS XL2 UNUSED OF DBCAENO-OBOABGN Xl4 OB[AC~Tl RECORD TTR eN POS Xl2 CA ARRAY BLeCK COUNT XL2 OA ARRAY SLeCK SIZE OF DBDASTOP-DBCABGN C-37 LICENSED MATERIAL - PROPERTY OF IBM Figure C-28 (1 Of 3). DBDADD .......... .......................................................... . • • DIRECT ACCESS OOhAME TABLE • *• • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• ~ •• FUNCTION - • • A OCB FOR EACH CATA BASE,CATA SET. EAC~ • BOAM OC8 IS PRECEEOEO BY T~E AOOR OF A LOCK CNTL BLOCK. CC~TAINS • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• REFERENCEO BY - 000 080AOO CeNTROL BLOCK = CBALTPRI - LABEL: C8AlTOO • OSECT ••••••••••••••••••••••••••••• *•• •••••••••••••••••••••••••••• *•••••••• •• ~ HEACER F(~ DC~A~E * * TABLE •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••* 000 OBODBG~ 000 OADD~UM 004 OBDOUPD 006 008 OOC OOC OIC OS OS' OS OS OS OF F H H F DC ACO) NUMBER CF ENTRIES CURRENT UPCATE LEVEL SPARE SPARE •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• • • DATA BASE PARTITIONED C'TA SET eCB • •• * •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• DATA ceNTROl BLOCK • • ORIGIN CN WORD eOUNDARY DC OF'O' DIRECT ACCESS OEVICE INTERFACE • FOAD,D'JT8L DC 8l16'0' 020 OBoDI~IT • 021 024 026 028 02C OZD • 030 031 014 OlC OlD 03E 040 041 044 048 04A OftC C-38 • • DC DC DC DC DC DC DC DC DC DC DC DC DC -DC DC DC DC OC DC KEYLE,OEVT,TReAL COMMeN ACCESS METHOD INTERfACE 8UFNO AlICO. Al](l) BUFCB AlleO) 8UFl OSORG BlZ'OOOOOOlCOCOOOOOO' A(1) IOBAD FOUNCATION EXTENSICN BFTEK,Bflh,HIARCHY Rll'OOCOOOOC' AL3(l) ECOAo RECfM BLl'OOOOOOOO' Al3(O) EXlST FOUNCATION BLOCK Cle'OBINIT' DDNAME OflGS Bll'OOOOOOlO' 8l1'OOOOOOOO' IFLG MACR BlZ'OOlOOlOCOOlOOIOO' 8SAM-BPAM-QSAM INTERFACE BL1'OOOOOOOO' Al3Cl) et-eCf<, GERR, PERR Aill SYNAD H'O' CINOI, CIN02 Al2COJ BlI< 51 IE WCPQ, wePt, CFfS~, OFfSW F'O' RERI LICENSED MATERIAL - PROPERTY OF IBM Figure C-2a (2 Of 3). DBDADD 050 054 055 C58 05C DC A( 1 ) DC AllfO. Al3(lJ DC • DC DC 05E DC 060 DC C64 OBOOENOI 0 S DBDOl~ 064 064 074 018 019 07C 01E 080 084 I 08C • • • A(D) DC DC DC DC DC DC DC DC DC DC 095 096 09C OAO OAZ OA4 OA8 OAC OAD DC DC DC OQ4 09A Q99 fQU 0' AlZ(O) A «1 ) OF CBODENDI-CBCDINIT H' •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• •• DC e FOR REA CI NG COM P0 sIr E I TEMS ARRAY •• • •••••••••••••••••••••••••••••••••••••••••• *•••••••••••••••••••••••••••• • DATA CCNTROL BLOCK •DBCDCIDS DC OF'O' ORIGIN eN WORD BOUNCARY DIRECT ACCESS DE\/ICE INTERFACE • DC BLl6'0' FCAO,D'JTBL C85 088 089 A C1 ) IceA NCP ECeR, EOBAD BSAM-ePAM INTERFACE EOBW o (RCT lRECl C~TRl, NOTE, POINT DC * DC DC DC DC DC • aBO OR4 OBb OBB OBC DB DOENDZ OBDDlN2 OBC DBDDHEND OBDOt-DRS • DC DC DC DC A( 1 » AL 1 (0) Al3(1) DC DC H'O' DC DC OS AlZeO) lRECl A(la OF DBDDEND2-DBCDCIDS OF DBOCHEND-CBCDBGN fQU OS EQU KEYlE,DEVT,TRBAl COMMON ACCESS METHOD INTERFACE AlIIO) 8UFNC Al3 (l ) BlJFCB AL2(O) BUFL BlZ'OlOOOCCCOCOOOOOO' DSORG A( 1 ) IOBAD FOUNCATION EXTENSION Bll'OOOCOOOO' BFTEK,BFlN,HIARCHY Al3(1) EOCAD BlI'OOOOOOOO' RECFM Al3(O) EXl ST FCUNDATION BLOCK ClS'OBCIOS' OCNA~E BLl'OOOOOOlO' OflGS BlIIICCOCOOOO' IflG 9lZ'OOlCOOOCOOIOOOOO' MACR BSAM-BPAM-QSAM INTERfACE Bll'OOOOOOOO' Al3(l) CI-ECK, GERR, PERR AU) S'rNAD H'O' CINDI, CINDZ Al2(0) BU .U,.."'lG CS lA4 WANE"-QEr 0<) 188 WANREFSl ns l8C WA~XTREF 1)5 190 WAFSTCTA OS r")~G 210 190 wADElETE OS ORG CS eRG WA~ROlET OS ORG WAFSTIC8 OS ORG WANE"-PDS OS 180 190 WATFST lAO 190 198 190 194 190 192 ORG 190 WAOIRECF 05 191 ORG 190 WAFlG1 DC 191 WAPEPL OS nRG 211 191 WAOTRFNO as nRG WAPRTBU< CS ORG WAINCCIR OS nRG WAFSTCIC OS rqG WANFSCiO OS ORG ~AWRC I CS OS ORG WAENO,cIO as 192 O~G 191 101 191 1131 191 1Al 191 199 L91 195 191 193 11)1 WAF lG2 DC 192 WATSTERR OS 212 192 102 1 92 182 192 1A2 192 O~G WAPR tNT WA SN TK R0 WARC04 WAFlAG3 198 WAPACI( lAO WAPOSCCB C-50 OS ORG OS ORG OS ORG nc os os tdOECE STORAGE) SIZE OF GETMAIN FOR AID TABLE A(AIo UPDATE TABLE) ~(lERO AID IN AID TABLFt F SF F F 4F F F F F r= Xl(S' lecoaoco') *-A'1CCOOOCC' Xl(P.'OOlOOOOO') *-8'0010COOC' Xl(B'OOOlOOOO') *-P'OOOlJOOO' Xl(B'OCCOI000') *-P'00001000' Xl(S'COOOOIOO') *-A'OuOOO}OO' Xl(8'OOOOOOlO' ) *-6'00000010' XlC8'COOu0001') *-R'JOOOOOOl' X'OO' Xl(f:"100008CO' » *-A'lCCOOOOO' XlCB'OlCOOOOO') *- R' 01000000' Xl(B' 00100000') *-8'0010000C' Xl ( B• 000 10 0 0 0 • » *-B'oaOlCOOO' Xl(P.'C0001000'j *-8'00001000' Xl(fPOOCOOIOO') *-B'0000010C' Xl(8'OOOOOOlO') *-""OOOOOOlO' Xl ( P. ' C0000001 ' ) *-8'00000001' X'OO' Xl(B'lOOOOOOO') *-8 'lCOOOOOO' Xl(R'CIOOOOOO') *-8'01000000' Xl(B'001000CO') *-A'0010000C' Xl(B'00010000') *-B'00010000' )C'OO' A(CPPXCeCA) A ( 0 P P )C 0 8l G' OA CNTl RECORD BUFFER OF OLD LCGA8lE ARRA~S OF NEW lOGABlE ARRA~S A(NEW REFRF.S~ TABLE) SIZE CF NEW REFRFSH TABlF. A(NEXT REFRESh TABLE ENTRY' ~UMBER NU~AfR o F A(CBASPCS DCB) LICENSED MATERIAL - PROPERTY OF IBM Figure C-37 (3 Of 3). WAREA \oj AR ece R 05 lA8 WADECBRD OS lAC WAtoo1FSAGf 0') lRO ~ADE~TYP OS 1 C8 WA[ACNTR OS 1 DO iliA S Tnp os WAS I 1£ E OU 11)0 WAUt\E os 250 APEASTnp os APFASIIE EOU 144 F A«(8ASPCSR eC81 F F A(CECel~TUI ~F OF~lVP fa PRINT) RETURN AREA CA ARRAY COUNTFR A(~ESSACE F OR ~203 00 ",AsrOP-WASTART Cll21 ... OLOS 1 Ll~E FOR 5YSPRINT 00 ~REASfOP-AREASTRT Figure C-38, BRT' • • • GENERATE CSECTS FOR eRA~CH TABLES uSEC TO OBTAIN E~TRY POINT ~F SRTns SVC ROUTINES FeR BRA~C~ ENTRY • CSE(T DC A' 0 I A (0) BRTIPSV( CC SR Tl CS v( DC A 10 I p,RTICSVC DC A (0 J E\RTlIIIS\( CC A COl A(O) ARTlSV(P DC AIO) All TlCBeT CC • • 000 AP Tl 000 004 008 DOC 010 Ol4 018 Figur~ • 10=04 ID=CS 10=12 10= 16 I D: 20 10=24 • • • • • X'04' x'oa' NC-NC PATCI- UNU Sf 0 ep ATC'" EP=OPPTDSVC X'OC' (!-Alt-, X' 10' X' 14 I X • IS' GETIFREWA SETPSw EP-=OPP1PSV( FP=OPP1CSVC EP=OPP TWSVC EP -= 0 P Px SVC P C8-( ET /FRE E P 0 P P TC ~G T = C-39. B RT2 • • • oSECT A (0) • DC A(O) • 004 tHH2PT I~ DC 008 BRTlPr,FX CC A10 I • A(O) • OOC BRT2PGFIl DC A (0)> • 010 BI • GFBEL~Tn C-52 feU ALLOCATED GF~flD A(O) *-GFBE (~ CIRCl;L~R LICENSED MATERIAL - PROPERTY OF IBM Figure C-43. IMP 000 000 002 OOA 012 OlA OlB OlC 010 I~P DSECT INPUT MESSAGE PROCESSING TABLE • H-E INPUT ~ESS4GE PROCESSING TAALE( I'1P) IS AN INCORE TABLE WHICH • • • CONTAINS THE VALID SRTOS SYSTEM OPERATCR COCES.T~E I~P CONTA(~S INFCPMATIO~ UTILIZED BY THE SRTOS INPUT MESSAGE ~(~TINES.IT IS * • • I~CLUOED AS ARRAY DPPXI~P I~ THE CAlA BASE AT SYSTEM BUILD TI~E • IMPCNT DC XL2'O' ~U~BER OF E~TRIES IN IMP * THE FOLlCWING PARAMETERS CCNSTITLTE AN ENTRY. I~PC~DE DC ClS" T~E E~TRY CODE IMPTASK DC ClB" TASK~A~E OF TASK TO BE PATC~EC IMPLM CC ClS" fNTRY POINT NAME OF THE LM TO PATCH IMPID OC Xll'O' 10 ASSIGNED LOAD MODULE WHEN PATCHED IMPLGTH DC XL1'O' NU~BER CF BYTES IN E~TRY * T~f ~U~AER OF PARAMETER CONVE~SICN COCES ~ LENGTHS IS EQUAL TO THE • NUMBER OF PARA~ETERS THAT MAY BF PASSED TO THE SPECIFIED lOA( MODULE t~PCCN DC CLl" CONVERSION CODES CF THE PARAMETERS • THAT MAY BE PASSED TO THE LOAD * MODULE. C-CHARACTER (ATA X-HEXADECIMAL DATA F-FULL~O~D DATA • I~PAR~LN DC XLl'O' LENGT~ OF THE PASSED PARAMETER Figure C-44. Lea OSECT 000 L CB ••• Lce • L CBN EX T LOAC CONTROL BLOCK - CHAINED TO TCBX P(INTfR TO NEXT LCB I~ CrlAI~ 000 CC A' 0) • 004 LCRLCAA DC A(O) ADDRESS OF ASSOCIATED Lce eN TMCT-lCB RE~T CH 008 lCBFLAGS DC X'O·. FLAG BIT S ATTRIBUTES MCVEC l~ F~CM POS2ATRl AFTER BLOL OOq LCBATRl DC X' O' • USE CO~NT FOR Lce ON TMCT-Lce RENT CHAIN OOA LCBUSFCT DC H'O' OOC oqG LCB~SECT OOA LCBREQCT OC H'O' REQUEST CCUNT FCR LCB C~ TCBX-LCB CHAIN ENTRY POINT ADDRESS OOC LCBEPAC CC A(O' ENTRY POI~T NAME 010 LCBEPNA~ DC CLS" 018 lCBBlDL DC A(O • • ADDRESS OF BLOL TABLE FOR LCAC BY DPP1SMON ADDRESS nF ECR T~Al DPPTDLMP wAITS ON OlC LCBEceAC DC A(O' LENG TH OF L( e LCBLNTH EQU *-lCR • lCBFl~GS EQU'S LCAfUNRS EQU X'Ol' LCH UNRESOLVEC B[T LCBFTMCT fOU X'04' THIS LCq IS CHAINED TO A TMCT-lCB CHAI~ LCBfLOAD FQU X'OR' LOAD P~OCESSING BY DPPlSMCN RECUESTED LCRFOEL feu X'lO' DELETE PPCCESSING BY CPPTSMCN PEOUESTEO LCAFLMP Eeu X'20' LOAD MCDULf PURGE REQUESTED • LCRATRl feu's - T~fSE ATTRI8UTES ~RE MOVEC IN FRCM PDS2ATRl LCBARENT EQU X'BO' REENTERABLE LCAAREUS Eeu X'40' REUSAHLE lCBAOVlY fOU X'20' IN OVERLAY STRUCTURE lCBAOl fOU X'CS' C~LY LOACABLE LceAEXEC EOU X'02' EXECUTABLE C-53 LICENSED MATERIAL- PROPERTY OF IBM Figure C-45. LOCKCBLK 000 lOCKCBlt< DSECT ••• • .*. LOCK C("TROl BLOCK 000 lOCKNEXT DC 004 lCCK~AME DC 008 l(lCKFLAG DC ORG 009 008 lrCKTC8A DC OOC L OCKNFlG DC ORG 000 OOC LOCKWAIT DC 010 LOCKXCVT DC Ot4 LnCKCNT DC 018 LOCK E~O OS lrCKlNTH EQU A(O. Cl4 • • X'OO' lOCKFLAG A(O) X'O' LOCKNFLG Ala) A(e) H'O' ADDRESS OF NEXT LCC~CBlK RESOURCE f\AME RESOURCE RESERVE FLAG ACCRESS OF TASK CeNTROL I NG RESCURCE ADDRESS OF WAIT ceNTROL BLeCK A(XCVT) NO.OF DEFLOCK'S FOR THIS RESOURCE 00 lOCKENO-LOCKCBLK Figure C-46. WAITCBLK 000 WAITCBLK DSECT 000 WAITFLAG DC X' 0' WAfTFLAG 001 ORG A(OI 000 ~AI TNEXT DC 004 WAITECB "AITH~O DC Feu WAITLNTH EQU C-54 F'O' • WA IT ENO-WA (TCBL K RESOURCf RESERvE FLAG NEXT ~A(T ceNTRaL BLeCK WAIT ECB LICENSED MATERIAL - PROPERTY OF IBM Figure C-47. RCT 000 RCT oSECT ~ESSAGE ROUTING CODE TABLES •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• • ROUTING COOE TABLE(RCT) IS AN INCCRE TABLE • T~E • • • WHIC~ CONTAI~S T~E CeDES OF THE VALID SYSTEM ~ESSAGfS DE~ICES.T~E ROLTI~G CODE TAeLf • C('NTAINS (NFCRt-1ATION UTILIZEC BY T~E SRT(~S PEAL TIMF MESSAGE • HA~DLFR. IT IS INCLUOED AS ARRAY DC,.,XSMPC IN ThE [ATA BASE • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• WTO DESCRIPTOR AND CODES 000 RCT~TO OC Xl4'O' 004 RClCNT rJC XLZ'O' 006 RCTDCCNT DC XL2'O' 008 RCTEPCNT DC XL2'O' • l~f F.NTRY PARA"'ETERS ARE • RCTAlTRC PARAMETERS. OOA R(TRC OC XLI'O' OaR RCTGROUP cr. XLI'O' ROUT(~G T~E NlJ,..BER CF F.~TRIES IN TARLE NUMBER CF OCNAMES IN TABLE NU"'BER OF E~TRY PCI~T NAMES IN TABLE RCTRC RCT~RCUP RCTUNIT RCTDEVCE ANC THE • • • • • OOC RCTUNIT DC XLl'O' 000 DC XLI'O' • • •RCTCEVCf • • FLAG.I-FU~CTICNAL • • • • • •RCTfP • OOE RCTALTRC DC OOF 011 R(Tct~A'" ROUTING CODE ASSIGNEe TO A CEVICE FOR A DISPLAY DEV[CE AN ACCESS AREA IS ASSIGNED.FOR AN CS DEVICE AN INDEX INTO ThE DO~A~E FIELD IS ASSIGNED.FOR A LOAD ,..OOULE A~ INDEX INTO T~E ENTRY PCI~T FIELD IS ASSIGNED. THIS FIELD (NLY HAS "'EANING fCR A DISPLAY DEVICE.(T IS SET TC ZERC FOR ALL OT~ER DEVICES.T~E FUNCTICNAL AREA CF A DISPLAY IS ASSIGNED. AITS 0-3 DESIGNATES A FUNCTlrNAL CR NCN-FU~CTIONAL DEVICE XLl'O' CC ClS' , DC CL8' , O-NO~-FUNCT(C~Al AITS I6-31DESIGNATES THE DEVICE I-SYSTE~ CONSOLE 2-0S DEVICE 3-DISPLAY DEVICE 4-RESERVED 5-LOAC MODULE AN ALTER~ATE ROuTE CODE TO ~HICH MESSAGf CAN BE PASSED OS DEvlCF DCNAME TO kHICH MESSAGE CA~ BE ASSIGNED. ENTRY POINT OF A LOAD ,..ODULE TO WHICH MESSAGES CAN RE PASSED Figure C-48. MDT 000 MDT DSECT ~ESSAGE ••••••••••••••• * •••• • • • • 000 OSE OBF. lIE l1E **~ CCB TABLE ••••••••• *•••••••••••••••••••• * ••••••••••• * •••• T~F MESSAGE CCB TABLE(MCT) IS AN INCORE TABLE wHICH CONTA(NS H"E OPENfD OCR'S USED AY THE SRTOS MESSAGf HA~DLER. ~DT IS BUILT BY T~E ~ESSA(E ~ANOLER INITIALIZATION PRCGRA,... T~E TABLE IS PCl~TEO TO BY THE ~ESSAGE ADDRESS TABLE PHAT». • • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• OPENED MESSAGE CCB MOTMSG DC Cl94 1 • • ANY NUMBER CF CSAM CUTPUT eCB'S MOTQSAMI DC Cl96" MDTQSA~2 DC CL96" MDTQSAM3 DC Cl96" MCAQS,,..4 DC CL96" BE SPECIFIED. OPENFD CSAM OUTPUT OPENED CSAM OUTPUT OPENED QSAM OUTPUT OPfNED CSAM OLTPLT • • CA~ DCB DCB DCB CCB C-55 LICENSED MATERIAL - PROPERTY OF IBM Figure C-49. MOAT 000 MOAT DSECT ~ESSAGE ADDRESS TABLE ••••••••••••••••••••••••••••••••••••••••••••• *•••••••••••••••••••••••• • • • • • 000 001 T~E MESSAGE ADDRESS TABLE(MDAT) IS AN INCORE TABLE WHICH CONTAI~S • THE ACDRESS'S CF LeCK C(NT~Ol BLOCKS,~SG RCT, OPENED DCB'S AND * OTHER INFCRMATION UTILIZED ev THE SRTOS REAL TIME ~ESSAGE HANDLER. IT IS RUILT BY THE MESSAGE HANDLER INITIALIZATICN ~OUTINE. • THE TABLE IS PCINTED TO BY THE SCVT AT LGCATICN SCVTMWA. • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• NUMBER OF CSAM(OS DEVICE)DCB DC Xll'O' ADDRESS'S SPECIFIED •MDATFLG DC XLl'O' RESTART FLG 0- PRE RESTART 1- POST •MDATRES DC XlZ'O' RFSER\lE BYTE MDATC~T ~ESTART 002 004 DC A(O) ACDRESS SRTGS LOCK CONTROL BLCCK UTILIZED BY MESSAGE ~ACRC P~CCfSSOR DC A(O) ADDRESS SRTOS LCCK CONTROL BLCCK UTILIZED BY MESSAGE CUTPUT ~OUTINE DC A(O) 010 MCATMCCB DC 014 MC'ATOOCB DC A(O) A(O) ACDRESS OF MESSAGE RCUTING CODE TABL E ACDRESS nPENED MESSAGE DATA SET CCB ADDRESS OF OPENED CSAM OUTPUT DCB 008 ~OATLCK • •MDATlCKO • • OOC MDATRCT • (DPP~"'SG) (DPPr-'~SG1) Figure C-50. PTIMEL 000 PTIMEL *** • uSECT PTIME INPUT PARAMl:TERS *lit REG 1 • RE'~ (; = ADDR.OF = .*.* >9- = 000 PTIMSflG DC 00(, ORC 009 PTIMCNT DC XLI'O' Al)(v) XLl'O' Al3(O) XLl'O' AL3(O) PTIMSTUP Al3(O) oac PTIMPTCH 0(, AlO) PT IMSTRT PT IMIFLG PTIMINTL PTIMEFLG FTIMSTOP DC. lJC DC DC DC 010 PT IMPARM DC 014 P1IMPTQE DC PT IMLNGH E.CoU *PIIMFPR() f'-:U PTIMFDPC EQU PTIMFDPW EQU PTIHFADR EwU *PTIMCfG EQU EClU EQU PTIMREL PTI"tOD PTIMADJ E~U PTIHAODR EClU PT IMLN E~U C-56 > ZERO) = 4 => AOD OPTION = L ::;) M(JO UPTl(IN * 001 004 005 008 009 SUPERVISOR LIST (IF REG 0 (. => RET OPTION lL=-) lH:L OPTION ACO) ACO) *-PTIMfL PURGE OPTION FLAGS X'ul' X'OZ' X'04' X'40' TIME OPTION FLAGS X'OS' TIME OPTION FLAG START TIME VAlUffOR ADDRESS) PURGE OPTION FL~G INTERVAL TIME VALUE COR ADDRESSt liME OPTION FLA~ STOP TtMf VAlUf.fOR AGORESS) COUNT VAlur PATCH SUPERVISOR LIST PATCH PROBLEM PARAMETeR LISl PTOf AOOR FOR MOD OR DEL PURGf OPATCH : U PURGE DPATCH = C PURGE OEPATCH = W PTOE 10 INCLUDED X'Ol' THIS FIELD CONTAINS COljNT VALUE RELATIVE TIME X'OZ' 100 TIME X'P4' X'80· *-PTIMEL ADJUSTED TIME THIS FIFlO CONTAINS TIME ADDRESS •••* • •*" • ... ** LICENSED MATERIAL - PROPERTY OF IBM Figure C-51. PTOE COO PTOE ••• • • • • 000 004 008 OOC OOE OOF 010 014 OIC 024 02C 020 02E 010 034 018 Ole OSECT PTOf = PTIMER QUEUE *P TQEt\ EXT A PTOf IS CREATED IN RESPCNSE TC A PTIME MACRO CALL. T~E DC P TQ F TIM E CC PTOF It\Vl P TOE CNT PTQFFLGl PTQFFlG2 PTOE P ~ RM PTOFT~SK PTQFEP PTQFPREF PTOEFl AG PTQFCL PTOFPRTY PTOfECA PTQFFREL PTQEFREA PTQFTCAX 040 PT Of PR Bl 048 PTQFORCS ••• •PTQEDEl DC OC CC DC 0C DC DC •PTOEOPU CHAI~ A( OF PTOE'S IS POINTED Te AY a) ACO) ACO, H'O' X'O' X'O' A(O) C lA' , DC CUP' C LB' , DC DC DC DC X'O' t-<. 0' ~ lO » OC ,CC DC DC DC PTOE Eeu PTOFFREE EQU PTQEINF FOU ••• ELf~ENT PTOE EOU PTOFOPC EQU PTOFOPW FOU PTOElt\TH Eeu X'D' A(O) A(O) A (0) 2F'O' F'O' T~E SC~T (SC~TTOETJ. -) NEXT PTOE IN CHAIN - > TIM E 0 F NEXT PAT CH (10M IL uN ITS ) INTERVAL FOR REPEATING PTOES CCUNT VALUE (. PATC~ES UNTIL STOP) FLAG BYTE I fLAG PYTE 2 -) PRCBLEM PARAMETERS PATCH T4SK NAME ENTRY POINT t\AME P~TY REFFRENCE t\AME PATe ... FLAGS QUEUE LENGTH PRTY VALUE ECA FREE LENGTH FREE ADDRESS TCAX PATCH PR08L(IF lESS THAN 8 BYTES) ORIGINAL START TIME FLAG BYTE 1 FLAGS X'Ol' X'02' X'CIt' DELETE THIS PTOE FREE PARM LIST INFINITf prIME FLAG FLAG BYTE 2 FLAGS X'OI' [PATC ~=U X'02' X'04' *-PTr.ENEXT DPATC~=C =,. DPATC ... LENGTH OF prOE C-57 LICENSED MATERIAL - PROPERTY OF IBM Figure C-52. PWQE 000 P""OE ••• • ••• P"OETASI< 000 004 PWOEEP 008 P~OEF(B • •PWOElNTH OSECT PWOE -CSECT USfD TO DESCR(BE INPLT PARAMETERS TO DC DC DC ooe DC 010 P .. OfACCR DC Ol4 P~OEPTN DC 015 • • • •PWOEUNUS OL6 PWOEID C-58 A(O) A(O) A« a » A (0 ) A fa) X'O' A(TAS~ DC DC (R lE~O(SELF) A(ENTPV PCINT NAME) ACfCB) TO BE POSTEC - OPT=(FOST,ECBl ZERO - OPT=NOPCST X' 8 COO 0 0 00' -0 P T: ft AIT FREE= LENGTH FREE: ACDR PARTITtCN FLAGS X'OO' - SUPFPTNS SUPFPTNM ~A~E) PURGE~C PTN,::(~N X'O' X'20' - PTN=SLAVE X'40' • PTN=MASTER X'60' - PTN=FINO UNUSED H'O' WOE 10 LICENSED MATERIAL - PROPERTY OF IBM Figure C-53. REPL/SUPL * PATCH INPUT PAPAMETERS : ** * REG 1 AOCR 0F SUPERVISOR PARAMfTER LIST -SUPL * REG 0 AOOR OF PROBLE~ PARAMETER LIST -PROBL * ** REPATCH tNPUT PARAMETERS * REG 1 ADOR OF REPATCH PARAMETER LIST • ~FG a TYPE INDICATION • •• SUPERVISOR 000 000 000 000 008 010 018 019 01A OlC 020 024 028 * REPL SUPl SUPTASK SUPEP SUPPfHYN SUPfLAG SUPQL Sl;PPRTYV SUPECB SUPFREEL S~PFREEA SUPT(R)( SUPLl~TH OSEC T OS OS DC DC DC DC DC DC DC DC DC CC EOU • EXTENSICN •RE Pl DC • 02C PA~M 030 RFPLPROB C3R R f. Pl A( RF Pl LNTH 03C REPLCHN C40 RFPLXC'VT Rf Pl S 11 •• E~U'S •SUPFOEL PARA~ETER nc E OU REPATC~ PARAMETER LIST FCRMAT OF Of C La' C La' , , CLB' , X'OO' X' ClO' H'O' A( 0» Ala) A(O) A(O) *-SUPL TO SlJfl DC DC Eeu CC lIST I -REPL AIO) XL8'O' A (0. *-REPL A CO) A(O) *-PEPL TASK NAME ENTRY PO INT NAME PATCH ONLY - PRTY REFERENCE FLAG eYTE - SEE Eeu's BELOW eUEUE LENGTt1 PFTY RELATIVE VALUE ECB AC CR ESS FREE LENGTH F RE E A CDR ES S T(AX NA~E TO FCRM REPATCH PARAMETER LIST: ACDR OF PROBL ASSec WITH THIS REPL PROBL MOVED t1ERE IF lE 8 BYlES LONG ACCR CF REPL LENGTH OF REPL TO ~E USED BY PROBLEM PROGRA~S CHAI~ WORD FOR SUPPLIEC REPL'S (~lY ACOR CF XCVT IN PTN W~ERE REPL IS BUilT SIZE OF REPl FOR INTERNAL USE FeR FLAG BYTE SUPFlAG FQU • SUPFOPTH Eeu SUPF I RS T feu SUPFRPTH Eeu SUPFREEP Eeu SUPFPT~S Feu SU PF PT t\M feu SUPNfREf feu • X' a I' X'OZ' X'04' X'CS' X'10' X'20' X'40' X'80' EP DELETE OPTION CPOS=DPATCH C;;PCS:::FIRST fCB REPATCH OPTICN FREE=P PTN=SlAVE PTf'I:=MASTER DC NOT FREE P OR wOPK ~REA (PTIME) Figure C-54. PROBL • PPoeLEM •PROBL fAR~METER 000 CSECT 000 PRCRLNTH DC 002 DC 003 PROBle rc 004 PROAPAPM CC H'It' X' O· X'O' F'O' lIST FORMAT LENGTH OF PROSl INCLUDING THIS WORD RESERVED FOR TASK MGMT 10 'VALUE CMAX=25S) PARAM VALUES (VARIABLE NUMBER) (MI~=4) C-59 LICENSED MATERIAL - PROPERTY OF IBM Figure C-55 (1 Of 3). SCVT <.;OG USECT ~CVT ..... CUMMUNICATIONS VECTOR TABLE - THE SeVT IS POINTED TO BY THE XCVT (XCVTCVTS) - THE SCVT CONTAINS SU8SYSTEM CONTROL INFORMATION * ~C 'IT o vO LlOSt. uC 004 Sf. '11 Xc. 'IT DC 03& 03C S(VTlFLG DC uRG SeVTlOGl Dc.. SeVTlOG2 DC SCVTLOG3 DC ~C VTTMeT )C SCVT1I ... E DC SeVTT~ET DC StVTfLGl DC SCVTRSV DC SCVTPIlO DC !:.tVTPlhl DC SC VTP2LO DC SC 'IT P2H I DC ~C VTRWA u( 'slVTf'L!:.T DC SCVTDUMY DC C4b ORG OOb 009 ooe OOe 010 o 14 018 Olt vL0 021 024 028 OlC 0.30 (, 3 .. (3C SC.VT[JFC1 OC 03E ~CVTOID DC 040 SCVTOFlG DC 041 ORG 04(, SCVTDNXl DC 044 SLVTCfJRV DC u48 SCVTGWLO DC. 04( SC VTGwtH DC. 050 SCVTTlbR DC 054 SCVTT2SR DC (j~8 SCVTMWA DC O~c. 5CVTALOC IJC (,b(J ~CVTt.PBT DC 064 ~CVTDSTR [)( 068 ~CVIO~NO DC AtO) AeO) X'CJO' SCVTLFlG AI 0) A(O) X'o' AL3(O) ACC) Aeu) ACO) AeO) ACO) ACCd 3f'O' SCVTDUMY H'O· h'''' x·o· SCVTOFLG AC(;) AtO) ACO) AfO) Ido) Ae OJ A(O) ACO) AU; ) A(u) A(O) AIO) 010 SeVTALc.a DC ACO) ~CVTlJSRX US 018 5CV1S800 0(, 07C SCvTSSOl DC Cleo ~CVTSt()£ DC 0L4 ~C \;1 SBO:' oc. uSB SCVTSB04 DC. OBC sc.vTSB05 DC. 090 SCVTSBOb DC 094 SCVTS601 DC. 098 SCVTS608 DC 09( SCVT~809 DC CAG ~CVT~BIO DC (;A4 SCVT~ell DC. C-60 • AlO) • At 0) • 06(. !>CVTlKCB DC 0'14 • A(O) • ACO) • A A(O) ACO) ACO) A(O) ACO) A(O) ACO) ACO) A(OI ACO) AIO) ACO) ODS ADDRESS OF EXTENSION LIST POINTER BACK TO XCVT DATA BASE FLAGS DATA BASE LOG FREQUENCIES -> TASK MANAGEMENT CONTROL. TABLE -> TIME AND DATE IN DATA BASE -) T IHE MANAGEMENT T'ABlE FLAG BYTES RESERVED LO ADDR OF HI ADDk OF La A~DR OF HI AODR OF FIRST OR ONLY (THIS) PARTITION fIRST OR ONLY (THIS) PARTITION OTHER (MASTER OR SLAVE) PARTITION OTHER (MASTER OR SLAVE) PARTITION ACRECOROER DCB) PIR TG LAST USED PSCR DUMMY PSLb DUMMY FREE COUNT PSCB ID PSCbFLAG NEXT psce PREVIOUS PSCB Of GETWA CORE OF GETWA CORE • TYPE 1 SVC BRANCH TABLE TYPE 2 SVC BRANCH TABLE • • MSG HANDLEP OCB Db ACPRIMARY ARRAY LOCATOR TABLE) 08 ACPAGE POUNOARY TABLf) Db A'VS RESIDENT DATA BASE-START) ACVS RESIOENT CATA BASE-END) LOCK CONTROL BLOCK CHAIN AIDEFLOCK-LOCK CONTROL BLOCK) CHAIN OF MOOULlS REOUFSTING STAE USER EXIT ROUTIN~S ACGETARRAY) AfPUTARRAY) ACGETITEM) A(PUTITEM) ACGET8LOCK) ACPUl8LOCK) ACMESSAGE HANDLER) ACDEFLOCI() ACLOCK) A CP.ECORO) ODSOPEN ENTRY POINT uO~C.LOSE ENTRY POINT POINTER TO POINTER TO LO ADDRESS HI ADDk~SS AuDRES~ OF ADDRESS UF ADDRESS OF LICENSED MATERIAL - PROPERTY OF IBM Figure C-55 (3 Of 3). SCVT nCB HlU tl!L; S(VTuCHN EQU ~L VT :'lVT~lAt ~C.VTGWBS EQlJ EOU SC VTTWA HtU ::'C.V1OTCB EOU ~c.vr~pwo ..SCVTlNTH EQU NUH _VT f-2f'1 EOU ~ ~(.VHMPT E~U SC VTFSPT H1U SCVlS~~~ TI~E Tep ADDRESS rDPPCTIMl;) SC.VTSB23 ACDPPTSTAE) PRF.166 SCVTSBZ4 CHANIN OF DMP/NOMP MODULES PRF'166 SCVTSB25 A(DPPTGWFW) 5(VT5826 A(PURGEWOJ SCVTSB21 A(DPPTRGWAJ - TRANSWA ROUTINE SCVTSB29 A'OTHER PTN·S JS T(5) .-SCVT LfNGTH OF TASLE SCVTFlGl DEFINITIONS Iht ~(VTFLGI ANU THl XlVT2PFG MUST Pf THl ~AME X'~(' TWU PARTITION OPFRATION FLAG X'4C' MASTER PARTITION FLAG X'ZO' SLAVE PARTITION FLAG •.. SCVTLFLG DEFINITIONS * S( VTRINT HIU ~C.VTROOT DATA BASE REINITIAlIZE (REFRESH) FLAG DA DATA BASE READ ONLY-TEMPORARILY UA DATA BASE READ ONLY-PERMANENT X'SO' X'40' SCVTRDOP EQU X'2u' lQU • Hl USlCT NAMED 'SCVT I~ ~TOWEDt Cc=os Figure C-56. STAEBLK ••• ... ... • ••• STAfRLK I)')t) nSf( T os STAfNFXT nc STAr AI'HHJ DC ')0<, STo\FI>IAXO DC I) 'X, <; TAff.n-,r. rc ))7 STAftr-.A,.. DC )0H '>TAfNA~E CC C I 'J '>TAFF~C OS STAfLl\TH Eeu () ( )r) 1 )4 ••• '" ••• ') TAF DU"'P •')TAfSTEP • • uSl-n Hl OES(RIRE TH OUMF/NO I)U~P (ONHOL Kl()CK5. FAef- PLOCK IS f'lJILT 1/1; qESPCNSE Tn A'STAE' I~P COM~ANC AND IS USrD TO DESCRIAE Tf-F: CPTIONS I~ FFF tC r FOR A SPECIF lEO LeAD MCOULF rJS~(T •... j')f) ..* STAfPlK ••• I)[) AIOI X'O' STAEBlKI OR ZERO STAE/ABENO CPTleN FLAGS "'AX.N(.CF DUMPS TO PE TAKEN NO.OF CU~PS TAKE~ lENGTf- CF LM N~ME ~INEXT X'I}' X'O' X' 0' CUlt OD ~n[ll)LF. STAEEI\O-ST~[RLK STAEAeNO - FlAC OESCRIPTICN rCll • • • • X'90' ~AMF: ••• • ••• A DUIoIP IS RECUESTFD TO TCBCRFQ (TCPClJMPI FLAGS I~ TCRCMP FIElD X'40' A STEP ABFNC HAS BEEN RECUESTFC Cr.RPfSPONDS TO TCBCSTEP (TCASTEP) FLAG') IN TCBCMP ~lflO C[lRRfSPC~O<; Eeu Figure C-56.1. STAEXBK 000 STAE:XBK DSE:CT A(O) 000 STABKNXT OC 004 S TABKLEN DC H'O' 006 S TABKC T DC STABKEPA DC STASKL ... N DC H'O • (lS' A(O) CLS' STACKM~Z 1024 008 STABKEPN [;C (;10 014 C-62 ..* E-QU , , ADDRESS OF NEXT BLOCk OR ZERO SIZE OF THIS 8lOCK COUNT OFl M NAMES IN THIS BLOCK ENTRY POINT NAME OF EXIT ROUTINE ADDRESS OF ROUTINE NA· ... ES OF LOAD MODULES FOR WHICH THIS EXIT ROUTINE IS TO BE PASSED CONTROL If- THEY ABEND MAXI ... UM SIZE OF ATAEXBK LICENSED MATERIAL - PROPERTY OF IBM Figure C-S7. TCBX vl.O T c.t.X ••• • TC.&X USE:(.T Teb lXl~~~luN - AUUkl~~t~ bY rrBUSER FrEl~ OF TCB - TH~ TC8X IS POl~TED TC BY THE TCB (TCBUSlRa - THE TCBX (O~TAINS TASK RELATED INFORMATION *It: 000 TCBXNEXT DC AtO). POINTER TO NEXT TCeX ON THIS CHAIN 004 TCbXNAH~ DC (LS" TA~K NAME IF INDEPENDENT - BLANKS OTHERWISE OoC TCBXLCB UC A(O). lCb CHAIN ORIGIN 010 TCBXWQ DC A(Oa. WO CHAIN ORIGIN ~14 TCbXCWQ DC A(O). CURR~NT WOE IN PROCESS (AlPEADY DECHAINED) 016 TtexuwQ DC ACG). OPAICh WO CHAIN DIC TCBXTGWA OS 2f TASK (AT) GETWA (HAIN ORIGIN 'OUMMY GFBE) 024 ORG TC8XTGWA OIC TCbX1FWD DC AID) uUMMY Gr6~ FORWARD POINTER 020 TCBXT8KW DC ACO) UUMMY ~r8l BACKWARD POINTER 024 TCBX~GWA OS 2F WQ tA~) GETWA CHAIN ORIGIN (DUMMY GFBl) 02C ORG TCBxQGWA 024 TCBXQFWO DC A(O) DUMMY &FBE FORWARD POINT[~ Ola TCBX08KW OC A(O) DUMMY GFBl BACKWARD POINTER 02C TCbXQCVT DC A(O). POINTEk TO D~PXCVT 030 lCBXRSTB DC ACC). POINTlR TO RESOURCE TA~LE 03~ TC6XPARM uL A(u) PuI~TER TO PROBLEM PARAHETtR$ 036 ORG TCBXPARM 034 TCBXSMON DC A(O) CHAIN WORD ~OR TMCTSMON CHAIN u38 TCbXTCb DC AIO) POINTER TO TCB 03e TCBXtCB DL ACOl. ECb OPPTPMON WAITS ON FOR POST BY DPPTPSVC 04G TCbXLECb DC AtO). EeB uPPTPMON WAITS ON FOR POST BY OPPTSMON 044 TCBXFLGl DC X'O'. FLAt BVTl 1 045 lCBXFLG2 DC X'O'. FLAG bYTt 2 040 TCbXL~L DC X'V·. LIMIT ~uEUE LENGTH 041 TCbXCOl DC X·O·. CURRENT QUEUE LENGTH 048 TCbXHWQL DC X'C·. HIGH kAltR ~UEUE LENGTH G~4 TCBXfLG3 UC X'O' fLAG bYTE 3 QUEue ~OlDfR/PRU(ES~UR fLAGS 04A TCbXPRTY £JC PRIOklTY (.4C TCbXlUWQ DC ACO). CLEAN-UP we C~v TCbXPECo UC Ale). ECB DPPT~MON WAITS ON FOR POST BY DPPTDlMP TClXLNTH EOU *-lCBX LENGTH Uf TCBX • FLAG 1 DEFINITIONS TCBXIDOk tQU X'04' TASK DORMANT, WQ IS EMPTY TCBXICHP lQU X'OS' NtW TCBX REQUIRFS CH~P TCBXITCS tOU X'lu' TCB N~ELEO - USEO BY DPPTSMON TC8XIlCB EQ~ X'2v' ~ENT EP ADDRESS NEEDED - USED BY DPPTSMON lCbXlTRM E~U X'~u' TASK TERMINATION REQUIRED TCbXIACT cou x'ao' CUkRtNT WQ ACTIVE * FLAG 2 OEFINITlUNS TCBX20Pl E~U X'll' DPATCH - IMMEDIATE TCBX2DPU EQU X'O~' DPATCH - UNCONDITIONAL TCbX2DPw E~U X'C4' DPATCH - WHENEVER (NEXT TIME TASK IS DORMANT) TCbXlOPC ~~u x'oe' DPATCH - CONDITIONAL (IF TASK IS DORMANT NOW) TCBX2DP EOU lCBX2UPI+1CbX20PU+TCbX20PC+TCBX2DPW * FLAG 3 D~fINITIONS TCbX3QH EQU X'SU' THI~ IS A QUfUE HOlDFR T(BX3QP EQU X'40' THIS IS A QUEUE PROC~SSOR TCBX3SEQ tQU X'ZO' QHUlDlk IS DEFINED SEQUENTIAL TCBX3~~l t~U X'lO' ~HOLulk IS SfOUENTIAL AND SELECTED TCbX3hL~ E~U X·OS' QH OR ~p IS HElO.OO NOT START NEW WORK Tl~X~NO~ tOU X'04' QH - uU NUT ACCfPT PATCHFS • QUEUE HOLDER/QLEUE PROCESSOR EXPANSION TO TC8 EXTENSIUN. • PRESENT ONLY IF fLAG 3 61T TCBX3QH OR TCbX3QP IS ON 054 ORG TC8XPEC8+4 05~ TC6XQ'T DC H'O' NUMb~R UF ENTRI~S IN ADDRESS TABLE 056 lL8X~UlT DC h'O' U~~ LUUNT. NUMAFR OF Woes PPOCfSSfD BY QUEUE NUMH" Uf WI" 'S R [MOVFO FROM QH 05& TC8XQLUk Ll If Ch, AUDR OF LAST QP TO TAKE WORK IF OP, ADOR OF OH WORK WAS TAKEN FROM LAS RESERVED 05C DC F'O' TCBXI.JMAX E:CU 21 MAXIMUM NO. OF CONNECTED BlOCKSCQP-QH XREF AlO) 060 TC6XQALR LC UP TO ~l ADDRESSES OF CONNECTED BLOCKS. IF QH, AODR OF OP'S THAT CAN TAKE WORK IF QP, AUOR OF OH'S FROM WHICH WORK CAN BE M·"·. • • • * TAKt~ C-6: LICENSED MATERIAL - PROPERTY OF IBM Figure C-58. TIMED 000 000 004 TIMED ••• • ••• TIMEHS lIMETOC OSEe T TIMF ARRAY OSECT DC DC DC OOH TJ~fJCAY OOC "q MEMC AY DC 010 1I"4£E8C CC alA TIMEBCAY DC OlC TIMEfC8 DC 020 TIMECFAC OC 02A TIMERClK DC 030 T{MELOCK DC Ol4 TIMEIt\TL DC 038 TIMEECB2 DC OlC TIMEPRTY DC 03E TIMEFRF.Q DC " 03f TIMEFUPO DC 040 TIMEENe CS TlfI1ELNGH Eeu C-64 F'O' f:'O' F • O' FtO' CllO' H'O' FlO' 0'0' 0'0' A(O. F'O' F'O' !-l'O' x'o· X'v' • TOC I~ 10 MIL UNITS Tee IN DECIMAL 10 ~Il UNITS-HHM~SSTH JUlIA~ CATE-CCYYDCCC CAY Of MONTH CATE-O~MDeyyC fPCCIC CATE- DD/MMM/YY DAY Cf YEAR - el~ARY PTIME EeB CCNVfRSICN FACTOR AREA TC STORE CLCCK A(TIME LOCK BLOCK) SYSGE~ priME INTERVAL DELETE EeA P TIM Eel S P 4 TC HI NG P Rlo.n TY TI~E FAILCVER FREe TIME FAIlOVE~ UPDATE 00 T(MEE~C-TIMED LICENSED MATERIAL - PROPERTY OF IBM Figure C.-59. TMCT 000 TMC T ••• • • •• ''''CTAINO OSEeT T~CT: 000 004 TMC TAD EP 008 TMCTF~EE DOC T"'CTSMON OLO 014 OL6 018 OLA OlC 010 ,)lE •TMCTSEce T~CT'ACT YASK MA~AGEMENT DC DC DC DC DC nc AIO) • A(O) • AlO) • A(O) AIO). H' 0' • TMCT'FRE OC r'O'. DC H'O' TMCT'HIX DC ~'O' TMCTFLGt DC x'O'. TMCTRSVI DC X, 0' • TMCTLMP DC H'O'. T~CTL~PO EQU 3. 020 TMCTLCPA OC AlO). 07.4 T~CTCCVT DC AIO) 028 TMCTTMCB DC AIO). 02C TMCTEXGW OS2F 034 OPG TMCTEXGW 02C TMCTEF~O DC AIO) 030 TMCTEBK~ DC ACe) 0~4 T~CTFTXP DC A(O). 038 TMCTCFMR OC AtO) 03C ORG *-4 038 T~CT'GSZ DC X'OO' 0)9 ORG *+3 03C TMCT(F(~ CC 6(0. 040 TMCTREPL or AIO) 044 T~CTPECB DC A(O). TMCTlNT~ fOU *-T~CT • TMCTfLGl DEFINITICNS TMCTLCP.D EOU X'SO' TMC TFL"'P E CU X' 40' 000 GFM8 OSECT • 000 002 004 008 Ooq 008 • GET~A/fREEWA GFMBFCNT GFMB,eLK GfMASIIE GFMBIC DC DC DC DC CRG GFM BGF CB DC Gf~RLNTH EQU • T~BLE - PCI~TEO TO BY THE SC\T - THE 'MCT IS P(l~TED TC BY TrE SCVT (SC~lTMCT. - T~~ TMCT CO~TAINS TASK ~A~AGE~E~T INFCRMATION T~CT'TCB •• •• • CCNT~OL CHAIN ORIGIN FOP INDEPENDENT TC8X'S CHAtN ORIGIN FOP OEPENOENT TCBX'S C~AIN ORIGIN fOR fREE TC8X'S C~AIN ORIGIN OF TCAX'S REQUIRING SMC~ SERVICES (CHAINEC R~ TCRXS~CN ~ORn) Ece CPPTSMON WAITS CN FCR POST BY PMCN c~ SVC CURRENT NUM8EP CF ACTIVE TCRX'S CURRF~T NUMBERCF FREE T(8X'S ~UMRER OF TCBX'S GeTTEN AT INIT TIME HI~ATfR NLMBER OF TCRX'S IN SYSTEM fLAG BITS RESERVFO ~tG~EST POSSIBLE L[MIT PRTY FOR AN~ OPP1FMON DIFFE~ENCE BETWEEN OPPTS~CN'S LMP AND T~CTLMP CHAI~ ORIGIN FOR TMCT-LCR C~AIN ADD~fSS OF CPPX(VT POINTER TC TIME crNT~CL BLOCK EXCLUSIVE (PC) CETwA CHAI~ CRIGIN (DU~MY (FBE) GFAE FOR~ARC PCINTER GFBE BACKWARD PCINTER ACCRESS OF ETXR LSED ~ITH ATTACH OF FMe~ 4CORFSS OF FIRST (ETW4/FREE~A ~AIN BLOCK ~UMMY OU~MY ~L~6ER OF GETWA SIZES AC(RFSS OF FIRST GFCB eN CHAIN CHAIN ORIGIN FOR REPATCH LIST'S Eca DPPTCLMP WAITS CN FeR peST BY OPP1SMON LENGTH OF T~CT - SUBSYSTEM AND GETWA TABLES REeUEST FOR LCB-CELETE PReCESSING BY CPPTSMON INCICA1ES ONE T"'CT-lCB HAD LCBFlMP + LC8FOEL MAIN BLOCK - CNE FOR EAC~ POSSIBLE GET~A SIZE - WILL BE APPENDED CN END OF TMCT - CHAIN P(INTfC TO BY TMCT (TMCTGFMB) ~'O' H'O' CURRENT NUMBER CF FREE BlCCKS I~ITIAL NUMAER OF BLOCKS ALLOCATED SIZE OF BLOCKS I~ THIS FOOL [0 FIELD TO ASSCCIATE GfBE'S TC A GFMB F'O' X'OO' GFMAIO ACe) AODRESS CF GFCB FOR *-GFMB LENGTH Of GFMB T~IS SIZE BLOCK C-SE LICENSED MATERIAL - PROPERTY OF IBM Figu re C-60. WOE 000 WOE ••• DSEeT ~CE •NCN£XT = wORK QUEUE ELEMENT - CHAINED TO Teex (e ACO). DC ACO). DC ACO). DC X'O·. WCFPATC~ DC X'O' WOFRESV DC X'OO' wele DC X'OO' 010 WQEceAD DC ACO. 014 WCPTCB DC ACO). 01S WQFREELN DC ACO). OlC WOFRfEAD DC A(O). 020 WQECBCOD DC ACO). 024 WCPA~.~ DC ACO). 02S ORG WQPARAM 024 WQPROeL tc XLS'O' 02C O~G WQPR(BL 024 WCPR(BLN DC H'O' 026 DC X'O' 021 WQPR(BID DC X'O' 02S WOPROBPA DC F'O' WQL~TH EOU *-wOE WO feU WOE • WOF LAGS Eeu' S weFlFR~p EQU x'Ol' WQFLPAR~ E~U X'04' WOFLARND Eeu X'OS' 000 004 OOS OOC OOD OOE OOF WQLCe WOTcex WQFLAGS C-66 POINTER TO NEXT ~QE IN CHAIN POINTER TO LCB F(R E~TR~ POINT PCINTER TO TCBX ~~ERE we IS CH.I~EO TO FLAG RITS FLAGS FROM PATC~ PARAMETER LIST RESERVED PReBLEM P.PA~ETER Ie VALUE ADDRESS OF fCB SPECIFIED IN ECB= OPERAND PATCHING TASK'S TCB ACORESS FREEMAIN= OPERA~D LENGTH FREEMAIN= OPERA~C ADDRESS cn~PLETICN TO POST USER'S ECB WITH P(INTER TO PROBLE~ PA~AMETERS PRoeL wILL BE ~(~ED INTO WOE .F LE S BYTES LENGTH OF PRceL I~CLUDI~G THIS weRD RESERVED FOR TASK MG~T USE It-VALUE (MAX=255) PARAMETER VALUE LENGTH OF WOE FREE=P ~AS SPECIFIED PROBL PARMLIST ~O~ED INTO wOE ABEND OCCURRED WHILE PROCESSING THIS 'MI~.4) ~OE LICENSED MATERIAL - PROPERTY OF IBM Figure C-61. XCVT 000 xc VT • •• • DSECT OPPXCVT * * 000 004 008 OOC 010 014 OlC 020 021 020 024 028 OlC C30 C34 038 03C 040 = CCMMUNICATIO~S VECTOR TABLE - THE XCVT IS PCI~TEO TC EY EACH TCBX (TCBXDCVT) - T~F XCVT CO~TAIN5 CCNT~GL INFOR~AT((N FC~ SRTOS *XCvTRESv DC AIO). RESERVED WORD - ~LST BE ZEPO XCVTSVCl DC Ale). TYPE 1 SVC INSTRUCTION XC'4TSVC2 f)C ACe). TYPE 2 SVC I~STRUC1ICN XCVTS~C4 DC A(O). TYPE 4 SVC INSTRUCTIO~ XCVTP(SI DC A(O) PAGF SIZE XCvTSROT DC eLS" CATE GF LAST SYSTEM BUILD XCVTSAOP DC ACO) H1-ORDFR BYTE = SYSTE~ BUILD (PTICN FLAGS * 3 LC-ORDER BYTFS = RESERVED - FAllOVER/RESTART XCVT2PFG OS x 2 P~RTITION FLAGS ORG XCVT2PFG XCVTCvTS DC AIO) -) CPPXCVTS CvT XCvTSS~l DC A(O). SUBSYSTEM VECTOR TABLE PCINTERS XCVTSSV2 DC ACO) DISPLAY MGMT CVT POINTER XC~TSS~3 CC ACO) ENERGY MGMT CVT POINTER XCVTSSV4 DC A(O) DATA ACQ CVT POINTER X(~TSSV5 DC A{O). XC~TSSV6 DC A(O). XCVT2PTX DC A(Ot ADDR OF THE OT~ER PARTN XCvT - T~O PA~TN CPERN XCVTPfRF DC A(O) ADDRESS OF THE PA(E FREE (UNFIX) ROLT(~E X(VTDP~ EQU XCVTSSV4 XCVTECVT ECU XCVTSSV3 XC~TCCVT ECU X(VTSSV2 SYSTE~ AUILC OPTICN FLAGS * XCVTFDCS fCU X'Ol' DUPLICATE tATA SET suppeRT FLAG XCVTFFAl Eeu X'02' FAll(VER RESTART FLAG xCVTFEXT FCU X'04' EXTERNAL INTERRLFT HA~DLER FLAG XCVTINTF EQU X'08' fNO OF INITIALIZATION FLAG X(vTPRS EQU X'lO' PRE-RESTART FLAC xCvT,IPL ECU X'20' I~ITIAL [PL FLAG XCVTCPU FCU X'40' SA~F. CPU AS IPL FLAG XCvTPR08 fCU X'SO' PRF-PRC8E FLAG • X(VT2PFG DEFINITIONS • NOTE THE XCVT2PfG ~ND THE SCVTFLGl MLST RE T~E SAME XCVTF2PT ECU X'SO' TWO PAPT[TICN OPERATION FLAG XCVTFMPT ECU X'40' ~ASTEP PARTITI(~ XCVTFSPT feu X'20' SLAVE PARTITIG~ xeVTRSNC ECU X'lO' SLAVE ~TN HAS BEE~ RE-SYNC'ED XCVTLNTH FCU *-XCVT LENGTH OF TABLE C-67 LICENSED MATERIAL - PROPERTY OF IBM Appendix D. INTERNAL MACROS This section contains a list of internal macros and their calling sequences. These macros are restricted to use by the Special Real Time Operating System. 0-1 LICENSED MATERIAL -.; PROPERTY OF IBM CBFREE The CBFREE macro releases control of a work area in protected storage. This area must have been previously obtained by executing a CBGET macro call. Symbol AD~={ad!~!SS} CBFREE [{: DC:::: ~ l::!~!SS} }] Where 'r' is a general-purpose register, 2-12 _.L ADDR= Indicates the address of the protected storage area to be freed. If 'r' is specified, the register contains the address of the work area as returns to the caller after a CBGET macro execution. If an address is specified, it is the label of a fullword that contains the address of the work area as returned to the caller after a CBGET macro execution. DCVTR=r Where 'r' is the general-purpose register (2-12) that contains the address of the XCVT. DCVTLOC=r Where 'r' is the general~purpose register (2-12) enclosed in parenthe-. ses having the address of a 4-byte core location that contains the address of the XCVT. DCVTLOC=address Where 'address' is the label of a 4-byte core location that contains the address of the XCVT. 0-2 LICENSED MATERIAL - PROPERTY OF IBM CBGET The CBGET macro is used to obtain a protected storage area to be used as a work area by the Special Real Time Operating Systems routines. The address of the storage area is returned in register 1. Symbol CBGET Where 'r' is a general-purpose register, 2-12 I length= is the length of the requested work area that can be specified in any RX-type format or in a general-purpose register. DCVTR=r Where 'r' is the general-purpose,register (2-12) that contains the address of the XCVT. DCVTLOC=(r) Where 'r' is the general-purpose register (2-12) enclosed in parentheses having the address of a 4-byte core location that contains the address of the XCVT. DCVTLOC=address Where 'address' is the label of a 4-byte core location that contains the address of the XCVT. 0-3 LICENSED MATERIAL - PROPERTY OF IBM DPPFIX The DPPFIX macro provides the facility for fixing pages in a virtual storage environment. r-----------------r--------------,----------------------------------~ Symbol (r) } (r) } . HGIIADDR= { address DPPFIX LOWADDR= { address [(.~::::::{::~;~ss}l] Where 'r' is a general-purpose register, 2-12 I HGHADDR= is the address of the upper boundary of a virtual storage area that is to be page fixed. This address will be rounded up to the next page boundary, if required. If 'r' is specified, the register contains the upper boundary address. If an address is specified, it is a label of a fullword that contains the address of the upper boundary. LOWADDR= is the address of the lower boundary of a virtual storage area that is to be page fixed. This address will be rounded down to the previous page boundary, if required. If 'r' is specified the register contains the lowerJJoundary address. If an address is specified, it is a label of a fullword that contains the address of the lower boundary. DCVTR=r Where 'r' is the general-purpose register (2-12) that contains the address of the XCVT. DCVTLOC=(r) Where 'r' is the general-purpose register (2-12) enclosed in parentheses having the address of a 4-byte core location that contains the address of the XCVT. DCVTLOC=address Where 'address' is the label of a 4-byte core location that contains the address of the XCVT. 0-4 LICENSED MATERIAL - PROPERTY OF IBM DPPFREE The DPPFREE macro provides the facility for freeing pages in a virtual storage environment that have been page fixed as the result of a DPPFIX macro call. Symbol J DPPFREE (r) I I HGHADDR- \ address , I (r) [(~::: f::;;;:: II] Where 'r' is a general-purpose register, 2-12 I HGHADDR= is the address of the upper boundary of a virtual storage area that is to be page freed. This address will be rounded up to the next page boundary, if required. If 'r' is specified, the register contains the upper boundary address. If an address is specified, it is a label of a fu11word that contains the address of the upper boundary. LOWADDRis the address of the lower boundary of a virtual storage area that is to be page freed. This address will be rounded down to the previous page boundary, if required. If f r ' is specified, the register contains the lower boundary address. If an 'address' is specified, it is a· label of a fullword that contains the address of the lower boundary. DCVTR=r Where 'r' is the general-purpose register (2-12) that contains the address of the XCVT. DCVTLOC=(S) Where 'r' is the general-purpose register (2-12) enclosed in parentheses having the address of a 4-byte core location that contains the address of the XCVT. DCVTLOC=address Where 'address' is the label of a 4-byte core location that contains the address of the XCVT. 0-5 LICENSED MATERIAL - PROPERTY OF IBM SETPSW The SETPSW macro provides the Special Real Time Operating System with the capability of changing the current program status word (PSW) to alter the storage protect ke~ mode, and/or system mask. On return, register zero will contain a parameter that will enable the user to restore the PSW the previous status (i.e., status immediately prior to the execution of the SETPSW macro) Symbol SETPSW ·[ KEY-1T~B}] [.sTATE=lp~l] [{ ,:::::r) }] DCVTLOc-l (r ) I ' [. INT-l~l] , I address Where 'r' is a general-purpose register, 2-12 KEY= is used to set the storage key in the PSW. '0' provides the user with the supervisor storage key and 'TCB' sets the protect key to the task protect key. STATE= is used to set the mode in the PSW. 's' puts the CPU in a supervisor mode and 'pp' puts the CPU in a problem program mode. INT= is used to set the system mask in the PSW. 'D' disables all I/O and external interrupts. 'E '~nables all I/O and external interrupts. REG= is used to restore the PSW to the previous status. The register specified must contain the parameter that is returned in register zero as the result of a previous SETPSW macro call. The 'REG=' parameter and either the 'KEY=', 'STATE=', or 'INT=' parameters are mutually exclusive. DCVTR=r Where 'r' is the general-purpose register (2-12) that contains the address of the XCVT. DCVTLOC=(r) Where 'r' is the general-purpose register (2-12) enclosed in parentheses having the address of a 4-byte core location that contains the address of the XCVT. 0-6 LICENSED MATERIAL - PROPERTY OF IBM DCVTLOC=address Where 'address' is the label of a 4-byte core location that contains the address of the XCVT. 0-7 LICENSED MATERIAL - PROPERTY OF IBM WTFAILDS The WTFAILDS macro writes the failover/restart data set. Symbol WTFAILDS [ f . \ .DCVTR=(r) • DCVTLOCk Iad~:~SS I]I Where 'r' is a general-purpose register, 2-12 DCVTR=r Where 'r' is the general-purpose register (2-12) that contains the address of the XCVT. DCVTLOC=(r) Where 'r' is the general-purpose register (2-12) enclosed in parentheses having the address of a 4-byte core location that contains the address of the XCVT. DCVTLOC=address Where 'address' is the label of a 4-byte core location that contains the address of the XCVT. D-8 READER'S COMMENT FORM IBM System/370 Special Real Time Operating System L Y20-2228-1 Programming RPO Z06751 Systems logic Manual Please comment on the usefulness and readability of this publication, suggest additions and deletions, and list specific errors and omissions (give page numbers). All comments and suggestions become the property of IBM. If you wish a reply, be sure to include your name and address. LICENSED MATERIAL - PROPERTY OF IBM COMMENTS fold fold fold fold • Thank you for your cooperation. No postage necessary if mailed in the U.S.A. FOLD ON TWO LINES, STAPLE AND MAIL. L Y20-2228-1 Your comments, please ... This manual is part of a library that serves as a reference source for systems analysts. progrc:..nmers, and operators of IBM systems. Your comments on the other side of this (rrm will be carefully reviewed by the persons responsible for writing and publishing tills material. All ~omments and suggestions become the property of IBM. Fold .. ~ .. .. Fold ~ .. .. . . . . . . .. . . . . .. . . . . . . . . . . . . . ., . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . . . .. . III I NO POSTAGE NECESSARY IF MAILED INTHE UNITED STATES - 'BUSINESS REPLY MAIL FIRST CLASS PERMIT NO. 40 ARMONK, N.Y. POSTAGE WILL. BE PAID BY ADDRESSEE: International Business Machines Corporation 1133 Westchester Averiue White Plains, New York 10604 Att: Technical Publications/Systems - Dept. 824 ............................................................................................................................................. LICENSED MATERIAL - PROPERTY OF IBM Fold ==-= =® -- ------ --- -- -- ----~-.- Fold LY20-2228-01 IBM System/370 Special Real Time Operating System Programming RPO L.uti751 Systems logic Manual Printed in U.S.A. LY20-2228-1 ~ m u. 0 >- to: W 0- 0 a: 0- I .J e( a: w te( :E c w en Z w U ::J @) 11111111 lUI. 1111111 ..... 00 N N N 6 N >.....J 11:11:11 11111111
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2014:04:16 09:02:38-08:00 Modify Date : 2014:04:16 09:28:26-07:00 Metadata Date : 2014:04:16 09:28:26-07:00 Producer : Adobe Acrobat 9.55 Paper Capture Plug-in Format : application/pdf Document ID : uuid:ba8efde2-a3f6-6647-9137-dd3f00d32f29 Instance ID : uuid:881bdb0f-9c7a-f94e-8e83-7059801cbd57 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 839EXIF Metadata provided by EXIF.tools