/* This is the cobol run time interface procedure. It is called by the cobol_operators_ with the parameters are set in the stack frame starting from the 68th word. From the 68th word up through the 107th word are reserved for this interfacinguse. From the 108th word up through the 137th word are reserved for the condition handling use. The 68th word up through the 73th word are used to set the parameter rts_stack_ptr. The rts_code is the 88th words of the stack frame, it is used to decide the run time procedure that cobol_rts_ is going to call. Register Usage $pr0 cobol_operators_ $pr1 fsb pointer $pr2 temporary $pr3 cobol_data_area $pr4 cobol_linkage_area $pr5 cobol_data_area(extension) $pr6 stack_prame pointer $pr7 temporary Run Time Stack Frame 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 10 9 11 10 12 11 13 12 14 13 15 14 16 15 17 16 20 S.prev_sp, S.condition_word, S.flag_word 17 21 18 22 S.next_sp, S.signaller_word 19 23 20 24 S.return_ptr 21 25 22 26 S.entry_ptr 23 27 24 30 S.operator_ptr, S.lp_ptr 25 31 26 32 S.arg_ptr 27 33 28 34 S.static_ptr 29 35 S.support_ptr 30 36 S.on_unit_relptrs, on_unit_ptr 31 37 S.operator_ret_ptr, S.translator_id, op_return_offset 32 40 S.regs, display_ptr 33 41 34 42 descriptor_ptr 35 43 36 44 linkage_ptr 37 45 38 46 text_base_ptr 39 47 text_base_off 40 50 mcode 41 51 icode 42 52 status12 43 53 status3 44 54 retrycode, cobol_open_mode 45 55 46 56 multics_open_mode 47 57 48 60 S.min_length 49 61 50 62 51 63 52 64 53 65 54 66 55 67 56 70 57 71 58 72 59 73 60 74 61 75 62 76 63 77 64 100 return_to_main_ptr 65 101 return_to_main_off 66 102 rts_code_ptr 67 103 68 104 69 105 70 106 71 107 72 110 rts_code args to cobol_rts 73 111 use_code 74 112 iocb_ptr 75 113 76 114 mcode_ptr 77 115 78 116 buff_ptr 79 117 80 120 buff_len 81 121 actual_ptr 82 122 stack_buff_ptr, cobol_open_mode 83 123 cobol_options 84 124 vfile_open_mode 85 125 key of ref 86 126 fsb_ptr iox_, arg-1 args for iox_calls 87 127 88 130 file_desc_ptr iox_, arg-2 89 131 cobol_error_code 90 132 iox_, arg-3 91 133 92 134 iox_, arg-4 93 135 94 136 95 137 96 140 97 141 98 142 99 143 100 144 x6_save 101 145 102 145 103 147 104 150 105 151 106 152 subr_return_save 107 153 subr_return_save_off 108 154 pr4_save 109 155 110 156 pr3_save 111 157 112 160 pr5_save 113 161 114 162 rts_save 115 163 116 164 ind_mask 117 165 ENTRY OPTIONS FUNCTION NAME COBOL OPERATORS (1) cobol_error_ (2) cobol_control_ (3) sort_initiate (4) sort_release (5) sort_return (6) sort_terminate (7) sort_commence (8) stop_literal (9) stop_run (10) cancel (11) iox_$control 23 (129 check_close_error 27,29,36,38 (13) check_open_error (14) iox_$find_iocb (15) iox_$attach_iocb 29,35,36 (16) check_seek_errors 41,54,67 (17) iox_$read_key 55 (18) accept (19) (20) accept_id (21) accept_id (22) accept_id (23) inspect (24) inspect (25) seek_for_delete 57,58 (26) read_key_status_code 69 (27) check_read_record 65,66 (28) check_get_line 64 (29) (30) merge_init (31) merge_comp (32) merge_return (33) (34) (35) (36) (37) (38) (39) (40) receive_comm (41) accept_comm (42) purge_comm (43) send_comm (44) enable_comm (45) disable_comm (46) alt_file_open (47) alt_read_record Status_Key_1 (Status_Key_2) org = seq 0(0)1(0)3(0,4)9 org = rel 0(0)1(0)2(2,3,4)3(0)9 org=ind 0(0,2)1(0)2(1,2,3,4)3(0)9 Status_Key_1 = 0 success 1 at end 2 invalid 3 permanent error 9 implementor defined Status_Key_2 = 0 no more information 1 sequence error 2 duplicate key 3 no record found 4 boundary violation Status_Key_3 pic 9999 wxyz w: cobol i/o statement x: vfile_command y: same as key_1 z: specific cause of error vfile_commands and error codes attach_ptr (not_detached) close (not_open) delete_record (no_record) detach_iocb (not_attached, not_closed) find_iocb () get_chars (short_record,end_of_info) get_line (short_record,end_of_info) open (not_attached,not_closed) position (no_record,end_of_info) read_key (end_of_info,no_record) read_length (end_of_info,no_record) read_record (end_of_info,no_record,long_record) record_status) (no_room_for_lock,no_record,no_key) rewrite_record (no_record) seek_head (no_record) seek_key (no_record,key_order) write_record (no_key) */ */ ----------------------------------------------------------- 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 */