Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 7/ft3/monitor/stanford/tcpjfn.dif
There is 1 other file named tcpjfn.dif in the archive. Click here to see a list.

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 1



LINE 1, PAGE 1
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>TCPJFN.MAC.3, 20-Jun-88 15:35:16, Edit by A.ALDERSON
1)	; V7.0 FT Clock tape
1)	;[MACBETH]SRC:<7.FT2.MONITOR.STANFORD>TCPJFN.MAC.2,  7-Apr-88 14:53:24, Edit by A.APPLEHACKS
1)	; FT7.2 Merge
1)	;[MACBETH]SRC:<7.FT1.MONITOR.STANFORD>TCPJFN.MAC.2,  1-Feb-88 18:39:40, Edit by A.APPLEHACKS
1)	; FT7 Merge
1)	;;SRC:<6.1.MONITOR.STANFORD>TCPJFN.MAC.17,  5-Nov-86 13:33:21, Edit by BILLW
1)	;; Make sure we pick a local host address on an UP interface... (NTNCTS)
1)	;; better buffer managment at TCSQI5
1)	;;PS:<6-1-MONITOR>TCPJFN.MAC.15, 13-Feb-86 01:28:12, Edit by BILLW
1)	;; make TCPBSZ slightly bigger
1)	;;PS:<6-1-MONITOR>TCPJFN.MAC.13, 22-Nov-85 01:00:43, Edit by BILLW
1)	;; Bob Knight's ILMNRF bugfix
1)	;;<6-1-MONITOR.FT6>TCPJFN.MAC.6, 27-Aug-85 10:39:41, Edit by WHP4
1)	;;Stanford changes
1)	;; MRC's fix for DTCSPC to allow urgent signals to work (better)
1)	;; use GTHST% in HSTPRT lookup
1)	;; Schilit's fix to HSTNLK
1)	;; Release prototype TCB in TCPOP5.
1)	;; Fix to TCPSQI to prevent ILLUUO's
1)	;
1)	; UPD ID= 8632, RIP:<7.MONITOR>TCPJFN.MAC.4,  11-Feb-88 18:55:04 by GSCOTT
1)	;TCO 7.1218 - Update copyright date.
1)	; UPD ID= 50, RIP:<7.MONITOR>TCPJFN.MAC.3,  23-Jul-87 14:52:58 by RASPUZZI
1)	;TCO 7.1026 - Prevent lost IP free space when a TCP: JFN fails during
1)	;the OPEN%.
1)	; *** Edit 7188 to TCPJFN.MAC by MELOHN on 8-Nov-85 (TCO 6-1-1553)
1)	; TCP GTJFN connects to the wrong host - fix routine HSTNL2 and HSTNL3. 
1)	; UPD ID= 2196, SNARK:<6.1.MONITOR>TCPJFN.MAC.10,   5-Jun-85 11:21:04 by MCCOLLUM
LINE 1, PAGE 1
2)	;[SRI-NIC]SRC:<6-1-MONITOR>TCPJFN.MAC.3, 21-Aug-87 14:22:14, Edit by MKL
2)	; Push out buffered bytes before closing, in TCPCLZ and DTCSFN
2)	;SRC:<6.1.MONITOR.STANFORD>TCPJFN.MAC.17,  5-Nov-86 13:33:21, Edit by BILLW
2)	; Make sure we pick a local host address on an UP interface... (NTNCTS)
2)	; better buffer managment at TCSQI5
2)	;PS:<6-1-MONITOR>TCPJFN.MAC.15, 13-Feb-86 01:28:12, Edit by BILLW
2)	; make TCPBSZ slightly bigger
2)	;PS:<6-1-MONITOR>TCPJFN.MAC.13, 22-Nov-85 01:00:43, Edit by BILLW
2)	; Bob Knight's ILMNRF bugfix
2)	;<6-1-MONITOR.FT6>TCPJFN.MAC.6, 27-Aug-85 10:39:41, Edit by WHP4
2)	;Stanford changes
2)	; MRC's fix for DTCSPC to allow urgent signals to work (better)
2)	; use GTHST% in HSTPRT lookup
2)	; Schilit's fix to HSTNLK
2)	; Release prototype TCB in TCPOP5.
2)	; Fix to TCPSQI to prevent ILLUUO's
2)	;
2)	; UPD ID= 2196, SNARK:<6.1.MONITOR>TCPJFN.MAC.10,   5-Jun-85 11:21:04 by MCCOLLUM

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 2




