COMPILATION LISTING OF SEGMENT display_forms_info Compiled by: Multics PL/I Compiler, Release 33a, of May 30, 1990 Compiled at: ACTC Technologies Inc. Compiled on: 10/05/90 1333.2 mdt Fri Options: optimize map 1 /****^ ********************************************************* 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1990 * 4* * * 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 6* * * 7* ********************************************************* */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(88-06-09,Brunelle), approve(88-06-09,MCR7911), 12* audit(88-10-26,Wallman), install(88-10-28,MR12.2-1199): 13* Created. 14* 2) change(88-11-11,Brunelle), approve(88-11-11,MCR7911), 15* audit(88-11-14,Wallman), install(88-11-14,MR12.2-1212): 16* Allow -rqt argument; call enter_output_request$request_type to allow user 17* defined request type evaluation. 18* 3) change(90-09-10,Itani), approve(90-09-10,MCR8197), audit(90-09-25,Bubric), 19* install(90-10-05,MR12.4-1038): 20* Display a usage message if no arguments are entered. 21* END HISTORY COMMENTS */ 22 23 /* format: style4 */ 24 25 display_forms_info: dfi: proc; 26 27 /* This command displays a list of all forms options available for a given 28* request type */ 29 30 /* External Procedures & Variables */ 31 32 dcl com_err_ entry () options (variable); 33 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 34 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 35 dcl enter_output_request$request_type entry (char (*), char (*), char (*), fixed bin, fixed bin, fixed bin (35)); 36 dcl error_table_$bad_arg fixed bin (35) ext static; 37 dcl error_table_$no_forms_table_defined fixed bin (35) ext static; 38 dcl error_table_$noarg fixed bin (35) ext static; 39 dcl ioa_ entry () options (variable); 40 dcl iod_info_$forms_info entry (char (*), ptr, ptr, fixed bin (35)); 41 42 dcl cleanup condition; 43 44 dcl (index, length, null, rtrim) builtin; 45 46 /* Internal Static */ 47 48 dcl myname char (32) int static options (constant) init ("display_forms_info"); 49 50 /* Automatic */ 51 52 dcl arg char (argl) based (argp); 53 dcl argc fixed bin; 54 dcl argl fixed bin (21); 55 dcl argp ptr; 56 dcl error fixed bin (35); 57 dcl first fixed bin; 58 dcl (i, j, k) fixed bin; 59 dcl last fixed bin; 60 dcl max_name_length fixed bin; 61 dcl need_header bit (1); 62 dcl request_type_name char (32); 63 dcl (queue_default, queue_max) fixed bin; 64 65 66 /* actual program begins here */ 67 68 call cu_$arg_count (argc, error); 69 if error ^= 0 then do; 70 call com_err_ (error, myname, "Getting arg count"); 71 return; 72 end; 73 74 if argc = 0 then do; 75 call com_err_ (error_table_$noarg, myname, "^/^6xUsage: ^a {-rqt} rqt_name ", myname); 76 return; 77 end; 78 79 /* get name of request type to process */ 80 do i = 1 to argc; 81 call cu_$arg_ptr (i, argp, argl, error); 82 if error ^= 0 then do; 83 get_arg_error: call com_err_ (error, myname, "Getting argument ^d", i); 84 return; 85 end; 86 if index (arg, "-") = 1 then do; /* have control arg of some type */ 87 if arg = "-request_type" | arg = "-rqt" then do; 88 if i + 1 > argc then do; 89 missing_arg: call com_err_ (error_table_$noarg, myname); 90 return; 91 end; 92 i = i + 1; 93 call cu_$arg_ptr (i, argp, argl, error); 94 if error ^= 0 then go to get_arg_error; 95 if index (arg, "-") = 1 then go to missing_arg; 96 end; 97 else do; 98 call com_err_ (error_table_$bad_arg, myname, "^a", arg); 99 return; 100 end; 101 end; 102 call display_the_info (arg); 103 end; 104 return; 105 106 clean_up: proc; 107 if forms_info_ptr ^= null () then 108 free forms_info; 109 end clean_up; 110 111 display_the_info: proc (arg_name); 112 113 /* internal procedure to call out and display all return forms info */ 114 115 dcl arg_name char (*); /* user supplied name of the request type */ 116 117 call enter_output_request$request_type (arg_name, "printer", request_type_name, queue_default, queue_max, error); 118 if error ^= 0 then do; 119 call com_err_ (error, myname, "Processing ^a.", arg); 120 return; 121 end; 122 123 forms_info_ptr = null (); 124 125 on cleanup call clean_up; 126 127 call iod_info_$forms_info (request_type_name, null (), forms_info_ptr, error); 128 if error ^= 0 then do; 129 if error = error_table_$no_forms_table_defined then 130 if arg_name = request_type_name then 131 call ioa_ ("Request type ^a has no forms defined.", request_type_name); 132 else call ioa_ ("Request type ^a (-rqt ^a) has no forms defined.", arg_name, request_type_name); 133 else do; 134 if arg_name = request_type_name then 135 call com_err_ (error, myname, "Getting forms info for ^a", request_type_name); 136 else call com_err_ (error, myname, "Getting forms info for ^a (-rqt ^a)", arg_name, request_type_name); 137 end; 138 go to get_out; 139 end; 140 141 max_name_length = 0; 142 do i = 1 to forms_info.no_entries; 143 do j = forms_info.entry (i).first_name_index to forms_info.entry (i).last_name_index; 144 if length (rtrim (forms_info.names (j))) > max_name_length then 145 max_name_length = length (rtrim (forms_info.names (j))); 146 end; 147 end; 148 149 /* display the header information */ 150 if arg_name = request_type_name then 151 call ioa_ ("Request type ^a", request_type_name); 152 else call ioa_ ("Request type ^a (-rqt ^a)", arg_name, request_type_name); 153 call ioa_ ("Default form: ^[^a^;None Supplied^]", 154 forms_info.default_forms_length ^= 0, forms_info.default_form); 155 156 do i = TYPE_USES, TYPE_ORIENTATION, TYPE_FONT_DESC, TYPE_FONT_NAME, 157 TYPE_FONT_SIZE, TYPE_LINE_DESC, TYPE_SPECIAL, TYPE_HOLES, 158 TYPE_PREAMBLE, TYPE_POSTAMBLE; 159 need_header = "1"b; 160 do j = 1 to forms_info.no_entries; 161 if forms_info.types (forms_info.entry (j).type_index) = i then do; 162 first = forms_info.entry (j).first_name_index; 163 last = forms_info.entry (j).last_name_index; 164 if need_header then do; 165 if i = TYPE_USES then 166 call ioa_ ("^/Forms - combinations"); 167 else call ioa_ ("^/Forms - ^a", FORMS_TYPE_STRINGS (i)); 168 need_header = "0"b; 169 end; 170 do k = first to last; 171 if k = first then do; 172 call ioa_ (" ^va ^[No description supplied.^s^;^a^]", 173 max_name_length, forms_info.names (k), 174 forms_info.entry (j).comment_index = 0, 175 forms_info.comments (forms_info.entry (j).comment_index)); 176 if first = last then 177 if i = TYPE_USES then 178 call ioa_ (" ^vx Uses: ^a", 179 max_name_length, forms_info.uses (forms_info.entry (j).uses_index)); 180 end; 181 else do; 182 call ioa_ (" ^va^[ Uses: ^a", 183 max_name_length, forms_info.names (k), 184 ((k = first + 1) & (i = TYPE_USES)), forms_info.uses (forms_info.entry (j).uses_index)); 185 end; 186 end; 187 end; 188 end; 189 end; 190 get_out: call clean_up; 191 192 end display_the_info; 193 /* BEGIN INCLUDE FILE ... iod_tables_hdr.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(88-01-27,Brunelle), approve(), audit(), install(): 1 7* Ancient History 1 8* Created by J. Stern, 1/20/75 1 9* Modified by J. C. Whitmore April 1978 for enhancements 1 10* Modified by J. C. Whitmore, 10/78, for version 3 iod_tables format. 1 11* Modified by E. N. Kittlitz, 6/81, for version 4 iod_tables with expanded 1 12* q_group_tab 1 13* 2) change(88-02-18,Brunelle), approve(88-08-31,MCR7911), 1 14* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 1 15* Change version number to reflect changes in q_group_tab and 1 16* iod_device_tab for laser printer support. Added font tables. 1 17* END HISTORY COMMENTS */ 1 18 1 19 1 20 /* format: style4 */ 1 21 1 22 dcl ithp ptr; /* ptr to io daemon dables and it's header */ 1 23 dcl 1 iod_tables_hdr aligned based (ithp), /* header of data segment compiled by iod_table_compiler */ 1 24 2 version char (8), /* version of this structure */ 1 25 2 date_time_compiled fixed bin (71), 1 26 2 grace_time fixed bin (71), /* grace time before deleting finished segment */ 1 27 2 max_queues fixed bin (17), /* default number of priority queues per queue group */ 1 28 2 line_tab_offset fixed bin (18), /* offset of line id table */ 1 29 2 device_tab_offset fixed bin (18), /* offset of device table */ 1 30 2 minor_device_tab_offset fixed bin (18), /* offset of minor device table */ 1 31 2 dev_class_tab_offset fixed bin (18), /* offset of device class table */ 1 32 2 q_group_tab_offset fixed bin (18), /* offset of queue group table */ 1 33 2 forms_info_tab_offset fixed bin (18), /* offset of forms info tables */ 1 34 2 text_strings_offset fixed bin (18), 1 35 2 start_of_tables fixed bin; /* beginning of above tables, MUST start on even word boundry */ 1 36 1 37 /* Defines common text block to store virtually all text in the I/O daemon tables */ 1 38 dcl text_strings_ptr ptr; 1 39 dcl 1 text_strings aligned based (text_strings_ptr), 1 40 2 length fixed bin, 1 41 2 chars char (1 refer (text_strings.length)) unaligned; 1 42 1 43 /* this defines text offsets used to locate i/o daemon tables strings in 1 44* the text_strings structure */ 1 45 dcl 1 text_offset based, 1 46 2 first_char fixed bin (18) unsigned unaligned, 1 47 2 total_chars fixed bin (18) unsigned unaligned; 1 48 1 49 dcl IODT_VERSION_5 char (8) int static options (constant) init ("IODT0005"); /* current version number */ 1 50 1 51 1 52 /* END INCLUDE FILE ... iod_tables_hdr.incl.pl1 */ 193 194 /* BEGIN INCLUDE FILE ... iod_forms_info_tab.incl.pl1 */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(88-02-18,Brunelle), approve(88-08-31,MCR7911), 2 5* audit(88-10-12,Wallman), install(88-10-28,MR12.2-1199): 2 6* Created. 2 7* END HISTORY COMMENTS */ 2 8 2 9 /* format: style4 */ 2 10 2 11 dcl ifitp ptr; 2 12 dcl 1 iod_forms_info_tab aligned based (ifitp), 2 13 2 n_groups fixed bin (17) unaligned, /* number of forms_info groups defined */ 2 14 2 n_words fixed bin (17) unaligned, /* number of words in forms element data area */ 2 15 2 element_data_block (1 refer (iod_forms_info_tab.n_words)) fixed bin (35), 2 16 2 groups (1 refer (iod_forms_info_tab.n_groups)), 2 17 3 name char (32) unaligned, /* forms info group name */ 2 18 3 comment unaligned like text_offset, /* offset to comment string in text_strings */ 2 19 3 first_element_index fixed bin (17) unaligned; /* index in element_data_block of 1st element in group */ 2 20 2 21 dcl fep ptr; /* forms element ptr */ 2 22 dcl 1 element_common aligned based (fep), 2 23 2 type fixed bin (8) unaligned, /* type of element */ 2 24 2 n_names fixed bin (8) unaligned, /* number of names on element */ 2 25 2 next_element_index fixed bin (17) unaligned, /* index in element_data_block of next element in group */ 2 26 2 comment unaligned like text_offset, /* comment for element */ 2 27 2 names (1 refer (element_common.n_names)) unaligned like text_offset; /* names assigned to the element */ 2 28 2 29 dcl 1 orientation_element aligned based (fep), 2 30 2 common like element_common, 2 31 2 escape_string unaligned like text_offset, /* escape string for the element */ 2 32 2 factors (2) fixed bin (17) unaligned, /* 1=in, 2=cm, 3=pt, 4=lpi */ 2 33 2 height float bin unaligned, /* height in points (1/72s inch) */ 2 34 2 width float bin unaligned; /* width in points (1/72s inch) */ 2 35 2 36 dcl 1 font_element aligned like orientation_element based (fep); 2 37 2 38 dcl 1 font_size_element aligned like orientation_element based (fep); 2 39 2 40 dcl 1 line_element aligned like orientation_element based (fep); 2 41 2 42 dcl 1 holes_element aligned like orientation_element based (fep); 2 43 2 44 dcl 1 font_name_element aligned based (fep), 2 45 2 common like element_common, 2 46 2 escape_string unaligned like text_offset; 2 47 2 48 dcl 1 preamble_element aligned like font_name_element based (fep); 2 49 2 50 dcl 1 postamble_element aligned like font_name_element based (fep); 2 51 2 52 dcl 1 uses_element aligned based (fep), 2 53 2 common like element_common, 2 54 2 n_indices fixed bin (35) unaligned, 2 55 2 index_blocks (1 refer (uses_element.n_indices)) unaligned, 2 56 3 name unaligned like text_offset, 2 57 3 index fixed bin (35) unaligned; 2 58 2 59 dcl 1 special_element aligned based (fep), 2 60 2 common like element_common, 2 61 2 special_string unaligned like text_offset; 2 62 2 63 /* strings for use with element_common.type in forms_info_tab and 2 64* forms_info.types in forms_info */ 2 65 dcl FORMS_TYPE_STRINGS (10) char (11) int static options (constant) init ( 2 66 "uses", "font", "font_name", "font_size", "orientation", 2 67 "line_height", "preamble", "postamble", "holes", "special"); 2 68 2 69 /* strings for each of these types are found in FORMS_TYPE_STRINGS */ 2 70 dcl (TYPE_USES init (1), 2 71 TYPE_FONT_DESC init (2), 2 72 TYPE_FONT_NAME init (3), 2 73 TYPE_FONT_SIZE init (4), 2 74 TYPE_ORIENTATION init (5), 2 75 TYPE_LINE_DESC init (6), 2 76 TYPE_PREAMBLE init (7), 2 77 TYPE_POSTAMBLE init (8), 2 78 TYPE_HOLES init (9), 2 79 TYPE_SPECIAL init (10) 2 80 ) fixed bin int static options (constant); 2 81 2 82 /* factors for computing points (1/72 inch) 2 83* 1 = inches, 2 = centimeters, 3 = points, 4 = lines/inch */ 2 84 dcl SIZE_FACTORS (4) float bin (27) int static options (constant) 2 85 init (72, 28.34646, 1, 72); 2 86 2 87 dcl (FACTOR_INCHES init (1), 2 88 FACTOR_CENTIMETERS init (2), 2 89 FACTOR_POINTS init (3), 2 90 FACTOR_LPI init (4)) fixed bin int static options (constant); 2 91 2 92 dcl ORIENTATION_STRINGS (2) char (9) int static options (constant) init ("portrait", "landscape"); 2 93 2 94 dcl (PORTRAIT_ORIENTATION init (1), 2 95 LANDSCAPE_ORIENTATION init (2)) fixed bin int static options (constant); 2 96 2 97 /* END INCLUDE FILE ... iod_forms_info_tab.incl.pl1 */ 194 195 /* BEGIN INCLUDE FILE ... user_forms_info.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(88-02-26,Brunelle), approve(88-06-08,MCR7911), 3 6* audit(88-10-12,Wallman), install(88-10-28,MR12.2-1199): 3 7* Created. 3 8* END HISTORY COMMENTS */ 3 9 3 10 /* format: style4 */ 3 11 3 12 /* structure used to return information for iod_info_$forms_info call */ 3 13 3 14 dcl forms_info_ptr ptr; 3 15 dcl 1 forms_info based (forms_info_ptr), 3 16 2 version char (8), 3 17 2 no_entries fixed bin, /* # entries in table */ 3 18 2 no_names fixed bin, /* # of names in table */ 3 19 2 no_comments fixed bin, /* # of comments in table */ 3 20 2 no_types fixed bin, /* # of type names in table */ 3 21 2 no_uses fixed bin, /* # of uses entries in table */ 3 22 2 no_specials fixed bin, /* # of special entries in table */ 3 23 2 default_forms_length fixed bin, 3 24 2 default_form char (forms_info_default_forms_length refer (forms_info.default_forms_length)), 3 25 2 entry (forms_info_entry_count refer (forms_info.no_entries)), 3 26 3 first_name_index fixed bin, /* index into names for first name for this entry */ 3 27 3 last_name_index fixed bin, /* index into names for last name for this entry */ 3 28 3 comment_index fixed bin, /* index into comments for this entry */ 3 29 3 type_index fixed bin, /* index into types for this entry */ 3 30 3 uses_index fixed bin, /* index into uses for this entry */ 3 31 3 special_index fixed bin, /* index into specials for this entry */ 3 32 2 names (forms_info_name_count refer (forms_info.no_names)) char (32), 3 33 2 comments (forms_info_comment_count refer (forms_info.no_comments)) char (128), 3 34 2 types (forms_info_types_count refer (forms_info.no_types)) fixed bin, 3 35 2 uses (forms_info_uses_count refer (forms_info.no_uses)) char (128), 3 36 2 specials (forms_info_specials_count refer (forms_info.no_specials)) char (64); 3 37 3 38 dcl (forms_info_entry_count, 3 39 forms_info_name_count, 3 40 forms_info_comment_count, 3 41 forms_info_types_count, 3 42 forms_info_uses_count, 3 43 forms_info_specials_count, 3 44 forms_info_default_forms_length) fixed bin; 3 45 dcl FORMS_INFO_VERSION_1 char (8) int static options (constant) init ("FIxx0001"); 3 46 3 47 3 48 /* input structure for call to iod_info_$validate_forms_info */ 3 49 3 50 dcl validate_forms_info_input_ptr ptr; 3 51 dcl 1 validate_forms_info_input aligned based (validate_forms_info_input_ptr), 3 52 2 version char (8), 3 53 2 request_type char (32), /* request_type to use to evaluate the forms string */ 3 54 2 user_area_ptr ptr, /* ptr to user area to allocate return structure in */ 3 55 2 max_forms_string_length fixed bin, /* max allowed size of returned forms string */ 3 56 2 forms_string_length fixed bin, /* # of chars in input forms string to validate */ 3 57 2 forms_string char (input_forms_string_length /* forms string to validate */ 3 58 refer (validate_forms_info_input.forms_string_length)); 3 59 3 60 dcl input_forms_string_length fixed bin; 3 61 dcl VALIDATE_FORMS_INFO_INPUT_VERSION_1 char (8) int static options (constant) init ("VFII0001"); 3 62 3 63 3 64 /* output structure returned for call to iod_info_$validate_forms_info */ 3 65 3 66 dcl validate_forms_info_output_ptr ptr; 3 67 dcl 1 validate_forms_info_output aligned based (validate_forms_info_output_ptr), 3 68 2 version char (8), 3 69 2 lines_per_page fixed bin, 3 70 2 chars_per_line fixed bin, 3 71 2 lines_per_inch fixed bin, 3 72 2 forms_allowed bit (1), 3 73 2 forms_length fixed bin, 3 74 2 error_length fixed bin, 3 75 2 returned_forms char (returned_forms_length 3 76 refer (validate_forms_info_output.forms_length)), 3 77 2 error_string char (error_string_length 3 78 refer (validate_forms_info_output.error_length)); 3 79 3 80 dcl (returned_forms_length, error_string_length) fixed bin; 3 81 3 82 dcl VALIDATE_FORMS_INFO_OUTPUT_VERSION_1 char (8) int static options (constant) init ("VFIO0001"); 3 83 3 84 /* END INCLUDE FILE ... user_forms_info.incl.pl1 */ 195 196 197 end display_forms_info; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/05/90 1333.0 display_forms_info.pl1 >spec>install>1038>display_forms_info.pl1 193 1 11/09/88 0859.7 iod_tables_hdr.incl.pl1 >ldd>include>iod_tables_hdr.incl.pl1 194 2 11/09/88 0859.7 iod_forms_info_tab.incl.pl1 >ldd>include>iod_forms_info_tab.incl.pl1 195 3 11/09/88 0859.7 user_forms_info.incl.pl1 >ldd>include>user_forms_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. FORMS_TYPE_STRINGS 000000 constant char(11) initial array packed unaligned dcl 2-65 set ref 167* TYPE_FONT_DESC constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_FONT_NAME constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_FONT_SIZE constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_HOLES constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_LINE_DESC constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_ORIENTATION constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_POSTAMBLE constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_PREAMBLE constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_SPECIAL constant fixed bin(17,0) initial dcl 2-70 ref 156 TYPE_USES constant fixed bin(17,0) initial dcl 2-70 ref 156 165 176 182 arg based char packed unaligned dcl 52 set ref 86 87 87 95 98* 102* 119* arg_name parameter char packed unaligned dcl 115 set ref 111 117* 129 132* 134 136* 150 152* argc 000100 automatic fixed bin(17,0) dcl 53 set ref 68* 74 80 88 argl 000101 automatic fixed bin(21,0) dcl 54 set ref 81* 86 87 87 93* 95 98 98 102 102 119 119 argp 000102 automatic pointer dcl 55 set ref 81* 86 87 87 93* 95 98 102 119 cleanup 000000 stack reference condition dcl 42 ref 125 com_err_ 000010 constant entry external dcl 32 ref 70 75 83 89 98 119 134 136 comment_index based fixed bin(17,0) array level 3 dcl 3-15 ref 172 172 comments based char(128) array level 2 packed packed unaligned dcl 3-15 set ref 172* cu_$arg_count 000012 constant entry external dcl 33 ref 68 cu_$arg_ptr 000014 constant entry external dcl 34 ref 81 93 default_form 11 based char level 2 packed packed unaligned dcl 3-15 set ref 153* default_forms_length 10 based fixed bin(17,0) level 2 dcl 3-15 ref 107 143 143 144 144 153 153 153 161 161 162 163 172 172 172 172 176 176 182 182 182 element_common based structure level 1 dcl 2-22 enter_output_request$request_type 000016 constant entry external dcl 35 ref 117 entry based structure array level 2 unaligned dcl 3-15 error 000104 automatic fixed bin(35,0) dcl 56 set ref 68* 69 70* 81* 82 83* 93* 94 117* 118 119* 127* 128 129 134* 136* error_table_$bad_arg 000020 external static fixed bin(35,0) dcl 36 set ref 98* error_table_$no_forms_table_defined 000022 external static fixed bin(35,0) dcl 37 ref 129 error_table_$noarg 000024 external static fixed bin(35,0) dcl 38 set ref 75* 89* first 000105 automatic fixed bin(17,0) dcl 57 set ref 162* 170 171 176 182 first_name_index based fixed bin(17,0) array level 3 dcl 3-15 ref 143 162 font_name_element based structure level 1 dcl 2-44 forms_info based structure level 1 unaligned dcl 3-15 set ref 107 forms_info_ptr 000126 automatic pointer dcl 3-14 set ref 107 107 123* 127* 142 143 143 144 144 153 153 160 161 161 162 163 172 172 172 172 176 176 182 182 182 i 000106 automatic fixed bin(17,0) dcl 58 set ref 80* 81* 83* 88 92* 92 93* 142* 143 143* 156* 161 165 167 176 182* index builtin function dcl 44 ref 86 95 ioa_ 000026 constant entry external dcl 39 ref 129 132 150 152 153 165 167 172 176 182 iod_info_$forms_info 000030 constant entry external dcl 40 ref 127 j 000107 automatic fixed bin(17,0) dcl 58 set ref 143* 144 144* 160* 161 162 163 172 172 176 182* k 000110 automatic fixed bin(17,0) dcl 58 set ref 170* 171 172 182 182* last 000111 automatic fixed bin(17,0) dcl 59 set ref 163* 170 176 last_name_index based fixed bin(17,0) array level 3 dcl 3-15 ref 143 163 length builtin function dcl 44 ref 144 144 max_name_length 000112 automatic fixed bin(17,0) dcl 60 set ref 141* 144 144* 172* 176* 182* myname 000034 constant char(32) initial packed unaligned dcl 48 set ref 70* 75* 75* 83* 89* 98* 119* 134* 136* names based char(32) array level 2 packed packed unaligned dcl 3-15 set ref 144 144 172* 182* need_header 000113 automatic bit(1) packed unaligned dcl 61 set ref 159* 164 168* no_comments 4 based fixed bin(17,0) level 2 dcl 3-15 ref 107 161 176 182 no_entries 2 based fixed bin(17,0) level 2 dcl 3-15 ref 107 142 144 144 160 161 172 172 176 182 182 no_names 3 based fixed bin(17,0) level 2 dcl 3-15 ref 107 161 172 176 182 no_specials 7 based fixed bin(17,0) level 2 dcl 3-15 ref 107 no_types 5 based fixed bin(17,0) level 2 dcl 3-15 ref 107 176 182 no_uses 6 based fixed bin(17,0) level 2 dcl 3-15 ref 107 null builtin function dcl 44 ref 107 123 127 127 orientation_element based structure level 1 dcl 2-29 queue_default 000124 automatic fixed bin(17,0) dcl 63 set ref 117* queue_max 000125 automatic fixed bin(17,0) dcl 63 set ref 117* request_type_name 000114 automatic char(32) packed unaligned dcl 62 set ref 117* 127* 129 129* 132* 134 134* 136* 150 150* 152* rtrim builtin function dcl 44 ref 144 144 text_offset based structure level 1 packed packed unaligned dcl 1-45 type_index based fixed bin(17,0) array level 3 dcl 3-15 ref 161 types based fixed bin(17,0) array level 2 dcl 3-15 ref 161 uses based char(128) array level 2 packed packed unaligned dcl 3-15 set ref 176* 182* uses_index based fixed bin(17,0) array level 3 dcl 3-15 ref 176 182 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FACTOR_CENTIMETERS internal static fixed bin(17,0) initial dcl 2-87 FACTOR_INCHES internal static fixed bin(17,0) initial dcl 2-87 FACTOR_LPI internal static fixed bin(17,0) initial dcl 2-87 FACTOR_POINTS internal static fixed bin(17,0) initial dcl 2-87 FORMS_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 3-45 IODT_VERSION_5 internal static char(8) initial packed unaligned dcl 1-49 LANDSCAPE_ORIENTATION internal static fixed bin(17,0) initial dcl 2-94 ORIENTATION_STRINGS internal static char(9) initial array packed unaligned dcl 2-92 PORTRAIT_ORIENTATION internal static fixed bin(17,0) initial dcl 2-94 SIZE_FACTORS internal static float bin(27) initial array dcl 2-84 VALIDATE_FORMS_INFO_INPUT_VERSION_1 internal static char(8) initial packed unaligned dcl 3-61 VALIDATE_FORMS_INFO_OUTPUT_VERSION_1 internal static char(8) initial packed unaligned dcl 3-82 error_string_length automatic fixed bin(17,0) dcl 3-80 fep automatic pointer dcl 2-21 font_element based structure level 1 dcl 2-36 font_size_element based structure level 1 dcl 2-38 forms_info_comment_count automatic fixed bin(17,0) dcl 3-38 forms_info_default_forms_length automatic fixed bin(17,0) dcl 3-38 forms_info_entry_count automatic fixed bin(17,0) dcl 3-38 forms_info_name_count automatic fixed bin(17,0) dcl 3-38 forms_info_specials_count automatic fixed bin(17,0) dcl 3-38 forms_info_types_count automatic fixed bin(17,0) dcl 3-38 forms_info_uses_count automatic fixed bin(17,0) dcl 3-38 holes_element based structure level 1 dcl 2-42 ifitp automatic pointer dcl 2-11 input_forms_string_length automatic fixed bin(17,0) dcl 3-60 iod_forms_info_tab based structure level 1 dcl 2-12 iod_tables_hdr based structure level 1 dcl 1-23 ithp automatic pointer dcl 1-22 line_element based structure level 1 dcl 2-40 postamble_element based structure level 1 dcl 2-50 preamble_element based structure level 1 dcl 2-48 returned_forms_length automatic fixed bin(17,0) dcl 3-80 special_element based structure level 1 dcl 2-59 text_strings based structure level 1 dcl 1-39 text_strings_ptr automatic pointer dcl 1-38 uses_element based structure level 1 dcl 2-52 validate_forms_info_input based structure level 1 dcl 3-51 validate_forms_info_input_ptr automatic pointer dcl 3-50 validate_forms_info_output based structure level 1 dcl 3-67 validate_forms_info_output_ptr automatic pointer dcl 3-66 NAMES DECLARED BY EXPLICIT CONTEXT. clean_up 000630 constant entry internal dcl 106 ref 125 190 dfi 000265 constant entry external dcl 25 display_forms_info 000274 constant entry external dcl 25 display_the_info 000700 constant entry internal dcl 111 ref 102 get_arg_error 000422 constant label dcl 83 ref 94 get_out 002232 constant label dcl 190 ref 138 missing_arg 000503 constant label dcl 89 ref 95 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2422 2454 2240 2432 Length 2726 2240 32 235 162 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dfi 129 external procedure is an external procedure. clean_up 69 internal procedure is called by several nonquick procedures. display_the_info 131 internal procedure enables or reverts conditions. on unit on line 125 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dfi 000100 argc dfi 000101 argl dfi 000102 argp dfi 000104 error dfi 000105 first dfi 000106 i dfi 000107 j dfi 000110 k dfi 000111 last dfi 000112 max_name_length dfi 000113 need_header dfi 000114 request_type_name dfi 000124 queue_default dfi 000125 queue_max dfi 000126 forms_info_ptr dfi THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as call_ext_out_desc call_ext_out call_int_this_desc call_int_other return_mac enable_op ext_entry int_entry int_entry_desc op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr enter_output_request$request_type ioa_ iod_info_$forms_info THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$no_forms_table_defined error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000264 68 000301 69 000311 70 000313 71 000342 74 000343 75 000345 76 000374 80 000375 81 000403 82 000420 83 000422 84 000452 86 000453 87 000467 88 000477 89 000503 90 000520 92 000521 93 000522 94 000537 95 000541 96 000555 98 000556 99 000610 102 000611 103 000624 104 000626 106 000627 107 000635 109 000676 111 000677 117 000713 118 000752 119 000755 120 001013 123 001014 125 001016 127 001040 128 001067 129 001072 132 001124 134 001151 136 001207 138 001242 141 001243 142 001244 143 001256 144 001302 146 001336 147 001340 150 001342 152 001375 153 001422 156 001456 159 001463 160 001466 161 001500 162 001532 163 001536 164 001543 165 001545 167 001565 168 001612 170 001614 171 001624 172 001626 176 001726 180 002021 182 002022 186 002136 188 002141 189 002143 190 002232 192 002237 ----------------------------------------------------------- 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