TD9k]  PRO178 Tool Kit disk 9 mmmmmmm m m Xe!7F ***THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM *** ߋtv&<.<6<>et E . kz 16JUN87083955o?GqNETTK]!16JUN87083955)NETTK [128,128] DECFILE11A {7U. NNz 16JUN870839550ZB I . *O:z 16JUN870839553iqM . t:#z 16JUN87083955-e.'\X~z16JUN8708403016JUN870840294n I . xQz 16JUN87083955 12 a.O ':4}K16JUN8708403811NOV851459385 qa. OO '\X z_16JUN8708414916JUN87083218Na.E H 'KqpkQ16JUN8708460211NOV85150108 a.' 'Uq5a16JUN8708404211NOV851459417]Ve. 'Kpz16JUN8708435716JUN87084355^pe. 'OSz16JUN8708410616JUN870841048Ke .rs&d16JUN8708442111NOV85154844q8a. c '\X;d16JUN8708411811NOV851459489he .&d 516JUN8708445111NOV85154909crH ^e . OO &\XjL"S16JUN8708413311NOV85145954NR e.'#S8"z16JUN8708455016JUN870845499 ta.A &Kq16JUN8708462911NOV851501300a.M &3kQ16JUN8708470415NOV85160154aqJa.D\ ' Kq16JUN8708463611NOV85150136? a.P  &2kQ16JUN8708471315NOV85160208w^w>a.D 'wpkQ16JUN8708460811NOV85150114Ya.D  ' 16JUN8708464211NOV85150142GIa.H  '((16JUN8708461511NOV85150120!Ea.P ( ';d;d16JUN8708464911NOV85150147 P^ a.G &(Kq(16JUN8708462111NOV85150125*; a.[F &;dKq;d16JUN8708465611NOV85150153Z }a.K &16JUN8708472211NOV85150212!-   %t:#z xQz kzNNz*O:z\X~z OSz Kpz#S8"zh     * .DISABLE DISPLAYC ;' ;Starting PRO/DECnet Tool Kit removal.h ; .ENABLE QUIET DEL LB:[1,5]NETLIB.MLB;*L DEL LB:[1,5]NETSUB.OLB;*M DEL LB:[1,5]NETDEF.PAS;*S DEL APPL$DIR:PCU.TSK;*IB.MLB;* DEL BIGDISK2:[1,5]NETSUB.OLB;*D DEL BIGDISK2:[1,5]NETDEF.PAS;*L DEL APPL$DIR:PCU.TSK;*L DEL APPL$DIR:NFT.TSK;*L .DISABLE QUIETN ;E ;If you are not removing the PRO/TOOL KIT, please edit the following 7 ;files and remove all references to NFT, HST, and MAI.n ; ; APPL$DIR:START.CMD ;m9/ \X;d \XjL"S \X z_):4}KUq5aSAC(* *)C(* To use PRO/DECnet services from Pascal, include the following *)C(* line at the outer level of your program or module: *)C(*  *)C(*  %INCLUDE 'LB:[1,5]NETDEF.PAS'  *)C(* ` *)C(* This will declare the type and procedure declarations needed *)C(* to interface to Dv .ENABLE SUBSTITUTION .DISABLE DISPLAY .OPEN #1 TI:.DATA #13.DATA #1 Starting PRO/DECnet Tool Kit installation..DATA #1.10: .TESTFILE NETTK:[0,0]NETTK.DIR .IF EQ 1 .GOTO 201.DATA #1 Please mount the diskette labeled NETTK.* .ASK X Press the key when ready .DATA #1 .GOTO 10.20: .ENABLE QUIET- COP NETTK:[1,5]NETLIB.MLB LB:[1,5]NETLIB.MLB- COP NETTK:[1,5]NETSUB.OLB LB:[1,5]NETSUB.OLB- COP NETTK:[1,5]NETDEF.PAS LB:[1,5]NETDEF.PAS1 COP NETTK:[APPLDIR]kecNet.  *) C(*  *)cCONSTf- (* : *)p- (* Define Symbols for DECnet Interface *) - (* *) 2 NO_TAS = %O'0'; (* General task, user process *)1 NO_FA1 = %O'1'; (* File access listener (V1) *) 2 NO_TC1 = %O'5'; (* Task control listener (V1) *). NO_TCL = %O'17'; (* Task control listener *)% NO_TLK = %O'20'; (* Talk uti PCU.TSK/CONT APPL$DIR:PCU.TSKI PUR LB:[1,5]NETLIB.MLB  PUR LB:[1,5]NETSUB.OLBS PUR LB:[1,5]NETDEF.PASi PUR APPL$DIR:PCU.TSK  .DISABLE QUIETFO.DATA #1 Finished installation. See NETTK:[EXAMPLES] for programming examples. .DATA #1abeled NETTK.* .ASK X Press the key when ready .DATA #1 .GOTO 10.20: .ENABLE QUIET- COP NETTK:[1,5]NETLIB.MLB LB:[1,5]NETLIB.MLB- COP NETTK:[1,5]NETSUB.OLB LB:[1,5]NETSUB.OLB- COP NETTK:[1,5]NETDEF.PAS LB:[1,5]NETDEF.PAS1 COP NETTK:[APPLDIR] Zlity *) , NO_FAL = %O'21'; (* File access utility *)+ NO_RTL = %O'22'; (* Remote task loader *) 9 NO_NCU = %O'23'; (* Network control utility executor *) - NO_DTR = %O'77'; (* DECnet test receiver *)C NT_CON = %O'1'; (* Connect *) ) NT_INT = %O'2'; (* Interrupt message *)=3 NT_DSC = %O'3'; (* User synchronous disconnect *)%" NT_ABT = %O'4'; (* User abort *)% NT_ABO = %O'5'; (* Network abort *)i% NT_EVT = %O'6'; (* Network event *)a2 NT_VFY = %O'7'; (* Network verification event *)" 7 unused *) );c 1: (* Format 1 *)F (N_DDEC: [POS(6, 0)] UNSIGNED; (* Destination process byte count *)> N_DDE: [POS(8, 0)] Net_Block_16; (* Destination process *)G N_SDEC: [POS(32, 0)] UNSIGNED; (* Source process name byte count *)OB N_SDE: [POS(34, 0)] Net_Block_16; (* Source process name *) ); 2: (* Format 2 *)8 (N_DGP: [POS(6, 0)] UNSIGNED; (* Destination group *)7 N_DUS: [POS(8, 0)] UNSIGNED; (* Destination user *);D N_DNMC: [POS(10, 0)] UNSIGNED; (* Destination name byte co0)] Net_Block_16; (* Destination name *) );  3::I (N_RIDC: [POS(26, 0)] UNSIGNED; (* Requesting process ID byte count *)0@ N_RID: [POS(28, 0)] Net_Block_16; (* Requesting process ID*)G N_RPSC: [POS(44, 0)] UNSIGNED; (* Requesting password byte count *)*> N_RPS: [POS(46, 0)] Net_Block_8; (* Requesting password *)J N_RACC: [POS(54, 0)] UNSIGNED; (* Accounting information byte count *)E N_RAC: [POS(56, 0)] Net_Block_16; (* Accounting information *) );b END; ,PROCEDURE ABTN8 NT_MOP = %O'10'; (* MOP event *)= NT_NSP = %O'10'; (* NSP event (CCB only). same as NT_MOP *)*5 VS_NPV = %O'1'; (* Verified, non-privileged user *)r1 VS_PRV = %O'2'; (* Verified, privileged user *)C1 VZ_NVD = %O'0'; (* No verification performe?d *)'0 VE_FAI = %O'177777'; (* Verification failed *)? (* L *))? (* Phase III session control error reason codes returned *)t? (* %with reject (REJ) or disconnect (DSC) *))?Sunt *); N_DNM: [POS(12, 0)] Net_Block_8; (* Destination name *)D; N_SND: [POS(24, 0)] Net_Block_6; (* Source node name *)]< N_SFM: [POS(30, 0)] Byte; (* Source descriptor format *)6 N_SOT: [POS(31, 0)] Byte; (* Source object type *)4 N_SGP: [POS(32, 0)] UNSIGNED; (* Source group *)3 N_SUS: [POS(34, 0)] UNSIGNED; (* Source user *)]? N_SNMC: [POS(36, 0)] UNSIGNED; (* Source name byte count *)E: N_SNM: [POS(38, 0)] Net_Block_16; (* Source name *) );4 3: (* Access control - No v (* *)v5 NE_RES = 1; (* Resource allocation failure (REJ) *)*N NE_NOD = 2; (* Destination node name does not map to a node address (REJ) *)3 NE_NSR = 3; (* Remote node shutting down (REJ) *)d< NE_UOB = 4; (* Destination process does not exist (REJ) *)A NE_FMT = 5; (* Invalid format for object specification (REJ) *) c NE_MLB = 6; (* Mailbox full for queuing message to object or too many connects to object (REJ) *)n4 NE_ABM = 8; (* Link erification performed *)B (N_CIDC: [POS(50, 0)] UNSIGNED; (* Source task ID byte count *): N_CID: [POS(52, 0)] Net_Block_16; (* Source task ID *)< N_CPSC: [POS(68, 0)] UNSIGNED; (* Password byte count *)3 N_CPS: [POS(70, 0)] Net_Block_6; (* Password *)2J N_CACC: [POS(78, 0)] UNSIGNED; (* Accounting information byte count *)E N_CAC: [POS(80, 0)] Net_Block_16; (* Accounting information *) );u1 4: (* Access control - Verification performed *)u< (N_CDEV: [POS(50, 0)] UNSIGNED; (* Defa7aborted by management (DSC) *)1 NE_NNF = 10; (* Node name format error (REJ) *) 3 NE_NSL = 11; (* Local node shutting down (REJ) *)2U NE_ACC = 34; (* Access not permitted - unacceptable rqstrid / password etc.(REJ) *)m6 NE_ABO = 38; (* No response from object (REJ/DSC) *)> NE_COM = 39; (* Unable to communicate with node (REJ/DSC) *) aTYPE Byte = 0..255;- Net_Block_Status = ARRAY [1..2] OF Integer;u* Net_Block_3_W = ARRAY [1..3] OF Integer;, Net_Block_6 = PACKED ARRAY [1..6] OF Bytult device Name *)? N_CUNI: [POS(52, 0)] Byte; (* Default device unit number *) G N_CUIC: [POS(54, 0)] UNSIGNED; (* Login UIC from account file *) );  5: (* Optional data *)GA (N_CDAC: [POS(96, 0)] UNSIGNED; (* Optional data byte count *);C N_CDA: [POS(98, 0)] Net_Block_16; (* Optional data buffer *) );f END;; Connect_Block = (* DECnet CONB$$ Connect Block Offsets *)n PACKED RECORDu> N_RND: [POS(0, 0)] UNSIGNED; (* Destination node name *)B N_RFM: [POS(6, 0)] Byte; e;, Net_Block_8 = PACKED ARRAY [1..8] OF Byte;. Net_Block_16 = PACKED ARRAY [1..16] OF Byte;2 Net_Block_8128 = PACKED ARRAY [1..8128] OF Byte;5 GND_Block = (* DECnet GND$ Connect Block Offsets *)s PACKED RECORD? N_CTL: [POS(0, 0)] UNSIGNED; (* Temporary link address *)=6 N_SEGZ: [POS(2, 0)] UNSIGNED; (* Segment size *)B N_DFM: [POS(4, 0)] Byte; (* destination descriptor format *)< N_DOT: [POS(5, 0)] Byte; (* Destination object type *) CASE Integer OF. 0: ( (*  (* Desitnation descriptor format *)< N_ROT: [POS(7, 0)] Byte; (* Destination object type *) CASE Integer OF( 0: ( (* unused *) );t 1: F (N_RDEC: [POS(8, 0)] UNSIGNED; (* Destination process byte count *)G N_RDE: [POS(10, 0)] Net_Block_16; (* Destination process name *) );t 2: 8 (N_RGP: [POS(8, 0)] UNSIGNED; (* Destination group *)8 N_RUS: [POS(10, 0)] UNSIGNED; (* Destination user *)D N_RNMC: [POS(12, 0)] UNSIGNED; (* Destination name byte count *)? N_RNM: [POS(14, Z- VAR NdName: [Unsafe, ReadOnly] Net_Block_6;A" VAR ObjType: [ReadOnly] Integer;! VAR NameSz: [ReadOnly] Integer;n- VAR Name: [Unsafe, ReadOnly] Net_Block_16);n SEQ11;7PROCEDURE CLSNT(VAR Status: [Unsafe] Net_Block_Status); SEQ11;8PROCEDURE CLSNTW(VAR Status: [Unsafe] Net_Block_Status); SEQ11;,PROCEDURE CONNT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] Net_Block_Status;% VAR TgtBlk: [Unsafe] Connect_Block; " VAR PutSize: [ReadOnly] Integer;2 VAR PutMessage: [U VAR Lrp: [ReadOnly] Integer); SEQ11;,PROCEDURE RECNT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] Net_Block_Status;! VAR InSize: [ReadOnly] Integer;y' VAR indata: [Unsafe] Net_Block_8128);o SEQ11;-PROCEDURE RECNTW(VAR Lun: [ReadOnly] Integer;:) VAR Status: [Unsafe] Net_Block_Status; " VAR InSize: [ReadOnly] Integer;( VAR indata: [Unsafe] Net_Block_8128); SEQ11;6PROCEDURE REJNT(VAR Status: [Unsafe] Net_Block_Status;" VAR MailBuf: [Unsafe] GND_Block;" VAR nsafe, ReadOnly] Net_Block_16;! VAR InSize: [ReadOnly] Integer;[( VAR InMessage: [Unsafe] Net_Block_16); SEQ11;-PROCEDURE CONNTW(VAR Lun: [ReadOnly] Integer;) VAR Status: [Unsafe] Net_Block_Status;U& VAR TgtBlk: [Unsafe] Connect_Block;# VAR PutSize: [ReadOnly] Integer;e3 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16;A" VAR InSize: [ReadOnly] Integer;) VAR InMessage: [Unsafe] Net_Block_16);B SEQ11;,PROCEDURE DSCNT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] NPutSize: [ReadOnly] Integer;3 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16);n SEQ11;7PROCEDURE REJNTW(VAR Status: [Unsafe] Net_Block_Status;R# VAR MailBuf: [Unsafe] GND_Block;s# VAR PutSize: [ReadOnly] Integer;4 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16); SEQ11;,PROCEDURE SNDNT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] Net_Block_Status;" VAR PutSize: [ReadOnly] Integer;5 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_8128);a SEQ11;-PROCEDURE SNDNTW(VT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] Net_Block_Status;" VAR PutSize: [ReadOnly] Integer;3 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16);_ SEQ11;-PROCEDURE ABTNTW(VAR Lun: [ReadOnly] Integer;G) VAR Status: [Unsafe] Net_Block_Status;# VAR PutSize: [ReadOnly] Integer;(4 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16); SEQ11;,PROCEDURE ACCNT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] Net_Block_Status;" VAR MailBuf: [Unsafe] GND_Block;" VAR PutSizet_Block_Status;" VAR PutSize: [ReadOnly] Integer;3 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16);6 SEQ11;-PROCEDURE DSCNTW(VAR Lun: [ReadOnly] Integer;r) VAR Status: [Unsafe] Net_Block_Status;s# VAR PutSize: [ReadOnly] Integer;l4 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16); SEQ11;6PROCEDURE GLNNT(VAR Status: [Unsafe] Net_Block_Status;! VAR BufLen: [ReadOnly] Integer;]! VAR Buf: [Unsafe] Net_Block_8);C SEQ11;7PROCEDURE GLNNTW(VAR Status: [Unsafe] Net_Block_Ste: [ReadOnly] Integer;3 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16);  SEQ11;-PROCEDURE ACCNTW(VAR Lun: [ReadOnly] Integer;R) VAR Status: [Unsafe] Net_Block_Status;C# VAR MailBuf: [Unsafe] GND_Block;g# VAR PutSize: [ReadOnly] Integer;c4 VAR PutMessage: [Unsafe, ReadOnly] Net_Block_16); SEQ11;#PROCEDURE BACC(VAR Status: Integer; + VAR TgtBlk: [Unsafe] Connect_Block;y' VAR UserSz: [ReadOnly] Integer;o2 VAR User: [Unsafe, ReadOnly] Net_Block_16;) hatus;o" VAR BufLen: [ReadOnly] Integer;" VAR Buf: [Unsafe] Net_Block_8); SEQ11;6PROCEDURE GNDNT(VAR Status: [Unsafe] Net_Block_Status; VAR MsgType: Integer;V! VAR MailSz: [ReadOnly] Integer;s" VAR MailBuf: [Unsafe] GND_Block;! VAR LtOnly: [ReadOnly] Integer;e VAR Immed: [ReadOnly] Integer;" VAR TypMsk: [ReadOnly] Integer); SEQ11;7PROCEDURE GNDNTW(VAR Status: [Unsafe] Net_Block_Status;[ VAR MsgType: Integer;" VAR MailSz: [ReadOnly] Integer;# VAR MailBuf: [Unsafe]  VAR PassWdSz: [ReadOnly] Integer;s3 VAR PassWd: [Unsafe, ReadOnly] Net_Block_8;( VAR AccNoSz: [ReadOnly] Integer;4 VAR AccNo: [Unsafe, ReadOnly] Net_Block_16); SEQ11;$PROCEDURE BFMT0(VAR Status: Integer;% VAR TgtBlk: [Unsafe] Connect_Block;: VAR NdSz: [ReadOnly] Integer;;- VAR NdName: [Unsafe, ReadOnly] Net_Block_6;g VAR ObjType: Integer); SEQ11;$PROCEDURE BFMT1(VAR Status: Integer;% VAR TgtBlk: [Unsafe] Connect_Block;f VAR NdSz: [ReadOnly] Integer;  ) GND_Block;V" VAR LtOnly: [ReadOnly] Integer;! VAR Immed: [ReadOnly] Integer;E# VAR TypMsk: [ReadOnly] Integer);  SEQ11;,PROCEDURE OPNNT(VAR Lun: [ReadOnly] Integer;( VAR Status: [Unsafe] Net_Block_Status;$ VAR MStat: [Unsafe] Net_Block_3_W; VAR Count: [ReadOnly] Integer; VAR Lrp: [ReadOnly] Integer);k SEQ11;-PROCEDURE OPNNTW(VAR Lun: [ReadOnly] Integer;a) VAR Status: [Unsafe] Net_Block_Status;g% VAR MStat: [Unsafe] Net_Block_3_W;y! VAR Count: [ReadOnly] Integer;] I 7-<0U -4O  !XF.ON ; START A LINE"IO.XHG='B'IO.XTR ; HANG UP A LINE-IO.XCL='B'IO.XTR!XF.STP!XF.STD ; CLOSE A LINEF7IO.XSC='B'IO.XCH!XF.SMC ; SET MULTIPLE CHARACTERISTICSI7IO.XGC='B'IO.XCH!XF.GMC ; GET MULTIPLE CHARACTERISTICS';0'; DEFINE MAXIMUM DLC PROTOCOL OVERHEADSD;S2PRO$OV=0 ; NO LONGER NEEDED - DEFINED TO ZERO TO7CRC$OV=0 ; RESOLVE ANY REFERENCES TO THESE SYMBOLS;;T; DEFINE DEVICE TYPE CODES6; (RETURNED IN HIGH BYTE OF I/O STATUS WORD 1 ON OPEN);X,XV.OTH='B' 000000 ; 'OTHERS' - NON- k)* ))6*Z)D* v  @ ./z /.-/.j  2&0&&r&  &&d&  5X 'j( (|'('! : -h-- "---B-+x--- ,^-*-,X-+h\X sXOOItXOOIhwXOHpX HXtGXH XOIZrG^Zc N`N`N` N` _ETHERNET&XV.BRO='B' 000001 ; BROADCAST CHANNEL .IIF NB .NLISTO .ENDM DLXDF$SU .MACRO DLXBUF,LABEL,SIZE; .MCALL DLXDF$ DLXDF$T .BLKB PRO$OV' .IF NB