NetIPC 3000/XL Programmer's Reference Manual (5958-8600)
Table Of Contents
- 1 NetIPC Fundamentals
- 2 Cross-System NetIPC
- 3 NetIPC Intrinsics
- 4 NetIPC Examples
- A IPC Interpreter (IPCINT)
- B Cause and Diagnostic Codes
- C ErrorMessages
- D Migration From PTOP to NetIPC and RPM
- E C Program Language Considerations

208 AppendixD
Migration From PTOP to NetIPC and RPM
Creating Remote Processes
Creating Remote Processes
With PTOP, the creation of the slave process and the set up of the
communications channel is done by the POPEN call in the master and
the first GET and ACCEPT (or REJECT) calls in the slave. The POPEN call
specifies the remote node’s location, the name of the program on the
remote node to be created, and various process-creation parameters.
The
dsnum
parameter returned by POPEN identifies the slave process
and its communications channel. On the slave side, the GET and ACCEPT
calls complete the set up.
With NetIPC and RPM, the actions of creating the slave process and
setting up the communications channel are split up. RPM handles the
process creation, while NetIPC handles the communications. The calls
necessary for these tasks are more complicated than the POPEN and
GET/ACCEPT calls. The master process creates a call socket and
registers it in the local socket registry. It passes the name of the socket
and the local node name to the slave by using the RPM string feature of
RPMCREATE. The master calls RPMCREATE to create the slave, including
any process-creation parameters. The slave retrieves the master socket
and node names from the RPM strings. It creates its own socket, looks
up the master's socket, and establishes a virtual-circuit connection
between the two sockets. The steps for each side are given below.
Creating Remote Processes: In the Master Program
To convert the PTOP intrinsic listed below, perform the following steps.
Syntax
dsnum := POPEN (
location
,
progname
[,
itag
][,
entryname
]
[,
param
][,
flags
][,
stacksize
][,
dlsize
][,
maxdata
][,
bufsize
])
• Get the local node name. You can use the NSINFO intrinsic, provided
that you execute a DSLINE or a REMOTE command prior to the call.
This should normally be the case for a PTOP application. You can
use local node name and length item numbers (19 and 18) in
NSINFO.
NOTE
NSINFO is supported on NS 3000/V starting with UB-delta-1 MIT and
on NS 3000/XL with Release 1.1.)
• Create a TCP call socket for the master program and name the
socket, using the IPCCREATE and IPCNAME intrinsics. You can use a
randomly generated name from IPCNAME.
• Build the opt array for the RPMCREATE call, using the INITOPT and
ADDOPT intrinsics. In the opt array, include RPM strings (opt code