cdc:nos2.source:nam5871:hpnonap
Table of Contents
HPNONAP
Table Of Contents
- [00017] PRGM HPNONAP
- [00089] PROC BLINK
- [00090] PROC MRELS
- [00091] PROC OMSG
- [00092] PROC OSCCALL
- [00093] PROC OSCHAPP
- [00094] PROC RDUMP
- [00095] PROC XTRACE
Source Code
- HPNONAP.txt
- *DECK HPNONAP
- USETEXT NIPDEF
- USETEXT ACB
- USETEXT AHEADER
- USETEXT APPSTAT
- USETEXT AT
- USETEXT AWLNTRY
- USETEXT DRHDR
- USETEXT DUMPFLG
- USETEXT FLIST
- USETEXT MSGIDX
- USETEXT NWLHEAD
- USETEXT PARAMS
- USETEXT PT
- USETEXT SUPABH
- USETEXT SUPMSG
- PRGM HPNONAP; # PROCESS NETON OF (NON-SUP) APPLICATION #
- STARTIMS;
- #
- *1DC HPNONAP
- *
- * 1. PROC NAME AUTHOR DATE
- * HPNONAP E. GEE 77/07/27
- *
- * 2. FUNCTIONAL DESCRIPTION.
- * PROCESS NETON OF (NON-SUP) APPLICATION.
- *
- * 3. METHOD USED.
- * CREATE NET/ON SUPERVISOR MESSAGE TO SEND TO NVF
- * CREATE FUNCTION LIST TO SWAPOUT APPLICATION
- * ISSUE SYSTEM CONTROL POINT FUNCTION
- * PROCESS SCP RETURN CODE
- * IF RETURN CODE EQ 0 OR RCSWAPPEDOUT, THEN QUEUE NET/ON SUP
- * MSG TO NVF-S DATA RING,SCHEDULE NVF,CREATE AWL NETON ENTRY,
- * AND UPDATE ACB FIELDS
- * IF RETURN CODE EQUALS ANYTHING ELSE, THEN RELEASE NWL AND
- * SET DELETE ACB FLAG
- *
- * 4. ENTRY PARAMETERS.
- * PARAMS1 MAXIMUM NUMBER OF CONNECTIONS
- * PARAMS2 APPLICATION NAME FROM FROM NETON NWL ENTRY
- * PARAMS3 DATA AVAILABLE ADDRESS
- * PARAMS4 APPLICATION NUMBER
- * PARAMS5 PRIVILEGE USER BIT
- * PARAMS7 PRIVILEGE PROGRAM BIT
- * NWLADDR NWL ADDRESS
- * SIZENWL SIZE OF NWL BUFFER
- * JOBID APPLICATION JOB ID WORD
- * AWLA UCP AWL ADDRESS
- * CBA UCP COMPLETION BIT ADDRESS
- *
- * 5. EXIT PARAMETERS.
- * PARAMS5 DELETE-ACB FLAG
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * ACB AHEADER APPSTAT AT AWLNTRY
- * DRHDR FLIST
- * NET NIPDEF NWLHEAD OSSIZE
- * PARAMS PT SUPABH SUPMSG
- *
- * 7. ROUTINES AND OVERLAYS CALLED.
- * BLINK LINK DATA BLOCK TO DATA RING
- * MRELS RELEASE BUFFER SPACE
- * OMSG ISSUE DAYFILE MESSAGE
- * OSCCALL ISSUE SCP CALL
- * OSCHAPP SCHEDULE APPLICATION
- * RDUMP DUMP NIP-S FIELD LENGTH
- * XTRACE RECORD PROCEDURE CALLS
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION.
- *
- * THIS PROGRAM IS A SECONDARY OVERLAY LOADED BY SUBROUTINE
- * OVLCALL. WHEN EXECUTION IS 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 SECONDARY
- *CALL OSSIZE
- *
- * THIS OVERLAY IS CALLED BY HPNON.
- *
- #
- STOPIMS;
- #
- ENTERNAL VARIABLES
- #
- XREF
- BEGIN
- PROC BLINK;
- PROC MRELS;
- PROC OMSG; # DAYFILE MESSAGE #
- PROC OSCCALL;
- PROC OSCHAPP;
- PROC RDUMP;
- PROC XTRACE;
- LABEL RJMAIN;
- END
- #
- INTERNAL VARIABLES
- #
- ITEM BUFADDR;
- ITEM BUFSIZE;
- ITEM NVFADDR;
- ITEM AN;
- #*********************************************************************#
- BEGIN
- CONTROL IFEQ DEBUG,1;
- XTRACE("HONAP") ;
- CONTROL FI;
- AN = PARAMS4;
- #
- CREATE NET/ON SUPERVISOR MESSAGE TO SEND TO NVF
- #
- P<DRHDRWD> = NWLADDR; # ADDR OF BUF TO HOLD NET/ON SUP MSG #
- BLKID[0] = DRIDVALUE; # DATA RING BLOCK ID VALUE #
- BLKBS[0] = LNETON + ABHSIZE + DBHSIZE; # SIZE OF SM DATA BLK #
- BUFADDR = NWLADDR + BLKBS[0];
- BUFSIZE = SIZENWL - BLKBS[0];
- # CREATE APPLICATION BLOCK HEADER #
- P<AHEADER> = NWLADDR + DBHSIZE; # ADDR TO HOLD ABH #
- ABHWORD[0] = SMABHW[0]; # SUP MSG APP BLK HEADER #
- ABHTLC[0] = LNETON; # LENGTH OF NET/ON SUP MSG (IN WORDS) #
- # CREATE SUPERVISOR MESSAGE #
- P<SUPMSG> = P<AHEADER> + ABHSIZE; # ADDR TO HOLD NET/ON SM #
- P<SMNVF> = P<SUPMSG>; # BASE NET/ON TEMPLATE #
- NETWD0[0] = 0;
- PFCSFC[0] = NETONR; # PFC/SFC CODE FOR NET/ON/R SUP MSG #
- NETANAM[0] = C<0,7> PARAMS2; # APPLICATION NAME #
- NETMCN[0] = PARAMS1; # MAXIMUN NUMBER OF CONNECTIONS #
- NETNRCN[0] = PARAMS0 ; # NUMBER OF RESERVED OUTGOING CONNS. #
- NETAN[0] = AN; # APPLICATION NUMBER #
- NETWD2[0] = 0;
- NETJSN[0] = C<0,4>JOBID ; # JOB SEQUENCE NUMBER #
- NETPU[0] = PARAMS5 ; # PRIVILEGED USER BIT #
- NETPP[0] = PARAMS8 ; # PRIVILEGED PROGRAM BIT #
- NETACCL[0] = PARAMS7; # APPLICATION ACCESS LEVEL #
- NVFADDR = ATACBA[NVFAN]; # NVF ACB ADDRESS #
- #
- CREATE FUNCTION LIST TO SWAPOUT APPLICATION
- #
- P<FLHEAD> = BUFADDR; # ADDR OF BUF TO HOLD FUNCTION LIST #
- FLWD0[0] = 0;
- FLID[0] = FLIDVALUE; # FUNCTION LIST BLOCK ID VALUE #
- FLBS[0] = FLSIZE; # FUNCTION LIST SIZE #
- FLAN[0] = AN; # APPLICATION NUMBER #
- FLFW[0] = 0;
- FLJOBID[0] = JOBID; # APPLICATION JOB ID WORD #
- #
- ISSUE SYSTEM CONTROL POINT FUNCTION
- #
- P<FLE> = LOC(FLFW[0]);
- FLFC[0] = SFSWPO; # SCP SF.SWPO FUNCTION CODE #
- OSCCALL(FLE);
- #
- PROCESS SYS CON PT CALL RETURN CODE
- #
- IF FLRC[0] EQ 0 OR FLRC[0] EQ RCSWAPPEDOUT
- THEN # APPLICATION IS NOW SWAPPED OUT #
- BEGIN
- BLINK(NWLADDR,NVFADDR); # LINK DATA BLK TO NVF ACB DATA RING #
- OSCHAPP(NVFADDR); # SCHEDULE NVF #
- # CREATE AWL NETON ENTRY #
- P<ACB> = ATACBA[AN]; # ACB ADDRESS OD APPLICATION NETTING ON #
- ACBAWLADDR[0] = AWLA; # UCP AWL ADDRESS #
- ACBAN[0] = AN; # PROCESS NUMBER OF APP NETTING ON #
- P<AWLENTRY> = LOC(ACBAWL0[0]); # ADDRESS OF AWL NETON ENTRY #
- AWLEAIPH[0] = 0;
- AWLOP[0] = WLOPNON; # AIP OPCODE FOR NETON #
- #
- U P D A T E A P P L I C A T I O N A C B
- #
- ACBUCPADR[0] = CBA; # UCP COMPLETION BIT ADDRESS #
- ACBWLFWA[0] = BUFADDR;
- P<DRHDRWD> = ACBWLFWA[0];# ADDR OF NEXT NWL ENTRY #
- BLKID[0] = NWLEIDVALUE; # NWL ENTRY ID VALUE #
- ATNVFR[AN] = TRUE; # WAITING-FOR-NET/ON /R-FROM-NVF FLAG #
- ACBWLLWA[0] = BUFADDR + BUFSIZE - 1; # STORE NWL LWA IN ACB #
- BLKBS[0] = ACBWLLWA[0] - ACBWLFWA[0] + 1;
- ATASBO[AN] = TRUE; # SET APP-SWAPPED-OUT-BY-NETON FLAG #
- ACBIASCPA[0] = LOC(ACBAAVAL[0]);
- ACBIAUCPA[0] = PARAMS3; # DATA AVAILABLE WORD ADDR #
- ACBIAFC[0] = SFWRITE; # FUNCTION CODE #
- ACBIAFP[0] = 1; # FUNCTION PARAMETER #
- PARAMS5 = FALSE; # CLEAR DELETE-ACB FLAG #
- END
- ELSE # GOT ABNORMAL SCP FUNCTION RETURN CODE #
- BEGIN
- IF FLRC[0] NQ RCUCPGONE
- THEN # GOT BAD SCP FUNCTION RETURN CODE #
- BEGIN
- RDUMP; # DUMP NIP-S FIELD LENGTH #
- D25M2[0] = "HPNONAP";
- OMSG(DFMSG25,0); # NIP DUMP TAKEN #
- END
- # RELEASE NWL #
- P<DRHDRWD> = NWLADDR; # NWL ADDRESS #
- BLKBS[0] = SIZENWL; # SIZE OF NWL BUFFER #
- MRELS(P<DRHDRWD>);
- PARAMS5 = TRUE; # SET DELETE-ACB FLAG #
- END
- GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
- END
- TERM
cdc/nos2.source/nam5871/hpnonap.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator