COMPILATION LISTING OF SEGMENT check_tc_data_size Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/09/85 1121.9 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 7 /* format: ^inddcls,ind4,ifthenstmt,ifthendo,thendo,ifthen,tree,^case */ 8 9 check_tc_data_size: proc; 10 11 call cu_$arg_count (n_args, code); 12 if code ^= 0 then go to REPORT_ERROR; 13 14 do arg_no = 1 to n_args; 15 16 call cu_$arg_ptr (arg_no, argp, argl, code); 17 if code ^= 0 then go to REPORT_ERROR; 18 19 if expect_apt_value then do; 20 expect_apt_value = "0"b; 21 ctl_arg = "-apt"; 22 n_apt = cv_dec_check_ (arg, code); 23 if code ^= 0 then go to REPORT_CV_ERROR; 24 if n_apt < 1 then go to REPORT_VALUE_ERROR; 25 end; 26 else if expect_itt_value then do; 27 expect_itt_value = "0"b; 28 ctl_arg = "-itt"; 29 n_itt = cv_dec_check_ (arg, code); 30 if code ^= 0 then go to REPORT_CV_ERROR; 31 if n_itt < 1 then go to REPORT_VALUE_ERROR; 32 end; 33 else if expect_pn_value then do; 34 ctl_arg = "-pn"; 35 if index (arg, "-") = 1 & ^accept_hyphen_path then do; 36 if arg = "-name" | arg = "-nm" then accept_hyphen_path = "1"b; 37 else go to REPORT_VALUE_ERROR; 38 end; 39 else do; 40 expect_pn_value = "0"b; 41 accept_hyphen_path = "0"b; 42 call expand_pathname_ (arg, config_dir_name, config_ename, code); 43 if code ^= 0 then do; 44 call com_err_ (code, my_name, 45 "^/Pathname expansion for config deck: ^a", arg); 46 return; 47 end; 48 49 have_path = "1"b; 50 end; 51 end; 52 53 else do; 54 if arg = "-apt" then expect_apt_value = "1"b; 55 else if arg = "-itt" then expect_itt_value = "1"b; 56 else if arg = "-pathname" then expect_pn_value = "1"b; 57 else if arg = "-pn" then expect_pn_value = "1"b; 58 else if index (arg, "-") = 1 then do; 59 code = error_table_$badopt; 60 go to REPORT_ARG_ERROR; 61 end; 62 else do; 63 code = error_table_$bad_arg; 64 go to REPORT_ARG_ERROR; 65 end; 66 end; /* ends ctl arg do */ 67 68 end; /* ends arg do loop */ 69 70 /* Check for a missing argument. */ 71 72 if expect_apt_value | expect_itt_value | expect_pn_value then do; 73 call com_err_ (error_table_$noarg, my_name, "^/after ^a", arg); 74 return; 75 end; 76 77 /* If either value is missing, find a config deck and get it. */ 78 79 if n_apt = 0 | n_itt = 0 then do; 80 configp = null (); 81 on cleanup call clean_up (); 82 83 if have_path then do; 84 call initiate_file_ (config_dir_name, config_ename, R_ACCESS, configp, bitcnt, code); 85 if code ^= 0 then do; 86 call com_err_ (code, my_name, 87 "^/Cannot access config deck with pathname, ^a", pathname_ (config_dir_name, config_ename)); 88 return; 89 end; 90 end; 91 else do; 92 configp = addr (config_deck$); 93 call hcs_$status_mins (configp, stype, bitcnt, code); 94 if code ^= 0 then do; 95 call com_err_ (code, my_name, "^/Cannot get bit count of config deck."); 96 return; 97 end; 98 end; 99 100 config_n_cards = divide (divide (bitcnt, 36, 17, 0), size (config_card), 17, 0); 101 config_max_cards = 128; /* a guess */ 102 103 tcd_cardp = null (); 104 do card_no = 1 by 1 while (config_deck.cards (card_no).word ^= FREE_CARD_WORD & tcd_cardp = null ()); 105 cardp = addr (config_deck.cards (card_no)); 106 if config_card.word = TCD_CARD_WORD then tcd_cardp = cardp; 107 end; 108 109 if tcd_cardp = null () then do; 110 call com_err_ (0, my_name, "Unable to find TCD card in configuration deck."); 111 return; 112 end; 113 114 if n_apt = 0 then n_apt = tcd_card.no_apt; 115 if n_itt = 0 then n_itt = tcd_card.no_itt; 116 117 call clean_up (); 118 end; 119 120 n_tcm_words = size (tcm) - 1; 121 n_apt_words = size (apte) * n_apt; 122 n_itt_words = size (itt_entry) * n_itt; 123 n_tc_data_words = n_tcm_words + n_apt_words + n_itt_words; 124 n_pages = divide (n_tc_data_words, 1024, 35, 0); 125 words_in_last_page = mod (n_tc_data_words, 1024); 126 if words_in_last_page ^= 0 then n_pages = n_pages + 1; 127 128 call ioa_ ("Size of tc_data metering (tcm) = ^d words^/Size of APT with ^d entries, ^d words each = ^d words^/Size of ITT with ^d entries, ^d words each = ^d words^/Size of tc_data = ^d words (^d pages^[ with ^d words in last page^])", 129 n_tcm_words, 130 n_apt, size (apte), n_apt_words, 131 n_itt, size (itt_entry), n_itt_words, 132 n_tc_data_words, 133 n_pages, (words_in_last_page ^= 0), words_in_last_page 134 ); 135 return; 136 137 REPORT_ERROR: 138 call com_err_ (code, my_name); 139 go to DISPLAY_USAGE; 140 141 REPORT_ARG_ERROR: 142 call com_err_ (code, my_name, arg); 143 144 DISPLAY_USAGE: 145 call ioa_ ("Usage: ^a <-apt N_APTE | -itt N_ITTE | -pathname PATH>", my_name); 146 return; 147 148 REPORT_CV_ERROR: 149 call com_err_ (error_table_$bad_conversion, my_name, 150 "^/Character ^d caused conversion error in arg, ^a, to control argument ""^a"".", 151 code, arg, ctl_arg); 152 return; 153 154 REPORT_VALUE_ERROR: 155 call com_err_ (error_table_$bad_arg, my_name, "^a to control argument ^a.", arg, ctl_arg); 156 return; 157 158 clean_up: proc; 159 160 if have_path then if configp ^= null then do; 161 call terminate_file_ (configp, 0, TERM_FILE_TERM, (0)); 162 configp = null; 163 end; 164 end; 165 166 dcl accept_hyphen_path bit (1) init ("0"b); 167 dcl addr builtin; 168 dcl arg char (argl) based (argp); 169 dcl argl fixed bin (21); 170 dcl argp pointer; 171 dcl arg_no fixed bin; 172 dcl bitcnt fixed bin (24); 173 dcl card_no fixed bin; 174 dcl cleanup condition; 175 dcl code fixed bin (35); 176 dcl com_err_ entry () options (variable); 177 dcl config_$find entry (char (4) aligned, ptr); 178 dcl config_dir_name char (168); 179 dcl config_ename char (32); 180 dcl ctl_arg char (32); 181 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 182 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 183 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 184 dcl divide builtin; 185 dcl error_table_$active_function fixed bin (35) ext static; 186 dcl error_table_$bad_arg fixed bin (35) ext static; 187 dcl error_table_$bad_conversion fixed bin (35) ext static; 188 dcl error_table_$badopt fixed bin (35) ext static; 189 dcl error_table_$noarg fixed bin (35) ext static; 190 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 191 dcl expect_apt_value bit (1) init ("0"b); 192 dcl expect_itt_value bit (1) init ("0"b); 193 dcl expect_pn_value bit (1) init ("0"b); 194 dcl have_path bit (1) init ("0"b); 195 dcl hcs_$status_mins entry (ptr, fixed bin (2), fixed bin (24), fixed bin (35)); 196 dcl index builtin; 197 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 198 dcl ioa_ entry () options (variable); 199 dcl mod builtin; 200 dcl my_name char (18) init ("check_size_tc_data") int static options (constant); 201 dcl n_apt fixed bin (35) init (0); 202 dcl n_args fixed bin; 203 dcl n_itt fixed bin (35) init (0); 204 dcl n_apt_words fixed bin (35); 205 dcl n_itt_words fixed bin (35); 206 dcl n_pages fixed bin (35); 207 dcl n_tc_data_words fixed bin (35); 208 dcl n_tcm_words fixed bin (35); 209 dcl null builtin; 210 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 211 dcl size builtin; 212 dcl stype fixed bin (2); 213 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 214 dcl words_in_last_page fixed bin; 215 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 */ 216 217 2 1 /* BEGIN INCLUDE FILE ... apte.incl.pl1 */ 2 2 2 3 /* Modified 1984-11-11 by E. Swenson for IPC event channel validation. */ 2 4 2 5 dcl aptep pointer; 2 6 2 7 dcl 1 apte based (aptep) aligned, /* APT entry declaration for an active (known) process */ 2 8 2 thread unaligned, /* List thread */ 2 9 3 fp bit (18), /* Forward pointer */ 2 10 3 bp bit (18), /* Backward pointer */ 2 11 2 flags unaligned, /* Flags and miscellaneous */ 2 12 3 mbz bit (1), /* This bit must be zero (sentinel bit) */ 2 13 3 wakeup_waiting bit (1), /* ON if process has received wakeup */ 2 14 3 stop_pending bit (1), /* ON if process has received stop connect */ 2 15 3 pre_empted bit (1), /* ON if process is being pre-empted by get_processor */ 2 16 3 hproc bit (1), /* ON if process is hardcore process */ 2 17 3 loaded bit (1), /* ON if required per-process pages are in memory and wired */ 2 18 3 eligible bit (1), /* ON if process is eligible */ 2 19 3 idle bit (1), /* ON if this is an idle process */ 2 20 3 interaction bit (1), /* ON if process has interacted recently */ 2 21 3 pre_empt_pending bit (1), /* ON if process has received pre-empt connect */ 2 22 3 default_procs_required bit (1), /* ON if apte.procs_required is system default */ 2 23 3 realtime_burst bit (1), /* ON if next eligibility is realtime */ 2 24 3 always_loaded bit (1), /* ON if process is not to be unloaded */ 2 25 3 dbr_loaded bit (1), /* ON if DBR is loaded on some CPU */ 2 26 3 being_loaded bit (1), /* ON if somebody loading this process */ 2 27 3 shared_stack_0 bit (1), /* ON if a shared stack_0 is assigned */ 2 28 3 page_wait_flag bit (1), /* flag ON if waiting for page */ 2 29 3 firstsw bit (1), /* OFF until process is intialized */ 2 30 3 state bit (18), /* execution state */ 2 31 2 page_faults fixed bin (35), /* total page faults for the process */ 2 32 2 processid bit (36), /* bit 0-17: offset of ATPE */ 2 33 /* bit 18-35: sequential number */ 2 34 2 te fixed bin (35), /* virtual time since eligibility award */ 2 35 2 ts fixed bin (35), /* virtual time since scheduling */ 2 36 2 ti fixed bin (35), /* virtual time since interaction */ 2 37 2 timax fixed bin (35), /* maximum value allowed for apte.ti */ 2 38 2 39 /* * * * * * * * */ 2 40 2 41 2 ipc_pointers unaligned, 2 42 3 event_thread bit (18), /* relative pointer to ITT list */ 2 43 3 pad3 bit (18), 2 44 2 ips_message bit (36), /* IPS signals pending */ 2 45 2 asteps unaligned, /* relative ASTE pointers */ 2 46 3 pds bit (18), /* PDS (per-process) */ 2 47 3 dseg bit (18), /* DSEG (per-process) */ 2 48 3 prds bit (18), /* PRDS (per-processor) */ 2 49 2 savex7 bit (18) unaligned, /* x7 at call to getwork (return point in pxss) */ 2 50 2 term_processid bit (36), /* process to send wakeup at temination */ 2 51 2 lock_id bit (36), /* File System unqieu ID associated with process */ 2 52 2 time_used_clock fixed bin (71), /* Total CPU time when process last lost CPU */ 2 53 2 54 /* * * * * * * * */ 2 55 2 56 2 wait_event bit (36) aligned, /* Event ID process awaiting */ 2 57 2 wct_index bit (18) unaligned, /* rel offset of WCTE */ 2 58 2 flags2 unaligned, 2 59 3 priority_scheduling bit (1), /* ON if guaranteed eligibility */ 2 60 3 special_wakeups bit (6), /* Special wakeup channels */ 2 61 3 pad7 bit (7), 2 62 3 batch bit (1), /* ON if absentee */ 2 63 3 pr_tag bit (3), /* CPU tag running or last run */ 2 64 2 state_change_time fixed bin (71), /* Time apte.state last changed */ 2 65 2 alarm_event fixed bin (71), /* wakeup event for alarm clock manager */ 2 66 2 alarm_time_thread bit (18) unaligned, /* thread of processes with pending alarms */ 2 67 2 alarm_time bit (54) unaligned, /* wakeup time for alarm */ 2 68 2 69 /* * * * * * */ 2 70 2 71 2 term_channel fixed bin (71), /* wakeup event for account overflow */ 2 72 2 ws_size fixed bin, /* working set estimate for the process */ 2 73 2 temax fixed bin (35), /* maximum eligibility slice (vcpu) */ 2 74 2 deadline fixed bin (71), /* time of next run */ 2 75 2 lock bit (18) unaligned, /* 0 => APTE locked, unlocked => return point of last unlock */ 2 76 2 unusable bit (18) unaligned, /* locking routines destroy */ 2 77 2 cpu_monitor fixed bin (35), /* if not 0, send wakeup to term_processid when virtual cpu 2 78* /* reaches this (units = 1/1024 sec) */ 2 79 2 paging_measure fixed bin (71), /* cumulative memory units */ 2 80 2 access_authorization bit (72), /* authorization of this process */ 2 81 2 dbr fixed bin (71), /* DBR value (constant since DSEG entry-held) */ 2 82 2 83 2 virtual_cpu_time fixed bin (71), /* cumulative virtual CPU time for the process */ 2 84 2 ittes_sent fixed bin (18), /* Unprocessed ITTs sent by this process */ 2 85 2 ittes_got fixed bin (18), /* Unprocessed ITTs received by this process */ 2 86 2 87 /* Cells used to drive and instrument finite-state model for response time 2 88* measurement. Maintained by meter_response_time */ 2 89 2 90 2 current_response_state fixed bin (17) unaligned, /* Process state in modle */ 2 91 2 pad18 bit (18) unaligned, 2 92 2 number_processing fixed bin (35), /* Number interactions */ 2 93 2 last_response_state_time fixed bin (71), /* Clock time at last response state change */ 2 94 2 total_processing_time fixed bin (71), /* Total interaction processing time */ 2 95 2 96 /* * * * * * */ 2 97 2 98 2 begin_interaction_vcpu fixed bin (71), /* Virtual cpu at beginning of last interaction */ 2 99 2 100 /* End of cells for finite-state model */ 2 101 2 102 2 saved_temax fixed bin (35), /* temax at eligibility award */ 2 103 2 procs_required bit (8) unaligned, /* bit mask of CPUs this process can run */ 2 104 2 pad4 bit (28) unaligned, 2 105 2 ipc_r_offset fixed bin (18) unsigned, 2 106 2 ipc_r_factor fixed bin (35) unsigned, 2 107 2 apad (10) fixed bin (35); 2 108 2 109 /* END INCLUDE FILE ... apte.incl.pl1 */ 218 219 3 1 /* BEGIN INCLUDE FILE ... config_deck.incl.pl1 ... 11/13/80, W. Olin Sibert */ 3 2 3 3 dcl (configp, cardp) pointer; 3 4 dcl config_n_cards fixed bin; /* Number of cards used in config */ 3 5 dcl config_max_cards fixed bin; /* Max number of cards in config */ 3 6 3 7 dcl config_deck$ fixed bin external static; 3 8 3 9 dcl 1 config_deck aligned based (configp), 3 10 2 cards (config_n_cards) aligned like config_card, 3 11 2 pad_cards (config_max_cards - config_n_cards) aligned like config_card; 3 12 3 13 dcl 1 config_card aligned based (cardp), 3 14 2 word char (4) aligned, 3 15 2 data_field (14) bit (36) aligned, 3 16 2 type_word aligned like config_card_type_word; 3 17 3 18 dcl 1 config_card_type_word aligned based, 3 19 2 field_type (14) bit (2) unaligned, 3 20 2 pad1 bit (4) unaligned, 3 21 2 n_fields fixed bin (4) unsigned unaligned; 3 22 3 23 dcl (CONFIG_DECIMAL_TYPE init ("11"b), 3 24 CONFIG_OCTAL_TYPE init ("00"b), 3 25 CONFIG_SINGLE_CHAR_TYPE init ("01"b), 3 26 CONFIG_STRING_TYPE init ("10"b)) bit (2) aligned static options (constant); 3 27 3 28 dcl ZERO_CARD_WORD char (4) aligned internal static options (constant) init (""); 3 29 dcl FREE_CARD_WORD char (4) aligned internal static options (constant) init ("ÿÿÿÿ"); 3 30 3 31 dcl VALID_CARD_WORD_CHARACTERS char (38) internal static options (constant) init 3 32 ("abcdefghijklmnopqrstuvwxyz0123456789_."); /* lowercase letters, digits, period and underscore */ 3 33 3 34 dcl EMPTY_FIELD bit (36) aligned internal static options (constant) init ("777777777777"b3); 3 35 3 36 /* END INCLUDE FILE config_deck.incl.pl1 */ 220 221 4 1 /* BEGIN INCLUDE FILE ... config_tcd_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 4 2 4 3 dcl tcd_cardp pointer; /* pointer to TCD card */ 4 4 4 5 dcl 1 tcd_card aligned based (tcd_cardp), /* TCD card declaration */ 4 6 2 word char (4), /* "tcd" */ 4 7 2 no_apt fixed bin, /* Number of APT entries */ 4 8 2 no_itt fixed bin, /* Number of ITT entries */ 4 9 4 10 2 pad (12) bit (36) aligned, /* Pad to 15 fields */ 4 11 4 12 2 type_word aligned, 4 13 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 4 14 3 pad1 bit (4) unaligned, 4 15 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 4 16 4 17 dcl TCD_CARD_WORD char (4) aligned internal static options (constant) init ("tcd"); 4 18 4 19 /* END INCLUDE FILE ... config_tcd_card.incl.pl1 */ 222 223 5 1 /* BEGIN INCLUDE FILE ... itt_entry.incl.pl1 ... Feb 1981 */ 5 2 5 3 /* format: style3 */ 5 4 dcl itte_ptr ptr; /* pointer to entry in ITT */ 5 5 5 6 dcl 1 itt_entry aligned based (itte_ptr), /* declaration of single entry in the ITT */ 5 7 2 next_itt_relp bit (18) unaligned, /* thread of relative pointers */ 5 8 2 pad bit (18) unaligned, 5 9 2 sender bit (36), /* id of sending process */ 5 10 2 origin, /* origin of event message */ 5 11 3 dev_signal bit (18) unaligned, /* 0 = user-event, 1 = device-signal */ 5 12 3 ring fixed bin (17) unaligned, /* if user-event, sender's validation ring */ 5 13 2 target_id bit (36), /* target process' id */ 5 14 2 channel_id fixed bin (71), /* target process' event channel */ 5 15 2 message fixed bin (71); /* event message */ 5 16 5 17 /* END INCLUDE FILE ... itt_entry.incl.pl1 */ 224 225 6 1 /* BEGIN INCLUDE FILE ... tcm.incl.pl1 ... used to generate tc_data cds */ 6 2 /* NOTE -- This include file has TWO counterparts in ALM: tc_meters.incl.alm and */ 6 3 /* wcte.incl.alm. They cannot be produced with cif, and must be kept up to date manually. */ 6 4 /* Modified 830914 to replace tty_polling_time with opc_polling_time... -E. A. Ranzenbach */ 6 5 /* Modified 1984.05.21 by M. Pandolf to add tc_suspend_lock */ 6 6 /* Modified 1984.11.26 by Keith Loepere for uid_array. */ 6 7 /* Modified 1984.12.06 by Keith Loepere for page create delaying. */ 6 8 6 9 dcl tcmp ptr; 6 10 6 11 dcl 1 tcm aligned based (tcmp), 6 12 2 tc_suspend_lock like lock, /* when locked, tc is suspended */ 6 13 2 cid2 fixed bin (18), 6 14 2 cid3 fixed bin (18), 6 15 2 cid4 fixed bin (18), 6 16 2 depth_count fixed bin (18), /* depth last process run */ 6 17 2 loadings fixed bin (18), /* number of process loadings */ 6 18 6 19 2 blocks fixed bin (18), /* number of calls to block */ 6 20 2 wakeups fixed bin (18), /* number of calls to wakeup */ 6 21 2 waits fixed bin (18), /* number of calls to wait */ 6 22 2 notifies fixed bin (18), /* number of calls to notify */ 6 23 2 schedulings fixed bin (18), 6 24 2 interactions fixed bin (18), /* number of interactive schedulings */ 6 25 2 avequeue fixed bin (35, 18), /* recent time average of number in queue */ 6 26 2 te_wait fixed bin (18), /* times te called from wait */ 6 27 6 28 2 te_block fixed bin (18), /* times te updated from block */ 6 29 2 te_i_stop fixed bin (18), /* times te updated from i_stop */ 6 30 2 te_pre_empt fixed bin (18), /* times te updated from pre_empt */ 6 31 2 p_interactions fixed bin, /* times interaction bit turned off because of high priority */ 6 32 2 idle fixed bin (71), /* total idle time */ 6 33 2 mp_idle fixed bin (71), /* multi-programming idle */ 6 34 6 35 2 nmp_idle fixed bin (71), /* non-multi-programming idle time */ 6 36 2 zero_idle fixed bin (71), /* zero idle time */ 6 37 2 last_time fixed bin (71), /* last time a process was run */ 6 38 2 loop_locks fixed bin (18), /* times looped on the APT lock */ 6 39 2 loop_lock_time fixed bin (18), /* time looping on the APT lock */ 6 40 2 ave_eligible fixed bin (35, 18), /* average length of eligible queue */ 6 41 2 sort_to_elhead fixed bin (18), /* 0=> no one,1 => int've only, 2 => everybody */ 6 42 2 processor_time fixed bin (71), /* total processor time on system */ 6 43 2 response_time fixed bin (71), /* estimate of response time */ 6 44 2 eligible_time fixed bin (71), /* estimate of eligible time */ 6 45 2 response_count fixed bin, /* count of response meters */ 6 46 2 eligible_count fixed bin, /* count of eligible meters */ 6 47 2 quit_counts (0:5) fixed bin, /* array of buckets indexed by state */ 6 48 2 loading_idle fixed bin (71), /* loading_idle time */ 6 49 2 delta_vcpu fixed bin (71), /* delta virtual CPU time for the system */ 6 50 2 post_purge_switch fixed bin, /* ON if post purging is to be done */ 6 51 2 time_out_severity fixed bin, /* syserr first arg for notify time outs */ 6 52 2 notify_check fixed bin, /* obsolete */ 6 53 2 quit_priority fixed bin, /* factor for scheduler quit response */ 6 54 2 iobm_polling_time fixed bin (71), /* time to poll iobm */ 6 55 2 end_of_time fixed bin (71), /* very large time */ 6 56 2 gp_at_notify fixed bin (18), /* 0 => just do get_idle_processor */ 6 57 2 gp_at_ptlnotify fixed bin (18), /* 0 => just do get_idle_processor */ 6 58 2 int_q_enabled fixed bin (18), /* 0 => no intv q in percent mode */ 6 59 2 fnp_buffer_threshold fixed bin (18), /* if fewer free buffs then stingy alloc strategy */ 6 60 /* set this to >= half n_ttylines/fnp for safety */ 6 61 6 62 /* 100 octal */ 6 63 6 64 2 depths (8) fixed bin (18), /* histogram of run depths */ 6 65 2 tdepths (8) fixed bin (71), /* histogram of times run per depth */ 6 66 2 pfdepth (8) fixed bin (18), /* histogram of page faults per depth */ 6 67 6 68 2 ptl_not_waits fixed bin (18), /* times ptl_wait noticed ptl was unlocked */ 6 69 2 gw_gp_window_count fixed bin (18), /* times window noticed */ 6 70 2 metering_lock fixed bin (18), /* 0=locked, else unlocked */ 6 71 2 ptl_waits fixed bin (18), /* num calls to ptl_wait */ 6 72 2 gp_start_count fixed bin (18), /* to detect gw_gp window lossage */ 6 73 2 gp_done_count fixed bin (18), 6 74 2 nto_check_time fixed bin (71), /* next time at which nto code will be called */ 6 75 2 nto_delta fixed bin (35), /* microsec between nto checks */ 6 76 2 nto_count fixed bin (18), /* number of times nto detected */ 6 77 2 tcpu_scheduling fixed bin (18), /* obsolete */ 6 78 2 nto_event bit (36), /* last event which NTO'd */ 6 79 2 page_notifies fixed bin (18), 6 80 2 notify_nobody_count fixed bin (18), 6 81 2 notify_nobody_event bit (36), 6 82 2 system_type fixed bin, /* used to be tcm.inter */ 6 83 6 84 2 stat (0:15) fixed bin (18), /* num apte's in each state */ 6 85 6 86 /* 200 octal */ 6 87 6 88 2 wait (8), 6 89 3 time fixed bin (18), /* histogram of page fault waiting times versus did */ 6 90 3 count fixed bin (18), 6 91 6 92 2 ready (8), 6 93 3 time fixed bin (18), /* histogram of times in ready queue */ 6 94 3 count fixed bin (18), 6 95 6 96 2 total_pf_time fixed bin (71), /* total time spent from start to end of 6 97* all page faults */ 6 98 2 total_pf_count fixed bin (18), /* total number of page faults metered */ 6 99 2 auto_tune_ws fixed bin (18), /* 0=> dont, atherwise compensate for quantum len */ 6 100 2 ocore_delta fixed bin (18), /* number of pages reserved for int users */ 6 101 2 ws_sum fixed bin (18), /* total of eligible's ws_sizes */ 6 102 2 nonidle_force_count fixed bin (18), /* count of eligibilities forced */ 6 103 2 itt_list_lock bit (36) aligned, /* Lock on ITT free list */ 6 104 2 cpu_pf_time fixed bin (71), /* total cpu time spent handling page faults */ 6 105 2 cpu_pf_count fixed bin (18), /* total count of cpu time meterings */ 6 106 2 special_offsets unaligned, 6 107 3 apt_offset bit (18), 6 108 3 pad bit (18), 6 109 2 getwork_time fixed bin (71), /* total time spent in getwork */ 6 110 2 getwork_count fixed bin (18), /* total times through getwork */ 6 111 2 short_pf_count fixed bin (18), /* number of short page faults */ 6 112 2 interrupt_time fixed bin (71), /* total time spent in interrupt */ 6 113 2 interrupt_count fixed bin (71), /* total number of metered interrupts */ 6 114 2 ocore fixed bin (35, 18), /* fraction of core for int've users */ 6 115 2 pre_empt_flag bit (36) aligned, /* controls whether preempting at done time */ 6 116 2 cumulative_memory_usage fixed binary (71), /* total number of memory usage units */ 6 117 2 processor_time_at_define_wc fixed bin (71), /* value of processor_time when WC's last defined */ 6 118 2 boost_priority fixed bin, /* number of times priority process given high priority */ 6 119 2 lost_priority fixed bin, /* number of times priority process lost eligibility */ 6 120 2 total_clock_lag fixed bin (71), /* sum of all simulated clock delays */ 6 121 2 clock_simulations fixed bin, /* number of times alarm clock interrupt was simulated */ 6 122 2 max_clock_lag fixed bin, /* largest simulated alarm clock delay */ 6 123 6 124 /* 300 octal */ 6 125 6 126 2 pdscopyl fixed bin (18), /* amount of pds to copy for new process */ 6 127 2 max_hproc_segno fixed bin, /* largest allowed hardcore segment number */ 6 128 2 prds_length fixed bin (18), /* length of PRDS */ 6 129 2 pds_length fixed bin (18), /* length of PDS */ 6 130 2 lock fixed bin (18), /* process id generator lock */ 6 131 2 id bit (36) aligned, /* next uid to be added to uid_array */ 6 132 2 system_shutdown fixed bin (18), 6 133 2 working_set_factor fixed bin (35, 18), /* working set factor */ 6 134 6 135 2 ncpu fixed bin (18), /* number of processors currently being used */ 6 136 2 last_eligible bit (18), /* last process to gain eligibility */ 6 137 2 apt_lock fixed bin (35), /* + write; 0 hidden; -1 unlocked; -(N+1) Nreaders */ 6 138 2 apt_size fixed bin (18), /* number of APT entries */ 6 139 2 realtime_q aligned like based_sentinel, /* processes with realtime deadlines */ 6 140 2 aht_size fixed bin (18), /* APT hash table size */ 6 141 2 itt_size fixed bin (18), /* number of ITT entries */ 6 142 6 143 2 dst_size fixed bin (18), /* number of allowed DST entries */ 6 144 2 itt_free_list bit (18), /* pointer to ITT free list */ 6 145 2 used_itt fixed bin (18), /* number of used ITT entries */ 6 146 2 initializer_id bit (36) aligned, /* process id of initializer */ 6 147 2 n_eligible fixed bin (18), /* number of processes eligible */ 6 148 2 max_eligible fixed bin (30), /* maximum allowed number of eligible processes */ 6 149 2 wait_enable fixed bin (18), /* turned on when waiting mechanism works */ 6 150 2 apt_entry_size fixed bin (18), /* size of an APT entry */ 6 151 6 152 2 interactive_q aligned like based_sentinel, /* head of interactive queue */ 6 153 2 dst_ptr ptr, /* pointer to device signal table */ 6 154 2 old_user ptr, /* last process to run (apt ptr ) */ 6 155 2 initialize_time fixed bin (71), /* time of initialization */ 6 156 6 157 2 init_event fixed bin (18), /* wait event during initialization */ 6 158 2 oldt fixed bin (18), /* timer reading from previous process */ 6 159 2 newt fixed bin (18), /* timer setting for new process */ 6 160 2 tefirst fixed bin (30), /* first eligible time */ 6 161 2 telast fixed bin (30), /* last eligible time */ 6 162 2 timax fixed bin (35), /* time in queue for lowest level */ 6 163 2 empty_q bit (18), /* thread of empty APT entries */ 6 164 2 working_set_addend fixed bin (18), /* additive working set parameter */ 6 165 2 ready_q_head bit (0) aligned, /* for added segdef */ 6 166 2 eligible_q_head aligned like based_sentinel, /* head of eligible queue */ 6 167 2 ready_q_tail bit (0) aligned, /* for added segdef */ 6 168 2 eligible_q_tail aligned like based_sentinel, /* tail of eligible queue */ 6 169 2 idle_tail aligned like based_sentinel, /* tail of idle list */ 6 170 2 min_eligible fixed bin (30), 6 171 2 alarm_timer_list bit (18) aligned, /* rel pointer to apt entry for next alarm timer */ 6 172 2 guaranteed_elig_inc fixed bin (35), /* amount of guaranteed eligibility time in microsecs. */ 6 173 2 priority_sched_inc fixed bin (35), /* amount of block time before process is given priority */ 6 174 2 next_alarm_time fixed bin (71), /* clock time for next alarm timer */ 6 175 2 priority_sched_time fixed bin (71), /* time for priority process to be given priority */ 6 176 2 opc_polling_time fixed bin (71), /* time to poll console DIM */ 6 177 2 disk_polling_time fixed bin (71), /* time to poll disk DIM */ 6 178 2 tape_polling_time fixed bin (71), /* time to poll tape DIM */ 6 179 2 imp_polling_time fixed bin (71), /* time to poll imp */ 6 180 2 imp_polling_lock fixed bin (18), /* do not poll if lock set */ 6 181 2 max_channels fixed bin (18), /* num special channels per process */ 6 182 6 183 /* 400 octal */ 6 184 6 185 2 system_virtual_time fixed bin (71), /* non-idle virtual time */ 6 186 2 credit_bank fixed bin (71), /* credits not yet passed out */ 6 187 2 min_wct_index bit (18) aligned, /* offset of initializer work class table entry */ 6 188 2 max_wct_index bit (18) aligned, /* offset of highest wcte currently defined */ 6 189 2 delta_vt fixed bin (71), /* temp used by pxss.compute_virtual_clocks */ 6 190 2 gross_idle_time fixed bin (71), /* idle time_used_clock */ 6 191 2 credits_per_scatter fixed bin (35), /* total number of credits awarded at once */ 6 192 2 best_credit_value fixed bin (18), /* temp for pxss.find_next_eligible */ 6 193 2 define_wc_time fixed bin (71), /* clock time when workclasses last degined */ 6 194 2 max_batch_elig fixed bin (35), 6 195 2 num_batch_elig fixed bin (35), 6 196 2 deadline_mode fixed bin (35), /* 0=> ti sorts, else deadline sorts */ 6 197 2 credits_scattered fixed bin (35), 6 198 2 max_max_eligible fixed bin (30), /* Maximum of maxe */ 6 199 2 max_stopped_stack_0 fixed bin (35), /* Maximum stack_0's suspended by stopped procs */ 6 200 2 stopped_stack_0 fixed bin (35), /* Number stack_0's suspended by stopped procs */ 6 201 2 mos_polling_interval fixed bin (35), /* for heals */ 6 202 2 mos_polling_time fixed bin (71), /* for heals */ 6 203 2 vcpu_response_bounds (VCPU_RESPONSE_BOUNDS) fixed bin (35), 6 204 2 vcpu_response_bounds_size fixed bin (35), 6 205 2 meter_response_time_calls fixed bin (35), 6 206 2 meter_response_time_invalid fixed bin (35), 6 207 2 meter_response_time_overhead fixed bin (71), 6 208 2 init_wait_time fixed bin (71), /* used by wait/notify during initialization */ 6 209 2 init_wait_timeout fixed bin (71), /* notify-timeout interval during initialization */ 6 210 2 init_timeout_severity fixed bin, /* notify-timeout severity during initialization */ 6 211 2 init_timeout_recurse fixed bin, /* count of NTO recursion during initialization */ 6 212 2 max_timer_register fixed bin (71), /* max cpu burst = # cpus x pre_empt_sample_time */ 6 213 2 pre_empt_sample_time fixed bin (35), /* tuning parameter - max time between samples */ 6 214 2 governing_credit_bank fixed bin (35), /* used for limiting eligibility on governed work classes*/ 6 215 2 process_initial_quantum fixed bin (35), /* eligibility quantum first eligibility */ 6 216 2 default_procs_required bit (8) aligned, /* default mask of CPUs required */ 6 217 2 work_class_idle fixed bin (71), /* idle time due to work class restrictions */ 6 218 6 219 /* Tuning Parameters for Stack Truncation */ 6 220 6 221 2 stk_truncate bit (1) aligned, 6 222 2 stk_truncate_always bit (1) aligned, 6 223 2 stk_trunc_avg_f1 fixed bin (35, 18), 6 224 2 stk_trunc_avg_f2 fixed bin (35, 18), 6 225 2 lock_error_severity fixed bin, /* syserr severity */ 6 226 6 227 2 gv_integration fixed bin (35), /* Integration interval for governing */ 6 228 2 gv_integration_set bit (1) aligned, /* ON => gv_integration set by ctp */ 6 229 2 pauses fixed bin (35), /* Calls to pause (reschedule) */ 6 230 2 volmap_polling_time fixed bin (71), 6 231 2 next_ring0_timer fixed bin (71), /* next time that ring 0 timer goes off */ 6 232 2 realtime_io_priority_switch fixed bin, /* 0 => give I/O interrupt wakeups realtime priotiry */ 6 233 2 realtime_io_deadline fixed bin (35), /* Delta to clock for I/O realtime deadline */ 6 234 2 realtime_io_quantum fixed bin (35), /* Quantum for I/O realtime burst */ 6 235 2 realtime_priorities fixed bin (35), /* Count for metering */ 6 236 2 relinquishes fixed bin (35), /* Calls to relinquish_priority */ 6 237 2 abort_ips_mask bit (36) aligned, /* IPS mask for tc_util$check_abort */ 6 238 6 239 /* 500 octal */ 6 240 6 241 2 uid_array (0:15) bit (36) aligned, /* array from which a uid is chosen (randomly) */ 6 242 2 pad5 (176) fixed bin (35), /* room for expansion compatibly */ 6 243 6 244 /* 1000 octal */ 6 245 6 246 2 pad7 (64) fixed bin (35), 6 247 6 248 /* 1100 octal */ 6 249 6 250 2 pad6 (8) fixed bin (35), 6 251 2 work_class_table aligned, /* array of per workclass information */ 6 252 3 wcte (0:16) aligned like wct_entry, 6 253 6 254 /* 3000 octal */ 6 255 6 256 2 apt fixed bin; 6 257 6 258 dcl wctep ptr; 6 259 6 260 dcl 1 wct_entry aligned based (wctep), /* Work class entry */ 6 261 2 thread unaligned, /* Ready list */ 6 262 3 fp bit (18), /* Head of ready list */ 6 263 3 bp bit (18), /* Tail of ready list */ 6 264 2 flags unaligned, 6 265 3 mnbz bit (1), /* Sentinel bit must not be zero. */ 6 266 3 defined bit (1), 6 267 3 io_priority bit (1), 6 268 3 governed bit (1), 6 269 3 interactive_q bit (1), 6 270 3 pad bit (31), 6 271 2 credits fixed bin (35), /* Current worthiness of group */ 6 272 2 minf fixed bin (35), /* min fraction of cpu */ 6 273 2 pin_weight fixed bin (35), /* number of cycles to pin pages */ 6 274 2 eligibilities fixed bin (35), /* Count of eligibilities awarded */ 6 275 2 cpu_sum fixed bin (71), /* CPU used by members */ 6 276 2 resp1 fixed bin (71), 6 277 2 resp2 fixed bin (71), 6 278 2 quantum1 fixed bin (35), 6 279 2 quantum2 fixed bin (35), 6 280 2 rmeter1 fixed bin (71), 6 281 2 rmeter2 fixed bin (71), 6 282 2 rcount1 fixed bin (35), 6 283 2 rcount2 fixed bin (35), 6 284 2 realtime fixed bin (35), 6 285 2 purging fixed bin (35), 6 286 2 maxel fixed bin (35), 6 287 2 nel fixed bin (35), 6 288 2 number_thinks fixed bin (35), /* number times process entered "think" state */ 6 289 2 number_queues fixed bin (35), /* number times process entered "queued" state */ 6 290 2 total_think_time fixed bin (71), 6 291 2 total_queue_time fixed bin (71), 6 292 6 293 /* The next three arrays correspond to the array vcpu_response_bounds */ 6 294 6 295 2 number_processing (VCPU_RESPONSE_BOUNDS+1) fixed bin (35), /* number times entered "processing" state */ 6 296 2 total_processing_time (VCPU_RESPONSE_BOUNDS+1) fixed bin (71), 6 297 2 total_vcpu_time (VCPU_RESPONSE_BOUNDS+1) fixed bin (71), 6 298 2 maxf fixed bin (35), /* maximum fraction of cpu time */ 6 299 2 governing_credits fixed bin (35), /* for limiting cpu resources */ 6 300 2 pad1 (4) fixed bin (35); 6 301 6 302 6 303 dcl 1 based_sentinel aligned based, /* format of pxss-style sentinel */ 6 304 2 fp bit (18) unal, 6 305 2 bp bit (18) unal, 6 306 2 sentinel bit (36) aligned; 6 307 6 308 dcl VCPU_RESPONSE_BOUNDS fixed bin init (3) int static options (constant); 6 309 6 310 /* END INCLUDE FILE tcm.incl.pl1 */ 226 227 7 1 /* Begin include file hc_lock.incl.pl1 BIM 2/82 */ 7 2 /* Replaced by hc_fast_lock.incl.pl1 RSC 11/84 because name of structure 7 3* encourages name conflicts. 7 4* USE HC_FAST_LOCK INSTEAD! 7 5**/ 7 6 7 7 /* Lock format suitable for use with lock$lock_fast, unlock_fast */ 7 8 7 9 /* format: style3 */ 7 10 7 11 declare lock_ptr pointer; 7 12 declare 1 lock aligned based (lock_ptr), 7 13 2 pid bit (36) aligned, /* holder of lock */ 7 14 2 event bit (36) aligned, /* event associated with lock */ 7 15 2 flags aligned, 7 16 3 notify_sw bit (1) unaligned, 7 17 3 pad bit (35) unaligned; /* certain locks use this pad, like dirs */ 7 18 7 19 /* End include file hc_lock.incl.pl1 */ 228 229 8 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 8 2 /* format: style2,^inddcls,idind32 */ 8 3 8 4 declare 1 terminate_file_switches based, 8 5 2 truncate bit (1) unaligned, 8 6 2 set_bc bit (1) unaligned, 8 7 2 terminate bit (1) unaligned, 8 8 2 force_write bit (1) unaligned, 8 9 2 delete bit (1) unaligned; 8 10 8 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 8 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 8 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 8 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 8 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 8 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 8 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 8 18 8 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 230 231 end check_tc_data_size; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/08/85 1133.8 check_tc_data_size.pl1 >spec>on>41-15>check_tc_data_size.pl1 216 1 04/09/85 1109.7 access_mode_values.incl.pl1 >spec>on>41-15>access_mode_values.incl.pl1 218 2 01/06/85 1422.2 apte.incl.pl1 >ldd>include>apte.incl.pl1 220 3 05/08/81 1853.6 config_deck.incl.pl1 >ldd>include>config_deck.incl.pl1 222 4 05/08/81 1853.7 config_tcd_card.incl.pl1 >ldd>include>config_tcd_card.incl.pl1 224 5 03/27/82 0429.8 itt_entry.incl.pl1 >ldd>include>itt_entry.incl.pl1 226 6 01/30/85 1523.9 tcm.incl.pl1 >ldd>include>tcm.incl.pl1 228 7 01/06/85 1422.1 hc_lock.incl.pl1 >ldd>include>hc_lock.incl.pl1 230 8 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. FREE_CARD_WORD 001657 constant char(4) initial dcl 3-29 ref 104 R_ACCESS 000031 constant bit(3) initial unaligned dcl 1-11 set ref 84* TCD_CARD_WORD 000001 constant char(4) initial dcl 4-17 ref 106 TERM_FILE_TERM 000000 constant bit(3) initial unaligned dcl 8-14 set ref 161* VCPU_RESPONSE_BOUNDS constant fixed bin(17,0) initial dcl 6-308 ref 120 120 120 120 accept_hyphen_path 000100 automatic bit(1) initial unaligned dcl 166 set ref 35 36* 41* 166* addr builtin function dcl 167 ref 92 105 apte based structure level 1 dcl 2-7 ref 121 128 128 aptep automatic pointer dcl 2-5 ref 121 128 128 arg based char unaligned dcl 168 set ref 22* 29* 35 36 36 42* 44* 54 55 56 57 58 73* 141* 148* 154* arg_no 000104 automatic fixed bin(17,0) dcl 171 set ref 14* 16* argl 000101 automatic fixed bin(21,0) dcl 169 set ref 16* 22 22 29 29 35 36 36 42 42 44 44 54 55 56 57 58 73 73 141 141 148 148 154 154 argp 000102 automatic pointer dcl 170 set ref 16* 22 29 35 36 36 42 44 54 55 56 57 58 73 141 148 154 based_sentinel based structure level 1 dcl 6-303 bitcnt 000105 automatic fixed bin(24,0) dcl 172 set ref 84* 93* 100 card_no 000106 automatic fixed bin(17,0) dcl 173 set ref 104* 104* 105* cardp 000232 automatic pointer dcl 3-3 set ref 100 105* 106 106 cards based structure array level 2 dcl 3-9 set ref 105 cleanup 000110 stack reference condition dcl 174 ref 81 code 000116 automatic fixed bin(35,0) dcl 175 set ref 11* 12 16* 17 22* 23 29* 30 42* 43 44* 59* 63* 84* 85 86* 93* 94 95* 137* 141* 148* com_err_ 000010 constant entry external dcl 176 ref 44 73 86 95 110 137 141 148 154 config_card based structure level 1 dcl 3-13 ref 100 config_card_type_word based structure level 1 dcl 3-18 config_deck based structure level 1 dcl 3-9 config_deck$ 000044 external static fixed bin(17,0) dcl 3-7 set ref 92 config_dir_name 000117 automatic char(168) unaligned dcl 178 set ref 42* 84* 86* 86* config_ename 000171 automatic char(32) unaligned dcl 179 set ref 42* 84* 86* 86* config_max_cards 000235 automatic fixed bin(17,0) dcl 3-5 set ref 101* config_n_cards 000234 automatic fixed bin(17,0) dcl 3-4 set ref 100* configp 000230 automatic pointer dcl 3-3 set ref 80* 84* 92* 93* 104 105 160 161* 162* ctl_arg 000201 automatic char(32) unaligned dcl 180 set ref 21* 28* 34* 148* 154* cu_$arg_count 000012 constant entry external dcl 181 ref 11 cu_$arg_ptr 000014 constant entry external dcl 182 ref 16 cv_dec_check_ 000016 constant entry external dcl 183 ref 22 29 divide builtin function dcl 184 ref 100 100 124 error_table_$bad_arg 000020 external static fixed bin(35,0) dcl 186 set ref 63 154* error_table_$bad_conversion 000022 external static fixed bin(35,0) dcl 187 set ref 148* error_table_$badopt 000024 external static fixed bin(35,0) dcl 188 ref 59 error_table_$noarg 000026 external static fixed bin(35,0) dcl 189 set ref 73* expand_pathname_ 000030 constant entry external dcl 190 ref 42 expect_apt_value 000211 automatic bit(1) initial unaligned dcl 191 set ref 19 20* 54* 72 191* expect_itt_value 000212 automatic bit(1) initial unaligned dcl 192 set ref 26 27* 55* 72 192* expect_pn_value 000213 automatic bit(1) initial unaligned dcl 193 set ref 33 40* 56* 57* 72 193* have_path 000214 automatic bit(1) initial unaligned dcl 194 set ref 49* 83 160 194* hcs_$status_mins 000032 constant entry external dcl 195 ref 93 index builtin function dcl 196 ref 35 58 initiate_file_ 000034 constant entry external dcl 197 ref 84 ioa_ 000036 constant entry external dcl 198 ref 128 144 itt_entry based structure level 1 dcl 5-6 ref 122 128 128 itte_ptr automatic pointer dcl 5-4 ref 122 128 128 lock based structure level 1 dcl 7-12 mod builtin function dcl 199 ref 125 my_name 000002 constant char(18) initial unaligned dcl 200 set ref 44* 73* 86* 95* 110* 137* 141* 144* 148* 154* n_apt 000215 automatic fixed bin(35,0) initial dcl 201 set ref 22* 24 79 114 114* 121 128* 201* n_apt_words 000220 automatic fixed bin(35,0) dcl 204 set ref 121* 123 128* n_args 000216 automatic fixed bin(17,0) dcl 202 set ref 11* 14 n_itt 000217 automatic fixed bin(35,0) initial dcl 203 set ref 29* 31 79 115 115* 122 128* 203* n_itt_words 000221 automatic fixed bin(35,0) dcl 205 set ref 122* 123 128* n_pages 000222 automatic fixed bin(35,0) dcl 206 set ref 124* 126* 126 128* n_tc_data_words 000223 automatic fixed bin(35,0) dcl 207 set ref 123* 124 125 128* n_tcm_words 000224 automatic fixed bin(35,0) dcl 208 set ref 120* 123 128* no_apt 1 based fixed bin(17,0) level 2 dcl 4-5 ref 114 no_itt 2 based fixed bin(17,0) level 2 dcl 4-5 ref 115 null builtin function dcl 209 ref 80 103 104 109 160 162 pathname_ 000040 constant entry external dcl 210 ref 86 86 size builtin function dcl 211 ref 100 120 121 122 128 128 128 128 stype 000225 automatic fixed bin(2,0) dcl 212 set ref 93* tcd_card based structure level 1 dcl 4-5 tcd_cardp 000236 automatic pointer dcl 4-3 set ref 103* 104 106* 109 114 115 tcm based structure level 1 dcl 6-11 ref 120 tcmp automatic pointer dcl 6-9 ref 120 terminate_file_ 000042 constant entry external dcl 213 ref 161 wct_entry based structure level 1 dcl 6-260 word based char(4) level 2 in structure "config_card" dcl 3-13 in procedure "check_tc_data_size" ref 106 word based char(4) array level 3 in structure "config_deck" dcl 3-9 in procedure "check_tc_data_size" set ref 104 words_in_last_page 000226 automatic fixed bin(17,0) dcl 214 set ref 125* 126 128 128* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 CONFIG_DECIMAL_TYPE internal static bit(2) initial dcl 3-23 CONFIG_OCTAL_TYPE internal static bit(2) initial dcl 3-23 CONFIG_SINGLE_CHAR_TYPE internal static bit(2) initial dcl 3-23 CONFIG_STRING_TYPE internal static bit(2) initial dcl 3-23 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 EMPTY_FIELD internal static bit(36) initial dcl 3-34 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial 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 unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial unaligned dcl 8-12 TERM_FILE_DELETE internal static bit(5) initial unaligned dcl 8-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial unaligned dcl 8-16 TERM_FILE_TRUNC internal static bit(1) initial unaligned dcl 8-11 TERM_FILE_TRUNC_BC internal static bit(2) initial unaligned dcl 8-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial unaligned dcl 8-15 VALID_CARD_WORD_CHARACTERS internal static char(38) initial unaligned dcl 3-31 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 ZERO_CARD_WORD internal static char(4) initial dcl 3-28 config_$find 000000 constant entry external dcl 177 error_table_$active_function external static fixed bin(35,0) dcl 185 lock_ptr automatic pointer dcl 7-11 terminate_file_switches based structure level 1 packed unaligned dcl 8-4 wctep automatic pointer dcl 6-258 NAMES DECLARED BY EXPLICIT CONTEXT. DISPLAY_USAGE 001464 constant label dcl 144 set ref 139 REPORT_ARG_ERROR 001441 constant label dcl 141 ref 60 64 REPORT_CV_ERROR 001505 constant label dcl 148 ref 23 30 REPORT_ERROR 001423 constant label dcl 137 ref 12 17 REPORT_VALUE_ERROR 001550 constant label dcl 154 ref 24 31 36 check_tc_data_size 000273 constant entry external dcl 9 clean_up 001611 constant entry internal dcl 158 ref 81 117 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2066 2134 1661 2076 Length 2504 1661 46 333 204 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME check_tc_data_size 386 external procedure is an external procedure. on unit on line 81 64 on unit clean_up 84 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME check_tc_data_size 000100 accept_hyphen_path check_tc_data_size 000101 argl check_tc_data_size 000102 argp check_tc_data_size 000104 arg_no check_tc_data_size 000105 bitcnt check_tc_data_size 000106 card_no check_tc_data_size 000116 code check_tc_data_size 000117 config_dir_name check_tc_data_size 000171 config_ename check_tc_data_size 000201 ctl_arg check_tc_data_size 000211 expect_apt_value check_tc_data_size 000212 expect_itt_value check_tc_data_size 000213 expect_pn_value check_tc_data_size 000214 have_path check_tc_data_size 000215 n_apt check_tc_data_size 000216 n_args check_tc_data_size 000217 n_itt check_tc_data_size 000220 n_apt_words check_tc_data_size 000221 n_itt_words check_tc_data_size 000222 n_pages check_tc_data_size 000223 n_tc_data_words check_tc_data_size 000224 n_tcm_words check_tc_data_size 000225 stype check_tc_data_size 000226 words_in_last_page check_tc_data_size 000230 configp check_tc_data_size 000232 cardp check_tc_data_size 000234 config_n_cards check_tc_data_size 000235 config_max_cards check_tc_data_size 000236 tcd_cardp check_tc_data_size THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out call_int_this call_int_other return mod_fx1 enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr cv_dec_check_ expand_pathname_ hcs_$status_mins initiate_file_ ioa_ pathname_ terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. config_deck$ error_table_$bad_arg error_table_$bad_conversion error_table_$badopt error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000272 166 000300 191 000301 192 000302 193 000303 194 000304 201 000305 203 000306 11 000307 12 000317 14 000321 16 000331 17 000346 19 000350 20 000352 21 000353 22 000356 23 000401 24 000403 25 000406 26 000407 27 000411 28 000412 29 000415 30 000440 31 000442 32 000445 33 000446 34 000450 35 000453 36 000471 38 000504 40 000505 41 000506 42 000507 43 000537 44 000541 46 000574 49 000575 51 000577 54 000600 55 000611 56 000620 57 000627 58 000636 59 000650 60 000653 63 000654 64 000657 68 000660 72 000662 73 000670 74 000724 79 000725 80 000731 81 000733 83 000755 84 000757 85 001014 86 001016 88 001066 90 001067 92 001070 93 001073 94 001107 95 001111 96 001135 100 001136 101 001142 103 001144 104 001146 105 001163 106 001166 107 001172 109 001174 110 001200 111 001225 114 001226 115 001233 117 001240 120 001244 121 001304 122 001307 123 001312 124 001317 125 001321 126 001325 128 001332 135 001422 137 001423 139 001440 141 001441 144 001464 146 001504 148 001505 152 001547 154 001550 156 001607 158 001610 160 001616 161 001625 162 001653 164 001656 ----------------------------------------------------------- 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