Trailing-Edge - PDP-10 Archives - TOPS-20_V6.1_DECnetSrc_7-23-85 - mcb/sc/sc.bli
There is 1 other file named sc.bli in the archive. Click here to see a list.
module SC (			! SC Base-Level Module
		ident = 'X01910'
		) =
!                    COPYRIGHT (c) 1980, 1981, 1982
!                        Maynard, Massachusetts
!     This software is furnished under a license and may  be  used
!     and copied only in accordance with the terms of such license
!     and with the inclusion of the above copyright notice.   This
!     software  or any other copies thereof may not be provided or
!     otherwise made available to any other person.  No  title  to
!     and ownership of the software is hereby transferred.
!     The information  in  this  software  is  subject  to  change
!     without  notice  and should not be construed as a commitment
!     DIGITAL assumes no responsibility for the use or reliability
!     of  its  software  on  equipment  which  is  not supplied by
!     DIGITAL.

! FACILITY:	Session Control
! ABSTRACT:	This is the identifier module in the MCB implementation
!		of Session Control.  
! AUTHOR:	Buren Hoffman		CREATION DATE: 2-Apr-80
!	X01010	Modified mapping operations in SCDSP and SCSUB.
!	X01020	Corrected linkage misfits for external routines.
!	X01030	Fix in output connect processing, in SX$CNW.
!	X01040	Don't set C_CHN in outgoing connect.
!	X01050	Correct state transition in connect-receive processing.
!	X01060	Modification X10600 in SCDSP.
!	X01070	Fixed mapping bug at entry to FCXCP in SCDSP.
!	X01080	Repaired queue processing bug in SX$CNW.
!	X01090	Fixed dot bug in timeout handler in SCDSP.
!	X01100	Mod X01040 in SCSUB.
!	X01110	Moved port-open code to routine I$OPN in SCSUB.
!	X01120	Fixed logic problem in SCSUB (CONBKI & CONBKO), X01060.
!	X01130	PIX not being properly setup in SCSUB (CONBKI), X01070.
!	X01140	Nonexistent ccb release in fcrce in SCDSP, X01012.
!	X01150	PIX not being setup in SCRES (SX$ACW), X01080.
!	X01160	Changed to new object mapping strategy - this involved
!		changes in this module (SC) and SCSUB.
!	X01170	Connect complete was releasing LDB as CCB in SCDSP, X01130.
!	X01180	Removed obsolete external reference from SCSUB, X01100.
!	X01190	Corrected bug in SCSUB (FINDOB), X01110.
!	X01200	Added global-database-length symbols to this module to
!		allow database integrity checking during process building.
!	X01210	Set PIXs in ccbs in several routines in SCRES, X01090.
!	X01220	Modified connect-received processing to not include count
!		field in optional data returned to user in SCDSP, X01140.
!	X01230	Supplied missing ref's in SCRES, X01100.
!	X01240	Fixed problem where wrong CCB was being sent to LLCRS
!		in SCRES routines, X01110.
!	X01250	X01160 in SCDSP.
!	X01260	X01120 in SCRES.
!	X01270	X01130 in SCRES.
!	X01280	X01120 in SCSUB.
!	X01290	X01170 in SCDSP.
!	X01300	X01140 in SCRES.
!	X01310	X01180 in SCDSP.
!	X01320	X01130 in SCSUB.
!	X01330	X01190 in SCDSP.
!	X01340	X01200 in SCDSP.
!	X01350	X01210 in SCDSP, and X01150 in SCRES.
!	X01360	X01180 in SCRES.
!	X01370	Updated use of signal_stop in all modules
!	X01380	X01190 in SCRES.
!	X01390	X01240 in SCDSP.
!	X01400	Changed to MCB 3.1 process header macro $MCB_PROCESS.
!	X01410	X01150 in SCSUB.
!	X01420	X01000 in SCNM, the new network management, plus
!		mods in SCDSP (X01250) to remove old nm stuff,
!		and changed node search in SCSUB (X01150).
!	X01430	X01260 in SCDSP.
!	X01440	Changes to properly handle aborted data segments.
!		This change involved code in all modules.  Also,
!		some code cleanup was performed.
!	X01450	Use new Comm/Exec to process linkage (.CRDAT for database)
!	X01460	X01290 in SCDSP.
!	X01470	X01030 in SC1.
!	X01480	X01210 in SCRES.
!	X01490	X01300 in SCDSP, and X01040 in SC1.
!	X01500	X01310 in SCDSP, X01220 in SCRES, X01180 in SCSUB, and
!		X01050 in SC1.
!	X01510	Reassembled everything to correct linkage problem.
!	X01520	X01320 in SCDSP, and X01230 in SCRES.
!	X01530	Backed off from using V2.1 compiler - it produces wrong code
!	X01540	X01190 in SCSUB.
!	X01550	X01240 in SCRES.
!	X01560	X01330 in SCDSP, and X01070 in SC1.
!	X01570	X01250 in SCRES.
!	X01580	X01080 in SC1.
!	X01590	Just some minor editing
!	X01600	Changes in SCPRM.
!	X01610	X01080 in SC1.
!	X01620	X01090 in SC1.
!	X01630	X01340 in SCDSP, and X01260 in SCRES.
!	X01640	X01270 in SCRES.
!	X01650	X01350 in SCDSP.
!	X01660	X01100 in SC1.
!	X01670	X01360 in SCDSP.
!	X01680	X01370 in SCDSP.
!	X01690	X01110 in SC1.
!	X01700	X01120 in SC1.
!	X01710	X01380 in SCDSP.
!	X01720	X01390 in SCDSP.
!	X01730	X01210 in SCSUB.
!	X01740	X01400 in SCDSP, and X01280 in SCRES.
!	X01750	Changed back to all library required files.
!	X01760	X01410 in SCDSP.
!	X01770	X01130 in SC1.
!	X01780	X01420 in SCDSP, X01220 in SCSUB, and X01140 in SC1.
!	X01790	X01430 in SCDSP and X01230 in SCSUB.
!	X01800	X01440 in SCDSP.
!	X01810	X01450 in SCDSP, X01290 in SCRES, X01230 in SCSUB,
!		and X01150 in SC1.
!	X01820	X01160 in SC1.
!	X01830	X01460 in SCDSP.
!	X01840	X01300 in SCRES.
!	X01850	X01470 in SCDSP, and X01170 in SC1.
!	x01860	x01480 in SCDSP, and x01310 in SCRES.
!	x01870	x01180 in SC1.
!       x01880  x01320 in SCRES, x01200 in SC1, and SCPRM v21.
!	X01890	X01330 IN SCRES and x01490 in SCDSP
!	x01900	x01250 in SCSUB.	
!       x01910  x01500 in SCDSP.
library 'SCPRM';		! Our parameter and macro definitions
library 'MCB:MCBLIB';
library 'MCB:XPORTX';

