cdc:nos2.source:nam5871:hpnoffn
Table of Contents
HPNOFFN
Table Of Contents
- [00015] PRGM HPNOFFN
Source Code
- HPNOFFN.txt
- *DECK HPNOFFN
- USETEXT NIPDEF
- USETEXT AT
- USETEXT ACB
- USETEXT APPSTAT
- USETEXT OVERLAY
- USETEXT PARAMP
- USETEXT PARAMS
- USETEXT PT
- USETEXT DUMPFLG
- USETEXT FLIST
- USETEXT MSGIDX
- USETEXT SUPMSG
- USETEXT SCPCOM
- PRGM HPNOFFN ;
- STARTIMS;
- #
- *1DC HPNOFFN
- * 1. PROC NAME AUTHOR DATE
- * HPNOFFN L.T.NGUYEN 82/06/16
- *
- * 2. FUNCTIONAL DESCRIPTION:
- * PROCESS NET/OFF/N AND FAIL/APP/N FROM APPLICATION.
- *
- * 3. METHOD USED:
- * IF NETTED OFF APPLICATION IS NS OR CS, SEND REG/CP.
- * IF NOT PRU APPLICATION, GO AHEAD RELEASE THE ACB.
- *
- * 4. INPUT PARAMS:
- * PARAMP1 - APPLICATION NUMBER OF NETTED OFF APPLICATION
- *
- * 5. EXIT PARAMS:
- * NONE.
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED
- * NIPDEF AT ACB
- * OVERLAY PARAMP PARAMS
- * PT
- *
- * 7. ROUTINES CALLED
- * NCREGCP OVL SEND REG/CP
- * RELACB OVL RELEASE ACB
- * OVLCALL LOAD AND EXECUTE OVERLAY
- * XTRACE TRACE PROCEDURE CALL
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
- * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY
- *CALL OPSIZE
- * THIS PROGRAM IS CALLED BY HPPUT.
- *
- *
- #
- STOPIMS;
- #
- XREF
- #
- XREF LABEL RJMAIN ;
- XREF PROC ABORT ;
- XREF PROC MGETS ;
- XREF PROC MRELS ;
- XREF PROC OSCCALL ;
- XREF PROC OMSG ;
- XREF PROC RDUMP ;
- XREF PROC OVLCALL ;
- XREF PROC XTRACE ;
- ITEM AN ;
- ITEM FLOFFAD I ; # ADDRESS OF FLHEAD FOR NETOFFN CASE#
- ARRAY LOCALFL S(FLSIZE) ;
- BEGIN
- ITEM FLWORD U(0,0,60) ;
- END
- ITEM REASON U ;
- ITEM FLNTRY U ;
- BEGIN # HPNOFFN #
- P<SUPMSG> = WLADDR + AIPHSIZE + ABHSIZE ;
- CONTROL IFEQ DEBUG,1;
- IF PFCSFC[0] EQ NETOFFN
- THEN
- XTRACE("NOFFN") ;
- ELSE
- XTRACE("FAILN") ;
- CONTROL FI;
- P<SMNVF> = P<SUPMSG> ;
- AN = NETAN ; # APPLICATION NUMBER #
- P<AT> = PTAT[0] ;
- P<ACB> = ATACBA[AN] ; # ACB OF NETOFFED APPL. #
- IF PFCSFC[0] EQ NETOFFN
- THEN
- BEGIN # NET OFF CASE #
- # CALLING SCP TO DISCONNECT SHORT AND LONG TERM CONNECTIONS #
- IF ATNVFR[AN]
- THEN
- FLNTRY = 2 ; # WAITING FOR NET/ON/N #
- ELSE
- FLNTRY = 3 ; # APPLICATION NETTED ON O.K. #
- MGETS(FLSIZE+SWPISIZE+FLNTRY*FLESIZE,FLOFFAD,TRUE) ;
- P<FLHEAD> = FLOFFAD ;
- FLID[0] = NONMOVEABLE ; # MAKE FUNCTION WORKLIST NON-MOVE #
- FLAN[0] = AN ; # APPLICATION NUMBER #
- FLFW[0] = 0 ;
- FLFP[0] = FLNTRY ;
- FLFC[0] = SFLIST ; # FUNCTION CODE #
- FLJOBID[0] = ACBJNWD[0] ;
- P<FLE> = FLOFFAD + FLSIZE ;
- FLSCPA[0] = P<FLE> ;
- FLEWD0[0] = 0 ;
- FLEFC[0] = SFENDT ;
- FLEUCPA[0] = ACBUCPADR[0] + 2; # COMPLETION ADDRESS #
- FLEWD0[1] = 0 ;
- FLEFC[1] = SFENDT ;
- FLEUCPA[1] = ACBUCPADR[0] ; # COMPLETION ADDRESS #
- FLEWD0[2] = 0 ;
- FLEFC[2] = SFCLTC ;
- P<FLE> = LOC(FLFW[0]) ;
- OSCCALL(FLE) ;
- P<FLHEAD> = FLOFFAD ;
- END # NET/OFF/N CASE #
- ELSE
- BEGIN # APPL/FAIL/N CASE #
- P<FLHEAD> = LOC(LOCALFL) - 1 ; # BLOCK FOR SCP CALL #
- FLFW[0] = 0 ;
- FLUCPA[0] = -1 ;
- FLFC[0] = SFENDT ;
- FLJOBID[0] = ACBJNWD[0] ;
- P<FLE> = LOC(LOCALFL) ;
- HFCALL = TRUE ;
- OSCCALL(FLE) ;
- HFCALL = FALSE ;
- END # APPL/FAIL/N CASE #
- #
- PROCESS RETURNED REASON CODE
- #
- REASON = FLRC[0] ;
- IF PFCSFC[0] EQ NETOFFN
- THEN
- BEGIN # NETTING OFF CASE #
- IF REASON EQ RCSWAPPEDOUT
- THEN
- BEGIN # SWAPPED OUT DURING NETOFF #
- PARAMS1 = FLOFFAD ;
- FLBS[0] = FLBS[0] - SWPISIZE ; # RESET SCP BUFFER SIZE,THE #
- # REST IS FOR SWIPIN ENTRY #
- PARAMS2 = FLOFFAD + FLBS[0] ;
- PARAMS3 = 0 ;
- OVLNAME = OSCPSIP ;
- OVLCALL ;
- # GO AND RELEASE ACB IF CAN #
- END # SWAPPED OUT #
- ELSE
- BEGIN # OTHER THAN SWAPPED OUT RC #
- MRELS(FLOFFAD) ; # RELEASE THIS FL BUFFER #
- IF REASON EQ RCUCPGONE
- THEN
- BEGIN
- FAILADR = P<ACB> ;
- GOTO RJMAIN ;
- END
- ELSE
- BEGIN # BAD REASON CODE #
- IF REASON NQ 0
- THEN
- BEGIN
- D25M2[0] = "HPNOFFN" ;
- OMSG(DFMSG25,0) ;
- RDUMP ;
- END
- END
- END # OTHER THAN SWAPPED OUT RC #
- END # NETTING OFF CASE #
- ELSE
- BEGIN # HAPFAIL CASE #
- IF REASON EQ RCUCPAOOR
- THEN
- BEGIN # BAD REASON CODE FROM OS #
- D25M2[0] = "HPFAILN";
- OMSG(DFMSG25,0); # "NIP DUMP TAKEN" #
- RDUMP ;
- END # BAD REASON CODE FROM OS #
- END # HAPFAIL CASE #
- IF AN EQ PROCAN[NSORD]
- OR AN EQ PROCAN[CSORD]
- THEN
- BEGIN # CS OR NS WENT AWAY #
- IF AN EQ PROCAN[NSORD]
- THEN
- PROCAN[NSORD] = 0;
- IF AN EQ PROCAN[CSORD]
- THEN
- PROCAN[CSORD] = 0;
- OVLNAME = NCREGCPP ; # SEND REG/CP TO ALL #
- PARAMS1 = 0 ;
- PARAMS2 = 0 ;
- OVLCALL ;
- END # CS OR NS WENT AWAY #
- IF ACBNPRU[0] EQ 0
- THEN
- BEGIN # NO PRU #
- OVLNAME = RELACBP ; # RELEASE ACB AND ACNT #
- PARAMS1 = AN ;
- OVLCALL ;
- END
- ELSE
- ACBWOFF[0] = TRUE ; # TURN ON WORK LIST OFF FLAG #
- GOTO RJMAIN ;
- END # HPNOFFN #
- TERM
cdc/nos2.source/nam5871/hpnoffn.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator