COMPILATION LISTING OF SEGMENT mtape_check_status_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 11/30/87 1326.5 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(87-08-17,GWMay), approve(87-09-09,MECR0006), 12* audit(87-09-04,Farley), install(87-09-09,MR12.1-1101): 13* Added checks to return on write errors and reposition the tape on read 14* errors. 15* 2) change(87-10-19,GWMay), approve(87-10-19,MCR7779), audit(87-11-02,Farley), 16* install(87-11-30,MR12.2-1006): 17* Formally install MECR0006. 18* END HISTORY COMMENTS */ 19 20 21 mtape_check_status_: proc (arg_mtdp, arg_code); 22 23 /* format: style4 */ 24 25 /* * This program performs certain "last ditch" exception recovery 26* * functions for mtape_. In particular, automatic recovery from device 27* * attention and power off are attempted from within this module. 28* * 29* * Modification History: 30* * 31* * Created by J. A. Bush 11/11/83 32**/ 33 34 /* ARGUMENT DATA */ 35 36 dcl arg_mtdp ptr; /* Pointer to the mtape data structure */ 37 dcl arg_code fixed bin (35); /* Return error code */ 38 39 /* AUTOMATIC DATA */ 40 41 dcl code fixed bin (35); 42 dcl 1 save_position like mtape_data.position aligned; 43 44 /* CONSTANT DATA */ 45 46 dcl DEV_ATT_MSG char (64) int static options (constant) init 47 ("Attempting recovery from device attention condition."); 48 dcl PWR_OFF_MSG char (64) int static options (constant) init 49 ("Attempting recovery from power off condition."); 50 51 /* EXTERNAL STATIC DATA */ 52 53 dcl error_table_$device_attention fixed bin (35) ext static; 54 dcl error_table_$device_parity fixed bin (35) ext static; 55 dcl error_table_$unable_to_do_io fixed bin (35) ext static; 56 dcl mtape_dev_attention_recovery condition; 57 58 /* BUILTIN FUNCTIONS */ 59 60 dcl null builtin; 61 62 /* EXTERNAL ENTRIES */ 63 64 dcl mtape_util_$error entry options (variable); 65 dcl mtape_mount_cntl_$remount entry (ptr, fixed bin (35)); 66 dcl mtape_io_$order entry (ptr, char (*), fixed bin, ptr, fixed bin (35)); 67 68 /* BASED VARIABLES */ 69 70 dcl based_area area based (mtape_data.areap); 71 72 /* Beginning of mtape_check_status_ entry */ 73 74 mtdp = arg_mtdp; /* copy args */ 75 vs_ptr = mtape_data.vs_current; 76 mpfmip = mtape_data.pfm_info_ptr; 77 moip = mtape_data.open_info_ptr; 78 /* save current file and block pos. */ 79 save_position = mtape_data.position; 80 /* allocate area to store status */ 81 allocate ths in (based_area) set (ths_ptr); 82 mtape_data.last_ur_status_ptr = ths_ptr; 83 ths.version = THS_VERSION; 84 85 call tape_ioi_$hardware_status (mtape_data.tioi_id, ths_ptr, code); 86 if code ^= 0 then do; 87 call mtape_util_$error (mtdp, code, 88 "^/mtape_check_status_: error from tape_ioi_$hardware_status"); 89 return; 90 end; 91 92 if ths.major = DEVICE_ATTENTION & (ths.minor = HANDLER_IN_STANDBY 93 | ths.minor = NO_SUCH_HANDLER | ths.minor = HANDLER_CHECK) 94 & arg_code ^= error_table_$device_parity then do; 95 call MSG_OUT ("Unrecoverable error"); 96 if ths.minor = HANDLER_CHECK then 97 arg_code = error_table_$unable_to_do_io; 98 else 99 arg_code = error_table_$device_attention; 100 end; 101 102 else 103 /* if apparent pwr off, see if recoverable recursion not allowed */ 104 105 if ths.major = POWER_OFF then do; 106 if mtape_vol_set.pwr_off_retry then do; 107 call mtape_util_$error (mtdp, 0, 108 "^/Recovery of PWR OFF status condition unsuccessful"); 109 arg_code = error_table_$unable_to_do_io; 110 end; 111 else do; 112 mtape_vol_set.pwr_off_retry = "1"b; 113 arg_code = error_table_$device_attention; 114 /* Tell user and operator about the error and that we are atempting 115* recovery. */ 116 call MSG_OUT ("Power off condition"); 117 call mtape_util_$error (mtdp, 0, PWR_OFF_MSG); 118 mtape_vol_set.demount_comment = PWR_OFF_MSG; 119 call RECOVERY; /* attempt recovery */ 120 arg_code = code; 121 end; 122 end; 123 else 124 if ths.major = DEVICE_ATTENTION & 125 (mtape_open_info.open_mode = Sequential_input 126 | mtape_open_info.open_mode = Stream_input) then do; 127 128 if mtape_vol_set.dev_att_retry then do; 129 call mtape_util_$error (mtdp, 0, 130 "^/Recovery of DEV ATT status condition unsuccessful"); 131 arg_code = error_table_$unable_to_do_io; 132 end; 133 134 else do; 135 /* protect against recursion */ 136 mtape_vol_set.dev_att_retry = "1"b; 137 mtape_vol_set.demount_comment = DEV_ATT_MSG; 138 139 /* Tell user and operator about the error and that we are attempting 140* recovery. */ 141 call MSG_OUT ("Device Attention condition"); 142 call mtape_util_$error (mtdp, 0, DEV_ATT_MSG); 143 144 call RECOVERY; /* attempt recovery */ 145 arg_code = code; 146 147 /* should not return here unless recovery unsuccessful */ 148 end; 149 end; 150 151 else /* Report it, unless PFM wants it */ 152 if ^mtape_pfm_info.extended_error_recovery then do; 153 call MSG_OUT ("Unrecoverable error"); 154 arg_code = error_table_$unable_to_do_io; 155 end; 156 157 free ths in (based_area); 158 mtape_data.last_ur_status_ptr = null; 159 return; 160 161 /* RECOVERY - subroutine to attempt recovery from dev attention/pwr off 162* condition */ 163 164 RECOVERY: proc; 165 166 if mtape_vol_set.pwr_off_retry | save_position.phy_file < 3 then do; 167 168 call mtape_mount_cntl_$remount (mtdp, code); 169 170 if code ^= 0 then do; 171 call mtape_util_$error (mtdp, code, 172 "^/Remount of volume ^a unsuccessful, while attempting error recovery", 173 mtape_vol_set.volume_name); 174 arg_code = code; /* return this error code */ 175 return; 176 end; 177 178 mtape_vol_set.demount_comment = ""; 179 /* Do file position if necessary */ 180 if save_position.phy_file ^= 0 then do; 181 call mtape_io_$order (mtdp, "fsf", save_position.phy_file, null, 182 code); 183 if code ^= 0 then return; 184 end; 185 /* Do block position if necessary */ 186 if save_position.phy_block ^= 0 then do; 187 call mtape_io_$order (mtdp, "fsr", save_position.phy_block, null, 188 code); 189 if code ^= 0 then return; 190 end; 191 end; 192 193 else do; 194 195 /* Move the tape back 2 and forward 2. The effect is to clean the 196* fuzz off of the tape heads. DO NOT EVER REMOVE THIS CODE. */ 197 198 code = 0; 199 call mtape_io_$order (mtdp, "bsf", 2, null, code); 200 if code ^= 0 then return; 201 202 call mtape_io_$order (mtdp, "fsf", 2, null, code); 203 if code ^= 0 then return; 204 205 /* Do block position if necessary */ 206 if save_position.phy_block ^= 0 then do; 207 call mtape_io_$order (mtdp, "fsr", save_position.phy_block, 208 null, code); 209 if code ^= 0 then return; 210 end; 211 end; 212 213 signal mtape_dev_attention_recovery; 214 return; 215 end RECOVERY; 216 217 /* MSG_OUT - subroutine to output common formatted error message */ 218 219 MSG_OUT: proc (preamble); 220 221 dcl preamble char (*); 222 /* display common msg format */ 223 call mtape_util_$error (mtdp, arg_code, 224 "^/^a detected on volume ^a, mounted on device ^a. 225 Physical position: file # ^d, block # ^d. 226 Hardware status: ""^a"".", preamble, mtape_vol_set.volume_name, 227 mtape_vol_set.device_name, save_position.phy_file, 228 save_position.phy_block + 1, ths.description); 229 230 return; 231 end MSG_OUT; 232 1 1 /* BEGIN INCLUDE FILE mtape_data.incl.pl1. Created by J. A. Bush 10/06/82 */ 1 2 /* format: style4 */ 1 3 1 4 dcl mtdp ptr; 1 5 1 6 dcl mtape_data_version_1 char (8) int static options (constant) init ("mtdv0001"); 1 7 1 8 dcl 1 mtape_data aligned based (mtdp), 1 9 2 version char (8), /* Current structure version */ 1 10 2 areap ptr, /* Pointer to an allocation area */ 1 11 2 iocb_ptr ptr, /* Pointer to our IO control block */ 1 12 2 atdp ptr, /* Pointer to the attach description string */ 1 13 2 opdp ptr, /* Pointer to the open description string */ 1 14 2 cldp ptr, /* Pointer to close description string */ 1 15 2 dtdp ptr, /* Pointer to detach description string */ 1 16 2 cmtdp ptr, /* If non-null, Ptr to allocated copy of mtape_data */ 1 17 2 vs_head ptr, /* Pointer to the first volume_set structure */ 1 18 2 vs_tail ptr, /* Pointer to the last volume_set structure */ 1 19 2 vs_current ptr, /* Pointer to the current volume_set structure */ 1 20 2 vs_mounted_tail ptr, /* Pointer to MRM volume_set member */ 1 21 2 fi_head ptr, /* Pointer to the first file_info structure */ 1 22 2 fi_tail ptr, /* Pointer to the last file_info structure */ 1 23 2 fi_current ptr, /* Pointer to the current file_info structure */ 1 24 2 tape_infop ptr, /* Pointer to rcp tape info structure */ 1 25 2 last_ur_status_ptr ptr, /* If non-null, Ptr to last unrecoverable status */ 1 26 2 io_echan fixed bin (71), /* Fast wait channel for I/O interrupts */ 1 27 2 mount_echan fixed bin (71), /* Regular wait channel for mount requests */ 1 28 2 data_xfer_args, /* Arguments for time critical (read/write) calls */ 1 29 3 arg_buf_ptr ptr, /* Pointer to users buffer */ 1 30 3 arg_buf_len fixed bin (21), /* Length of users buffer in bytes */ 1 31 3 arg_rec_len fixed bin (21), /* Length of record read in bytes */ 1 32 2 error_lock fixed bin (35), /* if ^= 0 = file locked error code */ 1 33 2 abs_ans char (3), /* Query answer (yes or no) for abs user */ 1 34 2 user_type bit (1), /* "1"b => interactive; "0"b => absentee */ 1 35 2 display_errors bit (1), /* "1"b => display verbose error messages */ 1 36 2 force_end_of_volume bit (1), /* "1"b => simulate EOV on next write */ 1 37 2 opd_len fixed bin (21), /* Allocated length of open description */ 1 38 2 drives_in_use fixed bin, /* Number of tape drives currently in use */ 1 39 2 data_buffers, /* Info about data buffers */ 1 40 3 buf_ptrs (8) ptr, /* Pointers to a subset of ioi buffers */ 1 41 3 blind_buf_ptrs (8) ptr, /* Pointers to other subset of buffers */ 1 42 3 buf_len (8) fixed bin (21), /* Length of buffers in 9 bit bytes */ 1 43 3 blind_buf_len (8) fixed bin (21), /* Lengths of other subset of buffers */ 1 44 3 nbufs fixed bin, /* Number of data buffers currently in use */ 1 45 3 buf_size fixed bin (21), /* Allocated size of data buffers in bytes */ 1 46 3 bufs_per_subset fixed bin, /* Number of buffers to write/read per I/O */ 1 47 3 cur_buf_idx fixed bin, /* Index into subset of current buffer */ 1 48 3 run bit (1), /* "1"b => wrt I/O queued thru tape_ioi_; "0"b => ^Queued */ 1 49 2 label_buffer, /* Info about label record buffer */ 1 50 3 lab_bufp ptr, /* Pointer to label I/O buffer */ 1 51 3 lab_buf_len fixed bin (21), /* Length of label buffer in 9 bit bytes */ 1 52 2 tlb ptr, /* Pointer to a temp label record structure */ 1 53 2 position, /* Position on current volume */ 1 54 3 phy_file fixed bin, /* physical file number */ 1 55 3 phy_block fixed bin, /* physical block within physical file */ 1 56 2 current_file, /* instantanious info about current file */ 1 57 3 cur_block, /* info about current block */ 1 58 4 cur_buf_ptr ptr, /* Pointer to the current data buffer */ 1 59 4 log_record_ptr ptr, /* Pointer to current logical record */ 1 60 4 length fixed bin (21), /* Length of current block in bytes */ 1 61 4 processed fixed bin (21), /* Number of chars processed already */ 1 62 4 remain fixed bin (21), /* Number of chars remaining to be processed */ 1 63 4 log_record fixed bin (21), /* Log. record within the current block */ 1 64 3 char_size fixed bin, /* Size in bits of the data chars of this file */ 1 65 3 padding_char char (1), /* To pad blocks to mod 4 on binary writes */ 1 66 3 length_mode fixed bin, /* 0 => W/R mod 4 blocks; 1 => W/R non-mod 4 blocks */ 1 67 3 hdw_mode fixed bin, /* Hardware recording mode: 1 68* 1 = binary; 2 = nine track; 3 = BCD */ 1 69 3 conversion fixed bin, /* File data conversion: 1 70* 0 = no conversion; 1 = ASCII<->EBCDIC; 2 = ASCII<->BCD */ 1 71 3 buffer_offset fixed bin, /* Number of bytes prior to data */ 1 72 3 block_size fixed bin (21), /* Maximum block size for this file */ 1 73 3 record_size fixed bin (21), /* Maximum record size for this file */ 1 74 3 prev_block_no fixed bin (21), /* Number of previous block read */ 1 75 3 ad_file_format fixed bin, /* 1 = U; 2 = F; 3 = D or V; 4 = S or VS */ 1 76 3 file_blocked bit (1), /* "1"b => file is blocked */ 1 77 3 native_file bit (1), /* "1"b => current file written by mtape_ PFM */ 1 78 3 write_after_read bit (1), /* "1"b => truncate file (and file_set) at this record */ 1 79 3 first_file bit (1), /* "1"b => first file has been processed */ 1 80 3 tot_bytes_processed fixed bin (35), /* total bytes in this file section */ 1 81 3 last_io fixed bin, /* Last I/O operation (1 = read; 2 = write) */ 1 82 3 lrec_rrcx fixed bin, /* current index of the lrec round robin counter */ 1 83 3 lrec_rrc, /* history of last n logical records */ 1 84 4 block_no (0:7) fixed bin (35), /* block (within file section) where lrec starts */ 1 85 4 block_len (0:7) fixed bin (35), /* block len of current block */ 1 86 4 lrec_no (0:7) fixed bin (35), /* logical record within currnt block */ 1 87 4 abs_byte (0:7) fixed bin (35), /* byte (within file section) where lrec starts */ 1 88 4 byte_offset (0:7) fixed bin, /* offset of 1st byte of lrec (within block) */ 1 89 3 blk_rrcx fixed bin, /* index into blk_rrrc array of last block */ 1 90 3 blk_rrrc (0:7) fixed bin (35), /* contains Lrec count of last n blocks */ 1 91 3 tot_lrec fixed bin (35), /* Total logical records processed in current file */ 1 92 2 tioi_id bit (36), /* Identifier used for calls to tape_ioi_ */ 1 93 2 attach_info_ptr ptr, /* Pointer to attach option info */ 1 94 2 open_info_ptr ptr, /* Pointer to open option info */ 1 95 2 close_info_ptr ptr, /* Pointer to close option info */ 1 96 2 detach_info_ptr ptr, /* Pointer to detach option info */ 1 97 2 pfm_info_ptr ptr, /* Pointer to PFM info block */ 1 98 2 saved_pfm_info_ptr ptr, /* Pointer to info for "change_module" control OP */ 1 99 2 pfm_name char (32), /* Name of Per-Format module */ 1 100 2 pfm_required_entries like pfm_entries, /* Required entry point declarations in PFM */ 1 101 2 pfm_work_area (32) fixed bin (35); /* PFM work buffer */ 1 102 1 103 dcl 1 pfm_entries based aligned, /* Entry declarations for PFM entries */ 1 104 2 pfm_init entry (ptr, fixed bin (35)), /* PFM initialization entry */ 1 105 2 file_open entry (ptr, fixed bin (35)), /* PFM file_open entry */ 1 106 2 file_close entry (ptr, fixed bin (35)), /* PFM file_close entry */ 1 107 2 read entry (ptr, fixed bin (35)), /* PFM read entry */ 1 108 2 write entry (ptr, fixed bin (35)), /* PFM write entry */ 1 109 2 order entry (ptr, char (*), ptr, ptr, fixed bin (35)), /* PFM control order entry */ 1 110 2 decode_file_labels entry (ptr, ptr, fixed bin, fixed bin, fixed bin (35)), 1 111 2 encode_file_labels entry (ptr, ptr, fixed bin, fixed bin, fixed bin, fixed bin (35)); 1 112 1 113 dcl all_buf_ptrs (16) ptr based (addr (mtape_data.buf_ptrs)); 1 114 dcl all_buf_lens (16) fixed bin (21) based (addr (mtape_data.buf_len)); 1 115 dcl tape_blk (mtape_data.length) char (1) unaligned based (mtape_data.cur_buf_ptr); /* template for a tape block */ 1 116 1 117 /* END INCLUDE FILE mtape_data.incl.pl1 */ 233 234 2 1 /* BEGIN INCLUDE FILE mtape_vol_set.incl.pl1. Created by J. A. Bush 10/13/82 */ 2 2 /* The include file mtape_err_stats.incl.pl1 is referenced by this include file */ 2 3 /* format: style4 */ 2 4 2 5 dcl vs_ptr ptr; 2 6 2 7 dcl mtape_vs_version_1 char (8) int static options (constant) init ("mtvsv001"); 2 8 2 9 dcl 1 mtape_vol_set aligned based (vs_ptr), 2 10 2 version char (8), /* Current version */ 2 11 2 prev_vs_ptr ptr, /* Pointer to previous volume set entry */ 2 12 2 next_vs_ptr ptr, /* Pointer to next volume set entry */ 2 13 2 mrm_vs_ptr ptr, /* Pointer to Most Recently Mounted VS member */ 2 14 2 lrm_vs_ptr ptr, /* Pointer to Least Recently Mounted VS member */ 2 15 2 first_vl_ptr ptr, /* Pointer to the first volume label record structure */ 2 16 2 last_vl_ptr ptr, /* Pointer to the last volume label record structure */ 2 17 2 volume_name char (32), /* Name specified in the attach description */ 2 18 2 volume_id char (32), /* Name as recorded in the volume label */ 2 19 2 mount_comment char (64), /* Mount comment from attach description */ 2 20 2 demount_comment char (64), /* Demount comment from detach description */ 2 21 2 device_name char (8), /* Device volume is currently or last mounted on */ 2 22 2 rcp_id bit (36), /* RCP activation for this volume */ 2 23 2 tioi_id bit (36), /* tape_ioi_ activation for this volume */ 2 24 2 volume_index fixed bin, /* Volume sequence number within volume set */ 2 25 2 volume_density fixed bin, /* Actual volume density determined by RCP */ 2 26 2 volume_type fixed bin, /* Use rcp_volume_formats.incl.pl1 for decode */ 2 27 2 volume_check fixed bin, /* Refer to named constants below for values */ 2 28 2 number_of_vol_labels fixed bin, /* # of volume label records on this volume */ 2 29 2 auth_required bit (1), /* "1"b => Operator authentication was required */ 2 30 2 mounted bit (1), /* "1"b => volume currently mounted */ 2 31 2 ever_mounted bit (1), /* "1"b => volume has been mounted */ 2 32 2 volume_end bit (1), /* "1"b => reached end of volume (EOT foil) on write */ 2 33 2 first_file_unexpired bit (1), /* "1"b => first file of volume is unexpired */ 2 34 2 dev_att_retry bit (1), /* "1"b => DEVICE ATTENTION recovery in progress */ 2 35 2 pwr_off_retry bit (1), /* "1"b => POWER OFF recovery in progress */ 2 36 2 mounts fixed bin, /* Number of times volume mounted during attachment */ 2 37 2 tot_error_stats like mtape_err_stats, /* Summation of error statistics for all mounts */ 2 38 2 rel_error_stats like mtape_err_stats; /* Summation of error statistics, this mount */ 2 39 2 40 /* Named constants applied to volume_check variable, when volume label read by PFMs pfm_init entry */ 2 41 2 42 dcl (MTAPE_VOLUME init (1), /* Volume recorded by mtape_ (desired type) */ 2 43 MULT_PRIOR_VOLUME init (2), /* Volume recorded by prior Multics software 2 44* (desired type) */ 2 45 NON_MULT_VOLUME init (3), /* Volume recorded by other vendor (desired type) */ 2 46 BLANK_VOLUME init (4), /* Volume is blank/unreadable */ 2 47 UNLABELED_VOLUME init (5), /* Volume is unlabeled or has unrecognized label */ 2 48 RECOG_FORMAT_VOLUME init (6) /* Volume has label of other recognized format */ 2 49 ) fixed bin int static options (constant); 2 50 2 51 /* END INCLUDE FILE mtape_vol_set.incl.pl1 */ 235 236 3 1 /* BEGIN INCLUDE FILE mtape_err_stats.incl.pl1. Created by J. A. Bush 07/22/83. */ 3 2 /* format: style4 */ 3 3 3 4 dcl es_ptr ptr; 3 5 3 6 dcl 1 mtape_err_stats aligned based (es_ptr), /* Error statistics block */ 3 7 2 read like err_entry, /* For read operations */ 3 8 2 write like err_entry, /* For write operations */ 3 9 2 orders like err_entry, /* For non-data xfer operations */ 3 10 2 successful_retry (7) fixed bin (35); /* retrys that succeeded after 1-7 trys */ 3 11 3 12 dcl 1 err_entry aligned based, 3 13 2 errors fixed bin (35), 3 14 2 operations fixed bin (35); 3 15 3 16 /* END INCLUDE FILE mtape_err_stats.incl.pl1 */ 237 238 4 1 /* BEGIN INCLUDE FILE mtape_constants.incl.pl1. Created by J. A. Bush 10/07/82 */ 4 2 /* format: style4 */ 4 3 4 4 /* This include file defines various named constants used throughout mtape_ 4 5* and its associated Per-Format modules */ 4 6 4 7 /* Storage allocation constants, used to denote what type of storage to allocate */ 4 8 4 9 dcl (MTAPE_ALLOC_VS init (1), /* to allocate a volume_set structure */ 4 10 MTAPE_ALLOC_LR init (2), /* to allocate a label record structure */ 4 11 MTAPE_ALLOC_FI init (3), /* to allocate a file_info structure */ 4 12 MTAPE_ALLOC_STR init (4) /* to allocate a character string, or undefined block */ 4 13 ) fixed bin int static options (constant); 4 14 4 15 /* Volume density constants */ 4 16 4 17 dcl MTAPE_VALID_DENSITIES (5) init (200, 556, 800, 1600, 6250) 4 18 fixed bin int static options (constant); 4 19 4 20 /* Device speed constants */ 4 21 4 22 dcl MTAPE_SPEED_VALUES (4) init (0, 75, 125, 200) /* 0 is any speed device */ 4 23 fixed bin int static options (constant); 4 24 4 25 /* Hardware Mode constants */ 4 26 4 27 dcl (MTAPE_HWM_BIN init (1), /* For binary hardware mode */ 4 28 MTAPE_HWM_NINE init (2), /* For nine hardware mode */ 4 29 MTAPE_HWM_BCD init (3) /* For BCD hardware mode */ 4 30 ) fixed bin int static options (constant); 4 31 4 32 /* Data conversion constants */ 4 33 4 34 dcl (MTAPE_UNSPECIFIED init (0), /* attribute not specified */ 4 35 MTAPE_NO_CONVERSION init (1), /* No conversion on input or output */ 4 36 MTAPE_CV_EBCDIC init (2), /* Convert to/from EBCDIC (from/to ASCII) */ 4 37 MTAPE_CV_BCD init (3), /* Convert to/from BCD (from/to ASCII) */ 4 38 MTAPE_CV_UC_ASCII init (4), /* Convert to Upper case ASCII (from any case ASCII) */ 4 39 MTAPE_CV_UC_EBCDIC init (5) /* Convert to Upper case EBCDIC (from any case ASCII) */ 4 40 ) fixed bin int static options (constant); 4 41 4 42 /* File positioning constants */ 4 43 4 44 dcl (NOT_POSITIONED_IN_FILE init (0), /* Not currently positioned within this file */ 4 45 AT_BOFH init (1), /* Positioned at beginning of file hdr */ 4 46 AT_EOFH init (2), /* Positioned at end of file hdr */ 4 47 AT_BOFD init (3), /* Positioned at beginning of file data */ 4 48 AT_IFD init (4), /* Positioned in file data, not beginning */ 4 49 AT_EOFD init (5), /* Positioned prior to end of data file */ 4 50 AT_BOFT init (6), /* Positioned at beginning of trailer label file */ 4 51 AT_EOFT init (7), /* Positioned at end of trailer label file */ 4 52 AT_EOF init (8), /* Positioned after trailer labels at EOF */ 4 53 FILES_PER_FILE_GRP init (3) /* # of physical files per file (section) group */ 4 54 ) fixed bin int static options (constant); 4 55 4 56 dcl (BOF_LABEL init (1), /* indicates beginning of file label */ 4 57 EOV_LABEL init (2), /* indicates end of volume label */ 4 58 EOF_LABEL init (3) /* indicates end of file label */ 4 59 ) fixed bin int static options (constant); 4 60 4 61 /* user query constant codes */ 4 62 4 63 dcl (Q_NO_NEXT_VOLUME init (1), 4 64 Q_LABELED_VOLUME init (2), 4 65 Q_UNEXPIRED_VOLUME init (3), 4 66 Q_INCORRECT_VOLUME init (4), 4 67 Q_UNEXPIRED_FILE init (5), 4 68 Q_ABORT_FILE init (6) 4 69 ) fixed bin int static options (constant); 4 70 4 71 /* END INCLUDE FILE mtape_constants.incl.pl1 */ 239 240 5 1 /* BEGIN INCLUDE FILE mtape_pfm_info.incl.pl1. Created by J. A. Bush 06/16/83 */ 5 2 /* format: style4 */ 5 3 5 4 dcl mpfmip ptr; 5 5 5 6 dcl mtape_pfm_info_version_1 char (8) int static options (constant) init ("mpiv0001"); 5 7 5 8 dcl 1 mtape_pfm_info aligned based (mpfmip), /* PFM information block */ 5 9 2 version char (8), /* Current structure version */ 5 10 2 module_id char (21), /* For identification of PFM. (e.g. ANSI, IBM, GCOS) */ 5 11 2 open_modes_allowed (3) fixed bin, /* Allowable open modes for this PFM */ 5 12 2 bof_prefix char (3), /* For identification of BOF labels */ 5 13 2 eov_prefix char (3), /* For identification of EOV labels */ 5 14 2 eof_prefix char (3), /* For identification of EOF labels */ 5 15 2 no_labels_ok bit (1), /* "1"b => PFM processes unlabeled volumes */ 5 16 2 multi_volumes_ok bit (1), /* "1"b => PFM processes multi-volume sets */ 5 17 2 extended_error_recovery bit (1), /* "1"b => PFM will do error recovery after mtape_ gives up */ 5 18 2 pfm_open_options like pfm_options, /* open options common to this PFM */ 5 19 2 pfm_close_options like pfm_options; /* close options common to this PFM */ 5 20 5 21 dcl 1 pfm_options aligned based, /* common to open and close pfm options */ 5 22 2 pfm_opt_flags (5), /* identifies use of "pfm_opt_sw (1-5)" close flags */ 5 23 3 flag_name char (32), /* name of flag */ 5 24 3 flag_ant_name char (32), /* antonym name */ 5 25 2 pfm_opt_value_name (5) char (32), /* identifies use of "pfm_opt_value (1-5)" */ 5 26 2 pfm_opt_str_name (5) char (32); /* identifies use of "pfm_opt_str (1-5)" */ 5 27 5 28 /* END INCLUDE FILE mtape_pfm_info.incl.pl1 */ 241 242 6 1 /* BEGIN INCLUDE FILE mtape_open_close_info.incl.pl1. Created by J. A. Bush 06/13/83 */ 6 2 /* format: style4 */ 6 3 6 4 dcl moip ptr; /* Pointer to mtape_open_info structure */ 6 5 dcl mcip ptr; /* Pointer to mtape_close_info structure */ 6 6 6 7 dcl mtape_open_info_version_1 char (8) int static options (constant) init ("moiv0001"); 6 8 dcl mtape_close_info_version_1 char (8) int static options (constant) init ("mciv0001"); 6 9 6 10 dcl 1 mtape_open_info aligned based (moip), 6 11 2 version char (8), /* Current structure version */ 6 12 2 cs_ptr ptr, /* Pointer to arg processing control structure */ 6 13 2 cal_ptr ptr, /* Pointer to arg processing ctl arg list */ 6 14 2 so_ptr ptr, /* Pointer to last saved iox_ options */ 6 15 2 open_mode fixed bin, /* iox_ opening mode */ 6 16 2 comment char (80), /* Display on user_output after open */ 6 17 2 expiration char (24), /* File expiration date */ 6 18 2 file_format char (3), /* File format code */ 6 19 2 recording_mode char (6), /* Ascii, ebcdic, or binary */ 6 20 2 file_name char (32), /* Name of file to be recorded */ 6 21 2 replace_id char (32), /* Name of file to replace */ 6 22 2 init_to_zero, /* Enables clearing rest of structure */ 6 23 3 block_length fixed bin (35), /* Block size in bytes */ 6 24 3 record_length fixed bin (35), /* Record length specified by user */ 6 25 3 default_span_rlen fixed bin (35), /* Default record length for spanned records */ 6 26 3 default_var_rlen fixed bin (35), /* Default record length for variable records */ 6 27 3 default_fix_rlen fixed bin (35), /* Default record length for fixed records */ 6 28 3 seq_number fixed bin (35), /* File sequence number */ 6 29 3 append bit (1), /* "1"b => append file to end of file set */ 6 30 3 create bit (1), /* "1"b => create this file */ 6 31 3 display bit (1), /* "1"b => display the open description */ 6 32 3 extend bit (1), /* "1"b => extend the current file */ 6 33 3 force bit (1), /* "1"b => disregard file expiration when creating */ 6 34 3 last_file bit (1), /* "1"b => position to last file of file set */ 6 35 3 next_file bit (1), /* "1"b => position to next file of file set */ 6 36 3 modify bit (1), /* "1"b => modify the current file */ 6 37 3 label_entry_present bit (1), /* "1"b => user label entry is valid */ 6 38 3 user_label entry (ptr, char (*), fixed bin, fixed bin, fixed bin, fixed bin (35)), 6 39 3 pfm_args like pfm_arg_values; /* see structure below */ 6 40 6 41 dcl 1 mtape_close_info aligned based (mcip), 6 42 2 version char (8), /* Current structure version */ 6 43 2 cs_ptr ptr, /* Pointer to arg processing control structure */ 6 44 2 cal_ptr ptr, /* Pointer to arg processing ctl arg list */ 6 45 2 so_ptr ptr, /* Pointer to last saved iox_ options */ 6 46 2 comment char (80), /* Display on user_output after open */ 6 47 2 init_to_zero, /* Enables clearing rest of structure */ 6 48 3 display bit (1), /* Display open description for user */ 6 49 3 position fixed bin, /* For positioning on file closing: 6 50* 0 = Leave at current position; 6 51* 1 = Position to beginning of file; 6 52* 2 = Position to end of file; 6 53* 3 = Position to beginning of file section; 6 54* 4 = Position to end of file section */ 6 55 3 pfm_args like pfm_arg_values; /* see structure below */ 6 56 6 57 dcl 1 pfm_arg_values aligned based, /* Common to open and close_info */ 6 58 2 pfm_opt_sw (5) bit (1), /* PFM dependent */ 6 59 2 pfm_opt_value (5) fixed bin (35), /* PFM dependent */ 6 60 2 pfm_opt_str (5) char (32); /* PFM dependent */ 6 61 6 62 /* END INCLUDE FILE mtape_open_close_info.incl.pl1 */ 243 244 7 1 /* Begin include file ..... iox_modes.incl.pl1 */ 7 2 7 3 /* Written by C. D. Tavares, 03/17/75 */ 7 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 7 5 7 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 7 7 ("stream_input", "stream_output", "stream_input_output", 7 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 7 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 7 10 "direct_input", "direct_output", "direct_update"); 7 11 7 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 7 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 7 14 7 15 dcl (Stream_input initial (1), 7 16 Stream_output initial (2), 7 17 Stream_input_output initial (3), 7 18 Sequential_input initial (4), 7 19 Sequential_output initial (5), 7 20 Sequential_input_output initial (6), 7 21 Sequential_update initial (7), 7 22 Keyed_sequential_input initial (8), 7 23 Keyed_sequential_output initial (9), 7 24 Keyed_sequential_update initial (10), 7 25 Direct_input initial (11), 7 26 Direct_output initial (12), 7 27 Direct_update initial (13)) fixed bin int static options (constant); 7 28 7 29 /* End include file ..... iox_modes.incl.pl1 */ 245 246 8 1 /* START OF: tape_ioi_dcls.incl.pl1 * * * * * * * * * * * * * * * * */ 8 2 8 3 /* Written 22 April 1982 by Chris Jones */ 8 4 /* Modified September 1983 by Chris Jones for reserve_buffer and release_buffer */ 8 5 /* format: style4,delnl,insnl,indattr,ifthen,declareind10,dclind10 */ 8 6 8 7 /* call tape_ioi_$activate (rsc_ptr, tioi_info_ptr, tioi_id, code); */ 8 8 dcl tape_ioi_$activate entry (ptr, ptr, bit (36) aligned, fixed bin (35)); 8 9 8 10 /* call tape_ioi_$allocate_buffers (tioi_id, req_length, req_number, act_length, act_number, buffer_ptrs, code); */ 8 11 dcl tape_ioi_$allocate_buffers 8 12 entry (bit (36) aligned, fixed bin (21), fixed bin, fixed bin (21), fixed bin, 8 13 dim (*) ptr, fixed bin (35)); 8 14 8 15 /* call tape_ioi_$allocate_work_area (tioi_id, req_size, act_size, work_area_ptr, code); */ 8 16 dcl tape_ioi_$allocate_work_area 8 17 entry (bit (36) aligned, fixed bin (19), fixed bin (19), ptr, fixed bin (35)); 8 18 8 19 /* call tape_ioi_$buffer_status (tioi_id, buffer_ptr, tbs_ptr, code); */ 8 20 dcl tape_ioi_$buffer_status 8 21 entry (bit (36) aligned, ptr, ptr, fixed bin (35)); 8 22 8 23 /* call tape_ioi_$check_order (tioi_id, ocount, rx, code); */ 8 24 dcl tape_ioi_$check_order entry (bit (36) aligned, fixed bin, fixed bin, fixed bin (35)); 8 25 8 26 /* call tape_ioi_$check_read (tioi_id, buffer_ptr, data_len, rx, code); */ 8 27 dcl tape_ioi_$check_read entry (bit (36) aligned, ptr, fixed bin (21), fixed bin, fixed bin (35)); 8 28 8 29 /* call tape_ioi_$check_write (tioi_id, buffer_ptr, rx, code); */ 8 30 dcl tape_ioi_$check_write entry (bit (36) aligned, ptr, fixed bin, fixed bin (35)); 8 31 8 32 /* call tape_ioi_$deactivate (tioi_id, error_ptr, code); */ 8 33 dcl tape_ioi_$deactivate entry (bit (36) aligned, ptr, fixed bin (35)); 8 34 8 35 /* call tape_ioi_$deallocate (tioi_id, code); */ 8 36 dcl tape_ioi_$deallocate entry (bit (36) aligned, fixed bin (35)); 8 37 8 38 /* call tape_ioi_$deallocate_buffers (tioi_id, code); */ 8 39 dcl tape_ioi_$deallocate_buffers 8 40 entry (bit (36) aligned, fixed bin (35)); 8 41 8 42 /* call tape_ioi_$get_mode (tioi_id, mode, data_ptr, code); */ 8 43 dcl tape_ioi_$get_mode entry (bit (36) aligned, char (*), ptr, fixed bin (35)); 8 44 8 45 /* call tape_ioi_$get_statistics (tioi_id, tec_ptr, code); */ 8 46 dcl tape_ioi_$get_statistics 8 47 entry (bit (36) aligned, ptr, fixed bin (35)); 8 48 8 49 /* call tape_ioi_$hardware_status (tioi_id, ths_ptr, code); */ 8 50 dcl tape_ioi_$hardware_status 8 51 entry (bit (36) aligned, ptr, fixed bin (35)); 8 52 8 53 /* call tape_ioi_$list_buffers (tioi_id, state, buffer_ptrs, num_buffers, code); */ 8 54 dcl tape_ioi_$list_buffers entry (bit (36) aligned, fixed bin, dim (*) ptr, fixed bin, fixed bin (35)); 8 55 8 56 /* call tape_ioi_$order (tioi_id, order, count, data_ptr, ocount, rx, code); */ 8 57 dcl tape_ioi_$order entry (bit (36) aligned, char (4), fixed bin, ptr, fixed bin, fixed bin, fixed bin (35)); 8 58 8 59 /* call tape_ioi_$queue_order (tioi_id, order, count, data_ptr, code); */ 8 60 dcl tape_ioi_$queue_order entry (bit (36) aligned, char (4), fixed bin, ptr, fixed bin (35)); 8 61 8 62 /* call tape_ioi_$queue_read (tioi_id, buffer_ptr, code); */ 8 63 dcl tape_ioi_$queue_read entry (bit (36) aligned, ptr, fixed bin (35)); 8 64 8 65 /* call tape_ioi_$queue_write (tioi_id, buffer_ptr, data_len, code); */ 8 66 dcl tape_ioi_$queue_write entry (bit (36) aligned, ptr, fixed bin (21), fixed bin (35)); 8 67 8 68 /* call tape_ioi_$read (tioi_id, buffer_ptr, data_len, rx, code); */ 8 69 dcl tape_ioi_$read entry (bit (36) aligned, ptr, fixed bin (21), fixed bin, fixed bin (35)); 8 70 8 71 /* call tape_ioi_$release_buffer (tioi_id, buffer_ptr, code); */ 8 72 dcl tape_ioi_$release_buffer 8 73 entry (bit (36) aligned, ptr, fixed bin (35)); 8 74 8 75 /* call tape_ioi_$reserve_buffer (tioi_id, buffer_ptr, code); */ 8 76 dcl tape_ioi_$reserve_buffer 8 77 entry (bit (36) aligned, ptr, fixed bin (35)); 8 78 8 79 /* call tape_ioi_$reset_statistics (tioi_id, code); */ 8 80 dcl tape_ioi_$reset_statistics 8 81 entry (bit (36) aligned, fixed bin (35)); 8 82 8 83 /* call tape_ioi_$set_buffer_ready (tioi_id, buffer_ptr, code); */ 8 84 dcl tape_ioi_$set_buffer_ready 8 85 entry (bit (36) aligned, ptr, fixed bin (35)); 8 86 8 87 /* call tape_ioi_$set_mode (tioi_id, mode, data_ptr, code); */ 8 88 dcl tape_ioi_$set_mode entry (bit (36) aligned, char (*), ptr, fixed bin (35)); 8 89 8 90 /* call tape_ioi_$stop_tape (tioi_id, count, rx, code); */ 8 91 dcl tape_ioi_$stop_tape entry (bit (36) aligned, fixed bin, fixed bin, fixed bin (35)); 8 92 8 93 /* call tape_ioi_$write (tioi_id, write_buffer_ptrs, data_len, buffer_ptr, rx, code); */ 8 94 dcl tape_ioi_$write entry (bit (36) aligned, (*) ptr, fixed bin (21), ptr, fixed bin, fixed bin (35)); 8 95 8 96 /* END OF: tape_ioi_dcls.incl.pl1 * * * * * * * * * * * * * * * * */ 247 248 9 1 /* Begin include file ..... tape_ioi_hw_status.incl.pl1 */ 9 2 9 3 /* This structure defines the data returned by tape_ioi_$hardware_status */ 9 4 9 5 /* format: style4,delnl,insnl,indattr,ifthen,declareind10,dclind10 */ 9 6 /* Written May 1982 by Chris Jones */ 9 7 /* Modified 15 June 1982 by Chris Jones to add reformatted status constants */ 9 8 9 9 dcl ths_ptr ptr; 9 10 9 11 dcl 1 ths aligned based (ths_ptr), 9 12 2 version fixed bin, 9 13 2 description char (256) varying, 9 14 2 major fixed bin, 9 15 2 minor bit (36), 9 16 2 iom bit (72), 9 17 2 lpw bit (72); 9 18 9 19 dcl THS_VERSION_1 fixed bin static options (constant) init (1); 9 20 dcl THS_VERSION fixed bin static options (constant) init (1); 9 21 9 22 /* The following are used to describe the status in a non-hardware specific way. */ 9 23 9 24 /* Major Status */ 9 25 9 26 dcl SUBSYSTEM_READY fixed bin static options (constant) init (0); 9 27 dcl DEVICE_BUSY fixed bin static options (constant) init (1); 9 28 dcl DEVICE_ATTENTION fixed bin static options (constant) init (2); 9 29 dcl DEVICE_DATA_ALERT fixed bin static options (constant) init (3); 9 30 dcl END_OF_FILE fixed bin static options (constant) init (4); 9 31 dcl COMMAND_REJECT fixed bin static options (constant) init (5); 9 32 dcl MPC_DEVICE_ATTENTION fixed bin static options (constant) init (10); 9 33 dcl MPC_DEVICE_DATA_ALERT fixed bin static options (constant) init (11); 9 34 dcl MPC_COMMAND_REJECT fixed bin static options (constant) init (13); 9 35 dcl POWER_OFF fixed bin static options (constant) init (16); 9 36 dcl SYSTEM_FAULT fixed bin static options (constant) init (17); 9 37 dcl IOM_CENTRAL fixed bin static options (constant) init (18); 9 38 dcl IOM_CHANNEL fixed bin static options (constant) init (19); 9 39 dcl TIME_OUT fixed bin static options (constant) init (20); 9 40 9 41 /* Minor Status */ 9 42 9 43 /* Minor status for SUBSYSTEM_READY */ 9 44 9 45 dcl WRITE_PROTECTED bit (36) aligned static options (constant) 9 46 init ("100000000000000000000000000000000000"b); 9 47 dcl AT_BOT bit (36) aligned static options (constant) 9 48 init ("010000000000000000000000000000000000"b); 9 49 dcl TWO_BIT_FILL bit (36) aligned static options (constant) 9 50 init ("001000000000000000000000000000000000"b); 9 51 dcl FOUR_BIT_FILL bit (36) aligned static options (constant) 9 52 init ("000100000000000000000000000000000000"b); 9 53 dcl SIX_BIT_FILL bit (36) aligned static options (constant) 9 54 init ("000010000000000000000000000000000000"b); 9 55 dcl ASCII_ALERT bit (36) aligned static options (constant) 9 56 init ("000001000000000000000000000000000000"b); 9 57 9 58 /* Minor status for DEVICE_BUSY */ 9 59 9 60 dcl REWINDING bit (36) aligned static options (constant) 9 61 init ("100000000000000000000000000000000000"b); 9 62 dcl RESERVED bit (36) aligned static options (constant) 9 63 init ("010000000000000000000000000000000000"b); 9 64 dcl ALTERNATE_CHANNEL bit (36) aligned static options (constant) 9 65 init ("001000000000000000000000000000000000"b); 9 66 dcl LOADING bit (36) aligned static options (constant) 9 67 init ("000100000000000000000000000000000000"b); 9 68 9 69 /* Minor status for DEVICE_ATTENTION */ 9 70 9 71 /* WRITE_PROTECTED declared above with SUBSYSTEM_READY status */ 9 72 9 73 dcl NO_SUCH_HANDLER bit (36) aligned static options (constant) 9 74 init ("010000000000000000000000000000000000"b); 9 75 dcl HANDLER_IN_STANDBY bit (36) aligned static options (constant) 9 76 init ("001000000000000000000000000000000000"b); 9 77 dcl HANDLER_CHECK bit (36) aligned static options (constant) 9 78 init ("000100000000000000000000000000000000"b); 9 79 dcl BLANK_TAPE_ON_WRITE bit (36) aligned static options (constant) 9 80 init ("000010000000000000000000000000000000"b); 9 81 9 82 /* Minor status for DEVICE_DATA_ALERT */ 9 83 9 84 dcl TRANSFER_TIMING_ALERT bit (36) aligned static options (constant) 9 85 init ("100000000000000000000000000000000000"b); 9 86 dcl BLANK_TAPE_ON_READ bit (36) aligned static options (constant) 9 87 init ("010000000000000000000000000000000000"b); 9 88 dcl BIT_DURING_ERASE bit (36) aligned static options (constant) 9 89 init ("001000000000000000000000000000000000"b); 9 90 dcl TRANSMISSION_PARITY_ALERT 9 91 bit (36) aligned static options (constant) 9 92 init ("000100000000000000000000000000000000"b); 9 93 dcl LATERAL_PARITY_ALERT bit (36) aligned static options (constant) 9 94 init ("000010000000000000000000000000000000"b); 9 95 dcl LONGITUDINAL_PARITY_ALERT 9 96 bit (36) aligned static options (constant) 9 97 init ("000001000000000000000000000000000000"b); 9 98 dcl END_OF_TAPE bit (36) aligned static options (constant) 9 99 init ("000000100000000000000000000000000000"b); 9 100 9 101 /* Minor status for END_OF_FILE */ 9 102 9 103 dcl DATA_ALERT_CONDITION bit (36) aligned static options (constant) 9 104 init ("100000000000000000000000000000000000"b); 9 105 9 106 /* Minor status for COMMAND_REJECT */ 9 107 9 108 dcl READ_AFTER_WRITE bit (36) aligned static options (constant) 9 109 init ("100000000000000000000000000000000000"b); 9 110 /**** AT_BOT declared above with SUBSYSTEM_READY status */ 9 111 dcl BAD_IDCW_PARITY bit (36) aligned static options (constant) 9 112 init ("001000000000000000000000000000000000"b); 9 113 dcl BAD_DEVICE_CODE bit (36) aligned static options (constant) 9 114 init ("000100000000000000000000000000000000"b); 9 115 dcl BAD_OP_CODE bit (36) aligned static options (constant) 9 116 init ("000010000000000000000000000000000000"b); 9 117 dcl BAD_DENSITY bit (36) aligned static options (constant) 9 118 init ("000001000000000000000000000000000000"b); 9 119 dcl NINE_TRACK_ERROR bit (36) aligned static options (constant) 9 120 init ("000000100000000000000000000000000000"b); 9 121 9 122 /* Minor status for MPC_DEVICE_ATTENTION */ 9 123 9 124 dcl CONFIG_SWITCH_ERROR bit (36) aligned static options (constant) 9 125 init ("100000000000000000000000000000000000"b); 9 126 dcl MULTIPLE_DEVICES bit (36) aligned static options (constant) 9 127 init ("010000000000000000000000000000000000"b); 9 128 dcl ILLEGAL_DEVICE_ID bit (36) aligned static options (constant) 9 129 init ("001000000000000000000000000000000000"b); 9 130 dcl INCOMPATIBLE_MODE bit (36) aligned static options (constant) 9 131 init ("000100000000000000000000000000000000"b); 9 132 dcl TCA_MALFUNCTION bit (36) aligned static options (constant) 9 133 init ("000010000000000000000000000000000000"b); 9 134 dcl MTH_MALFUNCTION bit (36) aligned static options (constant) 9 135 init ("000001000000000000000000000000000000"b); 9 136 dcl MULTIPLE_BOT bit (36) aligned static options (constant) 9 137 init ("000000100000000000000000000000000000"b); 9 138 9 139 /* Minor status for MPC_DEVICE_DATA_ALERT */ 9 140 9 141 dcl BYTE_LOCKED_OUT bit (36) aligned static options (constant) 9 142 init ("100000000000000000000000000000000000"b); 9 143 dcl INCONSISTENT_COMMAND bit (36) aligned static options (constant) 9 144 init ("010000000000000000000000000000000000"b); 9 145 dcl SUM_CHECK_ERROR bit (36) aligned static options (constant) 9 146 init ("001000000000000000000000000000000000"b); 9 147 /**** TRANSMISSION_PARITY_ALERT declared above with DEVICE_DATA_ALERT */ 9 148 dcl ID_BURST_WRITE_ERROR bit (36) aligned static options (constant) 9 149 init ("000010000000000000000000000000000000"b); 9 150 dcl PREAMBLE_ERROR bit (36) aligned static options (constant) 9 151 init ("000001000000000000000000000000000000"b); 9 152 dcl MARGINAL_CONDITION bit (36) aligned static options (constant) 9 153 init ("000000100000000000000000000000000000"b); 9 154 dcl MULTI_TRACK_ERROR bit (36) aligned static options (constant) 9 155 init ("000000010000000000000000000000000000"b); 9 156 dcl SKEW_ERROR bit (36) aligned static options (constant) 9 157 init ("000000001000000000000000000000000000"b); 9 158 dcl POSTAMBLE_ERROR bit (36) aligned static options (constant) 9 159 init ("000000000100000000000000000000000000"b); 9 160 dcl NRZI_CCC_ERROR bit (36) aligned static options (constant) 9 161 init ("000000000010000000000000000000000000"b); 9 162 dcl CODE_ALERT bit (36) aligned static options (constant) 9 163 init ("000000000001000000000000000000000000"b); 9 164 9 165 /* Minor status for MPC_COMMAND_REJECT */ 9 166 9 167 dcl ILLEGAL_PROCEDURE bit (36) aligned static options (constant) 9 168 init ("100000000000000000000000000000000000"b); 9 169 dcl ILLEGAL_LC_NUMBER bit (36) aligned static options (constant) 9 170 init ("010000000000000000000000000000000000"b); 9 171 dcl ILLEGAL_SUSPENDED_LC_NUMBER 9 172 bit (36) aligned static options (constant) 9 173 init ("001000000000000000000000000000000000"b); 9 174 dcl CONTINUE_BIT_NOT_SET bit (36) aligned static options (constant) 9 175 init ("000100000000000000000000000000000000"b); 9 176 9 177 /* Minor status for POWER_OFF */ 9 178 9 179 /* There are no minor statuses defined for POWER_OFF. */ 9 180 9 181 /* Minor status for SYSTEM_FAULT */ 9 182 9 183 /* Minor status for IOM_CENTRAL */ 9 184 9 185 dcl LPW_TRO bit (36) aligned static options (constant) 9 186 init ("100000000000000000000000000000000000"b); 9 187 dcl CONSECUTIVE_TDCWS bit (36) aligned static options (constant) 9 188 init ("010000000000000000000000000000000000"b); 9 189 dcl BOUNDARY_ERROR bit (36) aligned static options (constant) 9 190 init ("001000000000000000000000000000000000"b); 9 191 dcl EXT_CHANGE_WHILE_RESTRICTED 9 192 bit (36) aligned static options (constant) 9 193 init ("000100000000000000000000000000000000"b); 9 194 dcl IDCW_WHILE_RESTRICTED bit (36) aligned static options (constant) 9 195 init ("000010000000000000000000000000000000"b); 9 196 dcl CP_SIZE_DISCREPANCY bit (36) aligned static options (constant) 9 197 init ("000001000000000000000000000000000000"b); 9 198 dcl BUS_PARITY_FROM_CHANNEL 9 199 bit (36) aligned static options (constant) 9 200 init ("000000100000000000000000000000000000"b); 9 201 9 202 /* Minor status for IOM_CHANNEL */ 9 203 9 204 dcl CONNECT_WHILE_BUSY bit (36) aligned static options (constant) 9 205 init ("100000000000000000000000000000000000"b); 9 206 dcl BAD_PCW_CHANNEL_INST bit (36) aligned static options (constant) 9 207 init ("010000000000000000000000000000000000"b); 9 208 dcl INCORRECT_DCW bit (36) aligned static options (constant) 9 209 init ("001000000000000000000000000000000000"b); 9 210 dcl INCOMPLETE_COMMAND_SEQUENCE 9 211 bit (36) aligned static options (constant) 9 212 init ("000100000000000000000000000000000000"b); 9 213 dcl PARITY_ERROR_AT_PRPH_INTERFACE 9 214 bit (36) aligned static options (constant) 9 215 init ("000010000000000000000000000000000000"b); 9 216 dcl BUS_PARITY_TO_CHANNEL bit (36) aligned static options (constant) 9 217 init ("000001000000000000000000000000000000"b); 9 218 9 219 /* Minor status for TIME_OUT */ 9 220 9 221 /* There are no minor statuses defined for TIME_OUT. */ 9 222 9 223 /* End include file ..... tape_ioi_hw_status.incl.pl1 */ 249 250 251 end mtape_check_status_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/30/87 1323.9 mtape_check_status_.pl1 >spec>install>1006>mtape_check_status_.pl1 233 1 02/16/84 1452.3 mtape_data.incl.pl1 >ldd>include>mtape_data.incl.pl1 235 2 02/16/84 1452.4 mtape_vol_set.incl.pl1 >ldd>include>mtape_vol_set.incl.pl1 237 3 02/16/84 1452.3 mtape_err_stats.incl.pl1 >ldd>include>mtape_err_stats.incl.pl1 239 4 02/16/84 1452.3 mtape_constants.incl.pl1 >ldd>include>mtape_constants.incl.pl1 241 5 02/16/84 1452.4 mtape_pfm_info.incl.pl1 >ldd>include>mtape_pfm_info.incl.pl1 243 6 06/11/85 1429.6 mtape_open_close_info.incl.pl1 >ldd>include>mtape_open_close_info.incl.pl1 245 7 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 247 8 09/16/83 1110.4 tape_ioi_dcls.incl.pl1 >ldd>include>tape_ioi_dcls.incl.pl1 249 9 12/01/82 1039.8 tape_ioi_hw_status.incl.pl1 >ldd>include>tape_ioi_hw_status.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. DEVICE_ATTENTION constant fixed bin(17,0) initial dcl 9-28 ref 92 123 DEV_ATT_MSG 000020 constant char(64) initial unaligned dcl 46 set ref 137 142* HANDLER_CHECK constant bit(36) initial dcl 9-77 ref 92 96 HANDLER_IN_STANDBY constant bit(36) initial dcl 9-75 ref 92 NO_SUCH_HANDLER constant bit(36) initial dcl 9-73 ref 92 POWER_OFF constant fixed bin(17,0) initial dcl 9-35 ref 102 PWR_OFF_MSG 000000 constant char(64) initial unaligned dcl 48 set ref 117* 118 Sequential_input constant fixed bin(17,0) initial dcl 7-15 ref 123 Stream_input constant fixed bin(17,0) initial dcl 7-15 ref 123 THS_VERSION constant fixed bin(17,0) initial dcl 9-20 ref 83 areap 2 based pointer level 2 dcl 1-8 ref 81 157 arg_code parameter fixed bin(35,0) dcl 37 set ref 21 92 96* 98* 109* 113* 120* 131* 145* 154* 174* 223* arg_mtdp parameter pointer dcl 36 ref 21 74 based_area based area(1024) dcl 70 ref 81 157 code 000100 automatic fixed bin(35,0) dcl 41 set ref 85* 86 87* 120 145 168* 170 171* 174 181* 183 187* 189 198* 199* 200 202* 203 207* 209 demount_comment 56 based char(64) level 2 dcl 2-9 set ref 118* 137* 178* description 1 based varying char(256) level 2 dcl 9-11 set ref 223* dev_att_retry 114 based bit(1) level 2 dcl 2-9 set ref 128 136* device_name 76 based char(8) level 2 dcl 2-9 set ref 223* err_entry based structure level 1 dcl 3-12 error_table_$device_attention 000010 external static fixed bin(35,0) dcl 53 ref 98 113 error_table_$device_parity 000012 external static fixed bin(35,0) dcl 54 ref 92 error_table_$unable_to_do_io 000014 external static fixed bin(35,0) dcl 55 ref 96 109 131 154 extended_error_recovery 20 based bit(1) level 2 dcl 5-8 ref 151 last_ur_status_ptr 40 based pointer level 2 dcl 1-8 set ref 82* 158* major 102 based fixed bin(17,0) level 2 dcl 9-11 ref 92 102 123 minor 103 based bit(36) level 2 dcl 9-11 ref 92 92 92 96 moip 000112 automatic pointer dcl 6-4 set ref 77* 123 123 mpfmip 000110 automatic pointer dcl 5-4 set ref 76* 151 mtape_data based structure level 1 dcl 1-8 mtape_dev_attention_recovery 000000 stack reference condition dcl 56 ref 213 mtape_err_stats based structure level 1 dcl 3-6 mtape_io_$order 000022 constant entry external dcl 66 ref 181 187 199 202 207 mtape_mount_cntl_$remount 000020 constant entry external dcl 65 ref 168 mtape_open_info based structure level 1 dcl 6-10 mtape_pfm_info based structure level 1 dcl 5-8 mtape_util_$error 000016 constant entry external dcl 64 ref 87 107 117 129 142 171 223 mtape_vol_set based structure level 1 dcl 2-9 mtdp 000104 automatic pointer dcl 1-4 set ref 74* 75 76 77 79 81 82 85 87* 107* 117* 129* 142* 157 158 168* 171* 181* 187* 199* 202* 207* 223* null builtin function dcl 60 ref 158 181 181 187 187 199 199 202 202 207 207 open_info_ptr 276 based pointer level 2 dcl 1-8 ref 77 open_mode 10 based fixed bin(17,0) level 2 dcl 6-10 ref 123 123 pfm_arg_values based structure level 1 dcl 6-57 pfm_entries based structure level 1 dcl 1-103 pfm_info_ptr 304 based pointer level 2 dcl 1-8 ref 76 pfm_options based structure level 1 dcl 5-21 phy_block 1 000102 automatic fixed bin(17,0) level 2 dcl 42 set ref 186 187* 206 207* 223 phy_file 000102 automatic fixed bin(17,0) level 2 dcl 42 set ref 166 180 181* 223* position 156 based structure level 2 dcl 1-8 ref 79 preamble parameter char unaligned dcl 221 set ref 219 223* pwr_off_retry 115 based bit(1) level 2 dcl 2-9 set ref 106 112* 166 save_position 000102 automatic structure level 1 dcl 42 set ref 79* tape_ioi_$hardware_status 000024 constant entry external dcl 8-50 ref 85 ths based structure level 1 dcl 9-11 set ref 81 157 ths_ptr 000114 automatic pointer dcl 9-9 set ref 81* 82 83 85* 92 92 92 92 96 102 123 157 223 tioi_id 273 based bit(36) level 2 dcl 1-8 set ref 85* version based fixed bin(17,0) level 2 dcl 9-11 set ref 83* volume_name 16 based char(32) level 2 dcl 2-9 set ref 171* 223* vs_current 24 based pointer level 2 dcl 1-8 ref 75 vs_ptr 000106 automatic pointer dcl 2-5 set ref 75* 106 112 118 128 136 137 166 171 178 223 223 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ALTERNATE_CHANNEL internal static bit(36) initial dcl 9-64 ASCII_ALERT internal static bit(36) initial dcl 9-55 AT_BOFD internal static fixed bin(17,0) initial dcl 4-44 AT_BOFH internal static fixed bin(17,0) initial dcl 4-44 AT_BOFT internal static fixed bin(17,0) initial dcl 4-44 AT_BOT internal static bit(36) initial dcl 9-47 AT_EOF internal static fixed bin(17,0) initial dcl 4-44 AT_EOFD internal static fixed bin(17,0) initial dcl 4-44 AT_EOFH internal static fixed bin(17,0) initial dcl 4-44 AT_EOFT internal static fixed bin(17,0) initial dcl 4-44 AT_IFD internal static fixed bin(17,0) initial dcl 4-44 BAD_DENSITY internal static bit(36) initial dcl 9-117 BAD_DEVICE_CODE internal static bit(36) initial dcl 9-113 BAD_IDCW_PARITY internal static bit(36) initial dcl 9-111 BAD_OP_CODE internal static bit(36) initial dcl 9-115 BAD_PCW_CHANNEL_INST internal static bit(36) initial dcl 9-206 BIT_DURING_ERASE internal static bit(36) initial dcl 9-88 BLANK_TAPE_ON_READ internal static bit(36) initial dcl 9-86 BLANK_TAPE_ON_WRITE internal static bit(36) initial dcl 9-79 BLANK_VOLUME internal static fixed bin(17,0) initial dcl 2-42 BOF_LABEL internal static fixed bin(17,0) initial dcl 4-56 BOUNDARY_ERROR internal static bit(36) initial dcl 9-189 BUS_PARITY_FROM_CHANNEL internal static bit(36) initial dcl 9-198 BUS_PARITY_TO_CHANNEL internal static bit(36) initial dcl 9-216 BYTE_LOCKED_OUT internal static bit(36) initial dcl 9-141 CODE_ALERT internal static bit(36) initial dcl 9-162 COMMAND_REJECT internal static fixed bin(17,0) initial dcl 9-31 CONFIG_SWITCH_ERROR internal static bit(36) initial dcl 9-124 CONNECT_WHILE_BUSY internal static bit(36) initial dcl 9-204 CONSECUTIVE_TDCWS internal static bit(36) initial dcl 9-187 CONTINUE_BIT_NOT_SET internal static bit(36) initial dcl 9-174 CP_SIZE_DISCREPANCY internal static bit(36) initial dcl 9-196 DATA_ALERT_CONDITION internal static bit(36) initial dcl 9-103 DEVICE_BUSY internal static fixed bin(17,0) initial dcl 9-27 DEVICE_DATA_ALERT internal static fixed bin(17,0) initial dcl 9-29 Direct_input internal static fixed bin(17,0) initial dcl 7-15 Direct_output internal static fixed bin(17,0) initial dcl 7-15 Direct_update internal static fixed bin(17,0) initial dcl 7-15 END_OF_FILE internal static fixed bin(17,0) initial dcl 9-30 END_OF_TAPE internal static bit(36) initial dcl 9-98 EOF_LABEL internal static fixed bin(17,0) initial dcl 4-56 EOV_LABEL internal static fixed bin(17,0) initial dcl 4-56 EXT_CHANGE_WHILE_RESTRICTED internal static bit(36) initial dcl 9-191 FILES_PER_FILE_GRP internal static fixed bin(17,0) initial dcl 4-44 FOUR_BIT_FILL internal static bit(36) initial dcl 9-51 IDCW_WHILE_RESTRICTED internal static bit(36) initial dcl 9-194 ID_BURST_WRITE_ERROR internal static bit(36) initial dcl 9-148 ILLEGAL_DEVICE_ID internal static bit(36) initial dcl 9-128 ILLEGAL_LC_NUMBER internal static bit(36) initial dcl 9-169 ILLEGAL_PROCEDURE internal static bit(36) initial dcl 9-167 ILLEGAL_SUSPENDED_LC_NUMBER internal static bit(36) initial dcl 9-171 INCOMPATIBLE_MODE internal static bit(36) initial dcl 9-130 INCOMPLETE_COMMAND_SEQUENCE internal static bit(36) initial dcl 9-210 INCONSISTENT_COMMAND internal static bit(36) initial dcl 9-143 INCORRECT_DCW internal static bit(36) initial dcl 9-208 IOM_CENTRAL internal static fixed bin(17,0) initial dcl 9-37 IOM_CHANNEL internal static fixed bin(17,0) initial dcl 9-38 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 7-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 7-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 7-15 LATERAL_PARITY_ALERT internal static bit(36) initial dcl 9-93 LOADING internal static bit(36) initial dcl 9-66 LONGITUDINAL_PARITY_ALERT internal static bit(36) initial dcl 9-95 LPW_TRO internal static bit(36) initial dcl 9-185 MARGINAL_CONDITION internal static bit(36) initial dcl 9-152 MPC_COMMAND_REJECT internal static fixed bin(17,0) initial dcl 9-34 MPC_DEVICE_ATTENTION internal static fixed bin(17,0) initial dcl 9-32 MPC_DEVICE_DATA_ALERT internal static fixed bin(17,0) initial dcl 9-33 MTAPE_ALLOC_FI internal static fixed bin(17,0) initial dcl 4-9 MTAPE_ALLOC_LR internal static fixed bin(17,0) initial dcl 4-9 MTAPE_ALLOC_STR internal static fixed bin(17,0) initial dcl 4-9 MTAPE_ALLOC_VS internal static fixed bin(17,0) initial dcl 4-9 MTAPE_CV_BCD internal static fixed bin(17,0) initial dcl 4-34 MTAPE_CV_EBCDIC internal static fixed bin(17,0) initial dcl 4-34 MTAPE_CV_UC_ASCII internal static fixed bin(17,0) initial dcl 4-34 MTAPE_CV_UC_EBCDIC internal static fixed bin(17,0) initial dcl 4-34 MTAPE_HWM_BCD internal static fixed bin(17,0) initial dcl 4-27 MTAPE_HWM_BIN internal static fixed bin(17,0) initial dcl 4-27 MTAPE_HWM_NINE internal static fixed bin(17,0) initial dcl 4-27 MTAPE_NO_CONVERSION internal static fixed bin(17,0) initial dcl 4-34 MTAPE_SPEED_VALUES internal static fixed bin(17,0) initial array dcl 4-22 MTAPE_UNSPECIFIED internal static fixed bin(17,0) initial dcl 4-34 MTAPE_VALID_DENSITIES internal static fixed bin(17,0) initial array dcl 4-17 MTAPE_VOLUME internal static fixed bin(17,0) initial dcl 2-42 MTH_MALFUNCTION internal static bit(36) initial dcl 9-134 MULTIPLE_BOT internal static bit(36) initial dcl 9-136 MULTIPLE_DEVICES internal static bit(36) initial dcl 9-126 MULTI_TRACK_ERROR internal static bit(36) initial dcl 9-154 MULT_PRIOR_VOLUME internal static fixed bin(17,0) initial dcl 2-42 NINE_TRACK_ERROR internal static bit(36) initial dcl 9-119 NON_MULT_VOLUME internal static fixed bin(17,0) initial dcl 2-42 NOT_POSITIONED_IN_FILE internal static fixed bin(17,0) initial dcl 4-44 NRZI_CCC_ERROR internal static bit(36) initial dcl 9-160 PARITY_ERROR_AT_PRPH_INTERFACE internal static bit(36) initial dcl 9-213 POSTAMBLE_ERROR internal static bit(36) initial dcl 9-158 PREAMBLE_ERROR internal static bit(36) initial dcl 9-150 Q_ABORT_FILE internal static fixed bin(17,0) initial dcl 4-63 Q_INCORRECT_VOLUME internal static fixed bin(17,0) initial dcl 4-63 Q_LABELED_VOLUME internal static fixed bin(17,0) initial dcl 4-63 Q_NO_NEXT_VOLUME internal static fixed bin(17,0) initial dcl 4-63 Q_UNEXPIRED_FILE internal static fixed bin(17,0) initial dcl 4-63 Q_UNEXPIRED_VOLUME internal static fixed bin(17,0) initial dcl 4-63 READ_AFTER_WRITE internal static bit(36) initial dcl 9-108 RECOG_FORMAT_VOLUME internal static fixed bin(17,0) initial dcl 2-42 RESERVED internal static bit(36) initial dcl 9-62 REWINDING internal static bit(36) initial dcl 9-60 SIX_BIT_FILL internal static bit(36) initial dcl 9-53 SKEW_ERROR internal static bit(36) initial dcl 9-156 SUBSYSTEM_READY internal static fixed bin(17,0) initial dcl 9-26 SUM_CHECK_ERROR internal static bit(36) initial dcl 9-145 SYSTEM_FAULT internal static fixed bin(17,0) initial dcl 9-36 Sequential_input_output internal static fixed bin(17,0) initial dcl 7-15 Sequential_output internal static fixed bin(17,0) initial dcl 7-15 Sequential_update internal static fixed bin(17,0) initial dcl 7-15 Stream_input_output internal static fixed bin(17,0) initial dcl 7-15 Stream_output internal static fixed bin(17,0) initial dcl 7-15 TCA_MALFUNCTION internal static bit(36) initial dcl 9-132 THS_VERSION_1 internal static fixed bin(17,0) initial dcl 9-19 TIME_OUT internal static fixed bin(17,0) initial dcl 9-39 TRANSFER_TIMING_ALERT internal static bit(36) initial dcl 9-84 TRANSMISSION_PARITY_ALERT internal static bit(36) initial dcl 9-90 TWO_BIT_FILL internal static bit(36) initial dcl 9-49 UNLABELED_VOLUME internal static fixed bin(17,0) initial dcl 2-42 WRITE_PROTECTED internal static bit(36) initial dcl 9-45 all_buf_lens based fixed bin(21,0) array dcl 1-114 all_buf_ptrs based pointer array dcl 1-113 es_ptr automatic pointer dcl 3-4 iox_modes internal static char(24) initial array dcl 7-6 mcip automatic pointer dcl 6-5 mtape_close_info based structure level 1 dcl 6-41 mtape_close_info_version_1 internal static char(8) initial unaligned dcl 6-8 mtape_data_version_1 internal static char(8) initial unaligned dcl 1-6 mtape_open_info_version_1 internal static char(8) initial unaligned dcl 6-7 mtape_pfm_info_version_1 internal static char(8) initial unaligned dcl 5-6 mtape_vs_version_1 internal static char(8) initial unaligned dcl 2-7 short_iox_modes internal static char(4) initial array dcl 7-12 tape_blk based char(1) array unaligned dcl 1-115 tape_ioi_$activate 000000 constant entry external dcl 8-8 tape_ioi_$allocate_buffers 000000 constant entry external dcl 8-11 tape_ioi_$allocate_work_area 000000 constant entry external dcl 8-16 tape_ioi_$buffer_status 000000 constant entry external dcl 8-20 tape_ioi_$check_order 000000 constant entry external dcl 8-24 tape_ioi_$check_read 000000 constant entry external dcl 8-27 tape_ioi_$check_write 000000 constant entry external dcl 8-30 tape_ioi_$deactivate 000000 constant entry external dcl 8-33 tape_ioi_$deallocate 000000 constant entry external dcl 8-36 tape_ioi_$deallocate_buffers 000000 constant entry external dcl 8-39 tape_ioi_$get_mode 000000 constant entry external dcl 8-43 tape_ioi_$get_statistics 000000 constant entry external dcl 8-46 tape_ioi_$list_buffers 000000 constant entry external dcl 8-54 tape_ioi_$order 000000 constant entry external dcl 8-57 tape_ioi_$queue_order 000000 constant entry external dcl 8-60 tape_ioi_$queue_read 000000 constant entry external dcl 8-63 tape_ioi_$queue_write 000000 constant entry external dcl 8-66 tape_ioi_$read 000000 constant entry external dcl 8-69 tape_ioi_$release_buffer 000000 constant entry external dcl 8-72 tape_ioi_$reserve_buffer 000000 constant entry external dcl 8-76 tape_ioi_$reset_statistics 000000 constant entry external dcl 8-80 tape_ioi_$set_buffer_ready 000000 constant entry external dcl 8-84 tape_ioi_$set_mode 000000 constant entry external dcl 8-88 tape_ioi_$stop_tape 000000 constant entry external dcl 8-91 tape_ioi_$write 000000 constant entry external dcl 8-94 NAMES DECLARED BY EXPLICIT CONTEXT. MSG_OUT 001216 constant entry internal dcl 219 ref 95 116 141 153 RECOVERY 000660 constant entry internal dcl 164 ref 119 144 mtape_check_status_ 000251 constant entry external dcl 21 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1454 1502 1330 1464 Length 2060 1330 26 342 124 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mtape_check_status_ 272 external procedure is an external procedure. RECOVERY internal procedure shares stack frame of external procedure mtape_check_status_. MSG_OUT internal procedure shares stack frame of external procedure mtape_check_status_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mtape_check_status_ 000100 code mtape_check_status_ 000102 save_position mtape_check_status_ 000104 mtdp mtape_check_status_ 000106 vs_ptr mtape_check_status_ 000110 mpfmip mtape_check_status_ 000112 moip mtape_check_status_ 000114 ths_ptr mtape_check_status_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac signal_op ext_entry op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. mtape_io_$order mtape_mount_cntl_$remount mtape_util_$error tape_ioi_$hardware_status THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$device_attention error_table_$device_parity error_table_$unable_to_do_io LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 21 000245 74 000256 75 000262 76 000264 77 000266 79 000270 81 000272 82 000300 83 000302 85 000304 86 000317 87 000321 89 000345 92 000346 95 000370 96 000376 98 000407 100 000413 102 000414 106 000417 107 000422 109 000447 110 000453 112 000454 113 000456 116 000462 117 000473 118 000515 119 000521 120 000522 122 000525 123 000526 128 000536 129 000541 131 000566 132 000572 136 000573 137 000575 141 000600 142 000606 144 000630 145 000631 149 000634 151 000635 153 000640 154 000646 157 000652 158 000654 159 000657 164 000660 166 000661 168 000667 170 000700 171 000702 174 000733 175 000736 178 000737 180 000743 181 000745 183 001001 186 001004 187 001006 189 001042 191 001045 198 001046 199 001047 200 001105 202 001110 203 001146 206 001151 207 001153 209 001207 213 001212 214 001215 219 001216 223 001227 230 001313 ----------------------------------------------------------- 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