1 /* BEGIN INCLUDE FILE mrds_open_name.incl.pl1 - - Jim Gray 81-02-04 */ 2 3 /* HISTORY: 4 5 81-02-04 Jim Gray : originally written for the new mrds_open_name_manager routine 6 7 */ 8 9 /* DESCRIPTION: 10 11 This structure is an element in "in order" binary tree 12 of names that the user has given in a call to a model/submodel opening 13 routine, which he can use in future references to that opening. 14 It associates that user name with information needed internally 15 by MRDS to properly reference the particular opening involved. 16 The opening could have been made by the equivalent 17 of one of dmd_, dsmd_, or dsl_$open. 18 19 */ 20 21 22 declare 1 mrds_open_name aligned based (mrds_open_name_ptr), 23 2 version fixed bin, /* version number of this structure */ 24 2 mbz1 bit (36) unal, 25 2 right, 26 3 link ptr, /* pointer to right descendent or thread to successor */ 27 3 thread bit (1) unal, /* on => link is a thread, not a pointer */ 28 3 mbz2 bit (35) unal, 29 2 left, 30 3 link ptr, /* pointer to left descendent or thread to predecessor */ 31 3 thread bit (1) unal, /* on => link is a thread not a pointer */ 32 3 mbz3 bit (35) unal, 33 2 mrds_info, 34 3 opening_type char (1) unal, /* "m" => user opening database model(mmi_) 35 "s" => user opening submodel structure(msmi_) 36 "r" => user opening database(dsl_), for data access */ 37 3 mbz4 char (3) unal, 38 3 model_pointer ptr, /* if model opening, a pointer to the data model 39 if submodel opening, the submodel iocb pointer 40 if database opening, the resultant model pointer */ 41 2 user_info, 42 3 name_length fixed bin (24), /* the length of the users opening reference name */ 43 3 mbz5 bit (36) unal, 44 3 name char (mrds_open_name_length_init refer (mrds_open_name.user_info.name_length)) ; 45 46 47 declare mrds_open_name_ptr ptr ; 48 49 declare mrds_open_name_length_init fixed bin (24) ; 50 51 declare mrds_open_name_structure_version fixed bin int static init (1) options (constant) ; 52 53 /* END INCLUDE FILE mrds_open_name.incl.pl1 */