COMPILATION LISTING OF SEGMENT dm_send_request_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 03/05/85 0901.7 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: ^indcomtxt */ 8 /* DESCRIPTION: 9* The subroutine interface to send wakeup to alleged daemon process 10* which is running the data management system. There is one entrypoint 11* for each request. 12**/ 13 14 /* HISTORY: 15* 16*Written by M. Pandolf, 10/27/82. 17*Modified: 18*11/04/82 by M. Pandolf: to add bury_dead_process entrypoint. 19*11/22/82 by M. Pandolf: to add new_proc entrypoint. 20*01/25/83 by M. Pandolf: to add adjust_tdt_entry entrypoint and to add the 21* name adjust_process_id to bury entry. 22*06/07/83 by M. Pandolf: to add flush_journals entrypoint. 23*07/26/83 by M. Pandolf: to add process_command entrypoint. 24*01/04/84 by L. A. Newcomb: renamed dm_gate_$get_aim_dir to 25* dm_gate_$dm_get_aim_dir to track the gates entries new name. 26*09/27/84 by Lee A. Newcomb: added the new_process_notifications entry, and 27* removed unused entry dm_send_request_. 28*10/29/84 by Lee A. Newcomb: Fixed to not use dm_ prefix on 29* dm_misc_util_$get_aim_dir. 30*12/08/84 by Lindsey L. Spratt: Removed the entryname bury_dead_process. 31* Removed entirely the entries: noop, flush_journals, terminate, 32* list_ref_names, process_command. 33*01/22/85 by R. Michael Tague: Added the kill_txn entry and changed the 34* new_process_notifications entry name to new_process_notifies. 35**/ 36 37 /* format: style4,indattr,ifthenstmt,ifthen,^indcomtxt,idind33 */ 38 39 dm_send_request_$shutdown: 40 proc (p_code); 41 42 43 /* START OF DECLARATIONS */ 44 45 /* Parameter */ 46 dcl ( 47 p_code fixed bin (35), 48 p_process_id bit (36), 49 p_txn_id bit (36) aligned, 50 p_txn_ix fixed bin (17) 51 ) parameter; 52 53 /* Automatic */ 54 dcl ( 55 message fixed bin (71), /* for wakeup call */ 56 emp pointer /* pointer to message */ 57 ) automatic; 58 59 /* Based */ 60 61 dcl 1 event_message aligned based (emp) like dm_request_message; 62 63 /* Builtin */ 64 dcl addr builtin; 65 66 /* Entry */ 67 dcl hcs_$wakeup entry (bit (36) aligned, fixed bin (71), fixed bin (71), fixed bin (35)) 68 external; 69 70 /* External */ 71 dcl ( 72 (dm_request_action_$adjust_process_id, 73 dm_request_action_$adjust_tdt, 74 dm_request_action_$adjust_tdt_entry, 75 dm_request_action_$adjust_txn, 76 dm_request_action_$kill_txn, 77 dm_request_action_$new_proc, 78 dm_request_action_$new_process_notifications, 79 dm_request_action_$shutdown) fixed bin, 80 dm_system_data_$initializer_event_chn fixed bin (71), 81 dm_system_data_$initializer_processid bit (36) aligned 82 ) external static; 83 84 /* END OF DECLARATIONS */ 85 86 /* dm_send_request_$shutdown: */ 87 /* proc (p_code); */ 88 89 p_code = 0; 90 message = 0; 91 emp = addr (message); 92 event_message.action_type = dm_request_action_$shutdown; 93 call SEND_MESSAGE (message, p_code); 94 return; 95 96 new_proc: 97 entry (p_code); 98 99 p_code = 0; 100 message = 0; 101 emp = addr (message); 102 event_message.action_type = dm_request_action_$new_proc; 103 call SEND_MESSAGE (message, p_code); 104 return; 105 106 adjust_txn: 107 entry (p_txn_id, p_txn_ix, p_code); 108 109 p_code = 0; 110 message = 0; 111 emp = addr (message); 112 emp -> dm_adjust_txn_message.action_type = dm_request_action_$adjust_txn; 113 emp -> dm_adjust_txn_message.transaction_index = p_txn_ix; 114 emp -> dm_adjust_txn_message.transaction_id = p_txn_id; 115 call SEND_MESSAGE (message, p_code); 116 return; 117 118 adjust_tdt_entry: 119 entry (p_txn_id, p_txn_ix, p_code); 120 121 p_code = 0; 122 message = 0; 123 emp = addr (message); 124 emp -> dm_adjust_tdt_entry_message.action_type = dm_request_action_$adjust_tdt_entry; 125 emp -> dm_adjust_tdt_entry_message.transaction_index = p_txn_ix; 126 emp -> dm_adjust_tdt_entry_message.transaction_id = p_txn_id; 127 call SEND_MESSAGE (message, p_code); 128 return; 129 130 adjust_tdt: 131 entry (p_code); 132 133 p_code = 0; 134 message = 0; 135 emp = addr (message); 136 event_message.action_type = dm_request_action_$adjust_tdt; 137 call SEND_MESSAGE (message, p_code); 138 return; 139 140 adjust_process_id: 141 entry (p_process_id, p_code); 142 143 p_code = 0; 144 message = 0; 145 emp = addr (message); 146 emp -> dm_adjust_process_id_message.action_type = dm_request_action_$adjust_process_id; 147 emp -> dm_adjust_process_id_message.process_id = p_process_id; 148 call SEND_MESSAGE (message, p_code); 149 return; 150 151 new_process_notifies: 152 entry (p_code); 153 154 p_code = 0; 155 message = 0; 156 emp = addr (message); 157 emp -> event_message.action_type = dm_request_action_$new_process_notifications; 158 call SEND_MESSAGE (message, p_code); 159 return; 160 161 kill_txn: 162 entry (p_txn_id, p_code); 163 164 p_code = 0; 165 message = 0; 166 emp = addr (message); 167 emp -> dm_kill_txn.action_type = dm_request_action_$kill_txn; 168 emp -> dm_kill_txn.transaction_id = p_txn_id; 169 call SEND_MESSAGE (message, p_code); 170 return; 171 172 173 174 /* INTERNAL PROCEDURE */ 175 176 SEND_MESSAGE: 177 procedure (sm_p_message, sm_p_code); 178 179 dcl ( 180 sm_p_message fixed bin (71), 181 sm_p_code fixed bin (35) 182 ) parameter; 183 184 /* get the process and event channel from dm_system_data_ and send wakeup */ 185 186 call hcs_$wakeup (dm_system_data_$initializer_processid, 187 dm_system_data_$initializer_event_chn, 188 sm_p_message, 189 sm_p_code); 190 191 return; 192 end SEND_MESSAGE; 193 1 1 /* BEGIN INCLUDE FILE dm_request_message.incl.pl1 */ 1 2 1 3 /* DESCRIPTION 1 4* This include file describes the format of messages sent to the 1 5* data management daemon process. All messages begin with a common 1 6* header, and contain information specific to the request within 1 7* the message. 1 8**/ 1 9 1 10 /* HISTORY 1 11*Written by M. Pandolf, 10/28/82. 1 12*Modified: 1 13*11/04/82 by M. Pandolf: to add dm_adjust_bjt_message. 1 14*01/25/83 by M. Pandolf: to add dm_adjust_tdt_entry_message and to replace 1 15* dm_bury message with dm_adjust_process_id. 1 16*03/11/83 by to M. Pandolf: to add list_ref_names and terminate. 1 17*11/28/84 by R. Michael Tague: added dm_adjust_process_id_word_1 and 1 18* dm_alarm_message. 1 19*01/22/85 by R. Michael Tague: added dm_kill_txn and changed the entry 1 20* new_process_notifications to new_process_notifies. 1 21**/ 1 22 1 23 /* format: style5,^indcomtxt */ 1 24 dcl dm_request_message_ptr pointer; 1 25 1 26 dcl 1 dm_request_message aligned based (dm_request_message_ptr), 1 27 ( 2 action_type fixed bin (17), 1 28 2 action_specific_data 1 29 bit (54) 1 30 ) unaligned; 1 31 1 32 dcl 1 dm_terminate_segno_message 1 33 aligned based (dm_request_message_ptr), 1 34 ( 2 action_type fixed bin (17), 1 35 2 segment_number bit (18), 1 36 2 pad fixed bin (35) 1 37 ) unaligned; 1 38 1 39 dcl 1 dm_adjust_txn_message aligned based (dm_request_message_ptr), 1 40 ( 2 action_type fixed bin (17), 1 41 2 transaction_index fixed bin (17), 1 42 2 transaction_id bit (36) 1 43 ) unaligned; 1 44 1 45 dcl 1 dm_adjust_tdt_entry_message 1 46 aligned based (dm_request_message_ptr), 1 47 ( 2 action_type fixed bin (17), 1 48 2 transaction_index fixed bin (17), 1 49 2 transaction_id bit (36) 1 50 ) unaligned; 1 51 1 52 dcl 1 dm_adjust_process_id_message 1 53 aligned based (dm_request_message_ptr), 1 54 ( 2 action_type fixed bin (17), 1 55 2 pad fixed bin (17), 1 56 2 process_id bit (36) 1 57 ) unaligned; 1 58 1 59 dcl 1 dm_adjust_process_id_word_1 1 60 aligned based (dm_request_message_ptr), 1 61 2 action_type fixed bin (17) unaligned, 1 62 2 pad fixed bin (17) unaligned; 1 63 1 64 dcl 1 dm_kill_txn aligned based (dm_request_message_ptr), 1 65 2 action_type fixed bin (17) unaligned, 1 66 2 pad fixed bin (17) unaligned, 1 67 2 transaction_id bit (36) unaligned; 1 68 1 69 dcl dm_alarm_message char (8) aligned based (dm_request_message_ptr); 1 70 1 71 /* END INCLUDE FILE dm_request_message.incl.pl1 */ 194 195 196 197 end dm_send_request_$shutdown; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/05/85 0758.6 dm_send_request_.pl1 >spec>on>7138.pbf>dm_send_request_.pl1 194 1 03/05/85 0800.2 dm_request_message.incl.pl1 >spec>on>7138.pbf>dm_request_message.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. action_type based fixed bin(17,0) level 2 in structure "dm_adjust_process_id_message" packed unaligned dcl 1-52 in procedure "dm_send_request_$shutdown" set ref 146* action_type based fixed bin(17,0) level 2 in structure "dm_adjust_tdt_entry_message" packed unaligned dcl 1-45 in procedure "dm_send_request_$shutdown" set ref 124* action_type based fixed bin(17,0) level 2 in structure "dm_adjust_txn_message" packed unaligned dcl 1-39 in procedure "dm_send_request_$shutdown" set ref 112* action_type based fixed bin(17,0) level 2 in structure "dm_kill_txn" packed unaligned dcl 1-64 in procedure "dm_send_request_$shutdown" set ref 167* action_type based fixed bin(17,0) level 2 in structure "event_message" packed unaligned dcl 61 in procedure "dm_send_request_$shutdown" set ref 92* 102* 136* 157* addr builtin function dcl 64 ref 91 101 111 123 135 145 156 166 dm_adjust_process_id_message based structure level 1 dcl 1-52 dm_adjust_tdt_entry_message based structure level 1 dcl 1-45 dm_adjust_txn_message based structure level 1 dcl 1-39 dm_kill_txn based structure level 1 dcl 1-64 dm_request_action_$adjust_process_id 000012 external static fixed bin(17,0) dcl 71 ref 146 dm_request_action_$adjust_tdt 000014 external static fixed bin(17,0) dcl 71 ref 136 dm_request_action_$adjust_tdt_entry 000016 external static fixed bin(17,0) dcl 71 ref 124 dm_request_action_$adjust_txn 000020 external static fixed bin(17,0) dcl 71 ref 112 dm_request_action_$kill_txn 000022 external static fixed bin(17,0) dcl 71 ref 167 dm_request_action_$new_proc 000024 external static fixed bin(17,0) dcl 71 ref 102 dm_request_action_$new_process_notifications 000026 external static fixed bin(17,0) dcl 71 ref 157 dm_request_action_$shutdown 000030 external static fixed bin(17,0) dcl 71 ref 92 dm_request_message based structure level 1 dcl 1-26 dm_system_data_$initializer_event_chn 000032 external static fixed bin(71,0) dcl 71 set ref 186* dm_system_data_$initializer_processid 000034 external static bit(36) dcl 71 set ref 186* emp 000102 automatic pointer dcl 54 set ref 91* 92 101* 102 111* 112 113 114 123* 124 125 126 135* 136 145* 146 147 156* 157 166* 167 168 event_message based structure level 1 dcl 61 hcs_$wakeup 000010 constant entry external dcl 67 ref 186 message 000100 automatic fixed bin(71,0) dcl 54 set ref 90* 91 93* 100* 101 103* 110* 111 115* 122* 123 127* 134* 135 137* 144* 145 148* 155* 156 158* 165* 166 169* p_code parameter fixed bin(35,0) dcl 46 set ref 39 89* 93* 96 99* 103* 106 109* 115* 118 121* 127* 130 133* 137* 140 143* 148* 151 154* 158* 161 164* 169* p_process_id parameter bit(36) unaligned dcl 46 ref 140 147 p_txn_id parameter bit(36) dcl 46 ref 106 114 118 126 161 168 p_txn_ix parameter fixed bin(17,0) dcl 46 ref 106 113 118 125 process_id 1 based bit(36) level 2 packed unaligned dcl 1-52 set ref 147* sm_p_code parameter fixed bin(35,0) dcl 179 set ref 176 186* sm_p_message parameter fixed bin(71,0) dcl 179 set ref 176 186* transaction_id 1 based bit(36) level 2 in structure "dm_adjust_txn_message" packed unaligned dcl 1-39 in procedure "dm_send_request_$shutdown" set ref 114* transaction_id 1 based bit(36) level 2 in structure "dm_kill_txn" packed unaligned dcl 1-64 in procedure "dm_send_request_$shutdown" set ref 168* transaction_id 1 based bit(36) level 2 in structure "dm_adjust_tdt_entry_message" packed unaligned dcl 1-45 in procedure "dm_send_request_$shutdown" set ref 126* transaction_index 0(18) based fixed bin(17,0) level 2 in structure "dm_adjust_tdt_entry_message" packed unaligned dcl 1-45 in procedure "dm_send_request_$shutdown" set ref 125* transaction_index 0(18) based fixed bin(17,0) level 2 in structure "dm_adjust_txn_message" packed unaligned dcl 1-39 in procedure "dm_send_request_$shutdown" set ref 113* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. dm_adjust_process_id_word_1 based structure level 1 dcl 1-59 dm_alarm_message based char(8) dcl 1-69 dm_request_message_ptr automatic pointer dcl 1-24 dm_terminate_segno_message based structure level 1 dcl 1-32 NAMES DECLARED BY EXPLICIT CONTEXT. SEND_MESSAGE 000400 constant entry internal dcl 176 ref 93 103 115 127 137 148 158 169 adjust_process_id 000244 constant entry external dcl 140 adjust_tdt 000206 constant entry external dcl 130 adjust_tdt_entry 000145 constant entry external dcl 118 adjust_txn 000104 constant entry external dcl 106 dm_send_request_$shutdown 000013 constant entry external dcl 39 kill_txn 000343 constant entry external dcl 161 new_proc 000046 constant entry external dcl 96 new_process_notifies 000305 constant entry external dcl 151 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 646 704 421 656 Length 1124 421 36 203 225 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dm_send_request_$shutdown 94 external procedure is an external procedure. SEND_MESSAGE internal procedure shares stack frame of external procedure dm_send_request_$shutdown. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dm_send_request_$shutdown 000100 message dm_send_request_$shutdown 000102 emp dm_send_request_$shutdown THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. hcs_$wakeup THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_request_action_$adjust_process_id dm_request_action_$adjust_tdt dm_request_action_$adjust_tdt_entry dm_request_action_$adjust_txn dm_request_action_$kill_txn dm_request_action_$new_proc dm_request_action_$new_process_notifications dm_request_action_$shutdown dm_system_data_$initializer_event_chn dm_system_data_$initializer_processid LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 39 000010 89 000023 90 000024 91 000026 92 000030 93 000033 94 000043 96 000044 99 000056 100 000057 101 000061 102 000063 103 000067 104 000077 106 000100 109 000114 110 000115 111 000117 112 000121 113 000125 114 000130 115 000132 116 000142 118 000143 121 000155 122 000156 123 000160 124 000162 125 000166 126 000171 127 000173 128 000203 130 000204 133 000216 134 000217 135 000221 136 000223 137 000227 138 000237 140 000240 143 000254 144 000255 145 000257 146 000261 147 000265 148 000272 149 000302 151 000303 154 000315 155 000316 156 000320 157 000322 158 000326 159 000336 161 000337 164 000353 165 000354 166 000356 167 000360 168 000364 169 000367 170 000377 176 000400 186 000402 191 000420 ----------------------------------------------------------- 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