HP30003k Associates LogoHP3000/HP 3000 FAQ

Last Updated: Thursday, February 01, 2007 02:38 PM

HP3000 FAQ
MPE/V

HPe3000 FAQ
MPE/XL

HP 3000 FAQ
MPE/iX


Programming for Networks on the HP3000

4.14.Programming for Networks on MPE

To talk to other network processes from MPE, you have two APIs from which to choose; NetIPC (proprietary to HP3000s but callable from all MPE-based programming languages), and the newer "open" Berkeley sockets interface, callable only from "C". Both perform basically the same function, and in fact call the same low-level routines, though the Berkeley sockets API does allow access to UDP-based functions which NetIPC does not.


4.14.1. What are HP Sockets

SS

"HP Sockets" is the short form for the product called "Software Integration Sockets". I view it as a method of pasting together applications that don't know about each other, potentially across machines in a network. As such, you can describe (via a meta language) the data structures of two programs (perhaps binary, perhaps ASCII (e.g.: from a report generator), and it will generate conversion code. It does data conversion (e.g., ascii to binary or packed decimal) and understands the data types/structures used by FORTRAN, COBOL, C, & Pascal. It also handles asynchronous messaging between machines, if necessary.


4.14.2. What is NetIPC and how is it used?

NetIPC is a programmatic interface to call networking (socket) routines from a programming language on the 3000. Socket routines allow inter- system data transfers. NetIPC allows most of the same functionality of berkeley sockets (BSD) but is a proprietary calling interface invented by HP. A notable exception is that NetIPC does not allow access to UDP/IP primitives where BSD does.


4.14.3. What are Berkeley Sockets (BSD) and how are they used?

BSD is a programmatic interface to call networking (socket) routines from a programming language (designed to be called by 'C' programs). socket routines allow inter-system data transfers. BSD is commonly used on a variety of platforms (coming from the Unix world) but is not easily accessed from languages other than 'C'. BSD allows access to both TCP/IP and UDP/IP protocols.


4.14.4. How do I get the nodename of a PC logging into the 3000?

The NSINFO intrinsic (when called with $BACK as nodename) will return the nodename of the machine from which the logged-on user is connected (for users logged in via network connections over a TCP/IP network) You'll get an error from NSINFO if you're not a VT session.


4.14.5. How do I get the IP address of a PC logging into the 3000?

EL

If you are interested in IP address and have the 5/94 edition of the
"Using NS3000/iX Network Services" manual, it documents item #38 that
can be used to retrieve an IP address associated with an NS environment.
All NS services (VT as well) have a predefined environment "$BACK" that
refers to the originator of the connection (i.e. one hop back).  If you
as for item #38 on environment $BACK, you will get the IP address.

4.14.6. How do I get the station address of a PC logging into the 3000?

ER

Just do an:                                                            

SNMPGET
ip.ipNetToMediaTable.ipNetToMediaEntry.ipNetToMediaPhysAddress.2.(the ip
address)

or an

SNMPGET at.atTable.atEntry.atPhysAddress.2.1.(the ip address)

both of the above nicely return the media address.

4.14.7. What are all the new CI Vars set for network connected sessions?

Explanation on HPSTDIN_ and HPVT_ CI-variables

EL

Due to lack of help text and multiple customer requests, here's a
detailed explanation of those CI variables set by the VTSERVER
process on MPE/iX 5.5 and later.  These same variables appear
in some earlier versions of MPE/iX, providing that appropriate
NS services patches have been applied.

Note that as the number of 3rd party VT providers has increased,
not all previous versions will be able to properly identify all
client types.  New client types have been added all the time,
latest additions in a yet unreleased patch (NSSED78A).

03/18/1996 Eero Laurila - HP CSY Networking lab, NS services, VT.

Variable Types
==========================================================
R            READ ONLY variable (cannot be modified).
W            READ/WRITE variable (can be modified).
JCW          A standard MPE/iX JCW.
I            Integer format.
B            Boolean format (TRUE/FALSE).
S            String (ASCII) format.
(NP)         Not programmatically accessible.  They may be
             accessed through the COMMAND or HPCICOMMAND
             intrinsics, but not with the HPCIGETVAR,
             HPCIPUTVAR, and HPCIDELETEVAR intrinsics.

HPSTDIN_... CI-variables
========================
These variables are intended to be variables that could be set by any type
of connection to the HP 3000 system.  As such, they are named using a very
generic name HPSTDIN_..., only reflecting the fact that the only thing they
describe is how and where from the access to file $STDIN was established.

Although NS/VT is currently the only subsystem on HP 3000 using these
variables, it should be noted that they are intended for wider use and
should convey no VT specific information - HPVT_ variables are for that
purpose.  Should other subsystems desire to convey some of their own
internal information in CI-variables, they should allocate their own
and start all variable names with "HP" to avoid conflicts with customers'
own variables and to conform to HP's predefined CI variables naming
conventions.

