COMPILATION LISTING OF SEGMENT cancel_resource Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/04/82 1723.4 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 cancel_resource: 12 cnr: 13 proc (); 14 15 /* 16* D_E_S_C_R_I_P_T_I_O_N_ 17* 18* This command takes a reservation identifier and cancels the 19* reservation to which it belongs. This command just implements the 20* user interface. It calls resource_control_$cancel_id to do the 21* actual work. 22* 23* 24* J_O_U_R_N_A_L_I_Z_A_T_I_O_N_ 25* 26* 1) Written 11/78 by R.J.C. Kissel. 27**/ 28 29 /* Local Variables */ 30 31 dcl code fixed bin (35); 32 dcl nargs fixed bin; 33 dcl arg_ptr ptr; 34 dcl arg_len fixed bin; 35 dcl arg char (arg_len) based (arg_ptr); 36 dcl arg_count fixed bin; 37 dcl res_id char (res_id_len) based (res_id_ptr); 38 dcl res_id_len fixed bin; 39 dcl res_id_ptr ptr; 40 dcl system bit (1) aligned; 41 42 /* External Entries */ 43 44 dcl resource_control_$cancel_id_string 45 entry (char (*), char (*), bit (1) aligned, fixed bin (35)); 46 dcl cu_$arg_count entry (fixed bin); 47 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 48 dcl com_err_ entry options (variable); 49 50 /* External Constants */ 51 52 dcl error_table_$badopt fixed bin (35) external; 53 54 call cu_$arg_count (nargs); 55 if nargs > 3 | nargs < 2 56 then goto ERROR_usage; 57 58 call cu_$arg_ptr (1, arg_ptr, arg_len, code); 59 if code ^= 0 60 then goto ERROR_arg; 61 62 system = "0"b; 63 64 if nargs = 2 65 then do; /* Only "-id res_id". */ 66 if arg = "-id" 67 then do; 68 call cu_$arg_ptr (2, arg_ptr, arg_len, code); 69 if code ^= 0 70 then goto ERROR_arg; 71 res_id_len = arg_len; 72 res_id_ptr = arg_ptr; 73 end; 74 75 else goto ERROR_carg; 76 end; /* Only "-id res_id". */ 77 78 else do; /* Either "-priv -id res_id" or "-id res_id -priv". */ 79 if arg = "-priv" 80 then do; 81 system = "1"b; 82 arg_count = 2; 83 end; 84 85 else if arg = "-id" 86 then do; 87 call cu_$arg_ptr (2, arg_ptr, arg_len, code); 88 if code ^= 0 89 then goto ERROR_arg; 90 91 arg_count = 3; 92 res_id_len = arg_len; 93 res_id_ptr = arg_ptr; 94 end; 95 96 else goto ERROR_carg; 97 98 call cu_$arg_ptr (arg_count, arg_ptr, arg_len, code); 99 if code ^= 0 100 then goto ERROR_arg; 101 102 if arg_count = 3 103 then do; /* Must be "-priv". */ 104 if arg = "-priv" 105 then system = "1"b; 106 else goto ERROR_carg; 107 end; /* Must be "-priv". */ 108 109 else do; /* Must be "-id res_id". */ 110 if arg = "-id" 111 then do; 112 call cu_$arg_ptr (3, arg_ptr, arg_len, code); 113 if code ^= 0 114 then goto ERROR_arg; 115 116 res_id_len = arg_len; 117 res_id_ptr = arg_ptr; 118 end; 119 120 else goto ERROR_carg; 121 end; /* Must be "-id res_id". */ 122 end; /* Either "-priv -id res_id" or "-id res_id -priv". */ 123 124 call resource_control_$cancel_id_string (res_id, "", system, code); 125 if code ^= 0 126 then goto ERROR_cancel; 127 return; 128 129 /* 130* Error handling code. 131**/ 132 133 ERROR_arg: 134 call com_err_ (code, "cancel_resource"); 135 return; 136 137 ERROR_cancel: 138 call com_err_ (code, "cancel_resource", "Unable to cancel reservation ^a.", res_id); 139 return; 140 141 ERROR_carg: 142 call com_err_ (error_table_$badopt, "cancel_resource", "^a", arg); 143 return; 144 145 ERROR_usage: 146 call com_err_ (0b, "cancel_resource", "Usage: cnr -id reservation_id {-priv}"); 147 return; 148 149 end cancel_resource; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/04/82 1619.1 cancel_resource.pl1 >dumps>old>recomp>cancel_resource.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. arg based char unaligned dcl 35 set ref 66 79 85 104 110 141* arg_count 000105 automatic fixed bin(17,0) dcl 36 set ref 82* 91* 98* 102 arg_len 000104 automatic fixed bin(17,0) dcl 34 set ref 58* 66 68* 71 79 85 87* 92 98* 104 110 112* 116 141 141 arg_ptr 000102 automatic pointer dcl 33 set ref 58* 66 68* 72 79 85 87* 93 98* 104 110 112* 117 141 code 000100 automatic fixed bin(35,0) dcl 31 set ref 58* 59 68* 69 87* 88 98* 99 112* 113 124* 125 133* 137* com_err_ 000016 constant entry external dcl 48 ref 133 137 141 145 cu_$arg_count 000012 constant entry external dcl 46 ref 54 cu_$arg_ptr 000014 constant entry external dcl 47 ref 58 68 87 98 112 error_table_$badopt 000020 external static fixed bin(35,0) dcl 52 set ref 141* nargs 000101 automatic fixed bin(17,0) dcl 32 set ref 54* 55 55 64 res_id based char unaligned dcl 37 set ref 124* 137* res_id_len 000106 automatic fixed bin(17,0) dcl 38 set ref 71* 92* 116* 124 124 137 137 res_id_ptr 000110 automatic pointer dcl 39 set ref 72* 93* 117* 124 137 resource_control_$cancel_id_string 000010 constant entry external dcl 44 ref 124 system 000112 automatic bit(1) dcl 40 set ref 62* 81* 104* 124* NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_arg 000342 constant label dcl 133 ref 59 69 88 99 113 ERROR_cancel 000364 constant label dcl 137 ref 125 ERROR_carg 000424 constant label dcl 141 set ref 66 85 104 110 ERROR_usage 000463 constant label dcl 145 ref 55 cancel_resource 000052 constant entry external dcl 11 cnr 000043 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 616 640 515 626 Length 1016 515 22 142 101 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cnr 110 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cnr 000100 code cnr 000101 nargs cnr 000102 arg_ptr cnr 000104 arg_len cnr 000105 arg_count cnr 000106 res_id_len cnr 000110 res_id_ptr cnr 000112 system cnr THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr resource_control_$cancel_id_string THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000042 54 000057 55 000065 58 000072 59 000111 62 000113 64 000114 66 000117 68 000125 69 000144 71 000146 72 000150 76 000152 79 000153 81 000161 82 000163 83 000165 85 000166 87 000172 88 000211 91 000213 92 000215 93 000217 98 000221 99 000236 102 000240 104 000243 107 000253 110 000254 112 000262 113 000301 116 000303 117 000305 124 000307 125 000337 127 000341 133 000342 135 000363 137 000364 139 000423 141 000424 143 000462 145 000463 147 000514 ----------------------------------------------------------- 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