Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide

I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development
Guide109759 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.