COMPILATION LISTING OF SEGMENT tm_get_state_description Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1653.4 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* format: style4,ifthenstmt,^indproc,^indcomtxt */ 7 /* --------------- */ 8 9 tm_get_state_description: proc (A_state) returns (char (*)); 10 11 /* DESCRIPTION: 12* 13* Given a transaction's state (for example, tm_tdt.state (i)), returns 14* a character string describing that state. 15**/ 16 17 /* HISTORY: 18* 19*Written by Steve Herbst, 11/28/83. 20*Modified: 21*10/17/84 by Steve Herbst: Changed in response to audit comments. 22**/ 23 24 25 /* DECLARATIONS */ 26 27 /* Parameters */ 28 29 dcl A_state fixed bin parameter; 30 31 /* Constants */ 32 33 /* Based */ 34 35 /* Static */ 36 37 /* Automatic */ 38 39 dcl string char (64); 40 dcl state fixed bin; 41 dcl error_sw bit (1); 42 43 /* External */ 44 45 /* Entries */ 46 47 dcl ioa_$rsnnl entry options (variable); 48 49 /* Builtins */ 50 51 dcl (length, rtrim) builtin; 52 53 /* Conditions */ 54 55 /* END OF DECLARATIONS */ 56 57 state = A_state; 58 if state > TM_ERROR_INCREMENT then do; 59 error_sw = "1"b; 60 state = state - TM_ERROR_INCREMENT; 61 end; 62 else error_sw = "0"b; 63 64 if state = TM_IN_PROGRESS_STATE then string = "In Progress"; 65 else if state = TM_BEGIN_STARTING_STATE then string = "Begin, calling bjm_$write_begin_mark"; 66 else if state = TM_ABORT_FLUSHING_TXN_STATE then string = "Abort, calling bjm_$flush_transaction"; 67 else if state = TM_ABORT_ROLLING_BACK_STATE then string = "Abort, calling bjm_$rollback"; 68 else if state = TM_ABORT_FLUSHING_CI_STATE then string = "Abort, calling fm_$flush_modified_ci"; 69 else if state = TM_ABORT_WRITING_MARK_STATE then string = "Abort, calling bjm_$write_aborted_mark"; 70 else if state = TM_ABORT_UNLOCKING_STATE then string = "Abort completed, calling lm_$unlock_all"; 71 else if state = TM_ABORT_METERING_STATE then string = "Abort completed, metering"; 72 else if state = TM_COMMIT_FLUSHING_TXN_STATE then string = "Commit, calling bjm_$flush_transaction"; 73 else if state = TM_COMMIT_FLUSHING_CI_STATE then string = "Commit, calling fm_$flush_modified_ci"; 74 else if state = TM_COMMIT_WRITING_MARK_STATE then string = "Commit, calling bjm_$write_committed_mark"; 75 else if state = TM_COMMIT_POST_COMMIT_STATE then string = "Commit, post-commit"; 76 else if state = TM_COMMIT_UNLOCKING_STATE then string = "Commit completed, calling lm_$unlock_all"; 77 else if state = TM_COMMIT_METERING_STATE then string = "Commit completed, metering"; 78 else if state = TM_ROLLBACK_FLUSHING_TXN_STATE then string = "Rollback, calling bjm_$flush_transaction"; 79 else if state = TM_ROLLBACK_ROLLING_BACK_STATE then string = "Rollback, calling bjm_$rollback"; 80 else if state = TM_ROLLBACK_FLUSHING_CI_STATE then string = "Rollback, calling fm_$flush_modified_ci"; 81 else if state = TM_ROLLBACK_WRITING_MARK_STATE then string = "Rollback, calling bjm_$write_rolled_back_mark"; 82 else if state = TM_ROLLBACK_UNLOCKING_STATE then string = "Rollback completed, calling lm_$unlock_all"; 83 else if state = TM_ROLLBACK_METERING_STATE then string = "Rollback completed, metering"; 84 else call ioa_$rsnnl ("^d (undefined state)", string, length (string), A_state); 85 86 if error_sw then return ("Error - " || rtrim (string)); 87 else return (rtrim (string)); 88 1 1 /* START OF: dm_tm_states.incl.pl1 */ 1 2 1 3 /* HISTORY: 1 4* 1 5*Designed by Matthew Pierret, 01/26/82. 1 6*Coded by Steve Herbst, 08/05/82. 1 7*Modified: 1 8*09/20/82 by Steve Herbst: States renames for distinct operations. 1 9*10/05/82 by Steve Herbst: Added TM_ABORT_POST_COMMIT_STATE. 1 10*01/14/83 by Steve Herbst: Added TM_ERROR_INCREMENT. 1 11*01/18/83 by Steve Herbst: Added HIGHEST_ABORT_STATE, etc. 1 12*08/23/84 by Steve Herbst: Added OP_NAME... constants. 1 13**/ 1 14 1 15 1 16 /* NOTE: Changing this file necessitates changes tm_cleanup */ 1 17 1 18 dcl (HIGHEST_STATE init (96), 1 19 LOWEST_ABORT_STATE init (21), 1 20 HIGHEST_ABORT_STATE init (30), 1 21 LOWEST_COMMIT_STATE init (31), 1 22 HIGHEST_COMMIT_STATE init (40), 1 23 LOWEST_ROLLBACK_STATE init (41), 1 24 HIGHEST_ROLLBACK_STATE init (50)) fixed bin int static options (constant); 1 25 1 26 dcl TM_ERROR_INCREMENT fixed bin int static options (constant) init (50); 1 27 /* error state = corresponding pre-call state + 50 */ 1 28 1 29 1 30 dcl ( TM_IN_PROGRESS_STATE init (1), 1 31 1 32 TM_BEGIN_STARTING_STATE init (11), 1 33 1 34 TM_ABORT_FLUSHING_TXN_STATE init (21), 1 35 TM_ABORT_FLUSHING_TXN_ERROR init (71), 1 36 TM_ABORT_ROLLING_BACK_STATE init (22), 1 37 TM_ABORT_ROLLING_BACK_ERROR init (72), 1 38 TM_ABORT_FLUSHING_CI_STATE init (23), 1 39 TM_ABORT_FLUSHING_CI_ERROR init (73), 1 40 TM_ABORT_WRITING_MARK_STATE init (24), 1 41 TM_ABORT_WRITING_MARK_ERROR init (74), 1 42 TM_ABORT_UNLOCKING_STATE init (25), 1 43 TM_ABORT_UNLOCKING_ERROR init (75), 1 44 TM_ABORT_METERING_STATE init (26), 1 45 TM_ABORT_METERING_ERROR init (76), 1 46 1 47 TM_COMMIT_FLUSHING_TXN_STATE init (31), 1 48 TM_COMMIT_FLUSHING_TXN_ERROR init (81), 1 49 TM_COMMIT_FLUSHING_CI_STATE init (32), 1 50 TM_COMMIT_FLUSHING_CI_ERROR init (82), 1 51 TM_COMMIT_WRITING_MARK_STATE init (33), 1 52 TM_COMMIT_WRITING_MARK_ERROR init (83), 1 53 TM_COMMIT_POST_COMMIT_STATE init (34), 1 54 TM_COMMIT_POST_COMMIT_ERROR init (84), 1 55 TM_COMMIT_UNLOCKING_STATE init (35), 1 56 TM_COMMIT_UNLOCKING_ERROR init (85), 1 57 TM_COMMIT_METERING_STATE init (36), 1 58 TM_COMMIT_METERING_ERROR init (86), 1 59 1 60 TM_ROLLBACK_FLUSHING_TXN_STATE init (41), 1 61 TM_ROLLBACK_FLUSHING_TXN_ERROR init (91), 1 62 TM_ROLLBACK_ROLLING_BACK_STATE init (42), 1 63 TM_ROLLBACK_ROLLING_BACK_ERROR init (92), 1 64 TM_ROLLBACK_FLUSHING_CI_STATE init (43), 1 65 TM_ROLLBACK_FLUSHING_CI_ERROR init (93), 1 66 TM_ROLLBACK_WRITING_MARK_STATE init (44), 1 67 TM_ROLLBACK_WRITING_MARK_ERROR init (94), 1 68 TM_ROLLBACK_UNLOCKING_STATE init (45), 1 69 TM_ROLLBACK_UNLOCKING_ERROR init (95), 1 70 TM_ROLLBACK_METERING_STATE init (46), 1 71 TM_ROLLBACK_METERING_ERROR init (96)) 1 72 1 73 fixed bin int static options (constant); 1 74 1 75 dcl (OP_NAME_ABORT init ("abort"), 1 76 OP_NAME_COMMIT init ("commit"), 1 77 OP_NAME_ROLLBACK init ("rollback")) char (32) int static options (constant); 1 78 1 79 /* END OF: dm_tm_states.incl.pl1 */ 89 90 91 92 end tm_get_state_description; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1151.3 tm_get_state_description.pl1 >spec>temp>famis1>tm_get_state_description.pl1 89 1 01/03/85 1004.9 dm_tm_states.incl.pl1 >spec>temp>famis1>dm_tm_states.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. A_state parameter fixed bin(17,0) dcl 29 set ref 9 57 84* TM_ABORT_FLUSHING_CI_STATE constant fixed bin(17,0) initial dcl 1-30 ref 68 TM_ABORT_FLUSHING_TXN_STATE constant fixed bin(17,0) initial dcl 1-30 ref 66 TM_ABORT_METERING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 71 TM_ABORT_ROLLING_BACK_STATE constant fixed bin(17,0) initial dcl 1-30 ref 67 TM_ABORT_UNLOCKING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 70 TM_ABORT_WRITING_MARK_STATE constant fixed bin(17,0) initial dcl 1-30 ref 69 TM_BEGIN_STARTING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 65 TM_COMMIT_FLUSHING_CI_STATE constant fixed bin(17,0) initial dcl 1-30 ref 73 TM_COMMIT_FLUSHING_TXN_STATE constant fixed bin(17,0) initial dcl 1-30 ref 72 TM_COMMIT_METERING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 77 TM_COMMIT_POST_COMMIT_STATE constant fixed bin(17,0) initial dcl 1-30 ref 75 TM_COMMIT_UNLOCKING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 76 TM_COMMIT_WRITING_MARK_STATE constant fixed bin(17,0) initial dcl 1-30 ref 74 TM_ERROR_INCREMENT constant fixed bin(17,0) initial dcl 1-26 ref 58 60 TM_IN_PROGRESS_STATE constant fixed bin(17,0) initial dcl 1-30 ref 64 TM_ROLLBACK_FLUSHING_CI_STATE constant fixed bin(17,0) initial dcl 1-30 ref 80 TM_ROLLBACK_FLUSHING_TXN_STATE constant fixed bin(17,0) initial dcl 1-30 ref 78 TM_ROLLBACK_METERING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 83 TM_ROLLBACK_ROLLING_BACK_STATE constant fixed bin(17,0) initial dcl 1-30 ref 79 TM_ROLLBACK_UNLOCKING_STATE constant fixed bin(17,0) initial dcl 1-30 ref 82 TM_ROLLBACK_WRITING_MARK_STATE constant fixed bin(17,0) initial dcl 1-30 ref 81 error_sw 000121 automatic bit(1) unaligned dcl 41 set ref 59* 62* 86 ioa_$rsnnl 000010 constant entry external dcl 47 ref 84 length builtin function dcl 51 ref 84 84 rtrim builtin function dcl 51 ref 86 87 state 000120 automatic fixed bin(17,0) dcl 40 set ref 57* 58 60* 60 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 string 000100 automatic char(64) unaligned dcl 39 set ref 64* 65* 66* 67* 68* 69* 70* 71* 72* 73* 74* 75* 76* 77* 78* 79* 80* 81* 82* 83* 84* 84 84 86 87 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. HIGHEST_ABORT_STATE internal static fixed bin(17,0) initial dcl 1-18 HIGHEST_COMMIT_STATE internal static fixed bin(17,0) initial dcl 1-18 HIGHEST_ROLLBACK_STATE internal static fixed bin(17,0) initial dcl 1-18 HIGHEST_STATE internal static fixed bin(17,0) initial dcl 1-18 LOWEST_ABORT_STATE internal static fixed bin(17,0) initial dcl 1-18 LOWEST_COMMIT_STATE internal static fixed bin(17,0) initial dcl 1-18 LOWEST_ROLLBACK_STATE internal static fixed bin(17,0) initial dcl 1-18 OP_NAME_ABORT internal static char(32) initial unaligned dcl 1-75 OP_NAME_COMMIT internal static char(32) initial unaligned dcl 1-75 OP_NAME_ROLLBACK internal static char(32) initial unaligned dcl 1-75 TM_ABORT_FLUSHING_CI_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ABORT_FLUSHING_TXN_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ABORT_METERING_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ABORT_ROLLING_BACK_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ABORT_UNLOCKING_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ABORT_WRITING_MARK_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_COMMIT_FLUSHING_CI_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_COMMIT_FLUSHING_TXN_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_COMMIT_METERING_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_COMMIT_POST_COMMIT_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_COMMIT_UNLOCKING_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_COMMIT_WRITING_MARK_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ROLLBACK_FLUSHING_CI_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ROLLBACK_FLUSHING_TXN_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ROLLBACK_METERING_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ROLLBACK_ROLLING_BACK_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ROLLBACK_UNLOCKING_ERROR internal static fixed bin(17,0) initial dcl 1-30 TM_ROLLBACK_WRITING_MARK_ERROR internal static fixed bin(17,0) initial dcl 1-30 NAME DECLARED BY EXPLICIT CONTEXT. tm_get_state_description 000301 constant entry external dcl 9 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 660 672 620 670 Length 1060 620 12 152 37 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tm_get_state_description 107 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME tm_get_state_description 000100 string tm_get_state_description 000120 state tm_get_state_description 000121 error_sw tm_get_state_description THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc ext_entry_desc return_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. CONSTANTS 000000 aa 526000000000 000001 aa 404000000010 000002 aa 526000000100 000003 aa 524000000024 000004 aa 404000000021 000005 aa 526077777777 000006 aa 105 162 162 157 Erro 000007 aa 162 040 055 040 r - 000010 aa 111 156 040 120 In P 000011 aa 162 157 147 162 rogr 000012 aa 145 163 163 000 ess 000013 aa 136 144 040 050 ^d ( 000014 aa 165 156 144 145 unde 000015 aa 146 151 156 145 fine 000016 aa 144 040 163 164 d st 000017 aa 141 164 145 051 ate) 000020 aa 103 157 155 155 Comm 000021 aa 151 164 054 040 it, 000022 aa 160 157 163 164 post 000023 aa 055 143 157 155 -com 000024 aa 155 151 164 000 mit 000025 aa 122 157 154 154 Roll 000026 aa 142 141 143 153 back 000027 aa 040 143 157 155 com 000030 aa 160 154 145 164 plet 000031 aa 145 144 054 040 ed, 000032 aa 155 145 164 145 mete 000033 aa 162 151 156 147 ring 000034 aa 103 157 155 155 Comm 000035 aa 151 164 040 143 it c 000036 aa 157 155 160 154 ompl 000037 aa 145 164 145 144 eted 000040 aa 054 040 155 145 , me 000041 aa 164 145 162 151 teri 000042 aa 156 147 000 000 ng 000043 aa 101 142 157 162 Abor 000044 aa 164 040 143 157 t co 000045 aa 155 160 154 145 mple 000046 aa 164 145 144 054 ted, 000047 aa 040 155 145 164 met 000050 aa 145 162 151 156 erin 000051 aa 147 000 000 000 g 000052 aa 101 142 157 162 Abor 000053 aa 164 054 040 143 t, c 000054 aa 141 154 154 151 alli 000055 aa 156 147 040 142 ng b 000056 aa 152 155 137 044 jm_$ 000057 aa 162 157 154 154 roll 000060 aa 142 141 143 153 back 000061 aa 122 157 154 154 Roll 000062 aa 142 141 143 153 back 000063 aa 054 040 143 141 , ca 000064 aa 154 154 151 156 llin 000065 aa 147 040 142 152 g bj 000066 aa 155 137 044 162 m_$r 000067 aa 157 154 154 142 ollb 000070 aa 141 143 153 000 ack 000071 aa 101 142 157 162 Abor 000072 aa 164 054 040 143 t, c 000073 aa 141 154 154 151 alli 000074 aa 156 147 040 146 ng f 000075 aa 155 137 044 146 m_$f 000076 aa 154 165 163 150 lush 000077 aa 137 155 157 144 _mod 000100 aa 151 146 151 145 ifie 000101 aa 144 137 143 151 d_ci 000102 aa 102 145 147 151 Begi 000103 aa 156 054 040 143 n, c 000104 aa 141 154 154 151 alli 000105 aa 156 147 040 142 ng b 000106 aa 152 155 137 044 jm_$ 000107 aa 167 162 151 164 writ 000110 aa 145 137 142 145 e_be 000111 aa 147 151 156 137 gin_ 000112 aa 155 141 162 153 mark 000113 aa 122 157 154 154 Roll 000114 aa 142 141 143 153 back 000115 aa 054 040 143 141 , ca 000116 aa 154 154 151 156 llin 000117 aa 147 040 146 155 g fm 000120 aa 137 044 146 154 _$fl 000121 aa 165 163 150 137 ush_ 000122 aa 155 157 144 151 modi 000123 aa 146 151 145 144 fied 000124 aa 137 143 151 000 _ci 000125 aa 122 157 154 154 Roll 000126 aa 142 141 143 153 back 000127 aa 054 040 143 141 , ca 000130 aa 154 154 151 156 llin 000131 aa 147 040 142 152 g bj 000132 aa 155 137 044 146 m_$f 000133 aa 154 165 163 150 lush 000134 aa 137 164 162 141 _tra 000135 aa 156 163 141 143 nsac 000136 aa 164 151 157 156 tion 000137 aa 103 157 155 155 Comm 000140 aa 151 164 040 143 it c 000141 aa 157 155 160 154 ompl 000142 aa 145 164 145 144 eted 000143 aa 054 040 143 141 , ca 000144 aa 154 154 151 156 llin 000145 aa 147 040 154 155 g lm 000146 aa 137 044 165 156 _$un 000147 aa 154 157 143 153 lock 000150 aa 137 141 154 154 _all 000151 aa 103 157 155 155 Comm 000152 aa 151 164 054 040 it, 000153 aa 143 141 154 154 call 000154 aa 151 156 147 040 ing 000155 aa 146 155 137 044 fm_$ 000156 aa 146 154 165 163 flus 000157 aa 150 137 155 157 h_mo 000160 aa 144 151 146 151 difi 000161 aa 145 144 137 143 ed_c 000162 aa 151 000 000 000 i 000163 aa 103 157 155 155 Comm 000164 aa 151 164 054 040 it, 000165 aa 143 141 154 154 call 000166 aa 151 156 147 040 ing 000167 aa 142 152 155 137 bjm_ 000170 aa 044 146 154 165 $flu 000171 aa 163 150 137 164 sh_t 000172 aa 162 141 156 163 rans 000173 aa 141 143 164 151 acti 000174 aa 157 156 000 000 on 000175 aa 101 142 157 162 Abor 000176 aa 164 040 143 157 t co 000177 aa 155 160 154 145 mple 000200 aa 164 145 144 054 ted, 000201 aa 040 143 141 154 cal 000202 aa 154 151 156 147 ling 000203 aa 040 154 155 137 lm_ 000204 aa 044 165 156 154 $unl 000205 aa 157 143 153 137 ock_ 000206 aa 141 154 154 000 all 000207 aa 101 142 157 162 Abor 000210 aa 164 054 040 143 t, c 000211 aa 141 154 154 151 alli 000212 aa 156 147 040 142 ng b 000213 aa 152 155 137 044 jm_$ 000214 aa 167 162 151 164 writ 000215 aa 145 137 141 142 e_ab 000216 aa 157 162 164 145 orte 000217 aa 144 137 155 141 d_ma 000220 aa 162 153 000 000 rk 000221 aa 101 142 157 162 Abor 000222 aa 164 054 040 143 t, c 000223 aa 141 154 154 151 alli 000224 aa 156 147 040 142 ng b 000225 aa 152 155 137 044 jm_$ 000226 aa 146 154 165 163 flus 000227 aa 150 137 164 162 h_tr 000230 aa 141 156 163 141 ansa 000231 aa 143 164 151 157 ctio 000232 aa 156 000 000 000 n 000233 aa 122 157 154 154 Roll 000234 aa 142 141 143 153 back 000235 aa 040 143 157 155 com 000236 aa 160 154 145 164 plet 000237 aa 145 144 054 040 ed, 000240 aa 143 141 154 154 call 000241 aa 151 156 147 040 ing 000242 aa 154 155 137 044 lm_$ 000243 aa 165 156 154 157 unlo 000244 aa 143 153 137 141 ck_a 000245 aa 154 154 000 000 ll 000246 aa 103 157 155 155 Comm 000247 aa 151 164 054 040 it, 000250 aa 143 141 154 154 call 000251 aa 151 156 147 040 ing 000252 aa 142 152 155 137 bjm_ 000253 aa 044 167 162 151 $wri 000254 aa 164 145 137 143 te_c 000255 aa 157 155 155 151 ommi 000256 aa 164 164 145 144 tted 000257 aa 137 155 141 162 _mar 000260 aa 153 000 000 000 k 000261 aa 122 157 154 154 Roll 000262 aa 142 141 143 153 back 000263 aa 054 040 143 141 , ca 000264 aa 154 154 151 156 llin 000265 aa 147 040 142 152 g bj 000266 aa 155 137 044 167 m_$w 000267 aa 162 151 164 145 rite 000270 aa 137 162 157 154 _rol 000271 aa 154 145 144 137 led_ 000272 aa 142 141 143 153 back 000273 aa 137 155 141 162 _mar 000274 aa 153 000 000 000 k BEGIN PROCEDURE tm_get_state_description ENTRY TO tm_get_state_description STATEMENT 1 ON LINE 9 tm_get_state_description: proc (A_state) returns (char (*)); 000275 at 000002000004 000276 ta 000005000000 000277 ta 000275000000 000300 da 000033320000 000301 aa 000160 6270 00 eax7 112 000302 aa 7 00034 3521 20 epp2 pr7|28,* 000303 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 000304 aa 000004000000 000305 aa 000000000000 STATEMENT 1 ON LINE 57 state = A_state; 000306 aa 6 00032 3735 20 epp7 pr6|26,* 000307 aa 7 00002 2361 20 ldq pr7|2,* A_state 000310 aa 6 00120 7561 00 stq pr6|80 state STATEMENT 1 ON LINE 58 if state > TM_ERROR_INCREMENT then do; 000311 aa 000062 1160 07 cmpq 50,dl 000312 aa 000006 6044 04 tmoz 6,ic 000320 STATEMENT 1 ON LINE 59 error_sw = "1"b; 000313 aa 400000 2350 03 lda 131072,du 000314 aa 6 00121 7551 00 sta pr6|81 error_sw STATEMENT 1 ON LINE 60 state = state - TM_ERROR_INCREMENT; 000315 aa 000062 3360 07 lcq 50,dl 000316 aa 6 00120 0561 00 asq pr6|80 state STATEMENT 1 ON LINE 61 end; 000317 aa 000002 7100 04 tra 2,ic 000321 STATEMENT 1 ON LINE 62 else error_sw = "0"b; 000320 aa 6 00121 4501 00 stz pr6|81 error_sw STATEMENT 1 ON LINE 64 if state = TM_IN_PROGRESS_STATE then string = "In Progress"; 000321 aa 6 00120 2361 00 ldq pr6|80 state 000322 aa 000001 1160 07 cmpq 1,dl 000323 aa 000005 6010 04 tnz 5,ic 000330 000324 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000325 aa 777464 00 0013 desc9a -204,11 000010 = 111156040120 000326 aa 6 00100 00 0100 desc9a pr6|64,64 string 000327 aa 000214 7100 04 tra 140,ic 000543 STATEMENT 1 ON LINE 65 else if state = TM_BEGIN_STARTING_STATE then string = "Begin, calling bjm_$write_begin_mark"; 000330 aa 000013 1160 07 cmpq 11,dl 000331 aa 000005 6010 04 tnz 5,ic 000336 000332 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000333 aa 777550 00 0044 desc9a -152,36 000102 = 102145147151 000334 aa 6 00100 00 0100 desc9a pr6|64,64 string 000335 aa 000206 7100 04 tra 134,ic 000543 STATEMENT 1 ON LINE 66 else if state = TM_ABORT_FLUSHING_TXN_STATE then string = "Abort, calling bjm_$flush_transaction"; 000336 aa 000025 1160 07 cmpq 21,dl 000337 aa 000005 6010 04 tnz 5,ic 000344 000340 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000341 aa 777661 00 0045 desc9a -79,37 000221 = 101142157162 000342 aa 6 00100 00 0100 desc9a pr6|64,64 string 000343 aa 000200 7100 04 tra 128,ic 000543 STATEMENT 1 ON LINE 67 else if state = TM_ABORT_ROLLING_BACK_STATE then string = "Abort, calling bjm_$rollback"; 000344 aa 000026 1160 07 cmpq 22,dl 000345 aa 000005 6010 04 tnz 5,ic 000352 000346 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000347 aa 777504 00 0034 desc9a -188,28 000052 = 101142157162 000350 aa 6 00100 00 0100 desc9a pr6|64,64 string 000351 aa 000172 7100 04 tra 122,ic 000543 STATEMENT 1 ON LINE 68 else if state = TM_ABORT_FLUSHING_CI_STATE then string = "Abort, calling fm_$flush_modified_ci"; 000352 aa 000027 1160 07 cmpq 23,dl 000353 aa 000005 6010 04 tnz 5,ic 000360 000354 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000355 aa 777515 00 0044 desc9a -179,36 000071 = 101142157162 000356 aa 6 00100 00 0100 desc9a pr6|64,64 string 000357 aa 000164 7100 04 tra 116,ic 000543 STATEMENT 1 ON LINE 69 else if state = TM_ABORT_WRITING_MARK_STATE then string = "Abort, calling bjm_$write_aborted_mark"; 000360 aa 000030 1160 07 cmpq 24,dl 000361 aa 000005 6010 04 tnz 5,ic 000366 000362 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000363 aa 777625 00 0046 desc9a -107,38 000207 = 101142157162 000364 aa 6 00100 00 0100 desc9a pr6|64,64 string 000365 aa 000156 7100 04 tra 110,ic 000543 STATEMENT 1 ON LINE 70 else if state = TM_ABORT_UNLOCKING_STATE then string = "Abort completed, calling lm_$unlock_all"; 000366 aa 000031 1160 07 cmpq 25,dl 000367 aa 000005 6010 04 tnz 5,ic 000374 000370 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000371 aa 777605 00 0047 desc9a -123,39 000175 = 101142157162 000372 aa 6 00100 00 0100 desc9a pr6|64,64 string 000373 aa 000150 7100 04 tra 104,ic 000543 STATEMENT 1 ON LINE 71 else if state = TM_ABORT_METERING_STATE then string = "Abort completed, metering"; 000374 aa 000032 1160 07 cmpq 26,dl 000375 aa 000005 6010 04 tnz 5,ic 000402 000376 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000377 aa 777445 00 0031 desc9a -219,25 000043 = 101142157162 000400 aa 6 00100 00 0100 desc9a pr6|64,64 string 000401 aa 000142 7100 04 tra 98,ic 000543 STATEMENT 1 ON LINE 72 else if state = TM_COMMIT_FLUSHING_TXN_STATE then string = "Commit, calling bjm_$flush_transaction"; 000402 aa 000037 1160 07 cmpq 31,dl 000403 aa 000005 6010 04 tnz 5,ic 000410 000404 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000405 aa 777557 00 0046 desc9a -145,38 000163 = 103157155155 000406 aa 6 00100 00 0100 desc9a pr6|64,64 string 000407 aa 000134 7100 04 tra 92,ic 000543 STATEMENT 1 ON LINE 73 else if state = TM_COMMIT_FLUSHING_CI_STATE then string = "Commit, calling fm_$flush_modified_ci"; 000410 aa 000040 1160 07 cmpq 32,dl 000411 aa 000005 6010 04 tnz 5,ic 000416 000412 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000413 aa 777537 00 0045 desc9a -161,37 000151 = 103157155155 000414 aa 6 00100 00 0100 desc9a pr6|64,64 string 000415 aa 000126 7100 04 tra 86,ic 000543 STATEMENT 1 ON LINE 74 else if state = TM_COMMIT_WRITING_MARK_STATE then string = "Commit, calling bjm_$write_committed_mark"; 000416 aa 000041 1160 07 cmpq 33,dl 000417 aa 000005 6010 04 tnz 5,ic 000424 000420 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000421 aa 777626 00 0051 desc9a -106,41 000246 = 103157155155 000422 aa 6 00100 00 0100 desc9a pr6|64,64 string 000423 aa 000120 7100 04 tra 80,ic 000543 STATEMENT 1 ON LINE 75 else if state = TM_COMMIT_POST_COMMIT_STATE then string = "Commit, post-commit"; 000424 aa 000042 1160 07 cmpq 34,dl 000425 aa 000005 6010 04 tnz 5,ic 000432 000426 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000427 aa 777372 00 0023 desc9a -262,19 000020 = 103157155155 000430 aa 6 00100 00 0100 desc9a pr6|64,64 string 000431 aa 000112 7100 04 tra 74,ic 000543 STATEMENT 1 ON LINE 76 else if state = TM_COMMIT_UNLOCKING_STATE then string = "Commit completed, calling lm_$unlock_all"; 000432 aa 000043 1160 07 cmpq 35,dl 000433 aa 000005 6010 04 tnz 5,ic 000440 000434 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000435 aa 777503 00 0050 desc9a -189,40 000137 = 103157155155 000436 aa 6 00100 00 0100 desc9a pr6|64,64 string 000437 aa 000104 7100 04 tra 68,ic 000543 STATEMENT 1 ON LINE 77 else if state = TM_COMMIT_METERING_STATE then string = "Commit completed, metering"; 000440 aa 000044 1160 07 cmpq 36,dl 000441 aa 000005 6010 04 tnz 5,ic 000446 000442 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000443 aa 777372 00 0032 desc9a -262,26 000034 = 103157155155 000444 aa 6 00100 00 0100 desc9a pr6|64,64 string 000445 aa 000076 7100 04 tra 62,ic 000543 STATEMENT 1 ON LINE 78 else if state = TM_ROLLBACK_FLUSHING_TXN_STATE then string = "Rollback, calling bjm_$flush_transaction"; 000446 aa 000051 1160 07 cmpq 41,dl 000447 aa 000005 6010 04 tnz 5,ic 000454 000450 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000451 aa 777455 00 0050 desc9a -211,40 000125 = 122157154154 000452 aa 6 00100 00 0100 desc9a pr6|64,64 string 000453 aa 000070 7100 04 tra 56,ic 000543 STATEMENT 1 ON LINE 79 else if state = TM_ROLLBACK_ROLLING_BACK_STATE then string = "Rollback, calling bjm_$rollback"; 000454 aa 000052 1160 07 cmpq 42,dl 000455 aa 000005 6010 04 tnz 5,ic 000462 000456 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000457 aa 777403 00 0037 desc9a -253,31 000061 = 122157154154 000460 aa 6 00100 00 0100 desc9a pr6|64,64 string 000461 aa 000062 7100 04 tra 50,ic 000543 STATEMENT 1 ON LINE 80 else if state = TM_ROLLBACK_FLUSHING_CI_STATE then string = "Rollback, calling fm_$flush_modified_ci"; 000462 aa 000053 1160 07 cmpq 43,dl 000463 aa 000005 6010 04 tnz 5,ic 000470 000464 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000465 aa 777427 00 0047 desc9a -233,39 000113 = 122157154154 000466 aa 6 00100 00 0100 desc9a pr6|64,64 string 000467 aa 000054 7100 04 tra 44,ic 000543 STATEMENT 1 ON LINE 81 else if state = TM_ROLLBACK_WRITING_MARK_STATE then string = "Rollback, calling bjm_$write_rolled_back_mark"; 000470 aa 000054 1160 07 cmpq 44,dl 000471 aa 000005 6010 04 tnz 5,ic 000476 000472 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000473 aa 777567 00 0055 desc9a -137,45 000261 = 122157154154 000474 aa 6 00100 00 0100 desc9a pr6|64,64 string 000475 aa 000046 7100 04 tra 38,ic 000543 STATEMENT 1 ON LINE 82 else if state = TM_ROLLBACK_UNLOCKING_STATE then string = "Rollback completed, calling lm_$unlock_all"; 000476 aa 000055 1160 07 cmpq 45,dl 000477 aa 000005 6010 04 tnz 5,ic 000504 000500 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000501 aa 777533 00 0052 desc9a -165,42 000233 = 122157154154 000502 aa 6 00100 00 0100 desc9a pr6|64,64 string 000503 aa 000040 7100 04 tra 32,ic 000543 STATEMENT 1 ON LINE 83 else if state = TM_ROLLBACK_METERING_STATE then string = "Rollback completed, metering"; 000504 aa 000056 1160 07 cmpq 46,dl 000505 aa 000005 6010 04 tnz 5,ic 000512 000506 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000507 aa 777317 00 0034 desc9a -305,28 000025 = 122157154154 000510 aa 6 00100 00 0100 desc9a pr6|64,64 string 000511 aa 000032 7100 04 tra 26,ic 000543 STATEMENT 1 ON LINE 84 else call ioa_$rsnnl ("^d (undefined state)", string, length (string), A_state); 000512 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000513 aa 777301 00 0024 desc9a -319,20 000013 = 136144040050 000514 aa 6 00122 00 0024 desc9a pr6|82,20 000515 aa 000100 2360 07 ldq 64,dl 000516 aa 6 00127 7561 00 stq pr6|87 000517 aa 6 00122 3521 00 epp2 pr6|82 000520 aa 6 00132 2521 00 spri2 pr6|90 000521 aa 6 00100 3521 00 epp2 pr6|64 string 000522 aa 6 00134 2521 00 spri2 pr6|92 000523 aa 6 00127 3521 00 epp2 pr6|87 000524 aa 6 00136 2521 00 spri2 pr6|94 000525 aa 7 00002 3521 20 epp2 pr7|2,* A_state 000526 aa 6 00140 2521 00 spri2 pr6|96 000527 aa 777254 3520 04 epp2 -340,ic 000003 = 524000000024 000530 aa 6 00142 2521 00 spri2 pr6|98 000531 aa 777251 3520 04 epp2 -343,ic 000002 = 526000000100 000532 aa 6 00144 2521 00 spri2 pr6|100 000533 aa 777246 3520 04 epp2 -346,ic 000001 = 404000000010 000534 aa 6 00146 2521 00 spri2 pr6|102 000535 aa 777247 3520 04 epp2 -345,ic 000004 = 404000000021 000536 aa 6 00150 2521 00 spri2 pr6|104 000537 aa 6 00130 6211 00 eax1 pr6|88 000540 aa 020000 4310 07 fld 8192,dl 000541 la 4 00010 3521 20 epp2 pr4|8,* ioa_$rsnnl 000542 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 86 if error_sw then return ("Error - " || rtrim (string)); 000543 aa 6 00121 2351 00 lda pr6|81 error_sw 000544 aa 000033 6000 04 tze 27,ic 000577 000545 aa 000 000 165 500 tctr (pr) 000546 aa 6 00100 00 0100 desc9a pr6|64,64 string 000547 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 000550 aa 6 00056 0001 00 arg pr6|46 000551 aa 6 00056 2361 00 ldq pr6|46 000552 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000553 aa 6 00127 7561 00 stq pr6|87 000554 aa 000100 2360 07 ldq 64,dl 000555 aa 6 00127 1761 00 sbq pr6|87 000556 aa 6 00127 7561 00 stq pr6|87 000557 aa 000010 0760 07 adq 8,dl 000560 aa 6 00042 3735 20 epp7 pr6|34,* 000561 aa 6 00152 7561 00 stq pr6|106 000562 aa 526000 2760 03 orq 175104,du 000563 aa 7 00002 7561 20 stq pr7|2,* 000564 aa 6 00152 2361 00 ldq pr6|106 000565 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 000566 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000567 aa 777220 00 0010 desc9a -368,8 000006 = 105162162157 000570 aa 2 00000 00 0010 desc9a pr2|0,8 000571 aa 6 00127 2351 00 lda pr6|87 000572 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000573 aa 6 00100 00 0005 desc9a pr6|64,al string 000574 aa 2 00002 00 0005 desc9a pr2|2,al 000575 aa 000000 7200 07 lxl0 0,dl 000576 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 87 else return (rtrim (string)); 000577 aa 000 000 165 500 tctr (pr) 000600 aa 6 00100 00 0100 desc9a pr6|64,64 string 000601 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 000602 aa 6 00056 0001 00 arg pr6|46 000603 aa 6 00056 2361 00 ldq pr6|46 000604 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000605 aa 6 00127 7561 00 stq pr6|87 000606 aa 000100 2360 07 ldq 64,dl 000607 aa 6 00127 1761 00 sbq pr6|87 000610 aa 6 00042 3735 20 epp7 pr6|34,* 000611 aa 6 00127 7561 00 stq pr6|87 000612 aa 526000 2760 03 orq 175104,du 000613 aa 7 00002 7561 20 stq pr7|2,* 000614 aa 6 00127 2361 00 ldq pr6|87 000615 aa 000000 7200 07 lxl0 0,dl 000616 aa 6 00100 3521 00 epp2 pr6|64 string 000617 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 92 end tm_get_state_description; END PROCEDURE tm_get_state_description ----------------------------------------------------------- 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