COMPILATION LISTING OF SEGMENT xmail_Executive_Mail_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1129.10_Tue_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 /****^ HISTORY COMMENTS: 13* 1) change(86-01-07,Blair), approve(86-02-26,MCR7358), 14* audit(86-04-18,RBarstad), install(86-05-28,MR12.0-1062): 15* 85-04-22 JG Backs: Deleted the parameter from xmail_Mail_File_Maint_ 16* references. This parameter was not needed and was being passed a null 17* string. 18* 2) change(86-01-07,Blair), approve(86-02-26,MCR7358), 19* audit(86-04-18,RBarstad), install(86-05-28,MR12.0-1062): 20* Set the flag to allow users to read their own mail in other people's 21* mailboxes just before choosing the option to select other files. 22* 3) change(87-01-19,Blair), approve(87-02-05,MCR7618), 23* audit(87-04-10,RBarstad), install(87-04-26,MR12.1-1025): 24* Determine whether we should look at all messages in the mailbox or just 25* ordinary ones before checking to see if there are any messages in the box. 26* END HISTORY COMMENTS */ 27 28 29 xmail_Executive_Mail_: proc; 30 31 /* BEGIN DESCRIPTION 32* 33*history: 34* Author unknown. 35* 36* 81-07-20 Paul Kyzivat: Modified to add Review Defaults. 37* 38* 81-07-21 Paul Kyzivat: Modified to add option help. 39* 40* 83-06-27 DJ Schimke: Modified to use new mail_system calls and version 2 41* mailboxes. 42* 43* 83-10-06 DJ Schimke: Replaced call to xmail_get_line_ and associated code 44* which asked a yes_no question with a call to xmail_get_str_$yes_no. 45* 46* 84-01-04 DJ Schimke: Corrected the order of the arguments to ioa_$rsnnl 47* reported in phx16645. Replaced the (0) in the ioa_$rsnnl calls with a new 48* variable "unused_return_length". 49* 50* 84-07-02 DJ Schimke: Removed call to clear the user_i/o window when setting 51* up. It is not necessary (all the winodws are cleared individually) and was 52* causing the status window to not be displayed properly. This is part of the 53* change for xmail error #92. 54* 55* 84-07-03 DJ Schimke: Modified the call to xmail_create_menu_ to add the 56* N_COLUMNS parameter. 57* 58*END DESCRIPTION 59**/ 60 61 /* AUTOMATIC */ 62 63 dcl display_needed bit (1) aligned; 64 dcl choice fixed bin; 65 dcl code fixed bin (35); 66 dcl yes_sw bit (1) aligned; 67 dcl (ordinary_message_count, total_message_count, message_count) fixed bin; 68 dcl prompt_string char (100) var; 69 dcl response char (3) varying; /* yes no or ask */ 70 dcl unused_return_length fixed bin (21); 71 dcl treat_msgs_as_mail bit (1) aligned; 72 73 /* CONSTANTS */ 74 75 dcl MSGS_AS_MAIL char (15) int static options (constant) init ("msgs_as_mail_yn"); 76 dcl NAME init ("xmail_Executive_Mail_") char (21) int static options (constant); 77 dcl N_COLUMNS fixed bin int static options (constant) init (2); 78 dcl OPTION_NAMES int static options (constant) init ( 79 "Process Incoming Mail", 80 "Send Mail", 81 "Process Filed Mail", 82 "Mailing Lists", 83 "Review Mail Files", 84 "Personalize Exec Mail", 85 "Getting Started" 86 ) dim (7) char (24) varying; 87 88 /* BUILTINS */ 89 90 dcl (null, sum, translate) builtin; 91 92 /* CONDITIONS */ 93 94 dcl (cleanup, program_interrupt, quit, xmail_leave_menu, xmail_redisplay_menu) condition; 95 96 /* ENTRIES */ 97 98 dcl ioa_ entry options (variable); 99 dcl ioa_$rsnnl entry () options (variable); 100 dcl mail_system_$get_message_counts entry (char (*), char (*), bit (1) aligned, fixed bin, fixed bin, fixed bin, fixed bin (35)); 101 dcl xmail_display_help_ entry (char (*), char (*), fixed bin (35)); 102 dcl xmail_display_menu_ entry (ptr, fixed bin, fixed bin (35)); 103 dcl xmail_get_choice_ entry (ptr, char (*), char (*), char (*), char (*), bit (1) aligned, char (*), fixed bin, fixed bin (35)); 104 dcl xmail_get_str_$yes_no entry (char (*) var, bit (1) aligned); 105 dcl xmail_value_$get_with_default entry (char(*), char(*) var, char(*) var, fixed bin(35)); 106 dcl xmail_error_$code_first entry () options (variable); 107 108 109 /* EXTERNAL STATIC */ 110 111 dcl iox_$user_output ptr external static; 112 dcl xmail_err_$help_requested ext static fixed bin (35); 113 dcl xmail_err_$exit_now ext static fixed bin (35); 114 115 /* INTERNAL STATIC */ 116 117 dcl menu int static ptr init (null); 118 119 /* INCLUDE FILES */ 120 1 1 /* BEGIN INCLUDE FILE . . . star_structures.incl.pl1 */ 1 2 1 3 /* This include file contains structures for the hcs_$star_, 1 4* hcs_$star_list_ and hcs_$star_dir_list_ entry points. 1 5* 1 6* Written 23 October 1978 by Monte Davidoff. 1 7* Modified January 1979 by Michael R. Jordan to use unsigned and different pointers for different structures. 1 8* Modified June 1981 by C. Hornig to count link pathnames more efficiently. 1 9**/ 1 10 1 11 /* automatic */ 1 12 1 13 declare star_branch_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching branch count */ 1 14 declare star_entry_count fixed binary; /* hcs_$star_: number of matching entries */ 1 15 declare star_entry_ptr pointer; /* hcs_$star_: pointer to array of entry information */ 1 16 declare star_list_branch_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to array of info */ 1 17 declare star_link_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching link count */ 1 18 declare star_linkx fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: index into star_links */ 1 19 declare star_names_ptr pointer; /* hcs_$star_: pointer to array of entry names */ 1 20 declare star_list_names_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to entry names */ 1 21 declare star_select_sw fixed binary (3); /* hcs_$star_list_, hcs_$star_dir_list_: what info to return */ 1 22 1 23 /* based */ 1 24 1 25 /* hcs_$star_ entry structure */ 1 26 1 27 declare 1 star_entries (star_entry_count) aligned based (star_entry_ptr), 1 28 2 type fixed binary (2) unsigned unaligned, 1 29 /* storage system type */ 1 30 2 nnames fixed binary (16) unsigned unaligned, 1 31 /* number of names of entry that match star_name */ 1 32 2 nindex fixed binary (18) unsigned unaligned; 1 33 /* index of first name in star_names */ 1 34 1 35 /* hcs_$star_ name structure */ 1 36 1 37 declare star_names (sum (star_entries (*).nnames)) char (32) based (star_names_ptr); 1 38 1 39 /* hcs_$star_list_ branch structure */ 1 40 1 41 declare 1 star_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 1 42 2 type fixed binary (2) unsigned unaligned, 1 43 /* storage system type */ 1 44 2 nnames fixed binary (16) unsigned unaligned, 1 45 /* number of names of entry that match star_name */ 1 46 2 nindex fixed binary (18) unsigned unaligned, 1 47 /* index of first name in star_list_names */ 1 48 2 dtcm bit (36) unaligned, /* date-time contents of branch were last modified */ 1 49 2 dtu bit (36) unaligned, /* date-time branch was last used */ 1 50 2 mode bit (5) unaligned, /* user's access mode to the branch */ 1 51 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 1 52 2 master_dir bit (1) unaligned, /* is branch a master directory */ 1 53 2 pad bit (7) unaligned, 1 54 2 records fixed binary (18) unsigned unaligned; 1 55 /* records used by branch */ 1 56 1 57 /* hcs_$star_dir_list_ branch structure */ 1 58 1 59 declare 1 star_dir_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 1 60 2 type fixed binary (2) unsigned unaligned, 1 61 /* storage system type */ 1 62 2 nnames fixed binary (16) unsigned unaligned, 1 63 /* number of names of entry that match star_name */ 1 64 2 nindex fixed binary (18) unsigned unaligned, 1 65 /* index of first name in star_list_names */ 1 66 2 dtem bit (36) unaligned, /* date-time directory entry of branch was last modified */ 1 67 2 pad bit (36) unaligned, 1 68 2 mode bit (5) unaligned, /* user's access mode to the branch */ 1 69 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 1 70 2 master_dir bit (1) unaligned, /* is branch a master directory */ 1 71 2 bit_count fixed binary (24) unaligned; 1 72 /* bit count of the branch */ 1 73 1 74 /* hcs_$star_list_ and hcs_$star_dir_list_ link structure */ 1 75 1 76 declare 1 star_links (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 1 77 2 type fixed binary (2) unsigned unaligned, 1 78 /* storage system type */ 1 79 2 nnames fixed binary (16) unsigned unaligned, 1 80 /* number of names of entry that match star_name */ 1 81 2 nindex fixed binary (18) unsigned unaligned, 1 82 /* index of first name in star_list_names */ 1 83 2 dtem bit (36) unaligned, /* date-time link was last modified */ 1 84 2 dtd bit (36) unaligned, /* date-time the link was last dumped */ 1 85 2 pathname_len fixed binary (18) unsigned unaligned, 1 86 /* length of the pathname of the link */ 1 87 2 pathname_index fixed binary (18) unsigned unaligned; 1 88 /* index of start of pathname in star_list_names */ 1 89 1 90 /* hcs_$star_list_ and hcs_$star_dir_list_ name array */ 1 91 1 92 declare star_list_names char (32) based (star_list_names_ptr) 1 93 dimension (star_links (star_branch_count + star_link_count).nindex 1 94 + star_links (star_branch_count + star_link_count).nnames 1 95 + divide (star_links (star_branch_count + star_link_count).pathname_len + 31, 32, 17, 0) 1 96 * binary ( 1 97 (star_links (star_branch_count + star_link_count).type = star_LINK) 1 98 & (star_select_sw >= star_LINKS_ONLY_WITH_LINK_PATHS), 1)); 1 99 1 100 /* hcs_$star_list_ and hcs_$star_dir_list_ link pathname */ 1 101 1 102 declare star_link_pathname char (star_links (star_linkx).pathname_len) 1 103 based (addr (star_list_names (star_links (star_linkx).pathname_index))); 1 104 1 105 /* internal static */ 1 106 1 107 /* star_select_sw values */ 1 108 1 109 declare star_LINKS_ONLY fixed binary (2) internal static options (constant) initial (1); 1 110 declare star_BRANCHES_ONLY fixed binary (2) internal static options (constant) initial (2); 1 111 declare star_ALL_ENTRIES fixed binary (2) internal static options (constant) initial (3); 1 112 declare star_LINKS_ONLY_WITH_LINK_PATHS 1 113 fixed binary (3) internal static options (constant) initial (5); 1 114 declare star_ALL_ENTRIES_WITH_LINK_PATHS 1 115 fixed binary (3) internal static options (constant) initial (7); 1 116 1 117 /* storage system types */ 1 118 1 119 declare star_LINK fixed binary (2) unsigned internal static options (constant) initial (0); 1 120 declare star_SEGMENT fixed binary (2) unsigned internal static options (constant) initial (1); 1 121 declare star_DIRECTORY fixed binary (2) unsigned internal static options (constant) initial (2); 1 122 1 123 /* END INCLUDE FILE . . . star_structures.incl.pl1 */ 121 122 2 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 2 2* declarations for the menu_ subroutines MTB 493 2 3* James R. Davis 26 Jan 81 to 20 Februrary 81 2 4**/ 2 5 2 6 /* format: off */ 2 7 2 8 dcl menu_$create entry ( 2 9 (*) char (*) varying, /* input: choices */ 2 10 (*) char (*) varying, /* input: headers */ 2 11 (*) char (*) varying, /* input: trailers */ 2 12 pointer, /* input: to format info */ 2 13 (*) char (1) unal, /* input: keys to use */ 2 14 pointer, /* input: to area */ 2 15 pointer, /* input: to needs str. */ 2 16 pointer, /* to menu: output */ 2 17 fixed bin (35) /* code */ 2 18 ); 2 19 2 20 dcl menu_$display entry ( 2 21 pointer, /* window */ 2 22 pointer, /* menu */ 2 23 fixed bin (35) /* code */ 2 24 ); 2 25 2 26 dcl menu_$get_choice entry ( 2 27 pointer, /* window */ 2 28 pointer, /* menu */ 2 29 pointer, /* to function key info */ 2 30 bit (1) aligned, /* function key hi: output */ 2 31 fixed bin, /* output: selection number */ 2 32 fixed bin (35) /* output: code */ 2 33 ); 2 34 2 35 dcl menu_$describe entry ( 2 36 pointer, /* menu */ 2 37 pointer, /* needs */ 2 38 fixed bin (35) /* code */ 2 39 ); 2 40 2 41 dcl menu_$destroy entry ( 2 42 pointer, /* menu */ 2 43 fixed bin (35) /* code */ 2 44 ); 2 45 2 46 dcl menu_$store entry ( 2 47 character (*), 2 48 character (*), 2 49 character (*), 2 50 bit (1) aligned, 2 51 pointer, 2 52 fixed bin (35)); 2 53 2 54 dcl menu_$retrieve entry ( 2 55 character (*), 2 56 character (*), 2 57 character (*), 2 58 pointer, 2 59 pointer, 2 60 fixed bin (35)); 2 61 dcl menu_$delete entry ( 2 62 character (*), 2 63 character (*), 2 64 character (*), 2 65 fixed binary (35)); 2 66 2 67 dcl menu_$list entry ( 2 68 character (*), 2 69 character (*), 2 70 character (*), 2 71 pointer, 2 72 fixed bin, 2 73 pointer, 2 74 fixed bin (35)); 2 75 2 76 dcl 1 menu_format aligned based (menu_format_ptr), 2 77 2 version fixed bin, 2 78 2 constraints, 2 79 3 max_width fixed bin, 2 80 3 max_height fixed bin, 2 81 2 n_columns fixed bin, 2 82 2 flags, 2 83 3 center_headers bit (1) unal, 2 84 3 center_trailers bit (1) unal, 2 85 3 pad bit (34) unal, 2 86 2 pad_char char (1); 2 87 2 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 2 89 2 version fixed bin, 2 90 2 lines_needed fixed bin, 2 91 2 width_needed fixed bin, 2 92 2 n_options fixed bin; 2 93 2 94 dcl menu_format_ptr pointer; 2 95 dcl menu_requirements_ptr pointer; 2 96 2 97 dcl (menu_format_version_1, menu_requirements_version_1) 2 98 fixed bin internal static init (1) options (constant); 2 99 2 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 2 101 options (constant) init 2 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 2 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 2 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 2 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 2 106 2 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 123 124 3 1 /* BEGIN INCLUDE FILE: xmail_data.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-12-20,Blair), approve(86-03-06,MCR7358), 3 6* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 7* Modified 03/15/85 by Joanne Backs adding confirm_print flag. 3 8* 2) change(85-12-20,LJAdams), approve(86-03-06,MCR7358), 3 9* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 10* Adding switch to indicate request for menu display came from general help. 3 11* This is so general help menu will be displayed in top screen. 3 12* 3) change(86-01-10,Blair), approve(86-03-06,MCR7358), 3 13* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 14* Add switch to indicate whether or not it is permissible to process mail 3 15* in other users' mailboxes (foreign_mailbox). 3 16* 4) change(86-01-13,Blair), approve(86-03-06,MCR7358), 3 17* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 18* Add bit to indicate whether or not this is a true cleanup condition. 3 19* 5) change(86-02-06,Blair), approve(86-03-06,MCR7358), 3 20* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 21* Rearrange to group all the bit flags together in one word with a pad. 3 22* 6) change(86-03-05,Blair), approve(86-03-05,MCR7358), 3 23* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 3 24* Change value_seg ptr to value_seg_pathname to avoid the situation where 3 25* you keep around a pointer to a structure which no longer exists. 3 26* 7) change(87-01-16,Blair), approve(87-02-05,MCR7618), 3 27* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 3 28* Add a field to indicate whether or not we should process interactive msgs. 3 29* Increment version to 4.1 so default value will get set. 3 30* 8) change(87-02-13,Blair), approve(87-02-13,MCR7618), 3 31* audit(87-04-15,RBarstad), install(87-04-26,MR12.1-1025): 3 32* Add a field to indicate whether or not we're processing a reply so that we 3 33* will be able to rebuild the screens properly after a disconnect occurs. 3 34* Error_list #114. 3 35* 9) change(88-07-26,Blair), approve(88-07-26,MCR7959), 3 36* audit(88-08-25,RBarstad), install(88-09-02,MR12.2-1098): 3 37* Add a bit to indicate whether or not the error segment had to be created 3 38* in the pdir (because we didn't have sma access to the mlsys_dir). 3 39* END HISTORY COMMENTS */ 3 40 3 41 3 42 /* Written 5/13/81 by Paul H. Kyzivat */ 3 43 /* Modified 12/16/81 by S. Krupp to delete unused parts of structure 3 44* and to add n_fkeys_used */ 3 45 /* Modified 12/14/82 by Dave Schimke to make the xmail version a 10 character 3 46* varying string. */ 3 47 /* Modified 09/12/83 by Dave Schimke adding interactive_msgs flag */ 3 48 /* Modified 09/14/83 by Dave Schimke adding moved_user_io */ 3 49 /* Modified 09/06/84 by Joanne Backs adding lists_as_menus flag */ 3 50 /* Modified 09/21/84 by Joanne Backs adding remove_menus flag */ 3 51 3 52 dcl xmail_data_ptr external static ptr init (null); 3 53 3 54 dcl 1 xmail_data aligned based (xmail_data_ptr), 3 55 2 mail_dir char (168) varying, 3 56 2 first_label label, 3 57 2 quit_label label, 3 58 2 value_seg_pathname char (168) varying, 3 59 2 moved_user_io ptr, 3 60 2 normal_usage char (80) unal, 3 61 2 function_key_info, 3 62 3 function_key_data_ptr ptr, 3 63 3 n_fkeys_used fixed bin, 3 64 2 actee, 3 65 3 person char(32) varying, 3 66 3 project char(32) varying, 3 67 2 flags aligned, 3 68 3 mail_in_incoming bit (1) unal, 3 69 3 lists_as_menus bit (1) unal, /* personalization */ 3 70 3 remove_menus bit (1) unal, /* personalization */ 3 71 3 confirm_print bit (1) unal, /* personalization */ 3 72 3 multics_mode bit (1) unal, /* personalization */ 3 73 3 interactive_msgs bit (1) unal, /* personalization */ 3 74 3 foreign_mailbox bit (1) unal, /* read others' mailboxes */ 3 75 3 general_help bit (1) unal, /* indicated requesting gen help*/ 3 76 3 cleanup_signalled bit (1) unal, /* on when true cleanup condition */ 3 77 3 msgs_as_mail bit (1) unal, /* on for include_msgs */ 3 78 3 reply_request bit (1) unal, /* on if we're doing a reply */ 3 79 3 error_seg_in_pdir bit (1) unal, /* on if the error_seg is in the pdir */ 3 80 3 pad bit (24) unal; 3 81 3 82 3 83 3 84 dcl xmail_version char(10) var static options(constant) init("4.1"); 3 85 3 86 /* END INCLUDE FILE: xmail_data.incl.pl1 */ 125 126 4 1 /* begin include fine window_dcls.incl.pl1 BIM June 1981 */ 4 2 /* Modified 9 October 1983 by Jon A. Rochlis to add window_$edit_line. */ 4 3 4 4 /* format: style3 */ 4 5 4 6 declare window_$bell entry (pointer, fixed binary (35)); 4 7 declare window_$clear_region 4 8 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary, fixed binary (35)); 4 9 declare window_$clear_to_end_of_line 4 10 entry (pointer, fixed binary (35)); 4 11 declare window_$clear_to_end_of_window 4 12 entry (pointer, fixed binary (35)); 4 13 declare window_$clear_window 4 14 entry (pointer, fixed binary (35)); 4 15 declare window_$delete_chars 4 16 entry (pointer, fixed binary, fixed binary (35)); 4 17 declare window_$get_cursor_position 4 18 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 4 19 4 20 /* Call window_$get_echoed_chars (iocb_ptr, n_to_read, read_buffer, n_read, read_break, code); */ 4 21 4 22 declare window_$get_echoed_chars 4 23 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 4 24 fixed binary (35)); 4 25 declare window_$get_unechoed_chars 4 26 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 4 27 fixed binary (35)); 4 28 declare window_$insert_text entry (pointer, character (*), fixed binary (35)); 4 29 declare window_$overwrite_text 4 30 entry (pointer, character (*), fixed binary (35)); 4 31 declare window_$position_cursor 4 32 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 4 33 4 34 /* Call window_$position_cursor_rel (iocb_ptr, delta_line, delta_column, code); */ 4 35 4 36 declare window_$position_cursor_rel 4 37 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 4 38 4 39 /* Call window_$scroll_region (iocb_ptr, first_line_of_region, n_lines_of_region, distance_to_scroll_region_negative_is_up, 4 40* code); */ 4 41 4 42 declare window_$scroll_region 4 43 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary (35)); 4 44 declare window_$sync entry (pointer, fixed binary (35)); 4 45 4 46 /* Call window_$write_raw_text (iocb_ptr, text_string, code); */ 4 47 4 48 declare window_$write_raw_text 4 49 entry (pointer, character (*), fixed binary (35)); 4 50 4 51 /* Call window_$write_sync_read (iocb_ptr, prompt_string, n_to_read, read_buffer, n_read, break_char, code); */ 4 52 4 53 declare window_$write_sync_read 4 54 entry (pointer, character (*), fixed bin (21), character (*), fixed binary (21), 4 55 character (1) var, fixed binary (35)); 4 56 4 57 /* Call window_$change_line (iocb_ptr, new_line, code); */ 4 58 4 59 declare window_$change_line entry (pointer, fixed binary, fixed binary (35)); 4 60 4 61 /* Call window_$change_column (iocb_ptr, new_column, code); */ 4 62 4 63 declare window_$change_column 4 64 entry (pointer, fixed binary, fixed binary (35)); 4 65 4 66 /* Call window_$get_one_unechoed (iocb_ptr, char_or_len_0, block_flag, code); */ 4 67 declare ( 4 68 window_$get_one_unechoed, 4 69 window_$get_one_unechoed_char 4 70 ) entry (pointer, character (1) var, bit (1) aligned, fixed binary (35)); 4 71 4 72 declare window_$create entry (pointer, pointer, pointer, fixed binary (35)); 4 73 4 74 declare window_$destroy entry (pointer, fixed binary (35)); 4 75 4 76 declare window_$edit_line entry (pointer, pointer, pointer, fixed bin(21), fixed bin(21), fixed bin(35)); 4 77 4 78 /* call window_$edit_line (iocb_ptr, window_edit_line_info_ptr, buffer_ptr, 4 79* buffer_len, n_returned, code); */ 4 80 4 81 4 82 /* end include file window_dcls.incl.pl1 */ 127 128 5 1 /* Begin include file: xmail_windows.incl.pl1 */ 5 2 /* Created 6/24/81 by Paul Kyzivat */ 5 3 /* Mofified 6/20/84 by DJ Schimke to add the mm_status window */ 5 4 5 5 dcl 1 xmail_windows aligned external static, 5 6 2 initial_position fixed bin, 5 7 2 min_lines_needed fixed bin, 5 8 2 (status, mm_status, menu, bottom) aligned like xmail_window_info_format; 5 9 5 10 dcl 1 xmail_window_info_format aligned based, 5 11 2 iocb ptr, 5 12 2 position aligned like window_position_info; 5 13 6 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 6 2 /* format: style3 */ 6 3 6 4 /* Modified 26 January 1982 by William York to add the set_more_handler 6 5* and reset_more_handler control orders. */ 6 6 /* Modified October 1982 by WMY to add set and get_token_characters, 6 7* set and get_more_prompt. */ 6 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 6 9* structure. */ 6 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 6 11* partial screen width windows. */ 6 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 6 13* This should be removed when window_info.incl.pl1 is created. */ 6 14 /* Modified 29 February 1984 by Barmar to add version 1 6 15* get_editor_key_bindings_info. */ 6 16 /* Modified 1 March 1984 by Barmar to add version 1 6 17* set_editor_key_bindings_info. */ 6 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 6 19* line_editor_key_bindings_info, which includes the name, description, and 6 20* info path */ 6 21 6 22 /* structure for the set_window_info and get_window_info 6 23* control orders. */ 6 24 6 25 dcl 1 window_position_info 6 26 based (window_position_info_ptr), 6 27 2 version fixed bin, 6 28 2 origin, 6 29 3 column fixed bin, 6 30 3 line fixed bin, 6 31 2 extent, 6 32 3 width fixed bin, 6 33 3 height fixed bin; 6 34 6 35 dcl (window_position_info_version, window_position_info_version_1) 6 36 fixed bin internal static init (1) options (constant); 6 37 dcl window_position_info_ptr 6 38 pointer; 6 39 6 40 /* structure for the set_window_status and get_window_status 6 41* control orders */ 6 42 6 43 declare window_status_info_ptr 6 44 pointer; 6 45 declare 1 window_status_info 6 46 aligned based (window_status_info_ptr), 6 47 2 version fixed bin, 6 48 2 status_string bit (36) aligned; /* string (window_status) */ 6 49 /* see window_status.incl.pl1 for the contents of this string */ 6 50 6 51 6 52 declare (window_status_version, window_status_version_1) 6 53 fixed bin internal static init (1) options (constant); 6 54 6 55 /* info structure for the set_more_responses and get_more_responses control 6 56* orders */ 6 57 6 58 6 59 dcl 1 more_responses_info 6 60 aligned based (more_responses_info_ptr), 6 61 2 version fixed bin, 6 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 6 63 2 n_noes fixed bin, 6 64 2 yeses char (32) unaligned, 6 65 2 noes char (32) unaligned; 6 66 6 67 dcl (more_responses_info_version_1, more_responses_version) 6 68 fixed bin internal static init (1) options (constant); 6 69 dcl more_responses_info_ptr 6 70 pointer; 6 71 6 72 /* structure for the set_break_table and get_break_table 6 73* control orders */ 6 74 6 75 declare break_table_ptr pointer; 6 76 declare 1 break_table_info aligned based (break_table_ptr), 6 77 2 version fixed bin, 6 78 2 breaks (0:127) bit (1) unaligned; 6 79 6 80 declare (break_table_info_version, break_table_info_version_1) 6 81 fixed bin init (1) internal static options (constant); 6 82 6 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 6 84 2 version fixed bin, 6 85 2 flags unaligned, 6 86 3 old_handler_valid 6 87 bit(1), 6 88 3 pad bit(35), 6 89 2 more_handler entry (pointer, bit(1) aligned), 6 90 2 old_more_handler entry (pointer, bit(1) aligned); 6 91 6 92 declare more_handler_info_ptr pointer; 6 93 6 94 declare (more_handler_info_version, more_handler_info_version_3) 6 95 fixed bin internal static options (constant) init (3); 6 96 6 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 6 98 2 version char(8), 6 99 2 token_character_count 6 100 fixed bin, 6 101 2 token_characters 6 102 char (128) unaligned; 6 103 6 104 declare token_characters_info_ptr pointer; 6 105 6 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 6 107 6 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 6 109 2 version char(8), 6 110 2 more_prompt char(80); 6 111 6 112 declare more_prompt_info_ptr pointer; 6 113 6 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 6 115 6 116 /* Line editor stuff ... */ 6 117 6 118 dcl line_editor_key_binding_info_ptr 6 119 pointer; 6 120 6 121 dcl line_editor_binding_count 6 122 fixed bin; 6 123 dcl line_editor_longest_sequence 6 124 fixed bin; 6 125 /* For each binding, action defines what to do for that sequence. Constants 6 126* are defined in window_editor_values.incl.pl1. Only if action is set to 6 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 6 128 6 129 dcl 1 line_editor_key_binding_info 6 130 aligned based (line_editor_key_binding_info_ptr), 6 131 2 version char(8), 6 132 2 binding_count fixed bin, 6 133 2 longest_sequence fixed bin, 6 134 2 bindings (line_editor_binding_count refer 6 135 (line_editor_key_binding_info.binding_count)), 6 136 3 sequence char(line_editor_longest_sequence refer 6 137 (line_editor_key_binding_info.longest_sequence)) varying, 6 138 3 action fixed bin, 6 139 3 numarg_action fixed binary, 6 140 3 editor_routine entry (pointer, fixed bin(35)), 6 141 3 name char (64) varying unaligned, 6 142 3 description char (256) varying unaligned, 6 143 3 info_path unaligned, 6 144 4 info_dir char (168), 6 145 4 info_entry char (32); 6 146 6 147 6 148 dcl line_editor_key_binding_info_version_3 6 149 char(8) static options (constant) init ("lekbi003"); 6 150 6 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 6 152 2 version char (8), 6 153 2 flags, 6 154 3 entire_state bit (1) unaligned, 6 155 3 mbz bit (35) unaligned, 6 156 2 key_binding_info_ptr ptr, 6 157 2 entire_state_ptr ptr; 6 158 6 159 dcl get_editor_key_bindings_info_ptr ptr; 6 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 6 161 6 162 dcl 1 set_editor_key_bindings_info aligned 6 163 based (set_editor_key_bindings_info_ptr), 6 164 2 version char (8), 6 165 2 flags, 6 166 3 replace bit (1) unaligned, 6 167 3 update bit (1) unaligned, 6 168 3 mbz bit (34) unaligned, 6 169 2 key_binding_info_ptr ptr; 6 170 6 171 dcl set_editor_key_bindings_info_ptr ptr; 6 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 6 173 6 174 /* This should be moved to window_info.incl.pl1 when that include file is 6 175* created. JR 2/1/84 */ 6 176 6 177 dcl 1 window_edit_line_info 6 178 based (window_edit_line_info_ptr), 6 179 2 version char (8), 6 180 2 line_ptr ptr, 6 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 6 182 6 183 dcl window_edit_line_info_version_1 6 184 char (8) static options (constant) init ("wedl0001"); 6 185 6 186 dcl window_edit_line_info_ptr 6 187 ptr; 6 188 6 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 5 14 5 15 5 16 /* End include file: xmail_windows.incl.pl1 */ 129 130 7 1 /* BEGIN INCLUDE FILE xmail_responses.incl.pl1 */ 7 2 7 3 /****^ HISTORY COMMENTS: 7 4* 1) change(86-02-07,Blair), approve(86-03-06,MCR7358), 7 5* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 7 6* 85-03-05 JG Backs: Modified to add a response of date. 7 7* 85-03-11 JG Backs: Modified to add short forms of keywords (a,l,p,f). 7 8* 85-03-14 JG Backs: Modified to add ASK, SET, and S. 7 9* 2) change(86-02-07,Blair), approve(86-03-06,MCR7358), 7 10* audit(86-04-21,RBarstad), install(86-05-28,MR12.0-1062): 7 11* Modify to add SEEN and UNSEEN. 7 12* END HISTORY COMMENTS */ 7 13 7 14 /* Created 06/17/81 by Suzanne Krupp */ 7 15 7 16 dcl (QUESTION char(1) init("?"), 7 17 LIST char(2) init("??"), 7 18 A char(1) init("a"), 7 19 ALL char(3) init("all"), 7 20 ASK char(3) init("ask"), 7 21 DATE char(4) init("date"), 7 22 F char(1) init("f"), 7 23 FIRST char(5) init("first"), 7 24 L char(1) init("l"), 7 25 LAST char(4) init("last"), 7 26 N char (1) init ("n"), 7 27 NO char(2) init("no"), 7 28 NEXT char(4) init("next"), 7 29 NEW char(3) init("new"), 7 30 P char(1) init("p"), 7 31 PREV char(4) init("prev"), 7 32 S char(1) init("s"), 7 33 SEEN char (4) init("seen"), 7 34 SET char(3) init("set"), 7 35 SEARCH char(6) init("search"), 7 36 UNSEEN char (6) init("unseen"), 7 37 Y char (1) init ("y"), 7 38 YES char(3) init("yes")) 7 39 int static options(constant); 7 40 7 41 /* END INCLUDE FILE ... xmail_responses.incl.pl1 */ 131 132 133 /* START */ 134 135 star_names_ptr = null (); 136 star_entry_ptr = null (); 137 on condition (cleanup) call CLEAN_UP; 138 139 on condition (xmail_leave_menu) ; 140 141 on condition (xmail_redisplay_menu) begin; 142 if menu ^= null 143 then call menu_$display (xmail_windows.menu.iocb, menu, (0)); /* ignore error */ 144 end; 145 146 if menu ^= null then call xmail_display_menu_ (menu, 1, code); 147 148 else call GET_MENU (); 149 on condition (program_interrupt) go to START; 150 on condition (quit) 151 begin; 152 dcl xmail_window_manager_$reconnect entry (); 153 call xmail_window_manager_$reconnect (); 154 go to START; 155 end; 156 157 START: display_needed = "1"b; 158 do while ("1"b); 159 call xmail_get_choice_ (menu, "", "", "", xmail_data.normal_usage, display_needed, "", choice, code); 160 display_needed = "0"b; 161 if code = 0 then call PERFORM_OPTION (choice, display_needed); 162 else if code = xmail_err_$help_requested then call EXPLAIN_OPTION (choice); 163 else if code = xmail_err_$exit_now then go to EXIT; 164 else call window_$bell (iox_$user_output, (0)); /* ignore error */ 165 end; 166 167 EXIT: return; 168 169 /* INTERNAL PROCEDURES */ 170 171 PERFORM_OPTION: proc (opt, redisplay); 172 173 dcl what_next char (9); 174 dcl opt fixed bin; 175 dcl redisplay bit (1) aligned; 176 177 dcl xmail_Process_Mail_ entry (char (9), bit (1) aligned); 178 dcl xmail_Send_Mail_ entry (char (9)); 179 dcl xmail_Consult_Files_ entry (); 180 dcl xmail_Review_Defaults_ entry (); 181 dcl xmail_Review_Mlist_ entry (); 182 dcl xmail_Mail_File_Maint_ entry (); 183 dcl xmail_Getting_Started_ entry (); 184 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 185 dcl hcs_$star_ entry (char (*), char (*), fixed bin (2), ptr, fixed bin, ptr, ptr, fixed bin (35)); 186 187 188 call window_$clear_window (iox_$user_output, (0));/* ignore error */ 189 go to OPT (opt); 190 191 OPT (1): 192 xmail_data.mail_in_incoming = "1"b; 193 /* Determine if we want all msgs or just ordinary ones */ 194 call xmail_value_$get_with_default (MSGS_AS_MAIL, (NO), response, code); 195 if code ^= 0 then call xmail_error_$code_first (code, NAME, "q", 196 "^/Unable to get a value for ""^a"" in the xmail value segment.", MSGS_AS_MAIL); 197 198 treat_msgs_as_mail = "0"b; 199 if response = YES 200 then do; 201 treat_msgs_as_mail = "1"b; 202 xmail_data.msgs_as_mail = "1"b; 203 end; 204 else if response = ASK 205 then do; 206 call xmail_get_str_$yes_no ("Do you wish to treat interactive msgs as mail? ", yes_sw); 207 if yes_sw then do; 208 treat_msgs_as_mail = "1"b; 209 xmail_data.msgs_as_mail = "1"b; 210 end; 211 end; 212 else xmail_data.msgs_as_mail = "0"b; 213 214 /* Open the mailbox and set the first current message to one */ 215 216 call mail_system_$get_message_counts ((xmail_data.mail_dir), "incoming", "1"b, total_message_count, ordinary_message_count, (0), code); 217 if treat_msgs_as_mail then message_count = total_message_count; 218 else message_count = ordinary_message_count; 219 if message_count = 0 220 then do; 221 xmail_data.mail_in_incoming = "0"b; 222 call iox_$control (iox_$user_output, "reset_more", null, (0)); /* ignore error */ 223 call ioa_ ("There are no messages in your ""incoming"" mailbox."); 224 call hcs_$star_ ((xmail_data.mail_dir), "*.mbx", star_ALL_ENTRIES, null (), star_entry_count, (null ()), (null ()), code); 225 if star_entry_count <= 1 then go to OPT_EXIT; 226 call ioa_$rsnnl ("Still wish to go to ""Process Incoming Mail""? (y,n) ", prompt_string, unused_return_length); 227 call xmail_get_str_$yes_no (prompt_string, yes_sw); 228 if yes_sw then call window_$clear_window (iox_$user_output, code); 229 else go to OPT_EXIT; 230 end; 231 what_next = ""; 232 redisplay = "1"b; 233 call xmail_Process_Mail_ (what_next, treat_msgs_as_mail); 234 if what_next = "send_mail" then go to OPT (2); 235 go to OPT_EXIT; 236 237 OPT (2): what_next = ""; 238 redisplay = "1"b; 239 call xmail_Send_Mail_ (what_next); 240 if what_next = "proc_mail" then go to OPT (1); 241 go to OPT_EXIT; 242 243 OPT (3): redisplay = "1"b; 244 xmail_data.foreign_mailbox = "1"b; 245 call xmail_Consult_Files_ (); 246 xmail_data.foreign_mailbox = "0"b; 247 go to OPT_EXIT; 248 249 OPT (4): redisplay = "1"b; 250 call xmail_Review_Mlist_ (); 251 go to OPT_EXIT; 252 253 OPT (5): redisplay = "1"b; 254 call xmail_Mail_File_Maint_ (); 255 go to OPT_EXIT; 256 257 OPT (6): redisplay = "1"b; 258 call xmail_Review_Defaults_; 259 go to OPT_EXIT; 260 261 OPT (7): redisplay = "1"b; 262 call xmail_Getting_Started_ (); 263 go to OPT_EXIT; 264 265 OPT_EXIT: return; 266 end PERFORM_OPTION; 267 268 269 EXPLAIN_OPTION: proc (opt); 270 271 dcl opt fixed bin; 272 273 call window_$clear_window (iox_$user_output, (0));/* ignore error */ 274 call xmail_display_help_ (NAME || ".gi.info", 275 translate (OPTION_NAMES (opt), "_", " "), 276 (0)); /* ignore error */ 277 return; 278 279 end EXPLAIN_OPTION; 280 281 GET_MENU: proc; 282 283 dcl title char (xmail_windows.menu.width) var; 284 285 dcl status fixed bin (35); 286 287 dcl xmail_error_$no_code entry options (variable), 288 xmail_create_menu_ entry (char (*), (*) char (*) var, fixed bin, ptr, fixed bin (35)); 289 290 call ioa_$rsnnl ("Executive Mail (Version ^a)", title, unused_return_length, xmail_version); 291 292 call xmail_create_menu_ ((title), OPTION_NAMES, N_COLUMNS, menu, status); 293 if status ^= 0 294 then call xmail_error_$no_code (status, NAME, "q", 295 "A programming error has been detected which prevents " || 296 "the use of the ^a menu.", title); /* never returns */ 297 call xmail_display_menu_ (menu, 1, code); 298 299 return; 300 end GET_MENU; 301 302 CLEAN_UP: proc; 303 if star_names_ptr ^= null () then free star_names;/* order is important */ 304 if star_entry_ptr ^= null () then free star_entries; 305 end CLEAN_UP; 306 307 end xmail_Executive_Mail_; 308 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1129.1 xmail_Executive_Mail_.pl1 >udd>sm>ds>w>ml>xmail_Executive_Mail_.pl1 121 1 06/10/82 1145.5 star_structures.incl.pl1 >ldd>incl>star_structures.incl.pl1 123 2 03/27/82 0529.3 menu_dcls.incl.pl1 >ldd>incl>menu_dcls.incl.pl1 125 3 09/08/88 2110.9 xmail_data.incl.pl1 >ldd>incl>xmail_data.incl.pl1 127 4 09/12/84 1016.7 window_dcls.incl.pl1 >ldd>incl>window_dcls.incl.pl1 129 5 12/02/84 1232.9 xmail_windows.incl.pl1 >ldd>incl>xmail_windows.incl.pl1 5-14 6 09/12/84 1016.7 window_control_info.incl.pl1 >ldd>incl>window_control_info.incl.pl1 131 7 05/28/86 1217.7 xmail_responses.incl.pl1 >ldd>incl>xmail_responses.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. ASK 000010 constant char(3) initial packed unaligned dcl 7-16 ref 204 MSGS_AS_MAIL 000105 constant char(15) initial packed unaligned dcl 75 set ref 194* 195* NAME 000077 constant char(21) initial packed unaligned dcl 76 set ref 195* 274 293* NO constant char(2) initial packed unaligned dcl 7-16 ref 194 N_COLUMNS 000135 constant fixed bin(17,0) initial dcl 77 set ref 292* OPTION_NAMES 000016 constant varying char(24) initial array dcl 78 set ref 274 274 292* YES 000007 constant char(3) initial packed unaligned dcl 7-16 ref 199 choice 000101 automatic fixed bin(17,0) dcl 64 set ref 159* 161* 162* cleanup 000146 stack reference condition dcl 94 ref 137 code 000102 automatic fixed bin(35,0) dcl 65 set ref 146* 159* 161 162 163 194* 195 195* 216* 224* 228* 297* display_needed 000100 automatic bit(1) dcl 63 set ref 157* 159* 160* 161* extent 27 000052 external static structure level 4 dcl 5-5 flags 213 based structure level 2 dcl 3-54 foreign_mailbox 213(06) based bit(1) level 3 packed packed unaligned dcl 3-54 set ref 244* 246* hcs_$star_ 000076 constant entry external dcl 185 ref 224 ioa_ 000012 constant entry external dcl 98 ref 223 ioa_$rsnnl 000014 constant entry external dcl 99 ref 226 290 iocb 22 000052 external static pointer level 3 dcl 5-5 set ref 142* iox_$control 000074 constant entry external dcl 184 ref 222 iox_$user_output 000034 external static pointer dcl 111 set ref 164* 188* 222* 228* 273* mail_dir based varying char(168) level 2 dcl 3-54 ref 216 224 mail_in_incoming 213 based bit(1) level 3 packed packed unaligned dcl 3-54 set ref 191* 221* mail_system_$get_message_counts 000016 constant entry external dcl 100 ref 216 menu 22 000052 external static structure level 2 in structure "xmail_windows" dcl 5-5 in procedure "xmail_Executive_Mail_" menu 000010 internal static pointer initial dcl 117 in procedure "xmail_Executive_Mail_" set ref 142 142* 146 146* 159* 292* 297* menu_$display 000042 constant entry external dcl 2-20 ref 142 message_count 000106 automatic fixed bin(17,0) dcl 67 set ref 217* 218* 219 msgs_as_mail 213(09) based bit(1) level 3 packed packed unaligned dcl 3-54 set ref 202* 209* 212* nnames 0(02) based fixed bin(16,0) array level 2 packed packed unsigned unaligned dcl 1-27 ref 303 normal_usage 142 based char(80) level 2 packed packed unaligned dcl 3-54 set ref 159* null builtin function dcl 90 ref 135 136 142 146 222 222 224 224 224 224 303 304 opt parameter fixed bin(17,0) dcl 174 in procedure "PERFORM_OPTION" ref 171 189 opt parameter fixed bin(17,0) dcl 271 in procedure "EXPLAIN_OPTION" ref 269 274 274 ordinary_message_count 000104 automatic fixed bin(17,0) dcl 67 set ref 216* 218 position 24 000052 external static structure level 3 dcl 5-5 program_interrupt 000154 stack reference condition dcl 94 ref 149 prompt_string 000107 automatic varying char(100) dcl 68 set ref 226* 227* quit 000162 stack reference condition dcl 94 ref 150 redisplay parameter bit(1) dcl 175 set ref 171 232* 238* 243* 249* 253* 257* 261* response 000142 automatic varying char(3) dcl 69 set ref 194* 199 204 star_ALL_ENTRIES 000015 constant fixed bin(2,0) initial dcl 1-111 set ref 224* star_entries based structure array level 1 dcl 1-27 ref 304 star_entry_count 000204 automatic fixed bin(17,0) dcl 1-14 set ref 224* 225 303 304 star_entry_ptr 000206 automatic pointer dcl 1-15 set ref 136* 303 304 304 star_names based char(32) array packed unaligned dcl 1-37 ref 303 star_names_ptr 000210 automatic pointer dcl 1-19 set ref 135* 303 303 status 000100 automatic fixed bin(35,0) dcl 285 set ref 292* 293 293* sum builtin function dcl 90 ref 303 title 000100 automatic varying char dcl 283 set ref 290* 292 293* total_message_count 000105 automatic fixed bin(17,0) dcl 67 set ref 216* 217 translate builtin function dcl 90 ref 274 274 treat_msgs_as_mail 000145 automatic bit(1) dcl 71 set ref 198* 201* 208* 217 233* unused_return_length 000144 automatic fixed bin(21,0) dcl 70 set ref 226* 290* what_next 000224 automatic char(9) packed unaligned dcl 173 set ref 231* 233* 234 237* 239* 240 width 27 000052 external static fixed bin(17,0) level 5 dcl 5-5 ref 283 window_$bell 000046 constant entry external dcl 4-6 ref 164 window_$clear_window 000050 constant entry external dcl 4-13 ref 188 228 273 window_position_info based structure level 1 unaligned dcl 6-25 xmail_Consult_Files_ 000062 constant entry external dcl 179 ref 245 xmail_Getting_Started_ 000072 constant entry external dcl 183 ref 262 xmail_Mail_File_Maint_ 000070 constant entry external dcl 182 ref 254 xmail_Process_Mail_ 000056 constant entry external dcl 177 ref 233 xmail_Review_Defaults_ 000064 constant entry external dcl 180 ref 258 xmail_Review_Mlist_ 000066 constant entry external dcl 181 ref 250 xmail_Send_Mail_ 000060 constant entry external dcl 178 ref 239 xmail_create_menu_ 000102 constant entry external dcl 287 ref 292 xmail_data based structure level 1 dcl 3-54 xmail_data_ptr 000044 external static pointer initial dcl 3-52 ref 159 191 202 209 212 216 221 224 244 246 xmail_display_help_ 000020 constant entry external dcl 101 ref 274 xmail_display_menu_ 000022 constant entry external dcl 102 ref 146 297 xmail_err_$exit_now 000040 external static fixed bin(35,0) dcl 113 ref 163 xmail_err_$help_requested 000036 external static fixed bin(35,0) dcl 112 ref 162 xmail_error_$code_first 000032 constant entry external dcl 106 ref 195 xmail_error_$no_code 000100 constant entry external dcl 287 ref 293 xmail_get_choice_ 000024 constant entry external dcl 103 ref 159 xmail_get_str_$yes_no 000026 constant entry external dcl 104 ref 206 227 xmail_leave_menu 000170 stack reference condition dcl 94 ref 139 xmail_redisplay_menu 000176 stack reference condition dcl 94 ref 141 xmail_value_$get_with_default 000030 constant entry external dcl 105 ref 194 xmail_version 000011 constant varying char(10) initial dcl 3-84 set ref 290* xmail_window_info_format based structure level 1 dcl 5-10 xmail_window_manager_$reconnect 000054 constant entry external dcl 152 ref 153 xmail_windows 000052 external static structure level 1 dcl 5-5 yes_sw 000103 automatic bit(1) dcl 66 set ref 206* 207 227* 228 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A internal static char(1) initial packed unaligned dcl 7-16 ALL internal static char(3) initial packed unaligned dcl 7-16 DATE internal static char(4) initial packed unaligned dcl 7-16 F internal static char(1) initial packed unaligned dcl 7-16 FIRST internal static char(5) initial packed unaligned dcl 7-16 L internal static char(1) initial packed unaligned dcl 7-16 LAST internal static char(4) initial packed unaligned dcl 7-16 LIST internal static char(2) initial packed unaligned dcl 7-16 MENU_OPTION_KEYS internal static char(1) initial array packed unaligned dcl 2-100 N internal static char(1) initial packed unaligned dcl 7-16 NEW internal static char(3) initial packed unaligned dcl 7-16 NEXT internal static char(4) initial packed unaligned dcl 7-16 P internal static char(1) initial packed unaligned dcl 7-16 PREV internal static char(4) initial packed unaligned dcl 7-16 QUESTION internal static char(1) initial packed unaligned dcl 7-16 S internal static char(1) initial packed unaligned dcl 7-16 SEARCH internal static char(6) initial packed unaligned dcl 7-16 SEEN internal static char(4) initial packed unaligned dcl 7-16 SET internal static char(3) initial packed unaligned dcl 7-16 UNSEEN internal static char(6) initial packed unaligned dcl 7-16 Y internal static char(1) initial packed unaligned dcl 7-16 break_table_info based structure level 1 dcl 6-76 break_table_info_version internal static fixed bin(17,0) initial dcl 6-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 6-80 break_table_ptr automatic pointer dcl 6-75 get_editor_key_bindings_info based structure level 1 dcl 6-151 get_editor_key_bindings_info_ptr automatic pointer dcl 6-159 get_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 6-160 line_editor_binding_count automatic fixed bin(17,0) dcl 6-121 line_editor_key_binding_info based structure level 1 dcl 6-129 line_editor_key_binding_info_ptr automatic pointer dcl 6-118 line_editor_key_binding_info_version_3 internal static char(8) initial packed unaligned dcl 6-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 6-123 menu_$create 000000 constant entry external dcl 2-8 menu_$delete 000000 constant entry external dcl 2-61 menu_$describe 000000 constant entry external dcl 2-35 menu_$destroy 000000 constant entry external dcl 2-41 menu_$get_choice 000000 constant entry external dcl 2-26 menu_$list 000000 constant entry external dcl 2-67 menu_$retrieve 000000 constant entry external dcl 2-54 menu_$store 000000 constant entry external dcl 2-46 menu_format based structure level 1 dcl 2-76 menu_format_ptr automatic pointer dcl 2-94 menu_format_version_1 internal static fixed bin(17,0) initial dcl 2-97 menu_requirements based structure level 1 dcl 2-88 menu_requirements_ptr automatic pointer dcl 2-95 menu_requirements_version_1 internal static fixed bin(17,0) initial dcl 2-97 more_handler_info based structure level 1 dcl 6-83 more_handler_info_ptr automatic pointer dcl 6-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 6-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 6-94 more_prompt_info based structure level 1 dcl 6-108 more_prompt_info_ptr automatic pointer dcl 6-112 more_prompt_info_version_1 internal static char(8) initial packed unaligned dcl 6-114 more_responses_info based structure level 1 dcl 6-59 more_responses_info_ptr automatic pointer dcl 6-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 6-67 more_responses_version internal static fixed bin(17,0) initial dcl 6-67 set_editor_key_bindings_info based structure level 1 dcl 6-162 set_editor_key_bindings_info_ptr automatic pointer dcl 6-171 set_editor_key_bindings_info_version_1 internal static char(8) initial packed unaligned dcl 6-172 star_ALL_ENTRIES_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 1-114 star_BRANCHES_ONLY internal static fixed bin(2,0) initial dcl 1-110 star_DIRECTORY internal static fixed bin(2,0) initial unsigned dcl 1-121 star_LINK internal static fixed bin(2,0) initial unsigned dcl 1-119 star_LINKS_ONLY internal static fixed bin(2,0) initial dcl 1-109 star_LINKS_ONLY_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 1-112 star_SEGMENT internal static fixed bin(2,0) initial unsigned dcl 1-120 star_branch_count automatic fixed bin(17,0) dcl 1-13 star_dir_list_branch based structure array level 1 dcl 1-59 star_link_count automatic fixed bin(17,0) dcl 1-17 star_link_pathname based char packed unaligned dcl 1-102 star_links based structure array level 1 dcl 1-76 star_linkx automatic fixed bin(17,0) dcl 1-18 star_list_branch based structure array level 1 dcl 1-41 star_list_branch_ptr automatic pointer dcl 1-16 star_list_names based char(32) array packed unaligned dcl 1-92 star_list_names_ptr automatic pointer dcl 1-20 star_select_sw automatic fixed bin(3,0) dcl 1-21 token_characters_info based structure level 1 dcl 6-97 token_characters_info_ptr automatic pointer dcl 6-104 token_characters_info_version_1 internal static char(8) initial packed unaligned dcl 6-106 window_$change_column 000000 constant entry external dcl 4-63 window_$change_line 000000 constant entry external dcl 4-59 window_$clear_region 000000 constant entry external dcl 4-7 window_$clear_to_end_of_line 000000 constant entry external dcl 4-9 window_$clear_to_end_of_window 000000 constant entry external dcl 4-11 window_$create 000000 constant entry external dcl 4-72 window_$delete_chars 000000 constant entry external dcl 4-15 window_$destroy 000000 constant entry external dcl 4-74 window_$edit_line 000000 constant entry external dcl 4-76 window_$get_cursor_position 000000 constant entry external dcl 4-17 window_$get_echoed_chars 000000 constant entry external dcl 4-22 window_$get_one_unechoed 000000 constant entry external dcl 4-67 window_$get_one_unechoed_char 000000 constant entry external dcl 4-67 window_$get_unechoed_chars 000000 constant entry external dcl 4-25 window_$insert_text 000000 constant entry external dcl 4-28 window_$overwrite_text 000000 constant entry external dcl 4-29 window_$position_cursor 000000 constant entry external dcl 4-31 window_$position_cursor_rel 000000 constant entry external dcl 4-36 window_$scroll_region 000000 constant entry external dcl 4-42 window_$sync 000000 constant entry external dcl 4-44 window_$write_raw_text 000000 constant entry external dcl 4-48 window_$write_sync_read 000000 constant entry external dcl 4-53 window_edit_line_info based structure level 1 unaligned dcl 6-177 window_edit_line_info_ptr automatic pointer dcl 6-186 window_edit_line_info_version_1 internal static char(8) initial packed unaligned dcl 6-183 window_position_info_ptr automatic pointer dcl 6-37 window_position_info_version internal static fixed bin(17,0) initial dcl 6-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 6-35 window_status_info based structure level 1 dcl 6-45 window_status_info_ptr automatic pointer dcl 6-43 window_status_version internal static fixed bin(17,0) initial dcl 6-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 6-52 NAMES DECLARED BY EXPLICIT CONTEXT. CLEAN_UP 001756 constant entry internal dcl 302 ref 137 EXIT 000630 constant label dcl 167 ref 163 EXPLAIN_OPTION 001471 constant entry internal dcl 269 ref 162 GET_MENU 001556 constant entry internal dcl 281 ref 148 OPT 000000 constant label array(7) dcl 191 ref 189 234 240 OPT_EXIT 001470 constant label dcl 265 ref 225 228 235 241 247 251 255 259 263 PERFORM_OPTION 000631 constant entry internal dcl 171 ref 161 START 000525 constant label dcl 157 ref 149 154 xmail_Executive_Mail_ 000335 constant entry external dcl 29 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2722 3026 2240 2732 Length 3430 2240 104 365 462 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xmail_Executive_Mail_ 364 external procedure is an external procedure. on unit on line 137 70 on unit on unit on line 139 64 on unit on unit on line 141 74 on unit on unit on line 149 64 on unit on unit on line 150 64 on unit PERFORM_OPTION internal procedure shares stack frame of external procedure xmail_Executive_Mail_. EXPLAIN_OPTION internal procedure shares stack frame of external procedure xmail_Executive_Mail_. GET_MENU 144 internal procedure uses auto adjustable storage. CLEAN_UP internal procedure shares stack frame of on unit on line 137. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 menu xmail_Executive_Mail_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME GET_MENU 000100 status GET_MENU 000100 title GET_MENU xmail_Executive_Mail_ 000100 display_needed xmail_Executive_Mail_ 000101 choice xmail_Executive_Mail_ 000102 code xmail_Executive_Mail_ 000103 yes_sw xmail_Executive_Mail_ 000104 ordinary_message_count xmail_Executive_Mail_ 000105 total_message_count xmail_Executive_Mail_ 000106 message_count xmail_Executive_Mail_ 000107 prompt_string xmail_Executive_Mail_ 000142 response xmail_Executive_Mail_ 000144 unused_return_length xmail_Executive_Mail_ 000145 treat_msgs_as_mail xmail_Executive_Mail_ 000204 star_entry_count xmail_Executive_Mail_ 000206 star_entry_ptr xmail_Executive_Mail_ 000210 star_names_ptr xmail_Executive_Mail_ 000224 what_next PERFORM_OPTION THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this return_mac tra_ext_1 alloc_auto_adj mpfx2 enable_op shorten_stack ext_entry int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. hcs_$star_ ioa_ ioa_$rsnnl iox_$control mail_system_$get_message_counts menu_$display window_$bell window_$clear_window xmail_Consult_Files_ xmail_Getting_Started_ xmail_Mail_File_Maint_ xmail_Process_Mail_ xmail_Review_Defaults_ xmail_Review_Mlist_ xmail_Send_Mail_ xmail_create_menu_ xmail_display_help_ xmail_display_menu_ xmail_error_$code_first xmail_error_$no_code xmail_get_choice_ xmail_get_str_$yes_no xmail_value_$get_with_default xmail_window_manager_$reconnect THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$user_output xmail_data_ptr xmail_err_$exit_now xmail_err_$help_requested xmail_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 29 000334 135 000342 136 000344 137 000345 139 000363 141 000400 142 000414 144 000434 146 000435 148 000457 149 000463 150 000502 153 000516 154 000522 157 000525 158 000527 159 000530 160 000600 161 000601 162 000606 163 000614 164 000616 165 000627 167 000630 171 000631 188 000633 189 000645 191 000650 194 000655 195 000705 198 000745 199 000746 201 000753 202 000755 203 000762 204 000763 206 000770 207 001012 208 001015 209 001017 211 001024 212 001025 216 001032 217 001110 218 001117 219 001121 221 001122 222 001127 223 001161 224 001175 225 001260 226 001264 227 001310 228 001325 231 001341 232 001344 233 001347 234 001360 235 001364 237 001365 238 001370 239 001373 240 001402 241 001406 243 001407 244 001411 245 001416 246 001422 247 001427 249 001430 250 001432 251 001437 253 001440 254 001442 255 001447 257 001450 258 001452 259 001457 261 001460 262 001462 263 001467 265 001470 269 001471 273 001473 274 001505 277 001553 281 001555 283 001563 290 001574 293 001577 290 001602 292 001633 293 001675 297 001737 299 001755 302 001756 303 001757 304 002013 305 002022 ----------------------------------------------------------- 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