%if %bliss (bliss36) %then require 'BED:NETPAR'; %fi


%if %bliss (bliss36)
	    [%count, L_LLA] = %count,
	    [%count, L_I_TAIL] = LLT [%count, L_I_HEAD],
	    [%count, L_O_TAIL] = LLT [%count, L_O_HEAD],
	    [%count, L_N_TAIL] = LLT [%count, L_N_HEAD]
	    %if %count lss LENGTH-1
	    %then ,LLT_PRESET (LENGTH)
	    %fi %,

	    [%count, NMT_ADDR] = %count + 1
	    %if %count lss LENGTH-1
	    %then ,NMT_PRESET (LENGTH)
	    %fi %;

global literal
    %name ('SC.SZ')  = SC_SIZE ^1,
    %name ('LLT.SZ') = L_SIZE ^1,
    %name ('NMT.SZ') = NMT_SIZE ^1,
    %name ('OTN.SZ') = OTN_SIZE ^1,
    %name ('ONP.SZ') = ONP_SIZE ^1;

%if %bliss (bliss36)
	OTN: blockvector [1, OTN_SIZE] field (OTN_FIELDS)
	    preset (
		[0, OTN_TYPE] = 7,
		[0, OTN_NLEN] = 6),

	ONP: blockvector [1, ONP_SIZE] field (ONP_FIELDS)
	    preset (
		[0, ONP_NLEN] = 6,
		[0, ONP_PROC] = %rad50_10 'USR'),

	LLT: blockvector [NS_TPT, L_SIZE] field (LLT_FIELDS)
	    preset (LLT_PRESET (NS_TPT)),

	RMT: vector [(NS_TPT + 3) / 4],

	NMT: blockvector [(XP_NN + XP_NLN), NMT_SIZE] field (NMT_FIELDS)
	    preset (NMT_PRESET (XP_NN + XP_NLN));

	SC$DB: block [SC_SIZE] field (SC_FIELDS)
	    preset (
	    [SCF_STAT] = 1,
	    [SC_RPORT] = SC_OPN,
	    [SC_LINKS] = NS_TPT,
	    [SC_NODES] = XP_NN,
	    [SC_LOOPS] = XP_NLN,
	    [SC_ITIME] = SC_ITM,
	    [SC_OTIME] = SC_OTM,
	    [SC_OTN_LEN] = 1,
	    [SC_ONP_LEN] = 1,
	    [SC_OTN_ADDR] = OTN,
	    [SC_ONP_ADDR] = ONP,
	    [SC_LLT_ADDR] = LLT,
	    [SC_NMT_ADDR] = NMT);

    $SCLL;			! Session Control dispatch table

    NAME = SC,
    LLC_DISPATCH = $SCLL)	! Make the process header