NetIPC 3000/XL Programmer's Reference Manual (5958-8600)

Table Of Contents
224 AppendixD
Migration From PTOP to NetIPC and RPM
Example: Client-Server Application
{ RPMCREATE RSERVER on server }
{ node ----------------------> RPMGETSTRING clientsock }
{ IPCRECVCN socket 1 RPMGETSTRING clientnode }
{ . IPCCREATE socket 2 }
{ . IPCLOOKUP clientsock, }
{ . clientnode, }
{ . dest }
{ . <-----------------------IPCCONNECT socket 2, dest }
{ . ----------------------> IPCRECV }
{ IPCNAMERASE clientsock IPCSHUTDOWN socket 2 }
{ IPCSHUTDOWN socket 1 IPCRECV name }
{ get name . }
{ IPCSEND name---------name----------> . }
{ IPCRECV ind look up name, found info }
{ . <-----indaccept-------- IPCSEND indaccept }
{ IPCRECV info < -------info-----------IPCSEND info }
{ print info IPCRECV name }
{ get name . }
{ IPCSEND name---------name----------> . }
{ IPCRECV ind look up name, not found }
{ . < -----indreject-------- IPCSEND indreject }
{ print error IPCRECV name }
{ . . . . }
{ RPMKILL -----------------------> . }
{ IPCSHUTDOWN vc (terminate) }
{ (IPCSHUTDOWN vc) }
{ }
{---------------------------------------------------------------------}
label 1;
const maxnodelength = 51; {all lengths in bytes }
maxproglength = 24;
namelength = 20;
infolength = 60;
clocalnodelength= 18; {NSINFO item number }
clocalnode = 19; {NSINFO item number }
callsocket = 3; {IPCCREATE socket type }
tcpprotocol = 4; {IPCCREATE protocol type}
socketnamelength= 8; {created by IPCNAME }
maxoptlength = maxnodelength + socketnamelength + 20;
dependent = 31; {RPMCREATE flags bit }
optrpmstring = 20000;{RPMCREATE opt number }
indaccept = 0; {accept indication }
indreject = 1; {reject indication }
type shortint = -32768..32767;
byte = 0..255;
msgtype = packed array [1..30] of char;
buftype = array [1..80] of char;
var clientnode: packed array [1..maxnodelength] of char;
clientsockname: packed array [1..socketnamelength] of char;
location: packed array [1..maxnodelength] of char;
progname: packed array [1..maxproglength] of char;
name: packed array [1..namelength ] of char;