Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide

I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development
Guide109759 3-25
Declaring a Pointer to a List: _LISTPOINTER
Accessing the First Member of a List: _FIRST^LM
Use _FIRST^LM to retrieve the address of the first member of a list.
Accessing the Last Member of a List: _LAST^LM
Use _LAST^LM to retrieve the address of the last (most recent) member of a list.
Accessing the Next List Member: _SUCCESSOR^LM
Use _SUCCESSOR^LM to retrieve the address of the next list member in first-to-last
(earliest to most-recent) order.
Accessing the Previous List Member: _PREDECESSOR^LM
Use _PREDECESSOR^LM to retrieve the address of the previous list member in first-
to-last (earliest to most-recent) order.
Declaring a Pointer to a List: _LISTPOINTER
Use _LISTPOINTER to declare an extended pointer to a _LIST-generated list structure.
Once a list pointer has been initialized with a list address, it may be used anywhere a
_LIST may be used. For example:
INT .EXT cx(command^context^def) = _THREAD^CONTEXT^ADDRESS;
_LISTPOINTER (outlist) := @cx._OUTPUT.OBJECTLIST;
INT .EXT out^lm (output^lm^def);
.
.
.
IF _ISNULL (@out^lm := _PUT^LM (outlist,,$LEN (out^lm)))
THEN ... <out of memory> ;
.
.
@first-list-member := _FIRST^LM ( list );
@last-list-member := _LAST^LM ( list );
@next-list-member := _SUCCESSOR^LM ( list
,list-member );
@prev-list-member := _PREDECESSOR^LM ( list
,list-member );
_LISTPOINTER ( list );