Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide
Command and Response Message Formats
D-4
109759—Distributed Systems Network Management (DSNM) Subsystem Interface
Development Guide
Sample I Process Program Code
Response Message Format
The response message begins with the command message, followed by an error code
(ERROR), a count of response objects (RESPONSE^THINGS), and response object
details in an object-characteristics array (THING):
LITERAL max^response^things = 2;
STRUCT spiffy^response^def (*); ! Response message, which
! contains cmd msg struct
BEGIN
STRUCT cmd (spiffy^command^def);
INT error;
INT response^things;
STRUCT thing (spiffy^thing^def) [0:max^response^things-1];
END;
If an error occurs, an error code is returned in the first response; see “SPIFFY
Subsystem Literal Definitions” later in this section. In this case, there are no response
objects. If the command succeeds, the code COMMAND^DONE (0) is returned, along
with response object(s).
If a TELLABOUT command specifies more objects than can be returned in a single
response, the RESPONSE^CONTEXT field in the response message CMD structure is
set to a nonzero value. In this case, returning the CMD structure exactly as it appears in
the response message causes the next set of response objects to be returned. This
process is repeated until the response message CMD.RESPONSE^CONTEXT is 0,
indicating the return of all objects.
The THING structure returns the characteristics of SPIFFY objects and is the same for
all object types:
STRUCT spiffy^thing^def (*);
BEGIN
INT type; ! object type
INT name^occurs; ! length of object name
STRING name [0:spiffy^name^len-1]; ! object name
INT pop^name^occurs; ! length of name of
! object’s parent
STRING pop^name[0:spiffy^name^len-1]; ! parent name
! For ASSEMBLYs and subordinates
INT state; ! ASSEMBLY state
INT color; ! and other essentials
INT composition;
! For the various REACTOR components
INT(32) temp; ! Degrees Kelvin
INT(32) press; ! MM Hg
INT(32) vol; ! Liters
INT(32) n; ! Number of elements
END;