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 ] );