COMPILATION LISTING OF SEGMENT tm_bump_all Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 10/28/86 1518.2 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* This procedure is called by the Daemon via the transaction_manaager_ to 9* logout anyone who is still using the DM system. This is used in conjunction 10* with DM shutdown. 11**/ 12 13 /* HISTORY: 14*Written by R. Michael Tague, 12/06/84. 15*Modified: 16*12/19/84 by R. Michael Tague: changed format style to not mess up history. 17*01/16/85 by R. Michael Tague: Made an ERROR_RETURN procedure, declared the 18* addr and size builtins, changed the BUMP_USER procedure parameters 19* prefixes. 20*03/05/85 by Steve Herbst: Replaced dm_log_ with dm_misc_util_$log. 21*03/06/85 by R. Michael Tague: Elaborated the history notice of 01/16/85, 22* removed the null and sub_err_ declarations, put in a statement to 23* initialize code to zero, and changed the bump grace time to zero 24* instead of 5 seconds. 25**/ 26 27 /* format: style5,^indcomtxt */ 28 29 tm_bump_all: 30 proc (); 31 32 /* START OF DECLARATIONS */ 33 /* Parameter */ 34 35 /* Automatic */ 36 37 dcl as_request_channel fixed bin (71); 38 dcl as_request_dir char (168); 39 dcl as_request_proc_id bit (36) aligned; 40 dcl as_request_seg char (32); 41 dcl as_request_uid bit (72) aligned; 42 dcl 1 bump_user_info aligned like asr_bump_user_info; 43 44 dcl code fixed bin (35); 45 dcl failed_bumps fixed bin; 46 dcl successful_bumps fixed bin; 47 dcl tdt_index fixed bin; 48 49 /* Based */ 50 /* Builtin */ 51 52 dcl (addr, fixed, size) builtin; 53 54 /* Constant */ 55 56 dcl BITS_PER_WORD fixed bin init (36) int static 57 options (constant); 58 dcl myname char (32) init ("tm_bump_all") 59 int static options (constant); 60 61 /* Entry */ 62 63 dcl dm_misc_util_$log entry options (variable); 64 dcl hcs_$wakeup entry (bit (36) aligned, fixed bin (71), 65 fixed bin (71), fixed bin (35)); 66 dcl message_segment_$add_file 67 entry (char (*), char (*), ptr, 68 fixed bin (18), bit (72) aligned, 69 fixed bin (35)); 70 dcl system_info_$request_chn 71 entry (bit (36) aligned, fixed bin (71), 72 char (*), char (*)); 73 74 75 /* External */ 76 77 dcl dm_data_$tm_tdt_ptr ptr ext; 78 dcl dm_system_data_$initializer_processid 79 bit (36) aligned ext; 80 dcl error_table_$unimplemented_version 81 fixed bin (35) ext; 82 83 /* END OF DECLARATIONS */ 84 85 /* ************************************************************************* 86* * tm_bump_all - This is the main procedure. We fill out the * 87* * bump_user_info structure with everything except the process_id, we * 88* * then walk the TDT calling BUMP_USER for each process_id. * 89* * BUMP_USER will fill in the process_id in the bump_user_info structure * 90* * and send an ASR_BUMP_USER request to the Answering Service to logout * 91* * the specified process. * 92* ************************************************************************* */ 93 94 code = 0; 95 tm_tdt_ptr = dm_data_$tm_tdt_ptr; 96 call CHECK_VERSION (tm_tdt.version, (TM_TDT_VERSION_3), "tm_tdt"); 97 98 bump_user_info.header.version = as_request_version_1; 99 bump_user_info.header.type = ASR_BUMP_USER; 100 bump_user_info.header.reply_channel = 0; 101 bump_user_info.version = asr_bump_user_info_version_1; 102 bump_user_info.message = 103 "Due to your failure or inability to exit the Data Management System" 104 ; 105 bump_user_info.grace_time_in_seconds = 0; 106 bump_user_info.reply_reference_id = "0"b; 107 call system_info_$request_chn (as_request_proc_id, as_request_channel, 108 as_request_dir, as_request_seg); 109 110 failed_bumps = 0; 111 successful_bumps = 0; 112 do tdt_index = 1 to tm_tdt.entry_count; 113 if tm_tdt.process_id (tdt_index) ^= "0"b 114 & tm_tdt.process_id (tdt_index) 115 ^= dm_system_data_$initializer_processid then 116 do; 117 call BUMP_USER (tm_tdt.process_id (tdt_index), code); 118 if code = 0 then 119 successful_bumps = successful_bumps + 1; 120 else 121 failed_bumps = failed_bumps + 1; 122 end; 123 end; 124 if failed_bumps > 0 then 125 call dm_misc_util_$log (ERROR_SV, 0, myname, 126 "^/Unable to bump ^i users of ^i users to be bumped.", 127 failed_bumps, failed_bumps + successful_bumps); 128 call RETURN (); 129 130 MAIN_RETURN: 131 return; 132 133 /* ************************************************************************* 134* * BUMP_USER -Given a user process id, this routine sends a request to * 135* * the Answering Service to bump that user. We assume that except for * 136* * the process id, the global structure asr_bump_user_info has been * 137* * filled in. as_request_channel, as_request_dir, as_request_proc_id, * 138* * as_request_seg, and as_request_uid are global values that contain * 139* * information needed to send a request to the Answering Service. * 140* ************************************************************************* */ 141 142 BUMP_USER: 143 proc (bu_p_process_id, bu_p_code); 144 dcl bu_p_process_id bit (36) aligned; 145 dcl bu_p_code fixed bin (35); 146 147 bump_user_info.process_id = bu_p_process_id; 148 call message_segment_$add_file (as_request_dir, as_request_seg, 149 addr (bump_user_info), BITS_PER_WORD * size (bump_user_info), 150 as_request_uid, bu_p_code); 151 if bu_p_code ^= 0 then 152 call dm_misc_util_$log (ERROR_SV, bu_p_code, myname, 153 "^/Cannot add to Answering Servce request message segment.^/Cannot send bump request." 154 ); 155 else 156 do; 157 call hcs_$wakeup (as_request_proc_id, as_request_channel, 158 fixed (as_request_uid), bu_p_code); 159 if bu_p_code ^= 0 then 160 call dm_misc_util_$log (ERROR_SV, bu_p_code, myname, 161 "^/Cannot send IPC wakeup to Answering Service.^/Cannot send bump request." 162 ); 163 end; 164 end BUMP_USER; 165 166 /* ************************************************************************* 167* * CHECK_VERSION - Checks the character version structure. * 168* ************************************************************************* */ 169 170 CHECK_VERSION: 171 proc (cv_p_input_version, cv_p_expected_version, cv_p_structure_name); 172 dcl ( 173 cv_p_input_version char (8) aligned, 174 cv_p_expected_version char (8) aligned, 175 cv_p_structure_name char (*) 176 ) parameter; 177 178 if cv_p_input_version ^= cv_p_expected_version then 179 do; 180 call dm_misc_util_$log (ERROR_SV, 181 error_table_$unimplemented_version, myname, 182 "Expected version ^a of structure ^a, received ^a.", 183 cv_p_expected_version, cv_p_structure_name, 184 cv_p_input_version); 185 call ERROR_RETURN (); 186 end; 187 end CHECK_VERSION; 188 189 /* ************************************************************************* 190* * RETURN - All returns from this program come through here. * 191* ************************************************************************* */ 192 193 RETURN: 194 proc (); 195 196 go to MAIN_RETURN; 197 end RETURN; 198 199 /* ************************************************************************* 200* * ERROR_RETURN - For error exits. No clean up required in this program.* 201* ************************************************************************* */ 202 203 ERROR_RETURN: 204 proc (); 205 206 call RETURN (); 207 end ERROR_RETURN; 208 1 1 /* BEGIN INCLUDE FILE ... as_request_header.incl.pl1 */ 1 2 1 3 /* DESCRIPTION: 1 4* Answering Service request information. 1 5**/ 1 6 1 7 1 8 /****^ HISTORY COMMENTS: 1 9* 1) change(00-01-01,JRandom), approve(), audit(), install(): 1 10* Written by someone, at sometime. 1 11* 2) change(84-09-10,Tague), approve(), audit(), install(): 1 12* R. Michael Tague: Added ASR_BUMP_USER request. 1 13* 3) change(84-10-04,Margulies), approve(), audit(), install(): 1 14* BIM: ASR_ADMIN_COMMAND. 1 15* 4) change(85-01-23,Swenson), approve(), audit(), install(): 1 16* E. Swenson for ASR_NOTE_PNT_CHANGE. 1 17* 5) change(85-02-18,Margulies), approve(), audit(), install(): 1 18* BIM: ASR_DAEMON_COMMAND, ASR_COM_CHANNEL_INFO 1 19* 6) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 1 20* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 1 21* Jim Lippard: Added ASR_ABS_COMMAND request. 1 22* END HISTORY COMMENTS */ 1 23 1 24 1 25 /* format: style4 */ 1 26 1 27 dcl as_request_version_1 fixed bin internal static initial (1) options (constant); 1 28 1 29 dcl ( 1 30 ASR_FIRST_TYPE initial (1), 1 31 ASR_DIAL_SERVER initial (1), 1 32 ASR_DIAL_OUT initial (2), 1 33 ASR_FPE_CAUSES_LOGOUT initial (3), 1 34 ASR_FPE_CAUSES_NEW_PROC initial (4), 1 35 ASR_PROC_TERM_NOTIFY initial (5), 1 36 ASR_BUMP_USER initial (6), 1 37 ASR_ADMIN_COMMAND initial (7), 1 38 ASR_NOTE_PNT_CHANGE initial (8), 1 39 ASR_DAEMON_COMMAND initial (9), 1 40 ASR_COM_CHANNEL_INFO initial (10), 1 41 ASR_ABS_COMMAND initial (11), 1 42 ASR_LAST_TYPE initial (11) 1 43 ) fixed bin internal static options (constant); 1 44 1 45 dcl ASR_DEFER_IN_ADMIN_MODE (1:11) bit (1) int static options (constant) 1 46 init ((6) (1) "0"b, "1"b, (4) (1) "0"b); 1 47 1 48 dcl ASR_REQUEST_NAMES (1:11) int static options (constant) 1 49 char (40) init ( 1 50 "Dial request", 1 51 "Dial out request", 1 52 "Logout on fatal process error", 1 53 "New process on fatal process error", 1 54 "Monitor process terminations", 1 55 "Bump user", 1 56 "Execute admin command", 1 57 "Note PNT change", 1 58 "Daemon command", 1 59 "Communications channel info", 1 60 "Absentee command"); 1 61 1 62 dcl 1 as_request_header based aligned, 1 63 2 version fixed bin, /* version number */ 1 64 2 type fixed bin, /* what to do */ 1 65 2 reply_channel fixed bin (71); /* who to tell */ 1 66 1 67 1 68 /* END INCLUDE FILE ... as_request_header.incl.pl1 */ 209 210 2 1 /* BEGIN INCLUDE FILE ... as_requests.incl.pl1 */ 2 2 /* DESCRIPTION: 2 3* This include file is the repository of as_request_ structures which are 2 4* not so complicated or arcane as to require their own include file. 2 5* It requires as_request_header.incl.pl1 2 6**/ 2 7 2 8 /* HISTORY: 2 9* Written by someone, at sometime. 2 10* Modified: 2 11* 09/10/84 by R. Michael Tague: Add the structure asr_bump_user_info 2 12* and asr_reply_bump_user. 2 13* 01/23/85 by E. Swenson: Add the asr_note_pnt_change_info structure. 2 14**/ 2 15 2 16 /* format: style4 */ 2 17 2 18 /*** return status from an as_request_ call. ***/ 2 19 2 20 dcl asr_replyp ptr; 2 21 dcl 1 asr_reply aligned based (asr_replyp), /* IPC status return for a.s. request */ 2 22 2 code fixed bin (35), /* standard error code */ 2 23 2 data bit (36); /* other data */ 2 24 2 25 /*** request to monitor process destructions, and the destruction notification ***/ 2 26 2 27 dcl asr_buzzard_info_version_1 char (8) init ("buzzard1") int static options (constant); 2 28 dcl asr_buzzard_infop ptr; 2 29 dcl 1 asr_buzzard_info aligned based (asr_buzzard_infop), /* for watching dying processes */ 2 30 2 header aligned like as_request_header, 2 31 2 version char (8), 2 32 2 info_channel fixed bin (71), /* IPC channel to send processid wakeup messges */ 2 33 2 my_reference_id bit (36); /* becomes top 36 bits of death notice */ 2 34 2 35 dcl 1 asr_buzzard_notification aligned based (asr_replyp), /* message on process destruction */ 2 36 2 your_reference_id bit (36), /* from asr_buzzard_info.my_reference_id */ 2 37 2 process_id bit (36); /* process id of dead process */ 2 38 2 39 /* *********************************************************************** 2 40* * asr_bump_user_info - Message segment info structure for the * 2 41* * ASR_BUMP_USER requests. * 2 42* * process-id - process_id of process to be bumped. * 2 43* * message - message to be splat across user terminal when * 2 44* * the bump is begun, i.e., the grace time starts. * 2 45* * No message is sent if message = "". * 2 46* * grace_time_in_seconds * 2 47* * - Amount of time given to the user before the * 2 48* * user's process is actually terminated. * 2 49* * reply_reference_id * 2 50* * - Reference id that will be returned in the * 2 51* * as_reply_bump_user structure. A reply channel * 2 52* * must be specified in reply_channel in the * 2 53* * header of this structure. The reply message * 2 54* * will have the sturcture of asr_reply_bump_user. * 2 55* *********************************************************************** */ 2 56 2 57 dcl asr_bump_user_info_version_1 char (8) init ("asrbump1") int static options (constant); 2 58 2 59 dcl asr_bump_user_info_ptr ptr; 2 60 dcl 1 asr_bump_user_info aligned based (asr_bump_user_info_ptr), 2 61 2 header aligned like as_request_header, 2 62 2 version char (8), 2 63 2 process_id bit (36), 2 64 2 message char (100) unaligned, 2 65 2 grace_time_in_seconds fixed bin, 2 66 2 reply_reference_id bit (36); 2 67 2 68 /* *********************************************************************** 2 69* * asr_reply_bump_user - Structure sent with the IPC reply upon * 2 70* * initiating the bump. Note: the actual * 2 71* * bump does not take place until after the * 2 72* * given of default grace time. * 2 73* * code - Standard system status code. * 2 74* * reference_id * 2 75* * - Reference id supplied in asr_bump_user_info when * 2 76* * bump user request was made. * 2 77* *********************************************************************** */ 2 78 2 79 dcl 1 asr_reply_bump_user aligned based (asr_replyp), 2 80 2 code fixed bin (35), 2 81 2 reference_id bit (36); 2 82 2 83 2 84 dcl asr_admin_command_info_ptr pointer; 2 85 dcl 1 asr_admin_command_info aligned based (asr_admin_command_info_ptr), 2 86 2 header aligned like as_request_header, 2 87 2 version char (8), 2 88 2 flags aligned, 2 89 3 send_start_wakeup bit (1) unaligned, /* over reply channel */ 2 90 3 send_completion_wakeup bit (1) unaligned, /* over reply channel */ 2 91 3 send_completion_message bit (1) unaligned, 2 92 3 send_completion_mail bit (1) unaligned, 2 93 3 dialog bit (1) unaligned, /* NOT YET IMPLEMENTED */ 2 94 3 pad bit (31) unaligned, 2 95 2 dialog_info aligned, /* NOT YET IMPLEMENTED */ 2 96 3 event_channel fixed bin (71), /* NOTIFY ME ON READ/RIGHT */ 2 97 3 output_message_segment_pathname char (200) unaligned, /* Writes go here */ 2 98 3 input_message_segment_pathname char (200) unaligned, /* Reads come here */ 2 99 2 mail_destination char (200) unaligned, 2 100 2 command_length fixed bin (21), 2 101 2 command char (asr_ac_length refer (asr_admin_command_info.command_length)) unaligned; 2 102 2 103 /* See admin_dialog_info.incl.pl1 for related structures */ 2 104 2 105 dcl asr_ac_length fixed bin (21); 2 106 dcl ASR_AC_VERSION_1 char (8) init ("asrac001") int static options (constant); 2 107 2 108 dcl 1 asr_reply_admin_command aligned based (asr_replyp), 2 109 2 code fixed bin (35), 2 110 2 flags aligned, 2 111 3 command_refused bit (1) unaligned, 2 112 3 command_started bit (1) unaligned, 2 113 3 command_completed bit (1) unaligned, /* with or without errors */ 2 114 3 command_aborted bit (1) unaligned, 2 115 3 command_had_errors bit (1) unaligned, /* at least one error */ 2 116 3 pad bit (31) unaligned; 2 117 2 118 /**** The following structure is used by the Ring-1 PNT software to 2 119* notify the answering service of a PNT change which might affect 2 120* logged in processes. */ 2 121 2 122 dcl asr_note_pnt_change_info_ptr ptr; 2 123 2 124 dcl 1 asr_note_pnt_change_info structure aligned based (asr_note_pnt_change_info_ptr), 2 125 2 header aligned like as_request_header, 2 126 2 version char (8), 2 127 2 person_id char (32); 2 128 2 129 dcl ASR_NPC_INFO_VERSION_1 char (8) initial ("asrnpc01") internal static options (constant); 2 130 2 131 /* END INCLUDE FILE ... as_requests.incl.pl1 */ 211 212 3 1 /* BEGIN INCLUDE FILE dm_log_sv_codes.incl.pl1 */ 3 2 3 3 /* format: ^indcom */ 3 4 3 5 /* DESCRIPTION: 3 6* These are the severity codes used by the dms daemon when calling its logger. 3 7* The severity is ranked thusly: 3 8* 3 9* severity log write situation 3 10* -------- --- ----- --------- 3 11* 0 no yes standard output, query, etc. 3 12* 1 yes yes fatal error, terminate dms daemon. 3 13* 2 yes yes nonfatal error. 3 14* 3 yes yes informative message. 3 15* 4 yes no log information only. 3 16**/ 3 17 3 18 /* HISTORY: 3 19* 3 20*Written by M. Pandolf, 10/06/82. 3 21*Modified: 3 22*12/10/84 by R. Michael Tague: Rename and reformat description/history. 3 23*01/13/85 by Lee A. Newcomb: Renamed to dm_log_sv_codes from 3 24* dm_daemon_sv_codes as the severity codes for the DM log are not 3 25* restrained to the DM Daemon's use. 3 26*01/24/85 by Lee A. Newcomb: Fixed to say dm_log_sv_codes.incl.pl1 in the 3 27* BEGIN and END INCLUDE comments, instead of dm_daemon_sv_codes.==. 3 28**/ 3 29 3 30 /* format: style5 */ 3 31 3 32 dcl (PRINT_SV, QUERY_SV) fixed bin internal static 3 33 options (constant) init (0); 3 34 dcl (CRASH_SV, FATAL_SV) fixed bin internal static 3 35 options (constant) init (1); 3 36 dcl ERROR_SV fixed bin internal static 3 37 options (constant) init (2); 3 38 dcl INFORM_SV fixed bin internal static 3 39 options (constant) init (3); 3 40 dcl LOG_SV fixed bin internal static 3 41 options (constant) init (4); 3 42 3 43 /* END INCLUDE FILE dm_log_sv_codes.incl.pl1 */ 213 214 4 1 /* START OF: dm_tm_tdt.incl.pl1 */ 4 2 4 3 /* Transaction Definition Table for transaction_manager_ */ 4 4 /* This structure is used to reference the TDT. The process_id field for the 4 5* i'th TDT entry, for example, is usually referenced as tm_tdt.process_id (i). 4 6* A TDT entry is in use by a process when its process_id field is nonzero. 4 7* An entry is reserved by using the stacq builtin to set process_id, if and 4 8* only if it is already zero. The entry is being used for a transaction when 4 9* tm_tdt.txn_id (i) is nonzero. The possible values of tm_tdt.state (i) are 4 10* listed in dm_tm_states.incl.pl1. If state = 0, no operation has been 4 11* performed yet on the transaction. */ 4 12 4 13 4 14 /* HISTORY: 4 15*Designed by Matt Pierret, 01/26/82. 4 16*Coded by Steve Herbst, 07/27/82. 4 17*Modified: 4 18*08/05/82 by Steve Herbst: Added tm_tdt.operation and padded last_uid to full word. 4 19*08/05/82 by Steve Herbst: Changed creator_process_id to bit (36). 4 20*08/16/82 by Steve Herbst: Added contents of dm_tm_tdt_entry.incl.pl1. 4 21*09/09/82 by Steve Herbst: Removed in_use flag from TDT entry and rearranged fields. 4 22*09/20/82 by Steve Herbst: Removed tm_tdt.operation. 4 23*11/01/82 by Steve Herbst: Added event_channel and error_sw to tm_tdt_entry. 4 24*11/05/82 by Steve Herbst: Added suspended_sw and error_code to tm_tdt_entry. 4 25*11/11/82 by Steve Herbst: Deleted tm_tdt_entry.alloc_complete. 4 26*11/23/82 by Steve Herbst: Compacted, changed some numbers to unsigned. 4 27*12/14/82 by Steve Herbst: Added tm_tdt_entry.daemon_error_sw. 4 28*01/11/83 by Steve Herbst: Added owner_name, abandoned_sw & kill_sw to tm_tdt_entry. 4 29*01/24/83 by Steve Herbst: Replaced daemon_error_sw with daemon_adjust_count. 4 30*01/25/83 by Steve Herbst: Moved abandoned_sw from transaction portion to entry header portion. 4 31*05/13/83 by Steve Herbst: Version 3, changed all fixed bin (18) unal uns numbers to fixed bin (17) unaligned. 4 32*05/26/83 by Steve Herbst: Added rollback_count and checkpoint_id. 4 33**/ 4 34 4 35 dcl tm_tdt_ptr ptr; 4 36 dcl tdt_max_count fixed bin; 4 37 4 38 dcl TM_TDT_VERSION_3 char (8) int static options (constant) init ("TM-TDT 3"); 4 39 4 40 4 41 dcl 1 tm_tdt aligned based (tm_tdt_ptr), 4 42 2 version char (8), /* = "TM-TDT 3" */ 4 43 2 lock fixed bin (71), /* (currently not used) */ 4 44 2 last_uid bit (27) aligned, /* last transaction uid assigned */ 4 45 2 flags, 4 46 3 no_begins bit (1) unaligned, /* ON => only priv process can begin transaction */ 4 47 3 mbz1 bit (35) unaligned, 4 48 2 entry_count fixed bin, /* number of slots allocated */ 4 49 2 mbz2 fixed bin, /* for even word boundary */ 4 50 2 entry (tdt_max_count refer (tm_tdt.entry_count)) 4 51 like tm_tdt_entry; 4 52 4 53 4 54 4 55 /* TDT entries: */ 4 56 4 57 dcl tm_tdt_entry_ptr ptr; 4 58 4 59 dcl 1 tm_tdt_entry aligned based (tm_tdt_entry_ptr), 4 60 2 event_channel fixed bin (71), /* for communication with the process */ 4 61 2 process_id bit (36) aligned, /* process for which this entry is reserved */ 4 62 2 owner_name char (32), /* person.project of owner process */ 4 63 2 entry_flags, 4 64 3 abandoned_sw bit (1) unaligned, /* ON => owner has called tm_$abandon on this entry */ 4 65 3 mbz3 bit (35) unaligned, 4 66 2 transaction unaligned, 4 67 3 txn_id bit (36) aligned, /* unique identifier assigned at begin time */ 4 68 3 date_time_created fixed bin (71) aligned, 4 69 3 mode fixed bin (17) unaligned, /* mode specified with transaction begin */ 4 70 3 state fixed bin (17) unaligned, /* state transaction is currently in */ 4 71 3 error_code fixed bin (35) aligned, /* goes along with error_sw and error state */ 4 72 3 checkpoint_id fixed bin (17) unaligned, /* identifier of the current rollback checkpoint */ 4 73 3 rollback_count fixed bin (17) unaligned, /* number of times bjm_$rollback has been called */ 4 74 3 daemon_adjust_count fixed bin (17) unaligned, /* number of times daemon has tried to adjust since user */ 4 75 3 return_idx fixed bin (17) unaligned, /* parent transaction, or zero */ 4 76 3 flags, 4 77 4 dead_process_sw bit (1) unaligned, /* ON => treat process as dead even if it isn't yet */ 4 78 4 suspended_sw bit (1) unaligned, /* ON => suspended by tm_$suspend_txn */ 4 79 4 error_sw bit (1) unaligned, /* ON => state is one of the error states */ 4 80 4 kill_sw bit (1) unaligned, /* ON => being processed by tm_$kill */ 4 81 4 mbz4 bit (29) unaligned, 4 82 3 post_commit_flags, 4 83 4 (fmgr, 4 84 bjmgr, 4 85 ajmgr) bit (1) unaligned, 4 86 3 mbz4 fixed bin; 4 87 4 88 4 89 /* END OF: dm_tm_tdt.incl.pl1 */ 215 216 217 end tm_bump_all; 218 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/86 1024.7 tm_bump_all.pl1 >special_ldd>install>MR12.0-1200>tm_bump_all.pl1 209 1 10/28/86 0942.5 as_request_header.incl.pl1 >special_ldd>install>MR12.0-1200>as_request_header.incl.pl1 211 2 02/12/85 1429.5 as_requests.incl.pl1 >ldd>include>as_requests.incl.pl1 213 3 03/06/85 1031.1 dm_log_sv_codes.incl.pl1 >ldd>include>dm_log_sv_codes.incl.pl1 215 4 01/07/85 0900.1 dm_tm_tdt.incl.pl1 >ldd>include>dm_tm_tdt.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. ASR_BUMP_USER constant fixed bin(17,0) initial dcl 1-29 ref 99 BITS_PER_WORD constant fixed bin(17,0) initial dcl 56 ref 148 ERROR_SV 000022 constant fixed bin(17,0) initial dcl 3-36 set ref 124* 151* 159* 180* TM_TDT_VERSION_3 000000 constant char(8) initial unaligned dcl 4-38 ref 96 addr builtin function dcl 52 ref 148 148 as_request_channel 000100 automatic fixed bin(71,0) dcl 37 set ref 107* 157* as_request_dir 000102 automatic char(168) unaligned dcl 38 set ref 107* 148* as_request_header based structure level 1 dcl 1-62 as_request_proc_id 000154 automatic bit(36) dcl 39 set ref 107* 157* as_request_seg 000155 automatic char(32) unaligned dcl 40 set ref 107* 148* as_request_uid 000166 automatic bit(72) dcl 41 set ref 148* 157 157 as_request_version_1 constant fixed bin(17,0) initial dcl 1-27 ref 98 asr_bump_user_info based structure level 1 dcl 2-60 asr_bump_user_info_version_1 000002 constant char(8) initial unaligned dcl 2-57 ref 101 bu_p_code parameter fixed bin(35,0) dcl 145 set ref 142 148* 151 151* 157* 159 159* bu_p_process_id parameter bit(36) dcl 144 ref 142 147 bump_user_info 000170 automatic structure level 1 dcl 42 set ref 148 148 148 code 000232 automatic fixed bin(35,0) dcl 44 set ref 94* 117* 118 cv_p_expected_version parameter char(8) dcl 172 set ref 170 178 180* cv_p_input_version parameter char(8) dcl 172 set ref 170 178 180* cv_p_structure_name parameter char unaligned dcl 172 set ref 170 180* dm_data_$tm_tdt_ptr 000020 external static pointer dcl 77 ref 95 dm_misc_util_$log 000010 constant entry external dcl 63 ref 124 151 159 180 dm_system_data_$initializer_processid 000022 external static bit(36) dcl 78 ref 113 entry 10 based structure array level 2 dcl 4-41 entry_count 6 based fixed bin(17,0) level 2 dcl 4-41 ref 112 error_table_$unimplemented_version 000024 external static fixed bin(35,0) dcl 80 set ref 180* failed_bumps 000233 automatic fixed bin(17,0) dcl 45 set ref 110* 120* 120 124 124* 124 fixed builtin function dcl 52 ref 157 157 grace_time_in_seconds 40 000170 automatic fixed bin(17,0) level 2 dcl 42 set ref 105* hcs_$wakeup 000012 constant entry external dcl 64 ref 157 header 000170 automatic structure level 2 dcl 42 message 7 000170 automatic char(100) level 2 packed unaligned dcl 42 set ref 102* message_segment_$add_file 000014 constant entry external dcl 66 ref 148 myname 000004 constant char(32) initial unaligned dcl 58 set ref 124* 151* 159* 180* process_id 12 based bit(36) array level 3 in structure "tm_tdt" dcl 4-41 in procedure "tm_bump_all" set ref 113 113 117* process_id 6 000170 automatic bit(36) level 2 in structure "bump_user_info" dcl 42 in procedure "tm_bump_all" set ref 147* reply_channel 2 000170 automatic fixed bin(71,0) level 3 dcl 42 set ref 100* reply_reference_id 41 000170 automatic bit(36) level 2 dcl 42 set ref 106* size builtin function dcl 52 ref 148 successful_bumps 000234 automatic fixed bin(17,0) dcl 46 set ref 111* 118* 118 124 system_info_$request_chn 000016 constant entry external dcl 70 ref 107 tdt_index 000235 automatic fixed bin(17,0) dcl 47 set ref 112* 113 113 117* tm_tdt based structure level 1 dcl 4-41 tm_tdt_entry based structure level 1 dcl 4-59 tm_tdt_ptr 000236 automatic pointer dcl 4-35 set ref 95* 96 112 113 113 117 type 1 000170 automatic fixed bin(17,0) level 3 dcl 42 set ref 99* version 000170 automatic fixed bin(17,0) level 3 in structure "bump_user_info" dcl 42 in procedure "tm_bump_all" set ref 98* version 4 000170 automatic char(8) level 2 in structure "bump_user_info" dcl 42 in procedure "tm_bump_all" set ref 101* version based char(8) level 2 in structure "tm_tdt" dcl 4-41 in procedure "tm_bump_all" set ref 96* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ASR_ABS_COMMAND internal static fixed bin(17,0) initial dcl 1-29 ASR_AC_VERSION_1 internal static char(8) initial unaligned dcl 2-106 ASR_ADMIN_COMMAND internal static fixed bin(17,0) initial dcl 1-29 ASR_COM_CHANNEL_INFO internal static fixed bin(17,0) initial dcl 1-29 ASR_DAEMON_COMMAND internal static fixed bin(17,0) initial dcl 1-29 ASR_DEFER_IN_ADMIN_MODE internal static bit(1) initial array unaligned dcl 1-45 ASR_DIAL_OUT internal static fixed bin(17,0) initial dcl 1-29 ASR_DIAL_SERVER internal static fixed bin(17,0) initial dcl 1-29 ASR_FIRST_TYPE internal static fixed bin(17,0) initial dcl 1-29 ASR_FPE_CAUSES_LOGOUT internal static fixed bin(17,0) initial dcl 1-29 ASR_FPE_CAUSES_NEW_PROC internal static fixed bin(17,0) initial dcl 1-29 ASR_LAST_TYPE internal static fixed bin(17,0) initial dcl 1-29 ASR_NOTE_PNT_CHANGE internal static fixed bin(17,0) initial dcl 1-29 ASR_NPC_INFO_VERSION_1 internal static char(8) initial unaligned dcl 2-129 ASR_PROC_TERM_NOTIFY internal static fixed bin(17,0) initial dcl 1-29 ASR_REQUEST_NAMES internal static char(40) initial array unaligned dcl 1-48 CRASH_SV internal static fixed bin(17,0) initial dcl 3-34 FATAL_SV internal static fixed bin(17,0) initial dcl 3-34 INFORM_SV internal static fixed bin(17,0) initial dcl 3-38 LOG_SV internal static fixed bin(17,0) initial dcl 3-40 PRINT_SV internal static fixed bin(17,0) initial dcl 3-32 QUERY_SV internal static fixed bin(17,0) initial dcl 3-32 asr_ac_length automatic fixed bin(21,0) dcl 2-105 asr_admin_command_info based structure level 1 dcl 2-85 asr_admin_command_info_ptr automatic pointer dcl 2-84 asr_bump_user_info_ptr automatic pointer dcl 2-59 asr_buzzard_info based structure level 1 dcl 2-29 asr_buzzard_info_version_1 internal static char(8) initial unaligned dcl 2-27 asr_buzzard_infop automatic pointer dcl 2-28 asr_buzzard_notification based structure level 1 dcl 2-35 asr_note_pnt_change_info based structure level 1 dcl 2-124 asr_note_pnt_change_info_ptr automatic pointer dcl 2-122 asr_reply based structure level 1 dcl 2-21 asr_reply_admin_command based structure level 1 dcl 2-108 asr_reply_bump_user based structure level 1 dcl 2-79 asr_replyp automatic pointer dcl 2-20 tdt_max_count automatic fixed bin(17,0) dcl 4-36 tm_tdt_entry_ptr automatic pointer dcl 4-57 NAMES DECLARED BY EXPLICIT CONTEXT. BUMP_USER 000373 constant entry internal dcl 142 ref 117 CHECK_VERSION 000551 constant entry internal dcl 170 ref 96 ERROR_RETURN 000643 constant entry internal dcl 203 ref 185 MAIN_RETURN 000372 constant label dcl 130 ref 196 RETURN 000641 constant entry internal dcl 193 ref 128 206 tm_bump_all 000166 constant entry external dcl 29 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1002 1030 646 1012 Length 1302 646 26 235 133 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tm_bump_all 346 external procedure is an external procedure. BUMP_USER internal procedure shares stack frame of external procedure tm_bump_all. CHECK_VERSION internal procedure shares stack frame of external procedure tm_bump_all. RETURN internal procedure shares stack frame of external procedure tm_bump_all. ERROR_RETURN internal procedure shares stack frame of external procedure tm_bump_all. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME tm_bump_all 000100 as_request_channel tm_bump_all 000102 as_request_dir tm_bump_all 000154 as_request_proc_id tm_bump_all 000155 as_request_seg tm_bump_all 000166 as_request_uid tm_bump_all 000170 bump_user_info tm_bump_all 000232 code tm_bump_all 000233 failed_bumps tm_bump_all 000234 successful_bumps tm_bump_all 000235 tdt_index tm_bump_all 000236 tm_tdt_ptr tm_bump_all THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. dm_misc_util_$log hcs_$wakeup message_segment_$add_file system_info_$request_chn THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_data_$tm_tdt_ptr dm_system_data_$initializer_processid error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 29 000165 94 000173 95 000174 96 000177 98 000222 99 000224 100 000226 101 000230 102 000232 105 000235 106 000236 107 000237 110 000264 111 000265 112 000266 113 000277 117 000306 118 000316 120 000322 123 000323 124 000325 128 000371 130 000372 142 000373 147 000375 148 000377 151 000442 157 000476 159 000515 164 000550 170 000551 178 000562 180 000573 185 000637 187 000640 193 000641 196 000642 203 000643 206 000644 207 000645 ----------------------------------------------------------- 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