Google
 

Trailing-Edge - PDP-10 Archives - BB-R595B-SM_11-9-85 - mcb/sc/scx.bli
There is 1 other file named scx.bli in the archive. Click here to see a list.
module SCX (			! SCX Base-Level Module
		ident = 'X01440'
		) =
begin
!
!                    COPYRIGHT (c) 1980, 1981, 1982
!                    DIGITAL EQUIPMENT CORPORATION
!                        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
!     by DIGITAL EQUIPMENT CORPORATION.
!
!     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 the RSX Session Control interface.
!
! ENVIRONMENT:	MCB
!
! AUTHOR:	Buren Hoffman		CREATION DATE: 2-Apr-80
!
! MODIFIED BY:
!	X01010	SCXRES, (X01030)
!	X01020	SCXRES, (X01040)
!	X01030	Updated signal_stop in all modules
!	X01040	Upgraded to MCB 3.1 - put in new $MCB_PROCESS macro
!		in place of PHDR$ macro.
!	X01050	X01050 in SCXDSP and X01050 in SCXRES.
!	X01060	X01060 in SCXDSP.
!	X01070	Use new Comm/Exec to process linkage (.CRDAT for database)
!	X01080	X01080 in SCXDSP, and X01070 in SCXRES
!	X01090	X01090 in SCXDSP, X01080 in SCXRES, and X01050 in SCXSUB.
!	X01100	Backed off from v2.1 compiler - it produces wrong code
!	X01110	X01100 in SCXDSP.
!	X01120	X01110 in SCXDSP.
!	X01130	X01120 in SCXDSP, and X01090 in SCXRES.
!	X01140	X01100 in SCXRES, and X01060 in SCXSUB.
!	X01150	X01130 in SCXDSP, X01110 in SCXRES, and X01070 in SCXSUB.
!	X01160	X01140 in SCXDSP.
!	X01170	X01150 in SCXDSP.
!	X01180	X01190 in SCXSUB.
!	X01190	X01160 in SCXDSP, X01120 in SCXRES, and X01100 in SCXSUB.
!	X01200	X01130 in SCXRES.
!	X01210	X01140 in SCXRES.
!	X01220	X01110 in SCXSUB.
!	X01230	X01170 in SCXDSP.
!	X01240	X01180 in SCXDSP.
!	X01250	X01190 in SCXDSP.
!	X01260	X01150 in SCXRES.
!	X01270	X01200 in SCXDSP.
!	X01280	X01210 in SCXDSP.
!	X01290	X01220 in SCXDSP.
!	X01300	Changed back to all library files.
!	X01310	X01230 in SCXDSP and X01160 in SCXRES.
!	X01320	X01240 in SCXDSP.
!	X01330	Modified $MCB_PROCESS macro invocation in this module
!		to specify keyword RSX_DISPATCH.
!	X01340	X01250 in SCXDSP, X01170 in SCXRES, and X01120 in SCXSUB.
!	X01350	X01260 in SCXDSP.
!	X01360	X01270 in SCXDSP, and X01130 in SCXSUB.
!	X01370	X01280 in SCXDSP, X01180 in SCXRES, and X01140 in SCXSUB.
!	X01380	X01290 in SCXDSP.
!	X01390	X01300 in SCXDSP.
!	x01400	x01150 in scxsub by Ron Platukis 17-aug-81.
!	x01410  x01310 in SCXDSP, and x01190 in SCXRES.
!	X01420	X01320 in SCXDSP.
!	X01430	X01330 in SCXDSP.
!	X01440	X01330 in SCXDSP.
!--
!
! REQUIRED FILES
!
library 'SCPRM';			! Our parameter and macro definitions
library 'MCB:MCBLIB';
library 'MCB:RSXLIB';
library 'MCB:XPORTX';

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

!
! TABLE OF CONTENTS:
!
%if %bliss (bliss36)
%then
forward
    SCX$DB: block [SCXDB_SIZE] field (SCXDB_FIELDS),
    SCB: block [SCB_SIZE] field (SCB_FIELDS),
    UCB: block [UCB_SIZE] field (UCB_FIELDS);
%fi

!
! EXTERNAL REFERENCES:
!
external
    $NSTBL,			! NS device dispatch table
    $SCXLL;			! Session Control Translator dispatch table


!
! MACROS:
!

!
! EQUATED SYMBOLS:
!
global literal
    %name ('SCX.SZ') = SCXDB_SIZE ^1,
    %name ('OTN.SZ') = OTN_SIZE ^1;

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

	ULA: vector [NS_TPT] initial (rep NS_TPT of (0)),

	DCB: block [DCB_SIZE] field (DCB_FIELDS)
	    preset (
	    [D_UCB] = UCB,
	    [D_NAM] = 'NS',
	    [D_DSP] = $NSTBL),

	UCB: block [UCB_SIZE] field (UCB_FIELDS)
	    preset (
	    [U_DCB] = DCB,
	    [U_CTL] = 3,	! UC_KIL or UC_QUE
	    [U_STS] = 1,	! US_RED
	    [U_DB] = SCX$DB,
	    [U_SCB] = SCB),

	SCB: block [SCB_SIZE] field (SCB_FIELDS)
	    preset ( [S_STS] = 0);

    global bind
	$NSDAT = DCB;

    global
	SCX$DB: block [SCXDB_SIZE] field (SCXDB_FIELDS)
	    preset (
	    [SCX_LINKS] = NS_TPT,
	    [SCX_MBTL] = SCX$DB [SCX_MBHD],
	    [SCX_OTN_LEN] = 1,
	    [SCX_OTN_ADDR] = OTN,
	    [SCX_ULA_ADDR] = ULA);
%fi


$MCB_PROCESS (
    NAME = SCX,
    RSX_DISPATCH = $NSTBL,
    LLC_DISPATCH = $SCXLL);	! Form process header

end
eludom