06/03/80 dmd_ Function: This is a subroutine interface to the data model portion of a Multics Relation Data Store (MRDS) database. Databases can be created, and information retrieved about the structure of the resulting data model. Notes for dmd_: This entry is obsolete, see mmi_ Entry points in dmd_: :Entry:close_dm: 05/15/80 dmd_$close_dm Syntax: call dmd_$close_dm (data_model_ptr, code) ; dcl dmd_$close_dm entry (ptr, fixed bin (35)) ; Notes: Data_mode_ptr is the pointer returned from the call to dmd_$open_dm. Code is the standard status code. :Entry:create_db: 05/14/80 dmd_$create_db Syntax: call dmd_$create_db ("source_path", {"db_path",} {"-list",} {"-temp_dir", "temp_dir_path",} code) ; dcl dmd_$create_db entry options(variable) ; Notes: Since create_mrds_db was written for command level, some of its error codes do not provide much detail, therefore the -list option should be used to provide full information. The arguments are to be character strings, identical to those given at command level except for the error code, which is fixed bin (35), in which is returned the first error encountered. If -temp_dir is used, temp_dir_path should be a separate character string argument. :Entry:get_attributes: 05/15/80 dmd_$get_attributes Syntax: call dmd_$get_attributes (data_model_ptr, relation_name, area_ptr, rd_ptr, code) ; dcl dmd_$get_attributes entry (ptr, char (32), ptr, ptr, fixed bin (35)) ; Notes: Data_model_ptr is the pointer returned from the call to dmd_$open_dm. Relation name specifies the relation for which attribute information is desired. Area_ptr points to a user defined area in which the attribute information structure will be allocated. The rd_ptr points to the allocated attribute information structure. Code is the standard status code. The attribute information structure is declared as follows: dcl 1 rel_desc based (rd_ptr), 2 num_attr fixed bin, 2 key_length fixed bin (35), 2 data_length fixed bin (35), 2 num_keys fixed bin, 2 inversion bit (1) unal, 2 reserved bit (35) unal, 2 attributes (num_attr_alloc refer (rel_desc.num_attr)), 3 attribute_name char (32), 3 domain_name char (32), 3 bit_offset bit (18) unaligned, 3 bit_length bit (18) unaligned, 3 key_flag bit (1) unaligned, 3 inver_flag bit (1) unaligned, 3 unused bit (34) unaligned, 3 key_attr_order fixed bin, 3 descriptor bit (36); :Entry:get_header: 05/15/80 dmd_$get_header Syntax: call dmd_$get_header (data_model_ptr, area_ptr, dmh_ptr, code) ; dcl dmd_$get_header entry (ptr, ptr, ptr, fixed bin (35)) ; Notes: Data_model_ptr is the pointer returned by dmd_$open_dm. The area_ptr points to a user defined area in which the header structure is to be allocated. The dmh_ptr points to the allocated header structure. Code is the standard system status code. The header information structure is declared as follows: dcl 1 dm_header based (dmh_ptr), 2 dm_header_id char (8), 2 dmd_version fixed bin, 2 creator_id char (32), 2 create_time fixed bin (71); :Entry:get_relations: 05/15/80 dmd_$get_relations Syntax: call dmd_$get_relations (data_model_ptr, area_ptr, mr_ptr, code) ; dcl dmd_$get_relations entry(ptr, ptr, fixed bin (35)) ; Notes for get_relations: Data_model_ptr is the pointer returned by dmd_$open_dm. The area_ptr points to a user defined area in which the relation information structure will be allocated. The mr_ptr points to the allocated relation information structure. Code is the standard status code. The relation information structure is declared as follows: dcl 1 model_relations based (mr_ptr), 2 nrels fixed bin (10), 2 relation_name (num_rels_alloc refer (model_relations.nrels)) char (32); :Entry:open_dm: 05/15/80 dmd_$open_dm Syntax: call dmd_$open_dm (database_path, mode, data_model_ptr, code) ; dcl dmd_$open_dm entry (char (168), fixed bin, ptr, fixed bin (35)) ; Notes: Database_path is the relative path of the database, with or without the .db suffix. Mode must be 2, for retrieval. Data_model_ptr is a pointer to the data model, used by the data model information retrieval entries. Code is the standard status code. Any number of processes may open a data model. A single user may open a maximum of 64 data models. The user must have read access on the db_model, and on any relation models he plans to access. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved