COMPILATION LISTING OF SEGMENT imft_convert_status_code_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/27/88 1309.8 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /* Encodes/decodes status codes in imft_et_ into/from forms which may be transmitted between systems */ 10 11 /* Created: April 1982 by G. Palter */ 12 /* Modified: July 1982 by G. Palter as part of true AIM support */ 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(88-10-26,Beattie), approve(88-08-01,PBF7948), 17* audit(88-10-27,Farley), install(88-10-27,MR12.2-1195): 18* Added support for imft_et_$non_matching_versions in 4.0 version of 19* IMFT driver. 20* END HISTORY COMMENTS */ 21 22 23 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 24 25 imft_convert_status_code_: 26 procedure (); 27 28 return; /* not an entrypoint */ 29 30 31 /* Parameters */ 32 33 dcl P_local_code fixed binary (35) parameter; /* encode */ 34 dcl P_remote_code fixed binary (35) parameter; /* decode */ 35 36 37 /* Remaining declarations */ 38 39 /* format: off */ 40 dcl (error_table_$ai_no_common_max, error_table_$ai_outside_common_range, error_table_$unimplemented_version, 41 imft_et_$cant_access_pnt, imft_et_$cant_get_channel_names, imft_et_$computed_ceiling_mismatch, 42 imft_et_$explicit_ceiling_mismatch, imft_et_$explicit_floor_mismatch, imft_et_$no_card_password, imft_et_$no_person_id, imft_et_$non_matching_ids, 43 imft_et_$non_matching_passwords, imft_et_$not_synchronized, imft_et_$process_authorization_too_low, 44 imft_et_$reply_pending, imft_et_$timeout, imft_et_$unknown_status_code, imft_et_$non_matching_versions) 45 fixed binary (35) external; 46 /* format: on */ 47 48 /* */ 49 50 /* Converts a status code from imft_et_ into a form which may be transferred across an IMFT link */ 51 52 encode: 53 entry (P_local_code) returns (fixed binary (35)); 54 55 if P_local_code = 0 then return (0); 56 else if P_local_code = error_table_$ai_no_common_max then return (1); 57 else if P_local_code = error_table_$ai_outside_common_range then return (2); 58 else if P_local_code = error_table_$unimplemented_version then return (3); 59 else if P_local_code = imft_et_$cant_access_pnt then return (4); 60 else if P_local_code = imft_et_$computed_ceiling_mismatch then return (5); 61 else if P_local_code = imft_et_$explicit_ceiling_mismatch then return (6); 62 else if P_local_code = imft_et_$no_card_password then return (7); 63 else if P_local_code = imft_et_$no_person_id then return (8); 64 else if P_local_code = imft_et_$non_matching_ids then return (9); 65 else if P_local_code = imft_et_$non_matching_passwords then return (10); 66 else if P_local_code = imft_et_$not_synchronized then return (11); 67 else if P_local_code = imft_et_$process_authorization_too_low then return (12); 68 else if P_local_code = imft_et_$reply_pending then return (13); 69 else if P_local_code = imft_et_$timeout then return (14); 70 else if P_local_code = imft_et_$cant_get_channel_names then return (15); 71 else if P_local_code = imft_et_$explicit_floor_mismatch then return (16); 72 else if P_local_code = imft_et_$non_matching_versions then return (17); 73 else if P_local_code = imft_et_$unknown_status_code then return (-1); 74 else return (-1); /* unrecognized code */ 75 76 77 78 /* Converts a code received from the remote system back into a status code in imft_et_ */ 79 80 decode: 81 entry (P_remote_code) returns (fixed binary (35)); 82 83 if P_remote_code = 0 then return (0); 84 else if P_remote_code = 1 then return (error_table_$ai_no_common_max); 85 else if P_remote_code = 2 then return (error_table_$ai_outside_common_range); 86 else if P_remote_code = 3 then return (error_table_$unimplemented_version); 87 else if P_remote_code = 4 then return (imft_et_$cant_access_pnt); 88 else if P_remote_code = 5 then return (imft_et_$computed_ceiling_mismatch); 89 else if P_remote_code = 6 then return (imft_et_$explicit_ceiling_mismatch); 90 else if P_remote_code = 7 then return (imft_et_$no_card_password); 91 else if P_remote_code = 8 then return (imft_et_$no_person_id); 92 else if P_remote_code = 9 then return (imft_et_$non_matching_ids); 93 else if P_remote_code = 10 then return (imft_et_$non_matching_passwords); 94 else if P_remote_code = 11 then return (imft_et_$not_synchronized); 95 else if P_remote_code = 12 then return (imft_et_$process_authorization_too_low); 96 else if P_remote_code = 13 then return (imft_et_$reply_pending); 97 else if P_remote_code = 14 then return (imft_et_$timeout); 98 else if P_remote_code = 15 then return (imft_et_$cant_get_channel_names); 99 100 else if P_remote_code = 16 then return (imft_et_$explicit_floor_mismatch); 101 else if P_remote_code = 17 then return (imft_et_$non_matching_versions); 102 else if P_remote_code = -1 then return (imft_et_$unknown_status_code); 103 else return (imft_et_$unknown_status_code); /* an unknown code got through */ 104 105 end imft_convert_status_code_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/27/88 1309.8 imft_convert_status_code_.pl1 >spec>install>1195>imft_convert_status_code_.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. P_local_code parameter fixed bin(35,0) dcl 33 ref 52 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 P_remote_code parameter fixed bin(35,0) dcl 34 ref 80 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 100 101 102 error_table_$ai_no_common_max 000010 external static fixed bin(35,0) dcl 40 ref 56 84 error_table_$ai_outside_common_range 000012 external static fixed bin(35,0) dcl 40 ref 57 85 error_table_$unimplemented_version 000014 external static fixed bin(35,0) dcl 40 ref 58 86 imft_et_$cant_access_pnt 000016 external static fixed bin(35,0) dcl 40 ref 59 87 imft_et_$cant_get_channel_names 000020 external static fixed bin(35,0) dcl 40 ref 70 98 imft_et_$computed_ceiling_mismatch 000022 external static fixed bin(35,0) dcl 40 ref 60 88 imft_et_$explicit_ceiling_mismatch 000024 external static fixed bin(35,0) dcl 40 ref 61 89 imft_et_$explicit_floor_mismatch 000026 external static fixed bin(35,0) dcl 40 ref 71 100 imft_et_$no_card_password 000030 external static fixed bin(35,0) dcl 40 ref 62 90 imft_et_$no_person_id 000032 external static fixed bin(35,0) dcl 40 ref 63 91 imft_et_$non_matching_ids 000034 external static fixed bin(35,0) dcl 40 ref 64 92 imft_et_$non_matching_passwords 000036 external static fixed bin(35,0) dcl 40 ref 65 93 imft_et_$non_matching_versions 000052 external static fixed bin(35,0) dcl 40 ref 72 101 imft_et_$not_synchronized 000040 external static fixed bin(35,0) dcl 40 ref 66 94 imft_et_$process_authorization_too_low 000042 external static fixed bin(35,0) dcl 40 ref 67 95 imft_et_$reply_pending 000044 external static fixed bin(35,0) dcl 40 ref 68 96 imft_et_$timeout 000046 external static fixed bin(35,0) dcl 40 ref 69 97 imft_et_$unknown_status_code 000050 external static fixed bin(35,0) dcl 40 ref 73 102 103 NAMES DECLARED BY EXPLICIT CONTEXT. decode 000374 constant entry external dcl 80 encode 000031 constant entry external dcl 52 imft_convert_status_code_ 000010 constant entry external dcl 25 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1260 1334 760 1270 Length 1560 760 54 207 300 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME imft_convert_status_code_ 65 external procedure is an external procedure. THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return_mac signal_op ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$ai_no_common_max error_table_$ai_outside_common_range error_table_$unimplemented_version imft_et_$cant_access_pnt imft_et_$cant_get_channel_names imft_et_$computed_ceiling_mismatch imft_et_$explicit_ceiling_mismatch imft_et_$explicit_floor_mismatch imft_et_$no_card_password imft_et_$no_person_id imft_et_$non_matching_ids imft_et_$non_matching_passwords imft_et_$non_matching_versions imft_et_$not_synchronized imft_et_$process_authorization_too_low imft_et_$reply_pending imft_et_$timeout imft_et_$unknown_status_code LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000007 28 000017 52 000025 55 000037 56 000052 57 000066 58 000101 59 000114 60 000127 61 000142 62 000155 63 000170 64 000203 65 000216 66 000231 67 000244 68 000257 69 000272 70 000305 71 000320 72 000333 73 000346 74 000361 80 000372 83 000402 84 000415 85 000431 86 000445 87 000461 88 000475 89 000511 90 000525 91 000541 92 000555 93 000571 94 000605 95 000621 96 000635 97 000651 98 000665 100 000701 101 000715 102 000731 103 000745 ----------------------------------------------------------- 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