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

Chapter 4 165
NetIPC Examples
Example 4
Program 4B (SNMIPC2)
(************************************************************************}
(* This program pair, SNMIPC1 and SNMIPC2, tests X25 features including:*)
(* *)
(* 1. Call User Data up to 128 bytes *)
(* 2. fast select *)
(* 3. special facilities *)
(* 4. catch all socket *)
(* 5. transfer of 2000 bytes packet *)
(* 6. no address flag *)
(* 7. deferred connection acceptance *)
(* 8. display calling node's x25 address *)
(* *)
(* Since this program uses the catch all socket, the NA capability is *)
(* required. *)
(* To compile in Native Mode, compile with "pasxl SNMIPC2,,$null" and *)
(* link with "link $oldpass, NMIPC2". Run NMIPC1 before running NMIPC2.*)
(* *)
(* CONFIGURATION ENVIRONMENT : *)
(* Network Name : DIRECT *)
(* Facility Name : FACFULL (contains Fast Select flag) *)
(* SVCPATH : POOL with IO security *)
(* X25 address : doesn't matter *)
(* No Network Directory entries needed. *)
(* *)
(************************************************************************)
$stats off$ (* compiler option *)
$statement_number on$
$code_offsets on$
$tables on$
$lines 120$
$standard_level 'hp_modcal'$
$type_coercion 'conversion'$
program nmipc2 (input,output);
TYPE
byte = 0..255; (* this is one byte long *)
bit4 = 0..15; (* this is one nibble long *)
shortint = -32768..32767; (* this is two bytes long *)
CONST
X25 = 2; (* X25 lever III protocol *)
CUD_MAX = 128; (* number byte of CUD *)
SOCK_ADDR = 32000; (* socket's address *)
VAR
sd_remote: integer; (* remote socket descriptor *)
cd_remote: integer; (* remote connection descriptor *)