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 */