COMPILATION LISTING OF SEGMENT get_com_channel_info_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1644.8 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 /* get_com_channel_info_ -- subroutine interface to the 7* as_request for com_channel_info. */ 8 9 /* format: style2 */ 10 11 get_com_channel_info_: 12 procedure (P_info_ptr, P_code); 13 14 /**** Created 1985-02-19, BIM */ 15 16 17 declare P_info_ptr pointer; 18 declare P_code fixed bin (35); 19 20 declare as_user_message_$user_read_message 21 entry (pointer, pointer, fixed bin (35)); 22 declare get_system_free_area_ entry () returns (ptr); 23 declare send_as_request_$block entry (pointer, fixed binary, bit (72) aligned, bit (72) aligned, 24 fixed binary (35)); 25 26 /* format: off */ 27 /* Begin include file as_user_message_info.incl.pl1 BIM 1985-01-11 */ 1 2 /* format: style4 */ 1 3 1 4 /**** This structure is passed in by a user process to read out 1 5* an A.S. user message. */ 1 6 1 7 declare as_user_message_info_ptr pointer; 1 8 declare 1 as_user_message_info aligned based (as_user_message_info_ptr), 1 9 2 version char (8) aligned, 1 10 2 flags aligned, 1 11 3 read_message_id bit (1) unaligned, /* message_id specified -- read that one */ 1 12 3 read_after_message_id bit (1) unaligned, /* message_id specified -- read the next one for the handle after that */ 1 13 3 no_handle_given bit (1) unaligned, /* application debugging: look at all messages for us, regardless of handle */ 1 14 3 ring_given bit (1) unaligned, /* application debugging: look at outer ring messages */ 1 15 3 dont_delete bit (1) unaligned, /* application debugging, look at message but don't delete them */ 1 16 3 pad bit (31) unaligned, 1 17 2 message_info aligned, /* Output arguments */ 1 18 3 message_ptr pointer, 1 19 3 message_length fixed bin (18), /* words */ 1 20 3 pad bit (36) aligned, 1 21 3 message_id bit (72) aligned, 1 22 3 message_access_class bit (72) aligned, 1 23 3 message_handle bit (72) aligned, 1 24 3 message_ring fixed bin (3), 1 25 2 sender_info aligned, 1 26 3 group_id char (32) unaligned, 1 27 3 process_id bit (36) aligned, 1 28 2 destination_info aligned, 1 29 3 group_id char (32) unal, 1 30 3 process_id bit (36) aligned, 1 31 3 ring fixed bin (3) aligned; 1 32 1 33 declare AS_USER_MESSAGE_INFO_VERSION_1 char (8) aligned init ("asum0001") int static options (constant); 1 34 1 35 /* End include file as_user_message_info.incl.pl1 */ 27 28 /* BEGIN INCLUDE FILE ... as_request_header.incl.pl1 */ 2 2 2 3 /* DESCRIPTION: 2 4* Answering Service request information. 2 5**/ 2 6 2 7 2 8 /****^ HISTORY COMMENTS: 2 9* 1) change(00-01-01,JRandom), approve(), audit(), install(): 2 10* Written by someone, at sometime. 2 11* 2) change(84-09-10,Tague), approve(), audit(), install(): 2 12* R. Michael Tague: Added ASR_BUMP_USER request. 2 13* 3) change(84-10-04,Margulies), approve(), audit(), install(): 2 14* BIM: ASR_ADMIN_COMMAND. 2 15* 4) change(85-01-23,Swenson), approve(), audit(), install(): 2 16* E. Swenson for ASR_NOTE_PNT_CHANGE. 2 17* 5) change(85-02-18,Margulies), approve(), audit(), install(): 2 18* BIM: ASR_DAEMON_COMMAND, ASR_COM_CHANNEL_INFO 2 19* 6) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 2 20* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 2 21* Jim Lippard: Added ASR_ABS_COMMAND request. 2 22* END HISTORY COMMENTS */ 2 23 2 24 2 25 /* format: style4 */ 2 26 2 27 dcl as_request_version_1 fixed bin internal static initial (1) options (constant); 2 28 2 29 dcl ( 2 30 ASR_FIRST_TYPE initial (1), 2 31 ASR_DIAL_SERVER initial (1), 2 32 ASR_DIAL_OUT initial (2), 2 33 ASR_FPE_CAUSES_LOGOUT initial (3), 2 34 ASR_FPE_CAUSES_NEW_PROC initial (4), 2 35 ASR_PROC_TERM_NOTIFY initial (5), 2 36 ASR_BUMP_USER initial (6), 2 37 ASR_ADMIN_COMMAND initial (7), 2 38 ASR_NOTE_PNT_CHANGE initial (8), 2 39 ASR_DAEMON_COMMAND initial (9), 2 40 ASR_COM_CHANNEL_INFO initial (10), 2 41 ASR_ABS_COMMAND initial (11), 2 42 ASR_LAST_TYPE initial (11) 2 43 ) fixed bin internal static options (constant); 2 44 2 45 dcl ASR_DEFER_IN_ADMIN_MODE (1:11) bit (1) int static options (constant) 2 46 init ((6) (1) "0"b, "1"b, (4) (1) "0"b); 2 47 2 48 dcl ASR_REQUEST_NAMES (1:11) int static options (constant) 2 49 char (40) init ( 2 50 "Dial request", 2 51 "Dial out request", 2 52 "Logout on fatal process error", 2 53 "New process on fatal process error", 2 54 "Monitor process terminations", 2 55 "Bump user", 2 56 "Execute admin command", 2 57 "Note PNT change", 2 58 "Daemon command", 2 59 "Communications channel info", 2 60 "Absentee command"); 2 61 2 62 dcl 1 as_request_header based aligned, 2 63 2 version fixed bin, /* version number */ 2 64 2 type fixed bin, /* what to do */ 2 65 2 reply_channel fixed bin (71); /* who to tell */ 2 66 2 67 2 68 /* END INCLUDE FILE ... as_request_header.incl.pl1 */ 28 29 /* BEGIN INCLUDE FILE ... asr_com_channel_info.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-02-18,Margulies), approve(), audit(), install(): 3 6* Initial coding. 3 7* 2) change(87-06-07,GDixon), approve(87-07-13,MCR7741), 3 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 9* Use correct include file name in begin/end comments. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 /* format: style4 */ 3 14 /* request AS to request com channel info */ 3 15 3 16 dcl asr_com_channel_info_ptr pointer; 3 17 dcl 1 asr_com_channel_info aligned based (asr_com_channel_info_ptr), 3 18 2 header aligned like as_request_header, 3 19 2 version char (8), 3 20 2 channel_name char (32) unaligned, 3 21 2 reply_version_requested char (8), 3 22 2 reply_message_handle bit (72) aligned; 3 23 3 24 dcl ASR_CCI_VERSION_1 char (8) init ("asrci001") int static options (constant); 3 25 3 26 dcl asr_reply_cci_ptr pointer; 3 27 dcl 1 asr_reply_com_channel_info aligned based (asr_reply_cci_ptr), 3 28 2 code fixed bin (35), 3 29 2 pad bit (36) aligned; 3 30 3 31 /* END INCLUDE FILE ... asr_com_channel_info.incl.pl1 */ 29 30 /* Begin include file as_com_channel_info.incl.pl1 */ 4 2 4 3 /* Created 1985-02-19 by BIM */ 4 4 /* Recreated 1985-02-22 by E. Swenson since the include file was lost. */ 4 5 4 6 /* format: style4 */ 4 7 4 8 dcl as_com_channel_info_ptr pointer; 4 9 dcl 1 as_com_channel_info aligned 4 10 based (as_com_channel_info_ptr), 4 11 2 version char (8), 4 12 2 channel_name char (32), 4 13 2 flags aligned, 4 14 3 access_control unaligned, 4 15 4 login bit (1), 4 16 4 dial_slave bit (1), 4 17 4 priv_attach bit (1), 4 18 4 dial_server bit (1), 4 19 4 dial_out bit (1), 4 20 3 attached_to_caller bit (1) unaligned, 4 21 3 user_authenticated bit (1) unaligned, 4 22 3 dialed_to_caller bit (1) unaligned, 4 23 3 pad bit (28) unaligned, 4 24 2 service_type fixed bin, 4 25 2 current_service_type fixed bin, 4 26 2 access_class (2) bit (72) aligned, 4 27 2 current_access_class bit (72) aligned, 4 28 2 auth_user_name char (32) unaligned; 4 29 4 30 declare AS_COM_CHANNEL_INFO_VERSION_1 char (8) aligned init ("ascci001") int static options (constant); 4 31 4 32 /* End include file as_com_channel_info.incl.pl1 */ 30 31 /* format: on */ 32 33 declare 1 asum_info aligned like as_user_message_info; 34 declare 1 asrcci aligned like asr_com_channel_info; 35 declare unique_bits_ entry () returns (bit (70)); 36 declare asr_reply bit (72) aligned; 37 declare error_table_$unimplemented_version 38 fixed bin (35) ext static; 39 declare cleanup condition; 40 41 declare addr builtin; 42 declare currentsize builtin; 43 declare null builtin; 44 declare unspec builtin; 45 46 as_com_channel_info_ptr = P_info_ptr; 47 if as_com_channel_info.version ^= AS_COM_CHANNEL_INFO_VERSION_1 48 then do; 49 P_code = error_table_$unimplemented_version; 50 return; 51 end; 52 53 unspec (asrcci) = ""b; 54 asrcci.header.version = as_request_version_1; 55 asrcci.header.type = ASR_COM_CHANNEL_INFO; 56 asrcci.version = ASR_CCI_VERSION_1; 57 asrcci.channel_name = as_com_channel_info.channel_name; 58 asrcci.reply_message_handle = unique_bits_ (); 59 asrcci.reply_version_requested = AS_COM_CHANNEL_INFO_VERSION_1; 60 61 unspec (asum_info) = ""b; 62 asum_info.message_ptr = null (); 63 on cleanup 64 begin; 65 declare to_free (asum_info.message_length) bit (36) aligned 66 based (asum_info.message_ptr); 67 if asum_info.message_ptr ^= null () 68 then free to_free; 69 end; 70 71 asr_reply = ""b; 72 call send_as_request_$block (addr (asrcci), currentsize (asrcci), (""b), asr_reply, P_code); 73 if P_code ^= 0 74 then return; 75 76 asr_reply_cci_ptr = addr (asr_reply); 77 P_code = asr_reply_com_channel_info.code; 78 if P_code ^= 0 79 then return; 80 81 asum_info.version = AS_USER_MESSAGE_INFO_VERSION_1; 82 asum_info.message_handle = asrcci.reply_message_handle; 83 asum_info.message_ptr = null (); 84 call as_user_message_$user_read_message (get_system_free_area_ (), addr (asum_info), P_code); 85 if P_code ^= 0 86 then return; 87 as_com_channel_info = asum_info.message_ptr -> as_com_channel_info; 88 begin; 89 declare to_free (asum_info.message_length) bit (36) aligned based (asum_info.message_ptr); 90 free to_free; 91 end; 92 return; 93 end get_com_channel_info_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1539.1 get_com_channel_info_.pl1 >special_ldd>install>MR12.1-1054>get_com_channel_info_.pl1 27 1 03/08/85 0852.7 as_user_message_info.incl.pl1 >ldd>include>as_user_message_info.incl.pl1 28 2 10/30/86 2010.5 as_request_header.incl.pl1 >ldd>include>as_request_header.incl.pl1 29 3 08/04/87 1140.5 asr_com_channel_info.incl.pl1 >spec>install>1056>asr_com_channel_info.incl.pl1 30 4 03/08/85 0852.7 as_com_channel_info.incl.pl1 >ldd>include>as_com_channel_info.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. ASR_CCI_VERSION_1 000002 constant char(8) initial unaligned dcl 3-24 ref 56 ASR_COM_CHANNEL_INFO constant fixed bin(17,0) initial dcl 2-29 ref 55 AS_COM_CHANNEL_INFO_VERSION_1 000000 constant char(8) initial dcl 4-30 ref 47 59 AS_USER_MESSAGE_INFO_VERSION_1 000004 constant char(8) initial dcl 1-33 ref 81 P_code parameter fixed bin(35,0) dcl 18 set ref 11 49* 72* 73 77* 78 84* 85 P_info_ptr parameter pointer dcl 17 ref 11 46 addr builtin function dcl 41 ref 72 72 76 84 84 as_com_channel_info based structure level 1 dcl 4-9 set ref 87* 87 as_com_channel_info_ptr 000102 automatic pointer dcl 4-8 set ref 46* 47 57 87 as_request_header based structure level 1 dcl 2-62 as_request_version_1 constant fixed bin(17,0) initial dcl 2-27 ref 54 as_user_message_$user_read_message 000010 constant entry external dcl 20 ref 84 as_user_message_info based structure level 1 dcl 1-8 asr_com_channel_info based structure level 1 dcl 3-17 asr_reply 000170 automatic bit(72) dcl 36 set ref 71* 72* 76 asr_reply_cci_ptr 000100 automatic pointer dcl 3-26 set ref 76* 77 asr_reply_com_channel_info based structure level 1 dcl 3-27 asrcci 000146 automatic structure level 1 dcl 34 set ref 53* 72 72 72 72 asum_info 000104 automatic structure level 1 dcl 33 set ref 61* 84 84 channel_name 2 based char(32) level 2 in structure "as_com_channel_info" dcl 4-9 in procedure "get_com_channel_info_" set ref 57 channel_name 6 000146 automatic char(32) level 2 in structure "asrcci" packed unaligned dcl 34 in procedure "get_com_channel_info_" set ref 57* cleanup 000172 stack reference condition dcl 39 ref 63 code based fixed bin(35,0) level 2 dcl 3-27 ref 77 currentsize builtin function dcl 42 ref 72 72 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 37 ref 49 get_system_free_area_ 000012 constant entry external dcl 22 ref 84 84 header 000146 automatic structure level 2 dcl 34 message_handle 14 000104 automatic bit(72) level 3 dcl 33 set ref 82* message_info 4 000104 automatic structure level 2 dcl 33 message_length 6 000104 automatic fixed bin(18,0) level 3 dcl 33 set ref 67 90 message_ptr 4 000104 automatic pointer level 3 dcl 33 set ref 62* 67 67 83* 87 90 null builtin function dcl 43 ref 62 67 83 reply_message_handle 20 000146 automatic bit(72) level 2 dcl 34 set ref 58* 82 reply_version_requested 16 000146 automatic char(8) level 2 dcl 34 set ref 59* send_as_request_$block 000014 constant entry external dcl 23 ref 72 to_free based bit(36) array dcl 65 in on unit on line 63 ref 67 to_free based bit(36) array dcl 89 in begin block on line 88 ref 90 type 1 000146 automatic fixed bin(17,0) level 3 dcl 34 set ref 55* unique_bits_ 000016 constant entry external dcl 35 ref 58 unspec builtin function dcl 44 set ref 53* 61* version 000146 automatic fixed bin(17,0) level 3 in structure "asrcci" dcl 34 in procedure "get_com_channel_info_" set ref 54* version 4 000146 automatic char(8) level 2 in structure "asrcci" dcl 34 in procedure "get_com_channel_info_" set ref 56* version 000104 automatic char(8) level 2 in structure "asum_info" dcl 33 in procedure "get_com_channel_info_" set ref 81* version based char(8) level 2 in structure "as_com_channel_info" dcl 4-9 in procedure "get_com_channel_info_" set ref 47 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ASR_ABS_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_ADMIN_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_BUMP_USER internal static fixed bin(17,0) initial dcl 2-29 ASR_DAEMON_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_DEFER_IN_ADMIN_MODE internal static bit(1) initial array unaligned dcl 2-45 ASR_DIAL_OUT internal static fixed bin(17,0) initial dcl 2-29 ASR_DIAL_SERVER internal static fixed bin(17,0) initial dcl 2-29 ASR_FIRST_TYPE internal static fixed bin(17,0) initial dcl 2-29 ASR_FPE_CAUSES_LOGOUT internal static fixed bin(17,0) initial dcl 2-29 ASR_FPE_CAUSES_NEW_PROC internal static fixed bin(17,0) initial dcl 2-29 ASR_LAST_TYPE internal static fixed bin(17,0) initial dcl 2-29 ASR_NOTE_PNT_CHANGE internal static fixed bin(17,0) initial dcl 2-29 ASR_PROC_TERM_NOTIFY internal static fixed bin(17,0) initial dcl 2-29 ASR_REQUEST_NAMES internal static char(40) initial array unaligned dcl 2-48 as_user_message_info_ptr automatic pointer dcl 1-7 asr_com_channel_info_ptr automatic pointer dcl 3-16 NAME DECLARED BY EXPLICIT CONTEXT. get_com_channel_info_ 000024 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 354 376 232 364 Length 654 232 22 242 121 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME get_com_channel_info_ 150 external procedure is an external procedure. on unit on line 63 64 on unit begin block on line 88 begin block shares stack frame of external procedure get_com_channel_info_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME get_com_channel_info_ 000100 asr_reply_cci_ptr get_com_channel_info_ 000102 as_com_channel_info_ptr get_com_channel_info_ 000104 asum_info get_com_channel_info_ 000146 asrcci get_com_channel_info_ 000170 asr_reply get_com_channel_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac enable_op ext_entry int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. as_user_message_$user_read_message get_system_free_area_ send_as_request_$block unique_bits_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000020 46 000031 47 000035 49 000041 50 000043 53 000044 54 000047 55 000051 56 000053 57 000055 58 000060 59 000071 61 000073 62 000076 63 000100 67 000114 69 000123 71 000124 72 000126 73 000154 76 000157 77 000161 78 000163 81 000164 82 000166 83 000170 84 000172 85 000217 87 000222 90 000227 92 000231 ----------------------------------------------------------- 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