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

Table Of Contents
160 Chapter4
NetIPC Examples
Example 4
CONST
X25 = 2; (* X25 protocol *)
CUD_MAX = 128; (* number bytes of CUD *)
VAR
sd_local: integer; (* local socket descriptor *)
cd_local: integer; (* local connection descriptor *)
optioncode: shortint; (* optioncode return from readopt *)
optlen: integer; (* opt length *)
dlen: integer; (* data length *)
flag: packed array[1..4] of byte; (* flags parameter *)
x25_flags: packed array[1..4] of byte; (* x25 flags parameter *)
result: integer; (* back from IPC call *)
result16: shortint; (* back from opt calls *)
i: integer; (* loop counter for messages *)
msg : packed array[1..2000] of byte; (* message for send and receive *)
data : packed array[1..12] of char; (* send data *)
opt: packed array [0..500] of byte;(* options array *)
cud: packed array [1..CUD_MAX] of byte; (* # bytes of CUD *)
wdata : packed array[1..80] of char; (* for ipccontrol wdata *)
readdata : packed array[1..500] of byte; (* for ipccontrol readdata *)
rlen : integer; (* length for readdata *)
sf : packed array[1..109] of byte; (* 109 bytes of facility_field *)
net_name : packed array[1..8] of char;(* network name *)
cnaddr : packed array[1..8] of byte ; (* calling node address *)
(* IPC intrinsics used *)
procedure readopt; intrinsic;
procedure addopt; intrinsic;
procedure initopt; intrinsic;
procedure ipccheck; intrinsic;
procedure ipcconnect; intrinsic;
procedure ipccontrol; intrinsic;
procedure ipccreate; intrinsic;
procedure ipcdest; intrinsic;
procedure ipcerrmsg; intrinsic;
procedure ipcget; intrinsic;
procedure ipcgive; intrinsic;
procedure ipcrecv; intrinsic;
procedure ipcrecvcn; intrinsic;
procedure ipcsend; intrinsic;
procedure ipcshutdown; intrinsic;
(******************)
(* Program start *)
(******************)
begin
writeln ('*** Program nmipc1 : X25 features test program ***');
(***************************** IPCCREATE ********************************)
(* initialize opt array entry *)
initopt ( opt, 2, result16 );
if result16 <> 0 then