HP 3000 Manuals

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