*DECK HPNONVF USETEXT NIPDEF USETEXT ACB USETEXT APPSTAT USETEXT AT USETEXT AWLNTRY USETEXT DUMPFLG USETEXT INPARUT USETEXT KDIS USETEXT KHDRX USETEXT MSGIDX USETEXT NWLNTRY USETEXT OVERLAY USETEXT PARAMS USETEXT PT USETEXT SUPMSG PRGM HPNONVF; # PROCESS *NET ON* RESPONSE FROM NVF # STARTIMS; # *1DC HPNONVF * * 1. PROC NAME AUTHOR DATE * HPNONVF E. GEE 77/06/02 * * 2. FUNCTIONAL DESCRIPTION. * PROCESS NET/ON/N SUP MSG FROM NVF * * 3. METHOD USED. * VALIDATE APPLICATION NUMBER IN NET/ON/R SUP MSG * FILL IN FIELDS OF AWL NETON ENTRY * CLEAR WAITING-FOR-NETON-RESPONSE FLAG IN AT ENTRY * SCHEDULE APPLICATION NETTING ON * * 4. ENTRY PARAMETERS. * WLADDR CURRENT NWL ENTRY (NETPUT) ADDRESS * * 5. EXIT PARAMETERS. * AWLCB =1,THE COMPLETE BIT * AWLRC RETURN CODE * AN APPLICATION NUMBER * * * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * ACB APPSTAT AT * NIPDEF KDIS NWLNTRY OPSIZE PT SUPMSG * * 7. ROUTINES AND OVERLAYS CALLED. * KPUT UPDATE K-DISPLAY INFORMATION * OMSG ISSUE DAYFILE MESSAGES * OSCHAPP SCHEDULE APPLICATION * XTRACE TRACES CALLS * * 8. DAYFILE MESSAGES. NONE * * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE OVLCALL. * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION RJMAIN * TO RETURN TO THE CALLING PROGRAM. * * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY *CALL OPSIZE * * THIS OVERLAY IS CALLED BY HPPUT. * # STOPIMS; # EXTERNAL VARIABLES # XREF BEGIN PROC HSFAPPL; # I S S U E F A I L / A P P L # PROC HSNOFF; # I S S U E N E T / O F F SUP/MSG # PROC KPUT ; PROC OSCHAPP; # SCHEDULER APPLICATION # PROC OMSG; # ISSUE DAYFILE MSG # PROC RDUMP; # DUMP NIP FL # PROC ABORT ; PROC XTRACE; # TRACE CALLS # LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL # END # INTERNAL VARIABLES # ITEM AN; CONTROL IFEQ DEBUG,1; ARRAY BADBUFWA P(4); BEGIN ITEM BADMSG C(0,0,34) = ["BAD AN NET/ON SM RESPONSE FROM NVF"]; ITEM EBADMSG U(3,36,24) = [0]; END CONTROL FI; #**********************************************************************# BEGIN CONTROL IFEQ DEBUG,1 ; XTRACE("HPNVF") ; CONTROL FI; P = WLADDR; # WORKLIST ADDRESS # P = LOC(NWLEABH[0]) + ABHSIZE; # SUP MSG ADDRESS # P = P; # BASE NET/ON TEMPLATE # # CHECK IF VALID AN IN NET/ON/R SUP MSG # AN = NETAN[0]; #APPLICATION NUMBER # P = ATACBA[AN]; # ACB ADDRESS # CONTROL IFEQ DEBUG,1; IF AN LQ NVFAN OR AN GR ATHAN OR NOT ATNVFR[AN] OR ATACBA[AN] EQ 0 THEN # INVALID AN IN NET/ON/R SUP/MSG # BEGIN OMSG(BADBUFWA,0); # SEND NIP DAYFILE MSG # ABORT(0,0) ; END CONTROL FI; # UPDATE APPLICATION NAME TO WHAT WAS RETURNED FROM NVF # ACBANAME[0] = NETANAM[0] ; IF KDST[0] AND ACBKNDX[0] NQ 0 AND ACBKNDX[0] GQ KDAPPST[0] AND ACBKNDX[0] LQ KDAPPND[0] THEN KPUT(KHDRNP[0],ACBKNDX[0]-KDAPPST[0],KPAPNM,ACBANAME[0]) ; # CLEAR WAITING-FOR-NETON-RESPONSE FLAG IN AT # ATNVFR[AN] = FALSE; IF NETK[0] THEN BEGIN ATK[AN] = TRUE; IF KDST[0] AND ACBKNDX[0] NQ 0 AND ACBKNDX[0] GQ KDAPPST[0] AND ACBKNDX[0] LQ KDAPPND[0] THEN KPUT(KHDRNP[0],ACBKNDX[0]-KDAPPST[0],KPAPI,"N") ; END ATXFR[AN] = NETXFER[0] ; # SAVE INFOR ABOUT XFR IN AT # ATPRU[AN] = NETPRU[0] ; # FLAG FOR PRU APPLICATION IF ON # IF NOT ATNVFB[AN] # IF NOT WAITING TO SEND OTHER SM TO NVF # THEN # PROCESS NET/ON RESPONSE FROM NVF # BEGIN # FILL IN FIELDS OF AWL NETON ENTRY # P = LOC(ACBAWL0[0]); # AWL NETON ENTRY ADDR # AWLCB[0] = 1; AWLRC[0] = NETRC[0]; # NET ON RETURN CODE # AWLNIN[0] = INPNIN[1] ; AWLEWD1[0] = AN; # APPLICATION NUMBER OF APP NETTING ON # # SCHEDULE APPLICATION NETTING ON # OSCHAPP(P); END GOTO RJMAIN; # RETURN TO CALLING PROGRAM # END TERM