Calls Affecting the Local Process [ Net IPC 3000/XL Programmer's Reference Manual ] MPE/iX 5.0 Documentation
Net IPC 3000/XL Programmer's Reference Manual
Calls Affecting the Local Process
There are two categories of calls when considering cross-system NetIPC
communication--local and remote. Calls made for the local process do not
directly affect the remote process. The local NetIPC calls are used to
set up or prepare the local node for interprocess communication with the
remote node. That is, the resulting impact on the local calls is only to
the local node. There is no information that needs to be passed to the
remote node. This is true whether or not the remote node is another HP
3000 computer system. Table 2-1 lists the NetIPC calls affecting the
local process.
Table 2-1. NetIPC Calls Affecting the Local Process
-------------------------------------------------------------------------------------------------
| | | | |
| HP 3000 | HP 1000 | HP 9000 | PC |
| | | | |
-------------------------------------------------------------------------------------------------
| | | | |
| ADDOPT | Addopt | addopt() | AddOpt |
| Not implemented | Adrof | Not implemented | Not implemented |
| Not implemented | Not implemented | Not implemented | ConvertNetworkLong |
| Not implemented | Not implemented | Not implemented | ConvertNetworkShort |
| INITOPT | InitOpt | initopt() | InitOpt |
| IPCCHECK | Not implemented | Not implemented | Not implemented |
| IPCCONTROL | IPCControl | ipccontrol() | IPCControl |
| IPCCREATE | IPCCreate | ipccreate() | IPCCreate |
| IPCERRMSG | Not implemented | Not implemented | Not implemented |
| IPCGET | IPCGet | Not implemented | Not implemented |
| IPCGIVE | IPCGive | Not implemented | Not implemented |
| IPCNAME | IPCName | ipcname() | Not implemented |
| IPCNAMERASE | IPCNamerase | ipcnamerase() | Not implemented |
| Not implemented | IPCSelect | ipcselect() | Not implemented |
| Not implemented | Not implemented | Not implemented | IPCWait |
| OPTOVERHEAD | Not implemented | optoverhead() | OptOverhead |
| READOPT | ReadOpt | readopt() | ReadOpt |
| | | | |
-------------------------------------------------------------------------------------------------
The intrinsics listed in Table 2-1 affect only local processes and
therefore have no adverse affects if used in a program communicating with
an unlike system (e.g., an HP 3000 program communicating with an HP 1000
program). However, keep in mind that the calls (even those of the same
name) differ between system types. The following are some local call
differences of which you should be aware:
* Maximum number of sockets. The maximum number of socket descriptors
owned by an HP 3000 process at any given time is 64; on the HP 1000
the maximum is 32; on HP 9000 systems, the maximum is 60 (including
file descriptors). On the PC, the maximum number of socket
descriptors is 21. This number includes both call socket and virtual
circuit socket descriptors.
* IPCCONTROL parameters. The IPCCONTROL intrinsic supports different
sets of request codes on different system types. Refer to the NetIPC
documentation for a particular system (this manual only documents the
HP 3000) for a full description of the request codes available on
that system.
* Manipulation of descriptors. On the HP 3000, the IPCGIVE, IPCGET,
IPCNAME, and IPCNAMERASE calls can be used to manipulate call socket
descriptors. On the HP 9000, you can manipulate call socket and
destination descriptors with the ipcname() and ipcnamerase()
intrinsics. On the HP 1000, you can only manipulate call socket
descriptors with the IPCName and IPCNamerase intrinsics. In
addition, on the HP 1000, you can manipulate call socket, vc socket,
and path report descriptors with the IPCGive and IPCGet intrinsics.
* Asynchronous I/O. The HP 3000 utilizes the MPE XL intrinsics IOWAIT
and IODONTWAIT to perform asynchronous I/O. On the HP 9000 and HP
1000, The NetIPC intrinsics ipcselect()and IPCSelect are used to
perform asynchronous I/O. On the PC use the NetIPC intrinsic IPCWait.
* Call sockets. On the PC, call sockets are called source sockets and
call socket descriptors are called source socket descriptors. Both
sets of terms are used in the same way.
NOTE There are many additional differences between local NetIPC calls
for the HP 3000 and those used for other HP systems. Because these
differences only affect the local node, they should not affect the
cross-system communication capabilities of your program. Refer to
the corresponding system's NetIPC documentation for more
information.
MPE/iX 5.0 Documentation