cdc:nos2.source:nam5871:neton
Table of Contents
NETON
Table Of Contents
- [00013] PROC NETON1)
- [00109] PROC NP$ERR
- [00110] PROC NP$RCL
- [00111] PROC NP$SEND
Source Code
- NETON.txt
- *DECK NETON
- USETEXT AIPDEF
- USETEXT NP$MODE
- USETEXT NP$DB
- USETEXT NP$NWL
- USETEXT NP$ONAM
- USETEXT NP$STAT
- USETEXT NP$ZHDR
- *IF DEF,XFR
- USETEXT NX$ACBF
- USETEXT NX$ACBX
- *ENDIF
- PROC NETON((ANAME),NSUP,RESULT,(MINACN),(MAXACN));
- *IF DEF,IMS
- #
- *1DC NETON
- *
- * 1. PROC NAME AUTHOR DATE
- * NETON S. KRULEVITCH 78/11/10
- *
- * 2. FUNCTIONAL DESCRIPTION
- * SETS AIP VARIABLES TO INITIAL STATE. FORMATS A NETON ENTRY
- * AND SENDS IT TO NIP BY USE OF NETSEND. NIP AND CS WILL THEN
- * EITHER ACCEPT THE APPLICATION AND BUILD TABLES RELEVANT TO IT
- * OR THEY WILL REJECT THE APPLICATION.
- *
- * 3. METHOD USED
- * A NETON ENTRY IS FORMATTED FOR NIP. NIP RETURNS A PROCESS
- * NUMBER AND ON ACCEPT/REJECT CODE (RESULT).
- *
- * 4. ENTRY CONDITIONS
- * ACCEPTED - BOOLEAN VARIABLE WHICH SHOULD BE FALSE ON ENTRY
- * ANAME - APPLICATION NAME
- * MINACN - GREATER THAN ZERO AND LESS THAN OR EQUAL TO MAXACN
- * MAXACN - LESS THAN 4095 (ACNMX)
- * NSUP - THIS WORD CONTAINS FOUR FLAGS AS FOLLOWS:
- * BIT: 0 1 2 3 4
- * C N I S
- *
- * C - COMPLETE BIT CONTAINING THE STATUS FROM NETCHEK
- * =1 COMPLETE
- * =0 NOT COMPLETE
- * N - NAM AVAILABLE
- * =1 AVAILABLE
- * =0 NOT AVAILABLE
- * I - INPUT OTHER THAN ACN =0 AVAILABLE
- * =1 TRUE
- * =0 FALSE
- * S - SUPERVISORY MESSAGES AVAILABLE (NSUP)
- * =1 TRUE
- * =0 FALSE
- * NSUP ALSO CONTAINS A FIELD MSGCNT THAT TRACKS THE NUMBER OF
- * MESSAGES WRITTEN TO THE DEBUG LOG FILE ZZZZZDN.
- *
- * 5. EXIT CONDITIONS
- * NSUP WORD FLAGS ARE PRESET AS FOLLOWS:
- * C = 0
- * N = 1
- * I = 0
- * S = 0
- * DEFER$PRO = FALSE
- * NP$SMB POINTERS ARE PRESET: HEAD = FOOT = FIRST
- * NEXTSMLEN = 0
- * NP$NWL HEADER IS INITIALIZED.
- * NP$CRT NP$MODE NP$NWL NP$STAT
- * RESULT - STATUS OF NETON REQUEST, 0 = ACCEPTED, 1 = BUSY,
- * TRY AGAIN, 2 = REJECTED.
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * AIPDEF NP$CRT NP$DB NP$LOF
- * NP$MODE NP$NWL NP$ONAM NP$STAT
- * NP$ZHDR
- *
- * 7. ROUTINES CALLED
- * NP$ERR - PRINTS ERROR MESSAGE, THEN STOPS
- * NP$RCL - GO INTO RECALL
- * NP$SEND - SENDS WORKLIST TO NIP
- *
- * 8. DAYFILE MESSAGES
- * NETWORK APPLICATION ABORTED, RC = 30.
- * NETON: DUPLICATE NETON REQUEST.
- *
- * NETWORK APPLICATION ABORTED, RC = 40.
- * NETON: PREVIOUS REQUEST INCOMPLETE.
- *
- *
- #
- *ENDIF
- BEGIN
- *CALL NP$CRT
- # #
- # PARAMETERS: #
- # #
- ITEM
- ANAME C(7),# APPLICATION NAME #
- I I, # INDUCTION VARIABLE #
- NSUP I, #MORE SUPERVISORY MESSAGES IN SMB #
- RESULT I, #STATUS OF NETON REQUEST #
- MINACN I, # 0<MINACN@MAXACN<4095 #
- MAXACN I,
- NETTRY B, # NETON RETRY FLAG #
- NETLOOP I;
- # #
- # ROUTINES CALLED: #
- # #
- XREF BEGIN
- PROC NP$ERR; #ERROR PROCESSOR #
- PROC NP$RCL; # GO INTO RECALL #
- PROC NP$SEND; #SENDS NWL TO NIP VIA SSCALL #
- END #XREFS#
- #**********************************************************************#
- #
- NETON EXECUTION BEGINS HERE
- #
- IF ACCEPTED
- THEN
- NP$ERR("30"); # DUPLICATE NETON. #
- IF DEFER$PRO
- THEN
- NP$ERR("40"); # PREVIOUS REQUEST INCOMPLETE. #
- #
- AIP INITIALIZATION
- #
- NETTRY = TRUE; # SET RETRY FLAG TO TRUE #
- FOR NETLOOP = 0 WHILE NETTRY # TRY TO NETON #
- DO
- BEGIN
- DAWORD = 0; # CLEAR DATA AVAILABILITY WORD #
- RESULT = 0; # CLEAR RESULT WORD #
- NETTRY = FALSE; # CLEAR RETRY FLAG #
- NSUP = O"10000000000000000000"; #NAM AVAILABLE FLAG SET #
- P<NSUPWRD> = LOC(NSUP); # LOCATION OF NSUP COMM/WORD. #
- #
- INITIALIZE NETWORK WORKLIST BUFFER
- #
- P<WORKLIST> = LOC(NWLBUF); # LOCATION OF NWL BUFFER #
- NEXT = NHDR + 1; #SET NWL POINTERS AND #
- SPACE$LEFT=LWL; # COUNTERS #
- DOWNUSE = FALSE; # DOWNLINE BUFFERING NOT IN USE#
- N$AWL[0] = 0; # CLEAR AWL RESPONSE INDICATORS #
- #
- INITIALIZE POINTERS FOR SUPERVISORY MESSAGE BUFFER - SMB
- #
- HEAD = FIRST; #FIRST IS START OF SMB #
- FOOT = HEAD; #SMB IS EMPTY: NO MESSAGES #
- NEXTSMLEN = 0; #NO SUPERVISORY MSGS IN NIP #
- #
- INITIALIZE POINTERS FOR AIP UPLINE DATA MESSAGE BUFFER - GMB
- #
- GMBHEAD = 1; # INITIAL INDX FOR FWA TO WRITE#
- GMBFOOT = 1; # INITIAL INDX FOR LWA TO WRITE#
- GMBUSE = FALSE; # INIT GMB NOT IN USE FLAG #
- GMBTRUNC = FALSE; # INIT NO TRUNCATION OF DATA #
- GMBLAST = 1; # INITIAL INDEX FOR END OF BUF #
- GMBCN = 0; # INIT CON NUMBER FOR GMB #
- GMBLN = 0; # INIT LIST NUMBER FOR GMB #
- GMMESIZE = 0; # INIT FOR NO GMM ENTRY NEEDED #
- #
- SET UP NWL HEADER
- #
- HDR[NHDR]=LOC(HDR[NHDR]) + 1; #RETURN AWL AFTER CONTROL WDS #
- HDR$N[NHDR]=1; #ONLY 1 ENTRY, I.E. THE NETON #
- HDR$W[NHDR] = 1 + NONBSIZE;
- #
- FORMAT NETON NWL ENTRY
- #
- N$NETONAWL[0] = 1; # FLAG NETON AWL TO PROCESS #
- NWL[NEXT]=0; #CLEAR AND BUILD OP WORD #
- NWL$OP[NEXT]=OP$ON;
- NWL$ID[NEXT] = AWLID; #UNPROCESSED WORKLIST ID = AWLID (=11) #
- NWL$BS[NEXT] = NONBSIZE;
- NON[NEXT+1]=0;
- NON$AN[NEXT+1] = ANAME;
- NON[NEXT+2] = MINACN;
- NON[NEXT+3] = MAXACN;
- NON[NEXT+4] = LOC(DAWORD); # INFORM NIP OF DAWORD ADDRESS #
- NON[NEXT+5] = LOC(RESULT); # SAVE LOCATION OF RESULT #
- *IF DEF,DEBUG
- ZH$ANAM[0] = ANAME;
- P<CALLADR> = LOC(NETON);
- ON$CALL[0] = CALLADDR[0];
- ON$MIN[0] = MINACN;
- ON$MAX[0] = B<48,12>MAXACN ; # THE MAX ACN FROM APPLICATION #
- *ENDIF
- #
- SEND NETON NWL TO NIP
- #
- SENDGETMM = FALSE; # NO NEED TO PICK UP DATA MSGS UNTIL NETON#
- SENDGETSM = FALSE; # NO NEED TO PICK UP SUP MSGS UNTIL NETON #
- NP$SEND;
- IF RESULT EQ 1 AND N$FLAG[0] # IF NETON REJECT CODE 1 AND #
- THEN
- BEGIN
- NETTRY = TRUE; # RETRY NETON #
- FOR I = 1 STEP 1 UNTIL 20
- DO # DELAY BEFORE REISSUING NETON #
- BEGIN
- NP$RCL(0); # GO INTO TIME DELAY RECALL #
- END
- END # END IF #
- END # END WHILE #
- SENDGETMM = TRUE;
- SENDGETSM = TRUE;
- *IF DEF,XFR
- MINIACN = MINACN ;
- # MAXACN INPUT PARAM IS #
- # A COMBINATION OF 2 MAX CONNECTION LIMIT:#
- # . BIT 48-59: MAX ACN #
- # . BIT 36-47: RESERVED OUTGOING CONS. #
- MAXIACN = B<48,12>MAXACN ;
- NUMIRCN = B<36,12>MAXACN ;
- NUMFILEXFR = 0 ;
- GROUPNAME = 0 ;
- *ENDIF
- RETURN;
- END #NETON #
- TERM
1)
ANAME),NSUP,RESULT,(MINACN),(MAXACN
cdc/nos2.source/nam5871/neton.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator