*DECK HGETNWL USETEXT NIPDEF USETEXT NWLHEAD USETEXT SYSCOMD PROC HGETNWL(NEXTNWL); # UPDATE RA.SSC TO PROVIDE NEW NWL # STARTIMS; # *1DC HGETNWL * * 1. PROC NAME AUTHOR DATE * HGETNWL 82/12/13 * * 2. FUNCTIONAL DESCRIPTION * UPDATE RA.SSC TO PROVIDE NEW NWL * * 3. METHOD USED * ALLOCATE A SECOND BUFFER TO SUPPORT DOUBLE * BUFFERING OF INCOMING WORKLISTS. * * 4. ENTRY PARAMETERS * NEXTNWL - FWA OF NEXT NWL BUFFER * * 5. EXIT PARAMETERS * NONE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED * NIPDEF NWLHEAD SYSCOMD * * 7. ROUTINES CALLED * ABORT - ABORT NIP * MGETS - ALLOCATE BUFFER * XTRACE - TRACE PROCEDURE CALL * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * THIS PROCEDURE IS CALLED BY ITABS AND HHIR. # STOPIMS; # FORMAL PARAMETERS # ITEM NEXTNWL U; # FWA OF NEW NWL BUFFER # # EXTERNAL PARAMETERS # XREF BEGIN PROC MGETS; # ALLOCATE BUFFER FOR NWL # PROC ABORT; # ABORT CONTROL POINT # PROC XTRACE; # TRACE PROC CALLS # END # LOCAL PARAMETERS # ITEM BUFFWA U; # FWA OF ASSIGNED BUFFER # BASED ARRAY SCPBUF [0:0] P(1); BEGIN # SCP BUFFER HEADER # ITEM SCPB$ID U(00,00,06); # BUFFER IDENTIFIER # ITEM SCPB$BS U(00,06,18); # BUFFER SIZE # ITEM SCPB$NEXT U(00,42,18); # NEXT NWL BUFFER # ITEM SCPB$HDR U(00,00,60); # NWL HEADER WORD # END CONTROL IFEQ DEBUG,1; ARRAY MSG$HGNWL [0:0] S(3); BEGIN ITEM MSGTXT C(00,00,28) = ["NIP/HGETNWL-BAD NWL BUFFER."]; ITEM MSGEND U(02,48,12) = [0]; END CONTROL FI; #**********************************************************************# BEGIN CONTROL IFEQ DEBUG,1; XTRACE("HGNWL"); CONTROL FI; P = NEXTNWL; # FWA OF NEXT NWL BUFFER # CONTROL IFEQ DEBUG,1; IF SCPB$ID[0] NQ NWLIDVALUE THEN # NEXT PTR IS NOT A NWL BUFFER # BEGIN # ABORT NIP # ABORT(MSG$HGNWL,0); # ABORT NIP # END CONTROL FI; SSCAP[0] = P + BLKHSIZE; # NEXT NWL ADDRESS # SSCLK[0] = FALSE; # ALLOW INCOMING NWL # MGETS(NWLSIZE,BUFFWA,FALSE); # BUFFER AHEAD FOR ANOTHER NWL # SCPB$NEXT[0] = BUFFWA; # SET BUFFER ADDRESS FOR NWL # P = BUFFWA ; # POINTING TO THE SECOND NWL # SCPB$ID[0] = NWLIDVALUE; # SET NWL IDENTIFIER # RETURN; END TERM