LINE 95, PAGE 1
1)	;	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1988.
1)	;	ALL RIGHTS RESERVED.
1)	;
1)	;	THIS SOFTWARE IS FURNISHED UNDER A  LICENSE AND MAY BE USED AND  COPIED
1)	;	ONLY IN  ACCORDANCE  WITH  THE  TERMS OF  SUCH  LICENSE  AND  WITH  THE
1)	;	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
1)	;	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
1)	;	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
1)	;	TRANSFERRED.
1)	;
1)	;	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
1)	;	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
1)	;	CORPORATION.
1)	;
1)	;	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
1)	;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   {Skipped 1 page and 1 line}
1)		SEARCH ANAUNV,PROLOG
LINE 1, PAGE 2
2)	;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED
2)	;OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2)	;
2)	;COPYRIGHT  (C)  DIGITAL  EQUIPMENT  CORPORATION  1976, 1985.
2)	;ALL RIGHTS RESERVED.
2)	
2)	
2)		SEARCH ANAUNV,PROLOG


LINE 17, PAGE 2
1)		IFNDEF NOTYET,<NOTYET==0>
LINE 23, PAGE 2
2)		IFNDEF REL6,<REL6==1>
2)		IFNDEF NOTYET,<NOTYET==0>


LINE 1, PAGE 3
1)	^L	Subttl	Table of Contents
1)	
1)	;		     Table of Contents for TCPJFN
1)	;
1)	;				  Section		      Page
1)	;
1)	;
1)	;    1. TCP Device DTB . . . . . . . . . . . . . . . . . . . .   4
1)	;    2. GTJFN Setup Handling . . . . . . . . . . . . . . . . .   5
1)	;    3. GTJFN File Name, and File Generation Handling  . . . .   6
1)	;    4. GTJFN File Name Extension Handling . . . . . . . . . .   7

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 3


1)	;    5. GTJFN File Name Attribute Handling . . . . . . . . . .   8
1)	;    6. GTJFN Attribute Argument Support Routines  . . . . . .   9
1)	;    7. GTJFN Connection Attribute . . . . . . . . . . . . . .  10
1)	;    8. Foreign-Host and Local-Host, Persist Attributes  . . .  11
1)	;    9. Timeout, Type-of-Service, and Security Attributes  . .  12
1)	;   10. Compartments, Handling-Restrictions, and Transmission   13
1)	;   11. CLOSF and ABORT Handling . . . . . . . . . . . . . . .  14
1)	;   12. CLOSF and ABORT Handling . . . . . . . . . . . . . . .  15
1)	;   13. RELJFN Handling  . . . . . . . . . . . . . . . . . . .  16
1)	;   14. OPENF Handling . . . . . . . . . . . . . . . . . . . .  17
1)	;   15. OPENF% Continued.... . . . . . . . . . . . . . . . . .  18
1)	;   16. OPENF wait mode code . . . . . . . . . . . . . . . . .  19
1)	;   17. OPENF Scheduler Test . . . . . . . . . . . . . . . . .  20
1)	;   18. OPENF Flag Setting Code  . . . . . . . . . . . . . . .  21
1)	;   19. Support Routines for Sequential IO . . . . . . . . . .  22
1)	;   20. Support Routines for Buffers . . . . . . . . . . . . .  23
1)	;   21. Sequential Input (BIN/SIN) . . . . . . . . . . . . . .  24
1)	;   22. Sequential Input (BIN/SIN) Continued . . . . . . . . .  25
1)	;   23. Sequential Input (BIN/SIN) Continued . . . . . . . . .  26
1)	;   24. Get Input Buffer Routine . . . . . . . . . . . . . . .  27
1)	;   25. Sequential Output (BOUT/SOUT)  . . . . . . . . . . . .  28
1)	;   26. Sequential Output (BOUT/SOUT) Continued  . . . . . . .  29
1)	;   27. Get Output Buffer Routine  . . . . . . . . . . . . . .  30
1)	;   28. TCP Output Fill Buffer Setup . . . . . . . . . . . . .  31
1)	;   29. TCP Output Buffer Queueing . . . . . . . . . . . . . .  32
1)	;   30. SOUTR and GDSTS Handling . . . . . . . . . . . . . . .  33
1)	;   31. Decode Host-Port Specification . . . . . . . . . . . .  34
1)	;   32. Decode Host-Port Specification...Continued . . . . . .  35
1)	;   33. Decode Host-Port Specification...Continued . . . . . .  36
1)	;   34. Host Number Decode Routine . . . . . . . . . . . . . .  37
1)	;   35. Host Name Decode Routine . . . . . . . . . . . . . . .  38
1)	;   36. TCOPR JSYS . . . . . . . . . . . . . . . . . . . . . .  39
1)	;   37. TCOPR Special Function Handling  . . . . . . . . . . .  40
1)	;   38. TCOPR JFN Function Handling  . . . . . . . . . . . . .  41
1)	;   39. TCOPR Function Dispatch Table  . . . . . . . . . . . .  42
1)	;   40. TCOPR JFN Functions... . . . . . . . . . . . . . . . .  43
1)	;   41. IPOPR JSYS . . . . . . . . . . . . . . . . . . . . . .  47
1)	;   42. ATNVT% . . . . . . . . . . . . . . . . . . . . . . . .  50
1)	;   43. String Length Subroutine . . . . . . . . . . . . . . .  51
1)	;   44. Random Routines  . . . . . . . . . . . . . . . . . . .  52
1)	;   45. End of TCPJFN  . . . . . . . . . . . . . . . . . . . .  53
1)	^L	SUBTTL TCP Device DTB
1)	
1)		SWAPCD
1)	
1)	TCPDTB::			; DTB for TCP: device
1)		TCPDND-TCPDTB		; length of DTB
1)		DTBDSP TCPSET		;*Directory setup routine
LINE 1, PAGE 3
2)	^L	SUBTTL TCP Device DTB
2)	

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 4


