COMPILATION LISTING OF SEGMENT cv_dmcf Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/08/85 1137.5 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: ^indcom */ 8 9 /* DESCRIPTION: 10* cv_dmcf - command to convert a data management (system) configuration file 11* into table form. although the table will have the suffix "dmct" when 12* installed, the suffix is to be dropped, and the daemon will look for a 13* segment called "dm_system_configuration". 14* 15* Usage: 16* cv_dmcf 17**/ 18 /* HISTORY: 19* 20*Written by M. Pandolf, 03/01/83. 21*Modified: 22*05/29/84 by Lindsey L. Spratt: Changed to use version 2 dm_system_config. 23* Various minor enhancements; use initiate_file_ and 24* terminate_file_, terminate all segments initiated by this command, 25* delete the table segment when exiting due to an error, use 26* suffixed_name_ instead of inline code, make the format standard. 27*12/10/84 by R. Michael Tague: Changed to use ERROR_RETURN in place of com_err_ 28* & ERROR_RETURN, fixed up things a bit. 29**/ 30 /* format: style2,ind3 */ 31 32 cv_dmcf: 33 procedure () options (variable); 34 35 /* START OF DECLARATIONS */ 36 37 /* Automatic */ 38 39 dcl argp pointer; /* ptr to command line arg */ 40 dcl argl fixed bin (21); /* length of command line arg */ 41 dcl code fixed bin (35); /* status code */ 42 dcl dirname char (168); /* dir of config file */ 43 dcl input_entryname char (32); /* name of config file */ 44 dcl output_entryname char (32); /* name of table */ 45 dcl table_segment_was_created 46 bit (1) aligned init ("0"b); 47 dcl bc fixed bin (24); /* bit count of config file */ 48 dcl filep pointer init (null ());/* pointer to config file */ 49 dcl my_area area; /* automatic area file config table */ 50 dcl tablep pointer init (null ());/* pointer to config table */ 51 52 /* Static, External */ 53 54 dcl ( 55 error_table_$translation_failed, 56 error_table_$sameseg, 57 error_table_$unimplemented_version 58 ) fixed bin (35) ext static; 59 60 /* Constant */ 61 62 dcl ME char (32) internal static options (constant) init ("cv_dmcf"); 63 dcl ( 64 INPUT_SUFFIX init ("dmcf"), 65 OUTPUT_SUFFIX init ("dmct") 66 ) char (4) internal static options (constant); 67 68 dcl LONG_ERRORS bit (1) aligned internal static options (constant) init ("1"b); 69 dcl ( 70 FORCE_DELETE init ("1"b), 71 NO_QUERY init ("0"b), 72 NO_DIR init ("0"b), 73 SEG init ("1"b), 74 NO_LINK init ("0"b), 75 CHASE init ("1"b) 76 ) unaligned bit (1) internal static options (constant); 77 dcl (NO_PAD, NO_NL) init ("0"b) bit (1) aligned 78 internal static options (constant); 79 80 /* Based */ 81 82 dcl arg char (argl) based (argp); 83 84 /* Entry */ 85 86 dcl com_err_ entry () options (variable); 87 dcl cu_$arg_list_ptr entry (ptr); 88 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 89 dcl delete_$ptr entry (ptr, bit (36) aligned, char (*), fixed bin (35)); 90 dcl dm_translate_system_config_ 91 entry (ptr, fixed bin (21), bit (1) aligned, ptr, ptr, fixed bin (35)); 92 dcl expand_pathname_$add_suffix 93 entry (char (*), char (*), char (*), char (*), fixed bin (35)); 94 dcl get_wdir_ entry () returns (char (168)); 95 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 96 dcl initiate_file_$create entry (char (*), char (*), bit (*), ptr, bit (1) aligned, fixed bin (24), 97 fixed bin (35)); 98 dcl ioa_$general_rs entry (ptr, fixed bin, fixed bin, char(*), fixed bin(21), bit(1) aligned, bit(1) aligned); 99 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 100 dcl suffixed_name_$new_suffix 101 entry (char (*), char (*), char (*), char (32), fixed bin (35)); 102 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 103 104 /* Builtin */ 105 106 dcl (addr, divide, empty, size, null) 107 builtin; 108 109 /* Conditions */ 110 111 dcl cleanup condition; 112 113 /* END OF DECLARATIONS */ 114 115 116 on cleanup call ERROR_FINISH (); 117 118 call cu_$arg_ptr (1, argp, argl, code); 119 if code ^= 0 120 then 121 call ERROR_RETURN (code, "^/Usage is: cv_dmcf "); 122 123 call expand_pathname_$add_suffix (arg, INPUT_SUFFIX, dirname, input_entryname, code); 124 if code ^= 0 125 then 126 call ERROR_RETURN (code, "Supplied pathname was: ^a.", arg); 127 128 /* try to get a pointer to the config file */ 129 130 call initiate_file_ (dirname, input_entryname, R_ACCESS, filep, bc, code); 131 if filep = null () 132 then 133 call ERROR_RETURN (code, "Error occurred while referencing ^a.", pathname_ (dirname, input_entryname)); 134 135 /* get the config table */ 136 137 call 138 dm_translate_system_config_ (filep, divide (bc, 9, 21, 0), LONG_ERRORS, addr (my_area), dm_system_config_ptr, 139 code); 140 if code ^= 0 141 then 142 call ERROR_RETURN (error_table_$translation_failed); 143 144 if dm_system_config.version ^= DM_CONFIG_VERSION_2 145 then 146 call ERROR_RETURN (error_table_$unimplemented_version, 147 "^/The dm_translate_system_config_ module did not produce the expected 148 version of the dm_system_config structure. 149 The expected version was ""^a"" and the received version was ""^a"".", dm_system_config.version, DM_CONFIG_VERSION_2); 150 /* copy the structure into a segment */ 151 152 call suffixed_name_$new_suffix (input_entryname, INPUT_SUFFIX, OUTPUT_SUFFIX, output_entryname, code); 153 if code ^= 0 154 then 155 call ERROR_RETURN (code, "^/Unable to make the output file name from the input file name."); 156 157 call 158 initiate_file_$create (get_wdir_ (), output_entryname, RW_ACCESS, tablep, table_segment_was_created, (0), code); 159 160 if tablep = null () then 161 call ERROR_RETURN (code, "Unable to create output segment."); 162 else if tablep = filep 163 then 164 call ERROR_RETURN (error_table_$sameseg, "Using the configuration file to store the configuration table."); 165 else 166 tablep -> dm_system_config = dm_system_config_ptr -> dm_system_config; 167 168 call FINISH (); 169 MAIN_RETURN: 170 return; 171 172 FINISH: 173 proc (); 174 if filep ^= null () 175 then call terminate_file_ (filep, 0, TERM_FILE_TERM, code); 176 177 if tablep ^= null () 178 then call terminate_file_ (tablep, size (dm_system_config) * 36, TERM_FILE_TRUNC_BC_TERM, code); 179 end FINISH; 180 181 ERROR_FINISH: 182 proc (); 183 if tablep ^= null () 184 then 185 do; 186 if table_segment_was_created 187 then call delete_$ptr (tablep, FORCE_DELETE || NO_QUERY || NO_DIR || SEG || NO_LINK || CHASE, ME, code); 188 else call terminate_file_ (tablep, 0, TERM_FILE_TERM, code); 189 tablep = null (); 190 end; 191 call FINISH; 192 193 end ERROR_FINISH; 194 195 ERROR_RETURN: 196 proc () options (variable); 197 dcl er_arg_count fixed bin; 198 dcl er_arg_list_ptr ptr; 199 dcl er_based_error_code fixed bin (35) based; 200 dcl er_code fixed bin (35); 201 dcl 1 er_err_msg_struc, 202 2 length fixed bin (21), 203 2 string char (1024); 204 dcl er_err_msg varying char (1024) 205 based (addr (er_err_msg_struc)); 206 207 call ERROR_FINISH (); 208 call cu_$arg_list_ptr (er_arg_list_ptr); 209 if er_arg_list_ptr -> arg_list.arg_count > 0 then 210 do; 211 if er_arg_list_ptr -> arg_list.arg_count > 2 then 212 call ioa_$general_rs (er_arg_list_ptr, 3, 4, 213 er_err_msg_struc.string, er_err_msg_struc.length, 214 NO_PAD, NO_NL); 215 else 216 er_err_msg = ""; 217 call com_err_ (er_arg_list_ptr -> arg_list.arg_ptrs (1) -> er_based_error_code, ME, er_err_msg); 218 end; 219 goto MAIN_RETURN; 220 end ERROR_RETURN; 221 222 /* Include Files */ 223 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 224 225 2 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 2 2* 2 3* James R. Davis 10 May 79 */ 2 4 2 5 dcl 1 arg_list aligned based, 2 6 2 header, 2 7 3 arg_count fixed bin (17) unsigned unal, 2 8 3 pad1 bit (1) unal, 2 9 3 call_type fixed bin (18) unsigned unal, 2 10 3 desc_count fixed bin (17) unsigned unal, 2 11 3 pad2 bit (19) unal, 2 12 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 2 13 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 2 14 2 15 2 16 2 17 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 2 18 2 header, 2 19 3 arg_count fixed bin (17) unsigned unal, 2 20 3 pad1 bit (1) unal, 2 21 3 call_type fixed bin (18) unsigned unal, 2 22 3 desc_count fixed bin (17) unsigned unal, 2 23 3 pad2 bit (19) unal, 2 24 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 2 25 2 envptr ptr, 2 26 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 2 27 2 28 2 29 dcl ( 2 30 Quick_call_type init (0), 2 31 Interseg_call_type init (4), 2 32 Envptr_supplied_call_type 2 33 init (8) 2 34 ) fixed bin (18) unsigned unal int static options (constant); 2 35 2 36 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 2 37* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 2 38* an argument list of the proper size in the user's stack 2 39* 2 40**/ 2 41 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 226 227 3 1 /* BEGIN INCLUDE FILE dm_system_config.incl.pl1 */ 3 2 3 3 /* format: style4,indattr,ifthenstmt,ifthen,^indcomtxt,idind33 */ 3 4 3 5 /* DESCRIPTION: 3 6* This is the structure of the data in a Data Management configuration 3 7* file. The configuration data is used during Data Management per-system 3 8* initialization to override hardcoded default in dm_system_data_ and 3 9* give the disposition of old bootloads. This table is created at runtime 3 10* via a call to dm_translate_system_config_ subroutine. 3 11* 3 12* NOTE: only the data in the dm_system_config_info structure is used 3 13* to generate the checksum; the dm_system_config structure is used to 3 14* overlay the segment containing the configuration data, including the 3 15* lock and checksum cells. 3 16**/ 3 17 /* HISTORY: 3 18*Written by M. Pandolf, 12/06/82. 3 19*Modified: 3 20*03/14/83 by M. Pandolf: for single AIM class structure and more items. 3 21*03/28/83 by M. Pandolf: for default default_bj and log_terms. 3 22*05/04/83 by L. A. Newcomb: Added new element, recovery_check_mode, and 3 23* changed the version and most character values to "char (8)"'s for 3 24* ease of use. A string of 8 blanks is no longer a valid value for 3 25* any of the char strings. 3 26*06/09/83 by L. A. Newcomb: moved lock to just before checksum so we can 3 27* correctly determine checksum without the lock in the way. 3 28*05/29/84 by Lindsey L. Spratt: Changed to version 2. Removed various cells 3 29* which are not used; first_boot, trace_stack_mode, max_n_bj and 3 30* subsystem_disposition (to enable/disable bjm, tm or lm). 3 31*06/12/84 by Lindsey L. Spratt: Added the shutdown_delay cell. 3 32**/ 3 33 3 34 dcl dm_system_config_ptr pointer; 3 35 3 36 dcl 1 dm_system_config aligned based (dm_system_config_ptr), 3 37 2 information like dm_system_config_info, 3 38 /* NEXT MUST NOT BE IN CHECKSUM VALUE */ 3 39 2 lock bit (36) aligned, /* to prevent installations during initialization */ 3 40 2 checksum fixed bin (35); /* for error detection */ 3 41 3 42 dcl 1 dm_system_config_info aligned based (dm_system_config_ptr), 3 43 2 version char (8) aligned, /* = DM_CONFIG_VERSION_2 */ 3 44 2 idle_timeout fixed bin, /* max time daemon will remain idle before wakeup */ 3 45 2 shutdown_delay fixed bin (71), /* Default time offset from issuing shutdown warning to forcing user shutdown */ 3 46 2 log_proc_terms bit (1) aligned, /* true if process terminations to be logged */ 3 47 2 max_n_txn fixed bin, /* found in the data segment */ 3 48 2 max_n_proc fixed bin, /* dm_system_data_ */ 3 49 2 default_bj_size fixed bin, /* size of before journal made by daemon */ 3 50 2 default_bj aligned, 3 51 3 dir char (168), /* dir containing default before journal */ 3 52 3 entry char (32), /* entryname of default before journal */ 3 53 2 prev_dm_disp aligned, /* what to do with old botload */ 3 54 3 adopt char (8), /* DM_ADOPT_OLD_BOOTLOAD | DM_DO_NOT_ADOPT_OLD_BOOTLOAD */ 3 55 3 hold char (8), /* DM_HOLD_OLD_BOOTLOAD_DIRECTORY | */ 3 56 /* DM_DO_NOT_HOLD_OLD_BOOTLOAD_DIRECTORY */ 3 57 3 recover char (8), /* DM_RECOVER_OLD_BOOTLOAD | */ 3 58 /* DM_DO_NOT_RECOVER_OLD_BOOTLOAD */ 3 59 3 recovery_check_mode char (8), /* DM_RECOVERY_CHECK_MODE_ON | DM_RECOVERY_CHECK_MODE_OFF */ 3 60 2 curr_dm_enable char (8); /* DM_FORCE_ENABLE_NEW_BOOTLOAD | */ 3 61 /* DM_DO_NOT_FORCE_ENABLE_NEW_BOOTLOAD */ 3 62 3 63 dcl ( /* all the "char (8) aligned" constants */ 3 64 DM_CONFIG_VERSION_2 init ("dmcnfg_2"), 3 65 3 66 DM_ADOPT_OLD_BOOTLOAD init ("adopt"), 3 67 DM_DO_NOT_ADOPT_OLD_BOOTLOAD init ("no_adopt"), 3 68 3 69 DM_FORCE_ENABLE_NEW_BOOTLOAD init ("fc_enabl"), 3 70 DM_DO_NOT_FORCE_ENABLE_NEW_BOOTLOAD init ("no_enabl"), 3 71 3 72 DM_HOLD_OLD_BOOTLOAD_DIRECTORY init ("hold"), 3 73 DM_DO_NOT_HOLD_OLD_BOOTLOAD_DIRECTORY init ("no_hold"), 3 74 3 75 DM_RECOVER_OLD_BOOTLOAD init ("do_recov"), 3 76 DM_DO_NOT_RECOVER_OLD_BOOTLOAD init ("no_recov"), 3 77 3 78 DM_RECOVERY_CHECK_MODE_ON init ("rcvck_on"), 3 79 DM_RECOVERY_CHECK_MODE_OFF init ("rcvck_of") 3 80 3 81 ) char (8) aligned internal static options (constant); 3 82 3 83 /* END INCLUDE FILE dm_system_config.incl.pl1 */ 228 229 4 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 4 2 /* format: style2,^inddcls,idind32 */ 4 3 4 4 declare 1 terminate_file_switches based, 4 5 2 truncate bit (1) unaligned, 4 6 2 set_bc bit (1) unaligned, 4 7 2 terminate bit (1) unaligned, 4 8 2 force_write bit (1) unaligned, 4 9 2 delete bit (1) unaligned; 4 10 4 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 4 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 4 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 4 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 4 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 4 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 4 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 4 18 4 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 230 231 end cv_dmcf; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/08/85 1128.0 cv_dmcf.pl1 >spec>on>41-15>cv_dmcf.pl1 224 1 04/08/85 1113.3 access_mode_values.incl.pl1 >spec>on>41-15>access_mode_values.incl.pl1 226 2 10/23/81 1948.6 arg_list.incl.pl1 >ldd>include>arg_list.incl.pl1 228 3 01/07/85 0859.9 dm_system_config.incl.pl1 >ldd>include>dm_system_config.incl.pl1 230 4 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. CHASE constant bit(1) initial unaligned dcl 69 ref 186 DM_CONFIG_VERSION_2 000002 constant char(8) initial dcl 3-63 set ref 144 144* FORCE_DELETE constant bit(1) initial unaligned dcl 69 ref 186 INPUT_SUFFIX 000007 constant char(4) initial unaligned dcl 63 set ref 123* 152* LONG_ERRORS 000005 constant bit(1) initial dcl 68 set ref 137* ME 000010 constant char(32) initial unaligned dcl 62 set ref 186* 217* NO_DIR constant bit(1) initial unaligned dcl 69 ref 186 NO_LINK constant bit(1) initial unaligned dcl 69 ref 186 NO_NL 000046 constant bit(1) initial dcl 77 set ref 211* NO_PAD 000046 constant bit(1) initial dcl 77 set ref 211* NO_QUERY constant bit(1) initial unaligned dcl 69 ref 186 OUTPUT_SUFFIX 000006 constant char(4) initial unaligned dcl 63 set ref 152* RW_ACCESS 000004 constant bit(3) initial unaligned dcl 1-11 set ref 157* R_ACCESS 000005 constant bit(3) initial unaligned dcl 1-11 set ref 130* SEG constant bit(1) initial unaligned dcl 69 ref 186 TERM_FILE_TERM 000001 constant bit(3) initial unaligned dcl 4-14 set ref 174* 188* TERM_FILE_TRUNC_BC_TERM 000000 constant bit(3) initial unaligned dcl 4-15 set ref 177* addr builtin function dcl 106 ref 137 137 215 217 arg based char unaligned dcl 82 set ref 123* 124* arg_count based fixed bin(17,0) level 3 packed unsigned unaligned dcl 2-5 ref 209 211 arg_list based structure level 1 dcl 2-5 arg_ptrs 2 based pointer array level 2 dcl 2-5 ref 217 argl 000102 automatic fixed bin(21,0) dcl 40 set ref 118* 123 123 124 124 argp 000100 automatic pointer dcl 39 set ref 118* 123 124 bc 000177 automatic fixed bin(24,0) dcl 47 set ref 130* 137 137 cleanup 002204 stack reference condition dcl 111 ref 116 code 000103 automatic fixed bin(35,0) dcl 41 set ref 118* 119 119* 123* 124 124* 130* 131* 137* 140 152* 153 153* 157* 160* 174* 177* 186* 188* com_err_ 000016 constant entry external dcl 86 ref 217 cu_$arg_list_ptr 000020 constant entry external dcl 87 ref 208 cu_$arg_ptr 000022 constant entry external dcl 88 ref 118 delete_$ptr 000024 constant entry external dcl 89 ref 186 dirname 000104 automatic char(168) unaligned dcl 42 set ref 123* 130* 131* 131* divide builtin function dcl 106 ref 137 137 dm_system_config based structure level 1 dcl 3-36 set ref 165* 165 177 dm_system_config_info based structure level 1 dcl 3-42 dm_system_config_ptr 002212 automatic pointer dcl 3-34 set ref 137* 144 144 165 177 dm_translate_system_config_ 000026 constant entry external dcl 90 ref 137 empty builtin function dcl 106 ref 49 er_arg_list_ptr 000100 automatic pointer dcl 198 set ref 208* 209 211 211* 217 er_based_error_code based fixed bin(35,0) dcl 199 set ref 217* er_err_msg based varying char(1024) dcl 204 set ref 215* 217* er_err_msg_struc 000102 automatic structure level 1 unaligned dcl 201 set ref 215 217 error_table_$sameseg 000012 external static fixed bin(35,0) dcl 54 set ref 162* error_table_$translation_failed 000010 external static fixed bin(35,0) dcl 54 set ref 140* error_table_$unimplemented_version 000014 external static fixed bin(35,0) dcl 54 set ref 144* expand_pathname_$add_suffix 000030 constant entry external dcl 92 ref 123 filep 000200 automatic pointer initial dcl 48 set ref 48* 130* 131 137* 162 174 174* get_wdir_ 000032 constant entry external dcl 94 ref 157 157 header based structure level 2 dcl 2-5 information based structure level 2 dcl 3-36 initiate_file_ 000034 constant entry external dcl 95 ref 130 initiate_file_$create 000036 constant entry external dcl 96 ref 157 input_entryname 000156 automatic char(32) unaligned dcl 43 set ref 123* 130* 131* 131* 152* ioa_$general_rs 000040 constant entry external dcl 98 ref 211 length 000102 automatic fixed bin(21,0) level 2 dcl 201 set ref 211* my_area 000202 automatic area(1024) dcl 49 set ref 49* 137 137 null builtin function dcl 106 ref 48 50 131 160 174 177 183 189 output_entryname 000166 automatic char(32) unaligned dcl 44 set ref 152* 157* pathname_ 000042 constant entry external dcl 99 ref 131 131 size builtin function dcl 106 ref 177 string 1 000102 automatic char(1024) level 2 packed unaligned dcl 201 set ref 211* suffixed_name_$new_suffix 000044 constant entry external dcl 100 ref 152 table_segment_was_created 000176 automatic bit(1) initial dcl 45 set ref 45* 157* 186 tablep 002202 automatic pointer initial dcl 50 set ref 50* 157* 160 162 165 177 177* 183 186* 188* 189* terminate_file_ 000046 constant entry external dcl 102 ref 174 177 188 version based char(8) level 3 dcl 3-36 set ref 144 144* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 DM_ADOPT_OLD_BOOTLOAD internal static char(8) initial dcl 3-63 DM_DO_NOT_ADOPT_OLD_BOOTLOAD internal static char(8) initial dcl 3-63 DM_DO_NOT_FORCE_ENABLE_NEW_BOOTLOAD internal static char(8) initial dcl 3-63 DM_DO_NOT_HOLD_OLD_BOOTLOAD_DIRECTORY internal static char(8) initial dcl 3-63 DM_DO_NOT_RECOVER_OLD_BOOTLOAD internal static char(8) initial dcl 3-63 DM_FORCE_ENABLE_NEW_BOOTLOAD internal static char(8) initial dcl 3-63 DM_HOLD_OLD_BOOTLOAD_DIRECTORY internal static char(8) initial dcl 3-63 DM_RECOVERY_CHECK_MODE_OFF internal static char(8) initial dcl 3-63 DM_RECOVERY_CHECK_MODE_ON internal static char(8) initial dcl 3-63 DM_RECOVER_OLD_BOOTLOAD internal static char(8) initial dcl 3-63 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 Envptr_supplied_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 2-29 Interseg_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 2-29 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 Quick_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 2-29 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial unaligned dcl 4-12 TERM_FILE_DELETE internal static bit(5) initial unaligned dcl 4-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial unaligned dcl 4-16 TERM_FILE_TRUNC internal static bit(1) initial unaligned dcl 4-11 TERM_FILE_TRUNC_BC internal static bit(2) initial unaligned dcl 4-13 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 arg_list_with_envptr based structure level 1 dcl 2-17 er_arg_count automatic fixed bin(17,0) dcl 197 er_code automatic fixed bin(35,0) dcl 200 terminate_file_switches based structure level 1 packed unaligned dcl 4-4 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_FINISH 001122 constant entry internal dcl 181 ref 116 207 ERROR_RETURN 001242 constant entry internal dcl 195 ref 119 124 131 140 144 153 160 162 FINISH 001025 constant entry internal dcl 172 ref 168 191 MAIN_RETURN 001023 constant label dcl 169 ref 219 cv_dmcf 000234 constant entry external dcl 32 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1630 1700 1362 1640 Length 2162 1362 50 246 245 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cv_dmcf 1325 external procedure is an external procedure. on unit on line 116 64 on unit FINISH 84 internal procedure is called by several nonquick procedures. ERROR_FINISH 84 internal procedure is called by several nonquick procedures. ERROR_RETURN 360 internal procedure is declared options(variable). STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME ERROR_RETURN 000100 er_arg_list_ptr ERROR_RETURN 000102 er_err_msg_struc ERROR_RETURN cv_dmcf 000100 argp cv_dmcf 000102 argl cv_dmcf 000103 code cv_dmcf 000104 dirname cv_dmcf 000156 input_entryname cv_dmcf 000166 output_entryname cv_dmcf 000176 table_segment_was_created cv_dmcf 000177 bc cv_dmcf 000200 filep cv_dmcf 000202 my_area cv_dmcf 002202 tablep cv_dmcf 002212 dm_system_config_ptr cv_dmcf THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other return tra_ext enable ext_entry int_entry empty THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_list_ptr cu_$arg_ptr delete_$ptr dm_translate_system_config_ expand_pathname_$add_suffix get_wdir_ initiate_file_ initiate_file_$create ioa_$general_rs pathname_ suffixed_name_$new_suffix terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$sameseg error_table_$translation_failed error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 32 000233 45 000241 48 000242 49 000244 50 000247 116 000251 118 000273 119 000312 123 000333 124 000367 130 000417 131 000454 137 000523 140 000551 144 000564 152 000620 153 000647 157 000670 160 000741 162 000765 165 001012 168 001017 169 001023 172 001024 174 001032 177 001064 179 001120 181 001121 183 001127 186 001134 188 001203 189 001230 191 001233 193 001240 195 001241 207 001247 208 001254 209 001263 211 001266 215 001334 217 001335 219 001357 ----------------------------------------------------------- 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