Google
 

Trailing-Edge - PDP-10 Archives - BB-FB51A-RM - sna-ai/sources/saidnf.lst
There are no other files named saidnf.lst in the archive.
		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   1
								21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (1)

;   0001  0	%title 'SNA GATEWAY ACCESS DECNET FUNCTIONS'
;   0002  0	
;   0003  0	module SAIDNF (%if %switches (TOPS10) %then ots = 'SYS:B361LB.REL', %fi
;   0004  0	               ident = 'Version 1.0') =
;   0005  1	begin
;   0006  1	
;   0007  1	! Copyright (c) 1985 by
;   0008  1	! DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts
;   0009  1	!
;   0010  1	! This software is furnished under a license and may be used and  copied
;   0011  1	! only  in  accordance  with  the  terms  of  such  license and with the
;   0012  1	! inclusion of the above copyright notice.  This software or  any  other
;   0013  1	! copies  thereof may not be provided or otherwise made available to any
;   0014  1	! other person.  No title to and ownership of  the  software  is  hereby
;   0015  1	! transferred.
;   0016  1	!
;   0017  1	! The information in this software is subject to change  without  notice
;   0018  1	! and  should  not  be  construed  as  a commitment by Digital Equipment
;   0019  1	! Corporation.
;   0020  1	!
;   0021  1	! Digital assumes no responsibility for the use or  reliability  of  its
;   0022  1	! software on equipment which is not supplied by Digital.
;   0023  1	
;   0024  1	
;   0025  1	!++
;   0026  1	! FACILITY:
;   0027  1	!
;   0028  1	!	SNA Gateway Access Module
;   0029  1	!
;   0030  1	! ABSTRACT:
;   0031  1	!
;   0032  1	!
;   0033  1	! ENVIRONMENT:
;   0034  1	!
;   0035  1	!	TOPS-10/20 Operating Systems, user interface.
;   0036  1	!
;   0037  1	!
;   0038  1	!--
;   0039  1	
;   0040  1	!
;   0041  1	! INCLUDE FILES
;   0042  1	!
;   0043  1	
; U 0044  1	%if %switches (TOPS10) %then
; U 0045  1	
; U 0046  1	library 'UUOSYM';			! Monitor symbols
; U 0047  1	library 'NSPUUO';                       ! NSP. UUO macros
; U 0048  1	builtin uuo;
; U 0049  1	
;   0050  1	%fi
;   0051  1	
;   0052  1	%if %switches (TOPS20) %then
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   2
Version 1.0							21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (1)

;   0053  1	
;   0054  1	library 'MONSYM';                       ! Monitor symbols
;   0055  1	require 'JSYS';                         ! JSYS declarations
;   0396  1	
;   0397  1	%fi
;   0398  1	
;   0399  1	library 'SNACOM';                       ! SNA Gateway Access Common symbols
;   0400  1	
;   0401  1	!
;   0402  1	! FORWARD ROUTINE
;   0403  1	!
;   0404  1	
;   0405  1	forward routine                         ! Global routine definitions
;   0406  1	    GAD$ABORT_LINK,
;   0407  1	    GAD$ABORT_REASON,
;   0408  1	    GAD$DISCONNECT_LINK,
;   0409  1	    GAD$LINK_STATUS,
;   0410  1	    GAD$NETWORK_DESCRIPTOR,
;   0411  1	    GAD$OPEN_LINK,
;   0412  1	    GAD$OPEN_SERVER,
;   0413  1	    GAD$PROTOCOL_TYPE,
;   0414  1	    GAD$PSI_CHANNELS,
;   0415  1	    GAD$RECEIVE_DATA,
;   0416  1	    GAD$RECEIVE_INTERRUPT,
;   0417  1	    GAD$SEND_DATA,
;   0418  1	    GAD$SEND_INTERRUPT,
;   0419  1	    GAD$EC_SEND_DATA;
;   0420  1	
;   0421  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   3
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

;   0422  1	%global_routine ('GAD$ABORT_LINK', CHANNEL) =
;   0423  1	
;   0424  1	!++
;   0425  1	! FUNCTIONAL DESCRIPTION:
;   0426  1	!
;   0427  1	!	Function disconnects the DECnet logical link between the Gateway
;   0428  1	!       Access Module and the Gateway Module. Abort any output operation
;   0429  1	!       currently being done.
;   0430  1	!
;   0431  1	! FORMAL PARAMETERS:
;   0432  1	!
;   0433  1	!	CHANNEL         DECnet logical link's channel.
;   0434  1	!
;   0435  1	! IMPLICIT INPUTS:
;   0436  1	!
;   0437  1	!	none
;   0438  1	!
;   0439  1	! IMPLICIT OUTPUTS:
;   0440  1	!
;   0441  1	!	none
;   0442  1	!
;   0443  1	! ROUTINE VALUE:
;   0444  1	!
;   0445  1	!	$TRUE   Link was aborted successfully.
;   0446  1	!	$FALSE  Failed to abort link.
;   0447  1	!
;   0448  1	! SIDE EFFECTS:
;   0449  1	!
;   0450  1	!	The DECnet logical link is disconnected abortively.
;   0451  1	!
;   0452  1	!--
;   0453  1	
;   0454  2	    begin
;   0455  2	
; U 0456  2	    %if %switches (TOPS10) %then
; U 0457  2	
; U 0458  2	    if uuo_nsfab (.CHANNEL)
; U 0459  2	    then return $TRUE
; U 0460  2	    else uuo_nsfrl (.CHANNEL);
; U 0461  2	
;   0462  2	    %fi
;   0463  2	
;   0464  2	    %if %switches (TOPS20) %then
;   0465  2	
;   0466  2	    return jsys_closf (.CHANNEL+cz_abt);
;   0467  2	
;   0468  2	    %fi
;   0469  2	
;   0470  1	    end;                                ! End of GAD$ABORT_LINK


	TITLE	SAIDNF
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   4
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

	TWOSEG


	.REQUEST  SYS:B362LB.REL


JSYS_ACCES==	    552				;						000000	000552
JSYS_ADBRK==	    570				;						000000	000570
JSYS_AIC==	    131				;						000000	000131
JSYS_ALLOC==	    520				;						000000	000520
JSYS_ARCF==	    247				;						000000	000247
JSYS_ASND==	    70				;						000000	000070
JSYS_ASNSQ==	    752				;						000000	000752
JSYS_ATACH==	    116				;						000000	000116
JSYS_ATI==	    137				;						000000	000137
JSYS_ATNVT==	    274				;						000000	000274
JSYS_BIN==	    50				;						000000	000050
JSYS_BKJFN==	    42				;						000000	000042
JSYS_BOOT==	    562				;						000000	000562
JSYS_BOUT==	    51				;						000000	000051
JSYS_CACCT==	    4				;						000000	000004
JSYS_CFIBF==	    100				;						000000	000100
JSYS_CFOBF==	    101				;						000000	000101
JSYS_CFORK==	    152				;						000000	000152
JSYS_CHFDB==	    64				;						000000	000064
JSYS_CHKAC==	    521				;						000000	000521
JSYS_CIS==	    141				;						000000	000141
JSYS_CLOSF==	    22				;						000000	000022
JSYS_CLZFF==	    34				;						000000	000034
JSYS_COMND==	    544				;						000000	000544
JSYS_CRDIR==	    240				;						000000	000240
JSYS_CRJOB==	    2				;						000000	000002
JSYS_CRLNM==	    502				;						000000	000502
JSYS_CVHST==	    276				;						000000	000276
JSYS_CVSKT==	    275				;						000000	000275
JSYS_DEBRK==	    136				;						000000	000136
JSYS_DELDF==	    67				;						000000	000067
JSYS_DELF==	    26				;						000000	000026
JSYS_DELNF==	    317				;						000000	000317
JSYS_DEQ==	    514				;						000000	000514
JSYS_DEVST==	    121				;						000000	000121
JSYS_DFIN==	    234				;						000000	000234
JSYS_DFOUT==	    235				;						000000	000235
JSYS_DIAG==	    530				;						000000	000530
JSYS_DIBE==	    212				;						000000	000212
JSYS_DIC==	    133				;						000000	000133
JSYS_DIR==	    130				;						000000	000130
JSYS_DIRST==	    41				;						000000	000041
JSYS_DISMS==	    167				;						000000	000167
JSYS_DOBE==	    104				;						000000	000104
JSYS_DSKAS==	    244				;						000000	000244
JSYS_DSKOP==	    242				;						000000	000242
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   5
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

JSYS_DTACH==	    115				;						000000	000115
JSYS_DTI==	    140				;						000000	000140
JSYS_DUMPI==	    65				;						000000	000065
JSYS_DUMPO==	    66				;						000000	000066
JSYS_DVCHR==	    117				;						000000	000117
JSYS_EIR==	    126				;						000000	000126
JSYS_ENQ==	    513				;						000000	000513
JSYS_ENQC==	    515				;						000000	000515
JSYS_EPCAP==	    151				;						000000	000151
JSYS_ERSTR==	    11				;						000000	000011
JSYS_ESOUT==	    313				;						000000	000313
JSYS_FFFFP==	    31				;						000000	000031
JSYS_FFORK==	    154				;						000000	000154
JSYS_FFUFP==	    211				;						000000	000211
JSYS_FLHST==	    277				;						000000	000277
JSYS_FLIN==	    232				;						000000	000232
JSYS_FLOUT==	    233				;						000000	000233
JSYS_GACCT==	    546				;						000000	000546
JSYS_GACTF==	    37				;						000000	000037
JSYS_GCVEC==	    300				;						000000	000300
JSYS_GDSKC==	    214				;						000000	000214
JSYS_GDSTS==	    145				;						000000	000145
JSYS_GDVEC==	    542				;						000000	000542
JSYS_GET==	    200				;						000000	000200
JSYS_GETAB==	    10				;						000000	000010
JSYS_GETER==	    12				;						000000	000012
JSYS_GETJI==	    507				;						000000	000507
JSYS_GETNM==	    177				;						000000	000177
JSYS_GETOK_==	    574				;						000000	000574
JSYS_GEVEC==	    205				;						000000	000205
JSYS_GFRKH==	    164				;						000000	000164
JSYS_GFRKS==	    166				;						000000	000166
JSYS_GFUST==	    550				;						000000	000550
JSYS_GIVOK_==	    576				;						000000	000576
JSYS_GJINF==	    13				;						000000	000013
JSYS_GNJFN==	    17				;						000000	000017
JSYS_GPJFN==	    206				;						000000	000206
JSYS_GTAD==	    227				;						000000	000227
JSYS_GTDAL==	    305				;						000000	000305
JSYS_GTDIR==	    241				;						000000	000241
JSYS_GTFDB==	    63				;						000000	000063
JSYS_GTHST==	    273				;						000000	000273
JSYS_GTJFN==	    20				;						000000	000020
JSYS_GTRPI==	    172				;						000000	000172
JSYS_GTNCP==	    272				;						000000	000272
JSYS_GTRPW==	    171				;						000000	000171
JSYS_GTSTS==	    24				;						000000	000024
JSYS_GTTYP==	    303				;						000000	000303
JSYS_HALTF==	    170				;						000000	000170
JSYS_HFORK==	    162				;						000000	000162
JSYS_HPTIM==	    501				;						000000	000501
JSYS_HSYS==	    307				;						000000	000307
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   6
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

JSYS_IDCNV==	    223				;						000000	000223
JSYS_IDTIM==	    221				;						000000	000221
JSYS_IDTNC==	    231				;						000000	000231
JSYS_IIC==	    132				;						000000	000132
JSYS_INLNM==	    503				;						000000	000503
JSYS_JFNS==	    30				;						000000	000030
JSYS_KFORK==	    153				;						000000	000153
JSYS_LGOUT==	    3				;						000000	000003
JSYS_LNMST==	    504				;						000000	000504
JSYS_LOGIN==	    1				;						000000	000001
JSYS_LPINI==	    547				;						000000	000547
JSYS_MDDT_==	    777				;						000000	000777
JSYS_METER_==	    766				;						000000	000766
JSYS_MRECV==	    511				;						000000	000511
JSYS_MSEND==	    510				;						000000	000510
JSYS_MSFRK==	    312				;						000000	000312
JSYS_MSTR==	    555				;						000000	000555
JSYS_MTALN==	    774				;						000000	000774
JSYS_MTOPR==	    77				;						000000	000077
JSYS_MTU_==	    600				;						000000	000600
JSYS_MUTIL==	    512				;						000000	000512
JSYS_NIN==	    225				;						000000	000225
JSYS_NODE==	    567				;						000000	000567
JSYS_NOUT==	    224				;						000000	000224
JSYS_ODCNV==	    222				;						000000	000222
JSYS_ODTIM==	    220				;						000000	000220
JSYS_ODTNC==	    230				;						000000	000230
JSYS_OPENF==	    21				;						000000	000021
JSYS_PBIN==	    73				;						000000	000073
JSYS_PBOUT==	    74				;						000000	000074
JSYS_PEEK==	    311				;						000000	000311
JSYS_PLOCK==	    561				;						000000	000561
JSYS_PMAP==	    56				;						000000	000056
JSYS_PMCTL==	    560				;						000000	000560
JSYS_PPNST==	    557				;						000000	000557
JSYS_PRARG==	    545				;						000000	000545
JSYS_PSOUT==	    76				;						000000	000076
JSYS_RCDIR==	    553				;						000000	000553
JSYS_RCM==	    134				;						000000	000134
JSYS_RCUSR==	    554				;						000000	000554
JSYS_RCVIM==	    751				;						000000	000751
JSYS_RCVOK_==	    575				;						000000	000575
JSYS_RDTTY==	    523				;						000000	000523
JSYS_RELD==	    71				;						000000	000071
JSYS_RELSQ==	    753				;						000000	000753
JSYS_RESET==	    147				;						000000	000147
JSYS_RFACS==	    161				;						000000	000161
JSYS_RFBSZ==	    45				;						000000	000045
JSYS_RFCOC==	    112				;						000000	000112
JSYS_RFMOD==	    107				;						000000	000107
JSYS_RFORK==	    155				;						000000	000155
JSYS_RFPOS==	    111				;						000000	000111
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   7
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

