cdc:nos2.source:nam5871:ipinith
Table of Contents
IPINITH
Table Of Contents
- [00003] PROC IPINITH
- [00005] IPINITH - IP NAM INPUT TRAFFIC HANDLER.
- [00032] PROC IPIPIDB
- [00033] PROC IPISPSM
- [00034] PROC NETGETL
- [00035] PROC NETREL
- [00036] PROC NETWAIT
Source Code
- IPINITH.txt
- *DECK IPINITH
- USETEXT TEXTIPL
- PROC IPINITH;
- *CALL COPYRITE CDCNET - COPYRIGHT CONTROL DATA. 1992.
- # TITLE IPINITH - IP NAM INPUT TRAFFIC HANDLER. #
- BEGIN # IPINITH #
- #
- **** IPINITH IP NAM INPUT TRAFFIC HANDLER.
- *
- * THIS PROCEDURE HANDLES ALL INPUT THROUGH THE AIP NAM INTERFACE.
- *
- * PROC IPINITH
- *
- * ENTRY NSUP = NAM SUPERVISORY WORD
- *
- * EXIT INPBUF = ARRAY CONTAINING SUPERVISORY/DATA MESSAGE
- * P<ABH> = PTR TO INPUT APPLICATION BLOCK HEADER.
- *
- * METHOD CALL NETGETL FOR EITHER SUPERVISORY MESSAGES OR DATA.
- * IF A SUPERVISORY MESSAGE IS OBTAINED THEN *IPISPSM*
- * IS CALLED, IF DATA IS OBTAINED THE *IPIPIDB* IS CALLED.
- * IF NO NAM INPUT IS AVAILABLE NETWAIT IS CALLED.
- * RELEASE THE DEBUG LOG FILE IF MESSAGE COUNT EXPIRED.
- #
- #
- **** PROC IPINITH - XREF LIST
- #
- XREF
- BEGIN
- PROC IPIPIDB; # PROCESS INPUT DATA BLOCK #
- PROC IPISPSM; # PROCESS SUPERVISORY MESSAGE #
- PROC NETGETL; # GET NEXT BLOCK ON SPECIFIED LIST #
- PROC NETREL; # RELEASE LOG FILE #
- PROC NETWAIT; # SUSPEND NETWORK APPLICATION #
- END
- #
- **
- #
- ITEM GETMLIST U = DATA$; # LIST TO GET TRAFFIC FROM #
- SWITCH GETTRAFFIC # SWITCH TO GET TRAFFIC FROM NAM#
- S0D0G0, # NO DATA AVAILABLE #
- S0D0G1, # NO DATA AVAILABLE #
- S0D1G0, # GET DATA (LIST 1) #
- S0D1G1, # GET DATA (LIST 1) #
- S1D0G0, # GET SM (LIST 0) #
- S1D0G1, # GET SM (LIST 0) #
- S1D1G0, # GET DATA (LIST 1) #
- S1D1G1; # GET SM (LIST 0) #
- CONTROL EJECT;
- #
- **** START OF *IPINITH*
- #
- #
- **** IF NO NAM INPUT IS AVAILABLE CALL NETWAIT.
- * IF TRAFFIC IS AVAILABLE, ISSUE A NETGETL ON EITHER THE
- * SUPERVISORY MESSAGE LIST OR THE DATA LIST, ROTATING BETWEEN THE
- * TWO MESSAGE TYPE. CALL THE APPROPRIATE PROCESSOR.
- #
- P<ABH> = LOC(IABH);
- GOTO GETTRAFFIC[NSUP$SU[0]*4+NSUP$DU[0]*2+GETMLIST];
- S0D0G0: # NO TRAFFIC AVAILABLE #
- S0D0G1:
- IF BLOCK
- THEN
- BEGIN
- NETWAIT(NORMWAIT$, 0);
- END
- ELSE
- BEGIN
- NETWAIT(NOWAIT$, 0);
- END
- GOTO NTHEND; # GO TO COMMON END OF PROCEDURE #
- S1D0G0: # GET SUPERVISORY MESSAGE #
- S1D0G1:
- S1D1G1:
- GETMLIST = SM$; # SET GET MESSAGE TYPE TO SM #
- NETGETL (GETMLIST, IABH, INPBUF, INPSIZE$); # INPUT THE MESSAGE #
- IF ABHABT [0] NQ 0 # NOT A NULL BLOCK FROM NAM #
- AND ABHIBU [0] EQ 0 # AND A BLOCK WAS DELIVERED #
- THEN
- BEGIN
- IPISPSM; # PROCESS SUPERVISORY MESSAGE #
- END
- GOTO NTHEND; # GO TO COMMON END OF PROCEDURE #
- S0D1G0: # GET DATA MESSAGE #
- S0D1G1:
- S1D1G0:
- GETMLIST = DATA$; # SET GET MESSAGE TYPE TO DATA #
- NETGETL (GETMLIST, IABH, # GET CONNECTION TRAFFIC #
- INPBUF, INPSIZE$);
- IF ABHABT [0] NQ 0 # NOT A NULL BLOCK FROM NAM #
- AND ABHIBU [0] EQ 0 # AND A BLOCK WAS DELIVERED #
- THEN
- BEGIN
- IPIPIDB; # PROCESS DATA BLOCK #
- END
- GOTO NTHEND; # GO TO COMMON END OF PROCEDURE #
- NTHEND: # COMMON END #
- IF (IPMC NQ 0) AND
- (NSUP$MC GQ IPMC)
- THEN
- NETREL (NDLFILE, 0, 0); # RELEASE *ZZZZZDN* FILE #
- RETURN; # RETURN TO CALLER #
- END # IPINITH #
- TERM
cdc/nos2.source/nam5871/ipinith.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator