COMPILATION LISTING OF SEGMENT dump_cmf_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 10/25/89 1050.0 mst Wed Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 /* dump_cmf_, a subroutine to dump the CDT in the form of a CMF, 11* such that cv_cmf could regenerate the CDT. 12* 13* Coded 5/11/76 by Mike Grady 14* Modified November 1976 by T. Casey to generate Baud statements. 15* Modified June 1977 by Robert Coren to use new terminal type field and new attributes. 16* Modified April 1979 by Larry Johnson for new fnpe stuff. 17* Modified 1979 May 25 by Art Beattie to accomodate change in cdt.incl.pl1. 18* Modified 1/82 BIM for cdt threads. 19* Modified January 1983 by Keith Loepere for generic_destination. 20* Modified 84-03-22 BIM for removal of obsolete fields, full AIM. 21**/ 22 23 /* format: style2 */ 24 25 dump_cmf_: 26 proc (acdtp, switch); 27 28 dcl (acdtp, switch) ptr parameter; 29 30 dcl com_err_ entry () options (variable), 31 date_time_ entry (fixed bin (71), char (*)), 32 ioa_$ioa_switch entry options (variable), 33 ioa_$rsnnl entry options (variable), 34 system_info_$device_prices 35 entry (fixed bin, ptr), 36 system_info_$access_ceiling 37 entry (bit (72) aligned), 38 aim_check_$equal entry (bit (72) aligned, bit (72) aligned) returns (bit (1) aligned), 39 convert_authorization_$from_string 40 entry (bit (72) aligned, character (*), fixed binary (35)), 41 convert_authorization_$to_string_range_short 42 entry ((2) bit (72) aligned, character (*), fixed binary (35)); 43 44 dcl cdt_et_$salvage_cdt fixed bin (35) ext static; 45 46 dcl line char (160), 47 vline char (160) varying; 48 49 dcl (i, j, len, ndev) fixed bin, 50 code fixed bin (35); 51 dcl (dft_baud, next_baud, this_baud) 52 fixed bin; 53 54 dcl system_high bit (72) aligned, 55 system_low bit (72) aligned, 56 auth_bits bit (72) aligned; 57 58 dcl auth_done bit (1); 59 60 dcl lidx fixed bin, 61 count fixed bin; 62 63 dcl 1 ac_table (10) aligned, 64 2 auth_bits bit (72) aligned, 65 2 count fixed bin; 66 67 dcl date_string char (24), 68 auth char (100); 69 70 dcl 1 dvt (16) aligned, 71 2 devid char (8), 72 2 dev_prices (0:7) float; 73 74 dcl bb72 bit (72) aligned based; 75 76 dcl service_types (8) char (12) static options (constant) 77 init ("login", "ftp", "mc", "slave", "", "autocall", "inactive", "multiplexer"); 78 1 1 /* BEGIN INCLUDE FILE ... cdt.incl.pl1 */ 1 2 1 3 /* format: style3,idind25,indcomtxt */ 1 4 1 5 /* Channel Definition Table. 1 6* This table lists all of the hardware channels (ports) connected 1 7* to the system, and maintains the attributes of each one. 1 8* 1 9* PG 741230 1 10* Modified by Mike Grady 5/6/76 to add FNP info. 1 11* Modified by Tom Casey 7/29/76 to add more FNP info and a few other things. 1 12* Modified by Robert Coren 6/13/77 to make terminal types be character strings. 1 13* Modified July 1979 by T. Casey to add several variables for MR8.0 process preservation facility. 1 14* Modified December 1980 by E. N. Kittlitz to eliminate cdte.phone_no. 1 15* Modified March 1981 by Robert Coren to add "listening" flag for multiplexers and to add TANDD_SERVICE service_type. 1 16* Modified April 1981 by E. N. Kittlitz to add cdte.dial_ev_chn, cdte.recent_wakeup_time, cdte.recent_wakeup_count. 1 17* Modified July 1981 by T. Casey for MR9.0 to add dialup_flags.detach_after_hangup 1 18* Modified December 1981 by E. N. Kittlitz for cdte.leave_edited, cdte.hold_arg, 1 19* Modified September 1981 by Benson I. Margulies for cdt_mgr_'s tree of multiplexer's. 1 20* Modified August 1982 by E. N. Kittlitz for check_acs. 1 21* Modified January 1983 by Keith Loepere for generic_destination. 1 22* Modified August 1983 by Robert Coren to add mpxe.check and mpxe.retry_load. 1 23* Modified 831216 by E. N. Kittlitz for required_access_class. 1 24* Modified 84-04-01 by BIM to finish communications AIM: 1 25* access class ranges, 1 26* access_control flags. 1 27**/ 1 28 1 29 1 30 /****^ HISTORY COMMENTS: 1 31* 1) change(87-03-17,Beattie), approve(87-04-06,MCR7656), 1 32* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 1 33* Add support for answering service to use IOCBs when tty_ cannot be 1 34* used to service login channels. 1 35* END HISTORY COMMENTS */ 1 36 1 37 1 38 dcl CDT_version_5 fixed bin internal static initial (5) options (constant); 1 39 dcl CDT_version fixed bin internal static initial (6) options (constant); 1 40 1 41 dcl (cdtp, cdtep, fnpep, mpxep) 1 42 ptr; 1 43 1 44 dcl 1 cdt based (cdtp) aligned, /* all of the system channels */ 1 45 2 author like author_dcl.author, /* standard header */ 1 46 2 max_size fixed bin, /* maximum number of cdte's in 255K */ 1 47 2 current_size fixed bin, /* number of last cdte. */ 1 48 2 version fixed bin, 1 49 2 freep fixed bin, /* chain of free cdte's */ 1 50 2 n_cdtes fixed bin, /* number of used cdte's */ 1 51 2 meters_last_reset fixed bin (71), /* clock time dialup meters were reset */ 1 52 2 realtime_in_dialup fixed bin (71), /* Dialup meter */ 1 53 2 cpu_in_dialup fixed bin (71), /* .. */ 1 54 2 pf_in_dialup fixed bin, /* .. */ 1 55 2 pp_in_dialup fixed bin, /* .. */ 1 56 2 entries_to_dialup fixed bin, /* .. */ 1 57 2 flags, 1 58 3 go bit (1) unal, /* ans. serv. said "go ahead and answer the phones" */ 1 59 3 cdt_is_live bit (1) unal, /* cdt is active */ 1 60 3 mux_mgr_system_init 1 61 bit (1) unal, /* mux mgr has loaded top-levels */ 1 62 3 pad1 bit (33) unal, 1 63 2 acceptable_fnp_tbf fixed bin, /* acceptable minutes between FNP crashes */ 1 64 2 spare_channel_count fixed bin, /* number of extra channels to leave room for in ring0 */ 1 65 2 threads aligned like channel_threads, 1 66 /* root of non-fnp-top-level-multiplexers */ 1 67 2 pad2 (31) bit (36) aligned, /* pad header to 80 words */ 1 68 2 fnp_entry dim (8) like fnpe, /* max of 8 FNPs for now */ 1 69 2 cdt_entry dim (2500) like cdte; /* # of cdte's in 255K */ 1 70 1 71 1 72 dcl 1 cdte based (cdtep) aligned, /* a channel */ 1 73 2 in_use fixed bin, /* see dialup_values. 0=NOW_FREE */ 1 74 /**** * These variables are filled in when the CDTE is created by cv_cmf. They are not dynamic. */ 1 75 2 pad1 bit (36) aligned, 1 76 2 name char (32), /* ASCII name of channel */ 1 77 2 access_class (2) bit (72) aligned, /* access class range */ 1 78 2 comment char (48), /* printable message about channel */ 1 79 2 charge_type fixed bin (17) unal, /* billing group */ 1 80 2 service_type fixed bin (17) unal, /* service group (AS, ftp, mc) */ 1 81 2 line_type fixed bin (17) unal, /* tty line type (protocol) */ 1 82 2 baud_rate fixed bin (17) unal, /* 110, 133, 150, etc. */ 1 83 2 modem_type fixed bin (17) unal, /* type of modem on this channel */ 1 84 2 pad2 bit (18) unaligned, 1 85 2 answerback char (8), /* answerback string expected */ 1 86 2 initial_terminal_type 1 87 char (32) unal, /* as specified in the CMF */ 1 88 2 mpx_data unal, /* data used only for multiplexed channels */ 1 89 3 mpx_type fixed bin (17), /* type of multiplexing used */ 1 90 3 mpx_service fixed bin (17), /* service type, active or inactive */ 1 91 2 flags, 1 92 ( 3 attributes, 1 93 4 ck_answerback bit (1), /* ON means that ansbk must equal our records */ 1 94 4 audit_access_error 1 95 bit (1), /* ON means ck that person auth is inside access class range */ 1 96 /* this implies that the access_class describes a range of 1 97* legitimate user auths. */ 1 98 4 hardwired bit (1), /* ON means it is */ 1 99 4 set_modes bit (1), /* ON means to set initial modes at dialup */ 1 100 4 dont_read_answerback 1 101 bit (1), /* ON means don't try to read answerback */ 1 102 4 pada bit (4), 1 103 3 access_control unaligned, /* As below */ 1 104 4 dial_out bit (1), /* dialing user must be on ACS */ 1 105 4 priv_attach bit (1), /* PA_ user must be on ACS */ 1 106 4 dial_server bit (1), /* accept_dials process must be on acs */ 1 107 4 login bit (1), /* logging in user must be on acs */ 1 108 4 slave_dial bit (1), /* dialing user must give -user and be on acs */ 1 109 4 pado bit (3), 1 110 3 options, 1 111 4 execute_initial_command 1 112 bit (1), /* ON means to do it */ 1 113 4 attached_by_operator 1 114 bit (1), /* ON means temporary attachment. */ 1 115 4 private_line bit (1), /* ON means private_line sync modem in use */ 1 116 4 bsc_ebcdic bit (1), /* ON means bsc would like to use ebcdic code set */ 1 117 4 bsc_transparent bit (1), /* ON means bsc is in transparent mode */ 1 118 4 vip_pollselect bit (1), /* ON means VIP line is multidrop */ 1 119 4 autobaud bit (1), /* ON means auto baud detection this channel */ 1 120 4 generic_destination_present 1 121 bit (1), /* ON means that the initial_command field contains 1 122* a generic destination to match on dial_out or priv attach */ 1 123 4 use_iocb bit (1), /* ON means to use IOCB operations to support channel */ 1 124 4 pado bit (9) 1 125 ) unaligned, 1 126 2 initial_command char (64), /* pseudo first input line */ 1 127 /**** The following variables represent dynamic control info, and 1 128* are used mostly by dialup_ and asu_ */ 1 129 2 event fixed bin (71), /* event call channel for channel events */ 1 130 2 current_service_type fixed bin (17) unal, /* Current usage of line. */ 1 131 2 tra_vec fixed bin (17) unal, /* which section of dialup_ to do next */ 1 132 2 count fixed bin (17) unal, /* How many login tries he's had. */ 1 133 2 dialup_flags unal, /* flag bits for dialup to maintain */ 1 134 3 ppm bit (1) unal, /* print preaccess message for IBM terminals */ 1 135 3 cpo bit (1) unal, /* conditional printer-off (depends on answerback */ 1 136 3 wakeup_handler bit (1) unal, /* says who is wakeup handler for this channel */ 1 137 /* 0 = dialup_, 1 = mc_tty_ */ 1 138 3 save_arg bit (1) unal, /* -save login arg given */ 1 139 3 nosave_arg bit (1) unal, /* -nosave login arg given */ 1 140 3 detach_after_hangup 1 141 bit (1) unal, /* remember WAIT_DETACH when setting WAIT_BEFORE_HANGUP */ 1 142 3 leave_edited bit (1) unal, /* user control of edited mode */ 1 143 3 hold_arg bit (1) unal, /* -hold arg given */ 1 144 3 no_hold_arg bit (1) unal, /* -no_hold arg given */ 1 145 3 immediate_arg bit (1) unal, /* -immediate arg given */ 1 146 3 current_access_class_valid 1 147 bit (1) unal, /* dialup_ or lg_ctl_ has determined the current_access_class */ 1 148 3 pad bit (7) unal, 1 149 2 twx fixed bin, /* channel device index */ 1 150 2 state fixed bin, /* channel state */ 1 151 2 tty_id_code char (4), /* channel id (answerback) */ 1 152 2 current_terminal_type 1 153 char (32) unal, /* most recently-set terminal type */ 1 154 2 process ptr unal, /* ptr to ATE owning this channel */ 1 155 2 dialed_to_procid bit (36), /* Dialed channels remember owner's proc id */ 1 156 2 next_channel fixed bin (17) unal, /* cdte index of next channel for this process */ 1 157 2 cur_line_type fixed bin (17) unal, /* line type of currently dialed terminal */ 1 158 2 current_access_class (2) bit (72) aligned, /* This is a range, but at this time it must be a null range. 1 159* We do not yet define multi-class connections, but we will someday. */ 1 160 2 disconnected_ate_index 1 161 fixed bin (17) unal, /* index of ate of disconnected process */ 1 162 2 dial_ctl_ring fixed bin (3) unsigned unaligned, 1 163 /* used by dial_ctl_ to record ring of priv_attach or dial_out attachments */ 1 164 2 dial_rq_privileged bit (1) unaligned, /* used by dial ctl to record comm priv from priv_attach or dial_out request */ 1 165 2 pad3 bit (14) unaligned, 1 166 /**** The following variables are kept for metering purposes. */ 1 167 2 n_dialups fixed bin, /* number of times channel has been dialed up */ 1 168 2 n_logins fixed bin, /* number of login sessions on this channel */ 1 169 2 dialed_up_time fixed bin (35), /* total time channel was dialed up (seconds) */ 1 170 2 dialup_time fixed bin (71), /* time of present dialup */ 1 171 2 disconnected_proc_command 1 172 fixed bin (12) unsigned unal, 1 173 /* 1 to 5 for -list,-create,-connect,-new_proc,-destroy */ 1 174 2 disconnected_proc_number 1 175 fixed bin (12) unsigned unal, 1 176 /* {N} in -connect {N}, -new_proc {N}, -destroy {N} */ 1 177 2 n_disconnected_procs fixed bin (12) unsigned unal, 1 178 /* number of disconnected processes that user has */ 1 179 2 recent_wakeup_count fixed bin, /* counter to detect channel wakeup loop */ 1 180 2 recent_wakeup_time fixed bin (71), /* time of first wakeup in suspected channel wakeup loop */ 1 181 2 dial_ev_chn fixed bin (71), /* Dialed channels remember master's IPC channel */ 1 182 /**** cdt_mgr_ uses these to maintain the tree of channels. They ****/ 1 183 /**** really belong in the mpxe, but it is full up, and the cdte ****/ 1 184 /**** had the space. */ 1 185 2 threads aligned like channel_threads, 1 186 /**** The use name is that of the user who gave the dial or slave ****/ 1 187 /**** preaccess request. ****/ 1 188 2 user_name unaligned, 1 189 3 person char (20) unaligned, 1 190 3 project char (9) unaligned, 1 191 3 pad char (3) unaligned, /* no tag */ 1 192 2 iocbp ptr unaligned; /* 104 words */ 1 193 1 194 1 195 dcl generic_destination based char (32); /* used to match destinations on dial_out and priv_attach, 1 196* overlays initial_command field for slave and autocall lines */ 1 197 1 198 1 199 1 200 dcl 1 fnpe based (fnpep) aligned, /* an FNP */ 1 201 /* These variables are filled in from the CMF */ 1 202 2 type fixed bin, /* type of this FNP, DN355, DN6670, etc. */ 1 203 2 memory fixed bin, /* amount of memory on this FNP */ 1 204 2 nlslas fixed bin, /* number of lslas on this FNP */ 1 205 2 nhslas fixed bin, /* number of hslas on this FNP */ 1 206 2 service_type fixed bin, /* service type */ 1 207 2 mpx_type fixed bin, /* type of multiplexer on this fnp */ 1 208 2 coreimage char (168), /* pathname of image, maybe in >sl1 */ 1 209 /**** The following are used during system operation to remember the state of the FNP */ 1 210 2 boot_segp ptr, /* ptr to seg used for bootload */ 1 211 2 boot_ev_chan fixed bin (71), /* for ring0 to report crashes and bootload complete */ 1 212 2 mpxe like mpxe, /* standard multiplexer data */ 1 213 2 threads aligned like channel_threads, 1 214 /* same mpx threads as channel */ 1 215 2 pad3 (25) fixed bin; /* pad to 96 words per entry */ 1 216 1 217 /* This structure describes the data necessary to control a multiplexer. 1 218* For FNP's., a copy appears in the fnpe. For communications lines, it 1 219* overlays the initial_command field in the cdte. */ 1 220 1 221 dcl 1 mpxe based (mpxep) aligned, 1 222 2 state fixed bin, /* current state, up, down, loading */ 1 223 2 current_service_type fixed bin, /* usually = service type, unless cdt installation changes it */ 1 224 2 current_mpx_type fixed bin, /* type of multiplexer currently running */ 1 225 2 n_bootloads fixed bin, /* count of load attempts */ 1 226 2 time_initial_load fixed bin (71), /* time this MPX first completed a load */ 1 227 2 time_last_load fixed bin (71), /* time MPX last completed a bootload */ 1 228 2 time_last_crash fixed bin (71), /* time MPX last crashed */ 1 229 2 time_load_start fixed bin (71), /* time current load started */ 1 230 2 last_tbf fixed bin, /* number of minutes this MPX was up last bootload */ 1 231 2 flags unal, 1 232 3 go bit (1), /* start MPX after it loads */ 1 233 3 listening bit (1), /* listen has been done on subchannels */ 1 234 3 check bit (1), /* loaded with check option */ 1 235 3 retry_load bit (1), /* reload if load fails */ 1 236 3 pad1 bit (32), 1 237 2 pad2 (2) fixed bin; /* pad to 16 words */ 1 238 1 239 /* These threads define the tree of multiplexers in the cdt. */ 1 240 /* next_sister and prev_sister link nodes at the same level, ordered */ 1 241 /* by alpha sort order of the channel name. Daughter points to the */ 1 242 /* first child of this node, if any. Daughter count is the number */ 1 243 /* of children, as a consistency check. Mother is a back pointer to */ 1 244 /* the parent, present in all the children, not just the first. */ 1 245 /* threads are cdt indexes. If positive, they index the cdt_entry array */ 1 246 /* in cdt, if negative, they are the negative of an index into the fnp_entry */ 1 247 /* array. If zero, they refer to the top of the non-fnp mpx tree. */ 1 248 1 249 dcl 1 channel_threads aligned based, 1 250 2 next_sister fixed bin unaligned, 1 251 2 prev_sister fixed bin unaligned, 1 252 2 daughter fixed bin unaligned, 1 253 2 mother fixed bin unaligned, /* negative is a fnpx, positive a cdtx */ 1 254 2 pad bit (18) unaligned, 1 255 2 daughter_count fixed bin unaligned; 1 256 1 257 /* Values for cdte.service_type field */ 1 258 1 259 dcl ( 1 260 ANS_SERVICE init (1), /* login or dial */ 1 261 FTP_SERVICE init (2), /* file transfer service */ 1 262 MC_SERVICE init (3), /* message coordinator */ 1 263 SLAVE_SERVICE init (4), /* special channel */ 1 264 DIAL_SERVICE init (5), /* transient state */ 1 265 DIAL_OUT_SERVICE init (6), /* auto call line */ 1 266 MPX_SERVICE init (8), /* ring0 demultiplexed line */ 1 267 TANDD_SERVICE init (9) /* transient state, attached for T & D */ 1 268 ) fixed bin internal static options (constant); 1 269 1 270 /* Values for service type in both cdte and fnpe */ 1 271 1 272 dcl ( 1 273 INACTIVE init (7), /* not to be used, even though configured */ 1 274 ACTIVE init (1) 1 275 ) /* for FNP only, configured and to be used */ 1 276 fixed bin internal static options (constant); 1 277 1 278 /* Value for both cdte.in_use and fnpe.state */ 1 279 1 280 dcl NOT_CONFIGURED fixed bin int static init (-1) options (constant); 1 281 /* was not configured at Multics bootload time */ 1 282 1 283 /* NOTE: an INACTIVE channel can be made active by operator command or CDT installation, 1 284* but a NOT_CONFIGURED channel can not be used until its multiplexer is reloaded */ 1 285 1 286 /* Value for cdte.in_use */ 1 287 1 288 dcl CHANNEL_DELETED fixed bin int static init (-2); 1 289 /* channel deleted by CDT installation */ 1 290 1 291 /* NOTE: a configured channel being deleted by a CDT installation is set to CHANNEL_DELETED. 1 292* multiplexer_mgr_ sets cdte.in_use to NOW_FREE at the next reload of its multiplexer. 1 293* A NOT_CONFIGURED channel is set to NOW_FREE immediately when deleted by a CDT installation. */ 1 294 1 295 1 296 /* Values for mpxe.state field */ 1 297 1 298 dcl ( 1 299 FNP_FREE init (0), /* this fnpe is not used */ 1 300 FNP_UNKNOWN init (1), /* FNP is in some unknown state */ 1 301 FNP_DOWN init (2), /* FNP crashed, not yet reloaded */ 1 302 FNP_BOOT init (3), /* FNP has been booted, but no response yet */ 1 303 FNP_UP init (4) /* FNP is up and running fine */ 1 304 ) fixed bin internal static options (constant); 1 305 1 306 dcl ( 1 307 MPX_FREE init (0), /* this mpxe is not used */ 1 308 MPX_UNKNOWN init (1), /* MPX is in some unknown state */ 1 309 MPX_DOWN init (2), /* MPX crashed, not yet reloaded */ 1 310 MPX_BOOT init (3), /* MPX has been booted, but no response yet */ 1 311 MPX_UP init (4) /* MPX is up and running fine */ 1 312 ) fixed bin internal static options (constant); 1 313 2 1 /* BEGIN INCLUDE FILE ... fnp_types.incl.pl1 */ 2 2 2 3 2 4 2 5 /****^ HISTORY COMMENTS: 2 6* 1) change(88-06-15,Berno), approve(88-07-13,MCR7928), 2 7* audit(88-06-15,Parisek), install(88-07-19,MR12.2-1061): 2 8* Add data needed for the uncp multiplexer (DSA gateway) interface 2 9* implementation. 2 10* END HISTORY COMMENTS */ 2 11 2 12 2 13 /* Values for fnpe.type field */ 2 14 /* 2 15* Created 79 May 14 by Art Beattie by splitting information out from cdt.incl.pl1 2 16* Added in March 1982 - DN7100.fd. 2 17**/ 2 18 2 19 dcl (DN355 init (1), /* a DataNet 355 FNP */ 2 20 DN6600 init (2), /* a DataNet 6600 FNP */ 2 21 DN6670 init (3), /* a Honeywell Bull Network Processor (18x) */ 2 22 DN7100 init (4) /* The DSA Datanet architecture (DN7) */ 2 23 ) fixed bin internal static options (constant); 2 24 2 25 dcl fnp_types (4) char (8) int static options (constant) 2 26 init ("DN355", "DN6600", "DN6670", "DN7100"); 2 27 2 28 dcl fnp_models (4) fixed bin (17) int static options (constant) 2 29 init (355, 6600, 6670, 7100); 2 30 2 31 dcl supported_fnp (4) bit (1) int static options (constant) 2 32 init ("0"b, "0"b, "1"b, "1"b); 2 33 2 34 2 35 /* END INCLUDE FILE ... fnp_types.incl.pl1 */ 1 314 1 315 1 316 /* END INCLUDE FILE ... cdt.incl.pl1 */ 79 80 3 1 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 3 2 3 3 /* This include file declares the "author" substructure 3 4* in a form suitable for using the PL/I "like" attribute. 3 5* 3 6* Written 750304 by PG 3 7**/ 3 8 3 9 dcl 1 author_dcl aligned based, 4 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 4 2 4 3 /* the "author" items must always be the first ones in the table. The 4 4* module which moves the converted table to the System Control process 4 5* fills in these data items and assumes them to be at the head of the segment 4 6* regardless of the specific table's actual declaration. The variables 4 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 4 8* respectively. For tables installed in multiple processes, these 4 9* are to be used to lock out multiple installations. */ 4 10 4 11 /* Lock should be used as a modification lock. Since, in general, 4 12* entries may not be moved in system tables, even by installations, 4 13* it is sufficient for only installers and programs that change threads 4 14* to set or respect the lock. Simply updating data in an entry 4 15* requires no such protection. 4 16* 4 17* Last_install_time is used by readers of system tables to detect 4 18* installations or other serious modifications. By checking it before 4 19* and after copying a block of data, they can be protected against 4 20* modifications. 4 21* 4 22* Modules that set the lock should save proc_group_id, and then 4 23* put their group id there for the time they hold the lock. 4 24* if they do not actually install the, they should restore the group id. 4 25**/ 4 26 4 27 2 author aligned, /* validation data about table's author */ 4 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 4 29 3 lock bit (36), /* installation lock */ 4 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 4 31 3 update_authorization bit (1) unal, /* update only authorizations */ 4 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 4 33 3 pad bit (33) unaligned, 4 34 3 last_install_time fixed bin (71), 4 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 4 36 3 w_dir char (64), /* author's working directory */ 4 37 4 38 /* END INCLUDE FILE author.incl.pl1 */ 3 10 3 11 2 pad; 3 12 3 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 81 82 5 1 /* BEGIN INCLUDE FILE ... ttyp.incl.pl1 */ 5 2 5 3 dcl max_tty_type fixed bin static init (11); 5 4 5 5 dcl tty_dev_type (0:16) char (8) aligned int static init /* ASCII explanations of terminal type */ 5 6 ("Network", "1050", "2741", "TTY37", "TN300", "ARDS", "CORR2741", "TTY33", 5 7 "TTY38", "G115", "type10", "ASCII", "type12", "type13", "type14", "type15", "type16"); 5 8 5 9 /* Note that device type 0 is used for both absentee and network. Distingush some other way */ 5 10 5 11 /* END INCLUDE FILE ... ttyp.incl.pl1 */ 83 84 6 1 /* BEGIN INCLUDE FILE ... dataset_names.incl.pl1 */ 6 2 6 3 /* Created June 4, 1976 by Mike Grady */ 6 4 6 5 dcl dataset_names (0:7) char (8) int static options (constant) init ( 6 6 "none", 6 7 "103A", 6 8 "201C", 6 9 "202C5", 6 10 "202C6", 6 11 "208A", 6 12 "208B", 6 13 "209A"); 6 14 6 15 /* END INCLUDE FILE ... dataset_names.incl.pl1 */ 85 86 7 1 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 7 2 7 3 /* Written November 10 1975 by Paul Green */ 7 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 7 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 7 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 7 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 7 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 7 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 7 10 7 11 7 12 /****^ HISTORY COMMENTS: 7 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 7 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 15* Add a DSA line type. 7 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 7 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 18* Add HASP_OPR to identify HASP workstation consoles with login service. 7 19* END HISTORY COMMENTS */ 7 20 7 21 7 22 declare (LINE_MC initial (-2), 7 23 LINE_TELNET initial (-1), 7 24 LINE_UNKNOWN initial (0), 7 25 LINE_ASCII initial (1), 7 26 LINE_1050 initial (2), 7 27 LINE_2741 initial (3), 7 28 LINE_ARDS initial (4), 7 29 LINE_SYNCH initial (5), 7 30 LINE_G115 initial (6), 7 31 LINE_BSC initial (7), 7 32 LINE_ETX initial (8), 7 33 LINE_VIP initial (9), 7 34 LINE_ASYNC1 initial (10), 7 35 LINE_ASYNC2 initial (11), 7 36 LINE_ASYNC3 initial (12), 7 37 LINE_SYNC1 initial (13), 7 38 LINE_SYNC2 initial (14), 7 39 LINE_SYNC3 initial (15), 7 40 LINE_POLLED_VIP initial (16), 7 41 LINE_X25LAP initial (17), 7 42 LINE_HDLC initial (18), 7 43 LINE_COLTS initial (19), 7 44 LINE_DSA initial (20), 7 45 LINE_HASP_OPR initial (21) 7 46 ) fixed bin internal static options (constant); 7 47 7 48 dcl max_line_type fixed bin int static options (constant) init (21); 7 49 7 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 7 51 7 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 7 53 7 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 7 55 "MC", /* -2 */ 7 56 "TELNET", /* -1 */ 7 57 "none", /* 0 */ 7 58 "ASCII", /* 1 */ 7 59 "1050", /* 2 */ 7 60 "2741", /* 3 */ 7 61 "ARDS", /* 4 */ 7 62 "Sync", /* 5 */ 7 63 "G115", /* 6 */ 7 64 "BSC", /* 7 */ 7 65 "202ETX", /* 8 */ 7 66 "VIP", /* 9 */ 7 67 "ASYNC1", /* 10 */ 7 68 "ASYNC2", /* 11 */ 7 69 "ASYNC3", /* 12 */ 7 70 "SYNC1", /* 13 */ 7 71 "SYNC2", /* 14 */ 7 72 "SYNC3", /* 15 */ 7 73 "POLLED_VIP", /* 16 */ 7 74 "X25LAP", /* 17 */ 7 75 "HDLC", /* 18 */ 7 76 "COLTS", /* 19 */ 7 77 "DSA", /* 20 */ 7 78 "HASP_OPR"); /* 21 */ 7 79 7 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 87 88 8 1 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 8 2 8 3 /* format: style4 */ 8 4 8 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 8 6 8 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 8 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 8 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 8 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 8 11* WAIT_DISCARD_WAKEUP 8 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 8 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 8 14**/ 8 15 8 16 /****^ HISTORY COMMENTS: 8 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 8 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 8 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 8 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 22* Add named constants for instance tags. 8 23* END HISTORY COMMENTS */ 8 24 8 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 8 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 8 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 8 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 8 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 8 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 8 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 8 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 8 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 8 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 8 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 8 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 8 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 8 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 8 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 8 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 8 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 8 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 8 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 8 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 8 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 8 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 8 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 8 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 8 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 8 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 8 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 8 52 ) fixed bin internal static options (constant); 8 53 8 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 8 55 /* names of ute.destroy_flag values */ 8 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 8 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 8 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 8 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 8 60 "wait remove"); /* -13 */ 8 61 8 62 /* Values for "cdte.state", typewriter state. */ 8 63 8 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 8 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 8 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 8 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 8 68 ) fixed bin internal static options (constant); 8 69 8 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 8 71 /* names of cdte.state values */ 8 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 8 73 8 74 /* Values for "cdte.in_use" and "ate.active" */ 8 75 8 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 8 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 8 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 8 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 8 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 8 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 8 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 8 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 8 84 ) fixed bin internal static options (constant); 8 85 8 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 8 87 /* names of ute.active values */ 8 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 8 89 8 90 8 91 /**** Values for ute.tag */ 8 92 8 93 dcl (TAG_INTERACTIVE init("a"), 8 94 TAG_UFT init("f"), 8 95 TAG_ABSENTEE init("m"), 8 96 TAG_PROXY init("p"), 8 97 TAG_DAEMON init("z") 8 98 ) char(1) int static options(constant); 8 99 8 100 8 101 /**** Following are constants used to indicate to the process termination 8 102* handler the reason for the process termination. They are used by 8 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 8 104* uc_ls_destroy_request_. */ 8 105 8 106 dcl ( 8 107 PT_FPE initial (1), 8 108 PT_LOGOUT initial (4), 8 109 PT_NEW_PROC_AUTH initial (13), 8 110 PT_HANGUP initial (20), 8 111 PT_SHUTDOWN initial (21), 8 112 PT_BUMP initial (22), 8 113 PT_ALARM initial (23), 8 114 PT_DETACH initial (24), 8 115 PT_UNBUMP initial (25), 8 116 PT_OPERATOR_TERMINATE initial (27), 8 117 PT_DESTROY_REQUEST initial (30), 8 118 PT_NEW_PROC_REQUEST initial (31) 8 119 ) fixed bin (17) internal static options (constant); 8 120 8 121 /**** Values for ute.preempted: 8 122* -1 user unbumped after term signal sent 8 123* 0 user unbumped; ignore alarm___ 8 124* 1 value internally used in load_ctl_ 8 125* 2 user bumped; when alarm___ comes in, send term signal 8 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 8 127* signals come in 8 128* 4 user bumped; process sick, so destroy without sending term signal 8 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 8 130* termsgnl). */ 8 131 8 132 dcl ( 8 133 PREEMPT_UNBUMP initial (-1), 8 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 8 135 PREEMPT_LOAD_CTL initial (1), 8 136 PREEMPT_BUMPED initial (2), 8 137 PREEMPT_TERM_SENT initial (3), 8 138 PREEMPT_BUMPED_NO_TERM initial (4), 8 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 8 140 ) fixed bin (17) internal static options(constant); 8 141 8 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 8 143 "unbumped", 8 144 "not bumped, ignore alarm___", 8 145 "load_ctl_", 8 146 "bumped", 8 147 "bumped, trm_ sent", 8 148 "bumped without trm_", 8 149 "bumped, termsgnl received"); 8 150 8 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 89 90 9 1 /* Begin include file ..... multiplexer_types.incl.pl1 */ 9 2 9 3 9 4 9 5 /****^ HISTORY COMMENTS: 9 6* 1) change(89-03-20,Parisek), approve(89-06-01,MCR8110), 9 7* audit(89-10-09,Farley), install(89-10-25,MR12.3-1100): 9 8* Add support of protocol mpx. 9 9* END HISTORY COMMENTS */ 9 10 9 11 9 12 /* This include file defines known multiplexer types */ 9 13 /* Prepared August 1978 by Larry Johnson */ 9 14 /* Changed April 1979 to rename the fnp multiplexer mcs */ 9 15 9 16 dcl (TTY_MPX init (0), /* nonmultiplexed channel */ 9 17 MCS_MPX init (1), /* FNP running MCS */ 9 18 USER1_MPX init (2), /* a range of values for user defined multiplexers */ 9 19 USER2_MPX init (3), 9 20 USER3_MPX init (4), 9 21 USER4_MPX init (5), 9 22 USER5_MPX init (6), 9 23 IBM3270_MPX init (7), /* IBM 3270 display terminal controller */ 9 24 VIP7760_MPX init (8), /* Honeywell VIP 7760 terminal controller */ 9 25 STY_MPX init (9), /* Software Terminal Facility */ 9 26 LAP_MPX init (10), /* Link Access Protocol (X.25 level 2) */ 9 27 X25_MPX init (11), /* CCITT X.25 level 3 */ 9 28 HASP_MPX init (12), /* HASP RJE protocol */ 9 29 UNCP_MPX init (13), /* DSA protocol */ 9 30 SYSTEM2_MPX init (14), 9 31 SYSTEM1_MPX init (15), 9 32 PROTOCOL_MPX init (16)) /* TCP/IP network X.25 protocol */ 9 33 int static options (constant); 9 34 9 35 dcl mpx_types (0:16) char (32) int static options (constant) init ( 9 36 "tty", "mcs", "user1", "user2", "user3", "user4", "user5", "ibm3270", 9 37 "vip7760", "sty", "lap", "x25", "hasp", "uncp", "system2", "system1", 9 38 "protocol"); 9 39 9 40 dcl mpx_special_lock (0:16) bit (1) int static options (constant) init ( 9 41 "0"b, "1"b, "0"b, "0"b, "0"b, "0"b, "0"b, "0"b, 9 42 "0"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, "0"b); 9 43 9 44 /* End include file ..... multiplexer_types.incl.pl1 */ 91 92 93 94 cdtp = acdtp; 95 line = "/* Automatically generated Channel Master File"; 96 call append_line; 97 call date_time_ (clock (), date_string); 98 line = " Generated by display_cdt on " || date_string || " */"; 99 call append_line; 100 line = ""; 101 call append_line; 102 103 call system_info_$device_prices (ndev, addr (dvt)); 104 105 line = "Service: login;"; 106 call append_line; 107 line = "Charge: none;"; 108 call append_line; 109 line = "Terminal_type: none;"; 110 call append_line; 111 line = "Line_type: none;"; 112 call append_line; 113 line = "Attributes: none;"; 114 call append_line; 115 line = "Check_acs: none;"; 116 call append_line; 117 line = "Baud: 300;"; 118 call append_line; 119 dft_baud = 300; 120 121 /* try and compute the correct access class */ 122 123 call system_info_$access_ceiling (system_high); /* get sys high */ 124 call convert_authorization_$from_string (system_low, "system_low", code); 125 line = "Access_class: ""system_low"";"; /* secure default is no access. Individuals will all be stated. Verbose, but effective. */ 126 call append_line; 127 128 call ioa_$rsnnl ("FNP_required_up_time: ^d;", line, len, cdt.acceptable_fnp_tbf); 129 call append_line; 130 call ioa_$rsnnl ("Spare_channel_count: ^d;", line, len, cdt.spare_channel_count); 131 call append_line; 132 133 line = ""; 134 call append_line; 135 136 do i = 1 to 8; /* dump FNPs */ 137 fnpep = addr (cdt.fnp_entry (i)); 138 if fnpe.state ^= FNP_FREE 139 then call dump_fnpe; /* recurses */ 140 end; 141 142 line = "/* Other top level multiplexers: */"; 143 call append_line; 144 line = ""; 145 call append_line; 146 call dump_subtree (addr (cdt.threads), "Top level chain"); 147 148 line = "end;"; 149 call append_line; 150 151 return; 152 153 dump_fnpe: 154 proc; 155 156 dcl mpx_type fixed bin; 157 158 mpx_type = fnpe.mpx_type; 159 if mpx_type = 0 160 then mpx_type = MCS_MPX; 161 162 line = "FNP: " || substr (collate (), rank ("A") + i, 1) || ";"; 163 call append_line; 164 if fnpe.type ^= 0 | mpx_type = MCS_MPX 165 then do; 166 call ioa_$rsnnl (" type: ^a;", line, len, fnp_types (fnpe.type)); 167 call append_line; 168 end; 169 if fnpe.memory ^= 0 | mpx_type = MCS_MPX 170 then do; 171 call ioa_$rsnnl (" memory: ^d;", line, len, fnpe.memory); 172 call append_line; 173 end; 174 if fnpe.nlslas ^= 0 | (fnpe.mpx_type = MCS_MPX & fnpe.type ^= DN6670) 175 then do; 176 call ioa_$rsnnl (" lsla: ^d;", line, len, fnpe.nlslas); 177 call append_line; 178 end; 179 if fnpe.nhslas ^= 0 | mpx_type = MCS_MPX 180 then do; 181 call ioa_$rsnnl (" hsla: ^d;", line, len, fnpe.nhslas); 182 call append_line; 183 end; 184 if mpx_type = MCS_MPX 185 then do; 186 call ioa_$rsnnl (" image: ^a;", line, len, fnpe.coreimage); 187 call append_line; 188 end; 189 else if fnpe.coreimage ^= "" 190 then do; 191 call ioa_$rsnnl (" additional_info: ""^a"";", line, len, fnpe.coreimage); 192 call append_line; 193 end; 194 if fnpe.service_type = INACTIVE 195 then do; 196 line = " service: inactive;"; 197 call append_line; 198 end; 199 if fnpe.mpx_type ^= 0 200 then do; 201 call ioa_$rsnnl (" multiplexer_type: ^a;", line, len, mpx_types (fnpe.mpx_type)); 202 call append_line; 203 end; 204 line = ""; 205 call append_line; 206 if fnpe.daughter ^= 0 207 then call dump_subtree (addr (fnpe.threads), "FNP " || substr (collate (), rank ("A") + i, 1)); 208 return; 209 210 end dump_fnpe; 211 212 213 dump_subtree: 214 procedure (tp, cname); 215 216 declare tp pointer; 217 declare 1 threads aligned like channel_threads based (tp); 218 declare cname character (32) aligned; 219 declare x fixed bin; 220 declare ccount fixed bin; 221 222 if threads.daughter_count = 0 | threads.daughter = 0 223 then return; /* for lazy callers */ 224 225 ccount = 0; 226 do x = threads.daughter repeat (cdt.cdt_entry (x).next_sister) while (x ^= 0); 227 ccount = ccount + 1; 228 if ccount > threads.daughter_count | ccount > cdt.n_cdtes 229 then do; 230 call com_err_ (cdt_et_$salvage_cdt, "dump_cmf_", "Too many daughters(^d) for ^a", ccount, cname); 231 go to RETURN; 232 end; 233 call dump_cdte (addr (cdt.cdt_entry (x))); 234 if cdt.cdt_entry (x).daughter ^= 0 235 then call dump_subtree (addr (cdt.cdt_entry (x).threads), cdt.cdt_entry (x).name); 236 end; 237 end dump_subtree; 238 239 dump_cdte: 240 proc (CDTEp); 241 declare CDTEp pointer; 242 declare 1 CDTE aligned like cdte based (CDTEp); 243 244 this_baud = CDTE.baud_rate; 245 if CDTE.flags.autobaud 246 then this_baud = -1; 247 248 if this_baud ^= dft_baud 249 then do; 250 next_baud = addr (cdt.cdt_entry (i + 1)) -> CDTE.baud_rate; 251 if addr (cdt.cdt_entry (i + 1)) -> CDTE.flags.autobaud 252 then next_baud = -1; 253 if next_baud = this_baud 254 then do; 255 dft_baud = this_baud; 256 if dft_baud = -1 257 then line = "Baud: auto;"; 258 else if dft_baud = 0 259 then line = "Baud: none;"; 260 else call ioa_$rsnnl ("Baud: ^d;", line, len, dft_baud); 261 call append_line; 262 end; 263 end; 264 265 call ioa_$rsnnl ("name: ^a;", line, len, CDTE.name); 266 call append_line; 267 if this_baud ^= dft_baud 268 then do; 269 if this_baud = -1 270 then line = " baud: auto;"; 271 else if this_baud = 0 272 then line = " baud: none;"; 273 else call ioa_$rsnnl ("^3xbaud: ^d;", line, len, CDTE.baud_rate); 274 call append_line; 275 end; 276 if CDTE.service_type ^= ANS_SERVICE 277 then do; 278 call ioa_$rsnnl ("^3xservice: ^a;", line, len, service_types (CDTE.service_type)); 279 call append_line; 280 end; 281 if CDTE.service_type = MPX_SERVICE 282 then do; 283 call ioa_$rsnnl ("^3xmultiplexer_type: ^a", line, len, mpx_types (CDTE.mpx_type)); 284 if CDTE.mpx_service = INACTIVE 285 then call addto_line (", inactive"); 286 call addto_line (";"); 287 call append_line; 288 end; 289 if CDTE.charge_type > 0 290 then do; 291 call ioa_$rsnnl ("^3xcharge: ^a;", line, len, dvt (CDTE.charge_type).devid); 292 call append_line; 293 end; 294 if CDTE.initial_terminal_type ^= "" 295 then do; 296 call ioa_$rsnnl ("^3xterminal_type: ^a;", line, len, CDTE.initial_terminal_type); 297 call append_line; 298 end; 299 if CDTE.line_type > 0 | CDTE.line_type = -1 300 then do; 301 call ioa_$rsnnl ("^3xline_type: ^a", line, len, line_types (CDTE.line_type)); 302 if CDTE.line_type = LINE_BSC 303 then do; 304 if CDTE.flags.bsc_ebcdic 305 then call addto_line (", ebcdic"); 306 else call addto_line (", ascii"); 307 if CDTE.flags.bsc_transparent 308 then call addto_line (", transparent"); 309 else call addto_line (", nontransparent"); 310 end; 311 call addto_line (";"); 312 call append_line; 313 end; 314 if CDTE.modem_type > 0 315 then do; 316 call ioa_$rsnnl ("^3xdataset: ^a", line, len, dataset_names (CDTE.modem_type)); 317 if CDTE.flags.private_line 318 then call addto_line (", private_line;"); 319 else call addto_line (";"); 320 call append_line; 321 end; 322 if ^(aim_check_$equal (system_low, CDTE.access_class (1)) 323 & aim_check_$equal (system_low, CDTE.access_class (2))) 324 then do; 325 call convert_authorization_$to_string_range_short (CDTE.access_class, auth, code); 326 call ioa_$rsnnl ("^3xaccess_class: ""^a"";", line, len, auth); 327 call append_line; 328 end; 329 if CDTE.flags.ck_answerback & (addr (CDTE.answerback) -> bb72 ^= "0"b & CDTE.answerback ^= "") 330 then do; 331 call ioa_$rsnnl ("^3xanswerback: ""^a"";", line, len, CDTE.answerback); 332 call append_line; 333 end; 334 if string (CDTE.flags.attributes) 335 then do; 336 vline = " attributes: "; 337 if CDTE.flags.audit_access_error 338 then vline = vline || "audit,"; 339 if CDTE.flags.hardwired 340 then vline = vline || "hardwired,"; 341 if CDTE.flags.set_modes 342 then vline = vline || "set_modes,"; 343 if CDTE.flags.ck_answerback 344 then vline = vline || "check_answerback,"; 345 if CDTE.flags.dont_read_answerback 346 then vline = vline || "dont_read_answerback,"; 347 substr (vline, length (vline), 1) = ";"; 348 line = vline; 349 call append_line; 350 end; 351 if string (CDTE.flags.access_control) 352 then do; 353 vline = " check_acs: "; 354 if CDTE.flags.dial_out 355 then vline = vline || "dial_out,"; 356 if CDTE.flags.priv_attach 357 then vline = vline || "priv_attach,"; 358 if CDTE.flags.dial_server 359 then vline = vline || "dial_server,"; 360 if CDTE.flags.slave_dial 361 then vline = vline || "slave_dial,"; 362 if CDTE.flags.login 363 then vline = vline || "login,"; 364 substr (vline, length (vline), 1) = ";"; 365 line = vline; 366 call append_line; 367 end; 368 if CDTE.flags.execute_initial_command 369 & (addr (CDTE.initial_command) -> bb72 ^= "0"b & CDTE.initial_command ^= "") 370 then do; 371 call ioa_$rsnnl ("^3xinitial_command: ""^a"";", line, len, CDTE.initial_command); 372 call append_line; 373 end; 374 if CDTE.flags.generic_destination_present 375 & (addr (CDTE.initial_command) -> bb72 ^= "0"b & addr (CDTE.initial_command) -> generic_destination ^= "") 376 then do; 377 call ioa_$rsnnl ("^3xgeneric_destination: ""^a"";", line, len, 378 addr (CDTE.initial_command) -> generic_destination); 379 call append_line; 380 end; 381 if CDTE.comment ^= "" 382 then do; /* put comment last in case user wants to edit CMF to have entire */ 383 call ioa_$rsnnl ("^3xcomment: ""^a"";", line, len, CDTE.comment); 384 /* channel entry on one line */ 385 call append_line; 386 end; 387 388 line = ""; 389 call append_line; 390 return; 391 392 end; 393 394 append_line: 395 proc; 396 397 call ioa_$ioa_switch (switch, "^a", line); 398 return; 399 400 end; 401 402 403 404 405 addto_line: 406 proc (thing); 407 408 dcl thing char (*); 409 410 line = substr (line, 1, len) || thing; 411 len = len + length (thing); 412 return; 413 414 end; 415 416 417 418 419 RETURN: 420 return; 421 422 end dump_cmf_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/25/89 1005.0 dump_cmf_.pl1 >special_ldd>install>MR12.3-1100>dump_cmf_.pl1 79 1 08/06/87 0913.0 cdt.incl.pl1 >ldd>include>cdt.incl.pl1 1-314 2 07/21/88 2036.0 fnp_types.incl.pl1 >ldd>include>fnp_types.incl.pl1 81 3 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 3-10 4 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 83 5 08/29/75 0838.6 ttyp.incl.pl1 >ldd>include>ttyp.incl.pl1 85 6 11/04/76 1639.9 dataset_names.incl.pl1 >ldd>include>dataset_names.incl.pl1 87 7 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 89 8 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 91 9 10/25/89 0959.9 multiplexer_types.incl.pl1 >special_ldd>install>MR12.3-1100>multiplexer_types.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. ANS_SERVICE constant fixed bin(17,0) initial dcl 1-259 ref 276 CDTE based structure level 1 dcl 242 CDTEp parameter pointer dcl 241 ref 239 244 245 265 273 276 278 281 283 284 289 291 294 296 299 299 301 302 304 307 314 316 317 322 322 325 329 329 329 331 334 337 339 341 343 345 351 354 356 358 360 362 368 368 368 371 374 374 374 377 381 383 DN6670 constant fixed bin(17,0) initial dcl 2-19 ref 174 FNP_FREE constant fixed bin(17,0) initial dcl 1-298 ref 138 INACTIVE constant fixed bin(17,0) initial dcl 1-272 ref 194 284 LINE_BSC constant fixed bin(17,0) initial dcl 7-22 ref 302 MCS_MPX constant fixed bin(17,0) initial dcl 9-16 ref 159 164 169 174 179 184 MPX_SERVICE constant fixed bin(17,0) initial dcl 1-259 ref 281 acceptable_fnp_tbf 54 based fixed bin(17,0) level 2 dcl 1-44 set ref 128* access_class 12 based bit(72) array level 2 dcl 242 set ref 322* 322* 325* access_control 50(09) based structure level 3 packed packed unaligned dcl 242 ref 351 acdtp parameter pointer dcl 28 ref 25 94 aim_check_$equal 000024 constant entry external dcl 30 ref 322 322 answerback 35 based char(8) level 2 dcl 242 set ref 329 329 331* attributes 50 based structure level 3 packed packed unaligned dcl 242 ref 334 audit_access_error 50(01) based bit(1) level 4 packed packed unaligned dcl 242 ref 337 auth 000242 automatic char(100) packed unaligned dcl 67 set ref 325* 326* author based structure level 2 dcl 3-9 author_dcl based structure level 1 dcl 3-9 autobaud 50(23) based bit(1) level 4 packed packed unaligned dcl 242 ref 245 251 baud_rate 33(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 242 set ref 244 250 273* bb72 based bit(72) dcl 74 ref 329 368 374 bsc_ebcdic 50(20) based bit(1) level 4 packed packed unaligned dcl 242 ref 304 bsc_transparent 50(21) based bit(1) level 4 packed packed unaligned dcl 242 ref 307 ccount 000101 automatic fixed bin(17,0) dcl 220 set ref 225* 227* 227 228 228 230* cdt based structure level 1 dcl 1-44 cdt_entry 1520 based structure array level 2 dcl 1-44 set ref 233 233 250 251 cdt_et_$salvage_cdt 000032 external static fixed bin(35,0) dcl 44 set ref 230* cdte based structure level 1 dcl 1-72 cdtp 000534 automatic pointer dcl 1-41 set ref 94* 128 130 137 146 146 228 233 233 234 234 234 234 236 250 251 channel_threads based structure level 1 dcl 1-249 charge_type 32 based fixed bin(17,0) level 2 packed packed unaligned dcl 242 ref 289 291 ck_answerback 50 based bit(1) level 4 packed packed unaligned dcl 242 ref 329 343 cname parameter char(32) dcl 218 set ref 213 230* code 000224 automatic fixed bin(35,0) dcl 49 set ref 124* 325* com_err_ 000010 constant entry external dcl 30 ref 230 comment 16 based char(48) level 2 dcl 242 set ref 381 383* convert_authorization_$from_string 000026 constant entry external dcl 30 ref 124 convert_authorization_$to_string_range_short 000030 constant entry external dcl 30 ref 325 coreimage 6 based char(168) level 2 dcl 1-200 set ref 186* 189 191* dataset_names 000350 constant char(8) initial array packed unaligned dcl 6-5 set ref 316* date_string 000234 automatic char(24) packed unaligned dcl 67 set ref 97* 98 date_time_ 000012 constant entry external dcl 30 ref 97 daughter 1655 based fixed bin(17,0) array level 4 in structure "cdt" packed packed unaligned dcl 1-44 in procedure "dump_cmf_" set ref 234 daughter 105 based fixed bin(17,0) level 3 in structure "fnpe" packed packed unaligned dcl 1-200 in procedure "dump_cmf_" set ref 206 daughter 1 based fixed bin(17,0) level 2 in structure "threads" packed packed unaligned dcl 217 in procedure "dump_subtree" ref 222 226 daughter_count 2(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 217 ref 222 228 devid 000273 automatic char(8) array level 2 dcl 70 set ref 291* dft_baud 000225 automatic fixed bin(17,0) dcl 51 set ref 119* 248 255* 256 258 260* 267 dial_out 50(09) based bit(1) level 4 packed packed unaligned dcl 242 ref 354 dial_server 50(11) based bit(1) level 4 packed packed unaligned dcl 242 ref 358 dont_read_answerback 50(04) based bit(1) level 4 packed packed unaligned dcl 242 ref 345 dvt 000273 automatic structure array level 1 dcl 70 set ref 103 103 execute_initial_command 50(17) based bit(1) level 4 packed packed unaligned dcl 242 ref 368 flags 50 based structure level 2 dcl 242 fnp_entry 120 based structure array level 2 dcl 1-44 set ref 137 fnp_types 000370 constant char(8) initial array packed unaligned dcl 2-25 set ref 166* fnpe based structure level 1 dcl 1-200 fnpep 000536 automatic pointer dcl 1-41 set ref 137* 138 158 164 166 169 171 174 174 174 176 179 181 186 189 191 194 199 201 206 206 206 generic_destination based char(32) packed unaligned dcl 1-195 set ref 374 377* generic_destination_present 50(24) based bit(1) level 4 packed packed unaligned dcl 242 ref 374 hardwired 50(02) based bit(1) level 4 packed packed unaligned dcl 242 ref 339 i 000221 automatic fixed bin(17,0) dcl 49 set ref 136* 137* 162 206 250 251 initial_command 51 based char(64) level 2 dcl 242 set ref 368 368 371* 374 374 377 initial_terminal_type 37 based char(32) level 2 packed packed unaligned dcl 242 set ref 294 296* ioa_$ioa_switch 000014 constant entry external dcl 30 ref 397 ioa_$rsnnl 000016 constant entry external dcl 30 ref 128 130 166 171 176 181 186 191 201 260 265 273 278 283 291 296 301 316 326 331 371 377 383 len 000222 automatic fixed bin(17,0) dcl 49 set ref 128* 130* 166* 171* 176* 181* 186* 191* 201* 260* 265* 273* 278* 283* 291* 296* 301* 316* 326* 331* 371* 377* 383* 410 411* 411 line 000100 automatic char(160) packed unaligned dcl 46 set ref 95* 98* 100* 105* 107* 109* 111* 113* 115* 117* 125* 128* 130* 133* 142* 144* 148* 162* 166* 171* 176* 181* 186* 191* 196* 201* 204* 256* 258* 260* 265* 269* 271* 273* 278* 283* 291* 296* 301* 316* 326* 331* 348* 365* 371* 377* 383* 388* 397* 410* 410 line_type 33 based fixed bin(17,0) level 2 packed packed unaligned dcl 242 ref 299 299 301 302 line_types 000210 constant char(16) initial array packed unaligned dcl 7-54 set ref 301* login 50(12) based bit(1) level 4 packed packed unaligned dcl 242 ref 362 memory 1 based fixed bin(17,0) level 2 dcl 1-200 set ref 169 171* modem_type 34 based fixed bin(17,0) level 2 packed packed unaligned dcl 242 ref 314 316 mpx_data 47 based structure level 2 packed packed unaligned dcl 242 mpx_service 47(18) based fixed bin(17,0) level 3 packed packed unaligned dcl 242 ref 284 mpx_type 5 based fixed bin(17,0) level 2 in structure "fnpe" dcl 1-200 in procedure "dump_cmf_" ref 158 174 199 201 mpx_type 47 based fixed bin(17,0) level 3 in structure "CDTE" packed packed unaligned dcl 242 in procedure "dump_cdte" ref 283 mpx_type 000546 automatic fixed bin(17,0) dcl 156 in procedure "dump_fnpe" set ref 158* 159 159* 164 169 179 184 mpx_types 000000 constant char(32) initial array packed unaligned dcl 9-35 set ref 201* 283* mpxe based structure level 1 dcl 1-221 in procedure "dump_cmf_" mpxe 64 based structure level 2 in structure "fnpe" dcl 1-200 in procedure "dump_cmf_" n_cdtes 41 based fixed bin(17,0) level 2 dcl 1-44 ref 228 name 1522 based char(32) array level 3 in structure "cdt" dcl 1-44 in procedure "dump_cmf_" set ref 234* name 2 based char(32) level 2 in structure "CDTE" dcl 242 in procedure "dump_cdte" set ref 265* ndev 000223 automatic fixed bin(17,0) dcl 49 set ref 103* next_baud 000226 automatic fixed bin(17,0) dcl 51 set ref 250* 251* 253 next_sister 1654 based fixed bin(17,0) array level 4 packed packed unaligned dcl 1-44 set ref 236 nhslas 3 based fixed bin(17,0) level 2 dcl 1-200 set ref 179 181* nlslas 2 based fixed bin(17,0) level 2 dcl 1-200 set ref 174 176* options 50(17) based structure level 3 packed packed unaligned dcl 242 priv_attach 50(10) based bit(1) level 4 packed packed unaligned dcl 242 ref 356 private_line 50(19) based bit(1) level 4 packed packed unaligned dcl 242 ref 317 service_type 4 based fixed bin(17,0) level 2 in structure "fnpe" dcl 1-200 in procedure "dump_cmf_" ref 194 service_type 32(18) based fixed bin(17,0) level 2 in structure "CDTE" packed packed unaligned dcl 242 in procedure "dump_cdte" ref 276 278 281 service_types 000400 constant char(12) initial array packed unaligned dcl 76 set ref 278* set_modes 50(03) based bit(1) level 4 packed packed unaligned dcl 242 ref 341 slave_dial 50(13) based bit(1) level 4 packed packed unaligned dcl 242 ref 360 spare_channel_count 55 based fixed bin(17,0) level 2 dcl 1-44 set ref 130* state 64 based fixed bin(17,0) level 3 dcl 1-200 ref 138 switch parameter pointer dcl 28 set ref 25 397* system_high 000230 automatic bit(72) dcl 54 set ref 123* system_info_$access_ceiling 000022 constant entry external dcl 30 ref 123 system_info_$device_prices 000020 constant entry external dcl 30 ref 103 system_low 000232 automatic bit(72) dcl 54 set ref 124* 322* 322* thing parameter char packed unaligned dcl 408 ref 405 410 411 this_baud 000227 automatic fixed bin(17,0) dcl 51 set ref 244* 245* 248 253 255 267 269 271 threads 56 based structure level 2 in structure "cdt" dcl 1-44 in procedure "dump_cmf_" set ref 146 146 threads based structure level 1 dcl 217 in procedure "dump_subtree" threads 104 based structure level 2 in structure "fnpe" dcl 1-200 in procedure "dump_cmf_" set ref 206 206 threads 1654 based structure array level 3 in structure "cdt" dcl 1-44 in procedure "dump_cmf_" set ref 234 234 tp parameter pointer dcl 216 ref 213 222 222 226 228 type based fixed bin(17,0) level 2 dcl 1-200 ref 164 166 174 vline 000150 automatic varying char(160) dcl 46 set ref 336* 337* 337 339* 339 341* 341 343* 343 345* 345 347 347* 348 353* 354* 354 356* 356 358* 358 360* 360 362* 362 364 364* 365 x 000100 automatic fixed bin(17,0) dcl 219 set ref 226* 226* 233 233 234 234 234 234* 236 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTIVE internal static fixed bin(17,0) initial dcl 1-272 ACTIVE_VALUES internal static char(18) initial array dcl 8-86 CDT_version internal static fixed bin(17,0) initial dcl 1-39 CDT_version_5 internal static fixed bin(17,0) initial dcl 1-38 CHANNEL_DELETED internal static fixed bin(17,0) initial dcl 1-288 DIAL_OUT_SERVICE internal static fixed bin(17,0) initial dcl 1-259 DIAL_SERVICE internal static fixed bin(17,0) initial dcl 1-259 DN355 internal static fixed bin(17,0) initial dcl 2-19 DN6600 internal static fixed bin(17,0) initial dcl 2-19 DN7100 internal static fixed bin(17,0) initial dcl 2-19 FNP_BOOT internal static fixed bin(17,0) initial dcl 1-298 FNP_DOWN internal static fixed bin(17,0) initial dcl 1-298 FNP_UNKNOWN internal static fixed bin(17,0) initial dcl 1-298 FNP_UP internal static fixed bin(17,0) initial dcl 1-298 FTP_SERVICE internal static fixed bin(17,0) initial dcl 1-259 HASP_MPX internal static fixed bin(17,0) initial dcl 9-16 IBM3270_MPX internal static fixed bin(17,0) initial dcl 9-16 LAP_MPX internal static fixed bin(17,0) initial dcl 9-16 LINE_1050 internal static fixed bin(17,0) initial dcl 7-22 LINE_2741 internal static fixed bin(17,0) initial dcl 7-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 7-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 7-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 7-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 7-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 7-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 7-22 LINE_DSA internal static fixed bin(17,0) initial dcl 7-22 LINE_ETX internal static fixed bin(17,0) initial dcl 7-22 LINE_G115 internal static fixed bin(17,0) initial dcl 7-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 7-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 7-22 LINE_MC internal static fixed bin(17,0) initial dcl 7-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 7-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 7-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 7-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 7-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 7-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 7-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 7-22 LINE_VIP internal static fixed bin(17,0) initial dcl 7-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 7-22 MC_SERVICE internal static fixed bin(17,0) initial dcl 1-259 MPX_BOOT internal static fixed bin(17,0) initial dcl 1-306 MPX_DOWN internal static fixed bin(17,0) initial dcl 1-306 MPX_FREE internal static fixed bin(17,0) initial dcl 1-306 MPX_UNKNOWN internal static fixed bin(17,0) initial dcl 1-306 MPX_UP internal static fixed bin(17,0) initial dcl 1-306 NOT_CONFIGURED internal static fixed bin(17,0) initial dcl 1-280 NOW_DIALED internal static fixed bin(17,0) initial dcl 8-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 8-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 8-76 NOW_FREE internal static fixed bin(17,0) initial dcl 8-76 NOW_HAS_PROCESS internal static fixed bin(17,0) initial dcl 8-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 8-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 8-76 NOW_LOGGED_IN internal static fixed bin(17,0) initial dcl 8-76 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 8-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 8-142 PROTOCOL_MPX internal static fixed bin(17,0) initial dcl 9-16 PT_ALARM internal static fixed bin(17,0) initial dcl 8-106 PT_BUMP internal static fixed bin(17,0) initial dcl 8-106 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 8-106 PT_DETACH internal static fixed bin(17,0) initial dcl 8-106 PT_FPE internal static fixed bin(17,0) initial dcl 8-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 8-106 PT_LOGOUT internal static fixed bin(17,0) initial dcl 8-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 8-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 8-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 8-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 8-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 8-106 SLAVE_SERVICE internal static fixed bin(17,0) initial dcl 1-259 STATE_VALUES internal static char(15) initial array dcl 8-70 STY_MPX internal static fixed bin(17,0) initial dcl 9-16 SYSTEM1_MPX internal static fixed bin(17,0) initial dcl 9-16 SYSTEM2_MPX internal static fixed bin(17,0) initial dcl 9-16 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 8-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 8-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 8-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 8-93 TAG_UFT internal static char(1) initial packed unaligned dcl 8-93 TANDD_SERVICE internal static fixed bin(17,0) initial dcl 1-259 TRA_VEC_VALUES internal static char(32) initial array dcl 8-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 8-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 8-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 8-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 8-64 TTY_MPX internal static fixed bin(17,0) initial dcl 9-16 UNCP_MPX internal static fixed bin(17,0) initial dcl 9-16 USER1_MPX internal static fixed bin(17,0) initial dcl 9-16 USER2_MPX internal static fixed bin(17,0) initial dcl 9-16 USER3_MPX internal static fixed bin(17,0) initial dcl 9-16 USER4_MPX internal static fixed bin(17,0) initial dcl 9-16 USER5_MPX internal static fixed bin(17,0) initial dcl 9-16 VIP7760_MPX internal static fixed bin(17,0) initial dcl 9-16 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 8-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 8-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 8-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 8-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 8-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 8-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 8-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 8-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 8-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 8-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 8-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 8-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 8-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 8-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 8-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 8-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 8-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 8-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 8-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 8-25 X25_MPX internal static fixed bin(17,0) initial dcl 9-16 ac_table automatic structure array level 1 dcl 63 auth_bits automatic bit(72) dcl 54 auth_done automatic bit(1) packed unaligned dcl 58 cdtep automatic pointer dcl 1-41 count automatic fixed bin(17,0) dcl 60 fnp_models internal static fixed bin(17,0) initial array dcl 2-28 j automatic fixed bin(17,0) dcl 49 lidx automatic fixed bin(17,0) dcl 60 max_line_type internal static fixed bin(17,0) initial dcl 7-48 max_tty_type internal static fixed bin(17,0) initial dcl 5-3 mpx_special_lock internal static bit(1) initial array packed unaligned dcl 9-40 mpxep automatic pointer dcl 1-41 n_sync_line_types internal static fixed bin(17,0) initial dcl 7-50 supported_fnp internal static bit(1) initial array packed unaligned dcl 2-31 sync_line_type internal static fixed bin(17,0) initial array dcl 7-52 tty_dev_type internal static char(8) initial array dcl 5-5 NAMES DECLARED BY EXPLICIT CONTEXT. RETURN 001614 constant label dcl 419 ref 231 addto_line 004403 constant entry internal dcl 405 ref 284 286 304 306 307 309 311 317 319 append_line 004351 constant entry internal dcl 394 ref 96 99 101 106 108 110 112 114 116 118 126 129 131 134 143 145 149 163 167 172 177 182 187 192 197 202 205 261 266 274 279 287 292 297 312 320 327 332 349 366 372 379 385 389 dump_cdte 002466 constant entry internal dcl 239 ref 233 dump_cmf_ 001176 constant entry external dcl 25 dump_fnpe 001615 constant entry internal dcl 153 ref 138 dump_subtree 002315 constant entry internal dcl 213 ref 146 206 234 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 103 103 137 146 146 206 206 233 233 234 234 250 251 329 368 374 374 377 clock builtin function ref 97 97 collate builtin function ref 162 206 length builtin function ref 347 364 411 rank builtin function ref 162 206 string builtin function ref 334 351 substr builtin function set ref 162 206 347* 364* 410 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4700 4734 4517 4710 Length 5330 4517 34 360 161 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dump_cmf_ 450 external procedure is an external procedure. dump_fnpe internal procedure shares stack frame of external procedure dump_cmf_. dump_subtree 161 internal procedure calls itself recursively. dump_cdte internal procedure shares stack frame of internal procedure dump_subtree. append_line 80 internal procedure is called by several nonquick procedures. addto_line internal procedure shares stack frame of internal procedure dump_subtree. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dump_cmf_ 000100 line dump_cmf_ 000150 vline dump_cmf_ 000221 i dump_cmf_ 000222 len dump_cmf_ 000223 ndev dump_cmf_ 000224 code dump_cmf_ 000225 dft_baud dump_cmf_ 000226 next_baud dump_cmf_ 000227 this_baud dump_cmf_ 000230 system_high dump_cmf_ 000232 system_low dump_cmf_ 000234 date_string dump_cmf_ 000242 auth dump_cmf_ 000273 dvt dump_cmf_ 000534 cdtp dump_cmf_ 000536 fnpep dump_cmf_ 000546 mpx_type dump_fnpe dump_subtree 000100 x dump_subtree 000101 ccount dump_subtree THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this call_int_other return_mac tra_ext_1 shorten_stack ext_entry int_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. aim_check_$equal com_err_ convert_authorization_$from_string convert_authorization_$to_string_range_short date_time_ ioa_$ioa_switch ioa_$rsnnl system_info_$access_ceiling system_info_$device_prices THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cdt_et_$salvage_cdt LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 001172 94 001203 95 001207 96 001212 97 001216 98 001235 99 001255 100 001262 101 001265 103 001271 105 001304 106 001307 107 001313 108 001316 109 001322 110 001325 111 001331 112 001334 113 001340 114 001343 115 001347 116 001352 117 001356 118 001361 119 001365 123 001367 124 001376 125 001423 126 001426 128 001432 129 001462 130 001466 131 001516 133 001522 134 001525 136 001531 137 001537 138 001543 140 001546 142 001550 143 001553 144 001557 145 001562 146 001566 148 001604 149 001607 151 001613 419 001614 153 001615 158 001616 159 001621 162 001624 163 001650 164 001654 166 001661 167 001715 169 001721 171 001727 172 001757 174 001763 176 001774 177 002024 179 002030 181 002036 182 002067 184 002073 186 002076 187 002130 188 002134 189 002135 191 002142 192 002172 194 002176 196 002202 197 002205 199 002211 201 002214 202 002246 204 002252 205 002255 206 002261 208 002313 213 002314 222 002322 225 002336 226 002337 227 002342 228 002343 230 002360 231 002420 233 002423 234 002431 236 002455 237 002465 239 002466 244 002470 245 002477 248 002504 250 002506 251 002517 253 002524 255 002526 256 002530 258 002536 260 002544 261 002575 265 002602 266 002637 267 002644 269 002650 271 002656 273 002664 274 002723 276 002730 278 002740 279 002775 281 003002 283 003012 284 003046 286 003065 287 003072 289 003077 291 003105 292 003142 294 003147 296 003156 297 003207 299 003214 301 003225 302 003261 304 003270 306 003301 307 003306 309 003324 311 003333 312 003340 314 003345 316 003353 317 003410 319 003426 320 003433 322 003440 325 003505 326 003532 327 003563 329 003570 331 003610 332 003644 334 003651 336 003657 337 003665 339 003702 341 003717 343 003734 345 003751 347 003766 348 003772 349 003776 351 004003 353 004011 354 004017 356 004034 358 004051 360 004066 362 004103 364 004120 365 004124 366 004130 368 004135 371 004153 372 004204 374 004211 377 004230 379 004261 381 004266 383 004275 385 004331 388 004336 389 004342 390 004347 394 004350 397 004356 398 004402 405 004403 410 004414 411 004434 412 004437 ----------------------------------------------------------- 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