* %GOTO PLSSRB1; /* 00050002 MACRO 00100002 IHASRB 00150002 **/ 00200002 *%PLSSRB1:; 00250002 */*********SERVICE REQUEST BLOCK*************************************/ 00300002 */* OS/VS2 RELEASE 2 12/8/72 LEVEL=1 */ 00310002 */* BAL- DSECT ALWAYS PRODUCED, PERFORM USING ON SRBSECT */ 00320002 */* */ 00330002 */* PL/S - SRBSECT WILL BE BASED(SRBPTR) . */ 00340002 */* 1. IF YOU WISH TO APPEND THE SRB TO THE END OF */ 00342002 */* ANOTHER CONTROL BLOCK, SET %SRBLEVEL='N' */ 00344002 */* WHERE N IS AN INTEGER BETWEEN 2 AND 3,INCLUSIVE. */ 00346002 */* SRBSECT WILL THEN BE AN UNBASED LEVEL N VARIABLE. */ 00348002 */* 2. IF YOU WISH TO APPEND ANOTHER CONTROL BLOCK TO THE END */ 00348402 */* OF THE SRB, SET %SRB9999=',', AND THE SEMICOLON AT */ 00348802 */* THE END OF THE SRB WILL BE REPLACED WITH A COMMA. */ 00349202 */* */ 00349602 */* EXAMPLE OF PLACING SRB BETWEEN TWO OTHER BLOCKS: */ 00349702 */* %SRBLEVEL='2' ; */ 00349802 */* %SRB9999=',' ; */ 00349902 */* DECLARE 1 MYBLOCK, */ 00366602 */* 2 MYFIELD, */ 00376602 */* %INCLUDE SYSLIB(IHASRB) ; */ 00378602 */* 2 MYFIELD2 ; */ 00380602 */*******************************************************************/ 00382602 * %GOTO PLSSRB2; /* 00383302 SRBSECT DSECT 00400002 SRB DS 0A 00410002 SRBID DS CL4 EBCDIC ACRONYM FOR SRB 00450002 SRBFLNK DS A FORWARD CHAIN FIELD 00500002 SRBASCB DS A PTR TO ASCB OF ADDRESS SPACE 00550002 * SRB IS TO BE DISPATCHED TO 00600002 SRBFLC DS 0CL8 SRB AREA MOVED TO LOW CORE 00650002 SRBCPAFF DS BL2 CPU AFFINITY MASK 00700002 SRBPASID DS H PURGEDQ ASID IDENTIFIER 00750002 SRBPTCB DS A PURGEDQ TCB IDENTIFIER 00800002 SRBEP DS A ENTRY POINT OF ROUTINE 00850002 SRBRMTR DS A ADDRESS OF RESOURCE MGR RTN 00900002 SRBPARM DS A USER PARAMETER 00950002 SRBSAVE DS A SAVE AREA POINTER 01000002 SRBPKF DS B PROTECT KEY INDICATION 01050002 SRBPRIOR DS B PRIORITY LEVEL INDICATION 01100002 SRBPSYS EQU 0 SYSTEM PRIORITY LEVEL 01150002 SRBPNONQ EQU 4 NON-QUIESCEABLE PRIORITY 01200002 DS BL2 RESERVED 01250002 DS A RESERVED 01300002 SRBEND EQU * END OF SRB 01350002 SRBSIZE EQU SRBEND-SRBSECT SIZE OF SRB 01400002 MEND 01450002 * */ 01500002 *%PLSSRB2:; 01550002 * 01600002 * %IF SRBLEVEL='' 01602002 * %THEN SRBBASE='BASED(SRBPTR)' ; 01604002 * %ELSE SRBBASE='' ; 01606002 * 01608002 * %IF SRBLEVEL='' 01610002 * %THEN SRBLEVEL='DECLARE 1 ' ; 01620002 * 01622002 * %IF SRB9999^=',' 01646002 * %THEN SRB9999=';' ; 01648002 * 01648402 * SRBLEVEL SRBSECT SRBBASE BDY(WORD), 01650002 * 01660002 * 4 SRB , 01670002 * 01680002 * 6 SRBID CHAR(4), /*SRB EBCDIC ACRONYM */ 01700002 * 01750002 * 6 SRBFLNK PTR(31), /*FORWARD CHAIN FIELD */ 01800002 * 01850002 * 6 SRBASCB PTR(31), /*ADDRESS SPACE TO BE 01900002 * DISPATCHED */ 01950002 * 6 SRBFLC BDY(WORD), /*SRB AREA MOVED TO LOW CORE*/ 02000002 * 02050002 * 8 SRBCPAFF BIT(16), /*CPU AFFINITY MASK */ 02100002 * 02150002 * 8 SRBPASID FIXED(15), /*PURGEDQ ASID */ 02200002 * 02250002 * 8 SRBPTCB PTR(31), /*PURGEDQ TCB ADDRESS */ 02300002 * 02350002 * 6 SRBEP PTR(31), /* ENTRY POINT ADDRESS OF 02400002 * ASYNCHRONOUS ROUTINE */ 02450002 * 02460002 * 6 SRBRMTR PTR(31), /* ADDRESS OF RESOURCE MGR 02500002 * TERMINATION ROUTINE FOR 02550002 * PURGEDQ */ 02560002 * 02570002 * 6 SRBPARM PTR(31), /* USER PARAMETER */ 02600002 * 02650002 * 6 SRBSAVE PTR(31), /* SAVE AREA POINTER 02700002 * FOR REDISPATCH OF SUSPENDED S02710002 * SRB. */ 02720002 * 02750002 * 6 SRBPKF BIT(8) , /* PROTECT KEY IN HIGH ORDER 02800002 * 4 BITS, LOW ORDER BITS 0 */ 02850002 * 02860002 * 6 SRBPRIOR PTR(8) , /* PRIORITY LEVEL */ 02900002 * %DCL SRBPNONQ FIXED; /* NON-QUIESCEABLE PRIORITY */ 02950002 * %SRBPNONQ=4; 03000002 * %DCL SRBPSYS FIXED; /* SYSTEM PRIORITY */ 03050002 * %SRBPSYS=0; 03100002 * 03150002 * 6 * CHAR(2), /* RESERVED */ 03200002 * 03250002 * 6 * PTR(31) /* RESERVED */ 03300002 * SRB9999 03350002