2)		SWAPCD
2)	
2)	TCPDTB::			; DTB for TCP: device
2)		IFN REL6,<TCPDND-TCPDTB> ; length of DTB
2)		DTBDSP TCPSET		;*Directory setup routine


LINE 8, PAGE 6
1)		XSWAPCD
1)	
1)		XNENT TCPSET
1)					;directory setup
LINE 8, PAGE 5
2)	IFN REL6,<XSWAPCD>
2)	IFE REL6,<TCPSET:>
2)	IFN REL6,<XNENT TCPSET>
2)					;directory setup


LINE 3, PAGE 7
1)		XNENT TCPNAM
1)					;decode gtjfn name string
LINE 3, PAGE 6
2)	IFE REL6,<TCPNAM:>
2)	IFN REL6,<XNENT TCPNAM>
2)					;decode gtjfn name string


LINE 34, PAGE 7
1)		XNENT TCPVER
1)					;decode GTJFN version spec
LINE 35, PAGE 6
2)	IFE REL6,<TCPVER:>
2)	IFN REL6,<XNENT TCPVER>
2)					;decode GTJFN version spec


LINE 3, PAGE 8
1)		XNENT TCPEXT
1)					;decode GTJFN extension string
LINE 3, PAGE 7
2)	IFE REL6,<TCPEXT:>
2)	IFN REL6,<XNENT TCPEXT>
2)					;decode GTJFN extension string

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 5



LINE 3, PAGE 9
1)		XNENT TCPATR
1)		 			;here to check attributes from gtjfn
LINE 3, PAGE 8
2)	IFE REL6,<TCPATR:>
2)	IFN REL6,<XNENT TCPATR>
2)		 			;here to check attributes from gtjfn


LINE 3, PAGE 15
1)		XNENT TCPCLZ
1)					;here on a closf
LINE 3, PAGE 14
2)	IFE REL6,<TCPCLZ:>
2)	IFN REL6,<XNENT TCPCLZ>
2)					;here on a closf


LINE 13, PAGE 15
1)		UMOVE T2,1		;get users AC 1
LINE 14, PAGE 14
2)	IFN NICSW,<
2)		TMNE TCDOB,(TCB)	; Check if any bytes left to send
2)		 CALL TCSQOU		; Yes, queue them for output
2)		  NOP			; Ignore error for now (CLOSE% should flag it)
2)		LOAD T1,TJCN,(TCB)	;get the JCN for this connection
2)		TXO T1,TCP%JS		;this is a JCN
2)	>
2)		UMOVE T2,1		;get users AC 1