Variable               Type  Definition                        Initial Value
---------------------  ----  ----------                        -------------
HPSTDIN_ACCESS_TYPE       S  Type of connection used to  gain  NS/VT
                             access to file $STDIN. Currently
                             only VT sets this variable, i.e.
                             the  only  setting at this point
                             of time  is  the  initial value.

                             Other values that were discussed
                             for  this variable were  such as
                             X.25 PAD,  DIRECT,  MODEM  etc.,
                             however, no other subsystem than
                             VT currently sets this variable.


HPSTDIN_TERMINAL_TYPE     S  Describes the  terminal  type as  10 (T_BLOCK(3))
                             the  VTSERVER  process  sees  it
                             (i.e. what has been reported for
                             the  terminal   type   from  the
                             remote side)  as  well  as  VT's
                             internal  terminal  type  VT has
                             mapped the actual termtype into.

                             Contents of this variable is  as
                             follows:

                             NN (text(MM)), where:

                             NN = actual terminal type number
                                  shown with  MPE/iX - MPE/iX
                                  connections,   where   both
                                  machines  are  running  VT-
                                  protocol version nine(9) or
                                  greater.  Set  to  zero for
                                  all other types of clients.
                                  This  information was added
                                  to  initial  VT-negotiation
                                  and  was  not  conveyed  in
                                  previous  versions  of  VT.
                                  VT  protocol  version 9 was
                                  introduced in patches:

                                  MPE/iX 4.0     : NSSDDP3
                                  MPE/iX 5.0 pull: NSSDDQ0
                                  MPE/iX 5.0 push: NSSDDQ3

                                  and their successors.

                              text  = VT internal mapping  to
                                  which  all  terminal  types
                                  are folded.Possible values:

                                    T_UNKNOWN
                                    T_BASIC
                                    T_SCROLL
                                    T_BLOCK
                                    T_DATA_ENTRY

                                  (from 0..4,correspondingly).

                             MM = internal   numeric    value
                                  corresponding   to   mapped
                                  termtype string(this is the
                                  integer  value assigned  to
                                  above  enumeration  by  the
                                  pascal compiler).

HPSTDIN_TRANSPORT_TYPE    S  Describes the underlying network  TCP/IP
                             transport type used to carry the
                             data between the HP3000 host and
                             the client.

                             Other values that were discussed
                             for  this variable were  such as

                             ADCP/AFCP  (DTS  terminal  I/O),
                             SPX/IPX    (Netware    clients),
                             Appletalk  (Appletalk  clients),
                             SNA        (IBM/SNA connections)
                             BSC        (IBM/BSC connections)
                             etc.

                             however, no other subsystem than
                             VT currently sets this variable.

HPSTDIN_NETWORK_NODE      S  Describes  the  name of the node  No default.
                             as appropriate depending  on the
                             type of network and transport in
                             use (NS, SNA, Netware, Appletalk
                             etc.  networks).

                             Note that at the moment no other
                             subsystem  than  NS/VT sets this
                             variable, i.e. the  only type of

                            nodename  that  will  be seen in
                             this variable  is  what  the VT-
                             client sends to the HP 3000  (NS
                             nodenames).


HPSTDIN_NETWORK_ADDR      S  Describes the network address of  No default.
                             the $STDIN accessor  in a format
                             appropriate   to   the  type  of
                             network and transport in use. In
                             case of TCP/IP network (and a VT
                             client), this field will contain
                             the  IP-address  of  the  remote
                             computer accessing $STDIN.

                             Note that at the moment no other
                             subsystem  than  NS/VT sets this
                             variable, i.e. the  only type of
                             network address that can be seen
                             in  this  variable  is  an   IP-
                             address.

HPSTDIN_LINK_ADDR         S  This  variable  is  intended  to  not set yet...
                             be used for showing the  level-1
                             address  of  the  client (or the
                             closest to HP 3000  host network
                             device)  sending link level data
                             frames to the HP 3000.

                             Currently  this  information  is
                             not available  to  the  VTSERVER
                             process and thus the variable is
                             set to "not set yet...".

                             The  variable has been allocated
                             so  that  when/if  the   network
                             transport makes this information
                             available to a process,  this is
                             where   it   would   be  stored.

                             The  link   address   should  be
                             displayed in format  appropriate
                             to the type  of  networking  h/w
                             in  use.  For  LAN networks this
                             CI-variable  would  contain  the
                             station  (or  MAC)  address, for
                             other  networks their correspon-
                             ding level-1 address.


