1 06/04/80  dsmd_
  2 
  3 Function:  This is the subroutine interface to Multics Relational Data Store
  4 (MRDS) data submodels.  It allows retrieving information about the submodel
  5 definition.
  6 
  7 
  8 Notes for dsmd_:  This entry is obsolete, see msmi_
  9 
 10 
 11 Entry points in dsmd_:
 12 
 13 
 14 :Entry:close_dsm:  05/16/80  dsmd_$close_dsm
 15 
 16 Syntax:
 17 call dsmd_$close_dsm (code) ;
 18 dcl dsmd_$close_dsm entry (fixed bin (35)) ;
 19 
 20 
 21 Notes:  Code is the standard status code.  It will return
 22 mrds_error_$incorrect_dsmd_seq if the submodel was not open.
 23 
 24 
 25 
 26 :Entry:get_dsm_header:  05/16/80  dsmd_$get_dsm_header
 27 
 28 Syntax:
 29 call dsmd_$get_dsm_header (area_ptr, hd_ptr, code) ;
 30 dcl dsmd_$get_dsm_header entry (ptr, ptr, fixed bin (35)) ;
 31 
 32 
 33 Notes:  The area_ptr points to a user defined area in which the header
 34 structure will be allocated.
 35 
 36 The hd_ptr points to the header information structure being returned.
 37 
 38 Code is the standard status code.
 39 
 40 The header structure is declared as follows:
 41 
 42 dcl 1 dsm_header_record based,
 43     2 dsm_generator_version fixed bin init (1),
 44     2 date_time_generated fixed bin (71),
 45     2 database_pn char (168),
 46     2 name char (32),
 47     2 num_of_relations fixed bin (35),
 48     2 creator_id char (32);
 49 
 50 
 51 
 52 :Entry:get_dsm_relations:  05/16/80  dsmd_$get_dsm_relations
 53 
 54 Syntax:
 55 call dsmd_$get_dsm_relations (area_ptr, drel_ptr, code) ;
 56 dcl dsmd_$get_dsm_relations entry (ptr, ptr, fixed bin (35)) ;
 57 
 58 
 59 Notes:  The area_ptr points to a user defined area in which the relation
 60 information structure will be allocated.
 61 
 62 The drel_ptr points the relation information structure that will be returned.
 63 
 64 Code is the standard system status code.
 65 
 66 The relation information structure is declared as follows:
 67 
 68 dcl 1 dsm_display_rels based (drel_ptr),
 69     2 nrels fixed bin,
 70     2 relation (nrels_alloc refer (dsm_display_rels.nrels)) char (32);
 71 
 72 
 73 
 74 :Entry:get_relation:  05/16/80  dsmd_$get_relation
 75 
 76 Syntax:
 77 call dsmd_$get_relation (submodel_relation_name, area_ptr, str_ptr, code) ;
 78 dcl dsmd_$get_relation entry (char(*), ptr, ptr, fixed bin (35)) ;
 79 
 80 
 81 Notes:  The submodel relation name is the char (32) name of the relation, as
 82 known in the submodel.
 83 
 84 The area_ptr points to a user defined area in which to allocate the attribute
 85 information structure.
 86 
 87 The str_ptr points to the attribute information structure that is being
 88 returned.
 89 
 90 Code is the standard system status code.  It will return error_table_$no_record
 91 if no relation by the given name was found in the submodel, or
 92 mrds_error_$incorrect_dsmd_seq, if the submodel was not open.
 93 
 94 The attribute information structure is declared as follows:
 95 
 96 dcl 1 dsm_relation_str based,
 97     2 key,
 98       3 submodel_rel_name char (32),
 99     2 record,
100       3 model_rel_name char (32),
101       3 no_attributes fixed bin,
102       3 attribute_info (dsm_num_attr_alloc refer (no_attributes)),
103         4 submodel_att_name char (32),
104         4 model_att_name char (32);
105 
106 
107 
108 :Entry:open_dsm_read:  05/16/80  dsmd_$open_dsm_read
109 
110 Syntax:
111 call dsmd_$open_dsm_read (submodel_path, code) ;
112 dcl dsmd_$open_dsm_read entry (char (*), fixed bin(35)) ;
113 
114 
115 Notes:  Submodel_path is the relative pathname of the submodel to be opened.
116 
117 Code is the standard status code.  it will return error_table_$no_entry if the
118 path entry given does not exist, mrds_error_$not_dsm if the path does not point
119 to a mrds submodel, or mrds_error_$incorrect_dsmd_seq if the submodel was not
120 in a closed state.
121 
122 
123