HP3000-L Archives

January 1995, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Eero Laurila <[log in to unmask]>
Reply To:
Eero Laurila <[log in to unmask]>
Date:
Wed, 25 Jan 1995 17:20:31 GMT
Content-Type:
text/plain
Parts/Attachments:
text/plain (94 lines)
Chris Bartram ([log in to unmask]) wrote:
:  In  Rich Trapp <[log in to unmask]> writes:
: > Greetings all!
: >    We're trying to document what versions of MPE/iX have TCP/IP avaiable.
: > I know it's bundled with ARPA services on MPE/iX 5.0.  From there my
: > knowledge takes quite the nose dive.  What previous versions of MPE had
: > ARPA or at least TCP/IP available as a purchased product?  And, if you
: > can remember, what's the product numbers?
 
: The TCP/IP stack (aka LanLink) has been available since early MPE/V days. We
: have it running on various MPE/V machines as well as MPE/iX. Don't recall
: the product numbers, and it's impossible (programatically) to determine if
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: it's (LanLink) present
  ^^^^^^^^^^^^^^^^^^^^^^
 
  Maybe it's not that impossible.  I haven't got a system without networking
  available to me but if some of you have, you can test this out further.
 
  They way to do it programmatically is to try dynamically either load or
  resolve a reference to a procedure/function that resides in nl.pub.sys
  and is only present when networking is installed.  As said, I haven't got
  a system without networking but a relatively good guess is the presence
  or lack of for any of the tcp_... arp... net... procedures in nl.pub.sys.
 
  Another one that I would be tempted to suggest (but cannot test) would be
  the version procedure for ARPA transport (the transport is "subsystem 3"
  of hp3000 datacomm subsystems) - there's a procedure "subsys3vers".  I would
  be tempted to believe that this gets installed with ARPA transport (but
  please don't count on it without testing on a system without networking).
 
  To see what procedures are in nl.pub.sys you can use a simple debug command
  or linkeditor - I prefer debug - example below:
 
  :debug
  DEBUG/iX B.30.45
 
  HPDEBUG Intrinsic at: a.0096281c hxdebug+$144
  $1 ($130) nmdebug > procl net@ nl.pub.sys
  a.1487898  net_dict_vers
  a.14478c3  net_glbl_vers
  a.1434cdb  net_map_vers
  a.144792b  net_ip_vers
  a.1447993  net_ni_vers
  a.1437227  netstatus
  a.1437eff  net_pd_vers
  ....
 
  $2 ($130) nmdebug > procl @vers@ nl.pub.sys
  a.a0ced4   acd_get_version
  a.a0ceb8   ?acd_get_version
  a.379034   scsi_cio_virtual_traverse
  ...
  etc....
 
  Here's a sample program you can use to check for the presence of any of
  the nl.pub.sys routines real simply from pascal.  I'm not sure about
  other languages but given that MPE/iX OS is written in pascal with
  system programming extensions ("modified pascal" -> "modcal") - maybe
  you can have this little program converted to a function with a boolean
  true/false return in your own rl or xl you can call it from any language...
 
  -----------start sample source-----------
  program check_nl(output);
 
  var proc_in_nl :boolean;
 
  { Here you'll have to temporarily switch the compiler to allow system   }
  { programming extensions to accept the external procedure declaration   }
  { below.  Once done, you can switch back to lower level.  If you switch }
  { back to standard_level 'hp_pascal' you'll get a warning at compile    }
  { time for the "addr" call, however, it still works.  Using 'hp_modcal' }
  { gets you rid of the warning.                                          }
 
  $standard_level 'os_features'$
  procedure subsys3vers   option unresolved; external;
  $standard_level 'hp_modcal'$
 
  begin
 
  { the next call will resolve the address of the external procedure and }
  { if it returns non-nil, the procedure is in nl.pub.sys...             }
 
  proc_in_nl := (addr(subsys3vers) <> NIL);
 
  if proc_in_nl then
    writeln('procedure IS in nl.pub.sys')
  else
    writeln('procedure not in nl.pub.sys');
  end.
  -----------end sample source-----------
 
:-) Eero Laurila - HP CSY Networking lab, NS services.

ATOM RSS1 RSS2