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

32 Chapter1
NetIPC Fundamentals
Using NetIPC for Interprocess Communication
To ensure that no data packets are lost before the clear packet is sent,
the D bit option can be set in the last IPCSEND. This assures end-to-end
acknowledgment of this message before issuing the IPCSHUTDOWN to
clear the virtual circuit.
Another method to ensure no lost packets is to send an unimportant
message as the last message. The following example shows the calling
sequence you would use. Note that the “dummy” message may or may
not be received by the last IPCRECV. If the last message is not received,
a SOCKERR 67 “CONNECTION FAILURE DETECTED” is returned.
IPCSEND ---> IPCRECV
(important message) (important message
received)
<---- IPCSEND
(dummy message sent
)
IPCRECV
(receive dummy
IPCSHUTDOWN
message)
IPCSHUTDOWN
TCP Access
To ensure that no data is lost, the IPCSHUTDOWN graceful release bit can
be set, and the following sequence of steps can be followed:
• Process A calls IPCSHUTDOWN and sets bit 17, the graceful release
flag. Process B receives a message (with an IPCRECV) informing it
that Process A has called for graceful release. (This message is sent
to B automatically when A sets the graceful release flag.) Process A
enters a simplex-in state; meaning, it can receive, but not send, data.
Process B will enter a simplex-out state, that is, it can send but
cannot receive data. As a result, data that is in transit to Process A
(which initiated the graceful release shutdown) will reach Process A
without being lost.
• Next, one of two steps must occur to completely shut down the
connection. Either (1) Process B initiates with or without its own
graceful release or (2) Process A calls IPCSHUTDOWN without the
graceful release option.
• This releases Process A’s VC socket descriptor and shuts down the
connection. In this case, Process B must also release its socket
descriptor by calling IPCSHUTDOWN.
If the graceful release option is not used (this may be necessary, for
example, if the remote node does not support graceful release) the
following steps should be followed when shutting down a connection.
• Process A sends a “last message” to Process B via an IPCSEND call.
This message contains data that is recognized by Process B as a