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

168 Chapter4
NetIPC Examples
Example 4
(* this sets the "no_address" flag; and allows to access 128 bytes of CUD *)
(* with fast select *)
x25_flags[1] := 0; (* X25_flags : 00000000000000001000000000000000 *)
x25_flags[2] := 0;
x25_flags[3] := 64;
x25_flags[4] := 0;
addopt(opt, 0, 144, 4, x25_flags, result16);
if result16 <> 0 then
writeln ('addopt for ipcconnect x25_flag failed',result16);
(* add call_user_data_send *)
for i := 1 to CUD_MAX do
cud[i] := i;
addopt(opt, 1, 2, CUD_MAX, cud, result16);
if result16 <> 0 then
writeln ('addopt for ipcconnect cud failed',result16);
(* add facility name *)
fac_name := 'FACFULL ';
addopt(opt, 2, 142, 8, fac_name, result16);
if result16 <> 0 then
writeln('addopt for facility name failed ',result16);
(* add some special facilities *)
sf[1] := hex('04');
sf[2] := hex('01');
addopt(opt, 3, 145, 2, sf, result16);
if result16 <> 0 then
writeln ('addopt for ipcconnect sf failed',result16);
(* Connect to the local socket using the destination descriptor. *)
writeln;
writeln ('##### IPCCONNECT');
ipcconnect ( sd_remote, dd, , opt, cd_remote, result );
if result <> 0 then
writeln ('ipcconnect failed ', result );
(****************************** IPCRECV *****************************)
initopt(opt, 2, result16);
if result16 <> 0 then
writeln('initopt for ipcrecv failed');
for i := 1 to CUD_MAX do
cud[i] := 0;
optlen := CUD_MAX;
addopt(opt, 0, 5, optlen, cud, result16);
if result16 <> 0 then
writeln('addopt IPCRECV cud failed ', result16:1);
for i := 1 to 50 do
sf[i] := 0;