1 /* BEGIN INCLUDE FILE mrds_open_name_element.incl.pl1 - - Jim Gray 81-02-06 */ 2 3 /* HISTORY: 4 5 81-02-06 Jim Gray : originally created for the mu_open_name_manager 6 entry list_all_open_names 7 8 */ 9 10 /* DESCRIPTION: 11 12 This structure refers to one element in a singly linked list 13 of open names for the process. The name list is in collating sequence 14 order, and the open type is given along with the open name, and it's length. 15 The pointer passed back in the list_all_open_names entry points to the 16 first in the name list, by setting mrds_open_name_element_ptr 17 to this, the name can be obtained. Then using mrds_open_name_elem.next, 18 the next in the list can be seen, until next is a null pointer indicating end of list. 19 The open name uniqueness is determined by pl1 comparison rules. 20 21 */ 22 23 24 declare 1 mrds_open_name_element aligned based (mrds_open_name_element_ptr), 25 2 version fixed bin, /* structure version */ 26 2 next ptr, /* points to next in the singly linked list of names, 27 this will be null if no more names appear after this one */ 28 2 name_length fixed bin (24), /* length of the open name */ 29 2 model_pointer ptr, /* pointer to a model/submodel or resultant model, 30 depending on the opening type */ 31 2 open_type char (1) unal, /* "r" => opening of a database via equivalent of dsl_ 32 "s" => opening of a submodel via equivalent of dsmd_ (msmi_) 33 "m" => opening of a model via equivalent of dmd_ (mmi_) */ 34 2 mbz char (3) unal, 35 2 open, 36 3 name char (mrds_open_name_element_length_init 37 refer (mrds_open_name_element.name_length)) ; /* the name for this particualr opening instance */ 38 39 40 declare mrds_open_name_element_ptr ptr ; 41 42 declare mrds_open_name_element_length_init fixed bin (24) ; 43 44 declare mrds_open_name_element_structure_version fixed bin int static init (1) options (constant) ; 45 46 /* END INCLUDE FILE mrds_open_name_element.incl.pl1 */