LINE 3, PAGE 17
1)		XNENT TCPRJF
1)					;here on a release jfn
LINE 3, PAGE 16
2)	IFE REL6,<TCPRJF:>
2)	IFN REL6,<XNENT TCPRJF>
2)					;here on a release jfn


LINE 3, PAGE 18
1)		XNENT TCPOPN
1)					;perform openf
LINE 3, PAGE 17
2)	IFE REL6,<TCPOPN:>
2)	IFN REL6,<XNENT TCPOPN>
2)					;perform openf

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 6



LINE 38, PAGE 18
1)		S1XCT <GTOKM (.GOANA,<T1,T2>,[RETBAD()])> ; ask acj for its blessing
1)					;Everything is OK.  Fall through.
LINE 39, PAGE 17
2)		IFN REL6,<S1XCT <GTOKM (.GOANA,<T1,T2>,[RETBAD()])>> ; ask acj for its blessing
2)		IFE REL6,<GTOKM (.GOANA,<T1,T2>,[RETBAD()])> ; ask acj for its blessing
2)					;Everything is OK.  Fall through.


LINE 49, PAGE 20
1)	;Should never get here other than ERJMP after OPEN%
1)		HRRZM T1,TCPOER		;[7.1026] Save error code
1)		LDB T2,[POINT 5,T1,35]	;[7.1026] Get just error byte
1)		LDB T1,[POINT 17,T1,17]	;[7.1026] And possible JCN
1)		IFN. T1			;[7.1026] Do we have a JCN?
1)		  CAIN T2,.TCPCS	;[7.1026] If so, does it exist?
1)		ANSKP.			;[7.1026] Yes it does
1)		  TXO T1,TCP%JS		;[7.1026] It is a JCN
1)		  ABORT%		;[7.1026] Release it
1)		   ERJMP .+1		;[7.1026]
1)		ENDIF.			;[7.1026]
1)		SKIPE T1,FILTCB(JFN)	;[7.1026] Get TCB prototype address
1)		CALL RETBLK		;[7.1026] (T1/) Release prototype block
1)		MOVE T1,TCPOER		;[7.1026] Retrieve error code
1)		SETZRO <BLKF>		;not blocking now
LINE 49, PAGE 19
2)	IFN STANSW,<
2)	;;; Note that this routine must never be called at any point other than
2)	;;;the ERJMP from the OPEN%.  In particular, it assumes that FILTCB has
2)	;;;no relation to any JCN that OPEN% may have made!!
2)		HRRZM T1,TCPOER		;save error code
2)		LDB T2,[POINT 5,T1,35]	;get just error byte
2)		LDB T1,[POINT 17,T1,17]	;and possible JCN (without 400000 bit?)
2)		IFN. T1			;have a JCN
2)		  CAIN T2,^D6		;already exists?
2)		ANSKP.			;no
2)		  TXO T1,TCP%JS		;it is a JCN
2)		  ABORT%		;release it
2)		   ERJMP .+1
2)		ENDIF.
2)		SKIPE T1,FILTCB(JFN)	;get TCB prototype address (should never skip)
2)		 CALL RETBLK		;return it to Internet free storage
2)		MOVE T1,TCPOER		;error code
2)	>;IFN STANSW
2)		SETZRO <BLKF>		;not blocking now

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 7



LINE 13, PAGE 21
1)		JSP T4,INTOOT		;check TOPNF/TERRF first
LINE 13, PAGE 20
2)		IFE REL6,<EA.ENT>	;force us into section one if needed
2)		JSP T4,INTOOT		;check TOPNF/TERRF first


LINE 17, PAGE 21
1)		CALLX (XCDSEC,HSTHSH)	;find hash index
1)		 RET			;no host, new, or no room
LINE 18, PAGE 20
2)		IFE REL6,<CALL HSTHSH> 	;find hash index
2)		IFN REL6,<CALLX (XCDSEC,HSTHSH)> ;find hash index
2)		  RET			;no host, new, or no room


LINE 25, PAGE 21
1)		XSWAPCD
1)		
1)	^L	SUBTTL OPENF Flag Setting Code
LINE 27, PAGE 20
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)		
2)	^L	SUBTTL OPENF Flag Setting Code


LINE 3, PAGE 23
1)		XNENT TCPFI
1)					;Switch to INPUT
LINE 3, PAGE 22
2)	IFE REL6,<TCPFI:>
2)	IFN REL6,<XNENT TCPFI>
2)					;Switch to INPUT