JSYS_RFPTR==	    43				;						000000	000043
JSYS_RFRKH==	    165				;						000000	000165
JSYS_RFSTS==	    156				;						000000	000156
JSYS_RFTAD==	    533				;						000000	000533
JSYS_RIN==	    54				;						000000	000054
JSYS_RIR==	    144				;						000000	000144
JSYS_RIRCM==	    143				;						000000	000143
JSYS_RLJFN==	    23				;						000000	000023
JSYS_RMAP==	    61				;						000000	000061
JSYS_RNAMF==	    35				;						000000	000035
JSYS_ROUT==	    55				;						000000	000055
JSYS_RPACS==	    57				;						000000	000057
JSYS_RPCAP==	    150				;						000000	000150
JSYS_RSCAN==	    500				;						000000	000500
JSYS_RTFRK==	    322				;						000000	000322
JSYS_RTIW==	    173				;						000000	000173
JSYS_RUNTM==	    15				;						000000	000015
JSYS_RWM==	    135				;						000000	000135
JSYS_RWSET==	    176				;						000000	000176
JSYS_SACTF==	    62				;						000000	000062
JSYS_SAVE==	    202				;						000000	000202
JSYS_SCTTY==	    324				;						000000	000324
JSYS_SCVEC==	    301				;						000000	000301
JSYS_SDSTS==	    146				;						000000	000146
JSYS_SDVEC==	    543				;						000000	000543
JSYS_SETER==	    336				;						000000	000336
JSYS_SETJB==	    541				;						000000	000541
JSYS_SETNM==	    210				;						000000	000210
JSYS_SETSN==	    506				;						000000	000506
JSYS_SEVEC==	    204				;						000000	000204
JSYS_SFACS==	    160				;						000000	000160
JSYS_SFBSZ==	    46				;						000000	000046
JSYS_SFCOC==	    113				;						000000	000113
JSYS_SFMOD==	    110				;						000000	000110
JSYS_SFORK==	    157				;						000000	000157
JSYS_SFPOS==	    526				;						000000	000526
JSYS_SFPTR==	    27				;						000000	000027
JSYS_SFRKV==	    201				;						000000	000201
JSYS_SFTAD==	    534				;						000000	000534
JSYS_SFUST==	    551				;						000000	000551
JSYS_SIBE==	    102				;						000000	000102
JSYS_SIN==	    52				;						000000	000052
JSYS_SINR==	    531				;						000000	000531
JSYS_SIR==	    125				;						000000	000125
JSYS_SIRCM==	    142				;						000000	000142
JSYS_SIZEF==	    36				;						000000	000036
JSYS_SJPRI==	    245				;						000000	000245
JSYS_SKED_==	    577				;						000000	000577
JSYS_SKPIR==	    127				;						000000	000127
JSYS_SMAP_==	    767				;						000000	000767
JSYS_SMON==	    6				;						000000	000006
JSYS_SNDIM==	    750				;						000000	000750
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   8
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

JSYS_SNOOP==	    516				;						000000	000516
JSYS_SOBE==	    103				;						000000	000103
JSYS_SOBF==	    175				;						000000	000175
JSYS_SOUT==	    53				;						000000	000053
JSYS_SOUTR==	    532				;						000000	000532
JSYS_SPACS==	    60				;						000000	000060
JSYS_SPJFN==	    207				;						000000	000207
JSYS_SPLFK==	    314				;						000000	000314
JSYS_SPOOL==	    517				;						000000	000517
JSYS_SPRIW==	    243				;						000000	000243
JSYS_SSAVE==	    203				;						000000	000203
JSYS_STAD==	    226				;						000000	000226
JSYS_STCMP==	    540				;						000000	000540
JSYS_STDEV==	    120				;						000000	000120
JSYS_STI==	    114				;						000000	000114
JSYS_STIW==	    174				;						000000	000174
JSYS_STO==	    246				;						000000	000246
JSYS_STPAR==	    217				;						000000	000217
JSYS_STPPN==	    556				;						000000	000556
JSYS_STSTS==	    25				;						000000	000025
JSYS_STTYP==	    302				;						000000	000302
JSYS_SWJFN==	    47				;						000000	000047
JSYS_SWTRP_==	    573				;						000000	000573
JSYS_SYERR==	    527				;						000000	000527
JSYS_SYSGT==	    16				;						000000	000016
JSYS_TBADD==	    536				;						000000	000536
JSYS_TBDEL==	    535				;						000000	000535
JSYS_TBLUK==	    537				;						000000	000537
JSYS_TEXTI==	    524				;						000000	000524
JSYS_TFORK==	    321				;						000000	000321
JSYS_THIBR==	    770				;						000000	000770
JSYS_TIME==	    14				;						000000	000014
JSYS_TIMER==	    522				;						000000	000522
JSYS_TLINK==	    216				;						000000	000216
JSYS_TMON==	    7				;						000000	000007
JSYS_TTMSG==	    775				;						000000	000775
JSYS_TWAKE==	    771				;						000000	000771
JSYS_UFPGS==	    525				;						000000	000525
JSYS_USAGE==	    564				;						000000	000564
JSYS_USRIO==	    310				;						000000	000310
JSYS_UTEST==	    563				;						000000	000563
JSYS_UTFRK==	    323				;						000000	000323
JSYS_VACCT==	    566				;						000000	000566
JSYS_WAIT==	    306				;						000000	000306
JSYS_WFORK==	    163				;						000000	000163
JSYS_WILD_==	    565				;						000000	000565
JSYS_XRIR_==	    601				;						000000	000601
JSYS_XSIR_==	    602				;						000000	000602


AC0=	0
AC1=	1
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page   9
Version 1.0	GAD$ABORT_LINK   (GADABT)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (2)

AC2=	2
AC3=	3
AC4=	4
AC5=	5
AC6=	6
AC7=	7
AC10=	10
AC11=	11
AC12=	12
AC13=	13
AC14=	14
FP=	15
AC16=	16
SP=	17


	RELOC	400000				;					400000'
GADABT::MOVE	AC1,-1(SP)			; AC1,CHANNEL				400000' 200 01 0 17 777777		0466
	ADD	AC1,C.1				; AC1,[4000000000]			400001' 270 01 0 00 400007'
	JSYS	22				; 22					400002' 104 00 0 00 000022
	TDZA	AC2,AC2				; AC2,AC2				400003' 634 02 0 00 000002
	MOVEI	AC2,1				; AC2,1					400004' 201 02 0 00 000001
	MOVE	AC1,AC2				; AC1,AC2				400005' 200 01 0 00 000002		0454
	POPJ	SP,				; SP,					400006' 263 17 0 00 000000		0422
C.1:	EXP	4000000000			; 4000000000				400007' 004000	000000

