COMPILATION LISTING OF SEGMENT send_mowse_message_ 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 1504.0 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 /****^ HISTORY COMMENTS: 10* 1) change(86-07-01,Smith), approve(87-07-15,MCR7580), 11* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 12* Created. 13* 2) change(86-11-21,Flegel), approve(86-12-10,MCR7580), 14* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 15* Approved. 16* 3) change(86-12-10,Flegel), approve(86-12-10,MCR7580), 17* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 18* Replaced signalling of mowse_fatal_error with a call to fatal_mowse_trap_. 19* END HISTORY COMMENTS */ 20 21 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 22 send_mowse_message_: 23 proc (p_mcb_ptr, p_local_system, p_local_major, p_remote_system, 24 p_remote_major, p_remote_minor, p_msg_type, p_data_ptr, 25 p_data_length, p_channel, p_code); 26 27 28 /* : PROGRAM FUNCTION 29* 30*Send a message for an application on the remote machine; the message includes 31*local and remote major capability numbers, a minor capability number, and 32*possibly data. There are 3 possible formats for the messages, depending on 33*its use: 34* 35*format 1) message composed of major capability on remote machine followed by 36*minor capability on remote machine followed by major capability on local 37*machine followed by data 38* 39*format 2) message composed of major capability on remote machine followed by 40*WS_SENT_MORE value followed by minor capability on remote machine followed by 41*major capability on local machine followed by data 42* 43*format 3) message composed of major capability on local machine followed by 44*WS_REQUEST_MORE value followed by major capability on remote machine followed 45*by minor capability on remote machine 46**/ 47 48 /* : NOTES 49**/ 50 51 /* INPUT PARAMETERS */ 52 dcl p_mcb_ptr ptr parameter; /* pointer to sender's mcb */ 53 dcl p_local_system fixed bin parameter; /* local system id */ 54 dcl p_local_major fixed bin parameter; /* senders major */ 55 dcl p_remote_system fixed bin parameter; /* remote system id */ 56 dcl p_remote_major fixed bin parameter; /* receiver's major */ 57 dcl p_remote_minor fixed bin parameter; /* receiver's minor */ 58 dcl p_msg_type fixed bin parameter; /* type of message */ 59 dcl p_data_ptr ptr parameter; /* message pointer */ 60 dcl p_data_length fixed bin parameter; /* length of message */ 61 dcl p_channel fixed bin parameter; /* Channel of message */ 62 63 64 /* OUTPUT PARAMETERS */ 65 dcl p_code fixed bin (35); /* Error code */ 66 67 /* MISC VARIABLES */ 68 dcl mowse_info_ptr ptr; /* Pointer to Mowse info */ 69 dcl local_data_ptr ptr; 70 dcl data char (p_data_length) based (p_data_ptr); 71 dcl message char (PACKET_SIZE); 72 dcl message_length fixed bin (17); 73 dcl some_space char (1); 74 75 76 /* STRUCTURES */ 77 dcl 01 mowse_io_msg like mowse_io_message automatic; 78 79 80 /* SYSTEM CALLS */ 81 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 82 83 84 /* SYSTEM CALL SUPPORT */ 85 dcl ws_error_$invalid_continue_message 86 fixed bin (35) ext static; 87 dcl ws_error_$invalid_last_message 88 fixed bin (35) ext static; 89 dcl ws_error_$invalid_data_ptr 90 fixed bin (35) ext static; 91 dcl ws_error_$invalid_more_message 92 fixed bin (35) ext static; 93 dcl ws_error_$invalid_message 94 fixed bin (35) ext static; 95 96 /* EXTERNAL CALLS */ 97 dcl get_mowse_info_ptr_ entry (ptr, ptr, fixed bin (35)); 98 dcl trace_message_ entry (ptr, ptr); 99 dcl fatal_mowse_trap_ entry (fixed bin (35)); 100 101 /* EXTERNAL CALL SUPPORT */ 102 103 /* BUILTINS */ 104 dcl null builtin; 105 dcl addr builtin; 106 dcl byte builtin; 107 dcl rank builtin; 108 dcl substr builtin; 109 110 /* CONDITIONS */ 111 112 /* CONSTANTS */ 113 dcl TRUE bit (1) int static options (constant) init ("1"b); 114 115 /* */ 116 /* INITIALIZATION */ 117 118 local_data_ptr = p_data_ptr; 119 p_code = 0; 120 call get_mowse_info_ptr_ (p_mcb_ptr, mowse_info_ptr, p_code); 121 if p_code ^= 0 then 122 return; 123 124 /* MAIN */ 125 126 /* : check for a null p_data_ptr given if the message type can contain data 127* and the data length is not 0 */ 128 129 if p_data_ptr = null & p_data_length ^= 0 & 130 (p_msg_type = LAST | p_msg_type = MORE) then do; 131 p_code = ws_error_$invalid_data_ptr; 132 return; 133 end; 134 135 /* : check for data exceeding packet size for last packet message type */ 136 137 if p_channel = BG then do; 138 if ((p_data_length - 5) > PACKET_SIZE) & (p_msg_type = LAST) 139 then 140 p_code = ws_error_$invalid_last_message; 141 142 /* : check for data exceeding packet size for other message type */ 143 144 else if ((p_data_length - 6) > PACKET_SIZE) & 145 (p_msg_type = CONTINUE) then 146 p_code = ws_error_$invalid_continue_message; 147 148 else if (p_data_length ^= 6) & (p_msg_type = MORE) then 149 p_code = ws_error_$invalid_more_message; 150 end; 151 else if p_channel = FG then do; 152 if ((p_data_length - 3) > PACKET_SIZE) then 153 p_code = ws_error_$invalid_last_message; 154 end; 155 156 157 158 /* : data lengths are okay, process message 159* - assign a valid value in case ptr gets referenced */ 160 161 if local_data_ptr = null & p_data_length = 0 then 162 local_data_ptr = addr (some_space); 163 164 /* : - use p_msg_type to determine which message type to send 165* - if p_msg_type = MORE then 166* -- make a "MORE" message */ 167 168 if p_msg_type = MORE then do; 169 substr (message, 1, 1) = byte (p_local_system); 170 substr (message, 2, 1) = byte (p_local_major); 171 substr (message, 3, 1) = byte (MORE); 172 substr (message, 4, 1) = byte (p_remote_system); 173 substr (message, 5, 1) = byte (p_remote_major); 174 substr (message, 6, 1) = byte (p_remote_minor); 175 message_length = 6; 176 177 if mowse_info_ptr -> mowse_info.mowse_flags.trace = TRUE 178 then do; 179 trace_message_info.direction = SEND; 180 trace_message_info.from_system = p_remote_system; 181 trace_message_info.from_major = p_remote_major; 182 trace_message_info.dest_system = p_local_system; 183 trace_message_info.dest_major = p_local_major; 184 trace_message_info.dest_minor = -1; 185 trace_message_info.msg_type = p_msg_type; 186 trace_message_info.message = ""; 187 call trace_message_ ( 188 mowse_info_ptr 189 -> mowse_info.mowse_flags.trace_file_iocb, 190 addr (trace_message_info)); 191 end; 192 193 /* : -- initialize the structure required to make the control order 194* to send the message. */ 195 196 mowse_io_msg.version = mowse_io_info_version_1; 197 mowse_io_msg.channel = p_channel; 198 mowse_io_msg.io_message_ptr = addr (message); 199 mowse_io_msg.io_message_len = message_length; 200 end; 201 202 /* : - else if p_msg_type = CONTINUE then 203* -- make a message with data specifying more to come */ 204 205 else if p_msg_type = CONTINUE then do; 206 substr (message, 1, 1) = byte (p_remote_system); 207 substr (message, 2, 1) = byte (p_remote_major); 208 substr (message, 3, 1) = byte (CONTINUE); 209 substr (message, 4, 1) = byte (p_remote_minor); 210 substr (message, 5, 1) = byte (p_local_system); 211 substr (message, 6, 1) = byte (p_local_major); 212 substr (message, 7, p_data_length) = 213 substr (data, 1, p_data_length); 214 message_length = p_data_length + 6; 215 216 if mowse_info_ptr 217 -> mowse_info.mowse_flags.trace = TRUE then do; 218 219 trace_message_info.direction = SEND; 220 trace_message_info.from_system = p_local_system; 221 trace_message_info.from_major = p_local_major; 222 trace_message_info.dest_system = p_remote_system; 223 trace_message_info.dest_major = p_remote_major; 224 trace_message_info.dest_minor = p_remote_minor; 225 trace_message_info.msg_type = p_msg_type; 226 trace_message_info.message = 227 substr (message, 7, p_data_length); 228 call trace_message_ (mowse_info_ptr 229 -> mowse_info.mowse_flags.trace_file_iocb, 230 addr (trace_message_info)); 231 end; 232 233 /* : -- allocate and initialize the structure required to make 234* the control order to send the message. */ 235 236 mowse_io_msg.version = mowse_io_info_version_1; 237 mowse_io_msg.channel = p_channel; 238 mowse_io_msg.io_message_ptr = addr (message); 239 mowse_io_msg.io_message_len = message_length; 240 end; 241 242 /* : - else if p_msg_type = LAST then 243* -- make final message to be send */ 244 245 else if p_msg_type = LAST then do; 246 if p_channel = FG then do; 247 substr (message, 1, 1) = byte (p_remote_minor); 248 substr (message, 2, 1) = byte (p_local_system); 249 substr (message, 3, 1) = byte (p_local_major); 250 substr (message, 4, p_data_length) = 251 substr (data, 1, p_data_length); 252 message_length = p_data_length + 3; 253 end; 254 else do; 255 substr (message, 1, 1) = byte (p_remote_system); 256 substr (message, 2, 1) = byte (p_remote_major); 257 substr (message, 3, 1) = byte (p_remote_minor); 258 substr (message, 4, 1) = byte (p_local_system); 259 substr (message, 5, 1) = byte (p_local_major); 260 substr (message, 6, p_data_length) = 261 substr (data, 1, p_data_length); 262 message_length = p_data_length + 5; 263 end; 264 265 if mowse_info_ptr 266 -> mowse_info.mowse_flags.trace = TRUE then do; 267 268 trace_message_info.direction = SEND; 269 trace_message_info.from_system = p_local_system; 270 trace_message_info.from_major = p_local_major; 271 trace_message_info.dest_system = p_remote_system; 272 trace_message_info.dest_major = p_remote_major; 273 trace_message_info.dest_minor = p_remote_minor; 274 trace_message_info.msg_type = p_msg_type; 275 276 if p_remote_minor = PUT_TO_BACKGROUND_BUFFER | 277 p_remote_minor = PUT_TO_QUERY_MESSAGE_BUFFER then 278 279 trace_message_info.message = 280 substr (message, 4, p_data_length); 281 else 282 trace_message_info.message = 283 substr (message, 6, p_data_length); 284 285 call trace_message_ (mowse_info_ptr 286 -> mowse_info.mowse_flags.trace_file_iocb, 287 addr (trace_message_info)); 288 end; 289 290 /* : -- allocate and initialize the structure required to make 291* the control order to send the message. */ 292 293 mowse_io_msg.version = mowse_io_info_version_1; 294 mowse_io_msg.channel = p_channel; 295 mowse_io_msg.io_message_ptr = addr (message); 296 mowse_io_msg.io_message_len = message_length; 297 end; 298 299 /* : otherwise the message type specified is invalid 300* (This should never happen) */ 301 302 else do; 303 call fatal_mowse_trap_ (ws_error_$invalid_message); 304 return; 305 end; 306 307 /* : Perform iox_$control call to send message to destination */ 308 309 /* COMPILER BUG AS THIS ALWAYS FAILED WHEN COMPILED WITH subscriptrange PREFIX */ 310 (nosubscriptrange): 311 (nosize): 312 (nostringsize): 313 (nosubrg): 314 if rank (substr (message, 1, 1)) = LOCAL_SYSTEM then do; 315 call iox_$control (p_mcb_ptr -> mcb.iocb_ptr, 316 "send_local_message", addr (mowse_io_msg), p_code); 317 end; 318 else 319 call iox_$control (p_mcb_ptr -> mcb.iocb_ptr, 320 "send_message", addr (mowse_io_msg), p_code); 321 322 if p_code ^= 0 then do; 323 call fatal_mowse_trap_ (p_code); 324 return; 325 end; 326 327 328 /* INCLUDE FILES */ 329 1 1 /* BEGIN INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 1 2 1 3 /****^ HISTORY COMMENTS: 1 4* 1) change(86-09-17,Flegel), approve(86-12-16,MCR7580), 1 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 1 6* Created. 1 7* 2) change(86-10-03,Flegel), approve(86-12-16,MCR7580), 1 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 1 9* Combined mowse_minor_caps.incl.pl1 and 1 10* mowse.incl.pl1 so that programmer only needs include mowse.incl.pl1 1 11* 3) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 1 12* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 1 13* Approved. 1 14* 4) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 1 15* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 1 16* Changes to support async call channels. 1 17* END HISTORY COMMENTS */ 1 18 1 19 /* Name of MOWSE temp seg for data */ 1 20 1 21 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 1 22 dcl temp_seg_name char (6) init ("MOWSE_"); 1 23 1 24 /* Version number */ 1 25 1 26 dcl MOWSE_VERSION_ char (8) int static options (constant) init ("version1"); 1 27 1 28 /* System identification */ 1 29 1 30 dcl LOCAL_SYSTEM fixed bin int static options (constant) init (32); 1 31 dcl REMOTE_SYSTEM fixed bin int static options (constant) init (33); 1 32 1 33 /* Status request return codes */ 1 34 1 35 dcl STATUS_SUCCESS fixed bin (8) int static options (constant) 1 36 init (32); 1 37 dcl STATUS_FAILED fixed bin (8) int static options (constant) 1 38 init (33); 1 39 1 40 /* Input/output capability buffer size limits */ 1 41 1 42 dcl MINIMUM_BUFFER_SIZE fixed bin int static options (constant) init (128); 1 43 dcl MAXIMUM_BUFFER_SIZE fixed bin int static options (constant) init (65536); 1 44 dcl MAXIMUM_BG_SIZE fixed bin int static options (constant) init (512); 1 45 1 46 /* Packet size (communication) constants */ 1 47 1 48 dcl PACKET_SIZE fixed bin int static options (constant) init (124); 1 49 dcl MAXIMUM_PACKET_SIZE fixed bin int static options (constant) init (118); 1 50 1 51 /* Query message constants */ 1 52 1 53 dcl SEND_QUERY fixed bin int static options (constant) init (128); 1 54 dcl ACCEPT fixed bin int static options (constant) init (32); 1 55 dcl REJECT fixed bin int static options (constant) init (33); 1 56 1 57 /* Trace information constants */ 1 58 1 59 dcl RECEIVE fixed bin int static options (constant) init (1); 1 60 dcl SEND fixed bin int static options (constant) init (0); 1 61 1 62 /* Limits on dedicated minor capabilities */ 1 63 1 64 dcl MINIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (32); 1 65 dcl MAXIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (63); 1 66 dcl MINIMUM_USER_MINOR fixed bin int static options (constant) init (64); 1 67 dcl MAXIMUM_USER_MINOR fixed bin int static options (constant) init (127); 1 68 1 69 /* Dedicated Minor Capabilities */ 1 70 1 71 dcl LAST fixed bin int static options (constant) init (0); 1 72 dcl EXECUTE_COMMAND_REPLY fixed bin int static options (constant) init (32); 1 73 dcl EXECUTE_CAPABILITY_REPLY 1 74 fixed bin int static options (constant) init (33); 1 75 dcl FAIL_CAPABILITY fixed bin int static options (constant) init (33); 1 76 dcl INTERNAL fixed bin int static options (constant) init (32); 1 77 dcl EXECUTE_COMMAND fixed bin int static options (constant) init (34); 1 78 dcl ADD_TO_REMOTE_CAT fixed bin int static options (constant) init (35); 1 79 dcl DELETE_FROM_REMOTE_CAT fixed bin int static options (constant) init (36); 1 80 dcl SUSPEND_APPLICATION fixed bin int static options (constant) init (37); 1 81 dcl RESUME_APPLICATION fixed bin int static options (constant) init (38); 1 82 dcl TERMINATE_APPLICATION fixed bin int static options (constant) init (39); 1 83 dcl RESET_APPLICATION fixed bin int static options (constant) init (40); 1 84 dcl RESET_REPLY fixed bin int static options (constant) init (41); 1 85 dcl WAKE_UP fixed bin int static options (constant) init (42); 1 86 dcl STATUS fixed bin int static options (constant) init (43); 1 87 dcl OVERFLOWED_BUFFER fixed bin int static options (constant) init (44); 1 88 dcl SYSTEM_ERROR fixed bin int static options (constant) init (45); 1 89 dcl QUERY_REPLY fixed bin int static options (constant) init (46); 1 90 dcl RESPONSE_CONNECT fixed bin int static options (constant) init (47); 1 91 dcl RESPONSE_DISCONNECT fixed bin int static options (constant) init (48); 1 92 dcl REQUEST_CONNECT fixed bin int static options (constant) init (49); 1 93 dcl REQUEST_DISCONNECT fixed bin int static options (constant) init (50); 1 94 dcl CONTINUE fixed bin int static options (constant) init (51); 1 95 dcl MORE fixed bin int static options (constant) init (52); 1 96 dcl SET_SLEEP_FLAG fixed bin int static options (constant) init (53); 1 97 dcl RESET_SLEEP_FLAG fixed bin int static options (constant) init (54); 1 98 dcl SET_SUSPEND fixed bin int static options (constant) init (55); 1 99 dcl RESET_SUSPEND fixed bin int static options (constant) init (56); 1 100 dcl STATUS_REPLY fixed bin int static options (constant) init (57); 1 101 1 102 /* Foreground */ 1 103 1 104 dcl FG_CONTROL_MESSAGE fixed bin int static options (constant) init (33); 1 105 dcl FG_BREAK fixed bin int static options (constant) init (34); 1 106 dcl FG_TERMINAL_DATA fixed bin int static options (constant) init (35); 1 107 dcl FG_MORE_DATA fixed bin int static options (constant) init (36); 1 108 dcl PUT_TO_BACKGROUND_BUFFER 1 109 fixed bin int static options (constant) init (37); 1 110 dcl PUT_TO_QUERY_MESSAGE_BUFFER 1 111 fixed bin int static options (constant) init (38); 1 112 1 113 /* END INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 330 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 * * * * * * * * * * * * */ 331 3 1 /* BEGIN INCLUDE FILE: mowse_mcb.incl.pl1 * * * * * * * * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(86-05-17,Smith), approve(87-07-15,MCR7580), 3 5* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 3 6* Created to define the mcb (Mowse Control Block) 3 7* for information on capabilities. 3 8* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 3 9* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 3 10* Approved. 3 11* END HISTORY COMMENTS */ 3 12 /* MOWSE control block */ 3 13 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 3 14 dcl 01 mcb based, 3 15 02 version char (8), 3 16 02 capability_name char (32), /* Name of capability */ 3 17 02 major_capability fixed bin (17), /* Capability number */ 3 18 02 inbuff_length fixed bin (17), /* Length of buffer */ 3 19 02 inbuff_position_index 3 20 fixed bin (17), /* Current position in inbuffer */ 3 21 02 inbuff_data_length 3 22 fixed bin (17), /* Amoiunt of data in inbuffer */ 3 23 02 outbuff_length fixed bin (17), /* Length of outbuffer */ 3 24 02 mbz1 bit (36) unal, 3 25 02 entry_var entry options (variable), /* Message processor entry point of capability */ 3 26 02 data_block_ptr ptr, /* Capability data */ 3 27 02 inbuff ptr, /* Message input buffer */ 3 28 02 outbuff_list_start 3 29 ptr, /* Pointer to outbuffer data */ 3 30 02 outbuff_list_end ptr, /* Last node in outbuffer data */ 3 31 02 iocb_ptr ptr, /* IOCB to mowse_io_ */ 3 32 02 mowse_info_ptr ptr; /* MOWSE information */ 3 33 /* Output buffer linked list node */ 3 34 dcl 01 output_buffer based, 3 35 02 destination_system 3 36 char, /* Destination of message */ 3 37 02 destination_major char, 3 38 02 destination_minor char, 3 39 02 buffer_position fixed bin, /* Position in buffer of message */ 3 40 02 buffer_length fixed bin, /* Length of buffer */ 3 41 02 next_buffer ptr, /* Next buffer of message */ 3 42 02 data ptr; /* Pointer to message */ 3 43 3 44 /* END INCLUDE FILE: mowse_mcb.incl.pl1 * * * * * * * * * * * * */ 332 4 1 /* BEGIN INCLUDE FILE: mowse_io_control_info.incl.pl1 * * * * * * * * * * * * */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(86-06-15,Flegel), approve(86-12-16,MCR7580), 4 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 6* Created for control support for mowse_io_. 4 7* 2) change(86-08-01,Flegel), approve(86-12-16,MCR7580), 4 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 9* Changed version fields to char (8) and 4 10* installed version constant. 4 11* 3) change(86-10-08,Flegel), approve(86-12-16,MCR7580), 4 12* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 13* Added flush_subchannel_info structure. 4 14* 4) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 4 15* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 16* Approved. 4 17* 5) change(86-12-05,Flegel), approve(86-12-05,MCR7580), 4 18* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 19* Added mowse_io_set_video_mode_info structure. 4 20* 6) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 4 21* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 4 22* Changes to support async call channels. 4 23* END HISTORY COMMENTS */ 4 24 4 25 /* : Version number */ 4 26 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 4 27 dcl mowse_io_info_version_1 4 28 char (8) int static options (constant) 4 29 init ("miover_1"); 4 30 4 31 /* : Mowse store info structure */ 4 32 dcl mowse_io_store_info_ptr 4 33 ptr; 4 34 dcl 01 mowse_io_store_info based (mowse_io_store_info_ptr), 4 35 02 version char (8), 4 36 02 info_ptr ptr; /* Pointer to mowse_info_ structure */ 4 37 4 38 /* : Mowse info structure */ 4 39 dcl mowse_io_info_ptr ptr; 4 40 dcl 01 mowse_io_info based (mowse_io_info_ptr), 4 41 02 version char (8), 4 42 02 mcb_ptr ptr, /* Pointer to mowse_mcb */ 4 43 02 info_ptr ptr; /* Pointer to Mowse information (CATs etc.) */ 4 44 4 45 /* : Control info overlay for debug_on */ 4 46 dcl mowse_io_debug_info_ptr 4 47 ptr; 4 48 dcl 01 mowse_io_debug_info based (mowse_io_debug_info_ptr), 4 49 02 version char (8), 4 50 02 segment_name char (512) var; /* Debug file name */ 4 51 4 52 /* : Control info overlay for get_terminal_emulator_state */ 4 53 dcl mowse_io_terminal_state_ptr 4 54 ptr; 4 55 dcl 01 mowse_io_terminal_state 4 56 based (mowse_io_terminal_state_ptr), 4 57 02 version char (8), 4 58 02 state bit (1) unal, /* WSTERM state */ 4 59 02 mbz bit (35) unal; 4 60 4 61 /* : Control info overlay for send_message and send_local_message */ 4 62 dcl mowse_io_message_ptr ptr; 4 63 dcl 01 mowse_io_message based (mowse_io_message_ptr), 4 64 02 version char (8), 4 65 02 channel fixed bin, /* Channel of message */ 4 66 02 io_message_ptr ptr, /* Pointer to the nonvarying message */ 4 67 02 io_message_len fixed bin (21); /* Length of message */ 4 68 4 69 /* : Control info overlay for put_to_sleep */ 4 70 dcl mowse_io_sleep_info_ptr 4 71 ptr; 4 72 dcl 01 mowse_io_sleep_info based (mowse_io_sleep_info_ptr), 4 73 02 version char (8), 4 74 02 major_index fixed bin, /* CAT index of sleeper */ 4 75 02 sleep_seconds fixed bin; /* Sleep interval */ 4 76 4 77 /* : Control info for flush_subchannel */ 4 78 dcl mowse_io_flush_subchannel_info_ptr 4 79 ptr; 4 80 dcl 01 mowse_io_flush_subchannel_info 4 81 based (mowse_io_flush_subchannel_info_ptr), 4 82 02 version char (8), 4 83 02 subchannel fixed bin; /* The subchannel to be flushed (BG/FG) */ 4 84 4 85 /* : Control info to set the video mode */ 4 86 dcl mowse_io_set_video_mode_info_ptr 4 87 ptr; 4 88 dcl 01 mowse_io_set_video_mode_info 4 89 based (mowse_io_set_video_mode_info_ptr), 4 90 02 version char (8), 4 91 02 mode bit (1) unal, /* On or off */ 4 92 02 mbz bit (35) unal; 4 93 4 94 /* END INCLUDE FILE: mowse_io_control_info.incl.pl1 * * * * * * * * * * * * */ 333 5 1 /* BEGIN INCLUDE FILE: mowse_info.incl.pl1 * * * * * * * * * * * * */ 5 2 5 3 /****^ HISTORY COMMENTS: 5 4* 1) change(86-07-19,Smith), approve(87-07-15,MCR7580), 5 5* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 5 6* Created to define MOWSE information to be 5 7* placed into a temp segment. 5 8* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 5 9* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 5 10* Approved. 5 11* 3) change(87-02-25,Flegel), approve(87-02-25,MCR7580), 5 12* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 5 13* Added bit switches to the init_mowse_info structure as well as the force 5 14* flag. 5 15* 4) change(87-03-24,Flegel), approve(87-03-24,MCR7580), 5 16* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 5 17* Added open_struc for passing EOP and escape char info from attach_mowse 5 18* to mowse_io_. 5 19* END HISTORY COMMENTS */ 5 20 5 21 /* CAT index limits */ 5 22 5 23 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 5 24 dcl MINIMUM_CAT_ENTRY fixed bin int static options (constant) init (33); 5 25 dcl MAXIMUM_CAT_ENTRY fixed bin int static options (constant) init (64); 5 26 5 27 dcl CAPABILITY_NAME_LENGTH fixed bin int static options (constant) init (32); 5 28 5 29 /* Mowse information structure */ 5 30 5 31 dcl 01 mowse_info based aligned, 5 32 02 version char (8), 5 33 02 local_cat dimension (33:64), /* Multics CAT table */ 5 34 03 flags, 5 35 04 reset bit (1) unal, /* Reset in progress */ 5 36 04 suspended bit (1) unal, /* Suspended applciation */ 5 37 04 status bit (1) unal, /* Status pending */ 5 38 04 mbz1 bit (33) unal, 5 39 03 sleep_time fixed bin, /* Time application is sleeping */ 5 40 03 mcb_ptr ptr, /* Capability MCB */ 5 41 02 remote_cat dimension (33:64), /* PC CAT table */ 5 42 03 major_capability 5 43 fixed bin, /* Capability number */ 5 44 03 capability_name char (32), /* Name of capability */ 5 45 03 flags, 5 46 04 reset bit (1) unal, /* Reset in progress */ 5 47 04 suspended bit (1) unal, /* Suspended capability */ 5 48 04 sleep_time bit (1) unal, /* Application sleeping */ 5 49 04 mbz2 bit (33) unal, 5 50 02 message_manager_info, /* Info for processing messages */ 5 51 03 head_list_ptr ptr, /* Head of message list */ 5 52 03 tail_list_ptr ptr, /* Tail of message list */ 5 53 03 pending_messages 5 54 fixed bin, /* Number of pending messages */ 5 55 02 mowse_flags, 5 56 03 trace bit (1) unal, /* Message tracing facility active */ 5 57 03 debug bit (1) unal, /* Debugging packets facility active */ 5 58 03 error_handled bit (1) unal, /* In mowse_error_handler procedure */ 5 59 03 mbz1 bit (33) unal, 5 60 03 trace_file_iocb ptr, /* Trace file iocb */ 5 61 03 debug_file_iocb ptr, /* Debug file iocb */ 5 62 02 init_mowse_info_ptr 5 63 ptr; /* Initialization information */ 5 64 5 65 /* MOWSE initialization information */ 5 66 5 67 dcl init_mowse_info_ptr ptr; 5 68 dcl 01 init_mowse_info based (init_mowse_info_ptr), 5 69 02 version char (8), 5 70 02 flags, /* Bit switches */ 5 71 03 trace_sw bit (1) unal, 5 72 03 debug_sw bit (1) unal, 5 73 03 io_switch_sw bit (1) unal, 5 74 03 force_sw bit (1) unal, 5 75 03 start_up_sw bit (1) unal, 5 76 03 escape_sw bit (1) unal, 5 77 03 network_sw bit (1) unal, 5 78 03 pad bit (29) unal, 5 79 02 escape, 5 80 03 chars (0:255) bit (1) unal, /* Character escapes */ 5 81 03 pad bit (32) unal, 5 82 02 trace char (512) var, /* Trace file name */ 5 83 02 debug char (512) var, /* Debug file name */ 5 84 02 io_switch char (512) var, /* Io switch name of mowse_io_ attachment */ 5 85 02 startup (MAXIMUM_CAT_ENTRY - MINIMUM_CAT_ENTRY + 1) 5 86 char (168) var; /* Capability to be autoloaded */ 5 87 5 88 /* Open description structure (this is padded to character bounds as it 5 89* is a character overlay structure - passed as a character string) */ 5 90 5 91 dcl open_struc_ptr ptr; 5 92 dcl 01 open_struc based (open_struc_ptr), 5 93 02 flags, 5 94 03 network_sw bit (1) unal, 5 95 03 escape_sw bit (1) unal, 5 96 03 pad bit (7) unal, 5 97 02 escape, 5 98 03 switches (0:255) bit (1) unal, 5 99 03 pad bit (32) unal, 5 100 02 mbz bit (16) unal; 5 101 5 102 /* END INCLUDE FILE: mowse_info.incl.pl1 * * * * * * * * * * * * */ 334 335 336 /* : END */ 337 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/07/87 1453.7 send_mowse_message_.pl1 >special_ldd>install>MR12.1-1075>send_mowse_message_.pl1 330 1 08/07/87 1445.8 mowse.incl.pl1 >special_ldd>install>MR12.1-1075>mowse.incl.pl1 331 2 08/07/87 1447.1 mowse_messages.incl.pl1 >special_ldd>install>MR12.1-1075>mowse_messages.incl.pl1 332 3 08/07/87 1447.6 mowse_mcb.incl.pl1 >special_ldd>install>MR12.1-1075>mowse_mcb.incl.pl1 333 4 08/07/87 1445.8 mowse_io_control_info.incl.pl1 >special_ldd>install>MR12.1-1075>mowse_io_control_info.incl.pl1 334 5 08/07/87 1445.8 mowse_info.incl.pl1 >special_ldd>install>MR12.1-1075>mowse_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. BG constant fixed bin(17,0) initial dcl 2-17 ref 137 CONTINUE constant fixed bin(17,0) initial dcl 1-94 ref 144 205 208 FG constant fixed bin(17,0) initial dcl 2-19 ref 151 246 LAST constant fixed bin(17,0) initial dcl 1-71 ref 129 138 245 LOCAL_SYSTEM constant fixed bin(17,0) initial dcl 1-30 ref 310 MORE constant fixed bin(17,0) initial dcl 1-95 ref 129 148 168 171 PACKET_SIZE constant fixed bin(17,0) initial dcl 1-48 ref 71 138 144 152 186 226 276 281 2-155 PUT_TO_BACKGROUND_BUFFER constant fixed bin(17,0) initial dcl 1-108 ref 276 PUT_TO_QUERY_MESSAGE_BUFFER constant fixed bin(17,0) initial dcl 1-110 ref 276 SEND constant fixed bin(17,0) initial dcl 1-60 ref 179 219 268 TRUE constant bit(1) initial unaligned dcl 113 ref 177 216 265 addr builtin function dcl 105 ref 161 187 187 198 228 228 238 285 285 295 315 315 318 318 byte builtin function dcl 106 ref 169 170 171 172 173 174 206 207 208 209 210 211 247 248 249 255 256 257 258 259 channel 2 000106 automatic fixed bin(17,0) level 2 dcl 77 set ref 197* 237* 294* data based char unaligned dcl 70 ref 212 250 260 dest_major 4 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 183* 223* 272* dest_minor 5 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 184* 224* 273* dest_system 3 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 182* 222* 271* direction 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 179* 219* 268* fatal_mowse_trap_ 000030 constant entry external dcl 99 ref 303 323 from_major 2 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 181* 221* 270* from_system 1 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 180* 220* 269* get_mowse_info_ptr_ 000024 constant entry external dcl 97 ref 120 io_message_len 6 000106 automatic fixed bin(21,0) level 2 dcl 77 set ref 199* 239* 296* io_message_ptr 4 000106 automatic pointer level 2 dcl 77 set ref 198* 238* 295* iocb_ptr 34 based pointer level 2 dcl 3-14 set ref 315* 318* iox_$control 000010 constant entry external dcl 81 ref 315 318 local_data_ptr 000102 automatic pointer dcl 69 set ref 118* 161 161* mcb based structure level 1 unaligned dcl 3-14 message 000104 automatic char unaligned dcl 71 in procedure "send_mowse_message_" set ref 169* 170* 171* 172* 173* 174* 198 206* 207* 208* 209* 210* 211* 212* 226 238 247* 248* 249* 250* 255* 256* 257* 258* 259* 260* 276 281 295 310 message 7 000121 automatic varying char level 2 in structure "trace_message_info" dcl 2-155 in procedure "send_mowse_message_" set ref 186* 226* 276* 281* message_len 000120 automatic fixed bin(17,0) initial dcl 2-33 set ref 2-33* message_length 000104 automatic fixed bin(17,0) dcl 72 set ref 175* 199 214* 239 252* 262* 296 mowse_flags 710 based structure level 2 dcl 5-31 mowse_info based structure level 1 dcl 5-31 mowse_info_ptr 000100 automatic pointer dcl 68 set ref 120* 177 187 216 228 265 285 mowse_io_info_version_1 000000 constant char(8) initial unaligned dcl 4-27 ref 196 236 293 mowse_io_message based structure level 1 unaligned dcl 4-63 mowse_io_msg 000106 automatic structure level 1 unaligned dcl 77 set ref 315 315 318 318 msg_type 6 000121 automatic fixed bin(17,0) level 2 dcl 2-155 set ref 185* 225* 274* null builtin function dcl 104 ref 129 161 p_channel parameter fixed bin(17,0) dcl 61 ref 22 137 151 197 237 246 294 p_code parameter fixed bin(35,0) dcl 65 set ref 22 119* 120* 121 131* 138* 144* 148* 152* 315* 318* 322 323* p_data_length parameter fixed bin(17,0) dcl 60 ref 22 129 138 144 148 152 161 212 212 212 214 226 250 250 250 252 260 260 260 262 276 281 p_data_ptr parameter pointer dcl 59 ref 22 118 129 212 250 260 p_local_major parameter fixed bin(17,0) dcl 54 ref 22 170 183 211 221 249 259 270 p_local_system parameter fixed bin(17,0) dcl 53 ref 22 169 182 210 220 248 258 269 p_mcb_ptr parameter pointer dcl 52 set ref 22 120* 315 318 p_msg_type parameter fixed bin(17,0) dcl 58 ref 22 129 129 138 144 148 168 185 205 225 245 274 p_remote_major parameter fixed bin(17,0) dcl 56 ref 22 173 181 207 223 256 272 p_remote_minor parameter fixed bin(17,0) dcl 57 ref 22 174 209 224 247 257 273 276 276 p_remote_system parameter fixed bin(17,0) dcl 55 ref 22 172 180 206 222 255 271 rank builtin function dcl 107 ref 310 some_space 000105 automatic char(1) unaligned dcl 73 set ref 161 substr builtin function dcl 108 set ref 169* 170* 171* 172* 173* 174* 206* 207* 208* 209* 210* 211* 212* 212 226 247* 248* 249* 250* 250 255* 256* 257* 258* 259* 260* 260 276 281 310 temp_seg_name 000116 automatic char(6) initial unaligned dcl 1-22 set ref 1-22* trace 710 based bit(1) level 3 packed unaligned dcl 5-31 ref 177 216 265 trace_file_iocb 712 based pointer level 3 dcl 5-31 set ref 187* 228* 285* trace_message_ 000026 constant entry external dcl 98 ref 187 228 285 trace_message_info 000121 automatic structure level 1 unaligned dcl 2-155 set ref 187 187 228 228 285 285 version 000106 automatic char(8) level 2 packed unaligned dcl 77 set ref 196* 236* 293* ws_error_$invalid_continue_message 000012 external static fixed bin(35,0) dcl 85 ref 144 ws_error_$invalid_data_ptr 000016 external static fixed bin(35,0) dcl 89 ref 131 ws_error_$invalid_last_message 000014 external static fixed bin(35,0) dcl 87 ref 138 152 ws_error_$invalid_message 000022 external static fixed bin(35,0) dcl 93 set ref 303* ws_error_$invalid_more_message 000020 external static fixed bin(35,0) dcl 91 ref 148 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACCEPT internal static fixed bin(17,0) initial dcl 1-54 ADD_TO_REMOTE_CAT internal static fixed bin(17,0) initial dcl 1-78 CAPABILITY_NAME_LENGTH internal static fixed bin(17,0) initial dcl 5-27 DELETE_FROM_REMOTE_CAT internal static fixed bin(17,0) initial dcl 1-79 EXECUTE_CAPABILITY_REPLY internal static fixed bin(17,0) initial dcl 1-73 EXECUTE_COMMAND internal static fixed bin(17,0) initial dcl 1-77 EXECUTE_COMMAND_REPLY internal static fixed bin(17,0) initial dcl 1-72 FAIL_CAPABILITY internal static fixed bin(17,0) initial dcl 1-75 FG_BREAK internal static fixed bin(17,0) initial dcl 1-105 FG_CONTROL_MESSAGE internal static fixed bin(17,0) initial dcl 1-104 FG_MORE_DATA internal static fixed bin(17,0) initial dcl 1-107 FG_TERMINAL_DATA internal static fixed bin(17,0) initial dcl 1-106 INTERNAL internal static fixed bin(17,0) initial dcl 1-76 MAXIMUM_BG_SIZE internal static fixed bin(17,0) initial dcl 1-44 MAXIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 1-43 MAXIMUM_CAT_ENTRY internal static fixed bin(17,0) initial dcl 5-25 MAXIMUM_PACKET_SIZE internal static fixed bin(17,0) initial dcl 1-49 MAXIMUM_SYSTEM_MINOR internal static fixed bin(17,0) initial dcl 1-65 MAXIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 1-67 MINIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 1-42 MINIMUM_CAT_ENTRY internal static fixed bin(17,0) initial dcl 5-24 MINIMUM_SYSTEM_MINOR internal static fixed bin(17,0) initial dcl 1-64 MINIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 1-66 MOWSE_VERSION_ internal static char(8) initial unaligned dcl 1-26 OVERFLOWED_BUFFER internal static fixed bin(17,0) initial dcl 1-87 QUERY_REPLY internal static fixed bin(17,0) initial dcl 1-89 RECEIVE internal static fixed bin(17,0) initial dcl 1-59 REJECT internal static fixed bin(17,0) initial dcl 1-55 REMOTE_SYSTEM internal static fixed bin(17,0) initial dcl 1-31 REQUEST_CONNECT internal static fixed bin(17,0) initial dcl 1-92 REQUEST_DISCONNECT internal static fixed bin(17,0) initial dcl 1-93 RESET_APPLICATION internal static fixed bin(17,0) initial dcl 1-83 RESET_REPLY internal static fixed bin(17,0) initial dcl 1-84 RESET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 1-97 RESET_SUSPEND internal static fixed bin(17,0) initial dcl 1-99 RESPONSE_CONNECT internal static fixed bin(17,0) initial dcl 1-90 RESPONSE_DISCONNECT internal static fixed bin(17,0) initial dcl 1-91 RESUME_APPLICATION internal static fixed bin(17,0) initial dcl 1-81 SEND_QUERY internal static fixed bin(17,0) initial dcl 1-53 SET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 1-96 SET_SUSPEND internal static fixed bin(17,0) initial dcl 1-98 STATUS internal static fixed bin(17,0) initial dcl 1-86 STATUS_FAILED internal static fixed bin(8,0) initial dcl 1-37 STATUS_REPLY internal static fixed bin(17,0) initial dcl 1-100 STATUS_SUCCESS internal static fixed bin(8,0) initial dcl 1-35 SUSPEND_APPLICATION internal static fixed bin(17,0) initial dcl 1-80 SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 1-88 TERMINATE_APPLICATION internal static fixed bin(17,0) initial dcl 1-82 WAKE_UP internal static fixed bin(17,0) initial dcl 1-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 5-68 init_mowse_info_ptr automatic pointer dcl 5-67 input_message based structure level 1 packed unaligned dcl 2-38 last_message based structure level 1 packed unaligned dcl 2-110 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_io_debug_info based structure level 1 unaligned dcl 4-48 mowse_io_debug_info_ptr automatic pointer dcl 4-46 mowse_io_flush_subchannel_info based structure level 1 unaligned dcl 4-80 mowse_io_flush_subchannel_info_ptr automatic pointer dcl 4-78 mowse_io_info based structure level 1 unaligned dcl 4-40 mowse_io_info_ptr automatic pointer dcl 4-39 mowse_io_message_ptr automatic pointer dcl 4-62 mowse_io_set_video_mode_info based structure level 1 packed unaligned dcl 4-88 mowse_io_set_video_mode_info_ptr automatic pointer dcl 4-86 mowse_io_sleep_info based structure level 1 unaligned dcl 4-72 mowse_io_sleep_info_ptr automatic pointer dcl 4-70 mowse_io_store_info based structure level 1 unaligned dcl 4-34 mowse_io_store_info_ptr automatic pointer dcl 4-32 mowse_io_terminal_state based structure level 1 packed unaligned dcl 4-55 mowse_io_terminal_state_ptr automatic pointer dcl 4-53 msg_node_ptr automatic pointer dcl 2-135 open_struc based structure level 1 packed unaligned dcl 5-92 open_struc_ptr automatic pointer dcl 5-91 output_buffer based structure level 1 unaligned dcl 3-34 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 NAME DECLARED BY EXPLICIT CONTEXT. send_mowse_message_ 000036 constant entry external dcl 22 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1146 1200 1004 1156 Length 1520 1004 32 304 142 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME send_mowse_message_ 118 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME send_mowse_message_ 000100 mowse_info_ptr send_mowse_message_ 000102 local_data_ptr send_mowse_message_ 000104 message_length send_mowse_message_ 000104 message send_mowse_message_ 000105 some_space send_mowse_message_ 000106 mowse_io_msg send_mowse_message_ 000116 temp_seg_name send_mowse_message_ 000120 message_len send_mowse_message_ 000121 trace_message_info send_mowse_message_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac alloc_auto_adj ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. fatal_mowse_trap_ get_mowse_info_ptr_ iox_$control trace_message_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. ws_error_$invalid_continue_message ws_error_$invalid_data_ptr ws_error_$invalid_last_message ws_error_$invalid_message ws_error_$invalid_more_message LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 22 000026 71 000043 1 22 000052 2 33 000054 2 155 000056 118 000064 119 000070 120 000071 121 000103 129 000106 131 000127 132 000132 137 000133 138 000135 144 000147 148 000162 150 000172 151 000173 152 000175 161 000204 168 000214 169 000217 170 000223 171 000230 172 000235 173 000242 174 000246 175 000252 177 000254 179 000261 180 000263 181 000266 182 000270 183 000272 184 000274 185 000276 186 000300 187 000310 196 000323 197 000325 198 000330 199 000332 200 000334 205 000335 206 000337 207 000343 208 000350 209 000355 210 000362 211 000366 212 000372 214 000400 216 000403 219 000410 220 000412 221 000415 222 000417 223 000421 224 000423 225 000425 226 000427 228 000440 236 000454 237 000456 238 000461 239 000463 240 000465 245 000466 246 000470 247 000473 248 000477 249 000504 250 000511 252 000520 253 000523 255 000524 256 000530 257 000535 258 000542 259 000547 260 000553 262 000561 265 000564 268 000571 269 000573 270 000576 271 000600 272 000602 273 000604 274 000606 276 000610 281 000626 285 000636 293 000652 294 000654 295 000657 296 000661 297 000663 303 000664 304 000673 310 000674 315 000700 317 000733 318 000734 322 000770 323 000773 324 001002 337 001003 ----------------------------------------------------------- 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