LINE 12, PAGE 23
1)		XNENT TCPFO
1)	 				;Switch to OUTPUT
LINE 13, PAGE 22
2)	IFE REL6,<TCPFO:>
2)	IFN REL6,<XNENT TCPFO>
2)	 				;Switch to OUTPUT

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 8



LINE 11, PAGE 24
1)		XSWAPCD
1)	
1)	TCPGTB:				;routine to get a buffer
LINE 11, PAGE 23
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	TCPGTB:				;routine to get a buffer


LINE 17, PAGE 24
1)		MOVX T2,<RS%SE0!<.RESNP>B35> ;from the decnet pool
1)		CALL ASGRES		;get some resident free space
LINE 18, PAGE 23
2)	IFE REL6,<
2)		MOVX T2,<RS%SE0!<.RESGP>B35> ;from the general pool
2)	>
2)	IFN REL6,<
2)		MOVX T2,<RS%SE0!<.RESNP>B35> ;from the decnet pool
2)	>
2)		CALL ASGRES		;get some resident free space


LINE 3, PAGE 25
1)		XNENT TCPQI
1)					;Byte Input
LINE 3, PAGE 24
2)	IFE REL6,<TCPQI:>
2)	IFN REL6,<XNENT TCPQI>
2)					;Byte Input


LINE 8, PAGE 27
1)		CALL TCPRLB		;release the space the buffer used up
1)		CALL TCPGIB		;get another input buffer
LINE 8, PAGE 26
2)		CALL TCPRLB		;release the buffer space
2)		CALL TCPGIB		;get another input buffer

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 9



LINE 3, PAGE 29
1)		XNENT TCPQO
1)					;byte Output
LINE 3, PAGE 28
2)	IFE REL6,<TCPQO:>
2)	IFN REL6,<XNENT TCPQO>
2)					;byte Output


LINE 3, PAGE 34
1)		XNENT TCPQF
1)					;Force record out
LINE 3, PAGE 33
2)	IFE REL6,<TCPQF:>
2)	IFN REL6,<XNENT TCPQF>
2)					;Force record out


LINE 17, PAGE 34
1)		XNENT TCPGTD
1)					;GDSTS Handling
LINE 18, PAGE 33
2)	IFE REL6,<TCPGTD:>
2)	IFN REL6,<XNENT TCPGTD>
2)					;GDSTS Handling


LINE 25, PAGE 39
1)		ILDB T3,HNLKP1		;[7188] get a byte of the first string
1)		SKIPN T4		;[7188] null byte in second string?
1)		JUMPE T3,HSTNL3		;if this is a null byte we have success
1)		CAIN T3,(T4)		;bytes match?
1)		 JRST HSTNL2		;yes so keep checking
1)					;here when current host name did not match
1)	HSTNL4:	AOBJN T1,HSTNL1		;[7188] go check out the next host
1)		RET			;we did not find a host name
1)	HSTNL3:				;here when we found the host name
1)		SETSEC T2,INTSEC	;[7188] reference proper section
1)		LOAD T2,HSTIDX,(T2)	;[7188] get the HOSTNN index
1)		SETSEC T2,INTSEC	;[7188] reference proper section
1)		MOVE T3,HSTSTS(T2)	;[7188] get entry status bits
1)		TXNN T3,HS%SRV		;[7188] are we a host?
1)		JRST HSTNL4		;[7188] nope, go on the the next entry
1)		MOVE T1,HOSTNN(T2)	;[7188] yes, get the host number in T1
1)		RETSKP			;[7188] and success return
1)	
1)	^L	SUBTTL TCOPR JSYS
LINE 25, PAGE 38
2)	IFE STANSW,<

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 10


2)		JUMPE T4,HSTNL3		;if this is a null byte we have success
2)		ILDB T3,HNLKP1		;get a byte of the first string
2)		JUMPE T3,HSTNL3		;if this is a null byte we have success
2)	>;IFE STANSW
2)	IFN STANSW,<
2)		ILDB T3,HNLKP1		;get a byte of the first string
2)		SKIPN T4		;run out on second string?
2)		 JUMPE T3,HSTNL3	;if this also null we have success
2)	>;IFN STANSW
2)		CAIN T3,(T4)		;bytes match?
2)		 JRST HSTNL2		;yes so keep checking
2)					;here when current host name did not match
2)		AOBJN T1,HSTNL1		;go check out the next host
2)		RET			;we did not find a host name
2)	HSTNL3:				;here when we found the host name
2)		SETSEC T1,INTSEC	;reference proper section
2)		LOAD T1,HSTIDX,(T1)	;get the HOSTNN index
2)		SETSEC T1,INTSEC	;reference proper section
2)		MOVE T1,HOSTNN(T1)	;get the host number
2)		RETSKP			;and success return
2)	
2)	^L	SUBTTL TCOPR JSYS


