Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide
I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development 
Guide—109759 3-47
CI Communications
Declaring a CIID Structure: _CI^ID
To access a CI, first use _CI^ID to declare a structure, referred to as a “CIID structure.” 
A later call to _OPEN^CI causes information about the CI to be stored in the CIID 
structure. 
ciid is the name (a valid TAL identifier) of the CIID structure by which an open CI 
can be referred. 
Declaring a Pointer to a CIID Structure: _CI^IDPOINTER
Use _CI^IDPOINTER to declare an extended pointer to a CIID structure.
Opening a CI for Communication: _OPEN^CI
_OPEN^CI opens a CI for communication. 
Requesting a CI Communication:  _SEND^CI
The frame sends messages to the CI. Use _SEND^CI to initiate sending a message: 
You must allocate a message buffer large enough to hold the larger of the message and 
its response.  This buffer must be in the command context space or in an allocated list 
member: it cannot be in globals or locals.  If more than one operation is to be 
outstanding (whether on the same or on separate CIs), you should also supply an 
INT(32) tag for the operation, usually a pointer to some identifying data. 
After initiating a request for CI communication, the thread must return to the frame to 
wait for its completion with a RETURN _RC^WAIT.
_CI^ID ( ciid );
Note. The CIID structure plays a role in command thread CI communication analogous to a 
file number in NonStop Kernel interprocess communications. A particular instance of an open 
CI is identified by its ciid in CI communications.
_CI^IDPOINTER ( ciid );
error := _OPEN^CI ( ci-config 
 ,ciid 
 ,[ processname ]
 ,[ nowait-depth ])
error := _SEND^CI ( ciid 
 ,buffer 
 ,write-count 
 ,reply-count
 ,[ context-boolean ]
 ,[ tag ]
 ,[ timeout ] );










