COMPILATION LISTING OF SEGMENT xforum Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 09/13/88 1321.9 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 10 11 /****^ HISTORY COMMENTS: 12* 1) change(85-01-08,Davids), approve(86-02-04,MCR7350), 13* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 14* Changed calling sequence of xforum_multics_mode to remove 15* the handle_interactive_messages_flag. Also changed the calling sequence of 16* xforum_help_$get_help to remove the handle_interactive_messages_flag and 17* the function_key_data_ptr. Changed calling sequence of 18* xforum_window_mgr$menu_get_choice to remove the arguments 19* function_key_data_ptr and handle_interactive_messages. Changed test to 20* call xforum_multics_mode to use xforum_user_profile$get_multics_mode 21* instead of args.multics_mode. Note that the value of the flag 22* returned by get_multics_mode can be changed within the loop that the test 23* is being made in. 24* 2) change(85-01-10,Davids), approve(86-02-04,MCR7350), 25* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 26* Changed call to xforum_process_args_ so that the args structure is no 27* longer passed in. Instead just a pointer to the arg_list is input. 28* Removed all the calls to xforum_user_profile$set that were based on the 29* values in the args structure (this is now done by the 30* xforum_process_args_ routine). Now setting values in the 31* local_xforum_info structure by calling the appropriate 32* xforum_user_profile$get routine. Took the arg_list_ptr and the ptrs 33* elements out of the xforum_args structure and made them independent. 34* Removed the reference to xforum_args.incl.pl1. 35* 36* 85-01-14 Davids: replaced calls to accept_messages, print_messages, and 37* defer_messages with calls to xforum_im_mgr$init, defer_messages, and 38* restore_messages. 39* 40* 85-01-18 Davids: Changed version to 1.1c 41* 42* 85-01-23 Davids: Changed version to 1.1d 43* 44* 85-01-24 Davids: Increased the hbound of ptrs from 2 to 3 to accommodate 45* the segment used to hold the set_array. 46* 3) change(85-02-01,Davids), approve(86-02-04,MCR7350), 47* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 48* Changed to version 1.1e. 49* 50* 85-02-06 Davids: Replaced call to xforum_main_options$getting_started with 51* call to xforum_getting_started. 52* 53* 85-02-13 Davids: Replaced calls to xforum_getting_started and 54* xforum_personalize to xforum_getting_started_menu and 55* xforum_personalize_menu 56* 57* 85-02-13 Davids: Changed calling sequence of xforum_help_line_$change 58* to include the new F3_message argument. 59* 60* 85-02-14 Davids: Changed the call to xforum_getting_started_menu to 61* xforum_help_menus$getting_started. Added the call to 62* xforum_help_line_$init; 63* 64* 85-02-18 Davids; Changed to version 1.1f 65* 66* 85-03-06 Davids: Moved the code that nulls xforum_meeting_list_ptr, 67* xforum_menu_ptr, and spy_ptr so that it is after the check for a 68* recursive call. Nulling xforum_meeting_list_ptr before the call ment 69* that after the failure and a return to the first invocation of xforum 70* a null pointer fault would happen almost immediately. 71* 4) change(85-03-07,Davids), approve(86-02-04,MCR7350), 72* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 73* Changed version to 1.1g 74* 75* 85-04-04 Davids: Changed version to 1.1h 76* 77* 85-04-15 Davids: Changed version to 1.1i 78* 79* 85-04-22 Davids: Added xt_cleanup_flag paramater to the call of the 80* xforum_im_mgr$restor_origial entry. 81* 82* 85-05-08 Davids: Added comments to all variable declarations and removed 83* some declared but not used variables. 84* 85* 85-05-21 Davids: Removed reference to xforum_menu_info.incl.pl1 86* it was not being used. 87* 5) change(86-02-21,LJAdams), approve(86-02-21,MCR7350), 88* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 89* Repositioned call to xforum_help_$init to avoid abort with invalid sci_ptr 90* when terminating because of an error in xforum profile. 91* 6) change(86-05-01,LJAdams), approve(86-05-01,MCR7350), 92* audit(86-05-01,Gilcrease), install(86-05-06,MR12.0-1053): 93* Changed version number to 2.0. 94* 7) change(87-04-10,LJAdams), approve(87-04-22,MCR7684), 95* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 96* Changed to allow command_processor_ escapes. Changed version to 2.1. 97* 8) change(88-08-09,LJAdams), approve(88-08-09,MCR7766), 98* audit(88-08-14,GDixon), install(88-09-13,MR12.2-1109): 99* Moved the setting of Shelp switch prior to the call to xforum_help_$init. 100* END HISTORY COMMENTS */ 101 102 103 executive_forum: 104 xforum: 105 proc; 106 107 /* 108* BEGIN DESCRIPTION 109* 110* function: 111* This is the main module of the xforum package. It coordinates the 112* calls to lower level routines which perform the initialization 113* of the system and the termination of the system. It also creates 114* and displays the main menu and processes the user's menu selection. 115* 116* description of entry points: 117* executive_forum, xforum: 118* input: 119* output: 120* Main entry point. 121* 122* reconnect_test: 123* input: 124* output: returns bit (1) aligned, "1"b implies that the current 125* condition frame on the stack is a quit and that the 126* reconnect_quit switch is set to indicate that the quit 127* was caused as a result of a reconnection. 128* The reconnect_test entry point is used by the emacs extension to 129* determine if a quit is the result of the user hitting the BREAK key 130* or a reconnection. It returns a true if the quit was caused by a 131* reconnection. It returns false if the quit was caused by some other 132* reason. 133* 134* description of internal procedures: 135* xforum_terminate: coordinates the termination of the facility. It is 136* called during both normal termination and during a cleanup. The 137* cleanup_flag is used to distinguish the two. Note that the only 138* menu that needs to be destroyed is the main menu. The other menus 139* are destroyed in the lower level routines that created them. 140* 141* collect_spy_data: records the users choice in a special spy structure. 142* The record includes an index which counts the users responses, an 143* identifier which indicates what the user is responding to, i.e. 144* main menu, help prompt, and the users response. 145* 146* record_spy_data: moves the data collected in the spy structure from the 147* segment in the users process dir to a segment in 148* >udd>m>cp>Davids>xforum>spy directory. No error is reported if some 149* reason the data cannot be moved i.e. the directory does not exist. 150* 151* fatal_error: is called in response to the xforum_fatal_error 152* condition being signaled. It locates the information structure 153* associated with the condition and calls xforum_error with the code 154* and message from the structure. 155* 156* xforum_error: shuts down xforum and reports an error to the user. Xforum 157* must first be shut down so that the user can see the error message. 158* If the message is displayed and the system then shut down the message 159* will be cleared off the screen to fast to read. 160* 161* check_for_reconnect: calls find_condition_info_ to get the info pointer 162* for the quit condition. It then checks the reconnection_quit switch 163* in the quit_info structure. 164* 165* known bugs: 166* 167* notes: 168* 169* history: 170* 171* 83-11-?? Deryk Barker: Originally coded 172* 173* 84-03-27 Davids: Modified to check the value of forum_version 174* before adding the .control suffix to the meeting path. If the 175* value of forum_version is 2 the suffix .forum is added instead. 176* Modified the call to xforum_find_path_ to include the forum_version 177* parameter. The call is first made with the version set to 1 and if 178* an error occurs it is tried again with the version = 2. If that fails 179* an error is reported to the user 180* 181* 84-03-28 Davids: Added forum_version parameter to display_trans, 182* next_trans, and next_ref so that the correct forum_ entry for setting 183* the "seen" value could be called. Changed the order of the calls to 184* close_meeting and forum_$set_switch_index when the user selected to 185* resign from a meeting in the attend_meeting proc so that the call to 186* set_switch_indx is made before the call to close. This fixes the problem 187* of not have a resignation recorded by forum. Modified so that the changed 188* flag is updated when the user attends a meeting. The flag for 189* participation/remove was already updated. This is needed if the user was 190* previously not a participant. Added code to send a silent message to a 191* special mailbox to record the fact that someone used xforum. 192* 193* 84-05-02 Davids: Modified the text of QUERY_USAGE to include "To return 194* to top menu press BREAK". Also modified the usage_msg to include "To 195* quit, press ESC, then ""q""" and "To quit, press F4". Added a "To return 196* to top menu press BREAK" message when a dynamic menu is displayed, there 197* used to be no message displayed. Moved code that starts up the video 198* system so that its the first thing so that it can write out a "Executive 199* Forum is setting up - be patient" message immediately. Also added code in 200* xforum_terminate to clear user_io after it restores it to its original 201* size. Also removed code appearing after the exit_xforum label and the 202* call to xforum_terminate code that cleared the window - this only worked 203* if the process was in the video system to start with. 204* 205* 84-05-03 Davids: Modified the help line when in the editor so that it 206* indicates that BREAK is used to abort the transaction being entered. 207* Changed the condition on length of meeting names from 20 to 26 characters 208* - version 2 forums can have longer names than version 1 forums. Changed 209* the length of the varaibles that will hold those names from 20 to 26. 210* Changed the length of the headers from 38 to 44 to be able to handle the 211* extra length. Changed Version to 1.6. 212* 213* 84-05-22 Davids: Moved the call to menu_$destroy to the xforum_terminate 214* procedure instead of leaving it as the next thing after the call to 215* xforum_terminate at the exit_xforum_label. Also added a call to 216* window_$sync after the call to clear the user_io window in 217* xforum_terminate so that the ready message is not lost when you exit 218* xforum. Reformated the text on the help line so that F3 could be added. 219* Added code to leave the cursor positioned two lines down from the getting 220* set up message and in column 1 so that error messages start off at the 221* left margin. Changed the last occurance of Use to Press (at least I hope 222* its the last). Removed the call to clear the menu window right before the 223* call to display the attending meeting menu. This means that the attending 224* menu meeting will no longer be redrawn ever time you enter a new meeting. 225* 226* 84-05-24 Davids: Added code to the internal proc get_to_cl to create 227* a special multics_mode status window and resize user_io to use most of 228* the screen. Also changed the pi handler to destroy the status window 229* and resize user_io. This code doesn't work. It clears the user_io 230* window which it is not suppose to do and dies badly with the attending 231* meeting menu. 232* 233* 84-05-30 Davids: Added code to the pi handler in the attend_meeting 234* internal proc and changed the handler in the main xforum proc to 235* correctly handle the return from multics mode. The status window is 236* destroyed and the user_io window is correctly shrunk, the status info and 237* menu are redisplayed. The text in the user_io window that does not 238* overlap the menu window is left on the screen. Note that there are still 239* circumstances when the user_io window will be cleared when it is 240* increased as the user gets into Multics mode. No idea why. Also modified 241* the xforum_terminate internal proc to destroy the xforum status window 242* (as opposed to the multics mode status window) It has not been doing 243* this. 244* 245* 84-06-01 Davids: Removed the call to window_$sync in xforum_terminate it 246* was doing no good. The probelm with the lost screens was that my message 247* handler was not clearing the status flag. Why this did not effect xmail I 248* have no idea. 249* 250* 84-06-05 Davids: Modified xforum_terminate to call two new internal procs. 251* output_shut_down_msg is used to restore the original user_io window and 252* then output a Executive Forum is shutting down - be paitent message. It 253* takes a while to shut down and the user was not given any feedback that 254* his F4 was accepted. The record_spy_data routine looks for the directory 255* >udd>m>cp>Davids>xforum>spy. If it finds it, it creates a 256* segment in the dir and places in it a copy of the spy structure. 257* Also changed the version to 1.7 and removed the call to 258* send_message_silent. That form of usage recording is not needed with the 259* spy code. 260* 261* 84-06-06 Davids: Added calls to collect_spy_data after all calls to 262* menu_$get_choice, xforum_dyn_menu_$get_choice, xforum_help_$get_choice 263* and iox_$get_line, and in the quit handlers. This will record the current 264* state and the users input. 265* 266* 84-06-07 Davids: Added copy of reconnect_test and associated internal 267* procs so that emacs extension can determine that a reconnect has occured. 268* Code was copied from xmail_window_manger_. 269* 270* 84-06-12 Davids: Added calls to check_window_status as first thing done 271* in all quit handlers. This allows reconnections to work right. Added 272* an any_other hander to get_to_cl. This prevents the xforum quit handlers 273* to be invoked when quit is signaled in multics mode. Modified xforum_error 274* to goto error_exit_xforum instead of just exit_xforum. exit_xforum calls 275* xforum_terminate which xforum_error has already done. This second call 276* clears the error message from the screen. The error_exit_xforum label 277* was added after the exit_xforum label - right after the call to 278* xforum_terminate and before return. 279* 280* 84-06-14 Davids: Modified so that xforum_menu_ptr is set to null as one 281* of the first things done and in xforum_terminate before the call to 282* menu_$destroy the pointer is checked and the call made only if its 283* non-null. Changed the start up message to "Executive Forum is setting up - 284* Menu will be displayed shortly." and the shut down message to "Executive 285* Forum is shutting down - Screen will clear shortly." Changed the version 286* to 1.8 287* 288* 84-06-19 Davids: Modified so that all window recreation or changes are 289* done via calls to xforum_window_mgr. The invocation and termination of the 290* video system and the output of the starting up and shutting down messages 291* are also done via the xforum_window_mgr module. The condition xforum_error 292* was added to handle fatal errors. Changed the version to 1.9. 293* 294* 84-06-21 Davids: Removed window management take took place before and 295* after multics mode and replaced with calls to xforum_window_mgr. 296* 297* 84-06-28 Davids: Removed the internal procedures display_trans, 298* enter_trans, next_trans, prev_trans, list_trans, select_trans, next_ref, 299* prev_ref, and first_ref and replaced them with calls to the corresponding 300* xforum_attend_mtg_options entries. Also changed the version to 2.0. 301* 302* 84-07-05 Davids: replaced calls to menu_$display and menu_$get_choice with 303* xforum_window_mgr$menu_display and xforum_window_mgr$menu_get_choice. 304* Changed version to 2.1. 305* 306* 84-07-06 Davids: added calls to xforum_status_$update_title to output what 307* used to be the menu header. Removed the header parameter from the calls to 308* xforum_create_menu_ 309* 310* 84-07-10 Davids: Removed internal procedures goto_meeting, 311* resign_from_meeting, next_meeting, list_meetings, get_choice_from_menu, 312* find_meeting, and prompt_help and replaced then with calls to the 313* corresponding xforum_main_option entries. 314* 315* 84-07-25 Davids: Extensively changed Multics mode. Now instead of just 316* pushing a new command level what happens is that a prompt is issued and 317* the user enters the command. When the command fishes executing a prompt is 318* issued again. To return to xforum the user enters a null command, i.e. 319* just presses the return key. The help line displays the command being 320* executed or if the user is at the prompt a longer version of the prompt. 321* Currently the prompts are just filler text because I cannot think of 322* really good prompts yet. 323* 324* 84-07-26 Davids: Modified so that the xforum_meeting_info_ptr is obtained 325* from args.ptrs (1) instead of arg.ptrs (2). ptrs (1) used to be the 326* xforum_meeting_list_ptr ptr. Modified the xforum_terminate so that it 327* just always frees ptrs (1) instead of testing args.meeting_list first. 328* The xforum_meeting_list segment is used for the life of the process. 329* Modified the get_to_cl routine so that it traps certain conditions and 330* prints the error message that the system would. This prevents a new stack 331* frame from being pushed. Certain conditions have to be let though. 332* Its probably best if get_to_cl is an external routine. It will more than 333* likely have to be modified several times before the list of what 334* conditions trap and what to let though is correct. 335* 336* 84-07-27 Davids: Replaced calls to internal proc get_to_cl with calls to 337* external proc xforum_multics_mode. Removed from the program_interrupt 338* handler the code dealing with a return from multics mode and placed the 339* code after the call to xforum_multics_mode. Deleted the multics_mode_flag. 340* 341* 84-07-30 Davids: Changed version to 3.0 342* 343* 84-07-31 Davids: Modified so that the help messages conform with the MTB 344* and so that title is separated from the pad character by a space. 345* 346* 84-08-13 Davids: Changed version to 3.1. Changed Meetings to Eligible in 347* the banner. Added code to handle interactive messages. If the 348* handle_interactive_messages flag is set then messages will be defered 349* during startup and accepted again during termination. Also the flag is 350* passed to xforum_multics_mode and xforum_window_mgr_$menu_get_choice. 351* 352* 84-08-14 Davids: Changed the main menu to conform to the MTB. 353* This deleted the "Resign from Meeting", "Next Attended Meeting", "List 354* Meetings", "List Changed Meetings", and "List Attended Meetings" options. 355* Added a call to xforum_user_profile$get to set up the profile (currently 356* not used) and set the first time flag. 357* 358* 84-08-15 Davids: Replaced the long argument lists of xforum_main_options 359* by a ptr to a structure which is loaded with the information. Also cleaned 360* up the dcls. Deleted the internal procs get_help and general_help. 361* Replaced get_help with xforum_get_help. 362* 363* 84-08-16 Davids: Replaced calls to xforum_get_help with calls to 364* xforum_help_$get_help. Updated the attending meeting menu to reflect the 365* MTB and changed the code handling the users choice accordingly. 366* 367* 84-08-29 Davids: Removed the attend_meeting internal proc (moved it to 368* xforum_main_options). Added the exit_executive_forum condition handler 369* and setting of xforum_info.main_options.use_alternate_fkeys, multics_mode, 370* and handle_interactive_messages. These were needed to make the move work 371* correctly. Also added the code for correctly handling the getting started 372* menu. 373* 374* 84-08-30 Davids: Finally added an xforum_fatal_error handler. Added the 375* parameter xt_clean_up flag to xforum_terminate. This value is passed 376* to the window_mgr routines call by terminate to control terminal i/o. 377* 378* 84-09-04 Davids Changed version to 4.0 379* 380* 84-09-17 Davids: Added code for processing upper case escapse sequences. 381* This include declaring XXX2 constants and using them where ever the XXX 382* constants are used. 383* 384* 84-09-25 Davids: Removed references to xforum_trans_array. The array is 385* being deleted because it enforces an upper limit on the number of 386* transaction that xforum can handle. 387* 388* 84-09-28 Davids: Removed all references to usage messages and 389* xforum_status_$update_usage and redisplay_usage. Replaced them with 390* a reference to xforum_help_line. 391* 392* 84-10-01 Davids: Removed the determination of whether function keys or 393* escapse sequences can be used. Replaced it with calls to 394* xforum_user_profile. Still make a call to set the value of the 395* function_key_data_ptr. This should be removed and calls to 396* xforum_user_profile$get_function_key_data_ptr used where the ptr is 397* actually needed. However I do not have the time do do that now. 398* 399* 84-10-02 Davids: Added a call to xforum_user_profile$set_use_function_keys 400* with the new arggs element escape_sequences. Added the spy_ptr parameter 401* to the xforum_list_meetings$process_args_ call and removed the code that 402* created the xforum_spy segment in the pdir. 403* 404* 84-10-03 Davids: Changed a call from get_temp_segment_ to 405* get_temp_segments_ the extra segment is for the seen_map. 406* Change release_temp_segment_ to segments_ as well. 407* 408* 84-10-16 Davids: Updated version to 5.0 409* 410* 84-10-17 Davids: Changed versions to 5.1 411* 412* 84-10-22 Davids: Changed message handling so that it is the same as 413* Xmail's, except for the -brief control arg for print_messages. Xforum 414* will not start using the MR11 message system control args until after a 415* controlled release tape is cut. 416* 417* 84-10-22 Davids: A new version (including todays changes) was installed 418* in EXL so the development version's version has been changed to 5.2. 419* 420* 84-10-25 Davids: Added the xforum_already_active variable. This is 421* internal static, inited to "0"b. The first thing xforum does is to see 422* if this variable is true. if it is an error message is output. The value 423* is set to true immediately after the cleanup routine is established. 424* The cleanup routine re-sets it to false. 425* 426* 84-10-25 Davids: A new version (including todays changes) was installed 427* in EXL so the development version's version has been changed to 5.3. 428* 429* 84-10-29 Davids: A new version (including todays changes) was installed 430* in EXL so the development version's version has been changed to 5.4. 431* 432* 84-11-06 Davids: Changed references to xforum_list_meetings to 433* xforum_list_meetings_. Also all references to xforum_help_line to 434* xforum_help_line_ 435* 436* 84-11-13 Davids: Version changed to 5.5 437* 438* 84-11-15 Davids: Auditing changes: 1) Corrected messages to start with an 439* upper case letter and end with some puncuation. 2) replaced calls to 440* hcs_$make_seg with calls to initiate_file_$create. 3) Cleaned up dcls so 441* that unrefered variables are deleted and undcled builtins are declared. 442* Other changes: 1) Reorganized dcls into the standard format. 443* 444* 84-11-16 Davids: Added the "-brief" argument to the call to 445* print_messages This is needed so that the call does not result in a "You 446* have no messages" message being output. print_message was incompatibly 447* changed. 448* 449* 84-11-19 Davids: Changed version to 5.6 450* 451* 84-12-06 Davids: Modified so that xforum_help_$init is called before 452* xforum_main_options$getting_started. If the help structure is not 453* initiated very strange things will happen when in getting started menu - 454* not to friendly. Also changed versions to 1.1a. 455* 456* 84-12-14 Davids: Changed version to 1.1b 457* 458* 459* END DESCRIPTION 460**/ 461 462 /* PARAMETERS */ 463 464 /* EXTERNAL STATIC */ 465 466 /* ENTRIES */ 467 468 dcl com_err_ entry () options (variable); 469 dcl cu_$arg_list_ptr entry (ptr); 470 dcl find_condition_frame_ entry (ptr) returns (ptr); 471 dcl find_condition_info_ entry (ptr, ptr, fixed bin (35)); 472 dcl get_system_free_area_ entry () returns (ptr); 473 dcl get_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 474 dcl hcs_$status_minf entry (char (*), char (*), fixed bin (1), fixed bin (2), fixed bin (24), fixed bin (35)); 475 dcl initiate_file_$create entry (char (*), char (*), bit (*), ptr, bit (1) aligned, fixed bin (24), fixed bin (35)); 476 dcl ioa_ entry () options (variable); 477 dcl ioa_$rsnnl entry () options (variable); 478 dcl release_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 479 dcl unique_chars_ entry (bit (*)) returns (char (15)); 480 dcl xforum_create_menu_ entry ((*) char (*) var, ptr, ptr, fixed bin (35)); 481 dcl xforum_get_str_ entry (char(*) var, ptr, char(*), char(*), char(*) var, fixed bin(35)); 482 dcl xforum_get_str_$init entry options(variable); 483 dcl xforum_help_$get_help entry (ptr, char (*), (*) char (*) var, ptr, ptr); 484 dcl xforum_help_$init entry options(variable); 485 dcl xforum_help_$term entry options (variable); 486 dcl xforum_help_line_$change entry (bit (8), char (*), char (*), char (*)); 487 dcl xforum_help_line_$init entry; 488 dcl xforum_help_menus$getting_started entry (ptr, ptr); 489 dcl xforum_im_mgr$defer_messages entry (); 490 dcl xforum_im_mgr$init entry (); 491 dcl xforum_im_mgr$restore_original entry (bit (1) aligned); 492 dcl xforum_main_options$goto_meeting entry (ptr); 493 dcl xforum_main_options$modify_meeting_list entry (ptr); 494 dcl xforum_main_options$next_meeting entry (ptr); 495 dcl xforum_multics_mode entry (fixed bin); 496 dcl xforum_personalize_menu entry (ptr, ptr); 497 dcl xforum_list_meetings_$xforum_process_args_ entry (ptr, char (*), ptr, fixed bin (35)); 498 dcl xforum_redisplay_ entry options (variable); 499 dcl xforum_status_$initialize 500 entry options (variable); 501 dcl xforum_status_$redisplay entry (fixed bin (35)); 502 dcl xforum_status_$update_total entry (char (*)); 503 dcl xforum_status_$update_title entry (char (*)); 504 dcl xforum_status_$update_new entry (char (*)); 505 dcl xforum_status_$update_banner entry (char (*)); 506 dcl xforum_user_profile$get entry (bit (1) aligned); 507 dcl xforum_user_profile$get_function_key_data_ptr entry () returns (ptr); 508 dcl xforum_user_profile$get_menu_always entry () returns (bit (1)); 509 dcl xforum_user_profile$get_multics_mode entry () returns (bit (1)); 510 dcl xforum_user_profile$get_handle_interactive_messages entry () returns (bit (1)); 511 dcl xforum_window_mgr$check_window_status entry options (variable); 512 dcl xforum_window_mgr$menu_display entry (ptr); 513 dcl xforum_window_mgr$menu_get_choice entry (ptr, bit (1) aligned, fixed bin); 514 dcl xforum_window_mgr$prepare_to_shut_down entry (bit (1)); 515 dcl xforum_window_mgr$shut_down_xforum_windows entry (bit (1)); 516 dcl xforum_window_mgr$resynch_windows entry (fixed bin, bit (1)); 517 dcl xforum_window_mgr$set_up_xforum_windows entry options (variable); 518 519 /* CONDITIONS */ 520 521 dcl ( 522 cleanup, 523 exit_executive_forum, 524 program_interrupt, 525 quit, 526 xforum_fatal_error, 527 xforum_redisplay_menu 528 ) condition; 529 530 /* INTERNAL AUTOMATIC */ 531 532 dcl x_arg_list_ptr ptr; /* points to list of args that xforum was invoked with */ 533 dcl x_choice fixed bin; /* user's choice from the menu or function key */ 534 dcl x_code fixed bin (35); /* standard error code */ 535 dcl x_first_time_user bit (1) aligned; /* "1"b if this is the very first time the user has used xforum */ 536 dcl x_fkey bit (1) aligned; /* "1"b if choice stands for which function key was presswed */ 537 dcl x_menu_window_height fixed bin; /* number of lines used by the menu */ 538 dcl x_ptrs (3) ptr; /* used to get pointers to temp segments */ 539 dcl x_xforum_banner char (40); /* second line of status window for main menu */ 540 dcl x_xforum_menu_ptr ptr; /* pointer to the main menu */ 541 dcl 1 x_xforum_info like xforum_info; /* structure used to give data to xforum_main_options entries */ 542 dcl 1 x_xforum_menu_requirements like menu_requirements; /* used to tell menu_ what the menu looks like */ 543 dcl Shelp bit(1); /* indicates if help has been initialized */ 544 dcl Serror bit(1); 545 546 547 /* INTERNAL STATIC */ 548 549 dcl x_xforum_already_active bit (1) init ("0"b) internal static; 550 /* "1"b imples that xforum is already on the stack */ 551 552 /* CONSTANTS */ 553 554 dcl ( 555 ANSWER_LENGTH fixed bin init (256), 556 /* maximum length for response */ 557 x_FIRST_MENU fixed bin init (2),/* fkey choice for F2 or ESCf */ 558 x_FIRST_MENU2 fixed bin init (9),/* fkey choice for ESCF */ 559 x_HELP fixed bin init (1),/* fkey choice for F1 or ESC? */ 560 x_ME char (6) init ("xforum"), /* name used in messages */ 561 x_MULTICS fixed bin init (8),/* fkey choice for F8 or ESCe */ 562 x_MULTICS2 fixed bin init (15), /* fkey choice for ESCE */ 563 x_PREV_MENU fixed bin init (3),/* fkey choice for F3 or ESCp */ 564 x_PREV_MENU2 fixed bin init (10), /* fkey choice for ESCP */ 565 x_QUIT fixed bin init (4),/* fkey choice for F4 or ESCq */ 566 x_QUIT2 fixed bin init (11), /* fkey choice for ESCQ */ 567 x_REDISPLAY fixed bin init (5),/* fkey choice for F5 or ESCr */ 568 x_REDISPLAY2 fixed bin init (12), /* fkey choice for ESCR */ 569 x_CHOICES (7) char (38) varying init ( 570 "Go To Changed Meeting", 571 "Go To Attended Meeting", 572 "Go To Eligible Meeting", 573 "Go To Next Changed Meeting", 574 "Modify Meeting List", 575 "Personalize Exec Forum", 576 "Getting Started"),/* options in main menu */ 577 x_HEADERS (1) char (33) varying init ("Executive Forum (Version 2.1)") 578 /* first line of main menu status window */ 579 ) internal static options (constant); 580 581 /* BUILTINS */ 582 583 dcl ( 584 addr, 585 char, 586 ltrim, 587 null, 588 rtrim 589 ) builtin; 590 591 592 /* BASED */ 593 594 /* INCLUDE FILES */ 595 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 596 597 2 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 2 2 2 3 /* Structure for find_condition_info_. 2 4* 2 5* Written 1-Mar-79 by M. N. Davidoff. 2 6**/ 2 7 2 8 /* automatic */ 2 9 2 10 declare condition_info_ptr pointer; 2 11 2 12 /* based */ 2 13 2 14 declare 1 condition_info aligned based (condition_info_ptr), 2 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 2 16 2 version fixed binary, /* Must be 1 */ 2 17 2 condition_name char (32) varying, /* name of condition */ 2 18 2 info_ptr pointer, /* pointer to the condition data structure */ 2 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 2 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 2 21 2 flags unaligned, 2 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 2 23 3 pad1 bit (35), 2 24 2 pad2 bit (36), 2 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 2 26 2 pad3 (4) bit (36); 2 27 2 28 /* internal static */ 2 29 2 30 declare condition_info_version_1 2 31 fixed binary internal static options (constant) initial (1); 2 32 2 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 598 599 3 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 3 2 /* format: style2 */ 3 3 3 4 declare condition_info_header_ptr 3 5 pointer; 3 6 declare 1 condition_info_header 3 7 aligned based (condition_info_header_ptr), 3 8 2 length fixed bin, /* length in words of this structure */ 3 9 2 version fixed bin, /* version number of this structure */ 3 10 2 action_flags aligned, /* tell handler how to proceed */ 3 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 3 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 3 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 3 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 3 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 3 16 3 pad bit (32) unaligned, 3 17 2 info_string char (256) varying, /* may contain printable message */ 3 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 3 19 3 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 600 601 4 1 /* START OF: forum_dcls.incl.pl1 * * * * * */ 4 2 4 3 dcl forum_$close_forum entry (fixed bin, fixed bin (35)); 4 4 dcl forum_$enter_trans entry (fixed bin, char (*), fixed bin, char (*), 4 5 bit (1) aligned, fixed bin, 4 6 fixed bin (35)); 4 7 dcl forum_$forum_info entry (char (*), char (*), char (*), 4 8 fixed bin (71), ptr, fixed bin (35)); 4 9 dcl forum_$forum_limits entry (fixed bin, fixed bin, fixed bin, 4 10 fixed bin, fixed bin, fixed bin, 4 11 bit(36) aligned, fixed bin (35)); 4 12 dcl forum_$get_forum_path entry (char (*), char (*), char (*), char (*), 4 13 fixed bin (35)); 4 14 dcl forum_$get_forum_path_idx entry (fixed bin, char (*), char (*), 4 15 fixed bin (35)); 4 16 dcl forum_$get_message entry (fixed bin, char (*), fixed bin (35)); 4 17 dcl forum_$get_transaction_map_idx entry (fixed bin, char (*), bit (*), fixed bin (35)); 4 18 dcl forum_$list_users_idx entry (fixed bin, ptr, ptr, fixed bin (35)); 4 19 dcl forum_$open_forum entry (char(*), char(*), fixed bin, 4 20 fixed bin (35)); 4 21 dcl forum_$read_trans entry (fixed bin, fixed bin, ptr, ptr, 4 22 fixed bin (35)); 4 23 dcl forum_$set_last_seen_idx entry (fixed bin, fixed bin, bit (1) aligned, 4 24 fixed bin (35)); 4 25 dcl forum_$set_seen_switch entry (fixed bin, char (*), fixed bin, 4 26 bit (1) aligned, fixed bin (35)); 4 27 dcl forum_$set_message entry (fixed bin, char (*), fixed bin (35)); 4 28 dcl forum_$set_switch entry (char (*), char (*), char (*), char (*), 4 29 bit (1) aligned, fixed bin (35)); 4 30 dcl forum_$set_switch_idx entry (fixed bin, char (*), char (*), 4 31 bit (1) aligned, fixed bin (35)); 4 32 dcl forum_$trans_ref_info entry (fixed bin, fixed bin, fixed bin, 4 33 fixed bin, fixed bin, bit (1) aligned, 4 34 fixed bin (35)); 4 35 4 36 /* END OF: forum_dcls.incl.pl1 * * * * * */ 602 603 5 1 /* ... BEGIN INCLUDE FILE forum_flags.incl.pl1 ... */ 5 2 5 3 /* Flags returned by forum_$forum_limits 5 4* Jay Pattin 5/5/82 */ 5 5 5 6 dcl forum_flags_word bit (36) aligned; 5 7 5 8 dcl 1 forum_flags aligned based (addr (forum_flags_word)), 5 9 2 chairman bit (1) unaligned, 5 10 2 read_only bit (1) unaligned, 5 11 2 print_cm_message bit (1) unaligned, 5 12 2 print_acl_message bit (1) unaligned, 5 13 2 acl_has_changed bit (1) unaligned, 5 14 2 adjourned bit (1) unaligned, 5 15 2 mbz bit (30) unaligned; 5 16 5 17 /* END INCLUDE FILE forum_flags.incl.pl1 */ 604 605 6 1 /* START OF: forum_info.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 6 2 6 3 6 4 6 5 /****^ HISTORY COMMENTS: 6 6* 1) change(86-07-30,Pattin), approve(86-07-30,MCR7354), 6 7* audit(86-08-03,Margolin), install(86-08-16,MR12.0-1128): 6 8* Changed to version 2, speed up call by not calculating remove count. 6 9* END HISTORY COMMENTS */ 6 10 6 11 6 12 declare forum_info_ptr ptr; 6 13 6 14 declare 1 forum_info aligned based (forum_info_ptr), 6 15 2 version fixed bin, /* Must be 1 or 2 */ 6 16 2 forum_uid bit (36), 6 17 2 chairman unaligned, 6 18 3 username char (20), 6 19 3 project char (9), 6 20 3 pad char (3), 6 21 2 attendee_count fixed bin, 6 22 2 removal_count fixed bin, /* always 0 in version 2 */ 6 23 2 transaction_count fixed bin, 6 24 2 deletion_count fixed bin, 6 25 2 last_seen_trans_idx fixed bin, 6 26 2 last_time_changed fixed bin (71), 6 27 2 last_time_attended fixed bin (71), 6 28 2 changes_count fixed bin, 6 29 2 flags unaligned, 6 30 3 eligible bit (1), 6 31 3 mbz1 bit (1), 6 32 3 removed bit (1), 6 33 3 notify bit (1), 6 34 3 attending bit (1), 6 35 3 mbz2 bit (2), 6 36 3 read_only bit (1), 6 37 3 adjourned bit (1), 6 38 3 mbz3 bit (27); 6 39 6 40 declare forum_info_version_1 fixed bin static options (constant) initial (1), 6 41 forum_info_version_2 fixed bin static options (constant) initial (2); 6 42 6 43 /* END OF: forum_info.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 606 607 7 1 /* BEGIN INCLUDE FILE: forum_user_trans.incl.pl1 */ 7 2 7 3 dcl alloc_text_length fixed bin (21); /* length of text area to allocate */ 7 4 dcl alloc_subject_length fixed bin (21); /* length of subject area to allocate */ 7 5 dcl forum_user_trans_ptr ptr; /* pointer to below structure */ 7 6 7 7 dcl 1 forum_user_trans based (forum_user_trans_ptr) aligned, 7 8 2 type fixed bin, /* type of transaction */ 7 9 2 person_id char (22), /* person_id of author of this transaction */ 7 10 2 project_id char (9), /* project_id of author of this transaction */ 7 11 2 time fixed bin (71), /* time transaction was entered */ 7 12 2 trans_no fixed bin, /* number of this transaction */ 7 13 2 next_trans_ptr ptr, /* pointer (in user ring) of next transaction */ 7 14 2 prev_trans_ptr ptr, /* pointer (in user ring) of previous transaction */ 7 15 2 subject_length fixed bin (21), /* length of subject field of transaction */ 7 16 2 text_length fixed bin (21), /* length of text field of transaction */ 7 17 2 unfilled bit (1) aligned, /* set if transaction is NOT stored filled */ 7 18 2 subject char (alloc_subject_length refer (forum_user_trans.subject_length)) unaligned, /* subject of transaction */ 7 19 2 text char (alloc_text_length refer (forum_user_trans.text_length)) unaligned; /* text of transaction */ 7 20 7 21 declare user_trans_type fixed bin static options (constant) initial (1); 7 22 declare message_type fixed bin static options (constant) initial (2); 7 23 7 24 declare (ONLY_UNDELETED init (0), 7 25 INCLUDE_DELETED init (1), 7 26 ONLY_DELETED init (2)) 7 27 fixed bin static options (constant); 7 28 7 29 /* END INCLUDE FILE: forum_user_trans.incl.pl1 */ 608 609 8 1 /* BEGIN INCLUDE FILE ... function_key_data.incl.pl1 8 2* 8 3* This include file defines the structure used for ttt_info_$function_key_data 8 4* MCR 4671 James R. Davis Sept 80 8 5**/ 8 6 8 7 dcl 1 function_key_data aligned based (function_key_data_ptr), 8 8 2 version fixed bin, 8 9 2 highest fixed bin, /* highest fkey */ 8 10 2 sequence, /* string of all seqs. */ 8 11 3 seq_ptr pointer, 8 12 3 seq_len fixed bin (21), 8 13 2 cursor_motion_keys, 8 14 3 home (0:3) like key_info, 8 15 3 left (0:3) like key_info, 8 16 3 up (0:3) like key_info, 8 17 3 right (0:3) like key_info, 8 18 3 down (0:3) like key_info, 8 19 2 function_keys (0:function_key_data_highest refer 8 20 (function_key_data.highest), 0:3) like key_info; 8 21 8 22 dcl (KEY_PLAIN init (0), 8 23 KEY_SHIFT init (1), 8 24 KEY_CTRL init (2), 8 25 KEY_CTRL_AND_SHIFT init (3) 8 26 ) fixed bin internal static options (constant); 8 27 8 28 dcl 1 key_info unaligned based (key_info_ptr), 8 29 2 sequence_index fixed bin (12) unsigned unaligned, 8 30 2 sequence_length fixed bin (6) unsigned unaligned; /* 0 -> not exist */ 8 31 8 32 dcl function_key_seqs char (function_key_data.sequence.seq_len) 8 33 based (function_key_data.sequence.seq_ptr); 8 34 dcl function_key_data_ptr ptr; 8 35 dcl function_key_data_highest fixed bin; 8 36 dcl function_key_data_version_1 8 37 fixed bin internal static options (constant) init (1); 8 38 dcl key_info_ptr ptr; 8 39 8 40 8 41 /* END INCLUDE FILE ... function_key_data.incl.pl1 */ 610 611 9 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 9 2 9 3 /* Written 05/04/78 by C. D. Tavares */ 9 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 9 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 9 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 9 7 9 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 9 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 9 10 iox_$close entry (pointer, fixed bin (35)), 9 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 9 12 iox_$delete_record entry (pointer, fixed bin (35)), 9 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 9 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 9 15 iox_$err_not_attached entry options (variable), 9 16 iox_$err_not_closed entry options (variable), 9 17 iox_$err_no_operation entry options (variable), 9 18 iox_$err_not_open entry options (variable), 9 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 9 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 9 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 9 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 9 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 9 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 9 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 9 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 9 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 9 28 iox_$propagate entry (pointer), 9 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 9 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 9 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 9 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 9 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 9 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 9 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 9 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 9 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 9 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 9 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 9 40 9 41 dcl (iox_$user_output, 9 42 iox_$user_input, 9 43 iox_$user_io, 9 44 iox_$error_output) external static pointer; 9 45 9 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 612 613 10 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 10 2* declarations for the menu_ subroutines MTB 493 10 3* James R. Davis 26 Jan 81 to 20 Februrary 81 10 4**/ 10 5 10 6 /* format: off */ 10 7 10 8 dcl menu_$create entry ( 10 9 (*) char (*) varying, /* input: choices */ 10 10 (*) char (*) varying, /* input: headers */ 10 11 (*) char (*) varying, /* input: trailers */ 10 12 pointer, /* input: to format info */ 10 13 (*) char (1) unal, /* input: keys to use */ 10 14 pointer, /* input: to area */ 10 15 pointer, /* input: to needs str. */ 10 16 pointer, /* to menu: output */ 10 17 fixed bin (35) /* code */ 10 18 ); 10 19 10 20 dcl menu_$display entry ( 10 21 pointer, /* window */ 10 22 pointer, /* menu */ 10 23 fixed bin (35) /* code */ 10 24 ); 10 25 10 26 dcl menu_$get_choice entry ( 10 27 pointer, /* window */ 10 28 pointer, /* menu */ 10 29 pointer, /* to function key info */ 10 30 bit (1) aligned, /* function key hi: output */ 10 31 fixed bin, /* output: selection number */ 10 32 fixed bin (35) /* output: code */ 10 33 ); 10 34 10 35 dcl menu_$describe entry ( 10 36 pointer, /* menu */ 10 37 pointer, /* needs */ 10 38 fixed bin (35) /* code */ 10 39 ); 10 40 10 41 dcl menu_$destroy entry ( 10 42 pointer, /* menu */ 10 43 fixed bin (35) /* code */ 10 44 ); 10 45 10 46 dcl menu_$store entry ( 10 47 character (*), 10 48 character (*), 10 49 character (*), 10 50 bit (1) aligned, 10 51 pointer, 10 52 fixed bin (35)); 10 53 10 54 dcl menu_$retrieve entry ( 10 55 character (*), 10 56 character (*), 10 57 character (*), 10 58 pointer, 10 59 pointer, 10 60 fixed bin (35)); 10 61 dcl menu_$delete entry ( 10 62 character (*), 10 63 character (*), 10 64 character (*), 10 65 fixed binary (35)); 10 66 10 67 dcl menu_$list entry ( 10 68 character (*), 10 69 character (*), 10 70 character (*), 10 71 pointer, 10 72 fixed bin, 10 73 pointer, 10 74 fixed bin (35)); 10 75 10 76 dcl 1 menu_format aligned based (menu_format_ptr), 10 77 2 version fixed bin, 10 78 2 constraints, 10 79 3 max_width fixed bin, 10 80 3 max_height fixed bin, 10 81 2 n_columns fixed bin, 10 82 2 flags, 10 83 3 center_headers bit (1) unal, 10 84 3 center_trailers bit (1) unal, 10 85 3 pad bit (34) unal, 10 86 2 pad_char char (1); 10 87 10 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 10 89 2 version fixed bin, 10 90 2 lines_needed fixed bin, 10 91 2 width_needed fixed bin, 10 92 2 n_options fixed bin; 10 93 10 94 dcl menu_format_ptr pointer; 10 95 dcl menu_requirements_ptr pointer; 10 96 10 97 dcl (menu_format_version_1, menu_requirements_version_1) 10 98 fixed bin internal static init (1) options (constant); 10 99 10 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 10 101 options (constant) init 10 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 10 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 10 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 10 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 10 106 10 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 614 615 11 1 /* BEGIN INCLUDE FILE ... quit_info.incl.pl1 ... */ 11 2 11 3 /* The include file condition_info_header must be used with this file. */ 11 4 11 5 declare quit_info_ptr pointer; 11 6 declare 1 quit_info aligned based (quit_info_ptr), 11 7 2 header aligned like condition_info_header, 11 8 2 switches aligned, 11 9 3 reset_write bit (1) unaligned, 11 10 3 ips_quit bit (1) unaligned, 11 11 3 reconnection_quit bit (1) unaligned, 11 12 3 pad bit (33); 11 13 11 14 /* END INCLUDE FILE ... quit_info.incl.pl1 ... */ 616 617 12 1 /* BEGIN INCLUDE FiLE ... terminal_info.incl.pl1 */ 12 2 12 3 /* Created 5/25/77 by J. Stern */ 12 4 12 5 12 6 dcl 1 terminal_info aligned based (terminal_info_ptr), /* info structure for terminal_info order */ 12 7 2 version fixed bin, /* version number of this sturcture */ 12 8 2 id char (4) unaligned, /* terminal id from answerback */ 12 9 2 term_type char (32) unaligned, /* terminal type name */ 12 10 2 line_type fixed bin, /* line type number */ 12 11 2 baud_rate fixed bin, 12 12 2 reserved (4) fixed bin; /* reserved for future use */ 12 13 12 14 12 15 dcl terminal_info_ptr ptr; 12 16 dcl terminal_info_version fixed bin int static options (constant) init (1); /* current version */ 12 17 12 18 12 19 /* END INCLUDE FILE ... terminal_info.incl.pl1 */ 618 619 13 1 /* begin include fine window_dcls.incl.pl1 BIM June 1981 */ 13 2 /* Modified 9 October 1983 by Jon A. Rochlis to add window_$edit_line. */ 13 3 13 4 /* format: style3 */ 13 5 13 6 declare window_$bell entry (pointer, fixed binary (35)); 13 7 declare window_$clear_region 13 8 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary, fixed binary (35)); 13 9 declare window_$clear_to_end_of_line 13 10 entry (pointer, fixed binary (35)); 13 11 declare window_$clear_to_end_of_window 13 12 entry (pointer, fixed binary (35)); 13 13 declare window_$clear_window 13 14 entry (pointer, fixed binary (35)); 13 15 declare window_$delete_chars 13 16 entry (pointer, fixed binary, fixed binary (35)); 13 17 declare window_$get_cursor_position 13 18 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 13 19 13 20 /* Call window_$get_echoed_chars (iocb_ptr, n_to_read, read_buffer, n_read, read_break, code); */ 13 21 13 22 declare window_$get_echoed_chars 13 23 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 13 24 fixed binary (35)); 13 25 declare window_$get_unechoed_chars 13 26 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 13 27 fixed binary (35)); 13 28 declare window_$insert_text entry (pointer, character (*), fixed binary (35)); 13 29 declare window_$overwrite_text 13 30 entry (pointer, character (*), fixed binary (35)); 13 31 declare window_$position_cursor 13 32 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 13 33 13 34 /* Call window_$position_cursor_rel (iocb_ptr, delta_line, delta_column, code); */ 13 35 13 36 declare window_$position_cursor_rel 13 37 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 13 38 13 39 /* Call window_$scroll_region (iocb_ptr, first_line_of_region, n_lines_of_region, distance_to_scroll_region_negative_is_up, 13 40* code); */ 13 41 13 42 declare window_$scroll_region 13 43 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary (35)); 13 44 declare window_$sync entry (pointer, fixed binary (35)); 13 45 13 46 /* Call window_$write_raw_text (iocb_ptr, text_string, code); */ 13 47 13 48 declare window_$write_raw_text 13 49 entry (pointer, character (*), fixed binary (35)); 13 50 13 51 /* Call window_$write_sync_read (iocb_ptr, prompt_string, n_to_read, read_buffer, n_read, break_char, code); */ 13 52 13 53 declare window_$write_sync_read 13 54 entry (pointer, character (*), fixed bin (21), character (*), fixed binary (21), 13 55 character (1) var, fixed binary (35)); 13 56 13 57 /* Call window_$change_line (iocb_ptr, new_line, code); */ 13 58 13 59 declare window_$change_line entry (pointer, fixed binary, fixed binary (35)); 13 60 13 61 /* Call window_$change_column (iocb_ptr, new_column, code); */ 13 62 13 63 declare window_$change_column 13 64 entry (pointer, fixed binary, fixed binary (35)); 13 65 13 66 /* Call window_$get_one_unechoed (iocb_ptr, char_or_len_0, block_flag, code); */ 13 67 declare ( 13 68 window_$get_one_unechoed, 13 69 window_$get_one_unechoed_char 13 70 ) entry (pointer, character (1) var, bit (1) aligned, fixed binary (35)); 13 71 13 72 declare window_$create entry (pointer, pointer, pointer, fixed binary (35)); 13 73 13 74 declare window_$destroy entry (pointer, fixed binary (35)); 13 75 13 76 declare window_$edit_line entry (pointer, pointer, pointer, fixed bin(21), fixed bin(21), fixed bin(35)); 13 77 13 78 /* call window_$edit_line (iocb_ptr, window_edit_line_info_ptr, buffer_ptr, 13 79* buffer_len, n_returned, code); */ 13 80 13 81 13 82 /* end include file window_dcls.incl.pl1 */ 620 621 14 1 /* BEGIN INCLUDE FILE xforum_data_.incl.pl1 */ 14 2 14 3 14 4 /****^ HISTORY COMMENTS: 14 5* 1) change(86-01-17,LJAdams), approve(86-03-07,MCR7327), 14 6* audit(86-03-10,Lippard), install(86-04-24,MR12.0-1048): 14 7* Structure defining the help search paths that will be used by xforum. 14 8* 2) change(87-11-11,LJAdams), approve(87-11-11,MCR7800), 14 9* audit(87-12-01,Gilcrease), install(87-12-07,MR12.2-1008): 14 10* Change version number to 2.1. 14 11* END HISTORY COMMENTS */ 14 12 14 13 dcl xforum_data_$help_dirs fixed bin ext static; 14 14 14 15 dcl 1 xforum_HELP_DIRS based (addr(xforum_data_$help_dirs)), 14 16 2 N fixed bin, 14 17 2 path (0 refer (xforum_HELP_DIRS.N)) char(168); 14 18 14 19 dcl xforum_version char(3) int static options (constant) init ("2.1"); 14 20 14 21 /* END INCLUDE FILE xforum_data.incl.pl1 */ 622 623 15 1 /* BEGIN INCLUDE FILE xforum_error_info 84-06-19 Davids */ 15 2 15 3 dcl 01 xforum_error_info based, 15 4 02 name char (32), 15 5 02 entry char (32), 15 6 02 doing char (100), 15 7 02 code fixed bin (35), 15 8 02 reason char (512); 15 9 15 10 /* END INCLUDE FILE xforum_error_info */ 624 625 16 1 /* BEGIN xforum_info.incl.pl1 NSDavids 84-08-15 */ 16 2 16 3 16 4 16 5 /****^ HISTORY COMMENTS: 16 6* 1) change(87-07-21,LJAdams), approve(87-07-21,MCR7684), 16 7* audit(87-07-24,Blair), install(87-08-06,MR12.1-1065): 16 8* Declared constants for the different menu choices. 16 9* END HISTORY COMMENTS */ 16 10 16 11 16 12 /* 16 13* This structure is used to pass information between the various 16 14* xforum routines 16 15**/ 16 16 16 17 16 18 dcl 01 xforum_info based (xforum_info_ptr), 16 19 02 main_options, 16 20 03 xforum_mtg_list_ptr ptr, 16 21 03 usage_message char (80), 16 22 03 xforum_sys_area_ptr ptr, 16 23 03 function_key_data_ptr ptr, 16 24 03 spy_ptr ptr, 16 25 03 choice fixed bin, 16 26 03 more_choice fixed bin, 16 27 03 curr_meeting_index fixed bin, 16 28 03 menu_always_flag bit (1), 16 29 03 use_alternate_fkeys bit (1), 16 30 03 more_flag bit (1) aligned, 16 31 03 multics_mode bit (1), 16 32 03 handle_interactive_messages bit (1); 16 33 16 34 dcl xforum_info_ptr ptr; 16 35 16 36 /* CONSTANTS */ 16 37 16 38 dcl ( 16 39 CHANGED_MTG fixed bin init (1), 16 40 ATTENDED_MTG fixed bin init (2), 16 41 ELIGIBLE_MTG fixed bin init (3), 16 42 NEXT_MTG fixed bin init (4), 16 43 MODIFY_MTG_LIST fixed bin init (5), 16 44 PERSONALIZE fixed bin init (6), 16 45 GET_STARTED fixed bin init (7), 16 46 MULTICS_MODE fixed bin init (8), 16 47 XFORUM_MENU fixed bin init (9) 16 48 ) internal static options (constant); 16 49 16 50 /* END xforum_info.incl.pl1 NSDavids 84-08-15 */ 626 627 17 1 /* START OF: xforum_meeting_info.incl.pl1 * * * * * */ 17 2 17 3 17 4 17 5 /****^ HISTORY COMMENTS: 17 6* 1) change(84-05-03,Davids), approve(84-05-03,MCR7350), 17 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 17 8* Changed the length of name from 20 characters to 32 characters. 17 9* Version 2 forum names can be 26 characters long (forum suffix) - 17 10* and a little extra incase version 3 uses a shorter suffix yet. 17 11* 17 12* 84-10-03 Davids: added the unread_count, next_unread, and 17 13* seen_map_ptr elements. Also the declaration for the 17 14* seen_map_string and seen_map. 17 15* 17 16* 85-01-24 Davids: added the set_array_ptr to the 17 17* xforum_meeting_info structure and the set_array structure and 17 18* SET_ARRAY_SPEC_LEN variable. 17 19* 2) change(86-02-17,LJAdams), approve(86-02-17,MCR7350), 17 20* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 17 21* Added restref flag. 17 22* END HISTORY COMMENTS */ 17 23 17 24 declare 1 xforum_meeting_info based (xforum_meeting_info_ptr), 17 25 2 name char (32), 17 26 2 lidx fixed bin, 17 27 2 idx fixed bin, 17 28 2 current fixed bin, 17 29 2 last_seen fixed bin, 17 30 2 first_trans fixed bin, 17 31 2 last_trans fixed bin, 17 32 2 new_trans fixed bin, 17 33 2 flags unal, 17 34 3 all bit (1), 17 35 3 allref bit (1), 17 36 3 restref bit (1), 17 37 3 new bit (1), 17 38 3 range bit (1), 17 39 3 set bit (1), 17 40 2 current_ref fixed bin, 17 41 2 low fixed bin, 17 42 2 high fixed bin, 17 43 2 trans_struct_ptr ptr, 17 44 2 next_unread fixed bin, 17 45 2 unread_count fixed bin, 17 46 2 seen_map_ptr ptr, 17 47 2 set_array_ptr ptr; 17 48 17 49 dcl seen_map_string bit (1000000) based; 17 50 dcl seen_map (1000000) bit (1) unaligned based; 17 51 17 52 dcl 01 set_array based (xforum_meeting_info.set_array_ptr), 17 53 02 number fixed bin, 17 54 02 spec char (80) varying, 17 55 02 index (100000); 17 56 17 57 dcl SET_ARRAY_SPEC_LEN fixed bin init (80) internal static options (constant); 17 58 17 59 /* END OF: xforum_meeting_info.incl.pl1 * * * * * */ 628 629 18 1 /* START OF: xforum_meeting_list.incl.pl1 * * * * * */ 18 2 18 3 /* 18 4* 84-03-27 Davids: added the forum_version element 18 5* 18 6* 84-05-03 Davids: Changed the length of long_name and short_name from 18 7* 24 characters to 32 characters. Version 2 forum names can be 26 characters 18 8* long (forum suffix) - and a little extra incase version 3 uses a shorter 18 9* suffix yet. 18 10* 18 11* 84-09-24 Davids: Added the date_time, npath, and path elements. 18 12**/ 18 13 18 14 declare 1 xforum_meeting_list aligned 18 15 based (xforum_meeting_list_ptr), 18 16 2 date_time fixed bin (71), 18 17 2 no_selected fixed bin, 18 18 2 no_participant fixed bin, 18 19 2 no_changed fixed bin, 18 20 2 current_selected fixed bin, 18 21 2 current_participant fixed bin, 18 22 2 current_changed fixed bin, 18 23 2 forums (0 refer 18 24 (xforum_meeting_list.no_selected)), 18 25 3 long_name char (32) unaligned, 18 26 3 short_name char (32) unaligned, 18 27 3 directory char (168) unaligned, 18 28 3 forum_version fixed bin, 18 29 3 chairman char (32) unaligned, 18 30 3 uid bit (36) aligned, 18 31 3 flags unaligned, 18 32 4 eligible bit (1), 18 33 4 removed bit (1), 18 34 4 notify bit (1), 18 35 4 participant bit (1), 18 36 4 two_names bit (1), 18 37 4 read_only bit (1), 18 38 4 attended bit (1), 18 39 4 changed bit (1), 18 40 4 been_to bit (1), 18 41 4 mbz bit (27), 18 42 2 npaths fixed bin, 18 43 2 paths (0 refer (xforum_meeting_list.npaths)) 18 44 char (168) varying; 18 45 18 46 /* END OF: xforum_meeting_list.incl.pl1 * * * * * */ 630 631 19 1 /* START OF: xforum_ptr_struct_.incl.pl1 * * * * * */ 19 2 19 3 declare 1 xforum_ptr_struct_ external static, 19 4 2 xforum_meeting_list_ptr ptr, 19 5 2 xforum_meeting_info_ptr ptr, 19 6 2 xforum_trans_array_ptr ptr, 19 7 2 xforum_system_area_ptr ptr; 19 8 19 9 /* END OF: xforum_ptr_struct_.incl.pl1 * * * * * */ 632 633 20 1 /* BEGIN INCLUDE FILE xforum_spy 84-06-19 NSDavids */ 20 2 20 3 20 4 20 5 /****^ HISTORY COMMENTS: 20 6* 1) change(85-01-01,Davids), approve(85-01-01,MCR7350), 20 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 20 8* Modified to include personalization and subject selection. 20 9* END HISTORY COMMENTS */ 20 10 20 11 20 12 dcl 01 spy based (spy_ptr), 20 13 02 version char (8), 20 14 02 user_name char (32), 20 15 02 date_time char (32), 20 16 02 args char (80), 20 17 02 eligible fixed bin, 20 18 02 attending fixed bin, 20 19 02 changed fixed bin, 20 20 02 count fixed bin, 20 21 02 choices (0 refer (count)), 20 22 03 at fixed bin, 20 23 03 choice char (10); 20 24 20 25 20 26 dcl spy_ptr ptr; 20 27 dcl SPY_VERSION_1 char (8) init ("spy_0001"); 20 28 20 29 dcl SPY_AT_1 fixed bin init (1) internal static options (constant); 20 30 /* At Executive Forum Main menu */ 20 31 dcl SPY_AT_2 fixed bin init (2) internal static options (constant); 20 32 /* Requesting Help */ 20 33 dcl SPY_AT_3 fixed bin init (3) internal static options (constant); 20 34 /* At General Help menu */ 20 35 dcl SPY_AT_4 fixed bin init (4) internal static options (constant); 20 36 /* At query for a meeting name to goto */ 20 37 dcl SPY_AT_5 fixed bin init (5) internal static options (constant); 20 38 /* At menu of meeting names */ 20 39 dcl SPY_AT_6 fixed bin init (6) internal static options (constant); 20 40 /* At query for a meeting name to resign from */ 20 41 dcl SPY_AT_7 fixed bin init (7) internal static options (constant); 20 42 /* At Attending Meeting menu */ 20 43 dcl SPY_AT_8 fixed bin init (8) internal static options (constant); 20 44 /* At replying to a transaction */ 20 45 dcl SPY_AT_9 fixed bin init (9) internal static options (constant); 20 46 /* At entering a new transaction */ 20 47 dcl SPY_AT_10 fixed bin init (10) internal static options (constant); 20 48 /* At query for a transaction specifier */ 20 49 dcl SPY_AT_11 fixed bin init (11) internal static options (constant); 20 50 /* At query to check for changed meetings */ 20 51 dcl SPY_AT_12 fixed bin init (12) internal static options (constant); 20 52 /* At Getting Started menu */ 20 53 dcl SPY_AT_13 fixed bin init (13) internal static options (constant); 20 54 /* Meeting list update query, change in number of search paths */ 20 55 dcl SPY_AT_14 fixed bin init (14) internal static options (constant); 20 56 /* Meeting list update query, change in search paths listed */ 20 57 dcl SPY_AT_15 fixed bin init (15) internal static options (constant); 20 58 /* Copy Comments file name query */ 20 59 dcl SPY_AT_16 fixed bin init (16) internal static options (constant); 20 60 /* At Personalization menu */ 20 61 dcl SPY_AT_17 fixed bin init (17) internal static options (constant); 20 62 /* Personalizing an item prompt */ 20 63 dcl SPY_AT_18 fixed bin init (18) internal static options (constant); 20 64 /* string search prompt for comment selection */ 20 65 dcl SPY_AT_19 fixed bin init (19) internal static options (constant); 20 66 /* subject selection */ 20 67 20 68 dcl SPY_LOCATION (19) char (20) varying init ( 20 69 "XForum Main menu", 20 70 "Requesting Help", 20 71 "General Help menu", 20 72 "Meeting to goto?", 20 73 "Meeting names menu", 20 74 "Meeting to resign?", 20 75 "Meeting menu", 20 76 "Repling", 20 77 "Talking", 20 78 "Trans. spec?", 20 79 "Check changed mtgs", 20 80 "Getting Started", 20 81 "List update, num", 20 82 "List update, list", 20 83 "Copy to file name", 20 84 "Personalizing menu", 20 85 "Personalizing prompt", 20 86 "String search prompt", 20 87 "Subject selection") internal static options (constant); 20 88 20 89 /* END INCLUDE FILE xforum_spy */ 634 635 21 1 /* START OF: xforum_windows.incl.pl1 * * * * * */ 21 2 21 3 /* structures for windows used by xforum - Deryk Barker January 1984 */ 21 4 21 5 dcl 1 xforum_windows aligned external static, 21 6 2 (status, menu, bottom, orig_user_io, help_line) aligned like xforum_window_info; 21 7 21 8 dcl 1 xforum_window_info, 21 9 2 iocb ptr, 21 10 2 position aligned like window_position_info; 21 11 22 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 22 2 /* format: style3 */ 22 3 22 4 /* Modified 26 January 1982 by William York to add the set_more_handler 22 5* and reset_more_handler control orders. */ 22 6 /* Modified October 1982 by WMY to add set and get_token_characters, 22 7* set and get_more_prompt. */ 22 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 22 9* structure. */ 22 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 22 11* partial screen width windows. */ 22 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 22 13* This should be removed when window_info.incl.pl1 is created. */ 22 14 /* Modified 29 February 1984 by Barmar to add version 1 22 15* get_editor_key_bindings_info. */ 22 16 /* Modified 1 March 1984 by Barmar to add version 1 22 17* set_editor_key_bindings_info. */ 22 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 22 19* line_editor_key_bindings_info, which includes the name, description, and 22 20* info path */ 22 21 22 22 /* structure for the set_window_info and get_window_info 22 23* control orders. */ 22 24 22 25 dcl 1 window_position_info 22 26 based (window_position_info_ptr), 22 27 2 version fixed bin, 22 28 2 origin, 22 29 3 column fixed bin, 22 30 3 line fixed bin, 22 31 2 extent, 22 32 3 width fixed bin, 22 33 3 height fixed bin; 22 34 22 35 dcl (window_position_info_version, window_position_info_version_1) 22 36 fixed bin internal static init (1) options (constant); 22 37 dcl window_position_info_ptr 22 38 pointer; 22 39 22 40 /* structure for the set_window_status and get_window_status 22 41* control orders */ 22 42 22 43 declare window_status_info_ptr 22 44 pointer; 22 45 declare 1 window_status_info 22 46 aligned based (window_status_info_ptr), 22 47 2 version fixed bin, 22 48 2 status_string bit (36) aligned; /* string (window_status) */ 22 49 /* see window_status.incl.pl1 for the contents of this string */ 22 50 22 51 22 52 declare (window_status_version, window_status_version_1) 22 53 fixed bin internal static init (1) options (constant); 22 54 22 55 /* info structure for the set_more_responses and get_more_responses control 22 56* orders */ 22 57 22 58 22 59 dcl 1 more_responses_info 22 60 aligned based (more_responses_info_ptr), 22 61 2 version fixed bin, 22 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 22 63 2 n_noes fixed bin, 22 64 2 yeses char (32) unaligned, 22 65 2 noes char (32) unaligned; 22 66 22 67 dcl (more_responses_info_version_1, more_responses_version) 22 68 fixed bin internal static init (1) options (constant); 22 69 dcl more_responses_info_ptr 22 70 pointer; 22 71 22 72 /* structure for the set_break_table and get_break_table 22 73* control orders */ 22 74 22 75 declare break_table_ptr pointer; 22 76 declare 1 break_table_info aligned based (break_table_ptr), 22 77 2 version fixed bin, 22 78 2 breaks (0:127) bit (1) unaligned; 22 79 22 80 declare (break_table_info_version, break_table_info_version_1) 22 81 fixed bin init (1) internal static options (constant); 22 82 22 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 22 84 2 version fixed bin, 22 85 2 flags unaligned, 22 86 3 old_handler_valid 22 87 bit(1), 22 88 3 pad bit(35), 22 89 2 more_handler entry (pointer, bit(1) aligned), 22 90 2 old_more_handler entry (pointer, bit(1) aligned); 22 91 22 92 declare more_handler_info_ptr pointer; 22 93 22 94 declare (more_handler_info_version, more_handler_info_version_3) 22 95 fixed bin internal static options (constant) init (3); 22 96 22 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 22 98 2 version char(8), 22 99 2 token_character_count 22 100 fixed bin, 22 101 2 token_characters 22 102 char (128) unaligned; 22 103 22 104 declare token_characters_info_ptr pointer; 22 105 22 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 22 107 22 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 22 109 2 version char(8), 22 110 2 more_prompt char(80); 22 111 22 112 declare more_prompt_info_ptr pointer; 22 113 22 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 22 115 22 116 /* Line editor stuff ... */ 22 117 22 118 dcl line_editor_key_binding_info_ptr 22 119 pointer; 22 120 22 121 dcl line_editor_binding_count 22 122 fixed bin; 22 123 dcl line_editor_longest_sequence 22 124 fixed bin; 22 125 /* For each binding, action defines what to do for that sequence. Constants 22 126* are defined in window_editor_values.incl.pl1. Only if action is set to 22 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 22 128 22 129 dcl 1 line_editor_key_binding_info 22 130 aligned based (line_editor_key_binding_info_ptr), 22 131 2 version char(8), 22 132 2 binding_count fixed bin, 22 133 2 longest_sequence fixed bin, 22 134 2 bindings (line_editor_binding_count refer 22 135 (line_editor_key_binding_info.binding_count)), 22 136 3 sequence char(line_editor_longest_sequence refer 22 137 (line_editor_key_binding_info.longest_sequence)) varying, 22 138 3 action fixed bin, 22 139 3 numarg_action fixed binary, 22 140 3 editor_routine entry (pointer, fixed bin(35)), 22 141 3 name char (64) varying unaligned, 22 142 3 description char (256) varying unaligned, 22 143 3 info_path unaligned, 22 144 4 info_dir char (168), 22 145 4 info_entry char (32); 22 146 22 147 22 148 dcl line_editor_key_binding_info_version_3 22 149 char(8) static options (constant) init ("lekbi003"); 22 150 22 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 22 152 2 version char (8), 22 153 2 flags, 22 154 3 entire_state bit (1) unaligned, 22 155 3 mbz bit (35) unaligned, 22 156 2 key_binding_info_ptr ptr, 22 157 2 entire_state_ptr ptr; 22 158 22 159 dcl get_editor_key_bindings_info_ptr ptr; 22 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 22 161 22 162 dcl 1 set_editor_key_bindings_info aligned 22 163 based (set_editor_key_bindings_info_ptr), 22 164 2 version char (8), 22 165 2 flags, 22 166 3 replace bit (1) unaligned, 22 167 3 update bit (1) unaligned, 22 168 3 mbz bit (34) unaligned, 22 169 2 key_binding_info_ptr ptr; 22 170 22 171 dcl set_editor_key_bindings_info_ptr ptr; 22 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 22 173 22 174 /* This should be moved to window_info.incl.pl1 when that include file is 22 175* created. JR 2/1/84 */ 22 176 22 177 dcl 1 window_edit_line_info 22 178 based (window_edit_line_info_ptr), 22 179 2 version char (8), 22 180 2 line_ptr ptr, 22 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 22 182 22 183 dcl window_edit_line_info_version_1 22 184 char (8) static options (constant) init ("wedl0001"); 22 185 22 186 dcl window_edit_line_info_ptr 22 187 ptr; 22 188 22 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 21 12 21 13 21 14 /* END OF: xforum_windows.incl.pl1 * * * * * */ 636 637 23 1 /* BEGIN INCLUDE FILE xforum_prompts.incl.pl1 */ 23 2 23 3 23 4 /****^ HISTORY COMMENTS: 23 5* 1) change(87-04-13,LJAdams), approve(87-07-24,MCR7684), 23 6* audit(87-07-24,Blair), install(87-08-06,MR12.1-1065): 23 7* Created. 23 8* END HISTORY COMMENTS */ 23 9 23 10 dcl (BREAK_PROMPT char (34) init ("Press BREAK to return to the menu."), 23 11 COMMENTS_PROMPT char (40) init ("Which comment(s) do you wish to select? "), 23 12 COMMENT_PROMPT char (37) init ("Which comment do you wish to select? "), 23 13 FILE_PROMPT char (28) init ("Enter the name of the file: "), 23 14 FIRST_PROMPT char (80) init ("Enter the command and press RETURN (to return to Xforum just press RETURN):"), 23 15 RETURN_PROMPT char (46) init (" Press to continue"), 23 16 TEXT_PROMPT char (31) init ("Enter text to be searched for: ")) 23 17 internal static options (constant); 23 18 23 19 23 20 /* END INCLUDE FILE xforum_prompts.incl.pl1 */ 639 640 24 1 /* BEGIN INCLUDE FILE xforum_answers.incl.pl1 */ 24 2 24 3 24 4 /****^ HISTORY COMMENTS: 24 5* 1) change(87-04-13,LJAdams), approve(87-04-30,MCR7684), 24 6* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 24 7* Created. 24 8* END HISTORY COMMENTS */ 24 9 24 10 dcl 1 answer_array, 24 11 2 N fixed bin, /* Number of acceptable answers; 0 = all */ 24 12 2 max_length fixed bin, /* max length user reply can be */ 24 13 2 answer (10) char (80) varying; 24 14 24 15 24 16 dcl ZERO fixed bin internal static options (constant) init (0), 24 17 ONE fixed bin internal static options (constant) init (1), 24 18 FOUR fixed bin internal static options (constant) init (4); 24 19 24 20 24 21 /* END INCLUDE FILE xforum_answers .incl.pl1 */ 641 642 643 644 645 646 answer_array.N = 0; 647 answer_array.max_length = ANSWER_LENGTH; 648 649 if x_xforum_already_active 650 then do; 651 call ioa_ ("Executive Forum may not be called recursively.^/To re-enter Executive Forum logout and log back in."); 652 goto error_exit_xforum; 653 end; 654 else do; 655 Shelp = "0"b; /* help has not yet been initialized */ 656 Serror = "0"b; 657 end; 658 659 on xforum_fatal_error 660 begin; 661 if Serror then do; /* because of new block activation revert */ 662 /* will not work */ 663 call ioa_ ("^/^10x A fatal error has occured. Please restart xforum^/"); 664 call xforum_get_str_ ((RETURN_PROMPT), addr(answer_array), "", "", "", x_code); 665 goto error_exit_xforum; 666 end; 667 Serror = "1"b; 668 call fatal_error; 669 end; 670 671 xforum_meeting_list_ptr = null (); 672 x_xforum_menu_ptr = null (); 673 spy_ptr = null (); 674 675 call cu_$arg_list_ptr (x_arg_list_ptr); 676 677 on cleanup 678 begin; 679 call xforum_terminate ("1"b); 680 call ioa_ ("^/^10x A fatal error has occured. Please restart xforum^/"); 681 call xforum_get_str_ ((RETURN_PROMPT), addr(answer_array), "", "", "", x_code); 682 end; 683 684 x_xforum_already_active = "1"b; 685 686 call xforum_window_mgr$set_up_xforum_windows; 687 /* set up xforum windows (and video if necessary) */ 688 689 Shelp = "1"b; 690 call xforum_help_$init; /* initialize help_ system */ 691 692 call xforum_user_profile$get (x_first_time_user); 693 694 call xforum_list_meetings_$xforum_process_args_ (x_arg_list_ptr, x_ME, spy_ptr, x_code); 695 if x_code ^= 0 then do; 696 call xforum_terminate ("0"b); 697 return; 698 end; 699 700 call xforum_help_line_$init; 701 702 call xforum_im_mgr$init; 703 704 call xforum_get_str_$init; 705 706 if xforum_user_profile$get_handle_interactive_messages () 707 then call xforum_im_mgr$defer_messages; 708 709 if xforum_meeting_list.no_selected = 0 then 710 call xforum_error (0, "No meetings were selected."); 711 712 call get_temp_segments_ (x_ME, x_ptrs, x_code); 713 if x_code ^= 0 then do; 714 call com_err_ (x_code, x_ME, "Trying to get temp segments for forum list."); 715 return; 716 end; 717 718 xforum_meeting_info_ptr = x_ptrs (1); 719 xforum_meeting_info.seen_map_ptr = x_ptrs (2); 720 xforum_meeting_info.set_array_ptr = x_ptrs (3); 721 722 xforum_system_area_ptr = get_system_free_area_ (); 723 724 call xforum_status_$initialize; 725 726 function_key_data_ptr = xforum_user_profile$get_function_key_data_ptr (); 727 728 on exit_executive_forum goto exit_xforum; 729 730 x_xforum_info.main_options.xforum_mtg_list_ptr = xforum_meeting_list_ptr; 731 x_xforum_info.main_options.xforum_sys_area_ptr = xforum_system_area_ptr; 732 x_xforum_info.main_options.function_key_data_ptr = function_key_data_ptr; 733 x_xforum_info.main_options.spy_ptr = spy_ptr; 734 x_xforum_info.main_options.menu_always_flag = xforum_user_profile$get_menu_always (); 735 x_xforum_info.main_options.use_alternate_fkeys = "1"b; 736 x_xforum_info.main_options.multics_mode = xforum_user_profile$get_multics_mode (); 737 x_xforum_info.main_options.handle_interactive_messages = xforum_user_profile$get_handle_interactive_messages (); 738 739 if x_first_time_user 740 then call xforum_help_menus$getting_started (spy_ptr, xforum_system_area_ptr); 741 742 call ioa_$rsnnl ("Eligible ^d, Attended ^d, Changed ^d", 743 x_xforum_banner, (0), no_selected, no_participant, no_changed); 744 745 call xforum_status_$update_banner (x_xforum_banner); 746 747 call xforum_status_$update_title ((x_HEADERS (1))); 748 749 call xforum_help_line_$change ("10010000"b, "", "", ""); 750 751 call xforum_status_$redisplay (x_code); 752 if x_code ^= 0 then 753 call xforum_error (x_code, "Unable to display in status window."); 754 755 /* create the xforum menu */ 756 757 x_xforum_menu_requirements.version = menu_requirements_version_1; 758 759 call xforum_create_menu_ (x_CHOICES, addr (x_xforum_menu_requirements), x_xforum_menu_ptr, x_code); 760 761 if x_code ^= 0 then 762 call xforum_error (x_code, "Unable to create menu."); 763 764 call xforum_window_mgr$resynch_windows (x_xforum_menu_requirements.lines_needed, "1"b); 765 766 767 /* display xforum menu */ 768 769 call xforum_window_mgr$menu_display (x_xforum_menu_ptr); 770 771 on xforum_redisplay_menu 772 call xforum_window_mgr$menu_display (x_xforum_menu_ptr);/* for redisplay function */ 773 774 on quit 775 begin; 776 call xforum_window_mgr$check_window_status; 777 call window_$bell (xforum_windows.menu.iocb, (0)); 778 call xforum_help_line_$change ("10010000"b, "", "", ""); 779 call xforum_status_$redisplay ((0)); 780 call collect_spy_data (SPY_AT_1, "QUIT"); 781 goto xforum_get_choice; 782 end; 783 784 on program_interrupt 785 begin; 786 call xforum_help_line_$change ("10010000"b, "", "", ""); 787 call xforum_status_$redisplay ((0)); 788 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 789 goto xforum_get_choice; 790 end; 791 792 793 /* get choice from xforum menu */ 794 795 xforum_get_choice: 796 do while ("1"b); 797 call xforum_window_mgr$menu_get_choice (x_xforum_menu_ptr, x_fkey, x_choice); 798 799 x_xforum_info.main_options.choice = x_choice; 800 801 if x_fkey 802 then call collect_spy_data (SPY_AT_1, "F" || rtrim (ltrim (char (x_choice)))); 803 else call collect_spy_data (SPY_AT_1, rtrim (ltrim (char (x_choice)))); 804 805 if x_fkey then do; 806 if x_choice = x_HELP 807 then do; 808 call xforum_help_$get_help (x_xforum_menu_ptr, "Executive Forum", x_CHOICES, 809 spy_ptr, xforum_system_area_ptr); 810 call xforum_help_line_$change ("10010000"b, "", "", ""); 811 end; 812 else if x_choice = x_FIRST_MENU | x_choice = x_FIRST_MENU2 813 then goto xforum_get_next_choice; 814 else if x_choice = x_PREV_MENU | x_choice = x_PREV_MENU2 815 then goto xforum_get_next_choice; 816 else if x_choice = x_QUIT | x_choice = x_QUIT2 817 then goto exit_xforum; 818 else if x_choice = x_REDISPLAY | x_choice = x_REDISPLAY2 819 then call xforum_redisplay_; 820 else if (x_choice = x_MULTICS | x_choice = x_MULTICS2) & xforum_user_profile$get_multics_mode () 821 then do; 822 call xforum_multics_mode (x_menu_window_height); 823 call xforum_window_mgr$resynch_windows (x_menu_window_height, "0"b); 824 call xforum_help_line_$change ("10010000"b, "", "", ""); 825 call xforum_status_$redisplay ((0)); 826 call xforum_window_mgr$menu_display (x_xforum_menu_ptr); 827 end; 828 else call window_$bell (xforum_windows.menu.iocb, (0)); 829 end; 830 else do; 831 if x_choice = CHANGED_MTG 832 then do; 833 call xforum_main_options$goto_meeting (addr (x_xforum_info)); 834 end; 835 else 836 if x_choice = ATTENDED_MTG 837 then do; 838 call xforum_main_options$goto_meeting (addr (x_xforum_info)); 839 end; 840 else 841 if x_choice = ELIGIBLE_MTG 842 then do; 843 call xforum_main_options$goto_meeting (addr (x_xforum_info)); 844 end; 845 else 846 if x_choice = NEXT_MTG 847 then do; 848 call xforum_main_options$next_meeting (addr (x_xforum_info)); 849 end; 850 else 851 if x_choice = MODIFY_MTG_LIST 852 then call xforum_main_options$modify_meeting_list (addr (x_xforum_info)); 853 else 854 if x_choice = PERSONALIZE 855 then call xforum_personalize_menu (spy_ptr, xforum_system_area_ptr); 856 else 857 if x_choice = GET_STARTED 858 then call xforum_help_menus$getting_started (spy_ptr, xforum_system_area_ptr); 859 end; 860 861 call iox_$control (xforum_windows.bottom.iocb, "reset_more", 862 null, (0)); /* get back in step */ 863 864 xforum_get_next_choice: 865 call xforum_status_$update_total (""); 866 call xforum_status_$update_new (""); 867 call xforum_help_line_$change ("10010000"b, "", "", ""); 868 call ioa_$rsnnl ("Eligible ^d, Attended ^d, Changed ^d", 869 x_xforum_banner, (0), no_selected, no_participant, 870 no_changed); 871 call xforum_status_$update_banner (x_xforum_banner); 872 call xforum_status_$update_title ((x_HEADERS (1))); 873 call xforum_status_$redisplay ((0)); 874 call xforum_window_mgr$resynch_windows (x_xforum_menu_requirements.lines_needed, "0"b); 875 876 call xforum_window_mgr$menu_display (x_xforum_menu_ptr); 877 end; 878 879 exit_xforum: 880 call xforum_terminate ("0"b); 881 882 error_exit_xforum: 883 return; 884 885 886 xforum_terminate: proc (xt_cleanup_flag); 887 888 /* PARAMETERS */ 889 890 dcl xt_cleanup_flag bit (1); /* (input) "1"b implies called because of a cleanup condition */ 891 892 /* INTERNAL AUTOMATIC */ 893 894 dcl xt_code fixed bin (35); /* standard error code */ 895 896 897 call xforum_window_mgr$prepare_to_shut_down (xt_cleanup_flag); 898 899 call record_spy_data; 900 901 call release_temp_segments_ (x_ME, x_ptrs, xt_code); 902 903 if x_xforum_menu_ptr ^= null 904 then call menu_$destroy (x_xforum_menu_ptr, xt_code); 905 906 if Shelp then do; 907 call xforum_help_$term; 908 Shelp = "0"b; /* help has been terminated */ 909 end; 910 911 call xforum_window_mgr$shut_down_xforum_windows (xt_cleanup_flag); 912 913 x_xforum_already_active = "0"b; 914 915 if xforum_user_profile$get_handle_interactive_messages () 916 then call xforum_im_mgr$restore_original ((xt_cleanup_flag)); 917 918 end xforum_terminate; 919 920 collect_spy_data: proc (csd_where, csd_response); 921 922 /* PARAMETERS */ 923 924 dcl csd_where fixed bin; /* (input) location response was collected */ 925 dcl csd_response char (*); /* (input) user's response */ 926 927 928 929 930 931 spy.count = spy.count + 1; 932 spy.choices (count).at = csd_where; 933 spy.choices (count).choice = csd_response; 934 935 return; 936 937 end collect_spy_data; 938 939 940 941 942 943 944 record_spy_data: proc; 945 946 /* INTERNAL AUTOMATIC */ 947 948 dcl rsd_code fixed bin (35); /* standard error code */ 949 dcl rsd_spy_ptr ptr; /* pointer to segment spy data will be recorded in */ 950 dcl rsd_unusedb1 bit (1) aligned; /* unused output from initiate_file_$create */ 951 dcl rsd_unusedfb24 fixed bin (24); /* unused output from system routines */ 952 953 if spy_ptr = null () then goto exit_record_spy_data; 954 955 call hcs_$status_minf (">udd>m>cp>Davids>xforum", "spy", 0, 2, rsd_unusedfb24, rsd_code); 956 if rsd_code ^= 0 then goto exit_record_spy_data; 957 958 rsd_spy_ptr = null (); 959 call initiate_file_$create (">udd>m>cp>Davids>xforum>spy", unique_chars_ ("0"b), 960 RW_ACCESS, rsd_spy_ptr, rsd_unusedb1, rsd_unusedfb24, rsd_code); 961 if rsd_spy_ptr = null () 962 then goto exit_record_spy_data; 963 964 rsd_spy_ptr -> spy = spy_ptr -> spy; 965 966 exit_record_spy_data: 967 return; 968 969 end record_spy_data; 970 971 fatal_error: proc; 972 973 /* INTERNAL AUTOMATIC */ 974 975 dcl fe_code fixed bin (35); /* standard system error code */ 976 dcl fe_xforum_error_info_ptr ptr; /* ptr to structure containing info about the error */ 977 dcl 1 fe_condition_info like condition_info; /* structure containing info about condition being signaled */ 978 979 980 981 982 983 call find_condition_info_ (null (), addr (fe_condition_info), fe_code); 984 if fe_code ^= 0 985 then call xforum_error (fe_code, "A fatal error has occured - no information is available."); 986 987 if fe_condition_info.condition_name ^= "xforum_fatal_error" 988 then call xforum_error (0, "A fatal error has occured - no information is available."); 989 990 fe_xforum_error_info_ptr = fe_condition_info.info_ptr; 991 992 call xforum_error (fe_xforum_error_info_ptr -> xforum_error_info.code, 993 "^/A fatal error has occured while in the " || 994 rtrim (fe_xforum_error_info_ptr -> xforum_error_info.name) || 995 " module.^/" || 996 fe_xforum_error_info_ptr -> xforum_error_info.reason); 997 998 end fatal_error; 999 1000 1001 1002 1003 xforum_error: proc (xe_code, xe_explanation); 1004 1005 /* PARTAMETERS */ 1006 1007 dcl xe_code fixed bin (35); /* (input) standard error code */ 1008 dcl xe_explanation char (*); /* (input) message to send to the user */ 1009 1010 1011 1012 1013 1014 call xforum_terminate ("0"b); 1015 call com_err_ (xe_code, "xforum", xe_explanation); 1016 goto error_exit_xforum; 1017 end xforum_error; 1018 1019 reconnect_test: entry returns (bit (1) aligned); 1020 1021 1022 /* PARAMETERS */ 1023 1024 dcl rt_reconnect_sw bit (1) aligned; /* (output) "1"b if quit signaled because of reconnection */ 1025 1026 1027 1028 1029 call xforum_window_mgr$check_window_status; 1030 1031 call check_for_reconnect (rt_reconnect_sw); 1032 return (rt_reconnect_sw); /* reconnect_test entry */ 1033 1034 check_for_reconnect: proc (cfr_reconnect_quit); 1035 1036 /* PARAMETERS */ 1037 1038 dcl cfr_reconnect_quit bit (1) aligned parameter; /* (output) "1"b if quit signaled because of reconnection */ 1039 1040 /* AUTOMATIC */ 1041 1042 dcl cfr_stack_ptr ptr; /* pointer to the stack frame */ 1043 dcl 01 cfr_cond_info like condition_info; /* info about the condition */ 1044 1045 1046 cfr_reconnect_quit = "0"b; 1047 cfr_cond_info.version = condition_info_version_1; 1048 cfr_cond_info.info_ptr = null (); 1049 cfr_cond_info.flags.pad1 = "0"b; 1050 cfr_cond_info.pad2 = "0"b; 1051 cfr_cond_info.pad3 = "0"b; 1052 cfr_stack_ptr = find_condition_frame_ (null ()); 1053 if cfr_stack_ptr ^= null () 1054 then do; 1055 call find_condition_info_ (cfr_stack_ptr, addr (cfr_cond_info), (0)); 1056 if cfr_cond_info.info_ptr ^= null () 1057 then do; 1058 quit_info_ptr = cfr_cond_info.info_ptr; 1059 cfr_reconnect_quit = quit_info.switches.reconnection_quit; 1060 end; 1061 end; 1062 end check_for_reconnect; 1063 1064 end executive_forum; 1065 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/13/88 1257.6 xforum.pl1 >spec>install>MR12.2-1109>xforum.pl1 596 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 598 2 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 600 3 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 602 4 12/03/84 1241.4 forum_dcls.incl.pl1 >ldd>include>forum_dcls.incl.pl1 604 5 10/31/84 1115.3 forum_flags.incl.pl1 >ldd>include>forum_flags.incl.pl1 606 6 08/16/86 1538.0 forum_info.incl.pl1 >ldd>include>forum_info.incl.pl1 608 7 10/31/84 1115.4 forum_user_trans.incl.pl1 >ldd>include>forum_user_trans.incl.pl1 610 8 02/23/81 2146.3 function_key_data.incl.pl1 >ldd>include>function_key_data.incl.pl1 612 9 05/23/83 0916.6 iox_dcls.incl.pl1 >ldd>include>iox_dcls.incl.pl1 614 10 03/27/82 0429.3 menu_dcls.incl.pl1 >ldd>include>menu_dcls.incl.pl1 616 11 02/09/82 1152.4 quit_info.incl.pl1 >ldd>include>quit_info.incl.pl1 618 12 06/29/77 1624.0 terminal_info.incl.pl1 >ldd>include>terminal_info.incl.pl1 620 13 09/12/84 0916.7 window_dcls.incl.pl1 >ldd>include>window_dcls.incl.pl1 622 14 12/10/87 1457.0 xforum_data_.incl.pl1 >ldd>include>xforum_data_.incl.pl1 624 15 12/03/84 1241.6 xforum_error_info.incl.pl1 >ldd>include>xforum_error_info.incl.pl1 626 16 08/06/87 1034.7 xforum_info.incl.pl1 >ldd>include>xforum_info.incl.pl1 628 17 04/25/86 0859.6 xforum_meeting_info.incl.pl1 >ldd>include>xforum_meeting_info.incl.pl1 630 18 12/03/84 1241.5 xforum_meeting_list.incl.pl1 >ldd>include>xforum_meeting_list.incl.pl1 632 19 12/03/84 1241.6 xforum_ptr_struct_.incl.pl1 >ldd>include>xforum_ptr_struct_.incl.pl1 634 20 04/25/86 0859.6 xforum_spy.incl.pl1 >ldd>include>xforum_spy.incl.pl1 636 21 12/03/84 1241.6 xforum_windows.incl.pl1 >ldd>include>xforum_windows.incl.pl1 21-12 22 09/12/84 0916.7 window_control_info.incl.pl1 >ldd>include>window_control_info.incl.pl1 638 23 08/06/87 1034.7 xforum_prompts.incl.pl1 >ldd>include>xforum_prompts.incl.pl1 641 24 08/06/87 1034.7 xforum_answers.incl.pl1 >ldd>include>xforum_answers.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. ANSWER_LENGTH constant fixed bin(17,0) initial dcl 554 ref 647 ATTENDED_MTG constant fixed bin(17,0) initial dcl 16-38 ref 835 CHANGED_MTG constant fixed bin(17,0) initial dcl 16-38 ref 831 ELIGIBLE_MTG constant fixed bin(17,0) initial dcl 16-38 ref 840 GET_STARTED constant fixed bin(17,0) initial dcl 16-38 ref 856 MODIFY_MTG_LIST constant fixed bin(17,0) initial dcl 16-38 ref 850 N 000265 automatic fixed bin(17,0) level 2 dcl 24-10 set ref 646* NEXT_MTG constant fixed bin(17,0) initial dcl 16-38 ref 845 PERSONALIZE constant fixed bin(17,0) initial dcl 16-38 ref 853 RETURN_PROMPT 000000 constant char(46) initial packed unaligned dcl 23-10 ref 664 681 RW_ACCESS 000014 constant bit(3) initial packed unaligned dcl 1-11 set ref 959* SPY_AT_1 000210 constant fixed bin(17,0) initial dcl 20-29 set ref 780* 801* 803* SPY_VERSION_1 000254 automatic char(8) initial packed unaligned dcl 20-27 set ref 20-27* Serror 000245 automatic bit(1) packed unaligned dcl 544 set ref 656* 661 667* Shelp 000244 automatic bit(1) packed unaligned dcl 543 set ref 655* 689* 906 908* addr builtin function dcl 583 ref 664 664 681 681 759 759 833 833 838 838 843 843 848 848 850 850 983 983 1055 1055 answer_array 000265 automatic structure level 1 unaligned dcl 24-10 set ref 664 664 681 681 at 52 based fixed bin(17,0) array level 3 dcl 20-12 set ref 932* bottom 20 000166 external static structure level 2 dcl 21-5 cfr_cond_info 000624 automatic structure level 1 unaligned dcl 1043 set ref 1055 1055 cfr_reconnect_quit parameter bit(1) dcl 1038 set ref 1034 1046* 1059* cfr_stack_ptr 000622 automatic pointer dcl 1042 set ref 1052* 1053 1055* char builtin function dcl 583 ref 801 803 803 choice 53 based char(10) array level 3 in structure "spy" packed packed unaligned dcl 20-12 in procedure "xforum" set ref 933* choice 34 000176 automatic fixed bin(17,0) level 3 in structure "x_xforum_info" dcl 541 in procedure "xforum" set ref 799* choices 52 based structure array level 2 unaligned dcl 20-12 cleanup 000100 stack reference condition dcl 521 ref 677 code 51 based fixed bin(35,0) level 2 dcl 15-3 set ref 992* com_err_ 000012 constant entry external dcl 468 ref 714 1015 condition_info based structure level 1 dcl 2-14 condition_info_header based structure level 1 dcl 3-6 condition_info_version_1 constant fixed bin(17,0) initial dcl 2-30 ref 1047 condition_name 3 000112 automatic varying char(32) level 2 dcl 977 set ref 987 count 51 based fixed bin(17,0) level 2 dcl 20-12 set ref 931* 931 932 933 964 csd_response parameter char packed unaligned dcl 925 ref 920 933 csd_where parameter fixed bin(17,0) dcl 924 ref 920 932 cu_$arg_list_ptr 000014 constant entry external dcl 469 ref 675 exit_executive_forum 000106 stack reference condition dcl 521 ref 728 fe_code 000106 automatic fixed bin(35,0) dcl 975 set ref 983* 984 984* fe_condition_info 000112 automatic structure level 1 unaligned dcl 977 set ref 983 983 fe_xforum_error_info_ptr 000110 automatic pointer dcl 976 set ref 990* 992 992 992 find_condition_frame_ 000016 constant entry external dcl 470 ref 1052 find_condition_info_ 000020 constant entry external dcl 471 ref 983 1055 flags 22 000624 automatic structure level 2 packed packed unaligned dcl 1043 function_key_data_ptr 30 000176 automatic pointer level 3 in structure "x_xforum_info" dcl 541 in procedure "xforum" set ref 732* function_key_data_ptr 000246 automatic pointer dcl 8-34 in procedure "xforum" set ref 726* 732 get_system_free_area_ 000022 constant entry external dcl 472 ref 722 get_temp_segments_ 000024 constant entry external dcl 473 ref 712 handle_interactive_messages 41(01) 000176 automatic bit(1) level 3 packed packed unaligned dcl 541 set ref 737* hcs_$status_minf 000026 constant entry external dcl 474 ref 955 info_ptr 14 000624 automatic pointer level 2 in structure "cfr_cond_info" dcl 1043 in procedure "check_for_reconnect" set ref 1048* 1056 1058 info_ptr 14 000112 automatic pointer level 2 in structure "fe_condition_info" dcl 977 in procedure "fatal_error" set ref 990 initiate_file_$create 000030 constant entry external dcl 475 ref 959 ioa_ 000032 constant entry external dcl 476 ref 651 663 680 ioa_$rsnnl 000034 constant entry external dcl 477 ref 742 868 iocb 20 000166 external static pointer level 3 in structure "xforum_windows" dcl 21-5 in procedure "xforum" set ref 788* 861* iocb 10 000166 external static pointer level 3 in structure "xforum_windows" dcl 21-5 in procedure "xforum" set ref 777* 828* iox_$control 000154 constant entry external dcl 9-8 ref 861 key_info based structure level 1 packed packed unaligned dcl 8-28 lines_needed 1 000240 automatic fixed bin(17,0) level 2 dcl 542 set ref 764* 874* ltrim builtin function dcl 583 ref 801 803 803 main_options 000176 automatic structure level 2 unaligned dcl 541 max_length 1 000265 automatic fixed bin(17,0) level 2 dcl 24-10 set ref 647* menu 10 000166 external static structure level 2 dcl 21-5 menu_$destroy 000156 constant entry external dcl 10-41 ref 903 menu_always_flag 37 000176 automatic bit(1) level 3 packed packed unaligned dcl 541 set ref 734* menu_requirements based structure level 1 dcl 10-88 menu_requirements_version_1 constant fixed bin(17,0) initial dcl 10-97 ref 757 multics_mode 41 000176 automatic bit(1) level 3 packed packed unaligned dcl 541 set ref 736* name based char(32) level 2 packed packed unaligned dcl 15-3 ref 992 no_changed 4 based fixed bin(17,0) level 2 dcl 18-14 set ref 742* 868* no_participant 3 based fixed bin(17,0) level 2 dcl 18-14 set ref 742* 868* no_selected 2 based fixed bin(17,0) level 2 dcl 18-14 set ref 709 742* 868* null builtin function dcl 583 ref 671 672 673 861 861 903 953 958 961 983 983 1048 1052 1052 1053 1056 pad1 22(01) 000624 automatic bit(35) level 3 packed packed unaligned dcl 1043 set ref 1049* pad2 23 000624 automatic bit(36) level 2 packed packed unaligned dcl 1043 set ref 1050* pad3 26 000624 automatic bit(36) array level 2 packed packed unaligned dcl 1043 set ref 1051* program_interrupt 000114 stack reference condition dcl 521 ref 784 quit 000122 stack reference condition dcl 521 ref 774 quit_info based structure level 1 dcl 11-6 quit_info_ptr 000250 automatic pointer dcl 11-5 set ref 1058* 1059 reason 52 based char(512) level 2 packed packed unaligned dcl 15-3 ref 992 reconnection_quit 105(02) based bit(1) level 3 packed packed unaligned dcl 11-6 ref 1059 release_temp_segments_ 000036 constant entry external dcl 478 ref 901 rsd_code 000110 automatic fixed bin(35,0) dcl 948 set ref 955* 956 959* rsd_spy_ptr 000112 automatic pointer dcl 949 set ref 958* 959* 961 964 rsd_unusedb1 000114 automatic bit(1) dcl 950 set ref 959* rsd_unusedfb24 000115 automatic fixed bin(24,0) dcl 951 set ref 955* 959* rt_reconnect_sw 000611 automatic bit(1) dcl 1024 set ref 1031* 1032 rtrim builtin function dcl 583 ref 801 803 803 992 seen_map_ptr 30 based pointer level 2 dcl 17-24 set ref 719* set_array_ptr 32 based pointer level 2 dcl 17-24 set ref 720* spy based structure level 1 unaligned dcl 20-12 set ref 964* 964 spy_ptr 32 000176 automatic pointer level 3 in structure "x_xforum_info" dcl 541 in procedure "xforum" set ref 733* spy_ptr 000252 automatic pointer dcl 20-26 in procedure "xforum" set ref 673* 694* 733 739* 808* 853* 856* 931 931 932 932 933 933 953 964 switches 105 based structure level 2 dcl 11-6 unique_chars_ 000040 constant entry external dcl 479 ref 959 959 use_alternate_fkeys 37(01) 000176 automatic bit(1) level 3 packed packed unaligned dcl 541 set ref 735* version 2 000624 automatic fixed bin(17,0) level 2 in structure "cfr_cond_info" dcl 1043 in procedure "check_for_reconnect" set ref 1047* version 000240 automatic fixed bin(17,0) level 2 in structure "x_xforum_menu_requirements" dcl 542 in procedure "xforum" set ref 757* window_$bell 000160 constant entry external dcl 13-6 ref 777 828 window_$clear_window 000162 constant entry external dcl 13-13 ref 788 window_position_info based structure level 1 unaligned dcl 22-25 x_CHOICES 000027 constant varying char(38) initial array dcl 554 set ref 759* 808* x_FIRST_MENU constant fixed bin(17,0) initial dcl 554 ref 812 x_FIRST_MENU2 constant fixed bin(17,0) initial dcl 554 ref 812 x_HEADERS 000015 constant varying char(33) initial array dcl 554 ref 747 872 x_HELP constant fixed bin(17,0) initial dcl 554 ref 806 x_ME 000144 constant char(6) initial packed unaligned dcl 554 set ref 694* 712* 714* 901* x_MULTICS constant fixed bin(17,0) initial dcl 554 ref 820 x_MULTICS2 constant fixed bin(17,0) initial dcl 554 ref 820 x_PREV_MENU constant fixed bin(17,0) initial dcl 554 ref 814 x_PREV_MENU2 constant fixed bin(17,0) initial dcl 554 ref 814 x_QUIT constant fixed bin(17,0) initial dcl 554 ref 816 x_QUIT2 constant fixed bin(17,0) initial dcl 554 ref 816 x_REDISPLAY constant fixed bin(17,0) initial dcl 554 ref 818 x_REDISPLAY2 constant fixed bin(17,0) initial dcl 554 ref 818 x_arg_list_ptr 000144 automatic pointer dcl 532 set ref 675* 694* x_choice 000146 automatic fixed bin(17,0) dcl 533 set ref 797* 799 801 803 803 806 812 812 814 814 816 816 818 818 820 820 831 835 840 845 850 853 856 x_code 000147 automatic fixed bin(35,0) dcl 534 set ref 664* 681* 694* 695 712* 713 714* 751* 752 752* 759* 761 761* x_first_time_user 000150 automatic bit(1) dcl 535 set ref 692* 739 x_fkey 000151 automatic bit(1) dcl 536 set ref 797* 801 805 x_menu_window_height 000152 automatic fixed bin(17,0) dcl 537 set ref 822* 823* x_ptrs 000154 automatic pointer array dcl 538 set ref 712* 718 719 720 901* x_xforum_already_active 000010 internal static bit(1) initial packed unaligned dcl 549 set ref 649 684* 913* x_xforum_banner 000162 automatic char(40) packed unaligned dcl 539 set ref 742* 745* 868* 871* x_xforum_info 000176 automatic structure level 1 unaligned dcl 541 set ref 833 833 838 838 843 843 848 848 850 850 x_xforum_menu_ptr 000174 automatic pointer dcl 540 set ref 672* 759* 769* 771* 797* 808* 826* 876* 903 903* x_xforum_menu_requirements 000240 automatic structure level 1 unaligned dcl 542 set ref 759 759 xe_code parameter fixed bin(35,0) dcl 1007 set ref 1003 1015* xe_explanation parameter char packed unaligned dcl 1008 set ref 1003 1015* xforum_create_menu_ 000042 constant entry external dcl 480 ref 759 xforum_error_info based structure level 1 unaligned dcl 15-3 xforum_fatal_error 000130 stack reference condition dcl 521 ref 659 xforum_get_str_ 000044 constant entry external dcl 481 ref 664 681 xforum_get_str_$init 000046 constant entry external dcl 482 ref 704 xforum_help_$get_help 000050 constant entry external dcl 483 ref 808 xforum_help_$init 000052 constant entry external dcl 484 ref 690 xforum_help_$term 000054 constant entry external dcl 485 ref 907 xforum_help_line_$change 000056 constant entry external dcl 486 ref 749 778 786 810 824 867 xforum_help_line_$init 000060 constant entry external dcl 487 ref 700 xforum_help_menus$getting_started 000062 constant entry external dcl 488 ref 739 856 xforum_im_mgr$defer_messages 000064 constant entry external dcl 489 ref 706 xforum_im_mgr$init 000066 constant entry external dcl 490 ref 702 xforum_im_mgr$restore_original 000070 constant entry external dcl 491 ref 915 xforum_info based structure level 1 unaligned dcl 16-18 xforum_list_meetings_$xforum_process_args_ 000104 constant entry external dcl 497 ref 694 xforum_main_options$goto_meeting 000072 constant entry external dcl 492 ref 833 838 843 xforum_main_options$modify_meeting_list 000074 constant entry external dcl 493 ref 850 xforum_main_options$next_meeting 000076 constant entry external dcl 494 ref 848 xforum_meeting_info based structure level 1 unaligned dcl 17-24 xforum_meeting_info_ptr 2 000164 external static pointer level 2 dcl 19-3 set ref 718* 719 720 xforum_meeting_list based structure level 1 dcl 18-14 xforum_meeting_list_ptr 000164 external static pointer level 2 dcl 19-3 set ref 671* 709 730 742 742 742 868 868 868 xforum_mtg_list_ptr 000176 automatic pointer level 3 dcl 541 set ref 730* xforum_multics_mode 000100 constant entry external dcl 495 ref 822 xforum_personalize_menu 000102 constant entry external dcl 496 ref 853 xforum_ptr_struct_ 000164 external static structure level 1 unaligned dcl 19-3 xforum_redisplay_ 000106 constant entry external dcl 498 ref 818 xforum_redisplay_menu 000136 stack reference condition dcl 521 ref 771 xforum_status_$initialize 000110 constant entry external dcl 499 ref 724 xforum_status_$redisplay 000112 constant entry external dcl 501 ref 751 779 787 825 873 xforum_status_$update_banner 000122 constant entry external dcl 505 ref 745 871 xforum_status_$update_new 000120 constant entry external dcl 504 ref 866 xforum_status_$update_title 000116 constant entry external dcl 503 ref 747 872 xforum_status_$update_total 000114 constant entry external dcl 502 ref 864 xforum_sys_area_ptr 26 000176 automatic pointer level 3 dcl 541 set ref 731* xforum_system_area_ptr 6 000164 external static pointer level 2 dcl 19-3 set ref 722* 731 739* 808* 853* 856* xforum_user_profile$get 000124 constant entry external dcl 506 ref 692 xforum_user_profile$get_function_key_data_ptr 000126 constant entry external dcl 507 ref 726 xforum_user_profile$get_handle_interactive_messages 000134 constant entry external dcl 510 ref 706 737 915 xforum_user_profile$get_menu_always 000130 constant entry external dcl 508 ref 734 xforum_user_profile$get_multics_mode 000132 constant entry external dcl 509 ref 736 820 xforum_window_info 000256 automatic structure level 1 unaligned dcl 21-8 xforum_window_mgr$check_window_status 000136 constant entry external dcl 511 ref 776 1029 xforum_window_mgr$menu_display 000140 constant entry external dcl 512 ref 769 771 826 876 xforum_window_mgr$menu_get_choice 000142 constant entry external dcl 513 ref 797 xforum_window_mgr$prepare_to_shut_down 000144 constant entry external dcl 514 ref 897 xforum_window_mgr$resynch_windows 000150 constant entry external dcl 516 ref 764 823 874 xforum_window_mgr$set_up_xforum_windows 000152 constant entry external dcl 517 ref 686 xforum_window_mgr$shut_down_xforum_windows 000146 constant entry external dcl 515 ref 911 xforum_windows 000166 external static structure level 1 dcl 21-5 xt_cleanup_flag parameter bit(1) packed unaligned dcl 890 set ref 886 897* 911* 915 xt_code 000100 automatic fixed bin(35,0) dcl 894 set ref 901* 903* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 BREAK_PROMPT internal static char(34) initial packed unaligned dcl 23-10 COMMENTS_PROMPT internal static char(40) initial packed unaligned dcl 23-10 COMMENT_PROMPT internal static char(37) initial packed unaligned dcl 23-10 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 FILE_PROMPT internal static char(28) initial packed unaligned dcl 23-10 FIRST_PROMPT internal static char(80) initial packed unaligned dcl 23-10 FOUR internal static fixed bin(17,0) initial dcl 24-16 INCLUDE_DELETED internal static fixed bin(17,0) initial dcl 7-24 KEY_CTRL internal static fixed bin(17,0) initial dcl 8-22 KEY_CTRL_AND_SHIFT internal static fixed bin(17,0) initial dcl 8-22 KEY_PLAIN internal static fixed bin(17,0) initial dcl 8-22 KEY_SHIFT internal static fixed bin(17,0) initial dcl 8-22 MENU_OPTION_KEYS internal static char(1) initial array packed unaligned dcl 10-100 MULTICS_MODE internal static fixed bin(17,0) initial dcl 16-38 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 ONE internal static fixed bin(17,0) initial dcl 24-16 ONLY_DELETED internal static fixed bin(17,0) initial dcl 7-24 ONLY_UNDELETED internal static fixed bin(17,0) initial dcl 7-24 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 SET_ARRAY_SPEC_LEN internal static fixed bin(17,0) initial dcl 17-57 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SPY_AT_10 internal static fixed bin(17,0) initial dcl 20-47 SPY_AT_11 internal static fixed bin(17,0) initial dcl 20-49 SPY_AT_12 internal static fixed bin(17,0) initial dcl 20-51 SPY_AT_13 internal static fixed bin(17,0) initial dcl 20-53 SPY_AT_14 internal static fixed bin(17,0) initial dcl 20-55 SPY_AT_15 internal static fixed bin(17,0) initial dcl 20-57 SPY_AT_16 internal static fixed bin(17,0) initial dcl 20-59 SPY_AT_17 internal static fixed bin(17,0) initial dcl 20-61 SPY_AT_18 internal static fixed bin(17,0) initial dcl 20-63 SPY_AT_19 internal static fixed bin(17,0) initial dcl 20-65 SPY_AT_2 internal static fixed bin(17,0) initial dcl 20-31 SPY_AT_3 internal static fixed bin(17,0) initial dcl 20-33 SPY_AT_4 internal static fixed bin(17,0) initial dcl 20-35 SPY_AT_5 internal static fixed bin(17,0) initial dcl 20-37 SPY_AT_6 internal static fixed bin(17,0) initial dcl 20-39 SPY_AT_7 internal static fixed bin(17,0) initial dcl 20-41 SPY_AT_8 internal static fixed bin(17,0) initial dcl 20-43 SPY_AT_9 internal static fixed bin(17,0) initial dcl 20-45 SPY_LOCATION internal static varying char(20) initial array dcl 20-68 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TEXT_PROMPT internal static char(31) initial packed unaligned dcl 23-10 W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 XFORUM_MENU internal static fixed bin(17,0) initial dcl 16-38 ZERO internal static fixed bin(17,0) initial dcl 24-16 alloc_subject_length automatic fixed bin(21,0) dcl 7-4 alloc_text_length automatic fixed bin(21,0) dcl 7-3 break_table_info based structure level 1 dcl 22-76 break_table_info_version internal static fixed bin(17,0) initial dcl 22-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 22-80 break_table_ptr automatic pointer dcl 22-75 condition_info_header_ptr automatic pointer dcl 3-4 condition_info_ptr automatic pointer dcl 2-10 forum_$close_forum 000000 constant entry external dcl 4-3 forum_$enter_trans 000000 constant entry external dcl 4-4 forum_$forum_info 000000 constant entry external dcl 4-7 forum_$forum_limits 000000 constant entry external dcl 4-9 forum_$get_forum_path 000000 constant entry external dcl 4-12 forum_$get_forum_path_idx 000000 constant entry external dcl 4-14 forum_$get_message 000000 constant entry external dcl 4-16 forum_$get_transaction_map_idx 000000 constant entry external dcl 4-17 forum_$list_users_idx 000000 constant entry external dcl 4-18 forum_$open_forum 000000 constant entry external dcl 4-19 forum_$read_trans 000000 constant entry external dcl 4-21 forum_$set_last_seen_idx 000000 constant entry external dcl 4-23 forum_$set_message 000000 constant entry external dcl 4-27 forum_$set_seen_switch 000000 constant entry external dcl 4-25 forum_$set_switch 000000 constant entry external dcl 4-28 forum_$set_switch_idx 000000 constant entry external dcl 4-30 forum_$trans_ref_info 000000 constant entry external dcl 4-32 forum_flags based structure level 1 dcl 5-8 forum_flags_word automatic bit(36) dcl 5-6 forum_info based structure level 1 dcl 6-14 forum_info_ptr automatic pointer dcl 6-12 forum_info_version_1 internal static fixed bin(17,0) initial dcl 6-40 forum_info_version_2 internal static fixed bin(17,0) initial dcl 6-40 forum_user_trans based structure level 1 dcl 7-7 forum_user_trans_ptr automatic pointer dcl 7-5 function_key_data based structure level 1 dcl 8-7 function_key_data_highest automatic fixed bin(17,0) dcl 8-35 function_key_data_version_1 internal static fixed bin(17,0) initial dcl 8-36 function_key_seqs based char packed unaligned dcl 8-32 get_editor_key_bindings_info based structure level 1 dcl 22-151 get_editor_key_bindings_info_ptr automatic pointer dcl 22-159 get_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 22-160 iox_$attach_loud 000000 constant entry external dcl 9-8 iox_$attach_name 000000 constant entry external dcl 9-8 iox_$attach_ptr 000000 constant entry external dcl 9-8 iox_$close 000000 constant entry external dcl 9-8 iox_$close_file 000000 constant entry external dcl 9-8 iox_$delete_record 000000 constant entry external dcl 9-8 iox_$destroy_iocb 000000 constant entry external dcl 9-8 iox_$detach 000000 constant entry external dcl 9-8 iox_$detach_iocb 000000 constant entry external dcl 9-8 iox_$err_no_operation 000000 constant entry external dcl 9-8 iox_$err_not_attached 000000 constant entry external dcl 9-8 iox_$err_not_closed 000000 constant entry external dcl 9-8 iox_$err_not_open 000000 constant entry external dcl 9-8 iox_$error_output external static pointer dcl 9-41 iox_$find_iocb 000000 constant entry external dcl 9-8 iox_$find_iocb_n 000000 constant entry external dcl 9-8 iox_$get_chars 000000 constant entry external dcl 9-8 iox_$get_line 000000 constant entry external dcl 9-8 iox_$look_iocb 000000 constant entry external dcl 9-8 iox_$modes 000000 constant entry external dcl 9-8 iox_$move_attach 000000 constant entry external dcl 9-8 iox_$open 000000 constant entry external dcl 9-8 iox_$open_file 000000 constant entry external dcl 9-8 iox_$position 000000 constant entry external dcl 9-8 iox_$propagate 000000 constant entry external dcl 9-8 iox_$put_chars 000000 constant entry external dcl 9-8 iox_$read_key 000000 constant entry external dcl 9-8 iox_$read_length 000000 constant entry external dcl 9-8 iox_$read_record 000000 constant entry external dcl 9-8 iox_$rewrite_record 000000 constant entry external dcl 9-8 iox_$seek_key 000000 constant entry external dcl 9-8 iox_$user_input external static pointer dcl 9-41 iox_$user_io external static pointer dcl 9-41 iox_$user_output external static pointer dcl 9-41 iox_$write_record 000000 constant entry external dcl 9-8 key_info_ptr automatic pointer dcl 8-38 line_editor_binding_count automatic fixed bin(17,0) dcl 22-121 line_editor_key_binding_info based structure level 1 dcl 22-129 line_editor_key_binding_info_ptr automatic pointer dcl 22-118 line_editor_key_binding_info_version_3 internal static char(8) initial packed unaligned dcl 22-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 22-123 menu_$create 000000 constant entry external dcl 10-8 menu_$delete 000000 constant entry external dcl 10-61 menu_$describe 000000 constant entry external dcl 10-35 menu_$display 000000 constant entry external dcl 10-20 menu_$get_choice 000000 constant entry external dcl 10-26 menu_$list 000000 constant entry external dcl 10-67 menu_$retrieve 000000 constant entry external dcl 10-54 menu_$store 000000 constant entry external dcl 10-46 menu_format based structure level 1 dcl 10-76 menu_format_ptr automatic pointer dcl 10-94 menu_format_version_1 internal static fixed bin(17,0) initial dcl 10-97 menu_requirements_ptr automatic pointer dcl 10-95 message_type internal static fixed bin(17,0) initial dcl 7-22 more_handler_info based structure level 1 dcl 22-83 more_handler_info_ptr automatic pointer dcl 22-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 22-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 22-94 more_prompt_info based structure level 1 dcl 22-108 more_prompt_info_ptr automatic pointer dcl 22-112 more_prompt_info_version_1 internal static char(8) initial packed unaligned dcl 22-114 more_responses_info based structure level 1 dcl 22-59 more_responses_info_ptr automatic pointer dcl 22-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 22-67 more_responses_version internal static fixed bin(17,0) initial dcl 22-67 seen_map based bit(1) array packed unaligned dcl 17-50 seen_map_string based bit(1000000) packed unaligned dcl 17-49 set_array based structure level 1 unaligned dcl 17-52 set_editor_key_bindings_info based structure level 1 dcl 22-162 set_editor_key_bindings_info_ptr automatic pointer dcl 22-171 set_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 22-172 terminal_info based structure level 1 dcl 12-6 terminal_info_ptr automatic pointer dcl 12-15 terminal_info_version internal static fixed bin(17,0) initial dcl 12-16 token_characters_info based structure level 1 dcl 22-97 token_characters_info_ptr automatic pointer dcl 22-104 token_characters_info_version_1 internal static char(8) initial packed unaligned dcl 22-106 user_trans_type internal static fixed bin(17,0) initial dcl 7-21 window_$change_column 000000 constant entry external dcl 13-63 window_$change_line 000000 constant entry external dcl 13-59 window_$clear_region 000000 constant entry external dcl 13-7 window_$clear_to_end_of_line 000000 constant entry external dcl 13-9 window_$clear_to_end_of_window 000000 constant entry external dcl 13-11 window_$create 000000 constant entry external dcl 13-72 window_$delete_chars 000000 constant entry external dcl 13-15 window_$destroy 000000 constant entry external dcl 13-74 window_$edit_line 000000 constant entry external dcl 13-76 window_$get_cursor_position 000000 constant entry external dcl 13-17 window_$get_echoed_chars 000000 constant entry external dcl 13-22 window_$get_one_unechoed 000000 constant entry external dcl 13-67 window_$get_one_unechoed_char 000000 constant entry external dcl 13-67 window_$get_unechoed_chars 000000 constant entry external dcl 13-25 window_$insert_text 000000 constant entry external dcl 13-28 window_$overwrite_text 000000 constant entry external dcl 13-29 window_$position_cursor 000000 constant entry external dcl 13-31 window_$position_cursor_rel 000000 constant entry external dcl 13-36 window_$scroll_region 000000 constant entry external dcl 13-42 window_$sync 000000 constant entry external dcl 13-44 window_$write_raw_text 000000 constant entry external dcl 13-48 window_$write_sync_read 000000 constant entry external dcl 13-53 window_edit_line_info based structure level 1 unaligned dcl 22-177 window_edit_line_info_ptr automatic pointer dcl 22-186 window_edit_line_info_version_1 internal static char(8) initial packed unaligned dcl 22-183 window_position_info_ptr automatic pointer dcl 22-37 window_position_info_version internal static fixed bin(17,0) initial dcl 22-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 22-35 window_status_info based structure level 1 dcl 22-45 window_status_info_ptr automatic pointer dcl 22-43 window_status_version internal static fixed bin(17,0) initial dcl 22-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 22-52 xforum_HELP_DIRS based structure level 1 unaligned dcl 14-15 xforum_data_$help_dirs external static fixed bin(17,0) dcl 14-13 xforum_info_ptr automatic pointer dcl 16-34 xforum_version internal static char(3) initial packed unaligned dcl 14-19 NAMES DECLARED BY EXPLICIT CONTEXT. check_for_reconnect 003747 constant entry internal dcl 1034 ref 1031 collect_spy_data 003274 constant entry internal dcl 920 ref 780 801 803 error_exit_xforum 003077 constant label dcl 882 ref 652 665 1016 executive_forum 000511 constant entry external dcl 103 exit_record_spy_data 003511 constant label dcl 966 ref 953 956 961 exit_xforum 003067 constant label dcl 879 set ref 728 816 fatal_error 003512 constant entry internal dcl 971 ref 668 reconnect_test 003111 constant entry external dcl 1019 record_spy_data 003331 constant entry internal dcl 944 ref 899 xforum 000477 constant entry external dcl 103 xforum_error 003673 constant entry internal dcl 1003 ref 709 752 761 984 987 992 xforum_get_choice 002053 constant label dcl 795 ref 781 789 xforum_get_next_choice 002672 constant label dcl 864 ref 812 814 xforum_terminate 003143 constant entry internal dcl 886 ref 679 696 879 1014 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5114 5304 4053 5124 Length 6342 4053 170 1022 1040 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xforum 524 external procedure is an external procedure. on unit on line 659 195 on unit on unit on line 677 116 on unit on unit on line 728 64 on unit on unit on line 771 68 on unit on unit on line 774 92 on unit on unit on line 784 86 on unit xforum_terminate 172 internal procedure is called by several nonquick procedures. collect_spy_data 66 internal procedure is called during a stack extension. record_spy_data internal procedure shares stack frame of internal procedure xforum_terminate. fatal_error internal procedure shares stack frame of on unit on line 659. xforum_error 88 internal procedure is called during a stack extension. check_for_reconnect internal procedure shares stack frame of external procedure xforum. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 x_xforum_already_active xforum STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME on unit on line 659 000106 fe_code fatal_error 000110 fe_xforum_error_info_ptr fatal_error 000112 fe_condition_info fatal_error xforum 000144 x_arg_list_ptr xforum 000146 x_choice xforum 000147 x_code xforum 000150 x_first_time_user xforum 000151 x_fkey xforum 000152 x_menu_window_height xforum 000154 x_ptrs xforum 000162 x_xforum_banner xforum 000174 x_xforum_menu_ptr xforum 000176 x_xforum_info xforum 000240 x_xforum_menu_requirements xforum 000244 Shelp xforum 000245 Serror xforum 000246 function_key_data_ptr xforum 000250 quit_info_ptr xforum 000252 spy_ptr xforum 000254 SPY_VERSION_1 xforum 000256 xforum_window_info xforum 000265 answer_array xforum 000611 rt_reconnect_sw xforum 000622 cfr_stack_ptr check_for_reconnect 000624 cfr_cond_info check_for_reconnect xforum_terminate 000100 xt_code xforum_terminate 000110 rsd_code record_spy_data 000112 rsd_spy_ptr record_spy_data 000114 rsd_unusedb1 record_spy_data 000115 rsd_unusedfb24 record_spy_data THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc call_int_other return_mac tra_ext_1 signal_op enable_op shorten_stack ext_entry int_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_list_ptr find_condition_frame_ find_condition_info_ get_system_free_area_ get_temp_segments_ hcs_$status_minf initiate_file_$create ioa_ ioa_$rsnnl iox_$control menu_$destroy release_temp_segments_ unique_chars_ window_$bell window_$clear_window xforum_create_menu_ xforum_get_str_ xforum_get_str_$init xforum_help_$get_help xforum_help_$init xforum_help_$term xforum_help_line_$change xforum_help_line_$init xforum_help_menus$getting_started xforum_im_mgr$defer_messages xforum_im_mgr$init xforum_im_mgr$restore_original xforum_list_meetings_$xforum_process_args_ xforum_main_options$goto_meeting xforum_main_options$modify_meeting_list xforum_main_options$next_meeting xforum_multics_mode xforum_personalize_menu xforum_redisplay_ xforum_status_$initialize xforum_status_$redisplay xforum_status_$update_banner xforum_status_$update_new xforum_status_$update_title xforum_status_$update_total xforum_user_profile$get xforum_user_profile$get_function_key_data_ptr xforum_user_profile$get_handle_interactive_messages xforum_user_profile$get_menu_always xforum_user_profile$get_multics_mode xforum_window_mgr$check_window_status xforum_window_mgr$menu_display xforum_window_mgr$menu_get_choice xforum_window_mgr$prepare_to_shut_down xforum_window_mgr$resynch_windows xforum_window_mgr$set_up_xforum_windows xforum_window_mgr$shut_down_xforum_windows THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. xforum_ptr_struct_ xforum_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 20 27 000472 103 000476 646 000521 647 000522 649 000524 651 000527 652 000542 655 000543 656 000544 659 000545 661 000561 663 000564 664 000577 665 000645 667 000650 668 000652 669 000653 671 000654 672 000657 673 000660 675 000661 677 000667 679 000703 680 000714 681 000730 682 000776 684 000777 686 001002 689 001006 690 001010 692 001015 694 001024 695 001050 696 001052 697 001062 700 001071 702 001076 704 001103 706 001110 709 001127 712 001154 713 001175 714 001177 715 001223 718 001232 719 001236 720 001240 722 001243 724 001251 726 001256 728 001265 730 001304 731 001310 732 001313 733 001315 734 001317 735 001325 736 001327 737 001336 739 001347 742 001364 745 001425 747 001436 749 001456 751 001504 752 001513 757 001534 759 001536 761 001564 764 001605 769 001620 771 001627 774 001653 776 001667 777 001673 778 001706 779 001733 780 001743 781 001762 784 001765 786 002001 787 002025 788 002035 789 002050 795 002053 797 002054 799 002067 801 002071 803 002162 805 002242 806 002246 808 002251 810 002305 811 002332 812 002333 814 002337 816 002343 818 002347 820 002361 822 002404 823 002413 824 002426 825 002453 826 002463 827 002472 828 002473 829 002506 831 002507 833 002512 834 002523 835 002524 838 002526 839 002537 840 002540 843 002542 844 002553 845 002554 848 002556 849 002567 850 002570 853 002604 856 002621 861 002635 864 002672 866 002703 867 002714 868 002741 871 003002 872 003013 873 003033 874 003044 876 003057 877 003066 879 003067 882 003077 1019 003106 1029 003120 1031 003125 1032 003127 886 003142 897 003150 899 003157 901 003160 903 003202 906 003220 907 003223 908 003230 911 003232 913 003242 915 003244 918 003272 920 003273 931 003307 932 003312 933 003320 935 003330 944 003331 953 003332 955 003337 956 003404 958 003406 959 003410 961 003473 964 003477 966 003511 971 003512 983 003513 984 003532 987 003554 990 003602 992 003604 998 003670 1003 003672 1014 003706 1015 003717 1016 003744 1034 003747 1046 003751 1047 003752 1048 003754 1049 003756 1050 003760 1051 003761 1052 003772 1053 004005 1055 004011 1056 004027 1058 004033 1059 004035 1062 004043 ----------------------------------------------------------- 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