; Routine Size:  8 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  10
Version 1.0	GAD$ABORT_REASON   (GADRSN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (3)

;   0471  1	%global_routine ('GAD$ABORT_REASON', CHANNEL, REASON) =
;   0472  1	
;   0473  1	!++
;   0474  1	! FUNCTIONAL DESCRIPTION:
;   0475  1	!
;   0476  1	!	Function reads reason for aborted link
;   0477  1	!
;   0478  1	! FORMAL PARAMETERS:
;   0479  1	!
;   0480  1	!	CHANNEL         The DECnet logical link's channel.
;   0481  1	!       REASON          Reason to be returned.
;   0482  1	!
;   0483  1	! IMPLICIT INPUTS:
;   0484  1	!
;   0485  1	!	none
;   0486  1	!
;   0487  1	! IMPLICIT OUTPUTS:
;   0488  1	!
;   0489  1	!	none
;   0490  1	!
;   0491  1	! ROUTINE VALUE:
;   0492  1	!
;   0493  1	!	$TRUE   Reason found, and returned in REASON.
;   0494  1	!       $FALSE  Failed to find reason.
;   0495  1	!
;   0496  1	! SIDE EFFECTS:
;   0497  1	!
;   0498  1	!	Due to a bug in TOPS-10 7.02 DECnet code, the .NSFRD function does
;   0499  1	!       not return single-byte user reject data correctly. Therefore, this
;   0500  1	!       procedure uses the .NSFRI function instead. The .NSFRI function is
;   0501  1	!       not intended for this purpose, but apparently it works equally well
;   0502  1	!       with a lot of pointers to be set up prior to the NSP. call.
;   0503  1	!
;   0504  1	!       The macros V702 and V703 are defined to correspond with the version
;   0505  1	!       of TOPS-10 that the software is compiled to run under. Their values
;   0506  1	!       should be defined appropriately for future release.
;   0507  1	!--
;   0508  1	
;   0509  2	    begin
;   0510  2	
;   0511  2	    macro
;   0512  2	        V702 = 1 %,                     ! Update these macros for
;   0513  2	        V703 = 0 %;                     !  appropriate releases
;   0514  2	
; U 0515  2	    %if %switches (TOPS10) %then
; U 0516  2	
; U 0517  2	    local
; U 0518  2	        %if V702 %then BUFFER: CONNECT_BLOCK %fi
; U 0519  2	        %if V703 %then BUFFER: STRING_BLOCK (5) %fi;
; U 0520  2	
; U 0521  2	    %if V702 %then
; U 0522  2	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  11
Version 1.0	GAD$ABORT_REASON   (GADRSN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (3)

; U 0523  2	    bind
; U 0524  2	        DSTMP = BUFFER[NSCSDB]: ref DESCRIPTOR_BLOCK,
; U 0525  2	        STTMP = BUFFER[NSCUSB]: ref STRING_BLOCK (11),
; U 0526  2	        UDBLK = BUFFER[NSCUDB]: ref STRING_BLOCK (5);
; U 0527  2	
; U 0528  2	    %fi
; U 0529  2	
;   0530  2	    %fi
;   0531  2	
;   0532  2	    %if %switches (TOPS20) %then
;   0533  2	
;   0534  2	    local
;   0535  2	        BUFFER,
;   0536  2	        POINTER,
;   0537  2	        LENGTH;
;   0538  2	
;   0539  2	    %fi
;   0540  2	
;   0541  2	    local
;   0542  2	        TEMP;
;   0543  2	
; U 0544  2	    %if %switches (TOPS10) %then
; U 0545  2	
; U 0546  2	    %if V702 %then
; U 0547  2	
; U 0548  2	    BUFFER[NSCNL] = 8;                  ! Connect block length
; U 0549  2	    BUFFER[NSCXX] = 0;                  ! Unused
; U 0550  2	    BUFFER[NSCSD] =                     ! Source/Destination descriptor blocks
; U 0551  2	    BUFFER[NSCDD] = DSTMP;
; U 0552  2	    BUFFER[NSCND] =                     ! Node name block
; U 0553  2	    BUFFER[NSCUS] =                     ! User id block
; U 0554  2	    BUFFER[NSCPW] =                     ! Password block
; U 0555  2	    BUFFER[NSCAC] = STTMP;              ! Account block
; U 0556  2	    BUFFER[NSCUD] = BUFFER[NSCUDB];     ! User data block
; U 0557  2	
; U 0558  2	    UDBLK[NSAS0] = (16^18) + 5;         ! User data block maximum length
; U 0559  2	    DSTMP[NSDFL] =                      ! Temporary blocks with length 0
; U 0560  2	    STTMP[NSAS0] = 0;
; U 0561  2	
; U 0562  2	    if (TEMP = (uuo_nsfri (.CHANNEL, 0, BUFFER) and (.UDBLK[NSASC] gtr 0)))
; U 0563  2	    then .REASON = ch$rchar (ch$ptr (UDBLK[NSAST],,8));
; U 0564  2	
; U 0565  2	    %fi
; U 0566  2	
; U 0567  2	    %if V703 %then
; U 0568  2	
; U 0569  2	    BUFFER[NSAS0] = (16^18) + 5;        ! String block maximum length
; U 0570  2	    if (TEMP = (uuo_nsfrd (.CHANNEL, 0, BUFFER) and (.BUFFER[NSASC] gtr 0)))
; U 0571  2	    then .REASON = ch$rchar (ch$ptr (BUFFER[NSAST],,8));
; U 0572  2	
; U 0573  2	    %fi
; U 0574  2	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  12
Version 1.0	GAD$ABORT_REASON   (GADRSN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (3)

;   0575  2	    %fi
;   0576  2	
;   0577  2	    %if %switches (TOPS20) %then
;   0578  2	
;   0579  2	    POINTER = ch$ptr (BUFFER,,8);       ! Read reason for aborting link
;   0580  2	    jsys_mtopr (.CHANNEL, $morda, .POINTER; ,,, LENGTH);
;   0581  2	
;   0582  3	    if (TEMP = (.LENGTH gtr 0))
;   0583  2	    then .REASON = ch$rchar (.POINTER); ! Return reason code
;   0584  2	
;   0585  2	    %fi
;   0586  2	
;   0587  2	    ! Close link and release logical link channel
;   0588  2	
;   0589  2	    GAD$ABORT_LINK (.CHANNEL);
;   0590  2	
;   0591  2	    return .TEMP;
;   0592  1	    end;                                ! End of GAD$ABORT_REASON


GADRSN::PUSH	SP,AC16				; SP,AC16				400010' 261 17 0 00 000016		0471
	ADJSP	SP,1				; SP,1					400011' 105 17 0 00 000001
	MOVEI	AC3,-1(SP)			; AC3,BUFFER-1				400012' 201 03 0 17 777777		0579
	HRLI	AC3,41000			; AC3,41000				400013' 505 03 0 00 041000
	MOVE	AC5,AC3				; POINTER,AC3				400014' 200 05 0 00 000003
	MOVE	AC1,-4(SP)			; AC1,CHANNEL				400015' 200 01 0 17 777774		0580
	MOVEI	AC2,33				; AC2,33				400016' 201 02 0 00 000033
	MOVE	AC3,AC5				; AC3,POINTER				400017' 200 03 0 00 000005
	JSYS	77				; 77					400020' 104 00 0 00 000077
	JUMP	16,L.1				; 16,L.1				400021' 320 16 0 00 400022'
L.1:	SETZ	AC1,				; AC1,					400022' 400 01 0 00 000000		0582
	JUMPLE	AC4,L.2				; LENGTH,L.2				400023' 323 04 0 00 400025'
	MOVEI	AC1,1				; AC1,1					400024' 201 01 0 00 000001
L.2:	MOVE	AC16,AC1			; TEMP,AC1				400025' 200 16 0 00 000001
	TRNN	AC1,1				; AC1,1					400026' 606 01 0 00 000001
	JRST	L.3				; L.3					400027' 254 00 0 00 400034'
	MOVE	AC2,-3(SP)			; AC2,REASON				400030' 200 02 0 17 777775		0583
	MOVE	AC3,AC5				; AC3,POINTER				400031' 200 03 0 00 000005
	ILDB	AC1,AC3				; AC1,AC3				400032' 134 01 0 00 000003
	MOVEM	AC1,0(AC2)			; AC1,0(AC2)				400033' 202 01 0 02 000000
L.3:	PUSH	SP,-4(SP)			; SP,CHANNEL				400034' 261 17 0 17 777774		0589
	PUSHJ	SP,GADABT			; SP,GADABT				400035' 260 17 0 00 400000'
	ADJSP	SP,-1				; SP,-1					400036' 105 17 0 00 777777		0591
	MOVE	AC1,AC16			; AC1,TEMP				400037' 200 01 0 00 000016		0509
	ADJSP	SP,-1				; SP,-1					400040' 105 17 0 00 777777		0471
	POP	SP,AC16				; SP,AC16				400041' 262 17 0 00 000016
	POPJ	SP,				; SP,					400042' 263 17 0 00 000000

; Routine Size:  27 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  13
Version 1.0	GAD$DISCONNECT_LINK   (GADDIS)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (4)

;   0593  1	%global_routine ('GAD$DISCONNECT_LINK', CHANNEL) =
;   0594  1	
;   0595  1	!++
;   0596  1	! FUNCTIONAL DESCRIPTION:
;   0597  1	!
;   0598  1	!	Function disconnects the DECnet logical link between the Gateway
;   0599  1	!       Access Module and the Gateway Module normally.
;   0600  1	!
;   0601  1	! FORMAL PARAMETERS:
;   0602  1	!
;   0603  1	!	CHANNEL         The DECnet logical link's channel.
;   0604  1	!
;   0605  1	! IMPLICIT INPUTS:
;   0606  1	!
;   0607  1	!	none
;   0608  1	!
;   0609  1	! IMPLICIT OUTPUTS:
;   0610  1	!
;   0611  1	!	none
;   0612  1	!
;   0613  1	! ROUTINE VALUE:
;   0614  1	!
;   0615  1	!	$TRUE   Link was disconnected successfully.
;   0616  1	!	$FALSE  Failed to disconnect link.
;   0617  1	!
;   0618  1	! SIDE EFFECTS:
;   0619  1	!
;   0620  1	!	The DECnet logical link is disconnected normally.
;   0621  1	!
;   0622  1	!--
;   0623  1	
;   0624  2	    begin
;   0625  2	
; U 0626  2	    %if %switches (TOPS10) %then
; U 0627  2	
; U 0628  2	    if uuo_nsfsd (.CHANNEL)
; U 0629  2	    then return $TRUE
; U 0630  2	    else if uuo_nsfrl (.CHANNEL)
; U 0631  2	         then return $TRUE;
; U 0632  2	    return $FALSE;
; U 0633  2	
;   0634  2	    %fi
;   0635  2	
;   0636  2	    %if %switches (TOPS20) %then
;   0637  2	
;   0638  2	    return jsys_closf (.CHANNEL);
;   0639  2	    
;   0640  2	    %fi
;   0641  2	
;   0642  1	    end;                                ! End of GAD$DISCONNECT_LINK
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  14
Version 1.0	GAD$DISCONNECT_LINK   (GADDIS)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (4)

GADDIS::MOVE	AC1,-1(SP)			; AC1,CHANNEL				400043' 200 01 0 17 777777		0638
	JSYS	22				; 22					400044' 104 00 0 00 000022
	TDZA	AC2,AC2				; AC2,AC2				400045' 634 02 0 00 000002
	MOVEI	AC2,1				; AC2,1					400046' 201 02 0 00 000001
	MOVE	AC1,AC2				; AC1,AC2				400047' 200 01 0 00 000002		0624
	POPJ	SP,				; SP,					400050' 263 17 0 00 000000		0593

; Routine Size:  6 words


;   0643  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  15
Version 1.0	GAD$LINK_STATUS   (GADSTA)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (5)

;   0644  1	%global_routine ('GAD$LINK_STATUS', CHANNEL, STATUS) =
;   0645  1	
;   0646  1	!++
;   0647  1	! FUNCTIONAL DESCRIPTION:
;   0648  1	!
;   0649  1	!	Function gets the current status of the logical link.
;   0650  1	!
;   0651  1	! FORMAL PARAMETERS:
;   0652  1	!
;   0653  1	!	CHANNEL         The DECnet logical link's channel.
;   0654  1	!       STATUS          Address of the status word which content is to be
;   0655  1	!                       returned.
;   0656  1	!
;   0657  1	! IMPLICIT INPUTS:
;   0658  1	!
;   0659  1	!	none
;   0660  1	!
;   0661  1	! IMPLICIT OUTPUTS:
;   0662  1	!
;   0663  1	!	none
;   0664  1	!
;   0665  1	! ROUTINE VALUE:
;   0666  1	!
;   0667  1	!	$TRUE   Obtained the status of the link successfully.
;   0668  1	!       $FALSE  The status of the link is abnormal, the calling party should
;   0669  1	!               check for error code in the right half of the status word.
;   0670  1	!
;   0671  1	! SIDE EFFECTS:
;   0672  1	!
;   0673  1	!	none
;   0674  1	!
;   0675  1	!--
;   0676  1	
;   0677  2	    begin
;   0678  2	
; U 0679  2	    %if %switches (TOPS10) %then
; U 0680  2	
; U 0681  2	    return uuo_nsfrs (.CHANNEL, .STATUS);
; U 0682  2	
;   0683  2	    %fi
;   0684  2	
;   0685  2	    %if %switches (TOPS20) %then
;   0686  2	
;   0687  2	    jsys_mtopr (.CHANNEL, $morls; ,, .STATUS);
;   0688  2	    return (.(.STATUS)<0,18> eql 0);
;   0689  2	
;   0690  2	    %fi
;   0691  2	
;   0692  1	    end;                                ! End of GAD$LINK_STATUS


GADSTA::MOVE	AC1,-2(SP)			; AC1,CHANNEL				400051' 200 01 0 17 777776		0687
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  16
Version 1.0	GAD$LINK_STATUS   (GADSTA)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (5)

	MOVEI	AC2,25				; AC2,25				400052' 201 02 0 00 000025
	JSYS	77				; 77					400053' 104 00 0 00 000077
	JUMP	16,L.4				; 16,L.4				400054' 320 16 0 00 400055'
L.4:	MOVE	AC2,-1(SP)			; AC2,STATUS				400055' 200 02 0 17 777777
	MOVEM	AC3,0(AC2)			; AC3,0(AC2)				400056' 202 03 0 02 000000
	SETZ	AC1,				; AC1,					400057' 400 01 0 00 000000		0688
	HRRZ	AC3,0(AC2)			; AC3,0(AC2)				400060' 550 03 0 02 000000
	JUMPN	AC3,L.5				; AC3,L.5				400061' 326 03 0 00 400063'
	MOVEI	AC1,1				; AC1,1					400062' 201 01 0 00 000001
L.5:	POPJ	SP,				; SP,					400063' 263 17 0 00 000000		0644

; Routine Size:  11 words


;   0693  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  17
Version 1.0	GAD$NETWORK_DESCRIPTOR   (GADNET)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (6)

;   0694  1	%global_routine ('GAD$NETWORK_DESCRIPTOR', CONNECT, NODE, OBJECT) =
;   0695  1	
;   0696  1	!++
;   0697  1	! FUNCTIONAL DESCRIPTION:
;   0698  1	!
;   0699  1	!	Function to build the network file descriptor, using information
;   0700  1	!       supplied by the user.
;   0701  1	!
;   0702  1	! FORMAL PARAMETERS:
;   0703  1	!
;   0704  1	!	CONNECT         TOPS-10:    Address of the buffer where the
;   0705  1	!                                   Connect block is to be returned.
;   0706  1	!                       TOPS-20:    String pointer to the buffer where
;   0707  1	!                                   the network file descriptor is to be
;   0708  1	!                                   returned.
;   0709  1	!
;   0710  1	!       NODE            User supplied Gateway node name.
;   0711  1	!
;   0712  1	!       OBJECT          Object number to use in Network file descriptor.
;   0713  1	!
;   0714  1	!
;   0715  1	! IMPLICIT INPUTS:
;   0716  1	!
;   0717  1	!	none
;   0718  1	!
;   0719  1	! IMPLICIT OUTPUTS:
;   0720  1	!
;   0721  1	!	Network File Descriptor is built and returned in the given buffer.
;   0722  1	!
;   0723  1	! ROUTINE VALUE:
;   0724  1	!
;   0725  1	!	$TRUE   The network file descriptor was built successfully.
;   0726  1	!       -1      Failed. Unable to obtain gateway node name.
;   0727  1	!
;   0728  1	! SIDE EFFECTS:
;   0729  1	!
;   0730  1	!	none
;   0731  1	!
;   0732  1	!--
;   0733  1	
; U 0734  1	    %if %switches (TOPS10) %then
; U 0735  1	    begin
; U 0736  1	
; U 0737  1	
; U 0738  1	    map                                 ! Set up the connect block fields
; U 0739  1	        CONNECT: ref CONNECT_BLOCK;
; U 0740  1	
; U 0741  1	    bind
; U 0742  1	        NDBLK = CONNECT[NSCNDB]: STRING_BLOCK (3),
; U 0743  1	        SDBLK = CONNECT[NSCSDB]: DESCRIPTOR_BLOCK,
; U 0744  1	        SNBLK = SDBLK[NSDPB]: STRING_BLOCK (6),
; U 0745  1	        DDBLK = CONNECT[NSCDDB]: DESCRIPTOR_BLOCK,
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  18
Version 1.0	GAD$NETWORK_DESCRIPTOR   (GADNET)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (6)

; U 0746  1	        PWBLK = CONNECT[NSCPWB]: STRING_BLOCK (11),
; U 0747  1	        UDBLK = CONNECT[NSCUDB]: STRING_BLOCK (5);
; U 0748  1	
; U 0749  1	
; U 0750  1	    local
; U 0751  1	        RESULT,
; U 0752  1	        LENGTH,
; U 0753  1	        POINTER;
; U 0754  1	
; U 0755  1	    ! Set up the connect block buffer
; U 0756  1	
; U 0757  1	    CONNECT[NSCNL] = 8;                 ! Connect block length
; U 0758  1	    CONNECT[NSCND] = CONNECT[NSCNDB];   ! Node name block
; U 0759  1	    CONNECT[NSCSD] = CONNECT[NSCSDB];   ! Source descriptor block
; U 0760  1	    CONNECT[NSCDD] = CONNECT[NSCDDB];   ! Destination descriptor block
; U 0761  1	    CONNECT[NSCPW] = CONNECT[NSCPWB];   ! Password block
; U 0762  1	    CONNECT[NSCUD] = CONNECT[NSCUDB];   ! User data block
; U 0763  1	    CONNECT[NSCXX] =                    ! Unused and should be set to 0
; U 0764  1	    CONNECT[NSCUS] =                    ! User id block
; U 0765  1	    CONNECT[NSCAC] = 0;                 ! Account block
; U 0766  1	
; U 0767  1	    NDBLK[NSAS0] = (.LENGTH^18) + 3;    ! Node name length
; U 0768  1	    ch$move (.LENGTH, .NICE, ch$ptr (NDBLK[NSAST],,8));
; U 0769  1	
; U 0770  1	    ! X.25 Gateway target task number
; U 0771  1	
; U 0772  1	    SDBLK[NSDFL] = 5;                   ! Set up the source block
; U 0773  1	    SDBLK[NSDFM] = 1;                   ! Format 1 (user program name only)
; U 0774  1	    SDBLK[NSDOB] = 0;                   ! Object type 0
; U 0775  1	    SDBLK[NSDPP] = 0;                   ! No PPN
; U 0776  1	    SDBLK[NSDPN] = SDBLK[NSDPB];        ! Task name string
; U 0777  1	    SNBLK[NSAS0] = (4^18) + 2;          ! Task name string length
; U 0778  1	    ch$move (4, CH$ASCIZ ('USER'), ch$ptr (SNBLK[NSAST],,8));
; U 0779  1	
; U 0780  1	    DDBLK[NSDFL] = 3;                   ! Set up the destination block
; U 0781  1	    DDBLK[NSDFM] = 0;                   ! Format 0
; U 0782  1	    DDBLK[NSDOB] = 31;                  ! Gateway Software Object number
; U 0783  1	
; U 0784  1	    ! Version number
; U 0785  1	
; U 0786  1	    UDBLK[NSAS0] = (3^18) + 2;          ! User data length
; U 0787  1	    POINTER = ch$ptr (UDBLK[NSAST],,8);
; U 0788  1	    ch$wchar_a (XV$VER, POINTER);       ! Version number
; U 0789  1	    ch$wchar_a (XV$ECO, POINTER);       ! ECO number
; U 0790  1	    ch$wchar_a (XV$UEC, POINTER);       ! User ECO number
; U 0791  1	
; U 0792  1	    ! Password
; U 0793  1	
; U 0794  1	    if (.PASSWORD neq 0)
; U 0795  1	    and (LENGTH = CH$LEN (.PASSWORD)) gtr 0
; U 0796  1	    then begin                          ! User supplies network access code
; U 0797  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  19
Version 1.0	GAD$NETWORK_DESCRIPTOR   (GADNET)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (6)

; U 0798  1	         PWBLK[NSAS0] = (.LENGTH^18) + 9; ! Password string length
; U 0799  1	         ch$move (.LENGTH, .PASSWORD, ch$ptr (PWBLK[NSAST],,8));
; U 0800  1	         end;
; U 0801  1	
; U 0802  1	    return $TRUE;
; U 0803  1	    end;                                ! End of GAD$NETWORK_DESCRIPTOR
; U 0804  1	
;   0805  1	 %fi
;   0806  1	
;   0807  1	%if %switches (TOPS20) %then
;   0808  1	
;   0809  2	begin
;   0810  2	
;   0811  2	    local
;   0812  2	        RESULT,
;   0813  2	        LENGTH,
;   0814  2	        SNA_GATEWAY,
;   0815  2	        POINTER;
;   0816  2	
;   0817  2	    POINTER = .CONNECT;
;   0818  2	    SNA_GATEWAY = ch$ptr (uplit ('SNAGAT'));
;   0819  2	
;   0820  3	     begin                          ! Build DECnet DCN: file specification
;   0821  3	     CH$MOVSTRING (POINTER, 'DCN:');
;   0822  3	
;   0823  3	     if .NODE eql 0 
;   0824  4	     then begin
;   0825  4	
;   0826  4	          local 
;   0827  4	                LEN,
;   0828  4	                PTR,
;   0829  4	                TMP,
;   0830  4	                BUF: block [2];
;   0831  4	
;   0832  4	          PTR = ch$ptr (BUF);
;   0833  4	
;   0834  4	          ! Translate SNAGAT=SNA Node Name
;   0835  5	          if not (jsys_lnmst ($lnsjb, .SNA_GATEWAY, .PTR))  
;   0836  5	          then begin
;   0837  5	               if not (jsys_lnmst ($lnssy, .SNA_GATEWAY, .PTR)) then return -1;
;   0838  4	               end;
;   0839  4	
;   0840  4	          LEN = CH$LEN (.PTR);
;   0841  4	          POINTER = ch$move (.LEN, .PTR, .POINTER);
;   0842  4	          end
;   0843  4	
;   0844  4	     else begin
;   0845  4	          LENGTH = CH$LEN (.NODE);
;   0846  4	          POINTER = ch$move (.LENGTH, .NODE, .POINTER);
;   0847  3	          end;
;   0848  2	     end;
;   0849  2	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  20
Version 1.0	GAD$NETWORK_DESCRIPTOR   (GADNET)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (6)

;   0850  2	    ! SNA Gateway target task number
;   0851  2	
;   0852  2	    ch$move (3, .OBJECT, .POINTER);
;   0853  2	
;   0854  2	    return $TRUE;
;   0855  1	    end;                                ! End of GAD$NETWORK_DESCRIPTOR


P.AAA:	BYTE	(7)"S","N","A","G","A"		; SNAGA					400064' 123 116 101 107 101
	BYTE	(7)"T",000,000,000,000		; T					400065' 124 000 000 000 000
P.AAB:	BYTE	(7)"D","C","N",":",000		; DCN:					400066' 104 103 116 072 000


GADNET::PUSH	SP,AC12				; SP,AC12				400067' 261 17 0 00 000012		0694
	PUSH	SP,AC13				; SP,AC13				400070' 261 17 0 00 000013
	PUSH	SP,AC14				; SP,AC14				400071' 261 17 0 00 000014
	PUSH	SP,AC16				; SP,AC16				400072' 261 17 0 00 000016
	ADJSP	SP,2				; SP,2					400073' 105 17 0 00 000002
	MOVE	AC14,-11(SP)			; POINTER,CONNECT			400074' 200 14 0 17 777767		0817
	MOVE	AC12,C.3			; SNA_GATEWAY,[POINT 7,P.AAA-1,34]  <1,7>
						;					400075' 200 12 0 00 400175'		0818
	MOVEI	AC1,4				; AC1,4					400076' 201 01 0 00 000004		0821
	MOVE	AC2,C.4				; AC2,[POINT 7,P.AAB-1,34]  <1,7>	400077' 200 02 0 00 400176'
	MOVEI	AC4,4				; AC4,4					400100' 201 04 0 00 000004
	MOVE	AC5,AC14			; AC5,POINTER				400101' 200 05 0 00 000014
	EXTEND	AC1,C.2				; AC1,[MOVSLJ ]				400102' 123 01 0 00 400174'
	JFCL					; 					400103' 255 00 0 00 000000
	MOVE	AC14,AC5			; POINTER,AC5				400104' 200 14 0 00 000005
	MOVE	AC16,-10(SP)			; AC16,NODE				400105' 200 16 0 17 777770		0823
	JUMPN	AC16,L.9			; AC16,L.9				400106' 326 16 0 00 400141'
	MOVEI	AC3,-2(SP)			; AC3,BUF-1				400107' 201 03 0 17 777776		0832
	HRLI	AC3,10700			; AC3,10700				400110' 505 03 0 00 010700
	MOVE	AC13,AC3			; PTR,AC3				400111' 200 13 0 00 000003
	SETZ	AC1,				; AC1,					400112' 400 01 0 00 000000		0835
	MOVE	AC2,AC12			; AC2,SNA_GATEWAY			400113' 200 02 0 00 000012
	MOVE	AC3,AC13			; AC3,PTR				400114' 200 03 0 00 000013
	JSYS	504				; 504					400115' 104 00 0 00 000504
	JRST	L.6				; L.6					400116' 254 00 0 00 400120'
	JRST	L.8				; L.8					400117' 254 00 0 00 400130'
L.6:	MOVEI	AC1,1				; AC1,1					400120' 201 01 0 00 000001		0837
	MOVE	AC2,AC12			; AC2,SNA_GATEWAY			400121' 200 02 0 00 000012
	MOVE	AC3,AC13			; AC3,PTR				400122' 200 03 0 00 000013
	JSYS	504				; 504					400123' 104 00 0 00 000504
	JRST	L.7				; L.7					400124' 254 00 0 00 400126'
	JRST	L.8				; L.8					400125' 254 00 0 00 400130'
L.7:	SETO	AC1,				; AC1,					400126' 474 01 0 00 000000
	JRST	L.11				; L.11					400127' 254 00 0 00 400166'
L.8:	PUSH	SP,C.5				; SP,[4000]				400130' 261 17 0 00 400177'		0840
	PUSH	SP,AC13				; SP,PTR				400131' 261 17 0 00 000013
	PUSH	SP,C.6				; SP,[0]				400132' 261 17 0 00 400200'
	PUSHJ	SP,CHFCH%			; SP,CHFCH%				400133' 260 17 0 00 000000*
	PUSH	SP,AC1				; SP,AC1				400134' 261 17 0 00 000001
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  21
Version 1.0	GAD$NETWORK_DESCRIPTOR   (GADNET)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (6)

	PUSH	SP,AC13				; SP,PTR				400135' 261 17 0 00 000013
	PUSHJ	SP,CHDIF%			; SP,CHDIF%				400136' 260 17 0 00 000000*
	MOVE	AC2,AC13			; AC2,PTR				400137' 200 02 0 00 000013		0841
	JRST	L.10				; L.10					400140' 254 00 0 00 400151'
L.9:	PUSH	SP,C.5				; SP,[4000]				400141' 261 17 0 00 400177'		0845
	PUSH	SP,AC16				; SP,AC16				400142' 261 17 0 00 000016
	PUSH	SP,C.6				; SP,[0]				400143' 261 17 0 00 400200'
	PUSHJ	SP,CHFCH%			; SP,CHFCH%				400144' 260 17 0 00 000000*
	PUSH	SP,AC1				; SP,AC1				400145' 261 17 0 00 000001
	PUSH	SP,AC16				; SP,AC16				400146' 261 17 0 00 000016
	PUSHJ	SP,CHDIF%			; SP,CHDIF%				400147' 260 17 0 00 000000*
	MOVE	AC2,AC16			; AC2,AC16				400150' 200 02 0 00 000016		0846
L.10:	MOVE	AC4,AC1				; AC4,LENGTH				400151' 200 04 0 00 000001
	MOVE	AC5,AC14			; AC5,POINTER				400152' 200 05 0 00 000014
	EXTEND	AC1,C.2				; AC1,[MOVSLJ ]				400153' 123 01 0 00 400174'
	JFCL					; 					400154' 255 00 0 00 000000
	MOVE	AC14,AC5			; POINTER,AC5				400155' 200 14 0 00 000005
	MOVEI	AC1,3				; AC1,3					400156' 201 01 0 00 000003		0852
	MOVE	AC2,-14(SP)			; AC2,OBJECT				400157' 200 02 0 17 777764
	MOVEI	AC4,3				; AC4,3					400160' 201 04 0 00 000003
	MOVE	AC5,AC14			; AC5,POINTER				400161' 200 05 0 00 000014
	EXTEND	AC1,C.2				; AC1,[MOVSLJ ]				400162' 123 01 0 00 400174'
	JFCL					; 					400163' 255 00 0 00 000000
	ADJSP	SP,-5				; SP,-5					400164' 105 17 0 00 777773		0854
	MOVEI	AC1,1				; AC1,1					400165' 201 01 0 00 000001		0809
L.11:	ADJSP	SP,-2				; SP,-2					400166' 105 17 0 00 777776		0694
	POP	SP,AC16				; SP,AC16				400167' 262 17 0 00 000016
	POP	SP,AC14				; SP,AC14				400170' 262 17 0 00 000014
	POP	SP,AC13				; SP,AC13				400171' 262 17 0 00 000013
	POP	SP,AC12				; SP,AC12				400172' 262 17 0 00 000012
	POPJ	SP,				; SP,					400173' 263 17 0 00 000000
C.2:	MOVSLJ					; 					400174' 016 00 0 00 000000
C.3:	POINT	7,P.AAA-1,34			; 7,P.AAA-1,34				400175' 01 07 0 00 400063'
C.4:	POINT	7,P.AAB-1,34			; 7,P.AAB-1,34				400176' 01 07 0 00 400065'
C.5:	EXP	4000				; 4000					400177' 000000	004000
C.6:	EXP	0				; 0					400200' 000000	000000

; Routine Size:  74 words


;   0856  1	
;   0857  1	%fi
;   0858  1	
;   0859  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  22
Version 1.0	GAD$OPEN_LINK   (GADOPN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (7)

;   0860  1	%global_routine ('GAD$OPEN_LINK', CONNECT, CHANNEL, SYSERR) =
;   0861  1	
;   0862  1	!++
;   0863  1	! FUNCTIONAL DESCRIPTION:
;   0864  1	!
;   0865  1	!	Function to establish a DECnet logical link between the Gateway
;   0866  1	!       Access Module and the Gateway node.
;   0867  1	!
;   0868  1	! FORMAL PARAMETERS:
;   0869  1	!
;   0870  1	!	CONNECT         The Network File Description to be used to open the
;   0871  1	!                       network connection.
;   0872  1	!       CHANNEL         The address where the channel of the DECnet logical
;   0873  1	!                       link is to be returned, if the link is established
;   0874  1	!                       successfully.
;   0875  1	!
;   0876  1	!       SYSERR          This is the TOP20 system error code to be returned
;   0877  1	!                       to the user.  It is either a moniter code error
;   0878  1	!                       or a Decnet disconnect code.
;   0879  1	!
;   0880  1	! IMPLICIT INPUTS:
;   0881  1	!
;   0882  1	!	none
;   0883  1	!
;   0884  1	! IMPLICIT OUTPUTS:
;   0885  1	!
;   0886  1	!	none
;   0887  1	!
;   0888  1	! ROUTINE VALUE:
;   0889  1	!
;   0890  1	!	$TRUE   The DECnet link was established successfully.
;   0891  1	!               The channel number is returned.
;   0892  1	!	$FALSE  Failed to establish a network connection.
;   0893  1	!               Reason: Node not available
;   0894  1	!
;   0895  1	! SIDE EFFECTS:
;   0896  1	!
;   0897  1	!	A DECnet Logical Link is established between the local host and the
;   0898  1	!       Gateway node.
;   0899  1	!
;   0900  1	!--
;   0901  1	
;   0902  2	    begin
;   0903  2	
;   0904  2	    local
;   0905  2		REASON,
;   0906  2	        NEW_CHANNEL;
;   0907  2	
; U 0908  2	    %if %switches (TOPS10) %then
; U 0909  2	
; U 0910  2	    if not uuo_nsfea (NEW_CHANNEL, 0, .CONNECT)
; U 0911  2	    then GAD$ABORT_LINK (.NEW_CHANNEL)  ! Failed to enter active state, abort
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  23
Version 1.0	GAD$OPEN_LINK   (GADOPN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (7)

; U 0912  2	    else begin
; U 0913  2	         register AC;
; U 0914  2	
; U 0915  2	         decr I from 10 to 1
; U 0916  2	         do begin                       ! Counting down while waiting
; U 0917  2	            local STATUS;
; U 0918  2	
; U 0919  2	            GAD$LINK_STATUS (.NEW_CHANNEL, STATUS); ! Get link status
; U 0920  2	
; U 0921  2	            selectone .STATUS<$(ns$sta)> of
; U 0922  2	                set
; U 0923  2	                [$nssrn]:               ! Running
; U 0924  2	                    begin
; U 0925  2	                    .CHANNEL = .NEW_CHANNEL;
; U 0926  2	
; U 0927  2	                    return $TRUE        ! Done
; U 0928  2	                    end;
; U 0929  2	
; U 0930  2	                [$nssrj]:               ! Reject
; U 0931  2	                    begin
; U 0932  2	                    local REASON;
; U 0933  2	
; U 0934  2	                    if GAD$ABORT_REASON (.NEW_CHANNEL, REASON)
; U 0935  2	                    then return (-.REASON)
; U 0936  2	                    else return $FALSE;
; U 0937  2	                    end;
; U 0938  2	
; U 0939  2	                [$nssdr,                ! Disconnect Received
; U 0940  2	                 $nssnr,                ! No Resources
; U 0941  2	                 $nsscf,                ! No Confidence
; U 0942  2	                 $nsslk,                ! No Link
; U 0943  2	                 $nsscm]:               ! No Communication
; U 0944  2	                    return $FALSE;
; U 0945  2	                tes;
; U 0946  2	
; U 0947  2	            AC = 2;                     ! Sleep for 2 seconds
; U 0948  2	            uuo (0, sleep (AC));
; U 0949  2	            end;
; U 0950  2	         end;
; U 0951  2	
;   0952  2	    %fi
;   0953  2	
;   0954  2	    %if %switches (TOPS20) %then
;   0955  2	
;   0956  2	    if jsys_gtjfn (gj_sht, .CONNECT; NEW_CHANNEL)
;   0957  3	    then begin                          ! Got logical link successfully
;   0958  3	         if not jsys_openf (.NEW_CHANNEL, of_rd+of_wr+$$(8,of_bsz); REASON)
;   0959  4	         then begin
;   0960  4	              .SYSERR = .REASON;
;   0961  4	              jsys_rljfn (.NEW_CHANNEL);
;   0962  4	              jsys_closf (.NEW_CHANNEL+cz_abt);
;   0963  4	              return -1;
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  24
Version 1.0	GAD$OPEN_LINK   (GADOPN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (7)

;   0964  4	              end
;   0965  4	         else begin                     ! Open for READ/WRITE 8-bit
;   0966  4	              decr I from 10 to 1
;   0967  5	              do begin                  ! Check link status
;   0968  5	                 local STATUS;
;   0969  5	
;   0970  5	                 GAD$LINK_STATUS (.NEW_CHANNEL, STATUS);
;   0971  5	
;   0972  5	                 if .STATUS<$(mo_con)>  ! Return if the link is connected
;   0973  6	                 then begin
;   0974  6	                      .CHANNEL = .NEW_CHANNEL;
;   0975  6	                      return $TRUE;
;   0976  5	                      end;
;   0977  5	
;   0978  5	                 if .STATUS<$(mo_syn)>  ! If link was aborted, find out why
;   0979  5	                 or .STATUS<$(mo_abt)>
;   0980  6	                 then begin
;   0981  7	                      if not (GAD$ABORT_REASON (.NEW_CHANNEL, .SYSERR))
;   0982  6	                              then .SYSERR = .STATUS;
;   0983  6	                      return -2;
;   0984  5	                      end;
;   0985  5	
;   0986  5	                 jsys_disms (2000);     ! Idle for 2 seconds before tries
;   0987  4	                 end;
;   0988  4	
;   0989  4	              jsys_closf (.NEW_CHANNEL+cz_abt);
;   0990  3	              end;
;   0991  2	         end;
;   0992  2	
;   0993  2	    %fi
;   0994  2	
;   0995  2	    return $FALSE;
;   0996  1	    end;                                ! End of GAD$OPEN_LINK


GADOPN::PUSH	SP,AC12				; SP,AC12				400201' 261 17 0 00 000012		0860
	PUSH	SP,AC13				; SP,AC13				400202' 261 17 0 00 000013
	PUSH	SP,AC14				; SP,AC14				400203' 261 17 0 00 000014
	PUSH	SP,AC16				; SP,AC16				400204' 261 17 0 00 000016
	ADJSP	SP,1				; SP,1					400205' 105 17 0 00 000001
	MOVSI	AC1,1				; AC1,1					400206' 205 01 0 00 000001		0956
	MOVE	AC2,-10(SP)			; AC2,CONNECT				400207' 200 02 0 17 777770
	JSYS	20				; 20					400210' 104 00 0 00 000020
	TDZA	AC5,AC5				; AC5,AC5				400211' 634 05 0 00 000005
	MOVEI	AC5,1				; AC5,1					400212' 201 05 0 00 000001
	MOVE	AC13,AC1			; AC13,AC1				400213' 200 13 0 00 000001
	JUMPE	AC5,L.19			; AC5,L.19				400214' 322 05 0 00 400301'
	MOVE	AC12,AC13			; AC12,NEW_CHANNEL			400215' 200 12 0 00 000013		0962
	ADD	AC12,C.1			; AC12,[4000000000]			400216' 270 12 0 00 400007'
	MOVE	AC1,AC13			; AC1,NEW_CHANNEL			400217' 200 01 0 00 000013		0958
	MOVE	AC2,C.7				; AC2,[100000300000]			400220' 200 02 0 00 400310'
	JSYS	21				; 21					400221' 104 00 0 00 000021
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  25
Version 1.0	GAD$OPEN_LINK   (GADOPN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (7)

	JRST	L.12				; L.12					400222' 254 00 0 00 400224'
	JRST	L.13				; L.13					400223' 254 00 0 00 400236'
L.12:	MOVE	AC2,-6(SP)			; AC2,SYSERR				400224' 200 02 0 17 777772		0960
	MOVEM	AC1,0(AC2)			; REASON,0(AC2)				400225' 202 01 0 02 000000
	MOVE	AC1,AC13			; AC1,NEW_CHANNEL			400226' 200 01 0 00 000013		0961
	JSYS	23				; 23					400227' 104 00 0 00 000023
	JFCL					; 					400230' 255 00 0 00 000000
	MOVE	AC1,AC12			; AC1,AC12				400231' 200 01 0 00 000012		0962
	JSYS	22				; 22					400232' 104 00 0 00 000022
	JFCL					; 					400233' 255 00 0 00 000000
	SETO	AC1,				; AC1,					400234' 474 01 0 00 000000		0959
	JRST	L.20				; L.20					400235' 254 00 0 00 400302'
L.13:	MOVEI	AC14,11				; I,11					400236' 201 14 0 00 000011		0966
L.14:	PUSH	SP,AC13				; SP,NEW_CHANNEL			400237' 261 17 0 00 000013		0970
	MOVEI	AC1,-1(SP)			; AC1,STATUS				400240' 201 01 0 17 777777
	PUSH	SP,AC1				; SP,AC1				400241' 261 17 0 00 000001
	PUSHJ	SP,GADSTA			; SP,GADSTA				400242' 260 17 0 00 400051'
	SKIPL	-2(SP)				; STATUS				400243' 331 00 0 17 777776		0972
	JRST	L.15				; L.15					400244' 254 00 0 00 400252'
	MOVE	AC1,-11(SP)			; AC1,CHANNEL				400245' 200 01 0 17 777767		0974
	MOVEM	AC13,0(AC1)			; NEW_CHANNEL,0(AC1)			400246' 202 13 0 01 000000
	ADJSP	SP,-2				; SP,-2					400247' 105 17 0 00 777776		0975
	MOVEI	AC1,1				; AC1,1					400250' 201 01 0 00 000001		0973
	JRST	L.20				; L.20					400251' 254 00 0 00 400302'
L.15:	MOVSI	AC1,14000			; AC1,14000				400252' 205 01 0 00 014000		0979
	TDNN	AC1,-2(SP)			; AC1,STATUS				400253' 616 01 0 17 777776
	JRST	L.17				; L.17					400254' 254 00 0 00 400271'
	MOVEM	AC13,0(SP)			; NEW_CHANNEL,0(SP)			400255' 202 13 0 17 000000		0981
	MOVE	AC16,-10(SP)			; AC16,SYSERR				400256' 200 16 0 17 777770
	PUSH	SP,AC16				; SP,AC16				400257' 261 17 0 00 000016
	PUSHJ	SP,GADRSN			; SP,GADRSN				400260' 260 17 0 00 400010'
	ADJSP	SP,-1				; SP,-1					400261' 105 17 0 00 777777
	TRNE	AC1,1				; AC1,1					400262' 602 01 0 00 000001
	JRST	L.16				; L.16					400263' 254 00 0 00 400266'
	MOVE	AC1,-2(SP)			; AC1,STATUS				400264' 200 01 0 17 777776		0982
	MOVEM	AC1,0(AC16)			; AC1,0(AC16)				400265' 202 01 0 16 000000
L.16:	ADJSP	SP,-2				; SP,-2					400266' 105 17 0 00 777776		0983
	HRROI	AC1,-2				; AC1,-2				400267' 561 01 0 00 777776		0980
	JRST	L.20				; L.20					400270' 254 00 0 00 400302'
L.17:	MOVEI	AC1,3720			; AC1,3720				400271' 201 01 0 00 003720		0986
	JSYS	167				; 167					400272' 104 00 0 00 000167
	JUMP	16,L.18				; 16,L.18				400273' 320 16 0 00 400274'
L.18:	ADJSP	SP,-2				; SP,-2					400274' 105 17 0 00 777776		0967
	SOJGE	AC14,L.14			; I,L.14				400275' 365 14 0 00 400237'		0966
	MOVE	AC1,AC12			; AC1,AC12				400276' 200 01 0 00 000012		0989
	JSYS	22				; 22					400277' 104 00 0 00 000022
	JFCL					; 					400300' 255 00 0 00 000000
L.19:	SETZ	AC1,				; AC1,					400301' 400 01 0 00 000000		0902
L.20:	ADJSP	SP,-1				; SP,-1					400302' 105 17 0 00 777777		0860
	POP	SP,AC16				; SP,AC16				400303' 262 17 0 00 000016
	POP	SP,AC14				; SP,AC14				400304' 262 17 0 00 000014
	POP	SP,AC13				; SP,AC13				400305' 262 17 0 00 000013
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  26
Version 1.0	GAD$OPEN_LINK   (GADOPN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (7)

	POP	SP,AC12				; SP,AC12				400306' 262 17 0 00 000012
	POPJ	SP,				; SP,					400307' 263 17 0 00 000000
C.7:	EXP	100000300000			; 100000300000				400310' 100000	300000

; Routine Size:  72 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  27
Version 1.0	GAD$OPEN_SERVER   (GADSRV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (8)

;   0997  1	%global_routine ('GAD$OPEN_SERVER', OBJECT, CHANNEL) =
;   0998  1	
;   0999  1	!++
;   1000  1	! FUNCTIONAL DESCRIPTION:
;   1001  1	!
;   1002  1	!	Function to establish a DECnet server task waiting for
;   1003  1	!       incoming connect from the Gateway node.
;   1004  1	!
;   1005  1	! FORMAL PARAMETERS:
;   1006  1	!
;   1007  1	!	OBJECT          Pointer to the object name or numeric ASCIZ string.
;   1008  1	!       CHANNEL         The address where the channel to the DECnet server
;   1009  1	!                       task is to be returned, if the task is established
;   1010  1	!                       successfully.
;   1011  1	!
;   1012  1	! IMPLICIT INPUTS:
;   1013  1	!
;   1014  1	!	none
;   1015  1	!
;   1016  1	! IMPLICIT OUTPUTS:
;   1017  1	!
;   1018  1	!	none
;   1019  1	!
;   1020  1	! ROUTINE VALUE:
;   1021  1	!
;   1022  1	!	$TRUE   The DECnet server task was established successfully.
;   1023  1	!               The channel is returned.
;   1024  1	!	$FALSE  Failed to establish a network connection.
;   1025  1	!               Reason: Insufficient access resources.
;   1026  1	!       -1      Failed to establish a network connection.
;   1027  1	!               Reason: Illegal object id.
;   1028  1	!
;   1029  1	! SIDE EFFECTS:
;   1030  1	!
;   1031  1	!       none
;   1032  1	!
;   1033  1	!--
;   1034  1	
;   1035  2	    begin
;   1036  2	
;   1037  2	    local
;   1038  2	        %if %switches (TOPS10) %then CONNECT: CONNECT_BLOCK, %fi
;   1039  2	        %if %switches (TOPS20) %then CONNECT: CH$SEQUENCE (128), %fi
;   1040  2	        NUMERIC,
;   1041  2	        POINTER,
;   1042  2	        LENGTH,
;   1043  2		NEW_CHANNEL;
;   1044  2	
; U 1045  2	    %if %switches (TOPS10) %then
; U 1046  2	
; U 1047  2	    bind
; U 1048  2	        SDBLK = CONNECT[NSCSDB]: DESCRIPTOR_BLOCK,
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  28
Version 1.0	GAD$OPEN_SERVER   (GADSRV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (8)

; U 1049  2	        DDBLK = CONNECT[NSCDDB]: DESCRIPTOR_BLOCK,
; U 1050  2	        DNBLK = DDBLK[NSDPB]: STRING_BLOCK (6);
; U 1051  2	
;   1052  2	    %fi
;   1053  2	
;   1054  2	    if (LENGTH = CH$LEN (.OBJECT)) leq 0
;   1055  2	    then return (-1);                   ! Get object string length
;   1056  2	
;   1057  2	    NUMERIC = ch$rchar (.OBJECT);       ! Get first character of object string
;   1058  2	    selectone .NUMERIC of
;   1059  2	        set
;   1060  2	        [%C'0' to %C'9']:               ! Object number
;   1061  2	            NUMERIC = $TRUE;
;   1062  2	
;   1063  2	        [%C'a' to %C'z',                ! Object name
;   1064  2	         %C'A' to %C'Z']:
;   1065  2	            NUMERIC = $FALSE;
;   1066  2	
;   1067  2	        [otherwise]:                    ! Illegal object id
;   1068  2	            return (-1);
;   1069  2	        tes;
;   1070  2	
; U 1071  2	    %if %switches (TOPS10) %then
; U 1072  2	
; U 1073  2	    ! Parse Object Identification string
; U 1074  2	
; U 1075  2	    if .NUMERIC
; U 1076  2	    then begin                          ! Object number
; U 1077  2	         local DIGIT, VALUE;
; U 1078  2	
; U 1079  2	         VALUE = 0;                     ! Reset object number
; U 1080  2	         POINTER = .OBJECT;             ! Set pointer to the numeric string
; U 1081  2	
; U 1082  2	         decr I from 3 to 1
; U 1083  2	         do begin                       ! Process up to 3rd digit only
; U 1084  2	            if (DIGIT = ch$rchar_a (POINTER)) eql 0
; U 1085  2	            then exitloop;              ! At the end of ASCIZ string
; U 1086  2	
; U 1087  2	            if not (selectone .DIGIT of
; U 1088  2	                        set
; U 1089  2	                        [%C'0' to %C'9']: $TRUE;
; U 1090  2	                        [otherwise]: $FALSE;
; U 1091  2	                        tes)
; U 1092  2	            then return (-1);           ! Illegal object number digit
; U 1093  2	
; U 1094  2	            VALUE = (.VALUE * 10) + (.DIGIT - %C'0');
; U 1095  2	            end;
; U 1096  2	
; U 1097  2	         if (.DIGIT neq 0)              ! Third digit is non-zero
; U 1098  2	         and (ch$rchar (.POINTER)) neq 0
; U 1099  2	         then return (-1);              ! Object number is too big
; U 1100  2	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  29
Version 1.0	GAD$OPEN_SERVER   (GADSRV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (8)

; U 1101  2	         DDBLK[NSDFL] = 3;              ! Destination descriptor block length
; U 1102  2	         DDBLK[NSDFM] = 0;              ! Format 0
; U 1103  2	         DDBLK[NSDOB] = .VALUE;         ! Object number
; U 1104  2	         end
; U 1105  2	    else begin                          ! Object name
; U 1106  2	         DDBLK[NSDFL] = 5;              ! Destination descriptor block length
; U 1107  2	         DDBLK[NSDFM] = 1;              ! Format 1 (user task name)
; U 1108  2	         DDBLK[NSDOB] = 0;              ! Object number 0
; U 1109  2	         DDBLK[NSDPP] = 0;              ! No PPN
; U 1110  2	         DDBLK[NSDPN] = DDBLK[NSDPB];   ! Task name string block
; U 1111  2	         DNBLK[NSAS0] = (.LENGTH^18) + 5; ! Task name string length
; U 1112  2	         ch$move (.LENGTH, .OBJECT, ch$ptr (DNBLK[NSAST],,8));
; U 1113  2	         end;
; U 1114  2	
; U 1115  2	    ! Build Enter Passive DECnet Connect block
; U 1116  2	
; U 1117  2	    CONNECT[NSCNL] = 4;                 ! Connect block length
; U 1118  2	    CONNECT[NSCSD] = CONNECT[NSCSDB];   ! Source descriptor block
; U 1119  2	    CONNECT[NSCDD] = CONNECT[NSCDDB];   ! Destination descriptor block
; U 1120  2	    CONNECT[NSCXX] =                    ! Unused and should be set to 0
; U 1121  2	    CONNECT[NSCND] = 0;                 ! Node name block
; U 1122  2	
; U 1123  2	    SDBLK[NSDFL] = 3;                   ! Source descriptor block length
; U 1124  2	    SDBLK[NSDFM] = 0;                   ! Format 0
; U 1125  2	    SDBLK[NSDOB] = 31;                  ! Gateway software Object number
; U 1126  2	
; U 1127  2	    if not uuo_nsfep (NEW_CHANNEL, 0, CONNECT)
; U 1128  2	    then GAD$ABORT_LINK (.NEW_CHANNEL)  ! Failed
; U 1129  2	    else begin                          ! Entered passive successfully
; U 1130  2	         .CHANNEL = .NEW_CHANNEL;
; U 1131  2	         return $TRUE;
; U 1132  2	         end;
; U 1133  2	
;   1134  2	    %fi
;   1135  2	
;   1136  2	    %if %switches (TOPS20) %then
;   1137  2	
;   1138  2	    ! Build DECnet SRV: file description string
;   1139  2	
;   1140  2	    POINTER = ch$move (4, CH$ASCIZ ('SRV:'), ch$ptr (CONNECT));
;   1141  2	    if not .NUMERIC
;   1142  2	    then ch$wchar_a (%C'.', POINTER);
;   1143  2	    POINTER = ch$move (.LENGTH, .OBJECT, .POINTER);
;   1144  2	    ch$wchar (0, .POINTER);             ! Make ASCIZ
;   1145  2	
;   1146  2	    if jsys_gtjfn (gj_sht, ch$ptr (CONNECT); NEW_CHANNEL)
;   1147  3	    then begin                          ! Got logical link successfully
;   1148  3	         if jsys_openf (.NEW_CHANNEL, of_rd+of_wr+$$(8,of_bsz))
;   1149  4	         then begin                     ! Open for READ/WRITE 8-bit
;   1150  4	              .CHANNEL = .NEW_CHANNEL;  ! Return new channel
;   1151  4	              return $TRUE;
;   1152  3	              end;
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  30
Version 1.0	GAD$OPEN_SERVER   (GADSRV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (8)

;   1153  3	
;   1154  3	         jsys_rljfn (.NEW_CHANNEL);     ! Release channel
;   1155  2	         end;
;   1156  2	
;   1157  2	    %fi
;   1158  2	
;   1159  2	    return $FALSE;
;   1160  1	    end;                                ! End of GAD$OPEN_SERVER


P.AAC:	BYTE	(7)"S","R","V",":",000		; SRV:					400311' 123 122 126 072 000


GADSRV::PUSH	SP,AC16				; SP,AC16				400312' 261 17 0 00 000016		0997
	ADJSP	SP,32				; SP,32					400313' 105 17 0 00 000032
	PUSH	SP,C.5				; SP,[4000]				400314' 261 17 0 00 400177'		1054
	PUSH	SP,-36(SP)			; SP,OBJECT				400315' 261 17 0 17 777742
	PUSH	SP,C.6				; SP,[0]				400316' 261 17 0 00 400200'
	PUSHJ	SP,CHFCH%			; SP,CHFCH%				400317' 260 17 0 00 000000*
	ADJSP	SP,-3				; SP,-3					400320' 105 17 0 00 777775
	PUSH	SP,AC1				; SP,AC1				400321' 261 17 0 00 000001
	PUSH	SP,-36(SP)			; SP,OBJECT				400322' 261 17 0 17 777742
	PUSHJ	SP,CHDIF%			; SP,CHDIF%				400323' 260 17 0 00 000000*
	MOVE	AC16,AC1			; LENGTH,AC1				400324' 200 16 0 00 000001
	ADJSP	SP,-2				; SP,-2					400325' 105 17 0 00 777776
	JUMPLE	AC16,L.24			; LENGTH,L.24				400326' 323 16 0 00 400347'
	MOVE	AC1,-35(SP)			; AC1,OBJECT				400327' 200 01 0 17 777743		1057
	ILDB	AC3,AC1				; NUMERIC,AC1				400330' 134 03 0 00 000001
	CAIL	AC3,60				; NUMERIC,60				400331' 301 03 0 00 000060		1060
	CAILE	AC3,71				; NUMERIC,71				400332' 303 03 0 00 000071
	JRST	L.21				; L.21					400333' 254 00 0 00 400336'
	MOVEI	AC3,1				; NUMERIC,1				400334' 201 03 0 00 000001		1061
	JRST	L.25				; L.25					400335' 254 00 0 00 400351'		1058
L.21:	CAIGE	AC3,101				; NUMERIC,101				400336' 305 03 0 00 000101		1063
	JRST	L.22				; L.22					400337' 254 00 0 00 400342'
	CAIG	AC3,132				; NUMERIC,132				400340' 307 03 0 00 000132
	JRST	L.23				; L.23					400341' 254 00 0 00 400345'
L.22:	CAIL	AC3,141				; NUMERIC,141				400342' 301 03 0 00 000141
	CAILE	AC3,172				; NUMERIC,172				400343' 303 03 0 00 000172
	JRST	L.24				; L.24					400344' 254 00 0 00 400347'
L.23:	SETZ	AC3,				; NUMERIC,				400345' 400 03 0 00 000000		1065
	JRST	L.25				; L.25					400346' 254 00 0 00 400351'		1058
L.24:	SETO	AC1,				; AC1,					400347' 474 01 0 00 000000		1068
	JRST	L.29				; L.29					400350' 254 00 0 00 400417'
L.25:	MOVEI	AC5,-32(SP)			; AC5,CONNECT-1				400351' 201 05 0 17 777746		1140
	HRLI	AC5,10700			; AC5,10700				400352' 505 05 0 00 010700
	MOVEI	AC1,4				; AC1,4					400353' 201 01 0 00 000004
	MOVE	AC2,C.8				; AC2,[POINT 7,P.AAC-1,34]  <1,7>	400354' 200 02 0 00 400422'
	MOVEI	AC4,4				; AC4,4					400355' 201 04 0 00 000004
	EXTEND	AC1,C.2				; AC1,[MOVSLJ ]				400356' 123 01 0 00 400174'
	JFCL					; 					400357' 255 00 0 00 000000
	TRNE	AC3,1				; NUMERIC,1				400360' 602 03 0 00 000001		1141
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  31
Version 1.0	GAD$OPEN_SERVER   (GADSRV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (8)

	JRST	L.26				; L.26					400361' 254 00 0 00 400364'
	MOVEI	AC1,56				; AC1,56				400362' 201 01 0 00 000056		1142
	IDPB	AC1,AC5				; AC1,POINTER				400363' 136 01 0 00 000005
L.26:	MOVE	AC1,AC16			; AC1,LENGTH				400364' 200 01 0 00 000016		1143
	MOVE	AC2,-35(SP)			; AC2,OBJECT				400365' 200 02 0 17 777743
	MOVE	AC4,AC16			; AC4,LENGTH				400366' 200 04 0 00 000016
	EXTEND	AC1,C.2				; AC1,[MOVSLJ ]				400367' 123 01 0 00 400174'
	JFCL					; 					400370' 255 00 0 00 000000
	SETZ	AC1,				; AC1,					400371' 400 01 0 00 000000		1144
	IDPB	AC1,AC5				; AC1,AC5				400372' 136 01 0 00 000005
	MOVEI	AC2,-32(SP)			; AC2,CONNECT-1				400373' 201 02 0 17 777746		1146
	HRLI	AC2,10700			; AC2,10700				400374' 505 02 0 00 010700
	MOVSI	AC1,1				; AC1,1					400375' 205 01 0 00 000001
	JSYS	20				; 20					400376' 104 00 0 00 000020
	TDZA	AC16,AC16			; AC16,AC16				400377' 634 16 0 00 000016
	MOVEI	AC16,1				; AC16,1				400400' 201 16 0 00 000001
	MOVE	AC5,AC1				; AC5,AC1				400401' 200 05 0 00 000001
	JUMPE	AC16,L.28			; AC16,L.28				400402' 322 16 0 00 400416'
	MOVE	AC1,AC5				; AC1,NEW_CHANNEL			400403' 200 01 0 00 000005		1148
	MOVE	AC2,C.7				; AC2,[100000300000]			400404' 200 02 0 00 400310'
	JSYS	21				; 21					400405' 104 00 0 00 000021
	JRST	L.27				; L.27					400406' 254 00 0 00 400413'
	MOVE	AC1,-34(SP)			; AC1,CHANNEL				400407' 200 01 0 17 777744		1150
	MOVEM	AC5,0(AC1)			; NEW_CHANNEL,0(AC1)			400410' 202 05 0 01 000000
	MOVEI	AC1,1				; AC1,1					400411' 201 01 0 00 000001		1149
	JRST	L.29				; L.29					400412' 254 00 0 00 400417'
L.27:	MOVE	AC1,AC5				; AC1,NEW_CHANNEL			400413' 200 01 0 00 000005		1154
	JSYS	23				; 23					400414' 104 00 0 00 000023
	JFCL					; 					400415' 255 00 0 00 000000
L.28:	SETZ	AC1,				; AC1,					400416' 400 01 0 00 000000		1035
L.29:	ADJSP	SP,-32				; SP,-32				400417' 105 17 0 00 777746		0997
	POP	SP,AC16				; SP,AC16				400420' 262 17 0 00 000016
	POPJ	SP,				; SP,					400421' 263 17 0 00 000000
C.8:	POINT	7,P.AAC-1,34			; 7,P.AAC-1,34				400422' 01 07 0 00 400310'

; Routine Size:  73 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  32
Version 1.0	GAD$PROTOCOL_TYPE   (GADTYP)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (9)

;   1161  1	%global_routine ('GAD$PROTOCOL_TYPE', CHANNEL, TYPE) =
;   1162  1	
;   1163  1	!++
;   1164  1	! FUNCTIONAL DESCRIPTION:
;   1165  1	!
;   1166  1	!	Function determines the type of the message incoming from the logical
;   1167  1	!       link by examining the first byte of the record.
;   1168  1	!
;   1169  1	! FORMAL PARAMETERS:
;   1170  1	!
;   1171  1	!	CHANNEL         The DECnet logical link's channel.
;   1172  1	!       TYPE            Address of the word where the message type is to be
;   1173  1	!                       returned.
;   1174  1	!
;   1175  1	! IMPLICIT INPUTS:
;   1176  1	!
;   1177  1	!	none
;   1178  1	!
;   1179  1	! IMPLICIT OUTPUTS:
;   1180  1	!
;   1181  1	!	none
;   1182  1	!
;   1183  1	! ROUTINE VALUE:
;   1184  1	!
;   1185  1	!	$TRUE   The first byte was read successfully.
;   1186  1	!       $FALSE  Failed to read the first byte or the link is empty.
;   1187  1	!
;   1188  1	! SIDE EFFECTS:
;   1189  1	!
;   1190  1	!	none
;   1191  1	!
;   1192  1	!--
;   1193  1	
;   1194  2	    begin
;   1195  2	
;   1196  2	    local
;   1197  2		BUFFER,
;   1198  2	        POINTER,
;   1199  2		LENGTH;
;   1200  2	
; U 1201  2	    %if %switches (TOPS10) %then
; U 1202  2	
; U 1203  2	    POINTER = ch$ptr (BUFFER,,8);
; U 1204  2	    if uuo_nsfdr (.CHANNEL, 0, 1, .POINTER)
; U 1205  2	    then begin                          ! Read one byte from the link
; U 1206  2	         .TYPE = ch$rchar (.POINTER);
; U 1207  2	         return $TRUE;
; U 1208  2	         end;
; U 1209  2	
;   1210  2	    %fi
;   1211  2	
;   1212  2	    %if %switches (TOPS20) %then
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  33
Version 1.0	GAD$PROTOCOL_TYPE   (GADTYP)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (9)

;   1213  2	
;   1214  2	    if jsys_sibe (.CHANNEL; , LENGTH)   ! Check if logical link buffer is empty
;   1215  2	    then return $FALSE;                 ! return if buffer is indeed empty
;   1216  2	
;   1217  2	    if .LENGTH eql 0                    ! Return if number of bytes remaining
;   1218  2	    then return $FALSE;                 ! in logical link buffer is 0
;   1219  2	
;   1220  2	    ! Read exactly 1 byte from the logical link
;   1221  2	
;   1222  2	    POINTER = ch$ptr (BUFFER,,8);
;   1223  2	    if jsys_sin (.CHANNEL, .POINTER, -1)
;   1224  3	    then begin
;   1225  3	         .TYPE = ch$rchar (.POINTER);
;   1226  3	         return $TRUE;
;   1227  2	         end;
;   1228  2	
;   1229  2	    %fi
;   1230  2	
;   1231  2	    return $FALSE;
;   1232  1	    end;


GADTYP::ADJSP	SP,1				; SP,1					400423' 105 17 0 00 000001		1161
	MOVE	AC1,-3(SP)			; AC1,CHANNEL				400424' 200 01 0 17 777775		1214
	JSYS	102				; 102					400425' 104 00 0 00 000102
	JRST	L.30				; L.30					400426' 254 00 0 00 400430'
	JRST	L.31				; L.31					400427' 254 00 0 00 400447'		1215
L.30:	JUMPE	AC2,L.31			; LENGTH,L.31				400430' 322 02 0 00 400447'		1217
	MOVEI	AC2,-1(SP)			; AC2,BUFFER-1				400431' 201 02 0 17 777777		1222
	HRLI	AC2,41000			; AC2,41000				400432' 505 02 0 00 041000
	MOVE	AC5,AC2				; POINTER,AC2				400433' 200 05 0 00 000002
	MOVE	AC1,-3(SP)			; AC1,CHANNEL				400434' 200 01 0 17 777775		1223
	MOVE	AC2,AC5				; AC2,POINTER				400435' 200 02 0 00 000005
	SETO	AC3,				; AC3,					400436' 474 03 0 00 000000
	JSYS	52				; 52					400437' 104 00 0 00 000052
	JUMP	16,L.31				; 16,L.31				400440' 320 16 0 00 400447'
	MOVE	AC3,-2(SP)			; AC3,TYPE				400441' 200 03 0 17 777776		1225
	MOVE	AC2,AC5				; AC2,POINTER				400442' 200 02 0 00 000005
	ILDB	AC1,AC2				; AC1,AC2				400443' 134 01 0 00 000002
	MOVEM	AC1,0(AC3)			; AC1,0(AC3)				400444' 202 01 0 03 000000
	MOVEI	AC1,1				; AC1,1					400445' 201 01 0 00 000001		1224
	JRST	L.32				; L.32					400446' 254 00 0 00 400450'
L.31:	SETZ	AC1,				; AC1,					400447' 400 01 0 00 000000		1194
L.32:	ADJSP	SP,-1				; SP,-1					400450' 105 17 0 00 777777		1161
	POPJ	SP,				; SP,					400451' 263 17 0 00 000000

; Routine Size:  23 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  34
Version 1.0	GAD$PSI_CHANNELS   (GADPSI)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (10)

;   1233  1	%global_routine ('GAD$PSI_CHANNELS', CHANNEL, NUMBER) =
;   1234  1	
;   1235  1	!++
;   1236  1	! FUNCTIONAL DESCRIPTION:
;   1237  1	!
;   1238  1	!       TOPS-10
;   1239  1	!
;   1240  1	!       Function allows a network task to enable software interrupt
;   1241  1	!       channels for all of the DECnet events.
;   1242  1	!
;   1243  1	!       TOPS-20
;   1244  1	!
;   1245  1	!	Function allows a network task to enable software interrupt
;   1246  1	!       channels for the following work types:
;   1247  1	!
;   1248  1	!	    . Connect event pending
;   1249  1	!           . Interrupt message available
;   1250  1	!           . Data available
;   1251  1	!
;   1252  1	!       TOPS-10 & TOPS-20
;   1253  1	!
;   1254  1	!	If the channel has a negative value, no channel will be enabled.
;   1255  1	!
;   1256  1	! FORMAL PARAMETERS:
;   1257  1	!
;   1258  1	!	CHANNEL         The DECnet logical link's channel.
;   1259  1	!	NUMBER          The software interrupt channel to be enabled.
;   1260  1	!                       If value is negative, none will be enabled.
;   1261  1	!
;   1262  1	! IMPLICIT INPUTS:
;   1263  1	!
;   1264  1	!	none
;   1265  1	!
;   1266  1	! IMPLICIT OUTPUTS:
;   1267  1	!
;   1268  1	!	none
;   1269  1	!
;   1270  1	! ROUTINE VALUE:
;   1271  1	!
;   1272  1	!	$TRUE   The requested channel was enabled successfully.
;   1273  1	!	$FALSE  Failed to enable the requested channel.
;   1274  1	!
;   1275  1	! COMPLETION CODES:
;   1276  1	!
;   1277  1	!	none
;   1278  1	!
;   1279  1	! SIDE EFFECTS:
;   1280  1	!
;   1281  1	!	The requested software interrupt channel is enabled for the above 3
;   1282  1	!       types of event.
;   1283  1	!
;   1284  1	!--
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  35
Version 1.0	GAD$PSI_CHANNELS   (GADPSI)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (10)

;   1285  1	
;   1286  2	    begin
;   1287  2	
;   1288  2	    local
;   1289  2	        EVENT;
;   1290  2	
;   1291  2	    if .NUMBER lss 0                    ! Return if interrupt channel
;   1292  2	    then return $TRUE;                  ! is not selected
;   1293  2	
; U 1294  2	    %if %switches (TOPS10) %then
; U 1295  2	
; U 1296  2	    ! Enable interrupts for all DECnet link states and available
; U 1297  2	    ! received normal and interrupt data. Disable interrupts when
; U 1298  2	    ! link is ready to send data
; U 1299  2	
; U 1300  2	    uuo_nsfpi (.CHANNEL, 0, %O'537777');
; U 1301  2	
;   1302  2	    %fi
;   1303  2	
;   1304  2	    %if %switches (TOPS20) %then
;   1305  2	
;   1306  2	    EVENT<$(mo_cdn)> = .NUMBER;         ! Connect event pending
;   1307  2	    EVENT<$(mo_ina)> = .NUMBER;         ! Interrupt message available
;   1308  2	    EVENT<$(mo_dav)> = .NUMBER;         ! Data available
;   1309  2	
;   1310  2	    return jsys_mtopr (.CHANNEL, $moacn, .EVENT);
;   1311  2	
;   1312  2	    %fi
;   1313  2	
;   1314  1	    end;                                ! End of GAD$PSI_CHANNELS


GADPSI::MOVE	AC1,-1(SP)			; AC1,NUMBER				400452' 200 01 0 17 777777		1291
	JUMPGE	AC1,L.33			; AC1,L.33				400453' 325 01 0 00 400456'
	MOVEI	AC1,1				; AC1,1					400454' 201 01 0 00 000001		1292
	POPJ	SP,				; SP,					400455' 263 17 0 00 000000
L.33:	DPB	AC1,C.9				; AC1,[POINT 9,EVENT,8]  <27,9>		400456' 137 01 0 00 400471'		1306
	DPB	AC1,C.10			; AC1,[POINT 9,EVENT,17]  <18,9>	400457' 137 01 0 00 400472'		1307
	DPB	AC1,C.11			; AC1,[POINT 9,EVENT,26]  <9,9>		400460' 137 01 0 00 400473'		1308
	MOVE	AC1,-2(SP)			; AC1,CHANNEL				400461' 200 01 0 17 777776		1310
	MOVEI	AC2,24				; AC2,24				400462' 201 02 0 00 000024
	SETZ	AC4,				; AC4,					400463' 400 04 0 00 000000
	JSYS	77				; 77					400464' 104 00 0 00 000077
	JUMP	16,L.34				; 16,L.34				400465' 320 16 0 00 400467'
	MOVEI	AC4,1				; AC4,1					400466' 201 04 0 00 000001
L.34:	MOVE	AC1,AC4				; AC1,AC4				400467' 200 01 0 00 000004		1286
	POPJ	SP,				; SP,					400470' 263 17 0 00 000000		1233
C.9:	POINT	9,AC3,8				; 9,EVENT,8				400471' 33 11 0 00 000003
C.10:	POINT	9,AC3,17			; 9,EVENT,17				400472' 22 11 0 00 000003
C.11:	POINT	9,AC3,26			; 9,EVENT,26				400473' 11 11 0 00 000003

; Routine Size:  18 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  36
Version 1.0	GAD$PSI_CHANNELS   (GADPSI)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (10)



;   1315  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  37
Version 1.0	GAD$RECEIVE_DATA   (GADRCV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (11)

;   1316  1	%global_routine ('GAD$RECEIVE_DATA', CHANNEL, COUNT, POINTER) =
;   1317  1	
;   1318  1	!++
;   1319  1	! FUNCTIONAL DESCRIPTION:
;   1320  1	!
;   1321  1	!	Function reads incoming data from the link.
;   1322  1	!
;   1323  1	! FORMAL PARAMETERS:
;   1324  1	!
;   1325  1	!	CHANNEL         The DECnet logical link's channel.
;   1326  1	!	COUNT           Address of the data buffer size, contains the maximum
;   1327  1	!                       size that the buffer can receive data.  The returned
;   1328  1	!                       value reflects the actual size of the received buffer.
;   1329  1	!	POINTER         String pointer (8-bit) to the receiving buffer.
;   1330  1	!
;   1331  1	! IMPLICIT INPUTS:
;   1332  1	!
;   1333  1	!	none
;   1334  1	!
;   1335  1	! IMPLICIT OUTPUTS:
;   1336  1	!
;   1337  1	!	One record of data is read and returned in the buffer pointed to
;   1338  1	!       by POINTER.
;   1339  1	!
;   1340  1	! ROUTINE VALUE:
;   1341  1	!
;   1342  1	!	$TRUE   One record was read successfully from the logical link.
;   1343  1	!               Actual size of the received buffer is returned in COUNT.
;   1344  1	!	$FALSE  Failed to read or link data buffer is empty.
;   1345  1	!
;   1346  1	! SIDE EFFECTS:
;   1347  1	!
;   1348  1	!	none
;   1349  1	!
;   1350  1	!--
;   1351  1	
;   1352  2	    begin
;   1353  2	
;   1354  2	    local
;   1355  2	        SIZE;
;   1356  2	
; U 1357  2	    %if %switches (TOPS10) %then
; U 1358  2	
; U 1359  2	    if uuo_nsfdr (.CHANNEL, ns$wai, ..COUNT, .POINTER, SIZE)
; U 1360  2	    then begin                          ! Read data from the link
; U 1361  2	         .COUNT = ..COUNT - .SIZE;
; U 1362  2	         return $TRUE;
; U 1363  2	         end;
; U 1364  2	
;   1365  2	    %fi
;   1366  2	
;   1367  2	    %if %switches (TOPS20) %then
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  38
Version 1.0	GAD$RECEIVE_DATA   (GADRCV)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (11)

;   1368  2	
;   1369  2	    if jsys_sibe (.CHANNEL; , SIZE)     ! Check if logical link buffer is empty
;   1370  2	    then return $FALSE;                 ! Return error if it is indeed empty
;   1371  2	
;   1372  2	    if .SIZE eql 0                      ! Return if number of bytes remaining
;   1373  2	    then return $FALSE;                 ! in the logical link buffer is 0
;   1374  2	
;   1375  2	    ! Read in one record
;   1376  2	
;   1377  2	    if jsys_sinr (.CHANNEL, .POINTER, -..COUNT; ,, SIZE)
;   1378  3	    then begin
;   1379  3	         .COUNT = ..COUNT + .SIZE;
;   1380  3	         return $TRUE;
;   1381  2	         end;
;   1382  2	
;   1383  2	    %fi
;   1384  2	
;   1385  2	    return $FALSE;
;   1386  1	    end;                                ! End of GAD$RECEIVE_DATA


GADRCV::PUSH	SP,AC14				; SP,AC14				400474' 261 17 0 00 000014		1316
	PUSH	SP,AC16				; SP,AC16				400475' 261 17 0 00 000016
	MOVE	AC1,-5(SP)			; AC1,CHANNEL				400476' 200 01 0 17 777773		1369
	JSYS	102				; 102					400477' 104 00 0 00 000102
	TDZA	AC5,AC5				; AC5,AC5				400500' 634 05 0 00 000005
	MOVEI	AC5,1				; AC5,1					400501' 201 05 0 00 000001
	MOVE	AC16,AC2			; AC16,AC2				400502' 200 16 0 00 000002
	JUMPN	AC5,L.37			; AC5,L.37				400503' 326 05 0 00 400523'
	JUMPE	AC16,L.37			; SIZE,L.37				400504' 322 16 0 00 400523'		1372
	MOVE	AC5,-4(SP)			; AC5,COUNT				400505' 200 05 0 17 777774		1377
	MOVN	AC3,0(AC5)			; AC3,0(AC5)				400506' 210 03 0 05 000000
	MOVE	AC1,-5(SP)			; AC1,CHANNEL				400507' 200 01 0 17 777773
	MOVE	AC2,-3(SP)			; AC2,POINTER				400510' 200 02 0 17 777775
	JSYS	531				; 531					400511' 104 00 0 00 000531
	JUMP	16,L.35				; 16,L.35				400512' 320 16 0 00 400514'
	JRST	L.36				; L.36					400513' 254 00 0 00 400515'
L.35:	TDZA	AC14,AC14			; AC14,AC14				400514' 634 14 0 00 000014
L.36:	MOVEI	AC14,1				; AC14,1				400515' 201 14 0 00 000001
	MOVE	AC16,AC3			; AC16,AC3				400516' 200 16 0 00 000003
	JUMPE	AC14,L.37			; AC14,L.37				400517' 322 14 0 00 400523'
	ADDM	AC16,0(AC5)			; SIZE,0(AC5)				400520' 272 16 0 05 000000		1379
	MOVEI	AC1,1				; AC1,1					400521' 201 01 0 00 000001		1378
	JRST	L.38				; L.38					400522' 254 00 0 00 400524'
L.37:	SETZ	AC1,				; AC1,					400523' 400 01 0 00 000000		1352
L.38:	POP	SP,AC16				; SP,AC16				400524' 262 17 0 00 000016		1316
	POP	SP,AC14				; SP,AC14				400525' 262 17 0 00 000014
	POPJ	SP,				; SP,					400526' 263 17 0 00 000000

; Routine Size:  27 words
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  39
Version 1.0	GAD$RECEIVE_INTERRUPT   (GADRCI)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (12)

;   1387  1	%global_routine ('GAD$RECEIVE_INTERRUPT', CHANNEL, COUNT, POINTER) =
;   1388  1	
;   1389  1	!++
;   1390  1	! FUNCTIONAL DESCRIPTION:
;   1391  1	!
;   1392  1	!	Function reads interrupt data incoming on interrupt channel of
;   1393  1	!       the logical link.
;   1394  1	!
;   1395  1	! FORMAL PARAMETERS:
;   1396  1	!
;   1397  1	!	CHANNEL         The DECnet logical link's channel.
;   1398  1	!	COUNT           The address of the buffer size where the actual
;   1399  1	!                       size of the received buffer is to be returned.
;   1400  1	!	POINTER         String pointer (8-bit) to the buffer where interrupt
;   1401  1	!                       data is to be returned.
;   1402  1	!
;   1403  1	! IMPLICIT INPUTS:
;   1404  1	!
;   1405  1	!	none
;   1406  1	!
;   1407  1	! IMPLICIT OUTPUTS:
;   1408  1	!
;   1409  1	!	Interrupt data is read and returned in the given buffer.
;   1410  1	!
;   1411  1	! ROUTINE VALUE:
;   1412  1	!
;   1413  1	!	$TRUE   Interrupt data is read from the link successfully.
;   1414  1	!	$FALSE  Failed to read or interrupt data buffer is empty.
;   1415  1	!
;   1416  1	! SIDE EFFECTS:
;   1417  1	!
;   1418  1	!	none
;   1419  1	!
;   1420  1	!--
;   1421  1	
;   1422  2	    begin
;   1423  2	
; U 1424  2	    %if %switches (TOPS10) %then
; U 1425  2	
; U 1426  2	    local
; U 1427  2	        BUFFER: STRING_BLOCK (5);
; U 1428  2	
; U 1429  2	    BUFFER[NSAS0] = (16^18) + 5;        ! Data buffer length
; U 1430  2	    if not uuo_nsfir (.CHANNEL, ns$wai, BUFFER)
; U 1431  2	    then .COUNT = 0                     ! No interrupt data received
; U 1432  2	    else begin
; U 1433  2	         .COUNT = .BUFFER[NSASC];       ! Return actual byte count
; U 1434  2	         ch$move (.BUFFER[NSASC], ch$ptr (BUFFER[NSAST],,8), .POINTER);
; U 1435  2	         return $TRUE;
; U 1436  2	         end;
; U 1437  2	
;   1438  2	    %fi
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  40
Version 1.0	GAD$RECEIVE_INTERRUPT   (GADRCI)		21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (12)

;   1439  2	
;   1440  2	    %if %switches (TOPS20) %then
;   1441  2	
;   1442  2	    local
;   1443  2	        LENGTH;
;   1444  2	
;   1445  2	    if not jsys_mtopr (.CHANNEL, $morim, .POINTER; ,,, LENGTH)
;   1446  2	    then .COUNT = 0
;   1447  3	    else begin
;   1448  3	         .COUNT = .LENGTH;
;   1449  3	         return $TRUE;
;   1450  2	         end;
;   1451  2	
;   1452  2	    %fi
;   1453  2	
;   1454  2	    return $FALSE;
;   1455  1	    end;                                ! End of GAD$RECEIVE_INTERRUPT


GADRCI::MOVE	AC5,-2(SP)			; AC5,COUNT				400527' 200 05 0 17 777776		1446
	MOVE	AC1,-3(SP)			; AC1,CHANNEL				400530' 200 01 0 17 777775		1445
	MOVEI	AC2,35				; AC2,35				400531' 201 02 0 00 000035
	MOVE	AC3,-1(SP)			; AC3,POINTER				400532' 200 03 0 17 777777
	JSYS	77				; 77					400533' 104 00 0 00 000077
	JUMP	16,L.39				; 16,L.39				400534' 320 16 0 00 400536'
	JRST	L.40				; L.40					400535' 254 00 0 00 400540'
L.39:	SETZM	0(AC5)				; 0(AC5)				400536' 402 00 0 05 000000		1446
	JRST	L.41				; L.41					400537' 254 00 0 00 400543'		1445
L.40:	MOVEM	AC4,0(AC5)			; LENGTH,0(AC5)				400540' 202 04 0 05 000000		1448
	MOVEI	AC1,1				; AC1,1					400541' 201 01 0 00 000001		1447
	POPJ	SP,				; SP,					400542' 263 17 0 00 000000
L.41:	SETZ	AC1,				; AC1,					400543' 400 01 0 00 000000		1422
	POPJ	SP,				; SP,					400544' 263 17 0 00 000000		1387

; Routine Size:  14 words


;   1456  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  41
Version 1.0	GAD$SEND_DATA   (GADSEN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (13)

;   1457  1	%global_routine ('GAD$SEND_DATA', CHANNEL, POINTER, COUNT) =
;   1458  1	
;   1459  1	!++
;   1460  1	! FUNCTIONAL DESCRIPTION:
;   1461  1	!
;   1462  1	!	Function sends data to the logical link.
;   1463  1	!
;   1464  1	! FORMAL PARAMETERS:
;   1465  1	!
;   1466  1	!	CHANNEL         The DECnet logical link's channel.
;   1467  1	!	POINTER         String pointer (8-bit) to the data buffer to be sent.
;   1468  1	!       COUNT           Size of the given buffer.
;   1469  1	!
;   1470  1	! IMPLICIT INPUTS:
;   1471  1	!
;   1472  1	!	none
;   1473  1	!
;   1474  1	! IMPLICIT OUTPUTS:
;   1475  1	!
;   1476  1	!	none
;   1477  1	!
;   1478  1	! ROUTINE VALUE:
;   1479  1	!
;   1480  1	!	$TRUE   The data buffer was sent successfully.
;   1481  1	!       $FALSE  Failed to send the buffer.
;   1482  1	!
;   1483  1	! SIDE EFFECTS:
;   1484  1	!
;   1485  1	!	none
;   1486  1	!
;   1487  1	!--
;   1488  1	
;   1489  2	    begin
;   1490  2	
; U 1491  2	    return  %if %switches (TOPS10) %then 
;   1492  2	            uuo_nsfds (.CHANNEL, ns$eom or ns$wai, .COUNT, .POINTER); %fi
;   1493  2	
;   1494  2	            %if %switches (TOPS20) %then 
;   1495  2	            jsys_soutr (.CHANNEL, .POINTER, -.COUNT); %fi
;   1496  2	
;   1497  1	    end;                                ! End of GAD$SEND_DATA


GADSEN::MOVN	AC3,-1(SP)			; AC3,COUNT				400545' 210 03 0 17 777777		1495
	MOVE	AC1,-3(SP)			; AC1,CHANNEL				400546' 200 01 0 17 777775
	MOVE	AC2,-2(SP)			; AC2,POINTER				400547' 200 02 0 17 777776
	SETZ	AC4,				; AC4,					400550' 400 04 0 00 000000
	JSYS	532				; 532					400551' 104 00 0 00 000532
	JUMP	16,L.42				; 16,L.42				400552' 320 16 0 00 400554'
	MOVEI	AC4,1				; AC4,1					400553' 201 04 0 00 000001
L.42:	MOVE	AC1,AC4				; AC1,AC4				400554' 200 01 0 00 000004		1489
	POPJ	SP,				; SP,					400555' 263 17 0 00 000000		1457
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  42
Version 1.0	GAD$SEND_DATA   (GADSEN)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (13)


; Routine Size:  9 words


;   1498  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  43
Version 1.0	GAD$SEND_INTERRUPT   (GADSNI)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (14)

;   1499  1	%global_routine ('GAD$SEND_INTERRUPT', CHANNEL, POINTER, COUNT) =
;   1500  1	
;   1501  1	!++
;   1502  1	! FUNCTIONAL DESCRIPTION:
;   1503  1	!
;   1504  1	!	Function sends interrupt data to the logical link interrupt channel.
;   1505  1	!
;   1506  1	! FORMAL PARAMETERS:
;   1507  1	!
;   1508  1	!	CHANNEL         The DECnet logical link's channel.
;   1509  1	!       POINTER         String pointer (8-bit) to the data buffer to be sent.
;   1510  1	!       COUNT           Size of the data buffer.
;   1511  1	!
;   1512  1	! IMPLICIT INPUTS:
;   1513  1	!
;   1514  1	!	none
;   1515  1	!
;   1516  1	! IMPLICIT OUTPUTS:
;   1517  1	!
;   1518  1	!	none
;   1519  1	!
;   1520  1	! ROUTINE VALUE:
;   1521  1	!
;   1522  1	!	$TRUE   The interrupt data was sent successfully.
;   1523  1	!       $FALSE  Failed to send data to link.
;   1524  1	!
;   1525  1	! SIDE EFFECTS:
;   1526  1	!
;   1527  1	!	none
;   1528  1	!
;   1529  1	!--
;   1530  1	
;   1531  2	    begin
;   1532  2	
; U 1533  2	    %if %switches (TOPS10) %then
; U 1534  2	
; U 1535  2	    local
; U 1536  2	        BUFFER: STRING_BLOCK (5);
; U 1537  2	
; U 1538  2	    BUFFER[NSAS0] = (.COUNT^18) + 5;    ! Data buffer length
; U 1539  2	    ch$move (.COUNT, .POINTER, ch$ptr (BUFFER[NSAST],,8));
; U 1540  2	    uuo_nsfis (.CHANNEL, ns$wai, BUFFER);
; U 1541  2	
;   1542  2	    %fi
;   1543  2	
;   1544  2	    %if %switches (TOPS20) %then
;   1545  2	
;   1546  2	    return jsys_mtopr (.CHANNEL, $mosim, .POINTER, .COUNT);
;   1547  2	
;   1548  2	    %fi
;   1549  2	
;   1550  1	    end;                                ! End of GAD$SEND_INTERRUPT
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  44
Version 1.0	GAD$SEND_INTERRUPT   (GADSNI)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (14)



GADSNI::MOVE	AC1,-3(SP)			; AC1,CHANNEL				400556' 200 01 0 17 777775		1546
	MOVEI	AC2,36				; AC2,36				400557' 201 02 0 00 000036
	MOVE	AC3,-2(SP)			; AC3,POINTER				400560' 200 03 0 17 777776
	MOVE	AC4,-1(SP)			; AC4,COUNT				400561' 200 04 0 17 777777
	SETZ	AC5,				; AC5,					400562' 400 05 0 00 000000
	JSYS	77				; 77					400563' 104 00 0 00 000077
	JUMP	16,L.43				; 16,L.43				400564' 320 16 0 00 400566'
	MOVEI	AC5,1				; AC5,1					400565' 201 05 0 00 000001
L.43:	MOVE	AC1,AC5				; AC1,AC5				400566' 200 01 0 00 000005		1531
	POPJ	SP,				; SP,					400567' 263 17 0 00 000000		1499

; Routine Size:  10 words


;   1551  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  45
Version 1.0	GAD$EC_SEND_DATA   (GADSEC)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (15)

;   1552  1	%global_routine ('GAD$EC_SEND_DATA', CHANNEL, POINTER, COUNT, SYSERR) =
;   1553  1	
;   1554  1	!++
;   1555  1	! FUNCTIONAL DESCRIPTION:
;   1556  1	!
;   1557  1	!	Function sends data to the logical link.
;   1558  1	!
;   1559  1	! FORMAL PARAMETERS:
;   1560  1	!
;   1561  1	!	CHANNEL         The DECnet logical link's channel.
;   1562  1	!	POINTER         String pointer (8-bit) to the data buffer to be sent.
;   1563  1	!       COUNT           Size of the given buffer.
;   1564  1	!
;   1565  1	! IMPLICIT INPUTS:
;   1566  1	!
;   1567  1	!	none
;   1568  1	!
;   1569  1	! IMPLICIT OUTPUTS:
;   1570  1	!
;   1571  1	!	none
;   1572  1	!
;   1573  1	! ROUTINE VALUE:
;   1574  1	!
;   1575  1	!	$TRUE   The data buffer was sent successfully.
;   1576  1	!       $FALSE  Failed to send the buffer.
;   1577  1	!
;   1578  1	! SIDE EFFECTS:
;   1579  1	!
;   1580  1	!	none
;   1581  1	!
;   1582  1	!--
;   1583  1	
;   1584  2	    begin
;   1585  2	
; U 1586  2	    return  %if %switches (TOPS10) %then 
;   1587  2	            uuo_nsfds (.CHANNEL, ns$eom or ns$wai, .COUNT, .POINTER); %fi
;   1588  2	
;   1589  2	            %if %switches (TOPS20) %then 
;   1590  2	            jsys_soutr (.CHANNEL, .POINTER, -.COUNT; SYSERR); %fi
;   1591  2	
;   1592  1	    end;                                ! End of GAD$EC_SEND_DATA


GADSEC::MOVN	AC3,-2(SP)			; AC3,COUNT				400570' 210 03 0 17 777776		1590
	MOVE	AC1,-4(SP)			; AC1,CHANNEL				400571' 200 01 0 17 777774
	MOVE	AC2,-3(SP)			; AC2,POINTER				400572' 200 02 0 17 777775
	SETZ	AC4,				; AC4,					400573' 400 04 0 00 000000
	JSYS	532				; 532					400574' 104 00 0 00 000532
	JUMP	16,L.44				; 16,L.44				400575' 320 16 0 00 400577'
	MOVEI	AC4,1				; AC4,1					400576' 201 04 0 00 000001
L.44:	MOVEM	AC1,-1(SP)			; AC1,SYSERR				400577' 202 01 0 17 777777
	MOVE	AC1,AC4				; AC1,AC4				400600' 200 01 0 00 000004		1584
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  46
Version 1.0	GAD$EC_SEND_DATA   (GADSEC)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (15)

	POPJ	SP,				; SP,					400601' 263 17 0 00 000000		1552

; Routine Size:  10 words


;   1593  1	
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  47
Version 1.0	GAD$EC_SEND_DATA   (GADSEC)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (16)

;   1594  1	end                                   ! End of Module XGADNF
;   1595  0	eludom




; Low  segment length:       0 words
; High segment length:     386 words




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks          Processing
;	File				     Total    Loaded   Percent      Read           Time
;
;  KL2102:<BRELEASE.XPORT>MONSYM.L36.1	      3863       268         6        95	     00:00.6
;  STAR:<SNA.TAPE2.AI.SOURCE>SNACOM.L36.2
;					       337        23         6        16	     00:00.4
SAIDNF		SNA GATEWAY ACCESS DECNET FUNCTIONS		13-Feb-1985 13:34:50	TOPS-20 Bliss-36 4A(225)	    Page  48
Version 1.0	GAD$EC_SEND_DATA   (GADSEC)			21-Jan-1985 13:45:10	STAR:<SNA.TAPE2.AI.SOURCE>SAIDNF.B36.1 (17)

;   1596  0	
;   1597  0	! Local Modes:
;   1598  0	! Mode:BLISS
;   1599  0	! Auto Save Mode:2
;   1600  0	! Comment Column:40
;   1601  0	! Comment Rounding:+1
;   1602  0	! End:

;			COMPILER INTERNAL TIMING

;	Phase	     Faults	  Cpu-time	Elapsed-time
;	LEXSYN	        171	   00:25.9	   01:40.0
;	FLOWAN	         10	   00:00.6	   00:07.5
;	DELAY	         11	   00:00.5	   00:17.8
;	TNBIND	         19	   00:00.8	   00:15.9
;	CODE	         29	   00:00.6	   00:13.4
;	FINAL	         35	   00:02.8	   00:18.2
;	Total	        275	   00:31.1	   02:52.8

; Size:		382 code + 4 data words
; Run Time:	   00:31.3
; Elapsed Time:	   02:53.7
; Lines/CPU Min:    3071
; Lexemes/CPU-Min:143502
; Memory Used:	68 pages
; Compilation Complete