LINE 22, PAGE 45
1)	IFE STANSW,<
1)		CALL TCSQO1		;go do the push
1)	>;IFE STANSW
1)	IFN STANSW,< ; Bob Knight's ILMNRF bugfix
1)		CALLX (XCDSEC,TCSQO1)	; Do the push
1)	>;IFN STANSW	
LINE 22, PAGE 44
2)	IFE STANSW,< ; Bob Knight's ILMNRF bugfix
2)		CALL TCSQO1		;go do the push
2)	>;IFE STANSW
2)	IFN STANSW,< ; Bob Knight's ILMNRF bugfix
2)		IFE REL6,<CALL TCSQO1>
2)		IFN REL6,<CALLX (XCDSEC,TCSQO1)>	; Do the push
2)	>;IFN STANSW	


LINE 55, PAGE 46
1)		CALLX (XCDSEC,TCSQO1)	;go do the push
1)		TMNE <ERRF>		;error?
LINE 55, PAGE 45
2)	IFE REL6,<CALL TCSQO1>		;go do the push
2)	IFN REL6,<CALLX (XCDSEC,TCSQO1)> ;go do the push
2)		TMNE <ERRF>		;error?

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 11



LINE 4, PAGE 47
1)		LOAD T1,TJCN,(TCB)	;get the JCN for this connection
1)		TXO T1,TCP%JS		;this is a JCN
1)		JE TSUOP,(TCB),RSKP	;if never opened do not bother
1)		JE TSOPN,(TCB),RSKP	;if never got opened do not bother
1)		CLOSE%			;close down the connection
LINE 4, PAGE 46
2)	IFN NICSW,<
2)		JE TSUOP,(TCB),RSKP	;if never opened do not bother
2)		JE TSOPN,(TCB),RSKP	;if never got opened do not bother
2)		TMNE TCDOB,(TCB)	; Check if any bytes left to send
2)		 CALL TCSQOU		; Yes, queue them for output
2)		  NOP			; Ignore error for now (CLOSE% should flag it)
2)		LOAD T1,TJCN,(TCB)	;get the JCN for this connection
2)		TXO T1,TCP%JS		;this is a JCN
2)	>
2)		CLOSE%			;close down the connection


LINE 3, PAGE 48
1)		XSWAPCD
1)	
1)		XNENT (.IPOPR,G)
1)		MCENT			;jsys entry macro
LINE 3, PAGE 47
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	IFE REL6,<.IPOPR::>
2)	IFN REL6,<XNENT .IPOPR,G>
2)		MCENT			;jsys entry macro


LINE 39, PAGE 51
1)		CALLX (XCDSEC,TATTVT)	;try to attach to a TVT
1)		IFNSK.
LINE 39, PAGE 50
2)		IFE REL6,<CALL TATTVT>	;try to attach to a TVT
2)		IFN REL6,<CALLX (XCDSEC,TATTVT)> ;try to attach to a TVT
2)		IFNSK.

; TCPJFN.MAC.1 & <MONITOR>TCPJFN.MAC.1 24-Feb-89 1914	PAGE 12



LINE 3, PAGE 52
1)		XSWAPCD
1)	
1)	STRLEN: 			;Calculate length of string given two
LINE 3, PAGE 51
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	STRLEN: 			;Calculate length of string given two


LINE 5, PAGE 53
1)		RETSKP			;if release 6 then skip return
1)	;	JRST SK2RET		;if release 5.1 then double skip return
1)	
1)	SAVAT:				;support routine for saveat macro
LINE 5, PAGE 52
2)		IFN REL6,<RETSKP>	;if release 6 then skip return
2)		IFE REL6,<JRST SK2RET>	;if release 5.1 then double skip return
2)	
2)	SAVAT:				;support routine for saveat macro


LINE 1, PAGE 54
1)	^L	SUBTTL End of TCPJFN
1)		TNXEND
LINE 62, PAGE 52
2)		TNXEND