* %GOTO IELBSL; /* 00011001 MACRO 00012000 IEZIEL &EXITS= 00020000 LCLA &N,&IELDUM 00030000 .* COMPUTE LENGTH OF NEL EXIT LIST 00040000 &IELDUM SETA N'&EXITS 00050000 &IELDUM SETA 8*&IELDUM 00060000 AIF (&IELDUM EQ 0).IELSTRT 00070000 &IELDUM SETA &IELDUM+8 00080000 .IELSTRT ANOP 00090000 *********************************************************************** 00100000 * * 00110000 * INITIATOR CONTROL INTERFACE * 00120000 * * 00130000 * AOS/2 RELEASE 4, 09/13/74, LEVEL=1 @Z40RPPJ* 00132040 *********************************************************************** 00140000 SPACE 00140100 *********************************************************************** 00141000 * * 00150000 * INITIATOR ENTRANCE LIST (IEL) * 00160000 * * 00170100 *********************************************************************** 00171000 IELLIST DS 0D 00180000 SPACE 00194002 IELSSOBA DS A ADDRESS OF SSOB HEADER 00196002 IELCSCB DS A ------- ADDRESS OF CSCB 00226002 IELOPLST DS A ------- ADDRESS OF INITIATOR OPTION LIST 00230000 IELRTNA DS A RETURN ADDRESS FOR INITIATOR 00240402 IELSTEPL DS A ADDR OF INITS STAE EXIT PARM LIST 00242002 IELLAST DS 0A ------ SYMBOL USED TO SET HIGH-ORDER BIT INDICATING 00260000 * END OF LIST 00270001 IELEXIT DS A ------- ADDRESS OF INITIATOR EXIT LIST 00280000 SPACE 00290000 IELEND EQU X'80' - SYMBOL TO SET HIGH-ORDER BIT OF IELLAST 00300001 IELLEND EQU * 00302002 IELLEN EQU IELLEND-IELLIST LENGTH OF IEL 00304002 SPACE 00310000 *********************************************************************** 00311000 * * 00320000 * INITIATOR OPTION LIST * 00330000 * * 00340000 *********************************************************************** 00341000 IELOPTS DS 0D 00350000 SPACE 00370000 IELOPLEN DS H ------- LENGTH OF OPTION LIST 00380000 IELOPSW1 DS B ------- OPTION SWITCH ONE 00390000 IELDPSWA EQU X'80' DON'T SHARE SWA OPTION ON ATTACH 00392002 IELDWFF EQU X'40' --- BYPASS USE OF DEDICATED WORK FILES 00410000 IELCANF EQU X'08' --- SUPPRESS CANCEL EXCEPT DURING ALLOCATION 00440000 IELONEJF EQU X'04' --- PROCESS ONLY ONE JOB 00450000 IELICMDF EQU X'02' --- INITIATOR TASK INDICATOR 00460002 SPACE 00490000 IELOPSW2 DS B ------- OPTION SWITCH TWO 00500000 IELTIMEF EQU X'80' --- DO NOT TIME STEPS 00510000 IELCRF EQU X'40' --- DO NOT PROCESS CHECKPOINT/RESTART 00520000 IELBPRAC EQU X'04' --- BYPASS RACINIT @Z40RPPJ 00540040 IELONORC EQU X'02' --- BYPASS ALLOCATION RECOVERY 00570000 IELOENQU EQU X'01' --- DO NOT WAIT FOR DATA SETS 00580000 SPACE 00581000 IELTSIZ DS XL1 SIZE OF MASTER'S TIOT 00591002 SPACE 00600100 IELOPSW3 DS B ------- OPTION SWITCH THREE 00601000 IELNSYS EQU 32 DO NOT ASSIGN SPECIAL PROPERTIES 00601402 SPACE 00603000 IELSWAS DS XL1 SWA SUBPOOL NO. FOR SUBTASKS 00605002 DS CL1 ----- RESERVED 00605402 IELOPEND EQU * END OF OPTIONS LIST 00621202 IELOPTLN EQU IELOPEND-IELOPTS LENGTH OF OPTIONS LIST 00624802 SPACE 00628402 *********************************************************************** 00632002 * * 00635602 * INITIATOR EXIT LIST * 00639202 * * 00642802 *********************************************************************** 00646402 IELEXITS DS 0D 00650000 IELEXTLN EQU &IELDUM - SYMBOLIC LENGTH OF EXIT LIST 00660000 *********************************************************************** 00661100 * LINKAGE IDENTIFIERS * 00662000 *********************************************************************** 00663100 IELEXNOP EQU X'00' --- EXIT IS NO-OPED 00664000 IELEXADD EQU X'40' --- BRANCH TO ADDRESS 00665000 IELEXLNK EQU X'80' --- LINK TO NAME 00666000 IELEXXTL EQU X'C0' --- XCTL TO NAME 00667000 *********************************************************************** 00668100 * EXIT IDENTIFIERS * 00668400 *********************************************************************** 00668500 IELRTNEX EQU X'80' --- RETURN EXIT AFTER TERMINATION 00669000 IELPREIN EQU X'40' --- PREINVOCATION EXIT 00669100 IELPSTIN EQU X'20' --- POSTINVOCATION EXIT 00669200 IELPRFRE EQU X'10' --- PRE FREEPART EXIT YM00047 00671302 *********************************************************************** 00673702 SPACE 00675802 &N SETA 1 00677902 AIF (N'&EXITS EQ 0).GENCON 00680000 SPACE 00690000 *********************************************************************** 00691000 * EXIT LIST HEADER * 00691100 *********************************************************************** 00692000 IELXTLEN DS H ------- LENGTH OF EXIT LIST 00700000 IELRTNCD DS CL1 ----- RETURN CODE 00710000 IELRTGD EQU X'00' --- GOOD RETURN CODE 00712001 IELRTALC EQU X'04' --- ALLOCATION UNSUCCESSFUL 00714001 IELRTJCL EQU X'04' JCL ERROR FROM CONVERTER/INTERPRETER 00714402 IELRTJBQ EQU X'08' --- I/O ERROR ON PROCLIB 00716002 IELRTDSI EQU X'0C' --- DATA SET INTEGRITY CANCELLED JOB 00718001 IELRTPRI EQU X'10' --- PRE-INVOCATION EXIT ROUTINE REQUESTED 00718401 * JOB FLUSH 00718801 IELRTPTI EQU X'14' --- POST-INVOCATION EXIT ROUTINE REQUESTED 00719201 * JOB FLUSH 00719601 IELRTJLB EQU X'18' --- JOBLIB CANNOT BE OPENED 00719701 IELRTSLB EQU X'1C' --- STEPLIB CANNOT BE OPENED 00719801 IELRTFLB EQU X'20' --- FETCHLIB CANNOT BE OPENED 00719901 IELPERR EQU X'24' PROGRAM ERROR 00723202 IELRCXT DS XL1 CONTAINS RETURN CODE ORIGIN VALUE 00727202 * NOTE: THE FOLLOWING RETURN CODE ORIGINS HAVE THE SAME VALUE IN THE 00729202 * JSXL 00729602 IELCI EQU 2 CONVERTER,SWA CREATE 00729702 IELINIT EQU 3 INITIATOR 00729802 IELSSJS EQU 4 SUBSYSTEM JOB SELECT 00729902 IELSSI EQU 5 SUBSYSTEM INTERFACE 00733202 IELSUBS EQU 6 SUBSYSTEM 00735202 * 00735602 IELCOM DS A ------- ADDRESS OF COMMUNICATION LIST 00736802 *********************************************************************** 00740102 SPACE 00743402 .NEXT ANOP 00746702 .* EXIT ENTRY NUMBER &N 00750000 AIF ('&EXITS(&N)' EQ 'RTN').GENENTY 00760000 AIF ('&EXITS(&N)' EQ 'PRE').GENENTY 00761000 AIF ('&EXITS(&N)' EQ 'PST').GENENTY 00762000 AIF ('&EXITS(&N)' EQ 'PRF').GENENTY YM00047 00764002 MNOTE ,'INVALID IEL EXIT SPECIFIED' 00770000 MEXIT 00780000 .GENENTY ANOP 00790000 *********************************************************************** 00791000 &EXITS(&N).EXIT DS 0CL8 00800000 &EXITS(&N).EXLK DS XL1 ----- LINKAGE DEFINITION 00810000 &EXITS(&N).EXID DS XL1 ----- EXIT DEFINITION 00820000 &EXITS(&N).EXNM DS CL6 ----- EXIT NAME 00830000 ORG *-4 00840000 &EXITS(&N).EXAD DS A ------- EXIT ADDRESS 00850000 *********************************************************************** 00850100 SPACE 00851000 AIF (N'&EXITS EQ &N).GENCON 00860000 &N SETA &N+1 00870000 AGO .NEXT 00880000 .GENCON ANOP 00890000 MEND , */ 01000001 *********************************************************************** 01001000 *********************************************************************** 01002000 *%IELBSL:; 01010001 */* 01010100 * USE OF THIS MAPPING MACRO IN BSL CAN BE FACILITATED BY USING 01010200 * MACRO IEZIELDF WHICH DECLARES THE DEFAULT VALUES FOR THE IEL 01010300 * EXITS. THE CALLING SEQUENCE FOR IEZIELDF AND IEZIEL IS: 01010400 * % INCLUDE SYSLIB(IEZIELDF), 01010500 * (SPECIFY EXIT LISTS TO BE GENERATED LEAVING OUT REFERENCES TO 01010900 * EXITS WHICH ARE NOT TO BE GENERATED) 01011000 * % RTNEXIT = 'Y', - RETURN EXIT 01011300 * % PREEXIT = 'Y', - PRE INITIATION EXIT 01011400 * % PSTEXIT = 'Y', - POST INITIATION EXIT 01011600 * % PRFEXIT = 'Y', - PRE FREEPART EXIT YM00047 01011702 * % INCLUDE SYSLIB(IEZIEL), 01018402 * */ 01020202 */* **************************************************************** */ 01022002 */* */ 01023802 */* INITIATOR CONTROL INTERFACE */ 01025602 */* */ 01027402 */* AOS/2 RELEASE 4, 09/13/74, LEVEL=1 @Z40RPPJ*/ 01029240 */* **************************************************************** */ 01031002 * % DCL IELLEN CHAR; /*LENGTH OF ENTRANCE LIST*/ 01032802 * % IELLEN = 'LENGTH(IELLIST)'; 01034602 * DECLARE 01036402 * 1 IEL BASED (IELPTR) BDY(DWORD), 01038202 * 2 IELLIST CHAR(24) BDY(DWORD), 01040000 */* **************************************************************** */ 01050000 */* */ 01051000 */* INITIATOR ENTRANCE LIST */ 01051100 */* */ 01052000 */* **************************************************************** */ 01060000 * 3 IELSSOBA PTR (31), /* ADDRESS OF SSOB HEADER*/ 01060402 * 3 IELCSCB PTR (31), /* ADDRESS OF START COMMAND CSCB */ 01060502 * 3 IELOPLST PTR (31), /*ADDRESS OF INITIATOR OPTION LIST*/ 01070000 * 3 IELRTNA PTR (31), /* RETURN ADDRESS FOR INITIATOR*/ 01080402 * 3 IELSTEPL PTR (31), /* ADDR OF INITS STAE EXIT PARM LIST*/ 01082002 * 3 IELEXIT PTR (31), /*ADDRESS OF INITIATOR EXIT LIST*/ 01100000 * 4 IELLAST CHAR (1), /*SYMBOL USED TO SET HIGH ORDER BIT 01110000 * INDICATING END OF LIST*/ 01110101 * 5 IELEND BIT (1), /*HIGH ORDER BIT*/ 01110200 * 5 * BIT (7); 01110300 */* **************************************************************** */ 01111000 */* */ 01112000 */* INITIATOR OPTION LIST */ 01113000 */* */ 01114000 */* **************************************************************** */ 01115000 * % DCL IELOPTLN CHAR; 01115200 * % IELOPTLN = '8'; /*SYMBOLIC LENGTH OF OPTION LIST*/ 01115300 * DECLARE 01115400 * 1 IELOPTS CHAR (8) BASED (IELOPBAS) BDY (DWORD), 01115700 * 3 IELOPLEN FIXED (15), /*LENGTH OF OPTION LIST*/ 01115800 * 3 IELOPSW1 CHAR (1), /*OPTION SWITCH ONE*/ 01115900 * 4 IELDPSWA BIT (1), /* DON'T SHARE SWA OPTION ON ATTACH*/ 01116702 * 4 IELDWFF BIT (1), /*DO NOT USE DEDICATED WORK FILES*/ 01122602 * 4 * BIT (1), /* RESERVED*/ 01123402 * 4 * BIT (1), /* RESERVED*/ 01124202 * 4 IELCANF BIT (1), /*SUPPRESS CANCEL EXCEPT DURING ALLOCATE*/ 01125002 * 4 IELONEJF BIT (1), /*PROCESS ONLY ONE JOB*/ 01125802 * 4 IELICMDF BIT (1), /* INITIATOR TASK INDICATOR */ 01125902 * 4 * BIT (1), /* RESERVED*/ 01126202 * 01128602 * 3 IELOPSW2 CHAR (1), /*OPTION SWITCH TWO*/ 01129802 * 4 IELTIMEF BIT (1), /*DO NOT TIME STEPS*/ 01130602 * 4 IELCRF BIT (1), /*DO NOT PROCESS CHECKPOINT/RESTART*/ 01131402 * 4 * BIT (1), /* RESERVED*/ 01135002 * 4 * BIT (1), /* RESERVED*/ 01135102 * 4 * BIT (1), /* RESERVED*/ 01135202 * 4 IELBPRAC BIT (1), /* BYPASS RACINIT @Z40RPPJ*/ 01135340 * 4 IELONORC BIT (1), /*BYPASS ALLOCATION RECOVERY*/ 01135402 * 4 IELOENQU BIT (1), /*DO NOT WAIT FOR DATA SETS*/ 01136202 * 01137002 * 3 IELTSIZ PTR (8), /* SIZE OF MASTER'S TIOT*/ 01137402 * 01138602 * 3 IELOPSW3 CHAR (1), /*OPTION SWITCH THREE*/ 01139402 * 4 * BIT (1), /*RESERVED*/ 01139802 * 4 * BIT (1), /*RESERVED*/ 01140202 * 4 IELNSYS BIT (1), /*DO NOT ASSIGN SPECIAL PROPERTIES*/ 01140602 * 01141002 * 3 IELSWAS PTR (8), /*SWA SUBPOOL NO. FOR SUBTASK*/ 01141402 * 3 * CHAR (1); /*RESERVED*/ 01141802 */* **************************************************************** */ 01142602 */* */ 01143402 */* INITIATOR EXIT LIST */ 01144202 */* */ 01145002 */* **************************************************************** */ 01145802 */* **************************************************************** */ 01146602 */* LINKAGE IDENTIFIERS */ 01147402 */* **************************************************************** */ 01148202 * % DCL IELEXNOP CHAR; 01149002 * % IELEXNOP = '''00''X'; /*EXIT IS N0-0PED*/ 01149802 * % DCL IELEXADD CHAR; 01150602 * % IELEXADD = '''40''X'; /*BRANCH TO ADDRESS*/ 01151402 * % DCL IELEXLNK CHAR; 01152202 * % IELEXLNK = '''80''X'; /*LINK TO NAME*/ 01153002 * % DCL IELEXXTL CHAR; 01153802 * % IELEXXTL = '''C0''X'; /*XCTL TO NAME*/ 01154602 */* **************************************************************** */ 01155402 */* EXIT IDENTIFIERS */ 01156202 */* **************************************************************** */ 01157002 * % DCL IELRTNEX CHAR; 01157802 * % IELRTNEX = '''80''X'; /*RETURN EXIT AFTER TERMINATION*/ 01158602 * % DCL IELPREIN CHAR; 01159402 * % IELPREIN = '''40''X'; /*PREINVOCATION EXIT*/ 01160202 * % DCL IELPSTIN CHAR; 01161002 * % IELPSTIN = '''20''X'; /*POST INVOCATION EXIT*/ 01161802 * % DCL IELPRFIN CHAR; /* @YM00047*/ 01162202 * % IELPRFIN = '''10''X'; /* PRE FREEPART EXIT @YM00047 */ 01162302 */* **************************************************************** */ 01166702 * % DCL IELDUM FIXED; 01167802 * % IELDUM=0; 01168902 * % IF RTNEXIT ^= ' ' %THEN % IELDUM = IELDUM + 1; 01170002 * % IF PREEXIT ^= ' ' %THEN % IELDUM = IELDUM + 1; 01171102 * % IF PSTEXIT ^= ' ' %THEN % IELDUM = IELDUM + 1; 01172202 * % IF PRFEXIT ^= ' ' %THEN % IELDUM = IELDUM + 1; /* @YM00047*/ 01173102 * % IELDUM = 8*IELDUM; /*8 BYTES PER EXIT ENTRY*/ 01173302 * % IF IELDUM = 0 % THEN % GO TO ENDIEL; /* IF NO EXITS SPECIFIED, 01174402 * DONT ADD HEADER LENGTH*/ 01175502 * % IELDUM = IELDUM + 8; /* ADD HEADER LENGTH */ 01176602 */* **************************************************************** */ 01177702 * DECLARE 01178802 * 1 IELEXITS BDY(DWORD) BASED(IELEXBAS), 01179902 * 2 IELEXHDR BDY (WORD), /*EXIT LIST HEADER*/ 01181002 * 3 IELXTLEN FIXED (15), /*EXIT LIST LENGTH*/ 01182102 * 3 IELRTNCD PTR (8), /*RETURN CODE*/ 01183202 * %DCL IELRTGD CHAR; 01184302 * %IELRTGD='''00''X'; /* GOOD RETURN CODE */ 01185401 * %DCL IELRTALC CHAR; 01195401 * %IELRTALC='''04''X'; /* ALLOCATION UNSUCCESSFUL */ 01205401 * %DCL IELRTJCL CHAR; 01205802 * %IELRTJCL='''04''X'; /* JCL ERROR FROM CONVERTER/INTERPRETER*/ 01207402 * %DCL IELRTJBQ CHAR; 01215401 * %IELRTJBQ='''08''X'; /* I/O ERROR ON PROCLIB */ 01217402 * %DCL IELRTDSI CHAR; 01219401 * %IELRTDSI='''0C''X'; /* DATA SET INTEGRITY CANCELLED JOB */ 01221401 * %DCL IELRTPRI CHAR; /* PRE-INVOCATION EXIT ROUTINE */ 01223401 * %IELRTPRI='''10''X'; /* REQUESTED JOB FLUSH */ 01223801 * %DCL IELRTPTI CHAR; /* POST-INVOCATION EXIT ROUTINE */ 01224201 * %IELRTPTI='''14''X'; /* REQUESTED JOB FLUSH */ 01224601 * %DCL IELRTJLB CHAR; 01225001 * %IELRTJLB='''18''X'; /* JOBLIB CANNOT BE OPENED */ 01225101 * %DCL IELRTSLB CHAR; 01225201 * %IELRTSLB='''1C''X'; /* STEPLIB CANNOT BE OPENED */ 01225301 * %DCL IELRTFLB CHAR; 01242001 * %IELRTFLB='''20''X'; /* FETCHLIB CANNOT BE OPENED */ 01252001 * %DCL IELPERR CHAR; 01254002 * %IELPERR='''24''X'; /* PROGRAM ERROR */ 01256002 * 3 IELRCXT PTR(8), /* CONTAINS RETURN CODE ORIGIN VALUE */ 01258602 */* NOTE: THE FOLLOWING CODE ORIGINS HAVE THE SAME VALUE IN THE JSXL */ 01264202 * %DCL IELCI CHAR; 01266202 * %IELCI='''02''X'; /* CONVERTER SWA CREATE */ 01268202 * %DCL IELINIT CHAR; 01268602 * %IELINIT='''03''X'; /* INITIATOR */ 01269002 * %DCL IELSSJS CHAR; 01269402 * %IELSSJS='''04''X'; /* SUBSYSTEM JOB SELECT */ 01269502 * %DCL IELSSI CHAR; 01269602 * %IELSSI='''05''X'; /* SUBSYSTEM INTERFACE */ 01269702 * %DCL IELSUBS CHAR; 01283602 * %IELSUBS='''06''X'; /* SUBSYSTEM */ 01293602 * 3 IELCOM PTR (31), /*ADDRESS OF COMM LIST */ 01311502 */* **************************************************************** */ 01325401 * % IF RTNEXIT = ' ' % THEN % GO TO IELEX1; 01375401 */* **************************************************************** */ 01425401 * 2 RTNEXT CHAR (8) BDY (WORD) , 01475402 * 3 RTNEXLK CHAR (1), /*LINKAGE DEFINITION*/ 01525401 * 3 RTNEXID CHAR (1), /*EXIT DEFINITION*/ 01575401 * 3 RTNEXNM CHAR (6)BDY(WORD,3), /*EXIT NAME*/ 01625401 * 4 * CHAR (2), 01675401 * 4 RTNEXAD PTR (31), /*EXIT ADDRESS*/ 01725402 */* **************************************************************** */ 01775401 * % IELEX1:; 01825401 * % IF PREEXIT = ' ' % THEN % GO TO IELEX2; 01875401 */* **************************************************************** */ 01925401 * 2 PREEXT CHAR (8) BDY (WORD), 01945402 * 3 PREEXLK CHAR (1), /*LINKAGE DEFINITION*/ 02025401 * 3 PREEXID CHAR (1), /*EXIT DEFINITION*/ 02075401 * 3 PREEXNM CHAR (6)BDY(WORD,3), /*EXIT NAME*/ 02125401 * 4 * CHAR (2), 02175401 * 4 PREEXAD PTR (31), /*EXIT ADDRESS*/ 02225401 */* **************************************************************** */ 02275401 * % IELEX2:; 02325401 * % IF PSTEXIT = ' ' % THEN % GO TO IELEX3; 02375401 */* **************************************************************** */ 02425401 * 2 PSTEXT CHAR (8) BDY (WORD), 02445402 * 3 PSTEXLK CHAR (1), /*LINKAGE DEFINITION*/ 02525401 * 3 PSTEXID CHAR (1), /*EXIT DEFINITION*/ 02575401 * 3 PSTEXNM CHAR (6)BDY(WORD,3), /*EXIT NAME*/ 02625401 * 4 * CHAR (2), 02675401 * 4 PSTEXAD PTR (31), /*EXIT ADDRESS*/ 02725401 */* **************************************************************** */ 02775401 * % IELEX3:; 02825401 * % IF PRFEXIT = ' ' % THEN % GO TO IELEX4; /* @YM00047 */ 02835402 */* *************************************************************** */ 02845402 * 2 PRFEXT CHAR(8) BDY (WORD), /* @YM00047*/ 02855402 * 3 PRFEXLK CHAR(1), /* LINKAGE DEFINITION @YM00047*/ 02869402 * 3 PRFEXID CHAR(1), /* EXIT DEFINITION @YM00047*/ 02871402 * 3 PRFEXNM CHAR(6), /* EXIT NAME @YM00047*/ 02873402 * 4 * CHAR(2), /* @YM00047*/ 02873802 * 4 PRFEXAD PTR(31), /* EXIT ADDRESS @YM00047*/ 02874202 */* **************************************************************** */ 02874602 * % IELEX4:; /* @YM00047*/ 02875102 * 10 * CHAR(1); 02875401 * % ENDIEL:; 02925401