[INHERIT('sys$library:starlet', 'sys$library:pascal$lib_routines')] PROGRAM Use_Getsyiw(OUTPUT); TYPE Item_List_Cell = RECORD CASE INTEGER OF 1: ( { Normal Cell } Buffer_Length : [WORD] 0..65535; Item_Code : [WORD] 0..65535; Buffer_Addr : UNSIGNED; Return_Addr : UNSIGNED ); 2:( { Terminator } Terminator : UNSIGNED ); END; Item_List_Template(Count:INTEGER) = ARRAY [1..Count] OF Item_List_Cell; VAR Item_List : Item_List_Template(2); Context : UNSIGNED; Nodename : [VOLATILE] VARYING [32] OF CHAR; Status : INTEGER; BEGIN { Return cluster node names in Nodename } Item_List[1].Buffer_Length := SIZE(Nodename.Body); Item_List[1].Item_Code := SYI$_Nodename; Item_List[1].Buffer_Addr := IADDRESS(Nodename.Body); Item_List[1].Return_Addr := IADDRESS(Nodename.Length); { Terminate the item list } Item_List[2].Terminator := 0; { Ask for wildcard scan } Context := -1; REPEAT Status := $getsyiw( Csidadr := Context, Itmlst := Item_List); IF Status <> SS$_NOMORENODE THEN WRITELN(Nodename); UNTIL Status <> SS$_NORMAL; END.