COMPILATION LISTING OF SEGMENT dm_no_firstref_util_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/05/86 1032.1 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* 9* This is a general repository for little programs for DMS which may 10*not have the DM first-reference trap sprung. Its current residents are: 11* 12* set_journal_stamps: allows manual setting of all time stamps 13* in dm_journal_seg_ to an arbitrary time. 14* intended for emergency use. Invoked through 15* dm_admin_gate_. 16* 17* terminate_dm: uncombines the linkage section of all segments 18* combined by the DM first-reference trap (e.g., 19* *_firstref_tv_). This resets the fref trap 20* and makes Data Management unavailable to the 21* user until the fref taps are tripped again. 22* Called as part of tm_$user_shutdown and should 23* only be available in the DM ring. 24* 25* using_dm: returns "1"b if Data Management is available 26* (bound_dm_is_inner_ is initiated), else "0"b. 27* 28* get_log_path returns the pathname of the DM system log. 29**/ 30 31 /* HISTORY: 32*Written by Lee A. Newcomb, 01/07/83. 33*Modified: 34*03/07/83 by L. A. Newcomb: to terminate old_dm_system_data_ ref name. 35*04/23/83 by L. A. Newcomb: changed the star-name used by 36* find_old_bootload_dir to match new name created via 37* request_id_ subr. 38*04/26/83 by L. A. Newcomb: Again fixed the starname used to find an old DMS 39* bootload directory. 40*08/17/83 by M. Pandolf: to add set_journal_stamps and get_system_data. 41*11/29/83 by S. Herbst: to add terminate_dm and using_dm. 42*01/26/84 by S. Herbst: made $using_dm check that DM_SEGMENT_NAME's linkage 43* section has been combined. 44*05/11/84 by Lee A. Newcomb: to have $terminate_dm work for an unbound version 45* of DM by terminating single refname fm_'s, bjm_'s, and lm_'s 46* inner ring TV before terminating tm_firstref_tv_. 47*06/08/84 by Lindsey L. Spratt: Added the *data_ modules to the list of 48* refnames to be terminated by the $terminate_dm entry. This is 49* necessary to ensure that any per-process static data associated 50* with these data segments is gotten rid of. Also, added the 51* dm_journal_seg_ and dm_aim_dir_util_ refnames to be explicitly 52* terminated. 53*06/12/84 by Lindsey L. Spratt: Changed $terminate_dm to terminate all of the 54* DM_SEGMENT_NAMES in all of the rings from get_ring_() to 55* OUTERMOST_RING (7). 56*07/31/84 by Lee A. Newcomb: added entries $get_daemon_logout_time, 57* $get_system_state, $get_user_bump_time, and 58* $get_user_shutdown_time. 59*09/27/84 by Lee A. Newcomb: added the entries get_(begin_shutdown 60* shutdown_warning)_time and fixed $get_user_shutdown_time to 61* not use dm_system_data_$initializer_shutdown_time which has 62* been renamed to $user_shutdown_time. 63*12/02/84 by Lindsey L. Spratt: Removed the obsolete $get_system_data entry. 64* Added $get_initialization_time. 65*12/03/84 by Stanford S. Cox: Chg refs from *inner_ring_tv_ to =firstref_tv_ 66*12/05/84 by Lindsey L. Spratt: Removed dm_aim_dir_util_ from the 67* DM_SEGMENT_NAMES array as it's obsolete. Made minor format 68* changes. 69*12/07/84 by Lindsey L. Spratt: Copied from dm_util_. Removed all of the 70* entries except using_dm, terminate_dm, and set_journal_stamps. 71* The removed entries are in dm_firstref_util_. 72*12/07/84 by R. Michael Tague: Changed $terminate_dm to wipe out 73* dm_system_data_$initializer_processid if we are the Daemon. 74*02/07/85 by Steve Herbst: Added $get_log_path. 75*02/19/85 by Lindsey L. Spratt: Changed $terminate_dm to use 76* dm_misc_util_$is_using_dm to determine if DM is in use, rather 77* than simply check if the tm_firstref_tv_ name could be found by 78* $fs_get_seg_ptr. Change $terminate_dm to use term_$nomakeunknown 79* rather than term_$refname, so it only un-combines the linkages on 80* the refernce names in DM_SEGMENT_NAMES. Changed $is_using_dm to 81* set the validation level to the ring of execution before checking 82* that tm_firstref_tv_ has a combined linkage. 83*02/27/85 by Lindsey L. Spratt: Removed lm_data_ from DM_SEGMENT_NAMES, since 84* it resides in bound_dm_ (which is not to be terminated in any way 85* by $terminate_dm). 86*04/11/85 by Lee A. Newcomb: To also do a term_$nomakeunknown of 87* dm_firstref_tv_. Fixed to copy input paramter to 88* $set_journal_stamps to local. Changed some names to correspond 89* to project standards. 90*05/10/85 by R. Michael Tague: Removed all references to dm_journal_seg_ and 91* replaced them with calls to dm_hcs_$(get_time_stamp n_journals). 92**/ 93 94 /* format: style2,ll79,ind3,^indprocbody,ifthendo,ifthen,^indnoniterdo,^inddcls,dclind5,idind35,linecom */ 95 96 dm_no_firstref_util_$set_journal_stamps: 97 proc (p_time, p_code); 98 99 /* START OF DECLARATIONS */ 100 101 /* Parameter */ 102 dcl ( 103 p_log_path char (*), /* O: returned by $get_log_path */ 104 p_time fixed bin (71), /* I: new time for journal stamps */ 105 p_code fixed bin (35) /* O: normal error code, recovery fails if ^= 0 */ 106 ) parameter; 107 108 /* Automatic */ 109 dcl ( 110 aim_dir char (168), /* DM per-AIM directory pathname */ 111 code fixed bin (35), /* local error code holder */ 112 is_using_dm bit (1) aligned init (NO), 113 journal_ix fixed bin, /* index into dm_journal_seg_ */ 114 loop_index fixed bin, /* for general looping through arrays */ 115 lot_ptr ptr, /* ptr to its linkage offset table */ 116 new_journal_stamp_time fixed bin (71) init (0), 117 /* local copy of p_time */ 118 saved_level fixed bin init (0), /* the validation level as set by this programs caller. */ 119 seg_ptr ptr, /* ptr to seg init'd with refname DM_SEGMENT_NAMES (4) */ 120 segno fixed bin, /* its segment number */ 121 validation_level fixed bin init (0) 122 ) automatic; 123 124 /* Builtin */ 125 dcl (addr, baseno, binary, dim, length, null, stackbaseptr) 126 builtin; 127 128 /* Condition */ 129 dcl cleanup condition; 130 131 /* Constant */ 132 dcl ( 133 DM_LOG_NAME char (32) int static 134 options (constant) 135 init ("dm_system_log"), 136 DM_SEGMENT_NAMES char (32) dim (10) /* all must be known to be using DM, */ 137 init ("bjm_firstref_tv_", 138 /* tm_firstref_tv_ is used as the sentinel */ 139 "fm_firstref_tv_", "lm_firstref_tv_", 140 "tm_firstref_tv_", "bjm_data_", 141 "dm_data_", "dm_journal_seg_", 142 "dm_system_data_", "fm_data_", 143 "dm_firstref_tv_"), 144 NO init ("0"b) bit (1) aligned, 145 YES init ("1"b) bit (1) aligned, 146 DM_JOURNAL_SEG_SEGNAME_IDX init (7) fixed bin, 147 DM_SYSTEM_DATA_SEGNAME_IDX init (8) fixed bin, 148 TM_FIRSTREF_TV_SEGNAME_IDX init (4) fixed bin 149 ) int static options (constant); 150 151 /* Entry */ 152 dcl ( 153 cu_$level_get entry (fixed bin), 154 cu_$level_set entry (fixed bin), 155 dm_hcs_$get_n_journals entry () returns (fixed bin), 156 dm_hcs_$get_journal_stamp entry (fixed bin) returns (fixed bin (71)), 157 dm_hcs_$set_journal_stamp entry (fixed bin, fixed bin (71), 158 fixed bin (35)), 159 dm_misc_util_$get_aim_dir entry (char (*)), 160 dm_misc_util_$is_process_using_dm entry () returns (bit (1) aligned), 161 get_ring_ entry () returns (fixed bin (3)), 162 get_process_id_ entry () returns (bit (36)), 163 hcs_$fs_get_seg_ptr entry (char (*), ptr, fixed bin (35)), 164 pathname_ entry (char (*), char (*)) 165 returns (char (168)), 166 term_$refname entry (char (*), fixed bin (35)), 167 term_$nomakeunknown entry (ptr, fixed bin (35)) 168 ) external; 169 170 /* External */ 171 dcl ( 172 dm_error_$no_user_dm fixed bin (35), 173 dm_system_data_$initializer_processid 174 bit (36) aligned 175 ) external static; 176 177 /* END OF DECLARATIONS */ 178 179 /* dm_no_firstref_util_$set_journal_stamps: /* repeat for reader */ 180 /* proc (p_time, p_code); */ 181 182 /* copy input parameter to local storage */ 183 new_journal_stamp_time = p_time; 184 185 /* set the time stamp on the journals only toward the future */ 186 187 do journal_ix = 1 to dm_hcs_$get_n_journals (); 188 if dm_hcs_$get_journal_stamp (journal_ix) < new_journal_stamp_time then 189 call dm_hcs_$set_journal_stamp (journal_ix, new_journal_stamp_time, p_code); 190 end; 191 192 return; 193 194 /* end dm_no_firstref_util_$set_journal_stamps; */ 195 196 dm_no_firstref_util_$terminate_dm: 197 entry (p_code); 198 199 /* DM_SEGMENT_NAMES can only be known the ring-of-execution. */ 200 201 call cu_$level_get (saved_level); 202 203 on cleanup call cu_$level_set (saved_level); 204 205 call cu_$level_set (get_ring_ ()); 206 207 if ^dm_misc_util_$is_process_using_dm () then 208 call TD_RETURN (dm_error_$no_user_dm); 209 210 if dm_system_data_$initializer_processid = get_process_id_ () then 211 dm_system_data_$initializer_processid = "0"b; 212 213 do loop_index = 1 to dim (DM_SEGMENT_NAMES, 1); 214 call hcs_$fs_get_seg_ptr (DM_SEGMENT_NAMES (loop_index), seg_ptr, code); 215 216 if seg_ptr ^= null () then 217 call term_$nomakeunknown (seg_ptr, code); 218 219 end; 220 221 call term_$refname (DM_SEGMENT_NAMES (DM_SYSTEM_DATA_SEGNAME_IDX), code); 222 call term_$refname (DM_SEGMENT_NAMES (DM_JOURNAL_SEG_SEGNAME_IDX), code); 223 224 call TD_RETURN (0); 225 226 TD_MAIN_RETURN: 227 return; 228 229 TD_RETURN: 230 proc (tdr_p_code); 231 dcl tdr_p_code fixed bin (35) parm; 232 p_code = tdr_p_code; 233 call cu_$level_set (saved_level); 234 goto TD_MAIN_RETURN; 235 end TD_RETURN; 236 237 /* end dm_no_firstref_util_$terminate_dm; */ 238 239 dm_no_firstref_util_$using_dm: 240 entry returns (bit (1) aligned); 241 242 /* NOTE: This code will have to be improved if it turns out that */ 243 /* DM_SEGMENT_NAMES can be known in rings other than the DM ring. */ 244 /* See $terminate_dm for more info on DM_SEGMENT_NAMES usage. */ 245 246 call cu_$level_get (saved_level); 247 248 on cleanup call cu_$level_set (saved_level); 249 250 call cu_$level_set (get_ring_ ()); 251 252 call hcs_$fs_get_seg_ptr (DM_SEGMENT_NAMES (TM_FIRSTREF_TV_SEGNAME_IDX), 253 seg_ptr, 0); 254 if seg_ptr = null then 255 call UD_RETURN (NO); 256 257 segno = binary (baseno (seg_ptr)); 258 lot_ptr = stackbaseptr () -> stack_header.lot_ptr; 259 if baseno (lot_ptr -> lot.lp (segno)) ^= "0"b then 260 call UD_RETURN (YES); 261 else call UD_RETURN (NO); 262 263 UD_MAIN_RETURN: 264 return (is_using_dm); 265 266 UD_RETURN: 267 proc (udr_p_is_using_dm); 268 dcl udr_p_is_using_dm bit (1) aligned parm; 269 is_using_dm = udr_p_is_using_dm; 270 call cu_$level_set (saved_level); 271 goto UD_MAIN_RETURN; 272 end UD_RETURN; 273 274 /* end dm_no_firstref_util_$using_dm; */ 275 276 dm_no_firstref_util_$get_log_path: 277 entry (p_log_path); 278 279 call dm_misc_util_$get_aim_dir (aim_dir); 280 p_log_path = pathname_ (pathname_ (aim_dir, "logs"), DM_LOG_NAME); 281 282 return; 283 284 /* end dm_no_firstref_util_$get_log_path; */ 285 1 1 /* BEGIN INCLUDE FILE -- lot.incl.pl1 S.Webber 9/74, Modified by R. Bratt 04/76, modified by M. Weaver 7/76 */ 1 2 /* modified by M. Weaver 3/77 */ 1 3 1 4 dcl lotp ptr; 1 5 1 6 dcl 1 lot based (lotp) aligned, 1 7 2 lp (0:9999) ptr unaligned; /* array of packed pointers to linkage sections */ 1 8 1 9 dcl lot_fault bit (36) aligned static options (constant) init ("111000000000000000000000000000000000"b); 1 10 /* lot fault has fault code = 0 and offset = 0 */ 1 11 1 12 dcl isotp ptr; 1 13 dcl 1 isot based (isotp) aligned, 1 14 2 isp (0:9999) ptr unaligned; 1 15 1 16 dcl 1 isot1 (0 :9999) aligned based, 1 17 2 flags unaligned, 1 18 3 fault bit (2) unaligned, 1 19 3 system bit (1) unaligned, 1 20 3 mbz bit (6) unaligned, 1 21 2 fault_code fixed bin (8) unaligned, 1 22 2 static_offset bit (18) unaligned; 1 23 1 24 1 25 /* END INCLUDE FILE lot.incl.pl1 */ 286 287 2 1 /* BEGIN INCLUDE FILE ... stack_header.incl.pl1 .. 3/72 Bill Silver */ 2 2 /* modified 7/76 by M. Weaver for *system links and more system use of areas */ 2 3 /* modified 3/77 by M. Weaver to add rnt_ptr */ 2 4 /* Modified April 1983 by C. Hornig for tasking */ 2 5 2 6 /****^ HISTORY COMMENTS: 2 7* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 2 8* audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 2 9* added the heap_header_ptr definition. 2 10* 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 2 11* audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 2 12* Modified to support control point management. These changes were actually 2 13* made in February 1985 by G. Palter. 2 14* 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 2 15* audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 2 16* Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 2 17* bit pad after cur_lot_size for the cpm_enabled. This was done to save some 2 18* space int the stack header and change the cpd_ptr unal to cpm_data_ptr 2 19* (ITS pair). 2 20* END HISTORY COMMENTS */ 2 21 2 22 /* format: style2 */ 2 23 2 24 dcl sb ptr; /* the main pointer to the stack header */ 2 25 2 26 dcl 1 stack_header based (sb) aligned, 2 27 2 pad1 (4) fixed bin, /* (0) also used as arg list by outward_call_handler */ 2 28 2 cpm_data_ptr ptr, /* (4) pointer to control point which owns this stack */ 2 29 2 combined_stat_ptr ptr, /* (6) pointer to area containing separate static */ 2 30 2 clr_ptr ptr, /* (8) pointer to area containing linkage sections */ 2 31 2 max_lot_size fixed bin (17) unal, /* (10) DU number of words allowed in lot */ 2 32 2 main_proc_invoked fixed bin (11) unal, /* (10) DL nonzero if main procedure invoked in run unit */ 2 33 2 have_static_vlas bit (1) unal, /* (10) DL "1"b if (very) large arrays are being used in static */ 2 34 2 pad4 bit (2) unal, 2 35 2 run_unit_depth fixed bin (2) unal, /* (10) DL number of active run units stacked */ 2 36 2 cur_lot_size fixed bin (17) unal, /* (11) DU number of words (entries) in lot */ 2 37 2 cpm_enabled bit (18) unal, /* (11) DL non-zero if control point management is enabled */ 2 38 2 system_free_ptr ptr, /* (12) pointer to system storage area */ 2 39 2 user_free_ptr ptr, /* (14) pointer to user storage area */ 2 40 2 null_ptr ptr, /* (16) */ 2 41 2 stack_begin_ptr ptr, /* (18) pointer to first stack frame on the stack */ 2 42 2 stack_end_ptr ptr, /* (20) pointer to next useable stack frame */ 2 43 2 lot_ptr ptr, /* (22) pointer to the lot for the current ring */ 2 44 2 signal_ptr ptr, /* (24) pointer to signal procedure for current ring */ 2 45 2 bar_mode_sp ptr, /* (26) value of sp before entering bar mode */ 2 46 2 pl1_operators_ptr ptr, /* (28) pointer to pl1_operators_$operator_table */ 2 47 2 call_op_ptr ptr, /* (30) pointer to standard call operator */ 2 48 2 push_op_ptr ptr, /* (32) pointer to standard push operator */ 2 49 2 return_op_ptr ptr, /* (34) pointer to standard return operator */ 2 50 2 return_no_pop_op_ptr 2 51 ptr, /* (36) pointer to standard return / no pop operator */ 2 52 2 entry_op_ptr ptr, /* (38) pointer to standard entry operator */ 2 53 2 trans_op_tv_ptr ptr, /* (40) pointer to translator operator ptrs */ 2 54 2 isot_ptr ptr, /* (42) pointer to ISOT */ 2 55 2 sct_ptr ptr, /* (44) pointer to System Condition Table */ 2 56 2 unwinder_ptr ptr, /* (46) pointer to unwinder for current ring */ 2 57 2 sys_link_info_ptr ptr, /* (48) pointer to *system link name table */ 2 58 2 rnt_ptr ptr, /* (50) pointer to Reference Name Table */ 2 59 2 ect_ptr ptr, /* (52) pointer to event channel table */ 2 60 2 assign_linkage_ptr ptr, /* (54) pointer to storage for (obsolete) hcs_$assign_linkage */ 2 61 2 heap_header_ptr ptr, /* (56) pointer to the heap header for this ring */ 2 62 2 trace, 2 63 3 frames, 2 64 4 count fixed bin, /* (58) number of trace frames */ 2 65 4 top_ptr ptr unal, /* (59) pointer to last trace frame */ 2 66 3 in_trace bit (36) aligned, /* (60) trace antirecursion flag */ 2 67 2 pad2 bit (36), /* (61) */ 2 68 2 pad5 pointer; /* (62) pointer to future stuff */ 2 69 2 70 /* The following offset refers to a table within the pl1 operator table. */ 2 71 2 72 dcl tv_offset fixed bin init (361) internal static; 2 73 /* (551) octal */ 2 74 2 75 2 76 /* The following constants are offsets within this transfer vector table. */ 2 77 2 78 dcl ( 2 79 call_offset fixed bin init (271), 2 80 push_offset fixed bin init (272), 2 81 return_offset fixed bin init (273), 2 82 return_no_pop_offset fixed bin init (274), 2 83 entry_offset fixed bin init (275) 2 84 ) internal static; 2 85 2 86 2 87 2 88 2 89 2 90 /* The following declaration is an overlay of the whole stack header. Procedures which 2 91* move the whole stack header should use this overlay. 2 92**/ 2 93 2 94 dcl stack_header_overlay (size (stack_header)) fixed bin based (sb); 2 95 2 96 2 97 2 98 /* END INCLUDE FILE ... stack_header.incl.pl1 */ 288 289 end dm_no_firstref_util_$set_journal_stamps; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/04/86 1033.6 dm_no_firstref_util_.pl1 >special_ldd>install>MR12.0-1206>dm_no_firstref_util_.pl1 286 1 08/05/77 1022.4 lot.incl.pl1 >ldd>include>lot.incl.pl1 288 2 11/04/86 1324.3 stack_header.incl.pl1 >special_ldd>install>MR12.0-1206>stack_header.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. DM_JOURNAL_SEG_SEGNAME_IDX constant fixed bin(17,0) initial dcl 132 ref 222 DM_LOG_NAME 000121 constant char(32) initial unaligned dcl 132 set ref 280* DM_SEGMENT_NAMES 000001 constant char(32) initial array unaligned dcl 132 set ref 213 214* 221* 222* 252* DM_SYSTEM_DATA_SEGNAME_IDX constant fixed bin(17,0) initial dcl 132 ref 221 NO constant bit(1) initial dcl 132 set ref 109 254* 261* TM_FIRSTREF_TV_SEGNAME_IDX constant fixed bin(17,0) initial dcl 132 ref 252 YES 000000 constant bit(1) initial dcl 132 set ref 259* aim_dir 000100 automatic char(168) unaligned dcl 109 set ref 279* 280* 280* baseno builtin function dcl 125 ref 257 259 binary builtin function dcl 125 ref 257 cleanup 000170 stack reference condition dcl 129 ref 203 248 code 000152 automatic fixed bin(35,0) dcl 109 set ref 214* 216* 221* 222* cu_$level_get 000010 constant entry external dcl 152 ref 201 246 cu_$level_set 000012 constant entry external dcl 152 ref 203 205 233 248 250 270 dim builtin function dcl 125 ref 213 dm_error_$no_user_dm 000042 external static fixed bin(35,0) dcl 171 set ref 207* dm_hcs_$get_journal_stamp 000016 constant entry external dcl 152 ref 188 dm_hcs_$get_n_journals 000014 constant entry external dcl 152 ref 187 dm_hcs_$set_journal_stamp 000020 constant entry external dcl 152 ref 188 dm_misc_util_$get_aim_dir 000022 constant entry external dcl 152 ref 279 dm_misc_util_$is_process_using_dm 000024 constant entry external dcl 152 ref 207 dm_system_data_$initializer_processid 000044 external static bit(36) dcl 171 set ref 210 210* get_process_id_ 000030 constant entry external dcl 152 ref 210 get_ring_ 000026 constant entry external dcl 152 ref 205 205 250 250 hcs_$fs_get_seg_ptr 000032 constant entry external dcl 152 ref 214 252 is_using_dm 000153 automatic bit(1) initial dcl 109 set ref 109* 263 269* journal_ix 000154 automatic fixed bin(17,0) dcl 109 set ref 187* 188* 188* loop_index 000155 automatic fixed bin(17,0) dcl 109 set ref 213* 214* lot based structure level 1 dcl 1-6 lot_ptr 000156 automatic pointer dcl 109 in procedure "dm_no_firstref_util_$set_journal_stamps" set ref 258* 259 lot_ptr 26 based pointer level 2 in structure "stack_header" dcl 2-26 in procedure "dm_no_firstref_util_$set_journal_stamps" ref 258 lp based pointer array level 2 packed unaligned dcl 1-6 ref 259 new_journal_stamp_time 000160 automatic fixed bin(71,0) initial dcl 109 set ref 109* 183* 188 188* null builtin function dcl 125 ref 216 254 p_code parameter fixed bin(35,0) dcl 102 set ref 96 188* 196 232* p_log_path parameter char unaligned dcl 102 set ref 276 280* p_time parameter fixed bin(71,0) dcl 102 ref 96 183 pathname_ 000034 constant entry external dcl 152 ref 280 280 280 saved_level 000162 automatic fixed bin(17,0) initial dcl 109 set ref 109* 201* 203* 233* 246* 248* 270* seg_ptr 000164 automatic pointer dcl 109 set ref 214* 216 216* 252* 254 257 segno 000166 automatic fixed bin(17,0) dcl 109 set ref 257* 259 stack_header based structure level 1 dcl 2-26 stackbaseptr builtin function dcl 125 ref 258 tdr_p_code parameter fixed bin(35,0) dcl 231 ref 229 232 term_$nomakeunknown 000040 constant entry external dcl 152 ref 216 term_$refname 000036 constant entry external dcl 152 ref 221 222 udr_p_is_using_dm parameter bit(1) dcl 268 ref 266 269 validation_level 000167 automatic fixed bin(17,0) initial dcl 109 set ref 109* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addr builtin function dcl 125 call_offset internal static fixed bin(17,0) initial dcl 2-78 entry_offset internal static fixed bin(17,0) initial dcl 2-78 isot based structure level 1 dcl 1-13 isot1 based structure array level 1 dcl 1-16 isotp automatic pointer dcl 1-12 length builtin function dcl 125 lot_fault internal static bit(36) initial dcl 1-9 lotp automatic pointer dcl 1-4 push_offset internal static fixed bin(17,0) initial dcl 2-78 return_no_pop_offset internal static fixed bin(17,0) initial dcl 2-78 return_offset internal static fixed bin(17,0) initial dcl 2-78 sb automatic pointer dcl 2-24 stack_header_overlay based fixed bin(17,0) array dcl 2-94 tv_offset internal static fixed bin(17,0) initial dcl 2-72 NAMES DECLARED BY EXPLICIT CONTEXT. TD_MAIN_RETURN 000527 constant label dcl 226 ref 234 TD_RETURN 001017 constant entry internal dcl 229 ref 207 224 UD_MAIN_RETURN 000673 constant label dcl 263 ref 271 UD_RETURN 001033 constant entry internal dcl 266 ref 254 259 261 dm_no_firstref_util_$get_log_path 000710 constant entry external dcl 276 dm_no_firstref_util_$set_journal_stamps 000200 constant entry external dcl 96 dm_no_firstref_util_$terminate_dm 000276 constant entry external dcl 196 dm_no_firstref_util_$using_dm 000541 constant entry external dcl 239 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1430 1476 1064 1440 Length 1760 1064 46 246 344 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dm_no_firstref_util_$set_journal_stamps 274 external procedure is an external procedure. on unit on line 203 68 on unit TD_RETURN internal procedure shares stack frame of external procedure dm_no_firstref_util_$set_jour on unit on line 248 68 on unit UD_RETURN internal procedure shares stack frame of external procedure dm_no_firstref_util_$set_jour STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dm_no_firstref_util_$set_journal_stamps 000100 aim_dir dm_no_firstref_util_$set_journal_stamps 000152 code dm_no_firstref_util_$set_journal_stamps 000153 is_using_dm dm_no_firstref_util_$set_journal_stamps 000154 journal_ix dm_no_firstref_util_$set_journal_stamps 000155 loop_index dm_no_firstref_util_$set_journal_stamps 000156 lot_ptr dm_no_firstref_util_$set_journal_stamps 000160 new_journal_stamp_time dm_no_firstref_util_$set_journal_stamps 000162 saved_level dm_no_firstref_util_$set_journal_stamps 000164 seg_ptr dm_no_firstref_util_$set_journal_stamps 000166 segno dm_no_firstref_util_$set_journal_stamps 000167 validation_level dm_no_firstref_util_$set_journal_stamps THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac signal_op enable_op ext_entry ext_entry_desc int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cu_$level_get cu_$level_set dm_hcs_$get_journal_stamp dm_hcs_$get_n_journals dm_hcs_$set_journal_stamp dm_misc_util_$get_aim_dir dm_misc_util_$is_process_using_dm get_process_id_ get_ring_ hcs_$fs_get_seg_ptr pathname_ term_$nomakeunknown term_$refname THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$no_user_dm dm_system_data_$initializer_processid LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 109 000165 96 000174 183 000213 187 000216 188 000233 190 000262 192 000264 196 000273 201 000311 203 000320 205 000344 207 000364 210 000405 213 000421 214 000427 216 000451 219 000466 221 000470 222 000506 224 000524 226 000527 239 000536 246 000550 248 000557 250 000603 252 000623 254 000646 257 000654 258 000660 259 000663 261 000671 263 000673 276 000705 279 000726 280 000737 282 001010 229 001017 232 001021 233 001023 234 001032 266 001033 269 001035 270 001040 271 001047 ----------------------------------------------------------- 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