Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide
I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development 
Guide—109759 3-45
CI Communications
Frame Services 
The frame transmits CI messages and sets timeout intervals for the command thread.
To request a frame service, such as CI communication, the command thread calls a 
library procedure and eventually returns to the frame to wait for the event signaling the 
completion of the service.  
The frame generates a service completion event (_EV^IODONE or _EV^TIMEOUT) at 
the completion of each service and then redispatches the thread.
The thread can initiate more than one service request before returning to the frame.
CI Communications
Communicating with a CI involves the following steps:
1. Declaring a global pointer to a structure (defined by the template _CI^DEF) for each 
CI with which your I process communicates. 
2. Retrieving CI configuration parameters from the DSNM configuration by calling 
_ADD^CI in your _STARTUP procedure. The frame uses this information when it 
opens a CI for communication.  _ADD^CI allocates the memory for, fills in, and 
returns a pointer to the _CI^DEF-defined structure.
3. Declaring a CIID structure with _CI^ID in which information about an open CI is 
stored.  (You may also find it convenient to declare an extended pointer to that 
structure with _CI^IDPOINTER.)
4. Opening the CI for communication (_OPEN^CI).
5. Sending request buffer(s) to the CI (_SEND^CI).
6. Terminating the CI communication (_CLOSE^CI).
The CI Configuration Structure: _CI^DEF
_CI^DEF is a template for a CI configuration structure that is filled in by the _ADD^CI 
procedure. You declare an extended pointer to the structure in globals; for example:
INT .EXT ci^config (_CI^DEF); 
Note. The _CI^DEF-defined CI configuration structure plays a role in command thread CI 
communications analogous to file name in NonStop Kernel interprocess communications. A CI 
is identified by its CI configuration name.










