COMPILATION LISTING OF SEGMENT bft_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 02/24/88 0847.1 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Bull Inc., 1987 * 6* * * 7* *********************************************************** */ 8 9 bft_: 10 proc (); 11 12 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,^indprocbody,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 13 14 /* PROGRAM FUNCTION 15* 16*This is the file that holds all of the Multics entrypoints. These entrypoints 17*do nothing more than place the supplied arguments into a structure of the type 18*defined in bft_values.incl.pl1. This is done so that only a pointer must be 19*passed between the two programs (this one and the bft_main_.pl1 program, which 20*holds all of the code for the minor capabilities). This will only work because 21*these calls are guaranteed to be local (ie. on Multics). Once all of the 22*necessary information is written into the structure, the pointer to the 23*structure is converted to char and then passed to the minor capability as a 24*character string, and it us decoded back to a pointer there. On return , each 25*entrypoint reassigns the passed error code to its parameter error_code so the 26*calling routine may use the information. 27**/ 28 29 /* NOTES 30**/ 31 32 /****^ HISTORY COMMENTS: 33* 1) change(86-07-22,Eichele), approve(87-07-15,MCR7580), 34* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 35* Created. 36* 2) change(87-10-23,Flegel), approve(87-10-23,MCR7787), 37* audit(88-01-27,RWaters), install(88-02-24,MR12.2-1028): 38* Changed to work with multiple entries for queueing as well as adding a few 39* new control arguments. 40* END HISTORY COMMENTS */ 41 42 /* PARAMETERS */ 43 dcl p_id_sw fixed bin parameter; /* Request ID type */ 44 dcl p_id char (*) parameter; /* Request ID */ 45 dcl p_priority fixed bin parameter; /* Transfer priority */ 46 dcl p_flags bit (36) aligned parameter; /* Transfer flags */ 47 dcl p_arg_len fixed bin parameter; 48 dcl p_arg_ptr ptr parameter; 49 dcl p_data_block_ptr ptr parameter; 50 dcl p_destination_filename char (*) var parameter; 51 dcl p_major_sender fixed bin parameter; 52 dcl p_mcb_ptr ptr parameter; 53 dcl p_minor_cap_no fixed bin parameter; 54 dcl p_source_filename char (*) var parameter; 55 dcl p_code fixed bin (35) parameter; 56 57 /* MISC VARIABLES */ 58 dcl dir_name char (168); /* Pathname */ 59 dcl message char (256); 60 dcl bft_major fixed bin; 61 dcl bft_mcb ptr; 62 dcl bft_struct_ptr ptr; 63 dcl code fixed bin (35); 64 dcl command_id fixed bin; 65 dcl major_num fixed bin; 66 67 /* STRUCTURES */ 68 dcl 01 bft_struct like bft_values_struct based (bft_struct_ptr); 69 70 /* SYSTEM CALLS */ 71 dcl absolute_pathname_ entry (char(*), char(*), fixed bin(35)); 72 73 /* SYSTEM CALL SUPPORT */ 74 75 /* EXTERNAL CALLS */ 76 77 /* EXTERNAL CALL SUPPORT */ 78 dcl bft_error_table_$invalid_request_type fixed bin(35) ext static; 79 dcl bft_error_table_$unexpected_minor_capability fixed bin (35) ext static; 80 81 /* BUILTINS */ 82 dcl byte builtin; 83 dcl null builtin; 84 dcl addr builtin; 85 dcl length builtin; 86 dcl rtrim builtin; 87 88 /* CONDITIONS */ 89 dcl cleanup condition; 90 91 /* CONSTANTS */ 92 93 /* */ 94 95 /* INITIALIZATION */ 96 97 /* MAIN */ 98 99 return; 100 101 /* */ 102 103 /* INTERNAL ENTRIES */ 104 105 106 /* *** Entry: cancel - Internal entry for bft_ *** */ 107 108 cancel: 109 entry (p_id_sw, p_id, p_code); 110 111 112 /* ENTRY FUNCTION 113* 114*Remove the specified request from the bft queues. 115**/ 116 117 /* NOTES 118**/ 119 120 p_code = 0; 121 122 /* Fill out the message: ID_SW;ID; */ 123 124 125 if p_id_sw = BFT_TIME_ID | p_id_sw = BFT_PATH_ID | p_id_sw = BFT_ENTRY_ID then 126 message = byte (p_id_sw) || DELIM_CHAR; 127 else do; 128 p_code = bft_error_table_$invalid_request_type; 129 return; 130 end; 131 132 if p_id_sw = BFT_PATH_ID then do; 133 call absolute_pathname_ (p_id, dir_name, p_code); 134 if p_code ^= 0 then 135 return; 136 message = rtrim (message) || rtrim (dir_name) || DELIM_CHAR; 137 end; 138 else 139 message = rtrim (message) || rtrim (p_id) || DELIM_CHAR; 140 141 /* Execute bft_minor_$add_to_fetch_queue */ 142 143 bft_major = 0; 144 call ws_$find_capability_number ("bft_main_", LOCAL_SYSTEM, bft_major, 145 p_code); 146 if p_code ^= 0 then 147 return; 148 149 call ws_$create_instance ("bft_", "process_event", BFT_INBUFFER_SIZE, 150 BFT_OUTBUFFER_SIZE, null, bft_mcb, p_code); 151 if p_code ^= 0 then 152 return; 153 154 call ws_$execute_capability (bft_major, bft_minor_$cancel_request, 155 addr (message), length (rtrim (message)), bft_mcb, p_code); 156 call ws_$destroy_instance (bft_mcb, (0)); 157 158 return; 159 160 /* */ 161 162 /* *** Entry: process_event - Internal entry fo bft_ *** */ 163 164 process_event: 165 entry (p_minor_cap_no, p_major_sender, p_arg_ptr, p_arg_len, p_mcb_ptr, 166 p_data_block_ptr); 167 168 /* ENTRY FUNCTION 169* 170*This is the point where MOWSE will begin necessary execution. There are no 171*minor capabilities defined other than those required by MOWSE. 172**/ 173 174 /* NOTES 175**/ 176 177 bft_mcb = p_mcb_ptr; 178 if (p_minor_cap_no > MAXIMUM_SYSTEM_MINOR) | (p_minor_cap_no < MINIMUM_SYSTEM_MINOR) then do; 179 code = bft_error_table_$unexpected_minor_capability; 180 return; 181 end; 182 183 if p_minor_cap_no ^= EXECUTE_COMMAND_REPLY then 184 call minor_error (p_minor_cap_no); 185 186 major_num = 0; 187 code = 0; 188 call ws_$find_capability_number ("bft_main_", LOCAL_SYSTEM, major_num, code); 189 if code ^= 0 then 190 call ws_$put_background_message (bft_mcb, 0, "bft_ ", "Error in loading BFT."); 191 192 code = 0; 193 call ws_$destroy_instance (bft_mcb, code); 194 if code ^= 0 then do; 195 call ws_$put_background_message (bft_mcb, 0, "bft_ ", 196 "BFT_ failed to properly destroy itself."); 197 return; 198 end; 199 200 return; 201 202 /* */ 203 204 /* *** Entry: fetch - Internal entry for bft_ *** */ 205 206 fetch: 207 entry (p_source_filename, p_destination_filename, p_flags, p_priority, 208 p_code); 209 210 /* ENTRY FUNCTION 211* 212*This entrypoint assembles the arguments and makes the proper call to 213*bft_minor_$add_to_fetch_queue. 214**/ 215 216 /* NOTES 217**/ 218 219 call add_to_queue (p_destination_filename, p_source_filename, p_flags, 220 p_priority, bft_minor_$add_to_fetch_queue, p_code); 221 222 return; 223 224 /* */ 225 226 /* *** Entry: load - Internal entry for bft_ *** */ 227 228 load: 229 entry (p_code); 230 231 /* ENTRY FUNCTION 232* 233*This entrypoint assembles the arguments and makes the proper call to bft_minor_ 234*(main entrypoint). 235**/ 236 237 /* NOTES 238**/ 239 240 /* Allocate a structure where the arguments will be placed */ 241 242 on cleanup call clean_up (); 243 244 call ws_$create_instance ("bft_", "process_event", BFT_INBUFFER_SIZE, 245 BFT_OUTBUFFER_SIZE, null, bft_mcb, p_code); 246 if p_code ^= 0 then 247 return; 248 249 call ws_$execute_command ("bft_main_", LOCAL_SYSTEM, command_id, 250 bft_mcb, p_code); 251 252 call ws_$destroy_instance (bft_mcb, (0)); 253 254 return; 255 256 /* */ 257 258 /* *** Entry: recover_fetch - Internal entry for bft_ *** */ 259 260 recover_fetch: 261 entry (p_code); 262 263 /* ENTRY FUNCTION 264* 265*This entrypoint assembles the arguments and makes the proper call to 266*bft_minor_$recover_fetch 267**/ 268 269 /* NOTES 270**/ 271 272 /* Locate the bft_main_ capability */ 273 274 bft_major = 0; 275 call ws_$find_capability_number ("bft_main_", LOCAL_SYSTEM, bft_major, 276 p_code); 277 if p_code ^= 0 then 278 return; 279 280 /* Execute bft_minor_$recover_fetch */ 281 282 call ws_$create_instance ("bft_", "process_event", BFT_INBUFFER_SIZE, 283 BFT_OUTBUFFER_SIZE, null, bft_mcb, p_code); 284 if p_code ^= 0 then 285 return; 286 287 call ws_$execute_capability (bft_major, bft_minor_$recover_fetch, 288 null, (0), bft_mcb, p_code); 289 290 call ws_$destroy_instance (bft_mcb, (0)); 291 292 return; 293 294 /* */ 295 296 /* *** Entry: recover_store - Internal entry for bft_ *** */ 297 298 recover_store: 299 entry (p_code); 300 301 /* ENTRY FUNCTION 302* 303*This entrypoint assembles the arguments and makes the proper call to 304*bft_minor_$recover_store. 305**/ 306 307 /* NOTES 308**/ 309 310 /* Find the bft_main_ capability */ 311 312 major_num = 0; 313 call ws_$find_capability_number ("bft_main_", LOCAL_SYSTEM, 314 major_num, p_code); 315 if p_code ^= 0 then 316 return; 317 318 /* Execute bft_minor_$recover_store */ 319 320 call ws_$create_instance ("bft_", "process_event", BFT_INBUFFER_SIZE, 321 BFT_OUTBUFFER_SIZE, null, bft_mcb, p_code); 322 if p_code ^= 0 then 323 return; 324 325 call ws_$execute_capability (major_num, bft_minor_$recover_store, 326 null, (0), bft_mcb, p_code); 327 328 call ws_$destroy_instance (bft_mcb, (0)); 329 330 return; 331 332 /* */ 333 334 /* *** Entry: store - Internal entry for bft_ *** */ 335 336 store: 337 entry (p_source_filename, p_destination_filename, p_flags, p_priority, 338 p_code); 339 340 /* ENTRY FUNCTION 341* 342*This entrypoint assembles the arguments and makes the proper call to 343*bft_minor_$add_to_store_queue. 344**/ 345 346 /* NOTES 347**/ 348 349 call add_to_queue (p_source_filename, p_destination_filename, p_flags, 350 p_priority, bft_minor_$add_to_store_queue, p_code); 351 352 return; 353 354 /* */ 355 356 /* *** Entry: unload - Internal entry for bft_ *** */ 357 358 unload: 359 entry (p_code); 360 361 /* ENTRY FUNCTION 362* 363*This entrypoint assembles the arguments and makes the proper call to 364*TERMINATE_APPLICATION. 365**/ 366 367 /* NOTES 368**/ 369 370 /* Allocate the structure where the arguments will be placed */ 371 372 call ws_$create_instance ("bft_", "process_event", BFT_INBUFFER_SIZE, 373 BFT_OUTBUFFER_SIZE, null, bft_mcb, p_code); 374 if p_code ^= 0 then 375 return; 376 377 major_num = 0; 378 call ws_$find_capability_number ("bft_main_", LOCAL_SYSTEM, major_num, p_code); 379 if p_code ^= 0 then 380 return; 381 382 bft_major = major_num; 383 call ws_$execute_capability (bft_major, bft_minor_$bft_shut_down, 384 null, 0, bft_mcb, p_code); 385 call ws_$destroy_instance (bft_mcb, (0)); 386 387 return; 388 389 /* */ 390 391 /* INTERNAL PROCEDURES */ 392 393 394 /* *** Procedure: add_to_queue - Internal proc for bft_ *** */ 395 396 add_to_queue: 397 proc (p_multics_path, p_pc_path, p_flags, p_priority, p_minor, p_code); 398 399 400 /* PROCEDURE FUNCTION 401* 402*This procedure assembles the arguments for adding an element to either 403*the store or fetch queue. 404**/ 405 406 /* NOTES 407**/ 408 409 410 /* PARAMETERS */ 411 dcl p_priority fixed bin parameter; /* Transfer priority */ 412 dcl p_flags bit (36) aligned parameter; /* Transfer modes */ 413 dcl p_minor fixed bin parameter; /* Store or Fetch */ 414 dcl p_pc_path char (*) var parameter; 415 dcl p_multics_path char (*) var parameter; 416 dcl p_code fixed bin (35) parameter; /* Error code */ 417 418 /* MISC VARIABLES */ 419 dcl flags_over char (4) aligned based (addr (p_flags)); /* Character overlay of flags */ 420 dcl mcb_ptr ptr; /* MOWSE control block */ 421 dcl major_num fixed bin; /* Capability number */ 422 dcl message char (256); /* Message to be sent */ 423 424 /* STRUCTURES */ 425 426 /* INITIALIZATION */ 427 428 /* MAIN */ 429 430 p_code = 0; 431 432 /* Fill out the message: MULTICS_SOURCE;PC_SOURCE;FLAGS;PRIORITY; */ 433 434 message = rtrim (p_multics_path) || DELIM_CHAR; 435 message = rtrim (message) || p_pc_path || DELIM_CHAR; 436 message = rtrim (message) || flags_over || DELIM_CHAR; 437 message = rtrim (message) || byte (p_priority); 438 439 major_num = 0; 440 call ws_$find_capability_number ("bft_main_", LOCAL_SYSTEM, major_num, p_code); 441 if p_code ^= 0 then 442 return; 443 444 /* Execute bft_minor_$add_to_fetch_queue */ 445 446 call ws_$create_instance ("bft_", "process_event", BFT_INBUFFER_SIZE, 447 BFT_OUTBUFFER_SIZE, null, mcb_ptr, p_code); 448 if p_code ^= 0 then 449 return; 450 451 call ws_$execute_capability (major_num, p_minor, addr (message), 452 length (rtrim (message)), mcb_ptr, p_code); 453 call ws_$destroy_instance (mcb_ptr, (0)); 454 455 end add_to_queue; 456 457 /* */ 458 459 /* *** Procedure: minor_error - Internal proc for bft_ *** */ 460 461 minor_error: 462 proc (p_minor_number); 463 464 /* PROCEDURE FUNCTION 465* 466*This is called when one of the predefined minor capabilities is called that is 467*not expected. 468**/ 469 470 /* NOTES 471**/ 472 473 /* PARAMETERS */ 474 dcl p_minor_number fixed bin parameter; 475 476 /* MISC VARIABLES */ 477 478 /* STRUCTURES */ 479 480 /* INITIALIZATION */ 481 482 /* MAIN */ 483 484 call ws_$put_background_message (bft_mcb, 0, "BFT_ ", 485 "Unexpected minor capability has been called."); 486 487 end minor_error; 488 489 /* */ 490 491 /* *** Procedure: clean_up - Internal proc for bft_ *** */ 492 493 clean_up: 494 proc (); 495 496 /* PROCEDURE FUNCTION 497* 498*This cleanup handler frees up the space allocated in the system_free_area. 499**/ 500 501 /* NOTES 502**/ 503 504 /* PARAMETERS */ 505 506 /* MISC VARIABLES */ 507 508 /* STRUCTURES */ 509 510 /* INITIALIZATION */ 511 512 /* MAIN */ 513 514 if bft_struct_ptr ^= null then do; 515 free bft_struct_ptr -> bft_struct; 516 bft_struct_ptr = null; 517 end; 518 519 end clean_up; 520 521 /* */ 522 523 /* INCLUDE FILES */ 1 1 /* BEGIN INCLUDE FILE: bft.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(87-11-16,Flegel), approve(87-11-16,MCR7787), 1 6* audit(88-01-27,RWaters), install(88-02-24,MR12.2-1028): 1 7* Created to provide access to flags structure for programs which call the 1 8* bft_$(fetch store) entrypoints. 1 9* END HISTORY COMMENTS */ 1 10 1 11 dcl BFT_MIN_PRIORITY fixed bin int static options (constant) init (1); 1 12 dcl BFT_MAX_PRIORITY fixed bin int static options (constant) init (4); 1 13 dcl BFT_PATH_ID fixed bin int static options (constant) init (32); 1 14 dcl BFT_TIME_ID fixed bin int static options (constant) init (33); 1 15 dcl BFT_ENTRY_ID fixed bin int static options (constant) init (34); 1 16 1 17 /* BFT queue flags / switches; 1 18* NOTE that the pad and mbz are first, this is because a conversion routine 1 19* to convert significant bits to a respective character string assumes that 1 20* the bit string is RIGHT JUSTIFIED (this is to allow the accepting of 1 21* numerical values - eg. fixed bin */ 1 22 1 23 dcl 01 bft_queue_flags based, 1 24 02 mbz bit (4) unal, /* System word adjust */ 1 25 02 pad bit (28) unal, /* Future expansion */ 1 26 02 allocated bit (1) unal, /* Is this an entry? */ 1 27 02 initiated bit (1) unal, /* Transfer in progress */ 1 28 02 binary_sw bit (1) unal, /* Binary file_type */ 1 29 02 notify_sw bit (1) unal; /* If a notify is to be done */ 1 30 1 31 /* END INCLUDE FILE: bft.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 524 2 1 /* BEGIN INCLUDE FILE: bft_values.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(87-07-15,Flegel), approve(87-07-15,MCR7580), 2 6* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 2 7* Created. 2 8* 2) change(87-10-23,Flegel), approve(87-10-23,MCR7787), 2 9* audit(88-01-27,RWaters), install(88-02-24,MR12.2-1028): 2 10* Converted to use with new queueing strategy; added data_block structure; 2 11* END HISTORY COMMENTS */ 2 12 2 13 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 2 14 2 15 dcl bft_minor_$add_to_fetch_queue fixed bin int static options (constant) init (64); 2 16 dcl bft_minor_$add_to_store_queue fixed bin int static options (constant) init (65); 2 17 dcl bft_minor_$check_file_length fixed bin int static options (constant) init (66); 2 18 dcl bft_minor_$initiate_fetch fixed bin int static options (constant) init (67); 2 19 dcl bft_minor_$bft_shut_down fixed bin int static options (constant) init (68); 2 20 dcl bft_minor_$position_file_pointer fixed bin int static options (constant) init (69); 2 21 dcl bft_minor_$receive_data fixed bin int static options (constant) init (70); 2 22 dcl bft_minor_$receive_eof fixed bin int static options (constant) init (71); 2 23 dcl bft_minor_$recover_fetch fixed bin int static options (constant) init (72); 2 24 dcl bft_minor_$recover_store fixed bin int static options (constant) init (73); 2 25 dcl bft_minor_$read_error fixed bin int static options (constant) init (74); 2 26 dcl bft_minor_$initiate_store fixed bin int static options (constant) init (75); 2 27 dcl bft_minor_$write_error fixed bin int static options (constant) init (76); 2 28 dcl bft_minor_$send_data fixed bin int static options (constant) init (77); 2 29 dcl bft_minor_$cancel_request fixed bin int static options (constant) init (78); 2 30 dcl bft_minor_$expand_pc_path fixed bin int static options (constant) init (80); 2 31 dcl bft_minor_$full_pc_path fixed bin int static options (constant) init (81); 2 32 2 33 2 34 dcl BFT_MINOR_CAPS fixed bin int static options (constant) init (13); 2 35 dcl BFT_INBUFFER_SIZE fixed bin int static options (constant) init (128); 2 36 dcl BFT_OUTBUFFER_SIZE fixed bin int static options (constant) init (128); 2 37 dcl BFT_BLOCK_SIZE fixed bin (21) int static options (constant) init (110); 2 38 dcl BFT_FIRST char (1) int static options (constant) init (" "); 2 39 dcl BFT_NEXT char (1) int static options (constant) init ("!"); 2 40 dcl DELIM_CHAR char (1) based (addr (DEL)); 2 41 dcl DEL bit (9) unaligned internal static 2 42 options (constant) init ("011111111"b); 2 43 2 44 dcl 01 bft_values_struct, 2 45 02 destination_filename char (164), 2 46 02 source_filename char (164); 2 47 2 48 /* New declarations for queueing */ 2 49 2 50 dcl BFT_PC_to_MULTICS fixed bin internal static options (constant) 2 51 init (32); 2 52 dcl BFT_MULTICS_to_PC fixed bin internal static options (constant) 2 53 init (33); 2 54 dcl BFT_DATA_BLOCK_VERSION_1 char (8) internal static options (constant) 2 55 init ("VERSION1"); 2 56 dcl BFT_INBUFF_LENGTH fixed bin internal static options (constant) 2 57 init (128); 2 58 dcl BFT_OUTBUFF_LENGTH fixed bin internal static options (constant) 2 59 init (128); 2 60 2 61 dcl data_block_ptr ptr; /* Data to be kept around */ 2 62 dcl 01 data_block based (data_block_ptr), 2 63 02 version char (8), /* Version ID */ 2 64 02 pc_bft_num fixed bin, /* Major of PC:BFT */ 2 65 02 inbuff_len fixed bin, /* Input buffer length */ 2 66 02 outbuff_len fixed bin, /* Output buffer length */ 2 67 02 receive_iocb_ptr ptr, /* IOCB of receiving file */ 2 68 02 send_iocb_ptr ptr, /* IOCB of sending file */ 2 69 02 system_free_area_ptr ptr, /* Pointer to sys free */ 2 70 02 fetch_pending ptr, /* Fetch waiting for PC path */ 2 71 02 store_pending ptr, /* Store waiting for PC path */ 2 72 02 queue_ptr ptr, /* BFT queue segment */ 2 73 02 flags, 2 74 03 shut_down_sw bit (1) unal, /* BFT is shutting down */ 2 75 03 pad bit (35) unal; 2 76 2 77 /* Structure to contain transfer requests awaiting a PC path expansion */ 2 78 2 79 dcl 01 pending based, 2 80 02 multics_path char (168), /* Multics path */ 2 81 02 pc_path char (66), /* PC path */ 2 82 02 flags bit(36), /* Transfer modes */ 2 83 02 switches, 2 84 03 processing_sw bit (1) unal, /* Waiting for PC answer */ 2 85 03 first_sw bit (1) unal, /* First match requested */ 2 86 03 pad bit (34) unal, 2 87 02 priority fixed bin, /* Priority */ 2 88 02 id fixed bin, /* Request ID */ 2 89 02 next ptr; /* Next in chain */ 2 90 2 91 /* END INCLUDE FILE: bft_values.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 525 3 1 /* BEGIN INCLUDE FILE: mowse_lib_dcls.incl.pl1 * * * * * * * * * * * * */ 3 2 3 3 /****^ HISTORY COMMENTS: 3 4* 1) change(86-05-04,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 all MOWSE subroutine entry 3 7* points. 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 3 13 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 3 14 dcl ws_$connect_request entry (char (*), char (*), fixed bin, ptr, 3 15 fixed bin (35)); 3 16 dcl ws_$connect_response entry (fixed bin, fixed bin, ptr, fixed bin (35)); 3 17 dcl ws_$create_instance entry (char (*), char (*), fixed bin, fixed bin, 3 18 ptr, ptr, fixed bin (35)); 3 19 dcl ws_$destroy_instance entry (ptr, fixed bin (35)); 3 20 dcl ws_$disconnect_request entry (fixed bin, ptr, fixed bin (35)); 3 21 dcl ws_$disconnect_response 3 22 entry (fixed bin, fixed bin, ptr, fixed bin (35)); 3 23 dcl ws_$execute_capability entry (fixed bin, fixed bin, ptr, fixed bin, ptr, 3 24 fixed bin (35)); 3 25 dcl ws_$execute_command entry (char (*), fixed bin, fixed bin, ptr, 3 26 fixed bin (35)); 3 27 dcl ws_$find_capability_number 3 28 entry (char (*), fixed bin, fixed bin, 3 29 fixed bin (35)); 3 30 dcl ws_$find_capability_name 3 31 entry (fixed bin, char (*), fixed bin (35)); 3 32 dcl ws_$get_status entry (fixed bin, char (*), char (*), 3 33 fixed bin (35)); 3 34 dcl ws_$put_background_message 3 35 entry () options (variable); 3 36 dcl ws_$put_status entry (fixed bin, char (*), ptr, fixed bin (35)); 3 37 dcl ws_$reset_capability entry (fixed bin, ptr, fixed bin (35)); 3 38 dcl ws_$resume_capability entry (fixed bin, ptr, fixed bin (35)); 3 39 dcl ws_$send_query_reply entry (char (*), fixed bin, ptr, fixed bin (35)); 3 40 dcl ws_$sleep entry (ptr, fixed bin (35), fixed bin (35)); 3 41 dcl ws_$suspend_capability entry (fixed bin, ptr, fixed bin (35)); 3 42 dcl ws_$terminate_capability 3 43 entry (fixed bin, ptr, fixed bin (35)); 3 44 3 45 /* END INCLUDE FILE: mowse_lib_dcls.incl.pl1 * * * * * * * * * * * * */ 526 4 1 /* BEGIN INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(86-09-17,Flegel), approve(86-12-16,MCR7580), 4 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 6* Created. 4 7* 2) change(86-10-03,Flegel), approve(86-12-16,MCR7580), 4 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 9* Combined mowse_minor_caps.incl.pl1 and 4 10* mowse.incl.pl1 so that programmer only needs include mowse.incl.pl1 4 11* 3) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 4 12* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 4 13* Approved. 4 14* 4) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 4 15* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 4 16* Changes to support async call channels. 4 17* END HISTORY COMMENTS */ 4 18 4 19 /* Name of MOWSE temp seg for data */ 4 20 4 21 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 4 22 dcl temp_seg_name char (6) init ("MOWSE_"); 4 23 4 24 /* Version number */ 4 25 4 26 dcl MOWSE_VERSION_ char (8) int static options (constant) init ("version1"); 4 27 4 28 /* System identification */ 4 29 4 30 dcl LOCAL_SYSTEM fixed bin int static options (constant) init (32); 4 31 dcl REMOTE_SYSTEM fixed bin int static options (constant) init (33); 4 32 4 33 /* Status request return codes */ 4 34 4 35 dcl STATUS_SUCCESS fixed bin (8) int static options (constant) 4 36 init (32); 4 37 dcl STATUS_FAILED fixed bin (8) int static options (constant) 4 38 init (33); 4 39 4 40 /* Input/output capability buffer size limits */ 4 41 4 42 dcl MINIMUM_BUFFER_SIZE fixed bin int static options (constant) init (128); 4 43 dcl MAXIMUM_BUFFER_SIZE fixed bin int static options (constant) init (65536); 4 44 dcl MAXIMUM_BG_SIZE fixed bin int static options (constant) init (512); 4 45 4 46 /* Packet size (communication) constants */ 4 47 4 48 dcl PACKET_SIZE fixed bin int static options (constant) init (124); 4 49 dcl MAXIMUM_PACKET_SIZE fixed bin int static options (constant) init (118); 4 50 4 51 /* Query message constants */ 4 52 4 53 dcl SEND_QUERY fixed bin int static options (constant) init (128); 4 54 dcl ACCEPT fixed bin int static options (constant) init (32); 4 55 dcl REJECT fixed bin int static options (constant) init (33); 4 56 4 57 /* Trace information constants */ 4 58 4 59 dcl RECEIVE fixed bin int static options (constant) init (1); 4 60 dcl SEND fixed bin int static options (constant) init (0); 4 61 4 62 /* Limits on dedicated minor capabilities */ 4 63 4 64 dcl MINIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (32); 4 65 dcl MAXIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (63); 4 66 dcl MINIMUM_USER_MINOR fixed bin int static options (constant) init (64); 4 67 dcl MAXIMUM_USER_MINOR fixed bin int static options (constant) init (127); 4 68 4 69 /* Dedicated Minor Capabilities */ 4 70 4 71 dcl LAST fixed bin int static options (constant) init (0); 4 72 dcl EXECUTE_COMMAND_REPLY fixed bin int static options (constant) init (32); 4 73 dcl EXECUTE_CAPABILITY_REPLY 4 74 fixed bin int static options (constant) init (33); 4 75 dcl FAIL_CAPABILITY fixed bin int static options (constant) init (33); 4 76 dcl INTERNAL fixed bin int static options (constant) init (32); 4 77 dcl EXECUTE_COMMAND fixed bin int static options (constant) init (34); 4 78 dcl ADD_TO_REMOTE_CAT fixed bin int static options (constant) init (35); 4 79 dcl DELETE_FROM_REMOTE_CAT fixed bin int static options (constant) init (36); 4 80 dcl SUSPEND_APPLICATION fixed bin int static options (constant) init (37); 4 81 dcl RESUME_APPLICATION fixed bin int static options (constant) init (38); 4 82 dcl TERMINATE_APPLICATION fixed bin int static options (constant) init (39); 4 83 dcl RESET_APPLICATION fixed bin int static options (constant) init (40); 4 84 dcl RESET_REPLY fixed bin int static options (constant) init (41); 4 85 dcl WAKE_UP fixed bin int static options (constant) init (42); 4 86 dcl STATUS fixed bin int static options (constant) init (43); 4 87 dcl OVERFLOWED_BUFFER fixed bin int static options (constant) init (44); 4 88 dcl SYSTEM_ERROR fixed bin int static options (constant) init (45); 4 89 dcl QUERY_REPLY fixed bin int static options (constant) init (46); 4 90 dcl RESPONSE_CONNECT fixed bin int static options (constant) init (47); 4 91 dcl RESPONSE_DISCONNECT fixed bin int static options (constant) init (48); 4 92 dcl REQUEST_CONNECT fixed bin int static options (constant) init (49); 4 93 dcl REQUEST_DISCONNECT fixed bin int static options (constant) init (50); 4 94 dcl CONTINUE fixed bin int static options (constant) init (51); 4 95 dcl MORE fixed bin int static options (constant) init (52); 4 96 dcl SET_SLEEP_FLAG fixed bin int static options (constant) init (53); 4 97 dcl RESET_SLEEP_FLAG fixed bin int static options (constant) init (54); 4 98 dcl SET_SUSPEND fixed bin int static options (constant) init (55); 4 99 dcl RESET_SUSPEND fixed bin int static options (constant) init (56); 4 100 dcl STATUS_REPLY fixed bin int static options (constant) init (57); 4 101 4 102 /* Foreground */ 4 103 4 104 dcl FG_CONTROL_MESSAGE fixed bin int static options (constant) init (33); 4 105 dcl FG_BREAK fixed bin int static options (constant) init (34); 4 106 dcl FG_TERMINAL_DATA fixed bin int static options (constant) init (35); 4 107 dcl FG_MORE_DATA fixed bin int static options (constant) init (36); 4 108 dcl PUT_TO_BACKGROUND_BUFFER 4 109 fixed bin int static options (constant) init (37); 4 110 dcl PUT_TO_QUERY_MESSAGE_BUFFER 4 111 fixed bin int static options (constant) init (38); 4 112 4 113 /* END INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 527 528 529 end bft_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 02/24/88 0843.5 bft_.pl1 >special_ldd>install>MR12.2-1028>bft_.pl1 524 1 02/24/88 0843.9 bft.incl.pl1 >special_ldd>install>MR12.2-1028>bft.incl.pl1 525 2 02/24/88 0846.4 bft_values.incl.pl1 >special_ldd>install>MR12.2-1028>bft_values.incl.pl1 526 3 08/10/87 1336.7 mowse_lib_dcls.incl.pl1 >ldd>include>mowse_lib_dcls.incl.pl1 527 4 08/10/87 1336.7 mowse.incl.pl1 >ldd>include>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. BFT_ENTRY_ID constant fixed bin(17,0) initial dcl 1-15 ref 125 BFT_INBUFFER_SIZE 000001 constant fixed bin(17,0) initial dcl 2-35 set ref 149* 244* 282* 320* 372* 446* BFT_OUTBUFFER_SIZE 000001 constant fixed bin(17,0) initial dcl 2-36 set ref 149* 244* 282* 320* 372* 446* BFT_PATH_ID 000010 constant fixed bin(17,0) initial dcl 1-13 ref 125 132 BFT_TIME_ID constant fixed bin(17,0) initial dcl 1-14 ref 125 DEL 000000 constant bit(9) initial packed unaligned dcl 2-41 set ref 125 136 138 434 435 436 DELIM_CHAR based char(1) packed unaligned dcl 2-40 ref 125 136 138 434 435 436 EXECUTE_COMMAND_REPLY constant fixed bin(17,0) initial dcl 4-72 ref 183 LOCAL_SYSTEM 000010 constant fixed bin(17,0) initial dcl 4-30 set ref 144* 188* 249* 275* 313* 378* 440* MAXIMUM_SYSTEM_MINOR constant fixed bin(17,0) initial dcl 4-65 ref 178 MINIMUM_SYSTEM_MINOR constant fixed bin(17,0) initial dcl 4-64 ref 178 absolute_pathname_ 000010 constant entry external dcl 71 ref 133 addr builtin function dcl 84 ref 125 136 138 154 154 434 435 436 436 451 451 bft_error_table_$invalid_request_type 000012 external static fixed bin(35,0) dcl 78 ref 128 bft_error_table_$unexpected_minor_capability 000014 external static fixed bin(35,0) dcl 79 ref 179 bft_major 000252 automatic fixed bin(17,0) dcl 60 set ref 143* 144* 154* 274* 275* 287* 382* 383* bft_mcb 000254 automatic pointer dcl 61 set ref 149* 154* 156* 177* 189* 193* 195* 244* 249* 252* 282* 287* 290* 320* 325* 328* 372* 383* 385* 484* bft_minor_$add_to_fetch_queue 000007 constant fixed bin(17,0) initial dcl 2-15 set ref 219* bft_minor_$add_to_store_queue 000006 constant fixed bin(17,0) initial dcl 2-16 set ref 349* bft_minor_$bft_shut_down 000005 constant fixed bin(17,0) initial dcl 2-19 set ref 383* bft_minor_$cancel_request 000002 constant fixed bin(17,0) initial dcl 2-29 set ref 154* bft_minor_$recover_fetch 000004 constant fixed bin(17,0) initial dcl 2-23 set ref 287* bft_minor_$recover_store 000003 constant fixed bin(17,0) initial dcl 2-24 set ref 325* bft_struct based structure level 1 packed packed unaligned dcl 68 ref 515 bft_struct_ptr 000256 automatic pointer dcl 62 set ref 514 515 516* bft_values_struct 000272 automatic structure level 1 packed packed unaligned dcl 2-44 byte builtin function dcl 82 ref 125 437 cleanup 000264 stack reference condition dcl 89 ref 242 code 000260 automatic fixed bin(35,0) dcl 63 set ref 179* 187* 188* 189 192* 193* 194 command_id 000261 automatic fixed bin(17,0) dcl 64 set ref 249* dir_name 000100 automatic char(168) packed unaligned dcl 58 set ref 133* 136 flags_over based char(4) dcl 419 ref 436 length builtin function dcl 85 ref 154 154 451 451 major_num 000430 automatic fixed bin(17,0) dcl 421 in procedure "add_to_queue" set ref 439* 440* 451* major_num 000262 automatic fixed bin(17,0) dcl 65 in procedure "bft_" set ref 186* 188* 312* 313* 325* 377* 378* 382 mcb_ptr 000426 automatic pointer dcl 420 set ref 446* 451* 453* message 000152 automatic char(256) packed unaligned dcl 59 in procedure "bft_" set ref 125* 136* 136 138* 138 154 154 154 154 message 000431 automatic char(256) packed unaligned dcl 422 in procedure "add_to_queue" set ref 434* 435* 435 436* 436 437* 437 451 451 451 451 null builtin function dcl 83 ref 149 149 244 244 282 282 287 287 320 320 325 325 372 372 383 383 446 446 514 516 p_arg_len parameter fixed bin(17,0) dcl 47 ref 164 p_arg_ptr parameter pointer dcl 48 ref 164 p_code parameter fixed bin(35,0) dcl 416 in procedure "add_to_queue" set ref 396 430* 440* 441 446* 448 451* p_code parameter fixed bin(35,0) dcl 55 in procedure "bft_" set ref 108 120* 128* 133* 134 144* 146 149* 151 154* 206 219* 228 244* 246 249* 260 275* 277 282* 284 287* 298 313* 315 320* 322 325* 336 349* 358 372* 374 378* 379 383* p_data_block_ptr parameter pointer dcl 49 ref 164 p_destination_filename parameter varying char dcl 50 set ref 206 219* 336 349* p_flags parameter bit(36) dcl 46 in procedure "bft_" set ref 206 219* 336 349* p_flags parameter bit(36) dcl 412 in procedure "add_to_queue" set ref 396 436 p_id parameter char packed unaligned dcl 44 set ref 108 133* 138 p_id_sw parameter fixed bin(17,0) dcl 43 ref 108 125 125 125 125 132 p_major_sender parameter fixed bin(17,0) dcl 51 ref 164 p_mcb_ptr parameter pointer dcl 52 ref 164 177 p_minor parameter fixed bin(17,0) dcl 413 set ref 396 451* p_minor_cap_no parameter fixed bin(17,0) dcl 53 set ref 164 178 178 183 183* p_minor_number parameter fixed bin(17,0) dcl 474 ref 461 p_multics_path parameter varying char dcl 415 ref 396 434 p_pc_path parameter varying char dcl 414 ref 396 435 p_priority parameter fixed bin(17,0) dcl 45 in procedure "bft_" set ref 206 219* 336 349* p_priority parameter fixed bin(17,0) dcl 411 in procedure "add_to_queue" ref 396 437 p_source_filename parameter varying char dcl 54 set ref 206 219* 336 349* rtrim builtin function dcl 86 ref 136 136 138 138 154 154 434 435 436 437 451 451 temp_seg_name 000414 automatic char(6) initial packed unaligned dcl 4-22 set ref 4-22* ws_$create_instance 000016 constant entry external dcl 3-17 ref 149 244 282 320 372 446 ws_$destroy_instance 000020 constant entry external dcl 3-19 ref 156 193 252 290 328 385 453 ws_$execute_capability 000022 constant entry external dcl 3-23 ref 154 287 325 383 451 ws_$execute_command 000024 constant entry external dcl 3-25 ref 249 ws_$find_capability_number 000026 constant entry external dcl 3-27 ref 144 188 275 313 378 440 ws_$put_background_message 000030 constant entry external dcl 3-34 ref 189 195 484 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACCEPT internal static fixed bin(17,0) initial dcl 4-54 ADD_TO_REMOTE_CAT internal static fixed bin(17,0) initial dcl 4-78 BFT_BLOCK_SIZE internal static fixed bin(21,0) initial dcl 2-37 BFT_DATA_BLOCK_VERSION_1 internal static char(8) initial packed unaligned dcl 2-54 BFT_FIRST internal static char(1) initial packed unaligned dcl 2-38 BFT_INBUFF_LENGTH internal static fixed bin(17,0) initial dcl 2-56 BFT_MAX_PRIORITY internal static fixed bin(17,0) initial dcl 1-12 BFT_MINOR_CAPS internal static fixed bin(17,0) initial dcl 2-34 BFT_MIN_PRIORITY internal static fixed bin(17,0) initial dcl 1-11 BFT_MULTICS_to_PC internal static fixed bin(17,0) initial dcl 2-52 BFT_NEXT internal static char(1) initial packed unaligned dcl 2-39 BFT_OUTBUFF_LENGTH internal static fixed bin(17,0) initial dcl 2-58 BFT_PC_to_MULTICS internal static fixed bin(17,0) initial dcl 2-50 CONTINUE internal static fixed bin(17,0) initial dcl 4-94 DELETE_FROM_REMOTE_CAT internal static fixed bin(17,0) initial dcl 4-79 EXECUTE_CAPABILITY_REPLY internal static fixed bin(17,0) initial dcl 4-73 EXECUTE_COMMAND internal static fixed bin(17,0) initial dcl 4-77 FAIL_CAPABILITY internal static fixed bin(17,0) initial dcl 4-75 FG_BREAK internal static fixed bin(17,0) initial dcl 4-105 FG_CONTROL_MESSAGE internal static fixed bin(17,0) initial dcl 4-104 FG_MORE_DATA internal static fixed bin(17,0) initial dcl 4-107 FG_TERMINAL_DATA internal static fixed bin(17,0) initial dcl 4-106 INTERNAL internal static fixed bin(17,0) initial dcl 4-76 LAST internal static fixed bin(17,0) initial dcl 4-71 MAXIMUM_BG_SIZE internal static fixed bin(17,0) initial dcl 4-44 MAXIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 4-43 MAXIMUM_PACKET_SIZE internal static fixed bin(17,0) initial dcl 4-49 MAXIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 4-67 MINIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 4-42 MINIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 4-66 MORE internal static fixed bin(17,0) initial dcl 4-95 MOWSE_VERSION_ internal static char(8) initial packed unaligned dcl 4-26 OVERFLOWED_BUFFER internal static fixed bin(17,0) initial dcl 4-87 PACKET_SIZE internal static fixed bin(17,0) initial dcl 4-48 PUT_TO_BACKGROUND_BUFFER internal static fixed bin(17,0) initial dcl 4-108 PUT_TO_QUERY_MESSAGE_BUFFER internal static fixed bin(17,0) initial dcl 4-110 QUERY_REPLY internal static fixed bin(17,0) initial dcl 4-89 RECEIVE internal static fixed bin(17,0) initial dcl 4-59 REJECT internal static fixed bin(17,0) initial dcl 4-55 REMOTE_SYSTEM internal static fixed bin(17,0) initial dcl 4-31 REQUEST_CONNECT internal static fixed bin(17,0) initial dcl 4-92 REQUEST_DISCONNECT internal static fixed bin(17,0) initial dcl 4-93 RESET_APPLICATION internal static fixed bin(17,0) initial dcl 4-83 RESET_REPLY internal static fixed bin(17,0) initial dcl 4-84 RESET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 4-97 RESET_SUSPEND internal static fixed bin(17,0) initial dcl 4-99 RESPONSE_CONNECT internal static fixed bin(17,0) initial dcl 4-90 RESPONSE_DISCONNECT internal static fixed bin(17,0) initial dcl 4-91 RESUME_APPLICATION internal static fixed bin(17,0) initial dcl 4-81 SEND internal static fixed bin(17,0) initial dcl 4-60 SEND_QUERY internal static fixed bin(17,0) initial dcl 4-53 SET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 4-96 SET_SUSPEND internal static fixed bin(17,0) initial dcl 4-98 STATUS internal static fixed bin(17,0) initial dcl 4-86 STATUS_FAILED internal static fixed bin(8,0) initial dcl 4-37 STATUS_REPLY internal static fixed bin(17,0) initial dcl 4-100 STATUS_SUCCESS internal static fixed bin(8,0) initial dcl 4-35 SUSPEND_APPLICATION internal static fixed bin(17,0) initial dcl 4-80 SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 4-88 TERMINATE_APPLICATION internal static fixed bin(17,0) initial dcl 4-82 WAKE_UP internal static fixed bin(17,0) initial dcl 4-85 bft_minor_$check_file_length internal static fixed bin(17,0) initial dcl 2-17 bft_minor_$expand_pc_path internal static fixed bin(17,0) initial dcl 2-30 bft_minor_$full_pc_path internal static fixed bin(17,0) initial dcl 2-31 bft_minor_$initiate_fetch internal static fixed bin(17,0) initial dcl 2-18 bft_minor_$initiate_store internal static fixed bin(17,0) initial dcl 2-26 bft_minor_$position_file_pointer internal static fixed bin(17,0) initial dcl 2-20 bft_minor_$read_error internal static fixed bin(17,0) initial dcl 2-25 bft_minor_$receive_data internal static fixed bin(17,0) initial dcl 2-21 bft_minor_$receive_eof internal static fixed bin(17,0) initial dcl 2-22 bft_minor_$send_data internal static fixed bin(17,0) initial dcl 2-28 bft_minor_$write_error internal static fixed bin(17,0) initial dcl 2-27 bft_queue_flags based structure level 1 packed packed unaligned dcl 1-23 data_block based structure level 1 unaligned dcl 2-62 data_block_ptr automatic pointer dcl 2-61 pending based structure level 1 unaligned dcl 2-79 ws_$connect_request 000000 constant entry external dcl 3-14 ws_$connect_response 000000 constant entry external dcl 3-16 ws_$disconnect_request 000000 constant entry external dcl 3-20 ws_$disconnect_response 000000 constant entry external dcl 3-21 ws_$find_capability_name 000000 constant entry external dcl 3-30 ws_$get_status 000000 constant entry external dcl 3-32 ws_$put_status 000000 constant entry external dcl 3-36 ws_$reset_capability 000000 constant entry external dcl 3-37 ws_$resume_capability 000000 constant entry external dcl 3-38 ws_$send_query_reply 000000 constant entry external dcl 3-39 ws_$sleep 000000 constant entry external dcl 3-40 ws_$suspend_capability 000000 constant entry external dcl 3-41 ws_$terminate_capability 000000 constant entry external dcl 3-42 NAMES DECLARED BY EXPLICIT CONTEXT. add_to_queue 002006 constant entry internal dcl 396 ref 219 349 bft_ 000112 constant entry external dcl 9 cancel 000125 constant entry external dcl 108 clean_up 002436 constant entry internal dcl 493 ref 242 fetch 000742 constant entry external dcl 206 load 001027 constant entry external dcl 228 minor_error 002400 constant entry internal dcl 461 ref 183 process_event 000542 constant entry external dcl 164 recover_fetch 001202 constant entry external dcl 260 recover_store 001362 constant entry external dcl 298 store 001542 constant entry external dcl 336 unload 001626 constant entry external dcl 358 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2702 2734 2452 2712 Length 3236 2452 32 266 230 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME bft_ 516 external procedure is an external procedure. on unit on line 242 70 on unit add_to_queue internal procedure shares stack frame of external procedure bft_. minor_error internal procedure shares stack frame of external procedure bft_. clean_up internal procedure shares stack frame of on unit on line 242. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bft_ 000100 dir_name bft_ 000152 message bft_ 000252 bft_major bft_ 000254 bft_mcb bft_ 000256 bft_struct_ptr bft_ 000260 code bft_ 000261 command_id bft_ 000262 major_num bft_ 000272 bft_values_struct bft_ 000414 temp_seg_name bft_ 000426 mcb_ptr add_to_queue 000430 major_num add_to_queue 000431 message add_to_queue THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry ext_entry_desc int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ ws_$create_instance ws_$destroy_instance ws_$execute_capability ws_$execute_command ws_$find_capability_number ws_$put_background_message THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. bft_error_table_$invalid_request_type bft_error_table_$unexpected_minor_capability LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 4 22 000105 9 000111 99 000120 108 000121 120 000144 125 000145 128 000170 129 000173 132 000174 133 000177 134 000221 136 000223 137 000276 138 000300 143 000355 144 000357 146 000407 149 000411 151 000462 154 000464 156 000521 158 000533 164 000534 177 000550 178 000554 179 000561 180 000564 183 000565 186 000575 187 000576 188 000577 189 000627 192 000664 193 000665 194 000676 195 000700 197 000733 200 000734 206 000735 219 000766 222 001023 228 001024 242 001040 244 001056 246 001127 249 001131 252 001165 254 001177 260 001200 274 001213 275 001214 277 001244 282 001246 284 001317 287 001321 290 001345 292 001357 298 001360 312 001373 313 001374 315 001424 320 001426 322 001477 325 001501 328 001525 330 001537 336 001540 349 001566 352 001623 358 001624 372 001637 374 001710 377 001712 378 001713 379 001743 382 001745 383 001747 385 001773 387 002005 396 002006 430 002024 434 002026 435 002056 436 002121 437 002162 439 002215 440 002217 441 002247 446 002253 448 002324 451 002330 453 002365 455 002377 461 002400 484 002402 487 002435 493 002436 514 002437 515 002444 516 002446 519 002451 ----------------------------------------------------------- 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