HPVT_CLIENT_... CI-variables
============================
These variables are specific to NS/VT service and will be set by the
VTSERVER process on VT connections only.

Variable               Type  Definition                        Initial Value
---------------------  ----  ----------                        -------------
HPVT_CLIENT_VENDOR        S  Shows  the  vendor-id  that  was  No default.
                             sent to the VTSERVER process  in
                             the first VT  negotiation packet
                             from  the  remote VT-client.  As
                             of  3/1996  the   following  VT-
                             client vendor-id's are known and
                             defined in NS services(5.0 patch
                             level NSSED78A or later):

                             VENDOR_UNDEFINED
                             HEWLETT_PACKARD

                             UNISON_BUSINESS_SESSION_FOR_WINDOWS
                             UNISON_BUSINESS_SESSION_FOR_MACINTOSH

                             WRQ_CONNECTION_3000_FOR_DOS
                             WRQ_CONNECTION_3000_FOR_MACINTOSH
                             WRQ_CONNECTION_3000_FOR_WINDOWS

                             SLC_IX_CONNECT_FOR_HPUX
                             SLC_IX_CONNECT_FOR_SCO_UNIX
                             SLC_IX_CONNECT_FOR_SUN

                             MINISOFT_FOR_DOS
                             MINISOFT_FOR_WINDOWS_16_BIT
                             MINISOFT_FOR_WINDOWS_32_BIT

                             ATTACHMATE_0



HPVT_C                    ...all the way to
                             ATTACHMATE_9



HPVT_CLIENT_OPSYS         S  Shows  the  operating  system on  No default.
                             top  of  which  the  remote  VT-
                             client  reports  to  be running.
                             The following operating systems
                             are recognized in NS/VT service:

                             CLIENT_OS_UNKNOWN
                             MPE_IX,
                             MPE_VE
                             RTE
                             UNIX,
                             BASIC
                             MS_DOS
                             IBM
                             MACINTOSH_OS
                             SUNOS4
                             SUNOS5
                             SCO_UNIX

                             Note that this item (as well  as
                             some other  ones)  gets  set  to
                             what  the client reports  to the
                             VTSERVER,   i.e.  if  the client
                             sends us  incorrect information,
                             that will  be shown here as sent
                             from the  client.  The  VTSERVER
                             has no way  of  finding out what
                             the  real  value  is/should  be.

                             Also,in addition to the OS type,
                             MPE/iX - MPE/iX connections with
                             VT protocol version 9 or greater
                             also  communicate  the  OS  user
                             version  and the  processor type
                             the  OS  is   running  on.   For
                             example,  a  possible  value for
                             MPE/iX-MPE/iX connection is:

                             "MPE_IX C.50.00 - SERIES 967SX"


HPVT_CLIENT_MODE          S  Shows the type  of the VT-client  No default.
                             in use.  This  variable gets set
                             to  indicate whether the connec-
                             tion was established through the
                             VT  stream-mode  TCP  SAP  (port
                             #1570), or the message-mode  SAP
                             (#1537).  Possible  values  are:

                             MESSAGE_MODE
                             STREAM_MODE

HPVT_CLIENT_TCP_PORT      S  Shows the TCP SAP  (port#)  that  No default.
                             was allocated on the client side
                             for  this  VT  connection.  This
                             number  is  also  known  as  the
                             socket  address  in use.  Values
                             in this  string  variable are in
                             range of legal socket addresses,
                             i.e.   positive   short (16 bit)
                             integers 1..65535.  The variable
                             contains an ASCII representation
                             of the shortposint value.


HPVT_CLIENT_LDEV_NUM      S  Valid  only  when  the client is  No default.
                             another MPE/iX system running VT
                             protocol version  9  or greater.
                             When set, this variable  reports
                             the  MPE  logical  device (LDEV)
                             number in use on the remote side
                             for the  session  connecting  to
                             this machine.  This  can be used
                             to trace back to  the  initiator
                             of the session.

HPVT_CLIENT_JOB_NUM       S  Valid  only  when  the client is  No default.
                             another MPE/iX system running VT
                             protocol version  9  or greater.
                             When set, this variable  reports
                             the session or job number on the
                             remote  machine  that  initiated
                             this  VT-session.  This  can  be
                             used  to   trace   back  to  the
                             initiator of the session.

HPVT_CLIENT_JOB_NAME      S  Valid  only  when  the client is  No default.
                             another MPE/iX system running VT
                             protocol version  9  or greater.
                             When set, this variable  reports
                             the session or job  name  on the
                             remote  machine  that  initiated
                             this  VT-session.  This  can  be
                             used  to   trace   back  to  the
                             initiator of the session.



Back to FAQ Index Back to 3k Home Page
 
HP3000-L FAQ Collection (c) 3k Associates, Inc. 1996-2006