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