/* BEGIN INCLUDE FILE tolts_info.incl.pl1 */ /****^ HISTORY COMMENTS: 1) change(80-03-24,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to add second sct for 500/501 MTAR 2) change(80-09-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to init rcp_area and alt_rcp_area to 0. 3) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to add new statements for colts. 4) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to increase the dcw_list size. 5) change(82-04-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to add crcst and redefine devsct. 6) change(82-09-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to increase the console buffer size for mtar. 7) change(82-11-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): for 128chan support. 8) change(83-07-01,Fakoury), approve(), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to increase the dcw_list size for mtar perm file track repair. 9) change(84-04-10,Fakoury), approve(86-08-21,MCR7514), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): to add sct_info needed to support the DAU & DIPPER. 10) change(85-02-21,Fakoury), approve(86-08-21,MCR7514), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 2/85 to support test nio request. 11) change(85-04-01,Fakoury), approve(86-08-21,MCR7514), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): for extended status store. 12) change(85-12-21,Fakoury), approve(86-08-21,MCR7514), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): for Colts Responder changes. 13) change(86-02-01,Fakoury), approve(86-08-20,MCR7514), audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): implement the test nio request. support of a Colts responder test request. END HISTORY COMMENTS */ /* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ dcl polt_io_type fixed bin int static options (constant) init (0); dcl itr_io_type fixed bin int static options (constant) init (1); dcl mdr_io_type fixed bin int static options (constant) init (2); dcl mtar_io_type fixed bin int static options (constant) init (3); dcl firm_ld_io_type fixed bin int static options (constant) init (4); dcl mtc_io_type fixed bin int static options (constant) init (5); dcl mtg_io_type fixed bin int static options (constant) init (6); dcl mdc_io_type fixed bin int static options (constant) init (7); dcl mhp_io_type fixed bin int static options (constant) init (8); dcl mca_io_type fixed bin int static options (constant) init (9); dcl rspd_io_type fixed bin int static options (constant) init (10); dcl tolts_infop ptr external static; /* ext static ptr to tolts_info structure */ dcl colts_info_ptr ptr; /* ptr to individual test page data */ dcl io_info_ptr ptr; /* ptr to individual test page data */ dcl dmap ptr; /* pointer to dial_manager_arg */ dcl 1 tolts_info based (tolts_infop) aligned, /* data structure used for tolts routines */ 2 cdtptr ptr, 2 df_iocbp ptr, /* deckfile iocb ptr */ 2 dm_event fixed bin (71), /* dial_manager event_channel */ 2 exec char (4), /* executive name (polt, molt, colt etc) */ 2 exec_dta_cnt fixed bin, /* inter slave request count */ 2 exec_page_count fixed bin, /* number of test pages active */ 2 exec_term_io_wait bit (1), /* waiting for io to complete for exec termination */ 2 execp ptr, /* ptr to slave polt or molt segment */ 2 file_attach bit (1), /* = "1"b if print file attached */ 2 file_open bit (1), /* = "1"b if print file open */ 2 finish_cond bit (1), /* = "1"b if finish condition has been signaled */ 2 first_request_done bit (1), /* first terminal io request complete */ 2 gc_date bit (36), /* gcos 6 char bcd date (set at init time, updated at rollover) */ 2 gewake_active bit (1), /* = "1"b if gewake alarm timer is active */ 2 gewake_event fixed bin (71), /* gewake alarm timer event channel id */ 2 glob_int_cnt fixed bin, /* total number of outstanding test IOs */ 2 hdir char (168), /* users home directory pathname */ 2 init_time fixed bin (71), /* gcos time of executive initialize (mme poinit) */ 2 max_to fixed bin (71), /* max ioi timeout ( from rcp_$check_attach) */ 2 max_wks_sz fixed bin (19), /* max ioi wkspace size (from rcp_$check_attach) */ 2 micro_time fixed bin (71), /* time at midnight in usecs. (set at init time, updated at rollover */ 2 optflag fixed bin, /* option request flag */ 2 padx (2) fixed bin, /* reserved area */ 2 pf_iocbp ptr, /* print file iocb ptr */ 2 pf_name char (32), /* seg name of print file */ 2 process bit (36), /* T & D users process id */ 2 quith_event fixed bin (71), /* quit handler event call channel id */ 2 special_fault bit (1), /* error on reconnect after special int */ 2 term_io_in_prog bit (1), /* terminal io in progress */ 2 term_io_req_cnt fixed bin, /* outstanding terminal io requests */ 2 tty_ccc_event fixed bin (71), /* term io courtesy call event call channel id */ 2 tty_display_event fixed bin (71), /* term io display event channel id */ 2 tty_issue_event fixed bin (71), /* term io issue event call channel id */ 2 wks_sz fixed bin, /* workspace size in words (4096 for polts, 6144 for molts) */ 2 exec_dta (16), /* inter slave request queue */ 3 word (4) bit (36), /* inter slave data */ 2 ccc_queue, /* courtesy call queue */ 3 ccc_requests fixed bin, /* courtesy call requests */ 3 icivlu (16) bit (36), /* ic and ind of courtesy call routine */ 2 isc_queue, /* interslave communication queue */ 3 icivlu bit (36), /* ic and i of queue entry */ 3 status_add fixed bin, /* :: */ 3 data_add fixed bin, /* :: */ 2 tadio (8), /* T & D user io rqt queue */ 3 optrd bit (1), /* = "1"b if options are to be read */ 3 inuse bit (1), /* = "1"b if queue entry in use */ 3 return_word (3) bit (36), /* data returned from mme tadiod */ 3 option bit (6 * 84), /* bcd option string */ 2 wait_list, /* wait list for dispatcher block */ 3 nchan fixed bin, /* number of event wait channels */ 3 wait_pad fixed bin, /* will make wait_event_id on even boundary */ 3 wait_event_id (2) fixed bin (71), /* dispatcher event wait chan id */ 2 clt_sw char (32), 2 att_desc char (32), 2 cdt_pointer ptr, /* save pointer to cdt */ 2 fnp_exec_cnt fixed bin init (0), 2 fnp (0:7), 3 exec_active bit (1) init ("0"b), 3 exec_chan char (32), 3 status_word bit (36) init ("0"b), 3 fnp_execp ptr, 3 type fixed bin, 3 exec_type_code bit (6) init ("0"b), 3 cdt_name (8) char (32) init ("empty"), /* cdt name built from test request */ 3 dm_arg like dial_manager_arg, 2 mess_buf, /* terminal io message buffers */ 3 first ptr, /* ptr to start of message buffer */ 3 nxt ptr, /* ptr to nxt queue entry */ 3 term_queue (8192) fixed bin, /* message queu as fixed bin */ 3 q_end bit (0), /* to find end of queue */ 3 q_pad (1024) fixed bin, /* padding area */ 3 mult_ans char (28) varying, /* answer to local Multics question */ 3 cv_buf char (4000) varying, /* temporary conversion storage */ 2 colts_pages (8) like colts_info, 2 pages (8) like io_info, /* test pages (8 posible) */ 2 firm_buf (10240) fixed bin; /* storage for loading firmware */ dcl 1 io_info based (io_info_ptr) aligned, /* this maps test pages in tolts_info */ 2 alloc_wait bit (1), /* = "1"b if waiting for delayed allocation */ 2 allocated bit (1), /* = "1"b if device allocated to this page */ 2 alt_dev_flag bit (1), /* = "1"b if 2nd logical device configured (MTAR 500/501 only */ 2 alt_device_index fixed bin (12), /* ioi device index */ 2 alt_device_name char (8), /* alternate allocated device name */ 2 alt_rcp_area (24) fixed bin init (0), /* alternate device rcp */ 2 alt_rcp_id bit (36) aligned, /* rcp id for alternate attach/check_attach */ 2 attach_err fixed bin (35), /* error code returned durning attach */ 2 cata_cycle bit (1), /* cycle check for cata */ 2 cat_name char (10), /* itr or mdr catalog suffix */ 2 n_keys fixed bin aligned, /* number of catalog keys below */ 2 cata_keys (10) char (24) aligned, /* array of catalog keys */ 2 catp ptr, /* ptr to itr or mdr catalog in deckfile */ 2 catx fixed bin, /* current cata_info.index */ 2 ccu_pun bit (1), /* = "1"b if ccu to be used as punch */ 2 chan_suspended bit (1), /* = "1"b if channel has been suspended */ 2 chan_time fixed bin (35), /* channel time (in 1/64th miliseconds) */ 2 con_time fixed bin (35), /* abs time of connect (in 1/64 th miliseconds) */ 2 cur_wks_sz fixed bin, /* current size of ioi workspace (normally tolts_info.wks_sz) */ 2 dcw_list (330) bit (36), /* test page dcw list in unaltered form */ 2 dev_busy bit (1), /* = "1"b if device busy before */ 2 device_index fixed bin (12), /* ioi device index */ 2 device_name char (8), /* allocated device name (in ascii) */ 2 ev_ch_ass bit (1), /* = "1"b if status event chan assigned to this page */ 2 ext_status_add fixed bin, /* extended status store address */ 2 fnp_num fixed bin, 2 fpinfo_ptr ptr, /* ptr to rspd info table */ 2 ignore_term bit (1), /* = "1"b if term int to be ignored, wait for special (ITR) */ 2 in_use bit (1), /* = "1"b if this test page in use */ 2 int_time fixed bin (35), /* abs time of interrupt (in 1/64 th miliseconds) */ 2 io_in_progress bit (1), /* = "1"b if io in progress for this page */ 2 io_trc_flag bit (1), /* = "1"b if io is being traced */ 2 io_type fixed bin, /* 0 = polt, 1 = ITR, 2 = MDR, 3 = MTAR, 4 = firmware load */ 2 iocp ptr, 2 ipc_attached bit (1), 2 ipc_id char (3), 2 ipc_number fixed bin, 2 lostit_time fixed bin (35), /* lost interrupt time in 1/64 th miliseconds */ 2 mca_attach_state fixed bin, 2 mcata_idx fixed bin, /* mca catalog indexer */ 2 mcata_nkeys fixed bin aligned, /* no of keys in a mca catalog */ 2 mcata_keys (100) char (24) aligned, /* mca catalog entries */ 2 mca_ioi_idx fixed bin, /* ioi index of attached mca / 2 mca_iop ptr, /* mca io ptr */ 2 mca_workspace_ptr ptr, 2 mpc_dev_cnt fixed bin, /* if urmpc to be booted, # of devices */ 2 nff bit (1), /* = "1"b new format flag */ 2 num_connects fixed bin, /* number of connects issued by this page */ 2 p2_att bit (1), /* ="1"b if alternate device is attached (MTAR 500/501 only) */ 2 p_att bit (1), /* = "1"b if perp. device attached to this page */ 2 page_base fixed bin (18) uns, /* base of this test page in slave seg */ 2 pcwa bit (36), /* pcw */ 2 rcp_area (24) fixed bin init (0), /* storage for rcp device info */ 2 rcp_id bit (36) aligned, /* rcp id for attach/check_attach */ 2 rcp_name char (32), /* rcp name for this device */ 2 rcp_state fixed bin, /* rcp attach state flag */ 2 release_chan bit (1), /* = "1"b if ioi_$release devices to be called */ 2 rew_wait bit (1), /* = "1"b if waiting for special on rewind complete */ 2 sp_flag bit (1), /* = "1"b if special status available */ 2 sp_status bit (36), /* special interrupt status storage */ 2 spare1 bit (1), 2 status_add fixed bin, /* address to store status in test page */ 2 status_event fixed bin (71), /* io completion status event call channel id */ 2 suspend_chan bit (1), /* = "1"b if ioi_$suspend devices to be called */ 2 tolts_rspd_wksp ptr, 2 test_hdr char (16), /* test header used for Multics local messages */ 2 tio_off fixed bin (18), /* dcw list offset for ioi */ 2 to_no_cc bit (1), /* = "1"b if timeout expected (set after mme ipcw) */ 2 workspace_ptr ptr, /* ioi workspace ptr */ 2 altsct, /* sct for MTAR alternate device */ (3 w1, /* device sct word 1 */ 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 4 device_no bit (6), /* device number */ 4 com_prph bit (1), /* = "1"b if common perph. device */ 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 4 pad1 bit (2), 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 4 icc bit (11), /* iom and channel (true channel index) */ 4 pad2 bit (7), 3 w2, /* device sct word 2 */ 4 ptrain fixed bin (14), /* print train number */ 4 nmods bit (3), /* not used in Multics */ 4 pad4 bit (3), 4 den_cap bit (4), /* density capability for tapes */ 4 pad5 bit (11)) unaligned, 2 crcst, /* controller sct */ (3 pad1 bit (1), 3 volatile bit (1), /* reloadable firmware */ 3 mpc bit (1), /* = "1"b if mpc */ 3 pad2 bit (4), 3 ms500 bit (1), /* = "1"b if mss500 device */ 3 mtp610 bit (1), /* = "1"b if mtp 610 device */ 3 pad3 bit (27)) unaligned, 2 dev_firm (4), /* storage for device firmware edit names */ 3 edit_name char (4), /* for urmpc firmware */ 3 mask bit (36), /* port mask for this firmware */ 2 devsct, /* 2 word device sct entry */ (3 w1, /* device sct word 1 */ 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 4 device_no bit (6), /* device number */ 4 com_prph bit (1), /* = "1"b if common perph. device */ 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 4 pad1 bit (2), 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 4 icc bit (11), /* iom and channel (true channel index) */ 4 pad2 bit (7), 3 w2, /* device sct word 2 */ 4 ptrain fixed bin (14), /* print train number */ 4 nmods bit (3), /* not used in Multics */ 4 pad4 bit (3), 4 den_cap bit (4), /* density capability for tapes */ 4 pad5 bit (11)) unaligned, 2 icivlu, /* ic and i for courtesy call on io completion */ 3 ic bit (18) unaligned, /* instruction counter */ 3 ind bit (18) unaligned, /* indicator register */ 2 sct_info, (3 cntsct bit (18), /* unchanged from before */ 3 ioc_type bit (4), /* 0 = IOM, 1 = IMU, 2 = IOX */ 3 cnt_type bit (4), /* 0 = MPC, 1 = DAU, 2 = EURC, 3 = FIPS */ 3 pad1 bit (1), 3 xioc_type bit (4), /* not used in Multics */ 3 xcnt_type bit (4), /* not used in Multics */ 3 pad2 bit (1)) unaligned, 2 test_req aligned, (3 fnccss bit (18), 3 tt bit (6), 3 pad1 bit (6)) unaligned; dcl 1 colts_info aligned based (colts_info_ptr), 2 cdt_name char (32), 2 chanp pointer, /* iox pointer to chan under test */ 2 dm_arg aligned like dial_manager_arg, 2 fnp_num fixed bin (4), 2 in_use bit (1) unaligned init ("0"b), 2 status_word bit (36) aligned init ("0"b), 2 type_code bit (6) unaligned init ("0"b); %page; %include dial_manager_arg; /* END INCLUDE FILE tolts_info.incl.pl1 */ */ ----------------------------------------------------------- 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 */