COMPILATION LISTING OF SEGMENT internal_connect_request_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/07/87 1506.9 mst Fri Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(86-11-20,Flegel), approve(87-07-15,MCR7580), 12* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 13* Created. 14* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 15* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 16* Approved. 17* 3) change(86-12-10,Flegel), approve(86-12-10,MCR7580), 18* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 19* Replaced signalling of mowse_fatal_error with a call to fatal_mowse_trap_. 20* END HISTORY COMMENTS */ 21 22 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 23 internal_connect_request_: 24 proc (p_mcb_ptr, p_message_ptr, p_message_len, p_code); 25 26 /* PROGRAM FUNCTION 27* 28*If the destination capability already exists, then simply pass on the message 29*to it. Otherwise, create it and then pass on the message to it. If the 30*creation fails, then return FAIL to the source of the request in the 31*connect_response message. 32**/ 33 34 /* NOTES 35**/ 36 37 /* INPUT PARAMETERS */ 38 dcl p_mcb_ptr ptr parameter; /* MOWSE's MCB */ 39 dcl p_message_ptr ptr parameter; /* Message */ 40 dcl p_message_len fixed bin parameter; /* Length of message */ 41 42 43 /* OUTPUT PARAMETERS */ 44 dcl p_code fixed bin (35) parameter; 45 46 47 /* MISC VARIABLES */ 48 dcl cap_num fixed bin; /* Capability_number */ 49 dcl sysid fixed bin; /* System id */ 50 dcl return_status char (1); /* SUCCESS/REJECT of connect */ 51 dcl destination fixed bin; /* Destination of reply */ 52 dcl major_num fixed bin; /* Number of the destination capability */ 53 dcl capname_len fixed bin; /* Length of capability name */ 54 dcl capname char (CAPABILITY_NAME_LENGTH); 55 /* Name of capability to connect to */ 56 dcl connect_request_string char (MAXIMUM_PACKET_SIZE); 57 /* Message data */ 58 dcl blkpos fixed bin; /* End of capability name */ 59 60 61 /* STRUCTURES */ 62 63 64 /* SYSTEM CALLS */ 65 dcl cu_$cp entry (ptr, fixed bin (21), fixed bin (35)); 66 67 68 /* SYSTEM CALL SUPPORT */ 69 70 71 /* EXTERNAL CALLS */ 72 dcl capability_$unpack entry (fixed bin, fixed bin, fixed bin, 73 fixed bin (35)); 74 dcl send_mowse_message_ entry (ptr, fixed bin, fixed bin, fixed bin, 75 fixed bin, fixed bin, 76 fixed bin, ptr, fixed bin, fixed bin, 77 fixed bin (35)); 78 dcl send_msg_ entry (ptr, fixed bin, fixed bin, ptr, fixed bin, 79 fixed bin, fixed bin (35)); 80 dcl ws_$put_background_message 81 entry () options (variable); 82 dcl capability_$pack entry (fixed bin, fixed bin, fixed bin, 83 fixed bin (35)); 84 dcl ws_$find_capability_number 85 entry (char (*), fixed bin, fixed bin, 86 fixed bin (35)); 87 dcl fatal_mowse_trap_ entry (fixed bin (35)); 88 89 /* EXTERNAL CALL SUPPORT */ 90 91 92 /* BUILTINS */ 93 dcl null builtin; 94 dcl byte builtin; 95 dcl index builtin; 96 dcl min builtin; 97 dcl substr builtin; 98 dcl addr builtin; 99 dcl rank builtin; 100 101 102 /* CONDITIONS */ 103 104 105 /* CONSTANTS */ 106 107 108 /* */ 109 /* INITIALIZATION */ 110 111 112 /* MAIN */ 113 114 /* : Extract the name of the capability */ 115 116 message_len = p_message_len; 117 connect_request_string = 118 p_message_ptr -> last_message.data.data_buf; 119 blkpos = index (connect_request_string, " "); 120 if blkpos ^= 0 then 121 capname_len = min (blkpos - 1, CAPABILITY_NAME_LENGTH); 122 else 123 capname_len = min (p_message_len - 5, CAPABILITY_NAME_LENGTH); 124 capname = substr (connect_request_string, 1, capname_len); 125 126 /* : Try to find the capability to which connection is requested 127* - If it is not found the try to create it */ 128 129 call ws_$find_capability_number (substr (capname, 1, capname_len), 130 LOCAL_SYSTEM, major_num, p_code); 131 if p_code ^= 0 then do; 132 call cu_$cp (addr (connect_request_string), p_message_len - 5, 133 p_code); 134 if p_code = 0 then 135 call ws_$find_capability_number ( 136 substr (capname, 1, capname_len), LOCAL_SYSTEM, 137 major_num, p_code); 138 end; 139 140 /* : - If it cannot be created then send message to the capability requesting 141* the connect that it has failed */ 142 143 if p_code ^= 0 then do; 144 call capability_$pack ( 145 rank (p_message_ptr -> last_message.header.source_system), 146 rank (p_message_ptr -> last_message.header.source_major), 147 destination, p_code); 148 if p_code ^= 0 then do; 149 call ws_$put_background_message (p_mcb_ptr, p_code, 150 "MULTICS MOWSE", 151 "Request connect from invalid source"); 152 p_code = 0; 153 return; 154 end; 155 return_status = byte (REJECT); 156 call send_msg_ (p_mcb_ptr, destination, RESPONSE_CONNECT, 157 addr (return_status), 1, BG, p_code); 158 if p_code ^= 0 then do; 159 call fatal_mowse_trap_ (p_code); 160 return; 161 end; 162 return; 163 end; 164 165 /* : - Otherwise send a request connect to the capability */ 166 167 call capability_$unpack (sysid, cap_num, major_num, p_code); 168 if p_code ^= 0 then do; 169 call fatal_mowse_trap_ (p_code); 170 return; 171 end; 172 call send_mowse_message_ (p_mcb_ptr, 173 rank (p_message_ptr -> last_message.header.source_system), 174 rank (p_message_ptr -> last_message.header.source_major), 175 sysid, cap_num, REQUEST_CONNECT, LAST, null, 0, BG, p_code); 176 if p_code ^= 0 then do; 177 call fatal_mowse_trap_ (p_code); 178 return; 179 end; 180 181 return; 182 183 184 /* INCLUDE FILES */ 1 1 /* BEGIN INCLUDE FILE: mowse_info.incl.pl1 * * * * * * * * * * * * */ 1 2 1 3 /****^ HISTORY COMMENTS: 1 4* 1) change(86-07-19,Smith), approve(87-07-15,MCR7580), 1 5* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 1 6* Created to define MOWSE information to be 1 7* placed into a temp segment. 1 8* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 1 9* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 1 10* Approved. 1 11* 3) change(87-02-25,Flegel), approve(87-02-25,MCR7580), 1 12* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 1 13* Added bit switches to the init_mowse_info structure as well as the force 1 14* flag. 1 15* 4) change(87-03-24,Flegel), approve(87-03-24,MCR7580), 1 16* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 1 17* Added open_struc for passing EOP and escape char info from attach_mowse 1 18* to mowse_io_. 1 19* END HISTORY COMMENTS */ 1 20 1 21 /* CAT index limits */ 1 22 1 23 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 1 24 dcl MINIMUM_CAT_ENTRY fixed bin int static options (constant) init (33); 1 25 dcl MAXIMUM_CAT_ENTRY fixed bin int static options (constant) init (64); 1 26 1 27 dcl CAPABILITY_NAME_LENGTH fixed bin int static options (constant) init (32); 1 28 1 29 /* Mowse information structure */ 1 30 1 31 dcl 01 mowse_info based aligned, 1 32 02 version char (8), 1 33 02 local_cat dimension (33:64), /* Multics CAT table */ 1 34 03 flags, 1 35 04 reset bit (1) unal, /* Reset in progress */ 1 36 04 suspended bit (1) unal, /* Suspended applciation */ 1 37 04 status bit (1) unal, /* Status pending */ 1 38 04 mbz1 bit (33) unal, 1 39 03 sleep_time fixed bin, /* Time application is sleeping */ 1 40 03 mcb_ptr ptr, /* Capability MCB */ 1 41 02 remote_cat dimension (33:64), /* PC CAT table */ 1 42 03 major_capability 1 43 fixed bin, /* Capability number */ 1 44 03 capability_name char (32), /* Name of capability */ 1 45 03 flags, 1 46 04 reset bit (1) unal, /* Reset in progress */ 1 47 04 suspended bit (1) unal, /* Suspended capability */ 1 48 04 sleep_time bit (1) unal, /* Application sleeping */ 1 49 04 mbz2 bit (33) unal, 1 50 02 message_manager_info, /* Info for processing messages */ 1 51 03 head_list_ptr ptr, /* Head of message list */ 1 52 03 tail_list_ptr ptr, /* Tail of message list */ 1 53 03 pending_messages 1 54 fixed bin, /* Number of pending messages */ 1 55 02 mowse_flags, 1 56 03 trace bit (1) unal, /* Message tracing facility active */ 1 57 03 debug bit (1) unal, /* Debugging packets facility active */ 1 58 03 error_handled bit (1) unal, /* In mowse_error_handler procedure */ 1 59 03 mbz1 bit (33) unal, 1 60 03 trace_file_iocb ptr, /* Trace file iocb */ 1 61 03 debug_file_iocb ptr, /* Debug file iocb */ 1 62 02 init_mowse_info_ptr 1 63 ptr; /* Initialization information */ 1 64 1 65 /* MOWSE initialization information */ 1 66 1 67 dcl init_mowse_info_ptr ptr; 1 68 dcl 01 init_mowse_info based (init_mowse_info_ptr), 1 69 02 version char (8), 1 70 02 flags, /* Bit switches */ 1 71 03 trace_sw bit (1) unal, 1 72 03 debug_sw bit (1) unal, 1 73 03 io_switch_sw bit (1) unal, 1 74 03 force_sw bit (1) unal, 1 75 03 start_up_sw bit (1) unal, 1 76 03 escape_sw bit (1) unal, 1 77 03 network_sw bit (1) unal, 1 78 03 pad bit (29) unal, 1 79 02 escape, 1 80 03 chars (0:255) bit (1) unal, /* Character escapes */ 1 81 03 pad bit (32) unal, 1 82 02 trace char (512) var, /* Trace file name */ 1 83 02 debug char (512) var, /* Debug file name */ 1 84 02 io_switch char (512) var, /* Io switch name of mowse_io_ attachment */ 1 85 02 startup (MAXIMUM_CAT_ENTRY - MINIMUM_CAT_ENTRY + 1) 1 86 char (168) var; /* Capability to be autoloaded */ 1 87 1 88 /* Open description structure (this is padded to character bounds as it 1 89* is a character overlay structure - passed as a character string) */ 1 90 1 91 dcl open_struc_ptr ptr; 1 92 dcl 01 open_struc based (open_struc_ptr), 1 93 02 flags, 1 94 03 network_sw bit (1) unal, 1 95 03 escape_sw bit (1) unal, 1 96 03 pad bit (7) unal, 1 97 02 escape, 1 98 03 switches (0:255) bit (1) unal, 1 99 03 pad bit (32) unal, 1 100 02 mbz bit (16) unal; 1 101 1 102 /* END INCLUDE FILE: mowse_info.incl.pl1 * * * * * * * * * * * * */ 185 2 1 /* BEGIN INCLUDE FILE: mowse_messages.incl.pl1 * * * * * * * * * * * * */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-05-17,Smith), approve(86-12-16,MCR7580), 2 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 2 6* Created to define MOWSE message formats. 2 7* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 2 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 2 9* Approved. 2 10* 3) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 2 11* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 2 12* Changes to support async call channels. 2 13* END HISTORY COMMENTS */ 2 14 2 15 /* Message Channels */ 2 16 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 2 17 dcl BG fixed bin int static options (constant) init (0); 2 18 /* Fore ground */ 2 19 dcl FG fixed bin int static options (constant) init (1); 2 20 /* Back ground */ 2 21 2 22 /* Message types: 2 23* 2 24*Each intersystem message is labelled with one of the following types. Upon 2 25*reciept of the message suitable action is undertaken. This scheme was 2 26*introduced to allow the transmission of messsages longer than the maximum 2 27*packet size. 2 28**/ 2 29 2 30 /* Templates for the various messages used throughout the mowse environment. 2 31* Non-allocatable */ 2 32 2 33 dcl message_len fixed bin init (6); 2 34 dcl message_ptr ptr; 2 35 2 36 /* expected format of message */ 2 37 2 38 dcl 01 input_message based (message_ptr), 2 39 02 header, 2 40 03 system char (1) unal, 2 41 03 major char (1) unal, 2 42 03 minor char (1) unal, 2 43 03 source_system char (1) unal, 2 44 03 source_major char (1) unal, 2 45 02 data char (message_len - 5) unal; 2 46 2 47 /* expected format of message to be handled by mowse internal execute command */ 2 48 2 49 dcl 01 execom_message based (message_ptr), 2 50 02 header, 2 51 03 system char (1) unal, 2 52 03 major char (1) unal, 2 53 03 minor char (1) unal, 2 54 03 source_system char (1) unal, 2 55 03 source_major char (1) unal, 2 56 02 data, 2 57 03 cmd_id fixed bin (17) unal, 2 58 03 command char (message_len - 7) unal; 2 59 2 60 /* expected format of message recieved when a request to alter a CAT table 2 61* is made by a remote system */ 2 62 2 63 dcl 01 alter_cat_message based (message_ptr), 2 64 02 header, 2 65 03 system char (1) unal, 2 66 03 major char (1) unal, 2 67 03 minor char (1) unal, 2 68 03 source_system char (1) unal, 2 69 03 source_major char (1) unal, 2 70 02 data, 2 71 03 major char unal, 2 72 03 major_name char (CAPABILITY_NAME_LENGTH) unal; 2 73 2 74 /* Template used to parse message recieved from some remote system. */ 2 75 2 76 dcl 01 event_message based (message_ptr), 2 77 02 header, 2 78 03 system char (1) unal, 2 79 03 major char (1) unal, 2 80 03 msg_type char (1) unal; 2 81 2 82 /* format of message of MORE type */ 2 83 2 84 dcl 01 request_more_message 2 85 based (message_ptr), 2 86 02 header, 2 87 03 system char (1) unal, 2 88 03 major char (1) unal, 2 89 03 more char (1) unal, 2 90 03 source_system char (1) unal, 2 91 03 source_major char (1) unal, 2 92 03 source_minor char (1) unal; 2 93 2 94 /* format of message of CONTINUE type */ 2 95 2 96 dcl 01 more_remaining_message 2 97 based (message_ptr), 2 98 02 header, 2 99 03 system char (1) unal, 2 100 03 major char (1) unal, 2 101 03 continue char (1) unal, 2 102 03 minor char (1) unal, 2 103 03 source_system char (1) unal, 2 104 03 source_major char (1) unal, 2 105 02 data, 2 106 03 data_buf char (message_len - 6) unal; 2 107 2 108 /* format of message of LAST type */ 2 109 2 110 dcl 01 last_message based (message_ptr), 2 111 02 header, 2 112 03 system char (1) unal, 2 113 03 major char (1) unal, 2 114 03 minor char (1) unal, 2 115 03 source_system char (1) unal, 2 116 03 source_major char (1) unal, 2 117 02 data, 2 118 03 data_buf char (message_len - 5) unal; 2 119 2 120 /* Execute_command_reply message format */ 2 121 2 122 dcl 01 execom_reply_msg based (message_ptr), 2 123 02 header, 2 124 03 system char (1) unal, 2 125 03 major char (1) unal, 2 126 03 minor char (1) unal, 2 127 03 source_system char (1) unal, 2 128 03 source_major char (1) unal, 2 129 02 data, 2 130 03 cmd_id fixed bin unal, 2 131 03 status char unal; 2 132 2 133 /* Used to manage partial messages destined for any application */ 2 134 2 135 dcl msg_node_ptr ptr; 2 136 dcl 01 message_node based (msg_node_ptr), 2 137 02 major fixed bin, 2 138 02 partial_msg_list_ptr 2 139 ptr, 2 140 02 next_node ptr, 2 141 02 prev_node ptr, 2 142 02 last_part_msg ptr; 2 143 2 144 dcl part_msg_ptr ptr; 2 145 dcl 01 partial_message based (part_msg_ptr), 2 146 02 msg_ptr ptr, 2 147 02 msg_len fixed bin, 2 148 02 next_msg ptr; 2 149 2 150 2 151 dcl part_msg_length fixed bin; 2 152 dcl part_msg char (part_msg_length) based; 2 153 2 154 /* Trace information structure */ 2 155 dcl 01 trace_message_info, 2 156 02 direction fixed bin, 2 157 02 from_system fixed bin, 2 158 02 from_major fixed bin, 2 159 02 dest_system fixed bin, 2 160 02 dest_major fixed bin, 2 161 02 dest_minor fixed bin, 2 162 02 msg_type fixed bin, 2 163 02 message char (PACKET_SIZE) var; 2 164 2 165 /* END INCLUDE FILE: mowse_messages.incl.pl1 * * * * * * * * * * * * */ 186 3 1 /* BEGIN INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(86-09-17,Flegel), approve(86-12-16,MCR7580), 3 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 3 6* Created. 3 7* 2) change(86-10-03,Flegel), approve(86-12-16,MCR7580), 3 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 3 9* Combined mowse_minor_caps.incl.pl1 and 3 10* mowse.incl.pl1 so that programmer only needs include mowse.incl.pl1 3 11* 3) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 3 12* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 3 13* Approved. 3 14* 4) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 3 15* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 3 16* Changes to support async call channels. 3 17* END HISTORY COMMENTS */ 3 18 3 19 /* Name of MOWSE temp seg for data */ 3 20 3 21 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 3 22 dcl temp_seg_name char (6) init ("MOWSE_"); 3 23 3 24 /* Version number */ 3 25 3 26 dcl MOWSE_VERSION_ char (8) int static options (constant) init ("version1"); 3 27 3 28 /* System identification */ 3 29 3 30 dcl LOCAL_SYSTEM fixed bin int static options (constant) init (32); 3 31 dcl REMOTE_SYSTEM fixed bin int static options (constant) init (33); 3 32 3 33 /* Status request return codes */ 3 34 3 35 dcl STATUS_SUCCESS fixed bin (8) int static options (constant) 3 36 init (32); 3 37 dcl STATUS_FAILED fixed bin (8) int static options (constant) 3 38 init (33); 3 39 3 40 /* Input/output capability buffer size limits */ 3 41 3 42 dcl MINIMUM_BUFFER_SIZE fixed bin int static options (constant) init (128); 3 43 dcl MAXIMUM_BUFFER_SIZE fixed bin int static options (constant) init (65536); 3 44 dcl MAXIMUM_BG_SIZE fixed bin int static options (constant) init (512); 3 45 3 46 /* Packet size (communication) constants */ 3 47 3 48 dcl PACKET_SIZE fixed bin int static options (constant) init (124); 3 49 dcl MAXIMUM_PACKET_SIZE fixed bin int static options (constant) init (118); 3 50 3 51 /* Query message constants */ 3 52 3 53 dcl SEND_QUERY fixed bin int static options (constant) init (128); 3 54 dcl ACCEPT fixed bin int static options (constant) init (32); 3 55 dcl REJECT fixed bin int static options (constant) init (33); 3 56 3 57 /* Trace information constants */ 3 58 3 59 dcl RECEIVE fixed bin int static options (constant) init (1); 3 60 dcl SEND fixed bin int static options (constant) init (0); 3 61 3 62 /* Limits on dedicated minor capabilities */ 3 63 3 64 dcl MINIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (32); 3 65 dcl MAXIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (63); 3 66 dcl MINIMUM_USER_MINOR fixed bin int static options (constant) init (64); 3 67 dcl MAXIMUM_USER_MINOR fixed bin int static options (constant) init (127); 3 68 3 69 /* Dedicated Minor Capabilities */ 3 70 3 71 dcl LAST fixed bin int static options (constant) init (0); 3 72 dcl EXECUTE_COMMAND_REPLY fixed bin int static options (constant) init (32); 3 73 dcl EXECUTE_CAPABILITY_REPLY 3 74 fixed bin int static options (constant) init (33); 3 75 dcl FAIL_CAPABILITY fixed bin int static options (constant) init (33); 3 76 dcl INTERNAL fixed bin int static options (constant) init (32); 3 77 dcl EXECUTE_COMMAND fixed bin int static options (constant) init (34); 3 78 dcl ADD_TO_REMOTE_CAT fixed bin int static options (constant) init (35); 3 79 dcl DELETE_FROM_REMOTE_CAT fixed bin int static options (constant) init (36); 3 80 dcl SUSPEND_APPLICATION fixed bin int static options (constant) init (37); 3 81 dcl RESUME_APPLICATION fixed bin int static options (constant) init (38); 3 82 dcl TERMINATE_APPLICATION fixed bin int static options (constant) init (39); 3 83 dcl RESET_APPLICATION fixed bin int static options (constant) init (40); 3 84 dcl RESET_REPLY fixed bin int static options (constant) init (41); 3 85 dcl WAKE_UP fixed bin int static options (constant) init (42); 3 86 dcl STATUS fixed bin int static options (constant) init (43); 3 87 dcl OVERFLOWED_BUFFER fixed bin int static options (constant) init (44); 3 88 dcl SYSTEM_ERROR fixed bin int static options (constant) init (45); 3 89 dcl QUERY_REPLY fixed bin int static options (constant) init (46); 3 90 dcl RESPONSE_CONNECT fixed bin int static options (constant) init (47); 3 91 dcl RESPONSE_DISCONNECT fixed bin int static options (constant) init (48); 3 92 dcl REQUEST_CONNECT fixed bin int static options (constant) init (49); 3 93 dcl REQUEST_DISCONNECT fixed bin int static options (constant) init (50); 3 94 dcl CONTINUE fixed bin int static options (constant) init (51); 3 95 dcl MORE fixed bin int static options (constant) init (52); 3 96 dcl SET_SLEEP_FLAG fixed bin int static options (constant) init (53); 3 97 dcl RESET_SLEEP_FLAG fixed bin int static options (constant) init (54); 3 98 dcl SET_SUSPEND fixed bin int static options (constant) init (55); 3 99 dcl RESET_SUSPEND fixed bin int static options (constant) init (56); 3 100 dcl STATUS_REPLY fixed bin int static options (constant) init (57); 3 101 3 102 /* Foreground */ 3 103 3 104 dcl FG_CONTROL_MESSAGE fixed bin int static options (constant) init (33); 3 105 dcl FG_BREAK fixed bin int static options (constant) init (34); 3 106 dcl FG_TERMINAL_DATA fixed bin int static options (constant) init (35); 3 107 dcl FG_MORE_DATA fixed bin int static options (constant) init (36); 3 108 dcl PUT_TO_BACKGROUND_BUFFER 3 109 fixed bin int static options (constant) init (37); 3 110 dcl PUT_TO_QUERY_MESSAGE_BUFFER 3 111 fixed bin int static options (constant) init (38); 3 112 3 113 /* END INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 187 188 189 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/07/87 1454.9 internal_connect_request_.pl1 >special_ldd>install>MR12.1-1075>internal_connect_request_.pl1 185 1 08/07/87 1445.8 mowse_info.incl.pl1 >special_ldd>install>MR12.1-1075>mowse_info.incl.pl1 186 2 08/07/87 1447.1 mowse_messages.incl.pl1 >special_ldd>install>MR12.1-1075>mowse_messages.incl.pl1 187 3 08/07/87 1445.8 mowse.incl.pl1 >special_ldd>install>MR12.1-1075>mowse.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. BG 000006 constant fixed bin(17,0) initial dcl 2-17 set ref 156* 172* CAPABILITY_NAME_LENGTH 000002 constant fixed bin(17,0) initial dcl 1-27 ref 54 120 122 LAST 000006 constant fixed bin(17,0) initial dcl 3-71 set ref 172* LOCAL_SYSTEM 000002 constant fixed bin(17,0) initial dcl 3-30 set ref 129* 134* MAXIMUM_PACKET_SIZE constant fixed bin(17,0) initial dcl 3-49 ref 56 PACKET_SIZE constant fixed bin(17,0) initial dcl 3-48 ref 2-155 REJECT constant fixed bin(17,0) initial dcl 3-55 ref 155 REQUEST_CONNECT 000000 constant fixed bin(17,0) initial dcl 3-92 set ref 172* RESPONSE_CONNECT 000001 constant fixed bin(17,0) initial dcl 3-90 set ref 156* addr builtin function dcl 98 ref 132 132 156 156 blkpos 000106 automatic fixed bin(17,0) dcl 58 set ref 119* 120 120 byte builtin function dcl 94 ref 155 cap_num 000100 automatic fixed bin(17,0) dcl 48 set ref 167* 172* capability_$pack 000022 constant entry external dcl 82 ref 144 capability_$unpack 000012 constant entry external dcl 72 ref 167 capname 000106 automatic char unaligned dcl 54 set ref 124* 129 129 134 134 capname_len 000105 automatic fixed bin(17,0) dcl 53 set ref 120* 122* 124 129 129 134 134 connect_request_string 000106 automatic char unaligned dcl 56 set ref 117* 119 124 132 132 cu_$cp 000010 constant entry external dcl 65 ref 132 data 1(09) based structure level 2 packed unaligned dcl 2-110 data_buf 1(09) based char level 3 packed unaligned dcl 2-110 ref 117 destination 000103 automatic fixed bin(17,0) dcl 51 set ref 144* 156* fatal_mowse_trap_ 000026 constant entry external dcl 87 ref 159 169 177 header based structure level 2 packed unaligned dcl 2-110 index builtin function dcl 95 ref 119 last_message based structure level 1 packed unaligned dcl 2-110 major_num 000104 automatic fixed bin(17,0) dcl 52 set ref 129* 134* 167* message_len 000107 automatic fixed bin(17,0) initial dcl 2-33 set ref 116* 117 2-33* min builtin function dcl 96 ref 120 122 null builtin function dcl 93 ref 172 172 p_code parameter fixed bin(35,0) dcl 44 set ref 23 129* 131 132* 134 134* 143 144* 148 149* 152* 156* 158 159* 167* 168 169* 172* 176 177* p_mcb_ptr parameter pointer dcl 38 set ref 23 149* 156* 172* p_message_len parameter fixed bin(17,0) dcl 40 ref 23 116 122 132 p_message_ptr parameter pointer dcl 39 ref 23 117 144 144 144 144 172 172 172 172 rank builtin function dcl 99 ref 144 144 144 144 172 172 172 172 return_status 000102 automatic char(1) unaligned dcl 50 set ref 155* 156 156 send_mowse_message_ 000014 constant entry external dcl 74 ref 172 send_msg_ 000016 constant entry external dcl 78 ref 156 source_major 1 based char(1) level 3 packed unaligned dcl 2-110 ref 144 144 172 172 source_system 0(27) based char(1) level 3 packed unaligned dcl 2-110 ref 144 144 172 172 substr builtin function dcl 97 ref 124 129 129 134 134 sysid 000101 automatic fixed bin(17,0) dcl 49 set ref 167* 172* temp_seg_name 000110 automatic char(6) initial unaligned dcl 3-22 set ref 3-22* ws_$find_capability_number 000024 constant entry external dcl 84 ref 129 134 ws_$put_background_message 000020 constant entry external dcl 80 ref 149 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACCEPT internal static fixed bin(17,0) initial dcl 3-54 ADD_TO_REMOTE_CAT internal static fixed bin(17,0) initial dcl 3-78 CONTINUE internal static fixed bin(17,0) initial dcl 3-94 DELETE_FROM_REMOTE_CAT internal static fixed bin(17,0) initial dcl 3-79 EXECUTE_CAPABILITY_REPLY internal static fixed bin(17,0) initial dcl 3-73 EXECUTE_COMMAND internal static fixed bin(17,0) initial dcl 3-77 EXECUTE_COMMAND_REPLY internal static fixed bin(17,0) initial dcl 3-72 FAIL_CAPABILITY internal static fixed bin(17,0) initial dcl 3-75 FG internal static fixed bin(17,0) initial dcl 2-19 FG_BREAK internal static fixed bin(17,0) initial dcl 3-105 FG_CONTROL_MESSAGE internal static fixed bin(17,0) initial dcl 3-104 FG_MORE_DATA internal static fixed bin(17,0) initial dcl 3-107 FG_TERMINAL_DATA internal static fixed bin(17,0) initial dcl 3-106 INTERNAL internal static fixed bin(17,0) initial dcl 3-76 MAXIMUM_BG_SIZE internal static fixed bin(17,0) initial dcl 3-44 MAXIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 3-43 MAXIMUM_CAT_ENTRY internal static fixed bin(17,0) initial dcl 1-25 MAXIMUM_SYSTEM_MINOR internal static fixed bin(17,0) initial dcl 3-65 MAXIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 3-67 MINIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 3-42 MINIMUM_CAT_ENTRY internal static fixed bin(17,0) initial dcl 1-24 MINIMUM_SYSTEM_MINOR internal static fixed bin(17,0) initial dcl 3-64 MINIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 3-66 MORE internal static fixed bin(17,0) initial dcl 3-95 MOWSE_VERSION_ internal static char(8) initial unaligned dcl 3-26 OVERFLOWED_BUFFER internal static fixed bin(17,0) initial dcl 3-87 PUT_TO_BACKGROUND_BUFFER internal static fixed bin(17,0) initial dcl 3-108 PUT_TO_QUERY_MESSAGE_BUFFER internal static fixed bin(17,0) initial dcl 3-110 QUERY_REPLY internal static fixed bin(17,0) initial dcl 3-89 RECEIVE internal static fixed bin(17,0) initial dcl 3-59 REMOTE_SYSTEM internal static fixed bin(17,0) initial dcl 3-31 REQUEST_DISCONNECT internal static fixed bin(17,0) initial dcl 3-93 RESET_APPLICATION internal static fixed bin(17,0) initial dcl 3-83 RESET_REPLY internal static fixed bin(17,0) initial dcl 3-84 RESET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 3-97 RESET_SUSPEND internal static fixed bin(17,0) initial dcl 3-99 RESPONSE_DISCONNECT internal static fixed bin(17,0) initial dcl 3-91 RESUME_APPLICATION internal static fixed bin(17,0) initial dcl 3-81 SEND internal static fixed bin(17,0) initial dcl 3-60 SEND_QUERY internal static fixed bin(17,0) initial dcl 3-53 SET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 3-96 SET_SUSPEND internal static fixed bin(17,0) initial dcl 3-98 STATUS internal static fixed bin(17,0) initial dcl 3-86 STATUS_FAILED internal static fixed bin(8,0) initial dcl 3-37 STATUS_REPLY internal static fixed bin(17,0) initial dcl 3-100 STATUS_SUCCESS internal static fixed bin(8,0) initial dcl 3-35 SUSPEND_APPLICATION internal static fixed bin(17,0) initial dcl 3-80 SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 3-88 TERMINATE_APPLICATION internal static fixed bin(17,0) initial dcl 3-82 WAKE_UP internal static fixed bin(17,0) initial dcl 3-85 alter_cat_message based structure level 1 packed unaligned dcl 2-63 event_message based structure level 1 packed unaligned dcl 2-76 execom_message based structure level 1 packed unaligned dcl 2-49 execom_reply_msg based structure level 1 packed unaligned dcl 2-122 init_mowse_info based structure level 1 unaligned dcl 1-68 init_mowse_info_ptr automatic pointer dcl 1-67 input_message based structure level 1 packed unaligned dcl 2-38 message_node based structure level 1 unaligned dcl 2-136 message_ptr automatic pointer dcl 2-34 more_remaining_message based structure level 1 packed unaligned dcl 2-96 mowse_info based structure level 1 dcl 1-31 msg_node_ptr automatic pointer dcl 2-135 open_struc based structure level 1 packed unaligned dcl 1-92 open_struc_ptr automatic pointer dcl 1-91 part_msg based char unaligned dcl 2-152 part_msg_length automatic fixed bin(17,0) dcl 2-151 part_msg_ptr automatic pointer dcl 2-144 partial_message based structure level 1 unaligned dcl 2-145 request_more_message based structure level 1 packed unaligned dcl 2-84 trace_message_info automatic structure level 1 unaligned dcl 2-155 NAME DECLARED BY EXPLICIT CONTEXT. internal_connect_request_ 000040 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 666 716 542 676 Length 1172 542 30 240 123 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME internal_connect_request_ 158 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME internal_connect_request_ 000100 cap_num internal_connect_request_ 000101 sysid internal_connect_request_ 000102 return_status internal_connect_request_ 000103 destination internal_connect_request_ 000104 major_num internal_connect_request_ 000105 capname_len internal_connect_request_ 000106 capname internal_connect_request_ 000106 blkpos internal_connect_request_ 000106 connect_request_string internal_connect_request_ 000107 message_len internal_connect_request_ 000110 temp_seg_name internal_connect_request_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac alloc_auto_adj shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. capability_$pack capability_$unpack cu_$cp fatal_mowse_trap_ send_mowse_message_ send_msg_ ws_$find_capability_number ws_$put_background_message NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000033 54 000045 56 000054 2 33 000063 2 155 000065 3 22 000073 116 000075 117 000100 119 000110 120 000121 122 000130 124 000136 129 000143 131 000174 132 000200 134 000220 138 000257 143 000260 144 000263 148 000314 149 000317 152 000353 153 000355 155 000356 156 000361 158 000410 159 000413 160 000422 162 000423 167 000424 168 000441 169 000444 170 000453 172 000454 176 000526 177 000531 178 000540 181 000541 ----------------------------------------------------------- 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