1 /* Begin include file ... rcp_com_seg.incl.pl1 2 * 3 * Created on 11/20/74 by Bill Silver. 4 * Modified on 09/19/77 by R.J.C. Kissel to add label authentication bits. 5 * Modified on 12/09/78 by Michael R. Jordan to add removable media bit and label_type. 6 * Modified 1/79 by R.J.C. Kissel to add disk label authentication bits. 7 * Modified 2/79 by Michael R. Jordan to add volume_density. 8 * Modified 11/84 by Paul Farley to add fips flag. 9 * Modified 1/3/85 by Fawcett to allow room for mca device type 10 * Modified 02/85 by Paul Farley to add no_protect and opr_int_available flags. 11 * This include file defines the Resource Control Package communication segment. 12 * This segment is used to communicate requests between the various internal 13 * parts of RCP. 14 */ 15 16 /****^ HISTORY COMMENTS: 17 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 18 audit(85-12-09,CLJones), install(86-03-21,MR12.0-1033): 19 Support MCA and FIPS. 20 END HISTORY COMMENTS */ 21 22 dcl lock_info_ptr ptr; /* Pointer to lock info structure. */ 23 dcl rcs_ptr ptr; /* Pointer to base of RCS. */ 24 dcl rcse_ptr ptr; /* Pointer to an RCS entry. */ 25 26 dcl 1 based_rcp_id based aligned, /* Overlay of an rcp_id. */ 27 (2 id_count fixed bin (17), /* Unique count index. */ 28 2 rcse_off bit (18)) unaligned; /* Offset of rcp_com_seg entry. */ 29 30 dcl 1 rcs based (rcs_ptr) aligned, /* Begin at word zero of rcp_com_seg. */ 31 2 lock_info like lock_info, /* Data used to lock this segment. */ 32 2 ws_maxs (8) fixed bin (19), /* Max IOI workspace size in words. */ 33 2 ws_pmaxs (8) fixed bin (19), /* Max IOI workspace size for priv attachments. */ 34 2 to_maxs (8) fixed bin (71), /* Max IOI time-out intervals in microseconds. */ 35 2 sys_directory char (32), /* Directory used to define a system process. */ 36 2 sys_acs char (32), /* Entry name used to define a system process. */ 37 2 acs_directory char (32), /* Directory containing device ACSs. */ 38 2 id_count fixed bin (35), /* Counter used to form rcp_id. */ 39 2 max_entries fixed bin, /* Maximum number of entries allowed. */ 40 2 num_entries fixed bin, /* Total number of entries. */ 41 2 first_free_off bit (18), /* Offset of first free entry. */ 42 2 entry (0 refer (rcs.num_entries)) /* Array of request entries. */ 43 like rcse, /* See structure below. */ 44 2 end bit (36); /* End of rcp_com_seg. */ 45 46 dcl 1 lock_info based (lock_info_ptr) aligned, /* Used to meter locking. */ 47 2 lock bit (36), /* The lock itself. */ 48 2 num_locks fixed bin (35), /* Number of times locked. */ 49 2 num_lock_waits fixed bin (35), /* Number of lock waits. */ 50 2 time_of_lock fixed bin (71), /* Time of last lock. */ 51 2 tot_lock_time fixed bin (71), /* Total time locked. */ 52 2 tot_wait_time fixed bin (71), /* Total time waiting for lock. */ 53 2 starting_time fixed bin (71); /* Time metering started. */ 54 55 dcl 1 rcse based (rcse_ptr) aligned, /* Up to state must = rcpd.device. */ 56 2 device_name char (8), /* Name of device associated with this entry. */ 57 2 volume_name char (32), /* Volume name. Blank => no volume. */ 58 2 dtypex fixed bin, /* Device type index. */ 59 2 model fixed bin, /* Device model number. */ 60 2 num_qualifiers fixed bin, /* Number of device qualifiers. */ 61 2 qualifiers (4) fixed bin (35), /* Device qualifiers. */ 62 2 state_time fixed bin (71), /* Time device put into current state. */ 63 2 state fixed bin, /* 0 - free 1 - assigning 2 - assigned */ 64 /* 3 - attaching 4 - attached 5 - completed. */ 65 66 /* * * * * ** Following fields are unique to RCS entry. */ 67 2 kind fixed bin, /* 1 => attach, 2 => assign */ 68 2 free_off bit (18), /* Offset of next free entry. 0 => not free. */ 69 2 user_off bit (18), /* Offset of next entry in user list. */ 70 2 device_off bit (18), /* Offset of device entry in RCPD. */ 71 2 volume_off bit (18), /* Offset of volume entry in RCPD. */ 72 2 rcse_off bit (18), /* Offset of associated RCS entry. */ 73 2 caller_level fixed bin, /* Caller's validation level. */ 74 2 disposition bit (1), /* ON => retain, OFF => unassign. */ 75 2 flags, /* Special info flags. */ 76 (3 device bit (1), /* ON => assigning a specific device. */ 77 3 priv bit (1), /* ON => attached with IOI privilege. */ 78 3 system bit (1), /* ON => assigned to a system process. */ 79 3 t_and_d bit (1), /* ON => T&D attachment. */ 80 3 volume bit (1), /* ON => volume associated with this device. */ 81 3 writing bit (1), /* ON => writing on volume. */ 82 3 have_auth bit (1), /* ON => tape volume authenticated. */ 83 3 need_auth bit (1), /* ON => tape volume needs authentication. */ 84 3 auth_set bit (1), /* ON => "have_auth" has been set. */ 85 3 preload_allowed bit (1), /* ON => preloading of volumes is allowed. */ 86 3 preloaded bit (1), /* ON => volume may be loaded on device. */ 87 3 not_removable_media bit (1), /* ON => cannot remove volume from device. */ 88 3 disk_ss_pack bit (1), /* ON => disk is a storage system volume. */ 89 3 disk_copy_of_ss_pack bit (1), /* ON => disk is a copy of a storage system volume. */ 90 3 disk_io_pack bit (1), /* ON => disk has label but is not storage system. */ 91 3 disk_unregistered bit (1), /* ON => disk is unregistered storage system volume. */ 92 3 disk_unreadable bit (1), /* ON => io error reading disk label. */ 93 3 must_auto_register bit (1), /* ON => unregistered volume requested */ 94 3 fips bit (1), /* ON => FIPS device. */ 95 3 no_protect bit (1), /* ON => device has no protect sw. */ 96 3 opr_int_available bit (1), /* ON => device connected to MPC with OI button. */ 97 3 unused bit (6), 98 3 volume_density_index fixed bin (3) unsigned, /* Density of volume */ 99 3 label_type fixed bin (6) unsigned)unaligned, /* Type of label read by RCP. */ 100 2 rcp_id bit (36), /* ID of this entry. */ 101 2 event_id fixed bin (71), /* Caller's event channel ID. */ 102 2 process_id bit (36), /* ID of calling process. */ 103 2 group_id char (32), /* Group ID of calling process. */ 104 2 ecode fixed bin (35), /* Assignment error code. */ 105 2 version_num fixed bin, /* Device info version number. */ 106 2 workspace_max fixed bin (19), /* Max size of IOI workspace buffer. */ 107 2 timeout_max fixed bin (71), /* Max IOI time-out interval. */ 108 2 ioi_index fixed bin, /* IOI device index. */ 109 2 workspace_ptr ptr, /* Pointer to IOI workspace buffer. */ 110 2 caller_comment char (64); /* Caller's comment. */ 111 112 /* End of include file ... rcp_com_seg.incl.pl1 */