THIS FILE IS DAMAGED 306 307 308 literal_sn_match: 309 proc (lesp, /** segnames pointer (in ) */ 310 name) /** name to match (in ) */ 311 returns (bit (1)); /** match sw (out) */ 312 313 /*** ****************************************************************/ 314 /*** */ 315 /*** Name: literal_sn_match */ 316 /*** Input: lesp, name */ 317 /*** Function: scans the segname block identified by blockx in */ 318 /*** the segname table for a segname which literally */ 319 /*** matches name. */ 320 /*** Output: match_sw */ 321 /*** */ 322 /*** ****************************************************************/ 323 324 /* parameters */ 325 326 dcl lesp ptr parameter; 327 dcl name char (32) parameter; 328 329 /* based */ 330 331 dcl 01 les aligned based (lesp), 332 02 header aligned like le_segnames.header, 333 02 segname dim (0 refer (les.n_segnames)) 334 like le_segnames.segname; 335 336 /* automatic */ 337 338 dcl s fixed bin automatic; 339 340 /* scan the segname table for a match */ 341 342 do s = 1 to les.n_segnames; 343 if les.segname (s).str = name 344 then return (true); 345 end; 346 347 return (false); 348 349 end literal_sn_match; 350 351 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 352 353 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 354 355 356 star_sn_match: 357 proc (lesp, /** segnames pointer (in ) */ 358 name) /** star name to match (in ) */ 359 returns (bit (1)); /** match sw (out) */ 360 361 /*** ****************************************************************/ 362 /*** */ 363 /*** Name: star_sn_match */ 364 /*** Input: lesp, name */ 365 /*** Function: scans the segname block identified by blockx in */ 366 /*** the segname table for a segname which matches */ 367 /*** the starname name using standard Multics star */ 368 /*** conventions. */ 369 /*** Output: match_sw */ 370 /*** */ 371 /*** ****************************************************************/ 372 373 /* parameters */ 374 375 dcl lesp ptr parameter; 376 dcl name char (32) parameter; 377 378 /* based */ 379 380 dcl 01 les aligned based (lesp), 381 02 header aligned like le_segnames.header, 382 02 segname dim (0 refer (les.n_segnames)) 383 like le_segnames.segname; 384 385 /* automatic */ 386 387 dcl s fixed bin automatic; 388 dcl ec fixed bin (35) automatic; 389 390 /* scan the segname table for a match */ 391 392 do s = 1 to les.n_segnames; 393 call match_star_name_ ((les.segname (s).str), name, ec); 394 if ec = 0 395 then return (true); 396 else if ec ^= error_table_$nomatch 397 then call le_error_ (LE_ABORT_ERROR, le_et_$implementation_error, 398 "^/Bad starname detected during option application."); 399 end; 400 401 return (false); 402 403 end star_sn_match; 404 405 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 406 407 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 408 409 1 1 /**** START OF: le_data.incl.pl1 * * * * * */ 1 2 1 3 /****^ HISTORY COMMENTS: 1 4* 1) change(86-08-12,Elhard), approve(86-08-12,MCR7505), 1 5* audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241): 1 6* Originally written to define the structures used internally by le_. 1 7* END HISTORY COMMENTS */ 1 8 1 9 /*** ****************************************************************/ 1 10 /*** */ 1 11 /*** Name: le_data */ 1 12 /*** Function: This include file defines the data structures */ 1 13 /*** used internally by the linkage_editor subroutine. */ 1 14 /*** */ 1 15 /*** ****************************************************************/ 1 16 1 17 /* error severity constants */ 1 18 1 19 dcl LE_WARNING fixed bin static options (constant) init (1); 1 20 dcl LE_ERROR fixed bin static options (constant) init (2); 1 21 dcl LE_FATAL_ERROR fixed bin static options (constant) init (3); 1 22 dcl LE_ABORT_ERROR fixed bin static options (constant) init (4); 1 23 1 24 /* section identifier constants */ 1 25 1 26 dcl Text fixed bin (3) static options (constant) 1 27 init (0); 1 28 dcl Linkage fixed bin (3) static options (constant) 1 29 init (1); 1 30 dcl Symbol fixed bin (3) static options (constant) 1 31 init (2); 1 32 dcl Definition fixed bin (3) static options (constant) 1 33 init (3); 1 34 dcl Static fixed bin (3) static options (constant) 1 35 init (4); 1 36 dcl System fixed bin (3) static options (constant) 1 37 init (5); 1 38 dcl Heap fixed bin (3) static options (constant) 1 39 init (6); 1 40 1 41 dcl section_nm (0:6) char (16) static options (constant) 1 42 init ("text", "linkage", "symbol", "definition", 1 43 "static", "system", "heap"); 1 44 1 45 /* link type constants */ 1 46 1 47 dcl Self_Base fixed bin (3) static options (constant) 1 48 init (1); 1 49 dcl Refname_Base fixed bin (3) static options (constant) 1 50 init (3); 1 51 dcl Refname_Offsetname fixed bin (3) static options (constant) 1 52 init (4); 1 53 dcl Self_Offsetname fixed bin (3) static options (constant) 1 54 init (5); 1 55 1 56 /* backpatch type constants */ 1 57 1 58 dcl Patch_Link fixed bin static options (constant) init (1); 1 59 dcl Patch_Init fixed bin static options (constant) init (2); 1 60 dcl Patch_Symbol_Ref fixed bin static options (constant) init (3); 1 61 dcl Patch_Self_Init fixed bin static options (constant) init (4); 1 62 1 63 /*** ****************************************************************/ 1 64 /*** */ 1 65 /*** Name: le_components */ 1 66 /*** Function: the component table is used to keep information */ 1 67 /*** about the input components being used and their */ 1 68 /*** disposition in output components. */ 1 69 /*** */ 1 70 /*** ****************************************************************/ 1 71 1 72 dcl 01 le_components aligned based, 1 73 02 header aligned, 1 74 03 flags aligned, 1 75 04 separate_static bit (1) unaligned, 1 76 04 perprocess_static bit (1) unaligned, 1 77 04 mbz bit (34) unaligned, 1 78 03 n_components fixed bin, 1 79 02 comp (0 refer (le_components.n_components)) 1 80 like le_comp; 1 81 1 82 /*** ****************************************************************/ 1 83 /*** */ 1 84 /*** Name: le_comp */ 1 85 /*** Function: this is a single component table entry. */ 1 86 /*** */ 1 87 /*** ****************************************************************/ 1 88 1 89 dcl 01 le_comp aligned based, 1 90 02 segp ptr, 1 91 02 bc fixed bin (24), 1 92 02 uid bit (36) aligned, 1 93 02 dtcm fixed bin (71), 1 94 02 name char (32) varying, 1 95 02 path char (194) varying, 1 96 02 compiler char (8), 1 97 02 target fixed bin, 1 98 02 flags aligned, 1 99 03 library bit (1) unaligned, 1 100 03 include bit (1) unaligned, 1 101 03 delete_table bit (1) unaligned, 1 102 03 separate_static bit (1) unaligned, 1 103 03 io_table bit (1) unaligned, 1 104 03 unique_path bit (1) unaligned, 1 105 03 mbz bit (30) unaligned, 1 106 02 tables aligned, 1 107 03 lesp ptr, 1 108 03 ledp ptr, 1 109 03 lelp ptr, 1 110 02 orig aligned, 1 111 03 textp ptr, 1 112 03 defnp ptr, 1 113 03 linkp ptr, 1 114 03 statp ptr, 1 115 03 symbp ptr, 1 116 03 rel_textp ptr, 1 117 03 rel_symbp ptr, 1 118 03 rel_linkp ptr, 1 119 03 textl fixed bin (18) unsigned unaligned, 1 120 03 defnl fixed bin (18) unsigned unaligned, 1 121 03 linkl fixed bin (18) unsigned unaligned, 1 122 03 statl fixed bin (18) unsigned unaligned, 1 123 03 symbl fixed bin (18) unsigned unaligned, 1 124 03 symbl_no_rel fixed bin (18) unsigned unaligned, 1 125 03 symbl_no_table fixed bin (18) unsigned unaligned, 1 126 03 n_symb_blocks fixed bin (18) unsigned unaligned, 1 127 03 text_boundary fixed bin (9) unsigned unaligned, 1 128 03 static_boundary fixed bin (9) unsigned unaligned, 1 129 03 next_comp fixed bin (18) unsigned unaligned, 1 130 02 new aligned, 1 131 03 rel_text fixed bin (18) unsigned unaligned, 1 132 03 rel_symb fixed bin (18) unsigned unaligned, 1 133 03 rel_stat fixed bin (18) unsigned unaligned, 1 134 03 text_pad fixed bin (18) unsigned unaligned, 1 135 03 static_pad fixed bin (18) unsigned unaligned, 1 136 03 symbol_pad fixed bin (18) unsigned unaligned; 1 137 1 138 /*** ****************************************************************/ 1 139 /*** */ 1 140 /*** Name: le_segnames */ 1 141 /*** Function: the segname table is used for two purposes: */ 1 142 /*** - to determine the target components of links */ 1 143 /*** being resolved internally. */ 1 144 /*** - to determine the segname definitions to be */ 1 145 /*** emited for definitions being retained. */ 1 146 /*** */ 1 147 /*** ****************************************************************/ 1 148 1 149 dcl 01 le_segnames aligned based, 1 150 02 header aligned, 1 151 03 n_segnames fixed bin, 1 152 02 segname (segname_count refer (le_segnames.n_segnames)), 1 153 03 str char (32) varying, 1 154 03 relp fixed bin (18) unsigned unaligned, 1 155 03 pad bit (18) unaligned; 1 156 dcl segname_count fixed bin automatic; 1 157 1 158 /*** ****************************************************************/ 1 159 /*** */ 1 160 /*** Name: le_definitions */ 1 161 /*** Function: the definition table contains the definitions */ 1 162 /*** from the input components and is used to resolve */ 1 163 /*** link targets, and regenerate definition entries */ 1 164 /*** */ 1 165 /*** ****************************************************************/ 1 166 1 167 dcl 01 le_definitions aligned based, 1 168 02 header aligned, 1 169 03 n_defs fixed bin, 1 170 03 pad bit (36), 1 171 02 def (def_count refer (le_definitions.n_defs)) 1 172 like le_definition; 1 173 dcl def_count fixed bin automatic; 1 174 1 175 dcl 01 le_definition aligned based, 1 176 02 str char (256) varying, 1 177 02 type fixed bin (18) unsigned unaligned, 1 178 02 relp fixed bin (18) unsigned unaligned, 1 179 02 offset fixed bin (18) unsigned unaligned, 1 180 02 new_offset fixed bin (18) unsigned unaligned, 1 181 02 flags aligned, 1 182 03 force_retain bit (1) unaligned, 1 183 03 entrypoint bit (1) unaligned, 1 184 03 ignore bit (1) unaligned, 1 185 03 referenced bit (1) unaligned, 1 186 03 no_link bit (1) unaligned, 1 187 03 retain bit (1) unaligned, 1 188 03 delete bit (1) unaligned, 1 189 03 mbz bit (29) unaligned; 1 190 1 191 /*** ****************************************************************/ 1 192 /*** */ 1 193 /*** Name: le_options */ 1 194 /*** Function: the option table contains definition retention */ 1 195 /*** information. The input retentions options are */ 1 196 /*** ordered such that a linear search of the option */ 1 197 /*** table for the first matching starname will give */ 1 198 /*** the correct retention state. */ 1 199 /*** */ 1 200 /*** ****************************************************************/ 1 201 1 202 dcl 01 le_options aligned based, 1 203 02 header aligned, 1 204 03 n_opts fixed bin, 1 205 02 opt (0 refer (le_options.n_opts)), 1 206 03 type fixed bin (8) unaligned, 1 207 03 used bit (1) unaligned, 1 208 03 inhibit_error bit (1) unaligned, 1 209 03 class fixed bin (6) unaligned, 1 210 03 order fixed bin (17) unaligned, 1 211 03 segname char (32) unaligned, 1 212 03 ep_name char (256) unaligned; 1 213 1 214 /*** ****************************************************************/ 1 215 /*** */ 1 216 /*** Name: le_links */ 1 217 /*** Function: the link table contains information on all of the */ 1 218 /*** links in the input components. It is used to */ 1 219 /*** determine link targets, which library components */ 1 220 /*** will be included, and what init_info will be */ 1 221 /*** used, and where it will be placed. */ 1 222 /*** */ 1 223 /*** ****************************************************************/ 1 224 1 225 dcl 01 le_links aligned based, 1 226 02 header aligned, 1 227 03 offset_adjustment fixed bin (18), 1 228 03 n_links fixed bin, 1 229 02 link (link_count refer (le_links.n_links)) 1 230 like le_link; 1 231 dcl link_count fixed bin automatic; 1 232 1 233 dcl 01 le_link aligned based, 1 234 02 flags unaligned, 1 235 03 used bit (1), 1 236 03 mbx bit (35), 1 237 02 type fixed bin (6) unsigned unaligned, 1 238 02 class fixed bin (6) unsigned unaligned, 1 239 02 mod bit (6) unaligned, 1 240 02 exp fixed bin (17) unaligned, 1 241 02 target fixed bin (18) unsigned unaligned, 1 242 02 defx fixed bin (18) unsigned unaligned, 1 243 02 relp fixed bin (18) unsigned unaligned, 1 244 02 target_comp fixed bin (18) unsigned unaligned, 1 245 02 target_link fixed bin (18) unsigned unaligned, 1 246 02 extension fixed bin (18) unsigned unaligned, 1 247 02 initp ptr unaligned, 1 248 02 segnamep ptr unaligned, 1 249 02 offsetp ptr unaligned; 1 250 1 251 /*** ****************************************************************/ 1 252 /*** */ 1 253 /*** Name: le_binaries */ 1 254 /*** Function: This table contains information about the output */ 1 255 /*** binaries. It is primarily used for creation and */ 1 256 /*** backpatching of MSF output. */ 1 257 /*** */ 1 258 /*** ****************************************************************/ 1 259 1 260 dcl 01 le_binaries aligned based, 1 261 02 header aligned, 1 262 03 n_binaries fixed bin, 1 263 03 pad bit (36), 1 264 02 binary (0:0 refer (le_binaries.n_binaries)), 1 265 03 segp ptr, 1 266 03 bc fixed bin (24), 1 267 03 uid bit (36), 1 268 03 aclc fixed bin, 1 269 03 aclp ptr, 1 270 03 textp ptr, 1 271 03 defnp ptr, 1 272 03 linkp ptr, 1 273 03 symbp ptr, 1 274 03 statp ptr, 1 275 03 textl fixed bin (18) unsigned unaligned, 1 276 03 defnl fixed bin (18) unsigned unaligned, 1 277 03 linkl fixed bin (18) unsigned unaligned, 1 278 03 symbl fixed bin (18) unsigned unaligned, 1 279 03 statl fixed bin (18) unsigned unaligned, 1 280 03 mbz2 bit (18) unaligned; 1 281 1 282 /*** ****************************************************************/ 1 283 /*** */ 1 284 /*** Name: le_patches */ 1 285 /*** Function: This table contains the list of backpatches to be */ 1 286 /*** performed when the rest of the object creation is */ 1 287 /*** complete. Since le_backpatch_ is the only routine */ 1 288 /*** concerned with this, it is maintained completely */ 1 289 /*** internal to le_backpatch_. */ 1 290 /*** */ 1 291 /*** ****************************************************************/ 1 292 1 293 dcl 01 le_patches aligned based, 1 294 02 header aligned, 1 295 03 n_patches fixed bin, 1 296 02 patch (0 refer (le_patches.n_patches)) like le_patch; 1 297 1 298 dcl 01 le_patch aligned based, 1 299 02 type fixed bin, 1 300 02 comp fixed bin, 1 301 02 relp fixed bin (18) unsigned, 1 302 02 target fixed bin, 1 303 02 index fixed bin; 1 304 1 305 /**** END OF: le_data.incl.pl1 * * * * * */ 410 2 1 /**** START OF: le_input.incl.pl1 * * * * * */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-08-12,Elhard), approve(86-08-12,MCR7505), 2 5* audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241): 2 6* Orignally written to define the le_ input structures. 2 7* END HISTORY COMMENTS */ 2 8 2 9 /*** ****************************************************************/ 2 10 /*** */ 2 11 /*** Name: le_input */ 2 12 /*** Function: This include file declares the input structure to */ 2 13 /*** to the le_ subroutine. The structure consists of */ 2 14 /*** a set of standard data, and a variable length */ 2 15 /*** array of options. The options have a type field */ 2 16 /*** which specified what the option means. The */ 2 17 /*** options can have the following types: */ 2 18 /*** */ 2 19 /*** PATH - specified a single input component */ 2 20 /*** to be bound in with the object */ 2 21 /*** name - is the name of the component */ 2 22 /*** path_or_ep - is the pathname to the component */ 2 23 /*** this may be an archive component */ 2 24 /*** pathname. */ 2 25 /*** flags - link is used by the le command to */ 2 26 /*** keep track of the pathnames that */ 2 27 /*** were found via links for chase */ 2 28 /*** processing. */ 2 29 /*** bc - is the bit count of the component */ 2 30 /*** optp - is a pointer to the component */ 2 31 /*** */ 2 32 /*** LIBRARY - specifies a single library */ 2 33 /*** component. Library components are */ 2 34 /*** only included if they are referred */ 2 35 /*** to by a PATH component or a library */ 2 36 /*** component that is referenced and */ 2 37 /*** therefor included. */ 2 38 /*** name - same as for PATH. */ 2 39 /*** path_or_ep - same as for PATH. */ 2 40 /*** flags - same as for PATH. */ 2 41 /*** bc - same as for PATH. */ 2 42 /*** optp - same as for PATH. */ 2 43 /*** */ 2 44 /*** ADDNAME - specifies a name to be added to the */ 2 45 /*** bound object. */ 2 46 /*** name - is the name to be added to the */ 2 47 /*** bound unit */ 2 48 /*** */ 2 49 /*** SYNONYM - specifies a synonym to be added to */ 2 50 /*** a particular component. This is */ 2 51 /*** reflected as a segname definition */ 2 52 /*** added to the block for that */ 2 53 /*** component. */ 2 54 /*** name - specifies the name of the component */ 2 55 /*** to which you are adding a name. */ 2 56 /*** path_or_ep - is the name being added */ 2 57 /*** */ 2 58 /*** RETAIN - gives a starname to be used when */ 2 59 /*** determining if a definition should */ 2 60 /*** be retained. If the definition */ 2 61 /*** matches the starname and no more */ 2 62 /*** specific info is given, the name is */ 2 63 /*** retained. */ 2 64 /*** flags - the "inhibit_error" flag indicates */ 2 65 /*** that it is not an error if this */ 2 66 /*** option is unused. */ 2 67 /*** path_or_ep - is the starname to match */ 2 68 /*** */ 2 69 /*** DELETE - gives a starname to be used when */ 2 70 /*** determining if a definition should */ 2 71 /*** be retained. If the definition */ 2 72 /*** matches the starname and no more */ 2 73 /*** specific info is given, the name is */ 2 74 /*** deleted. */ 2 75 /*** flags - the "inhibit_error" flag indicates */ 2 76 /*** that it is not an error if this */ 2 77 /*** option is unused. */ 2 78 /*** path_or_ep - is the starname to match. */ 2 79 /*** */ 2 80 /*** NO_LINK - gives a starname to be used when */ 2 81 /*** determining if a definition should */ 2 82 /*** be retained. If the definition */ 2 83 /*** matches the starname and no more */ 2 84 /*** specific info is given, the name is */ 2 85 /*** retained and references to the */ 2 86 /*** definition within the bound uni */ 2 87 /*** are not resolved but are generated */ 2 88 /*** as external links. */ 2 89 /*** flags - the "inhibit_error" flag indicates */ 2 90 /*** that it is not an error if this */ 2 91 /*** option is unused. */ 2 92 /*** path_or_ep - is the starname to match */ 2 93 /*** */ 2 94 /*** TABLE - specifies that the table for a */ 2 95 /*** particular component is to be */ 2 96 /*** retained. */ 2 97 /*** name - is the name of the component to */ 2 98 /*** which the option applies. If name */ 2 99 /*** is "", this is a global option and */ 2 100 /*** applies to all component for which */ 2 101 /*** a specific option does not exist. */ 2 102 /*** */ 2 103 /*** NO_TABLE - specifies that the table for a */ 2 104 /*** particular component is to be */ 2 105 /*** deleted. */ 2 106 /*** name - is the name of the component to */ 2 107 /*** which the option applies. If name */ 2 108 /*** is "", this is a global option and */ 2 109 /*** applies to all component for which */ 2 110 /*** a specific option does not exist. */ 2 111 /*** */ 2 112 /*** ****************************************************************/ 2 113 2 114 dcl 01 le_input aligned based, 2 115 02 header aligned, 2 116 03 version char (8), 2 117 03 name char (32), 2 118 03 flags aligned, 2 119 04 perprocess_static bit (1) unaligned, 2 120 04 force bit (1) unaligned, 2 121 04 debug bit (1) unaligned, 2 122 04 list bit (1) unaligned, 2 123 04 map bit (1) unaligned, 2 124 04 auto_segnames bit (1) unaligned, 2 125 04 mbz bit (30) unaligned, 2 126 03 output_file unaligned, 2 127 04 dir char (168), 2 128 04 entry char (32), 2 129 03 component_size fixed bin, 2 130 03 display_severity fixed bin, 2 131 03 abort_severity fixed bin, 2 132 03 bindfile aligned, 2 133 04 name char (32), 2 134 04 dt_updated fixed bin (71), 2 135 04 dt_modified fixed bin (71), 2 136 03 pad bit (36), 2 137 03 n_opts fixed bin, 2 138 02 opt dim (0 refer (le_input.n_opts)) like le_option; 2 139 2 140 dcl 01 le_option aligned based, 2 141 02 name char (32) unaligned, 2 142 02 path_or_ep char (194) unaligned, 2 143 02 flags unaligned, 2 144 03 link bit (1), 2 145 03 ignore bit (1), 2 146 03 used bit (1), 2 147 03 inhibit_error bit (1), 2 148 03 mbz bit (5), 2 149 02 type fixed bin (8) unaligned, 2 150 02 bc fixed bin (24), 2 151 02 optp ptr; 2 152 2 153 dcl le_input_version_1 char (8) static options (constant) 2 154 init ("le_ 1.0 "); 2 155 2 156 /* constants for the defined option types */ 2 157 2 158 dcl PATH fixed bin static options (constant) init (1); 2 159 dcl LIBRARY fixed bin static options (constant) init (2); 2 160 dcl ADDNAME fixed bin static options (constant) init (3); 2 161 dcl SYNONYM fixed bin static options (constant) init (4); 2 162 dcl RETAIN fixed bin static options (constant) init (5); 2 163 dcl DELETE fixed bin static options (constant) init (6); 2 164 dcl NO_LINK fixed bin static options (constant) init (7); 2 165 dcl TABLE fixed bin static options (constant) init (8); 2 166 dcl NO_TABLE fixed bin static options (constant) init (9); 2 167 2 168 /**** END OF: le_input.incl.pl1 * * * * * */ 411 412 413 end le_apply_def_options_; 414 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/86 1252.0 le_apply_def_options_.pl1 >special_ldd>install>MR12.0-1241>le_apply_def_options_.pl1 410 1 12/10/86 1248.4 le_data.incl.pl1 >special_ldd>install>MR12.0-1241>le_data.incl.pl1 411 2 12/10/86 1248.7 le_input.incl.pl1 >special_ldd>install>MR12.0-1241>le_input.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. DELETE constant fixed bin(17,0) initial dcl 2-163 ref 127 LE_ABORT_ERROR 000017 constant fixed bin(17,0) initial dcl 1-22 set ref 134* 258* 269* 280* 396* LE_WARNING 000021 constant fixed bin(17,0) initial dcl 1-19 set ref 145* 149* NO_LINK constant fixed bin(17,0) initial dcl 2-164 ref 129 None constant fixed bin(17,0) initial dcl 36 ref 97 102 111 RETAIN constant fixed bin(17,0) initial dcl 2-162 ref 98 111 111 125 145 149 c 000100 automatic fixed bin(17,0) dcl 70 set ref 87* 88 89* class 1(11) based fixed bin(6,0) array level 3 in structure "leo" packed unaligned dcl 211 in procedure "match" ref 229 class 1(11) based fixed bin(6,0) array level 3 in structure "leo" packed unaligned dcl 64 in procedure "le_apply_def_options_" ref 145 149 149 class 000124 automatic label variable initial array dcl 188 in procedure "match" set ref 188* 188* 188* 188* 188* 188* 188* 188* 188* 229 comp 2 based structure array level 2 dcl 58 d 000101 automatic fixed bin(17,0) dcl 71 in procedure "le_apply_def_options_" set ref 93* 104* 111 125 127 131 132* d parameter fixed bin(17,0) dcl 200 in procedure "match" ref 166 225 def 2 based structure array level 2 in structure "led" dcl 208 in procedure "match" def 2 based structure array level 2 in structure "led" dcl 61 in procedure "le_apply_def_options_" defn 000170 automatic char(256) unaligned dcl 217 set ref 225* 231 238 245 252* 263* 274* delete 105(06) based bit(1) array level 4 packed unaligned dcl 61 set ref 127* ec 000270 automatic fixed bin(35,0) dcl 218 in procedure "match" set ref 252* 254 256 263* 265 267 274* 276 278 ec 000423 automatic fixed bin(35,0) dcl 388 in procedure "star_sn_match" set ref 393* 394 396 ep_name 12 based char(256) array level 3 in structure "leo" packed unaligned dcl 211 in procedure "match" ref 224 ep_name 12 based char(256) array level 3 in structure "leo" packed unaligned dcl 64 in procedure "le_apply_def_options_" set ref 111* 149* error_table_$nomatch 000016 external static fixed bin(35,0) dcl 51 ref 256 267 278 396 false constant bit(1) initial unaligned dcl 35 ref 231 238 248 256 267 278 347 401 flags 105 based structure array level 3 dcl 61 header based structure level 2 in structure "led" dcl 61 in procedure "le_apply_def_options_" header based structure level 2 in structure "leo" dcl 64 in procedure "le_apply_def_options_" header based structure level 2 in structure "lec" dcl 58 in procedure "le_apply_def_options_" header based structure level 2 in structure "le_definitions" dcl 1-167 in procedure "le_apply_def_options_" header based structure level 2 in structure "les" dcl 331 in procedure "literal_sn_match" header based structure level 2 in structure "le_components" dcl 1-72 in procedure "le_apply_def_options_" header based structure level 2 in structure "le_options" dcl 1-202 in procedure "le_apply_def_options_" header based structure level 2 in structure "les" dcl 380 in procedure "star_sn_match" header based structure level 2 in structure "le_segnames" dcl 1-149 in procedure "le_apply_def_options_" inhibit_error 1(10) based bit(1) array level 3 packed unaligned dcl 64 ref 143 le_comp based structure level 1 dcl 1-89 le_components based structure level 1 dcl 1-72 le_debug_ 000010 constant entry external dcl 45 ref 83 111 157 le_definition based structure level 1 dcl 1-175 le_definitions based structure level 1 dcl 1-167 le_error_ 000012 constant entry external dcl 46 ref 134 145 149 258 269 280 396 le_et_$implementation_error 000020 external static fixed bin(35,0) dcl 52 set ref 134* 258* 269* 280* 396* le_et_$unused_option 000022 external static fixed bin(35,0) dcl 54 set ref 145* 149* le_link based structure level 1 dcl 1-233 le_option based structure level 1 dcl 2-140 le_options based structure level 1 dcl 1-202 le_patch based structure level 1 dcl 1-298 le_segnames based structure level 1 dcl 1-149 lec based structure level 1 dcl 58 lecp parameter pointer dcl 40 ref 16 87 88 89 led based structure level 1 dcl 208 in procedure "match" led based structure level 1 dcl 61 in procedure "le_apply_def_options_" ledp parameter pointer dcl 201 in procedure "match" ref 166 225 ledp 112 based pointer array level 4 in structure "lec" dcl 58 in procedure "le_apply_def_options_" ref 88 ledp 000102 automatic pointer dcl 72 in procedure "le_apply_def_options_" set ref 88* 93 93 104* 111 125 127 131 132 leo based structure level 1 dcl 211 in procedure "match" leo based structure level 1 dcl 64 in procedure "le_apply_def_options_" leop parameter pointer dcl 41 in procedure "le_apply_def_options_" set ref 16 102 104* 107 111 111 121 142 143 143 145 145 149 149 149 149 149 leop parameter pointer dcl 202 in procedure "match" ref 166 223 224 229 les based structure level 1 dcl 331 in procedure "literal_sn_match" les based structure level 1 dcl 380 in procedure "star_sn_match" lesp 000104 automatic pointer dcl 73 in procedure "le_apply_def_options_" set ref 89* 104* lesp parameter pointer dcl 326 in procedure "literal_sn_match" ref 308 342 343 lesp parameter pointer dcl 375 in procedure "star_sn_match" ref 356 392 393 lesp 110 based pointer array level 4 in structure "lec" dcl 58 in procedure "le_apply_def_options_" ref 89 lesp parameter pointer dcl 203 in procedure "match" set ref 166 234* 241* 254* 265* 285* 290* match_star_name_ 000014 constant entry external dcl 47 ref 252 263 274 393 match_sw 000271 automatic bit(1) unaligned dcl 219 set ref 231* 234* 238* 241* 245* 248* 254* 256* 265* 267* 276* 278* 285* 290* 295* 298 mod builtin function dcl 80 ref 149 n_components 1 based fixed bin(17,0) level 3 dcl 58 ref 87 n_defs based fixed bin(17,0) level 3 dcl 61 ref 93 n_opts based fixed bin(17,0) level 3 dcl 64 ref 102 142 n_segnames based fixed bin(17,0) level 3 in structure "les" dcl 380 in procedure "star_sn_match" ref 392 n_segnames based fixed bin(17,0) level 3 in structure "les" dcl 331 in procedure "literal_sn_match" ref 342 name parameter char(32) unaligned dcl 376 in procedure "star_sn_match" set ref 356 393* name parameter char(32) unaligned dcl 327 in procedure "literal_sn_match" ref 308 343 no_link 105(04) based bit(1) array level 4 packed unaligned dcl 61 set ref 132* null builtin function dcl 81 ref 93 o 000106 automatic fixed bin(17,0) dcl 74 in procedure "le_apply_def_options_" set ref 102* 104* 106 107* o parameter fixed bin(17,0) dcl 204 in procedure "match" ref 166 223 224 229 opt 1 based structure array level 2 in structure "leo" dcl 211 in procedure "match" opt 1 based structure array level 2 in structure "leo" dcl 64 in procedure "le_apply_def_options_" opt 1 based structure array level 2 in structure "le_options" dcl 1-202 in procedure "le_apply_def_options_" optn 000272 automatic char(256) unaligned dcl 220 set ref 224* 231 238 245 252* 263* 274* optx 000107 automatic fixed bin(17,0) dcl 75 set ref 97* 102 106* 111 111 111 121 142* 143 143 145 145 149 149 149 149 149* retain 105(05) based bit(1) array level 4 packed unaligned dcl 61 set ref 125* 131* s 000412 automatic fixed bin(17,0) dcl 338 in procedure "literal_sn_match" set ref 342* 343* s 000422 automatic fixed bin(17,0) dcl 387 in procedure "star_sn_match" set ref 392* 393* segn 000372 automatic char(32) unaligned dcl 221 set ref 223* 234* 241* 254* 265* 285* 290* segname 1 based structure array level 2 in structure "les" dcl 331 in procedure "literal_sn_match" segname 1 based structure array level 2 in structure "le_segnames" dcl 1-149 in procedure "le_apply_def_options_" segname 2 based char(32) array level 3 in structure "leo" packed unaligned dcl 211 in procedure "match" ref 223 segname 1 based structure array level 2 in structure "les" dcl 380 in procedure "star_sn_match" segname 2 based char(32) array level 3 in structure "leo" packed unaligned dcl 64 in procedure "le_apply_def_options_" set ref 111* 149* str 1 based varying char(32) array level 3 in structure "les" dcl 331 in procedure "literal_sn_match" ref 343 str 1 based varying char(32) array level 3 in structure "les" dcl 380 in procedure "star_sn_match" ref 393 str 2 based varying char(256) array level 3 in structure "led" dcl 61 in procedure "le_apply_def_options_" set ref 111* str 2 based varying char(256) array level 3 in structure "led" dcl 208 in procedure "match" ref 225 tables 110 based structure array level 3 dcl 58 true constant bit(1) initial unaligned dcl 34 ref 121 125 127 131 132 245 276 295 343 394 type 1 based fixed bin(8,0) array level 3 in structure "leo" packed unaligned dcl 64 in procedure "le_apply_def_options_" ref 107 145 149 type 000110 automatic fixed bin(17,0) dcl 76 in procedure "le_apply_def_options_" set ref 98* 107* 111 111 125 127 129 used 1(09) based bit(1) array level 3 packed unaligned dcl 64 set ref 121* 143 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ADDNAME internal static fixed bin(17,0) initial dcl 2-160 Definition internal static fixed bin(3,0) initial dcl 1-32 Heap internal static fixed bin(3,0) initial dcl 1-38 LE_ERROR internal static fixed bin(17,0) initial dcl 1-20 LE_FATAL_ERROR internal static fixed bin(17,0) initial dcl 1-21 LIBRARY internal static fixed bin(17,0) initial dcl 2-159 Linkage internal static fixed bin(3,0) initial dcl 1-28 NO_TABLE internal static fixed bin(17,0) initial dcl 2-166 PATH internal static fixed bin(17,0) initial dcl 2-158 Patch_Init internal static fixed bin(17,0) initial dcl 1-59 Patch_Link internal static fixed bin(17,0) initial dcl 1-58 Patch_Self_Init internal static fixed bin(17,0) initial dcl 1-61 Patch_Symbol_Ref internal static fixed bin(17,0) initial dcl 1-60 Refname_Base internal static fixed bin(3,0) initial dcl 1-49 Refname_Offsetname internal static fixed bin(3,0) initial dcl 1-51 SYNONYM internal static fixed bin(17,0) initial dcl 2-161 Self_Base internal static fixed bin(3,0) initial dcl 1-47 Self_Offsetname internal static fixed bin(3,0) initial dcl 1-53 Static internal static fixed bin(3,0) initial dcl 1-34 Symbol internal static fixed bin(3,0) initial dcl 1-30 System internal static fixed bin(3,0) initial dcl 1-36 TABLE internal static fixed bin(17,0) initial dcl 2-165 Text internal static fixed bin(3,0) initial dcl 1-26 def_count automatic fixed bin(17,0) dcl 1-173 le_binaries based structure level 1 dcl 1-260 le_input based structure level 1 dcl 2-114 le_input_version_1 internal static char(8) initial unaligned dcl 2-153 le_links based structure level 1 dcl 1-225 le_patches based structure level 1 dcl 1-293 link_count automatic fixed bin(17,0) dcl 1-231 section_nm internal static char(16) initial array unaligned dcl 1-41 segname_count automatic fixed bin(17,0) dcl 1-156 NAMES DECLARED BY EXPLICIT CONTEXT. DONE 001426 constant label dcl 298 ref 236 243 250 261 272 283 288 293 any_segname_and_ep 001424 constant label dcl 295 ref 188 any_segname_and_specific_ep 001123 constant label dcl 245 ref 188 any_segname_and_star_ep 001315 constant label dcl 274 ref 188 le_apply_def_options_ 000207 constant entry external dcl 16 literal_sn_match 001434 constant entry internal dcl 308 ref 234 254 285 match 000727 constant entry internal dcl 166 ref 104 specific_segname_and_any_ep 001374 constant label dcl 285 ref 188 specific_segname_and_ep 001056 constant label dcl 231 ref 188 specific_segname_and_star_ep 001135 constant label dcl 252 ref 188 star_segname_and_any_ep 001410 constant label dcl 290 ref 188 star_segname_and_ep 001225 constant label dcl 263 ref 188 star_segname_and_specific_ep 001100 constant label dcl 238 ref 188 star_sn_match 001477 constant entry internal dcl 356 ref 241 265 290 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1730 1754 1621 1740 Length 2214 1621 24 223 106 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME le_apply_def_options_ 486 external procedure is an external procedure. match internal procedure shares stack frame of external procedure le_apply_def_options_. literal_sn_match internal procedure shares stack frame of external procedure le_apply_def_options_. star_sn_match internal procedure shares stack frame of external procedure le_apply_def_options_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME le_apply_def_options_ 000100 c le_apply_def_options_ 000101 d le_apply_def_options_ 000102 ledp le_apply_def_options_ 000104 lesp le_apply_def_options_ 000106 o le_apply_def_options_ 000107 optx le_apply_def_options_ 000110 type le_apply_def_options_ 000124 class match 000170 defn match 000270 ec match 000271 match_sw match 000272 optn match 000372 segn match 000412 s literal_sn_match 000422 s star_sn_match 000423 ec star_sn_match THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as alloc_char_temp call_ext_out_desc return_mac tra_ext_2 mdfx1 shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. le_debug_ le_error_ match_star_name_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$nomatch le_et_$implementation_error le_et_$unused_option LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000203 83 000214 87 000227 88 000241 89 000247 93 000251 97 000265 98 000267 102 000271 104 000305 106 000331 107 000333 109 000342 111 000344 121 000443 125 000451 127 000461 129 000470 131 000472 132 000476 133 000500 134 000501 137 000525 138 000527 142 000531 143 000543 145 000553 149 000617 155 000710 157 000712 159 000726 166 000727 188 000731 223 001020 224 001031 225 001035 229 001047 231 001056 234 001064 236 001077 238 001100 241 001107 243 001122 245 001123 248 001132 250 001134 252 001135 254 001155 256 001173 258 001201 261 001224 263 001225 265 001245 267 001263 269 001271 272 001314 274 001315 276 001335 278 001342 280 001350 283 001373 285 001374 288 001407 290 001410 293 001423 295 001424 298 001426 308 001434 342 001436 343 001447 345 001467 347 001471 356 001477 392 001501 393 001511 394 001550 396 001561 399 001607 401 001611 ----------------------------------------------------------- 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