COMPILATION LISTING OF SEGMENT trace_message_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1117.42_Tue_mdt 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-08-28,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-27,Flegel), approve(86-11-27,MCR7580), 14* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 15* Approved. 16* END HISTORY COMMENTS */ 17 18 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 19 trace_message_: 20 proc (p_iocb_ptr, p_trace_message_info_ptr); 21 22 23 /* : PROGRAM FUNCTION 24* 25*Prints out diagnostic information about the messges received and sent by 26*MOWSE. 27**/ 28 29 /* : NOTES 30**/ 31 32 /* INPUT PARAMETERS */ 33 dcl p_trace_message_info_ptr 34 ptr; /* Pointer to info to be contained in trace message */ 35 dcl p_iocb_ptr ptr; /* Pointer to i/o switch control block */ 36 37 38 /* OUTPUT PARAMETERS */ 39 40 41 /* MISC VARIABLES */ 42 dcl msg_type_name char (10) varying; 43 dcl direction_name char (3); 44 dcl from_system_name char (32) varying; 45 dcl system_name char (32) varying; 46 dcl minor_name char (32) varying; 47 48 49 /* STRUCTURES */ 50 dcl 01 trc_info like trace_message_info 51 based (p_trace_message_info_ptr); 52 53 54 /* SYSTEM CALLS */ 55 dcl ioa_$ioa_switch entry () options (variable); 56 dcl ioa_$rsnnl entry () options (variable); 57 58 /* SYSTEM CALL SUPPORT */ 59 60 61 /* EXTERNAL CALLS */ 62 63 64 /* EXTERNAL CALL SUPPORT */ 65 66 67 /* BUILTINS */ 68 dcl length builtin; 69 dcl null builtin; 70 71 /* CONDITIONS */ 72 73 74 /* CONSTANTS */ 75 76 77 /* */ 78 /* INITIALIZATION */ 79 80 81 /* MAIN */ 82 /* : Check the trace flag */ 83 84 if p_iocb_ptr = null then 85 return; 86 87 /* : Compose diagnostic message */ 88 89 if p_trace_message_info_ptr -> trc_info.direction = 0 then 90 direction_name = "SND"; 91 else if p_trace_message_info_ptr -> trc_info.direction = 1 then 92 direction_name = "RCV"; 93 else 94 direction_name = "???"; 95 96 if (p_trace_message_info_ptr -> trc_info.dest_minor < 32) & 97 (p_trace_message_info_ptr -> trc_info.dest_minor ^= -1) 98 then do; 99 minor_name = "INVALID MINOR"; 100 goto end_case; 101 end; 102 else if p_trace_message_info_ptr -> trc_info.dest_minor > 63 103 then do; 104 minor_name = "USER MINOR"; 105 goto end_case; 106 end; 107 else if p_trace_message_info_ptr -> trc_info.dest_minor = -1 108 then do; 109 minor_name = ""; 110 goto end_case; 111 end; 112 113 114 if p_trace_message_info_ptr -> trc_info.dest_major = INTERNAL 115 then do; 116 if p_trace_message_info_ptr -> trc_info.dest_minor > 63 117 | p_trace_message_info_ptr -> trc_info.dest_minor < 32 118 then do; 119 minor_name = "INVALID"; 120 goto end_case; 121 end; 122 123 if p_trace_message_info_ptr -> trc_info.dest_minor 124 = EXECUTE_COMMAND then 125 minor_name = "EXECUTE_COMMAND"; 126 else if p_trace_message_info_ptr -> trc_info.dest_minor 127 = ADD_TO_REMOTE_CAT then 128 minor_name = "ADD_TO_REMOTE_CAT"; 129 else if p_trace_message_info_ptr -> trc_info.dest_minor 130 = DELETE_FROM_REMOTE_CAT then 131 minor_name = "DELETE_FROM_REMOTE_CAT"; 132 else if p_trace_message_info_ptr -> trc_info.dest_minor 133 = REQUEST_CONNECT then 134 minor_name = "REQUEST_CONNECT"; 135 else if p_trace_message_info_ptr -> trc_info.dest_minor 136 = SET_SLEEP_FLAG then 137 minor_name = "SET_SLEEP_FLAG"; 138 else if p_trace_message_info_ptr -> trc_info.dest_minor 139 = RESET_REPLY then 140 minor_name = "RESET_REPLY"; 141 else if p_trace_message_info_ptr -> trc_info.dest_minor 142 = RESET_SLEEP_FLAG then 143 minor_name = "RESET_SLEEP_FLAG"; 144 else if p_trace_message_info_ptr -> trc_info.dest_minor 145 = SET_SUSPEND then 146 minor_name = "SET_SUSPEND"; 147 else if p_trace_message_info_ptr -> trc_info.dest_minor 148 = RESET_SUSPEND then 149 minor_name = "RESET_SUSPEND"; 150 else if p_trace_message_info_ptr -> trc_info.dest_minor 151 = PUT_TO_BACKGROUND_BUFFER then 152 minor_name = "INFO"; 153 else if p_trace_message_info_ptr -> trc_info.dest_minor 154 = PUT_TO_QUERY_MESSAGE_BUFFER then 155 minor_name = "QUERY"; 156 else if p_trace_message_info_ptr -> trc_info.dest_minor 157 = FAIL_CAPABILITY then 158 minor_name = "FAIL_CAPABILITY"; 159 else if p_trace_message_info_ptr -> trc_info.dest_minor 160 = STATUS_REPLY then 161 minor_name = "STATUS_REPLY"; 162 else 163 call ioa_$rsnnl ("^d", minor_name, (0), 164 p_trace_message_info_ptr -> trc_info.dest_minor); 165 end; 166 167 if p_trace_message_info_ptr -> trc_info.dest_major > INTERNAL 168 then do; 169 if p_trace_message_info_ptr -> trc_info.dest_minor > 63 170 then do; 171 minor_name = "INVALID"; 172 goto end_case; 173 end; 174 175 if p_trace_message_info_ptr -> trc_info.dest_minor 176 = EXECUTE_COMMAND_REPLY then 177 minor_name = "EXECUTE_COMMAND_REPLY"; 178 else if p_trace_message_info_ptr -> trc_info.dest_minor 179 = QUERY_REPLY then 180 minor_name = "QUERY_REPLY"; 181 else if p_trace_message_info_ptr -> trc_info.dest_minor 182 = FAIL_CAPABILITY then 183 minor_name = "FAIL_CAPABILITY"; 184 else if p_trace_message_info_ptr -> trc_info.dest_minor 185 = SUSPEND_APPLICATION then 186 minor_name = "SUSPEND_APPLICATION"; 187 else if p_trace_message_info_ptr -> trc_info.dest_minor 188 = RESUME_APPLICATION then 189 minor_name = "RESUME_APPLICATION"; 190 else if p_trace_message_info_ptr -> trc_info.dest_minor 191 = TERMINATE_APPLICATION then 192 minor_name = "TERMINATE_APPLICATION"; 193 else if p_trace_message_info_ptr -> trc_info.dest_minor 194 = RESET_APPLICATION then 195 minor_name = "RESET_APPLICATION"; 196 else if p_trace_message_info_ptr -> trc_info.dest_minor 197 = WAKE_UP then 198 minor_name = "WAKE_UP"; 199 else if p_trace_message_info_ptr -> trc_info.dest_minor 200 = STATUS then 201 minor_name = "STATUS"; 202 else if p_trace_message_info_ptr -> trc_info.dest_minor 203 = OVERFLOWED_BUFFER then 204 minor_name = "OVERFLOWED_BUFFER"; 205 else if p_trace_message_info_ptr -> trc_info.dest_minor 206 = SYSTEM_ERROR then 207 minor_name = "SYSTEM_ERROR"; 208 else if p_trace_message_info_ptr -> trc_info.dest_minor 209 = RESPONSE_CONNECT then 210 minor_name = "RESPONSE_CONNECT"; 211 else if p_trace_message_info_ptr -> trc_info.dest_minor 212 = RESPONSE_DISCONNECT then 213 minor_name = "RESPONSE_DISCONNECT"; 214 else if p_trace_message_info_ptr -> trc_info.dest_minor 215 = REQUEST_CONNECT then 216 minor_name = "REQUEST_CONNECT"; 217 else if p_trace_message_info_ptr -> trc_info.dest_minor 218 = REQUEST_DISCONNECT then 219 minor_name = "REQUEST_DISCONNECT"; 220 else if p_trace_message_info_ptr -> trc_info.dest_minor 221 = STATUS_REPLY then 222 minor_name = "STATUS_REPLY"; 223 else 224 call ioa_$rsnnl ("^d", minor_name, (0), 225 p_trace_message_info_ptr -> trc_info.dest_minor); 226 end; 227 228 end_case: 229 230 if p_trace_message_info_ptr -> trc_info.dest_system 231 = LOCAL_SYSTEM then 232 system_name = "LOCAL_SYSTEM"; 233 else if p_trace_message_info_ptr -> trc_info.dest_system 234 = REMOTE_SYSTEM then 235 system_name = "REMOTE_SYSTEM"; 236 else 237 system_name = "INVALID_SYSTEM"; 238 239 if p_trace_message_info_ptr -> trc_info.from_system 240 = LOCAL_SYSTEM then 241 from_system_name = "LOCAL_SYSTEM"; 242 else if p_trace_message_info_ptr -> trc_info.from_system 243 = REMOTE_SYSTEM then 244 from_system_name = "REMOTE_SYSTEM"; 245 else 246 from_system_name = "INVALID_SYSTEM"; 247 248 if p_trace_message_info_ptr -> trc_info.msg_type = MORE then 249 msg_type_name = "MORE"; 250 else if p_trace_message_info_ptr -> trc_info.msg_type = CONTINUE 251 then 252 msg_type_name = "CONTINUE"; 253 else if p_trace_message_info_ptr -> trc_info.msg_type = LAST then 254 msg_type_name = "LAST"; 255 else 256 msg_type_name = "INVALID"; 257 258 259 call ioa_$ioa_switch (p_iocb_ptr, 260 "^/TRC ^a: from ^a:^d to ^a:^d:^d = ^a", direction_name, 261 from_system_name, 262 p_trace_message_info_ptr -> trc_info.from_major, 263 system_name, 264 p_trace_message_info_ptr -> trc_info.dest_major, 265 p_trace_message_info_ptr -> trc_info.dest_minor, minor_name); 266 267 if length (p_trace_message_info_ptr -> trc_info.message) = 1 & 268 p_trace_message_info_ptr -> trc_info.message = " " then 269 call ioa_$ioa_switch (p_iocb_ptr, "TRC Msg_type ^a :^d:| |", 270 msg_type_name, 271 length (p_trace_message_info_ptr -> trc_info.message)); 272 else 273 call ioa_$ioa_switch (p_iocb_ptr, "TRC Msg_type ^a :^d:|^a", 274 msg_type_name, 275 length (p_trace_message_info_ptr -> trc_info.message), 276 p_trace_message_info_ptr -> trc_info.message || "|"); 277 return; 278 279 280 /* */ 281 /* INTERNAL PROCEDURES */ 282 283 284 285 286 287 /* INCLUDE FILES */ 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 * * * * * * * * * * * * */ 288 2 1 /* BEGIN INCLUDE FILE: mowse_info.incl.pl1 * * * * * * * * * * * * */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-07-19,Smith), approve(87-07-15,MCR7580), 2 5* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 2 6* Created to define MOWSE information to be 2 7* placed into a temp segment. 2 8* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 2 9* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 2 10* Approved. 2 11* 3) change(87-02-25,Flegel), approve(87-02-25,MCR7580), 2 12* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 2 13* Added bit switches to the init_mowse_info structure as well as the force 2 14* flag. 2 15* 4) change(87-03-24,Flegel), approve(87-03-24,MCR7580), 2 16* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 2 17* Added open_struc for passing EOP and escape char info from attach_mowse 2 18* to mowse_io_. 2 19* END HISTORY COMMENTS */ 2 20 2 21 /* CAT index limits */ 2 22 2 23 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 2 24 dcl MINIMUM_CAT_ENTRY fixed bin int static options (constant) init (33); 2 25 dcl MAXIMUM_CAT_ENTRY fixed bin int static options (constant) init (64); 2 26 2 27 dcl CAPABILITY_NAME_LENGTH fixed bin int static options (constant) init (32); 2 28 2 29 /* Mowse information structure */ 2 30 2 31 dcl 01 mowse_info based aligned, 2 32 02 version char (8), 2 33 02 local_cat dimension (33:64), /* Multics CAT table */ 2 34 03 flags, 2 35 04 reset bit (1) unal, /* Reset in progress */ 2 36 04 suspended bit (1) unal, /* Suspended applciation */ 2 37 04 status bit (1) unal, /* Status pending */ 2 38 04 mbz1 bit (33) unal, 2 39 03 sleep_time fixed bin, /* Time application is sleeping */ 2 40 03 mcb_ptr ptr, /* Capability MCB */ 2 41 02 remote_cat dimension (33:64), /* PC CAT table */ 2 42 03 major_capability 2 43 fixed bin, /* Capability number */ 2 44 03 capability_name char (32), /* Name of capability */ 2 45 03 flags, 2 46 04 reset bit (1) unal, /* Reset in progress */ 2 47 04 suspended bit (1) unal, /* Suspended capability */ 2 48 04 sleep_time bit (1) unal, /* Application sleeping */ 2 49 04 mbz2 bit (33) unal, 2 50 02 message_manager_info, /* Info for processing messages */ 2 51 03 head_list_ptr ptr, /* Head of message list */ 2 52 03 tail_list_ptr ptr, /* Tail of message list */ 2 53 03 pending_messages 2 54 fixed bin, /* Number of pending messages */ 2 55 02 mowse_flags, 2 56 03 trace bit (1) unal, /* Message tracing facility active */ 2 57 03 debug bit (1) unal, /* Debugging packets facility active */ 2 58 03 error_handled bit (1) unal, /* In mowse_error_handler procedure */ 2 59 03 mbz1 bit (33) unal, 2 60 03 trace_file_iocb ptr, /* Trace file iocb */ 2 61 03 debug_file_iocb ptr, /* Debug file iocb */ 2 62 02 init_mowse_info_ptr 2 63 ptr; /* Initialization information */ 2 64 2 65 /* MOWSE initialization information */ 2 66 2 67 dcl init_mowse_info_ptr ptr; 2 68 dcl 01 init_mowse_info based (init_mowse_info_ptr), 2 69 02 version char (8), 2 70 02 flags, /* Bit switches */ 2 71 03 trace_sw bit (1) unal, 2 72 03 debug_sw bit (1) unal, 2 73 03 io_switch_sw bit (1) unal, 2 74 03 force_sw bit (1) unal, 2 75 03 start_up_sw bit (1) unal, 2 76 03 escape_sw bit (1) unal, 2 77 03 network_sw bit (1) unal, 2 78 03 pad bit (29) unal, 2 79 02 escape, 2 80 03 chars (0:255) bit (1) unal, /* Character escapes */ 2 81 03 pad bit (32) unal, 2 82 02 trace char (512) var, /* Trace file name */ 2 83 02 debug char (512) var, /* Debug file name */ 2 84 02 io_switch char (512) var, /* Io switch name of mowse_io_ attachment */ 2 85 02 startup (MAXIMUM_CAT_ENTRY - MINIMUM_CAT_ENTRY + 1) 2 86 char (168) var; /* Capability to be autoloaded */ 2 87 2 88 /* Open description structure (this is padded to character bounds as it 2 89* is a character overlay structure - passed as a character string) */ 2 90 2 91 dcl open_struc_ptr ptr; 2 92 dcl 01 open_struc based (open_struc_ptr), 2 93 02 flags, 2 94 03 network_sw bit (1) unal, 2 95 03 escape_sw bit (1) unal, 2 96 03 pad bit (7) unal, 2 97 02 escape, 2 98 03 switches (0:255) bit (1) unal, 2 99 03 pad bit (32) unal, 2 100 02 mbz bit (16) unal; 2 101 2 102 /* END INCLUDE FILE: mowse_info.incl.pl1 * * * * * * * * * * * * */ 289 3 1 /* BEGIN INCLUDE FILE: mowse_messages.incl.pl1 * * * * * * * * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(86-05-17,Smith), approve(86-12-16,MCR7580), 3 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 3 6* Created to define MOWSE message formats. 3 7* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 3 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 3 9* Approved. 3 10* 3) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 3 11* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 3 12* Changes to support async call channels. 3 13* END HISTORY COMMENTS */ 3 14 3 15 /* Message Channels */ 3 16 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 3 17 dcl BG fixed bin int static options (constant) init (0); 3 18 /* Fore ground */ 3 19 dcl FG fixed bin int static options (constant) init (1); 3 20 /* Back ground */ 3 21 3 22 /* Message types: 3 23* 3 24*Each intersystem message is labelled with one of the following types. Upon 3 25*reciept of the message suitable action is undertaken. This scheme was 3 26*introduced to allow the transmission of messsages longer than the maximum 3 27*packet size. 3 28**/ 3 29 3 30 /* Templates for the various messages used throughout the mowse environment. 3 31* Non-allocatable */ 3 32 3 33 dcl message_len fixed bin init (6); 3 34 dcl message_ptr ptr; 3 35 3 36 /* expected format of message */ 3 37 3 38 dcl 01 input_message based (message_ptr), 3 39 02 header, 3 40 03 system char (1) unal, 3 41 03 major char (1) unal, 3 42 03 minor char (1) unal, 3 43 03 source_system char (1) unal, 3 44 03 source_major char (1) unal, 3 45 02 data char (message_len - 5) unal; 3 46 3 47 /* expected format of message to be handled by mowse internal execute command */ 3 48 3 49 dcl 01 execom_message based (message_ptr), 3 50 02 header, 3 51 03 system char (1) unal, 3 52 03 major char (1) unal, 3 53 03 minor char (1) unal, 3 54 03 source_system char (1) unal, 3 55 03 source_major char (1) unal, 3 56 02 data, 3 57 03 cmd_id fixed bin (17) unal, 3 58 03 command char (message_len - 7) unal; 3 59 3 60 /* expected format of message recieved when a request to alter a CAT table 3 61* is made by a remote system */ 3 62 3 63 dcl 01 alter_cat_message based (message_ptr), 3 64 02 header, 3 65 03 system char (1) unal, 3 66 03 major char (1) unal, 3 67 03 minor char (1) unal, 3 68 03 source_system char (1) unal, 3 69 03 source_major char (1) unal, 3 70 02 data, 3 71 03 major char unal, 3 72 03 major_name char (CAPABILITY_NAME_LENGTH) unal; 3 73 3 74 /* Template used to parse message recieved from some remote system. */ 3 75 3 76 dcl 01 event_message based (message_ptr), 3 77 02 header, 3 78 03 system char (1) unal, 3 79 03 major char (1) unal, 3 80 03 msg_type char (1) unal; 3 81 3 82 /* format of message of MORE type */ 3 83 3 84 dcl 01 request_more_message 3 85 based (message_ptr), 3 86 02 header, 3 87 03 system char (1) unal, 3 88 03 major char (1) unal, 3 89 03 more char (1) unal, 3 90 03 source_system char (1) unal, 3 91 03 source_major char (1) unal, 3 92 03 source_minor char (1) unal; 3 93 3 94 /* format of message of CONTINUE type */ 3 95 3 96 dcl 01 more_remaining_message 3 97 based (message_ptr), 3 98 02 header, 3 99 03 system char (1) unal, 3 100 03 major char (1) unal, 3 101 03 continue char (1) unal, 3 102 03 minor char (1) unal, 3 103 03 source_system char (1) unal, 3 104 03 source_major char (1) unal, 3 105 02 data, 3 106 03 data_buf char (message_len - 6) unal; 3 107 3 108 /* format of message of LAST type */ 3 109 3 110 dcl 01 last_message based (message_ptr), 3 111 02 header, 3 112 03 system char (1) unal, 3 113 03 major char (1) unal, 3 114 03 minor char (1) unal, 3 115 03 source_system char (1) unal, 3 116 03 source_major char (1) unal, 3 117 02 data, 3 118 03 data_buf char (message_len - 5) unal; 3 119 3 120 /* Execute_command_reply message format */ 3 121 3 122 dcl 01 execom_reply_msg based (message_ptr), 3 123 02 header, 3 124 03 system char (1) unal, 3 125 03 major char (1) unal, 3 126 03 minor char (1) unal, 3 127 03 source_system char (1) unal, 3 128 03 source_major char (1) unal, 3 129 02 data, 3 130 03 cmd_id fixed bin unal, 3 131 03 status char unal; 3 132 3 133 /* Used to manage partial messages destined for any application */ 3 134 3 135 dcl msg_node_ptr ptr; 3 136 dcl 01 message_node based (msg_node_ptr), 3 137 02 major fixed bin, 3 138 02 partial_msg_list_ptr 3 139 ptr, 3 140 02 next_node ptr, 3 141 02 prev_node ptr, 3 142 02 last_part_msg ptr; 3 143 3 144 dcl part_msg_ptr ptr; 3 145 dcl 01 partial_message based (part_msg_ptr), 3 146 02 msg_ptr ptr, 3 147 02 msg_len fixed bin, 3 148 02 next_msg ptr; 3 149 3 150 3 151 dcl part_msg_length fixed bin; 3 152 dcl part_msg char (part_msg_length) based; 3 153 3 154 /* Trace information structure */ 3 155 dcl 01 trace_message_info, 3 156 02 direction fixed bin, 3 157 02 from_system fixed bin, 3 158 02 from_major fixed bin, 3 159 02 dest_system fixed bin, 3 160 02 dest_major fixed bin, 3 161 02 dest_minor fixed bin, 3 162 02 msg_type fixed bin, 3 163 02 message char (PACKET_SIZE) var; 3 164 3 165 /* END INCLUDE FILE: mowse_messages.incl.pl1 * * * * * * * * * * * * */ 290 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 * * * * * * * * * * * * */ 291 292 293 /* : END */ 294 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1117.4 trace_message_.pl1 >udd>sm>ds>w>ml>trace_message_.pl1 288 1 08/10/87 1436.7 mowse.incl.pl1 >ldd>incl>mowse.incl.pl1 289 2 08/10/87 1436.7 mowse_info.incl.pl1 >ldd>incl>mowse_info.incl.pl1 290 3 08/10/87 1435.9 mowse_messages.incl.pl1 >ldd>incl>mowse_messages.incl.pl1 291 4 08/10/87 1436.7 mowse_io_control_info.incl.pl1 >ldd>incl>mowse_io_control_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. ADD_TO_REMOTE_CAT constant fixed bin(17,0) initial dcl 1-78 ref 126 CAPABILITY_NAME_LENGTH internal static fixed bin(17,0) initial dcl 2-27 ref 3-63 CONTINUE constant fixed bin(17,0) initial dcl 1-94 ref 250 DELETE_FROM_REMOTE_CAT constant fixed bin(17,0) initial dcl 1-79 ref 129 EXECUTE_COMMAND constant fixed bin(17,0) initial dcl 1-77 ref 123 EXECUTE_COMMAND_REPLY constant fixed bin(17,0) initial dcl 1-72 ref 175 FAIL_CAPABILITY constant fixed bin(17,0) initial dcl 1-75 ref 156 181 INTERNAL constant fixed bin(17,0) initial dcl 1-76 ref 114 167 LAST constant fixed bin(17,0) initial dcl 1-71 ref 253 LOCAL_SYSTEM constant fixed bin(17,0) initial dcl 1-30 ref 228 239 MAXIMUM_CAT_ENTRY internal static fixed bin(17,0) initial dcl 2-25 ref 2-68 MINIMUM_CAT_ENTRY internal static fixed bin(17,0) initial dcl 2-24 ref 2-68 MORE constant fixed bin(17,0) initial dcl 1-95 ref 248 OVERFLOWED_BUFFER constant fixed bin(17,0) initial dcl 1-87 ref 202 PACKET_SIZE internal static fixed bin(17,0) initial dcl 1-48 ref 3-155 PUT_TO_BACKGROUND_BUFFER constant fixed bin(17,0) initial dcl 1-108 ref 150 PUT_TO_QUERY_MESSAGE_BUFFER constant fixed bin(17,0) initial dcl 1-110 ref 153 QUERY_REPLY constant fixed bin(17,0) initial dcl 1-89 ref 178 REMOTE_SYSTEM constant fixed bin(17,0) initial dcl 1-31 ref 233 242 REQUEST_CONNECT constant fixed bin(17,0) initial dcl 1-92 ref 132 214 REQUEST_DISCONNECT constant fixed bin(17,0) initial dcl 1-93 ref 217 RESET_APPLICATION constant fixed bin(17,0) initial dcl 1-83 ref 193 RESET_REPLY constant fixed bin(17,0) initial dcl 1-84 ref 138 RESET_SLEEP_FLAG constant fixed bin(17,0) initial dcl 1-97 ref 141 RESET_SUSPEND constant fixed bin(17,0) initial dcl 1-99 ref 147 RESPONSE_CONNECT constant fixed bin(17,0) initial dcl 1-90 ref 208 RESPONSE_DISCONNECT constant fixed bin(17,0) initial dcl 1-91 ref 211 RESUME_APPLICATION constant fixed bin(17,0) initial dcl 1-81 ref 187 SET_SLEEP_FLAG constant fixed bin(17,0) initial dcl 1-96 ref 135 SET_SUSPEND constant fixed bin(17,0) initial dcl 1-98 ref 144 STATUS constant fixed bin(17,0) initial dcl 1-86 ref 199 STATUS_REPLY constant fixed bin(17,0) initial dcl 1-100 ref 159 220 SUSPEND_APPLICATION constant fixed bin(17,0) initial dcl 1-80 ref 184 SYSTEM_ERROR constant fixed bin(17,0) initial dcl 1-88 ref 205 TERMINATE_APPLICATION constant fixed bin(17,0) initial dcl 1-82 ref 190 WAKE_UP constant fixed bin(17,0) initial dcl 1-85 ref 196 dest_major 4 based fixed bin(17,0) level 2 dcl 50 set ref 114 167 259* dest_minor 5 based fixed bin(17,0) level 2 dcl 50 set ref 96 96 102 107 116 116 123 126 129 132 135 138 141 144 147 150 153 156 159 162* 169 175 178 181 184 187 190 193 196 199 202 205 208 211 214 217 220 223* 259* dest_system 3 based fixed bin(17,0) level 2 dcl 50 ref 228 233 direction based fixed bin(17,0) level 2 dcl 50 ref 89 91 direction_name 000104 automatic char(3) packed unaligned dcl 43 set ref 89* 91* 93* 259* from_major 2 based fixed bin(17,0) level 2 dcl 50 set ref 259* from_system 1 based fixed bin(17,0) level 2 dcl 50 ref 239 242 from_system_name 000105 automatic varying char(32) dcl 44 set ref 239* 242* 245* 259* ioa_$ioa_switch 000010 constant entry external dcl 55 ref 259 267 272 ioa_$rsnnl 000012 constant entry external dcl 56 ref 162 223 length builtin function dcl 68 ref 267 267 267 272 272 message 7 based varying char(124) level 2 dcl 50 ref 267 267 267 267 272 272 272 message_len 000142 automatic fixed bin(17,0) initial dcl 3-33 set ref 3-33* minor_name 000127 automatic varying char(32) dcl 46 set ref 99* 104* 109* 119* 123* 126* 129* 132* 135* 138* 141* 144* 147* 150* 153* 156* 159* 162* 171* 175* 178* 181* 184* 187* 190* 193* 196* 199* 202* 205* 208* 211* 214* 217* 220* 223* 259* msg_type 6 based fixed bin(17,0) level 2 dcl 50 ref 248 250 253 msg_type_name 000100 automatic varying char(10) dcl 42 set ref 248* 250* 253* 255* 267* 272* null builtin function dcl 69 ref 84 p_iocb_ptr parameter pointer dcl 35 set ref 19 84 259* 267* 272* p_trace_message_info_ptr parameter pointer dcl 33 ref 19 89 91 96 96 102 107 114 116 116 123 126 129 132 135 138 141 144 147 150 153 156 159 162 167 169 175 178 181 184 187 190 193 196 199 202 205 208 211 214 217 220 223 228 233 239 242 248 250 253 259 259 259 267 267 267 267 272 272 272 system_name 000116 automatic varying char(32) dcl 45 set ref 228* 233* 236* 259* temp_seg_name 000140 automatic char(6) initial packed unaligned dcl 1-22 set ref 1-22* trace_message_info 000143 automatic structure level 1 unaligned dcl 3-155 trc_info based structure level 1 unaligned dcl 50 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACCEPT internal static fixed bin(17,0) initial dcl 1-54 BG internal static fixed bin(17,0) initial dcl 3-17 EXECUTE_CAPABILITY_REPLY internal static fixed bin(17,0) initial dcl 1-73 FG internal static fixed bin(17,0) initial dcl 3-19 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 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_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_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 packed unaligned dcl 1-26 RECEIVE internal static fixed bin(17,0) initial dcl 1-59 REJECT internal static fixed bin(17,0) initial dcl 1-55 SEND internal static fixed bin(17,0) initial dcl 1-60 SEND_QUERY internal static fixed bin(17,0) initial dcl 1-53 STATUS_FAILED internal static fixed bin(8,0) initial dcl 1-37 STATUS_SUCCESS internal static fixed bin(8,0) initial dcl 1-35 alter_cat_message based structure level 1 packed packed unaligned dcl 3-63 event_message based structure level 1 packed packed unaligned dcl 3-76 execom_message based structure level 1 packed packed unaligned dcl 3-49 execom_reply_msg based structure level 1 packed packed unaligned dcl 3-122 init_mowse_info based structure level 1 unaligned dcl 2-68 init_mowse_info_ptr automatic pointer dcl 2-67 input_message based structure level 1 packed packed unaligned dcl 3-38 last_message based structure level 1 packed packed unaligned dcl 3-110 message_node based structure level 1 unaligned dcl 3-136 message_ptr automatic pointer dcl 3-34 more_remaining_message based structure level 1 packed packed unaligned dcl 3-96 mowse_info based structure level 1 dcl 2-31 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_info_version_1 internal static char(8) initial packed unaligned dcl 4-27 mowse_io_message based structure level 1 unaligned dcl 4-63 mowse_io_message_ptr automatic pointer dcl 4-62 mowse_io_set_video_mode_info based structure level 1 packed 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 packed unaligned dcl 4-55 mowse_io_terminal_state_ptr automatic pointer dcl 4-53 msg_node_ptr automatic pointer dcl 3-135 open_struc based structure level 1 packed packed unaligned dcl 2-92 open_struc_ptr automatic pointer dcl 2-91 part_msg based char packed unaligned dcl 3-152 part_msg_length automatic fixed bin(17,0) dcl 3-151 part_msg_ptr automatic pointer dcl 3-144 partial_message based structure level 1 unaligned dcl 3-145 request_more_message based structure level 1 packed packed unaligned dcl 3-84 NAMES DECLARED BY EXPLICIT CONTEXT. end_case 001024 constant label dcl 228 ref 100 105 110 120 172 trace_message_ 000256 constant entry external dcl 19 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1404 1420 1341 1414 Length 1650 1341 14 213 42 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME trace_message_ 198 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME trace_message_ 000100 msg_type_name trace_message_ 000104 direction_name trace_message_ 000105 from_system_name trace_message_ 000116 system_name trace_message_ 000127 minor_name trace_message_ 000140 temp_seg_name trace_message_ 000142 message_len trace_message_ 000143 trace_message_info trace_message_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a alloc_char_temp call_ext_out_desc return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$ioa_switch ioa_$rsnnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 19 000252 1 22 000263 3 33 000265 84 000267 89 000274 91 000302 93 000307 96 000311 99 000321 100 000326 102 000327 104 000331 105 000336 107 000337 109 000341 110 000345 114 000346 116 000351 119 000356 120 000362 123 000363 126 000373 129 000403 132 000413 135 000423 138 000433 141 000443 144 000453 147 000463 150 000473 153 000502 156 000511 159 000521 162 000531 167 000560 169 000566 171 000571 172 000575 175 000576 178 000606 181 000616 184 000626 187 000636 190 000646 193 000656 196 000666 199 000675 202 000704 205 000714 208 000724 211 000734 214 000744 217 000754 220 000764 223 000774 228 001024 233 001040 236 001050 239 001055 242 001066 245 001076 248 001103 250 001113 253 001123 255 001132 259 001137 267 001207 272 001256 277 001332 ----------------------------------------------------------- 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