[HECnet] RSTS/E 10.1 DECnet/E 4.1 noob question

Johnny Billquist bqt at softjar.se
Sun Mar 10 08:54:22 PDT 2019


This actually brings to mind to things I could mention...

1. I don't mind creating specific scripts for different OSes, if needed. 
I can make that fully automated. I already do for VMS.

If people check under MIM::HECNET: (which is the same as US:[DECNET]), 
you can find FIX.COM, which is a command file to updating the nodenames 
in VMS, and FIX.CMD, which just defines things for RSX.

If needed, I can create more files, in various formats easily. Just let 
me know how they should look like, and I'll make it. It's really easy.

2. Whenever the nodename database actually is updated, I can also send 
out mails. If you have some smart system, you can even trigger an update 
based on that then. Or else download the file regularly and check if 
there are any differences to your previously downloaded file, and apply 
the new file if needed.

There are plenty of ways to automate things here, and I'm happy to help out.

   Johnny

On 2019-03-10 16:35, Tim Sneddon wrote:
> On Sun, Mar 10, 2019 at 11:05 PM Oleg Safiullin <form at pdp-11.online> wrote:
> 
>     BTW, there's a script I wrote for RSTS/E at BOPOHA::[.RSTS]NODES.COM
>     <http://NODES.COM>
>     You may find it useful to copy known nodes from another node
>     (DECnet/E doesn't have this feature):
> 
>     $ @NODES
>     Usage: @NODES ADDR NAME [LOG]
>     $
>     $ @NODES 1.13 MIM
>     $
> 
> 
> I have something similar that I use to run a nightly batch job that 
> downloads the node list from MIM and loads it into my local database.  
> It is below in case anyone is interested.
> 
> Regards, Tim.
> 
> $ ! Procedure:UPDHEC.COM <http://UPDHEC.COM>
> $ set noon
> $ on control_c then goto bail_out
> $ on warning then goto bail_out
> $ if (.not. f$environment("INTERACTIVE")) then set noverify
> $ say = "write 0"
> $ procedure = f$environment("PROCEDURE")
> $ queue = f$edit(p1, 2+4+8+16+32+128+256)
> $
> $start:
> $ if (f$access() .eqs. "BATCH") then goto init
> $ if (queue .eqs. "") then goto no_queue
> $ say "?Submitting update job to ''queue'"
> $ submit/queue='queue'/parameters=("''queue'") 'procedure'
> $ goto bail_out
> $
> $no_queue:
> $ say "?No queue specified, exiting..."
> $ goto bail_out
> $
> $init:
> $ remote = "1.13""guest guest""::SY0:[DECNET]NODENAMES.DAT"
> $ local = "SY:[1,2]NODNAM.DAT"
> $
> $run:
> $ say "?Copying remote node database to local system"
> $ copy/log/replace 'remote' 'local'
> $
> $ say "?Verifying database header"
> $ open/read 2 'local'
> $ read/end_of_file=end_loop 2 line
> $ if (f$edit(line,2) .nes. "") then goto err_badhdr
> $ read/end_of_file=end_loop 2 line
> $ if (f$edit(line,2) .nes. "NODENODE") then goto err_badhdr
> $ read/end_of_file=end_loop 2 line
> $ if (f$edit(line,2) .nes. "ADDRESSNAME") then goto err_badhdr
> $ read/end_of_file=end_loop 2 line
> $ if (f$edit(line,2) .nes. "") then goto err_badhdr
> $ say "?Header verified"
> $
> $ say "?Clearing known nodes"
> $ ncp clear known nodes all
> $ say "?Purging known nodes"
> $ ncp purge known nodes all
> $
> $ i = 0
> $ j = 0
> $ area = 0
> $ node = f$left(f$node(), f$length(f$node()) - 2)
> $loop:
> $ read/end_of_file=end_loop 2 line
> $ line = f$edit(line, 8+16+32+128)
> $ pos  = f$instr(0, line, " ")
> $ addr = f$left(line, pos-1)
> $ name = f$right(line, pos+1)
> $
> $ i = i + 1
> $ if (name .eqs. node) then goto loop
> $
> $ say "?Adding entry for ''name' at ''addr'"
> $ if (name .nes. node) then ncp define node 'addr' NAME 'name'
> $ goto loop
> $end_loop:
> $ say "?Node database updated"
> $ goto bail_out
> $
> $err_badhdr:
> $ say "?Nodename database header is invalid"
> $ goto bail_out
> $
> $bail_out:
> $ if (f$access() .nes. "BATCH") then goto bail_out_nobatch
> $ say "?Resubmitting HECnet name register procedure"
> $ submit/queue='queue'/parameters=("''queue'")/after=TODAY 'procedure'
> $ close 2
> $
> $bail_out_nobatch:
> $ exit 1
> $ 
> !+==========================================================================
> $ ! Procedure: UPDHEC.COM <http://UPDHEC.COM>
> $ !
> $ ! Purpose:Download the latest HECnet node database from MIM (1.13) and
> $ !apply it to the running system.
> $ !
> $ !             This procedure is expected to run under DCL on RSTS/E.
> $ !
> $ ! Parameters:P1 = Batch queue to submit procedure to
> $ !
> $ ! History:
> $ !28-May-2014, TES; Version V1-001
> $ !001 -Original version.
> $ 
> !+==========================================================================

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


More information about the Hecnet-list mailing list