/* Begin include file ... rcp_data.incl.pl1 * * Created on 09/06/74 by Bill Silver. * This include file defines the Resource Control Package data base, rcp_data. * It is initialized in ring 0 by rcp_init. It is maintained in ring 1 by RCP. * It contains information about all of the devices and volumes managed by RCP. * This include file references rcp_com_seg.incl.pl1. * Modified by R.J.C. Kissel on 10/5/77 to add the check_label bit. * Modified by Michael R. Jordan on 04/24/78 to add modes and attached flag. * Modified on 12/09/78 to add removable media bit. * Modified 3/79 by Michael R. Jordan for MR7.0R. * Modified 3/79 by C. D. Tavares for expandable RCP modes. * Modified 11/84 by Paul Farley to add fips flag. * Modified 02/85 by Paul Farley to add no_protect and opr_int_available flags. */ /****^ HISTORY COMMENTS: 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), audit(85-12-09,CLJones), install(86-03-21,MR12.0-1033): Support FIPS and IMU. END HISTORY COMMENTS */ dcl rcpd_ptr ptr; /* Points to base of RCPD. */ dcl dtype_ptr ptr; /* Points to a device type entry. */ dcl device_ptr ptr; /* Points to a device entry. */ dcl volume_ptr ptr; /* Points to a volume entry. */ dcl 1 rcpd based (rcpd_ptr) aligned, /* Begin at word 0 of RCPD. */ 2 lock_info like lock_info, /* Data used to lock this segment. */ 2 init bit (1) unal, /* ON => rcp_ring1_init_ has executed */ 2 modes like rcp_init_flags unaligned, 2 tot_dtypes fixed bin, /* Number of known device types. */ 2 tot_devices fixed bin, /* Total number of devices configured. */ 2 tot_volumes fixed bin, /* Number of possible attached volumes. */ 2 last_volume fixed bin, /* The last volume entry currently in use. */ 2 mtimer_chan fixed bin (71), /* Event channel for mount timer. */ 2 mtimer_pid bit (36), /* ID of mount timer process. */ 2 accounting_chan fixed bin (71), /* Event channel for device accounting */ 2 accounting_pid bit (36), /* ID of accounting process */ 2 unload_sleep_time fixed bin (71), /* Number of microseconds to wait for unload completion. */ 2 pad (7) fixed bin, 2 dtype (0 refer (rcpd.tot_dtypes)) /* One entry per device type. */ like dtype, /* See structure below. */ 2 device (0 refer (rcpd.tot_devices)) /* One entry per configured device. */ like device, /* See structure below. */ 2 volume (0 refer (rcpd.tot_volumes)) /* One entry per possible attached volume. */ like volume, /* See structure below. */ 2 end bit (36) aligned; /* End of rcp_data. */ dcl 1 dtype based (dtype_ptr) aligned, /* Entry for one device type. */ 2 device_type char (32), /* Name of this device type. */ 2 max_concurrent fixed bin, /* Max number of concurrently assigned devices. */ 2 num_reserved fixed bin, /* Num of devices reserved for system processes. */ 2 num_devices fixed bin, /* Num of devices of this type that are configured. */ 2 first_off bit (18), /* Offset of first device entry. */ 2 histo_times (3) fixed bin; /* Used to compute histograms for this device type. */ dcl 1 device based (device_ptr) aligned, /* Up to state must = rcs.rcse. */ 2 device_name char (8), /* Name of device associated with this entry. */ 2 volume_name char (32), /* Volume name. Blank => no volume. */ 2 dtypex fixed bin, /* Device type index. */ 2 model fixed bin, /* Device model number. */ 2 num_qualifiers fixed bin, /* Number of device qualifiers. */ 2 qualifiers (4) fixed bin (35), /* Device qualifiers. */ 2 state_time fixed bin (71), /* Time device put into current state. */ 2 state fixed bin, /* 0 => free, 1 => assigned, 2 => deleted, 3 => storage system, 4 => reserved */ /* * * * * ** Following fields are unique to device entry. */ 2 unassign_state fixed bin, /* State to return when unassigning. */ 2 acs_name char (12), /* Entry name of ACS for this device. */ 2 next_off bit (18), /* Offset of next entry for this device type. */ 2 iom_num fixed bin, /* IOM number for this device. */ 2 chan_num fixed bin, /* Channel number for this device. */ 2 num_channels fixed bin, /* Num channels that may address device. */ 2 flags, /* Special info flags. */ (3 delete bit (1), /* ON => Delete device when it is unassigned. */ 3 priv bit (1), /* ON => Deleted device assigned for priv attach. */ 3 reservable bit (1), /* ON => may be reserved for system process. */ 3 reserved bit (1), /* ON => reserved to a reserved process. */ 3 mounting bit (1), /* ON => mount pending. */ 3 writing bit (1), /* ON => mounting for writing. */ 3 attached bit (1) unal, /* ON => device is attached. */ 3 not_removable_media bit (1), /* ON => cannot remove volume from device. */ 3 fips bit (1), /* ON => FIPS device. */ 3 no_protect bit (1), /* ON => device has no protect sw. */ 3 opr_int_available bit (1), /* ON => device connected to MPC with OI button. */ 3 unused bit (25)) unal, 2 process_id bit (36), /* ID of assigned process. */ 2 group_id char (32), /* Process group ID. */ 2 error_count fixed bin (35), /* Total error count. Defined by user ring. */ 2 num_assigns fixed bin (35), /* Total # of times device assigned & unassigned. */ 2 tot_assign_time fixed bin (71), /* Total time that device was assigned. */ 2 histogram (4) fixed bin, /* Assignment time histogram. */ 2 reservation_id fixed bin (71), 2 reserved_by char (32), /* Who made this reservation. */ 2 current_authorization bit (72) aligned; /* Authoization of process using this device. */ dcl 1 volume based (volume_ptr) aligned, /* Entry for one volume. */ 2 process_id bit (36), /* "0"b => unassigned. */ 2 volume_name char (32), /* Volume name. */ 2 vtypex fixed bin, /* Volume type index. */ 2 group_id char (32), /* This is used for the reserved_for field. */ 2 reserved_by char (32), 2 reservation_id fixed bin (71), 2 state_time fixed bin (71), /* Same as for a device. */ 2 state fixed bin, /* Same as for a device. */ 2 unassign_state fixed bin, /* State to return when unassigning. */ 2 current_authorization bit (72) aligned; /* Authorization of process using this volume. */ %include rcp_init_flags; /* End of include file ... rcp_data.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 */