I1$DISKBLOCK056.ApDISKBLOCK056.ABACKUP/NOASSIST/NODISMOUNT/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY DISK$USER:[RANCE.DISKBLOCK.KIT056.MAIN]*.* DISK$DUMP:[PUBLIC]DISKBLOCK056.A/LABEL=(DISKBLOCK)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure RANCE  ̈T˜V6.2 _VIVIAN::  _$3$DRA0: V6.2 $N-*[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18+," ./ 4-70123 KPWO5=6 !HF7BT˜8M̜9G HJ % VAX-11 Librarian V04-00lY3HFT˜F#X.F5@ATTACHJ Bug_reports-CHECKSUM COPY_FILE&DEPOSITDESELECT DIRECTORY DUMP"EXAMINE Examples'FILL=HELP InstallationD New_FeaturesBODS2ODS5 ODS5_supportOverview READ6RESTORE REWRITE/SAVE7SEARCHSELECTSET<SHOW:SPAWNTESTWRITE lwT˜1 SELECT: Use the SELECT command to select a new drive or file for; reading and writing. Before selecting a drive it must bel? mounted foreign (unless you specify the /OVERRIDE qualifier).r> SELECT automatically DESELECTS any previously selected drive% or file before selecting a new one.oG By default LBN 1 (HOME BLOCK LBN) will be read to locate the primary A@ index file header. If this fails because of hardware error orK corrupted home block then index file ret_Q˜1 Bug_reports> Please send all bug reports and feedback about DISKBLOCK to" Stuart.Rance@hhl.mts.dec.com orh rance@vivian.hhl.dec.comwwG /OUTPUT qualifierA See the help text for the individual commands for more detailstwwhis checksum is calculated byC adding together all words in the buffer, discarding any overflow.-I The home block has two checksums the checksum at byte 510 is calculatedpF the same way as a file header checksum. M)T˜1 READB The read command is used to transfer data to Diskblocks internalJ 512 byte buffer. You must SELECT a drive or file before a read command.6 You can read a Logical Block from the selected disk.* Or a file header from the selected disk., Or a Virtual Block from the selected file./ You must specify a Block Number or a File ID.s@ The default radix for the Block is decimal but you may use the< %X or %O operators to specify a Hex or Octal block number.G WhenT˜ 1 ExamplesE Search shows the use of the search command to locate a file header,e7 and then to copy the file to a normally mounted disk.l= This may be used even on a disk with a corrupted INDEXFILE.eH Modify_disk shows the use of DISKBLOCK to repair a damaged home block.H Modify_MFD shows the use of DISKBLOCK to change the file attributes of [000000]000000.DIR= Undelete_file shows the use of DISKBLOCK to undelete a filee2 SearchF In this example DISKBLOCNEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports+ǒ RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsYX  RANCE ODS5Z  RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSIT ; Because of its potential to corrupt disks you should onlyB use Diskblock in extreme desperation or on a disk which you have backed up.  - You need LOG_IO privilege to run DISKBLOCK.9 Type EXAMPLES at the Topic? prompt for more informationwwl6HF 1 ExamplesE Search shows the use of the search command to locate a file header,7 and then to copy the file to a normally mounted disk.= This may be used even on a disk with a corrupted INDEXFILE.H Modify_dDT˜ 1 REWRITEB Use the rewrite command to write the 512 byte buffer back to theB last block read or written. You do not need to specify a block number.eA You must SELECT a drive or file and then read or write a block t before issuing this command.F To see the block that would be used for a rewrite command issue the  SHOW command.a DISKBLOCK> REWRITE DISKBLOCK> REWRITE /CHECKSUM" DISKBLOCK> REWRITE /FORCED_ERROR2 Command_Qualifiers /FORCED_ERRORF{F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you toL@&T˜ 1 DESELECTF Use the DESELECT command to free a drive or file previously selectedF with a select command, this may help to prevent accidentally writingG to a drive/file that you have finished with. An implicit DESELECT isC9 performed for you whenever you SELECT a new drive/file.gF Diskblock will not allow you to exit if the buffer has been modifiedD and there is still a Drive selected, you should Deselect the drive before exiting.p DISKBLOCK> DESELECT wwt REWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports9iΑ RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsYk RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMIPdG$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18x"F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you to3T˜1 WRITE See also REWRITE7 Use the write command to write the 512 byte buffer toe( A Logical Block on the selected drive,) Or a File Header on the selected drive,L* Or a Virtual Block in the selected file./ You must specify a Block Number or a File ID.u@ The default radix for the Block is decimal but you may use the< %X or %O operators to specify a Hex or Octal block number.> You must SELECT a drive or file before issuing this command. DISKBLOCK> WRITE %xF RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsbq RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsC RANCE InstallationHELPOverviewExamRF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you toples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsd>; RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports +w RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITE XT˜1 TESTC Use the TEST command to test the read or write performance of thet selected disk drive or file.C You must SELECT the disk or file before issuing the test command. 1 WARNING WARNING WARNING WARNING WARNING WARNINGeG If you allow TEST to write to any disk then you will destroy the file H system on that disk. If you allow TEST to write to any file then you H will destroy the contents of that file. If you allow test to write toH a member of a shadow set tug_reports tI RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports: RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports1q RANCE TESTt1qXF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you to[F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you torT˜ 1 COPY_FILEs (See also EXAMPLE SEARCH)eJ Copy_file will copy a file from a FOREIGN mounted or corrupted disk, as , well as from an ODS2 or ODS5 mounted disk.H Diskblock will first verify that the block or buffer contains a valid G file header, if not then a diagnostic message will be issued and you y( will be asked if you wish to continue.B The default output directory is SYS$SCRATCH: The default output0 filename is the name of the file being copied.D The ^F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileH? header. This will work even if the disk is mounted /FOREIGN._I There are commands to SAVE and RESTORE the buffer so that you can keep LJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you toCKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports=v9 RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 B ~T˜ 1 DIRECTORYsI DIRECTORY accepts a filename including the * and % wildcard characters. J (but excluding any [, ] or directory specification) and displays the FIDK and LBN of the file header and the FULL FILENAME (including directories). G Once the header has been read the Backlink in the file header will beiF used to find the directory name, up to 8 backlinks will be followed F until 000000.DIR is located and the full filename will be displayed.9 This command doe_F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file@? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you to T˜1 DUMP9 Use the dump command to dump the entire contents of the%# 512 byte buffer to your terminal.i6 The contents will be ALL 0s if you have not issued a READ or WRITE command 2 Command_Qualifiers/HEX (default)e? Use the /HEX switch to cause the data to be displayed in HEX,h@ this is the default behaviour. The addresses displayed to theB right of the data are also in HEX. The data bytes are layed out3 the same way as the output of a DCL DUMP command.ebF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileL? header. This will work even if the disk is mounted /FOREIGN.SI There are commands to SAVE and RESTORE the buffer so that you can keep EJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you to$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"" T˜ 1 EXAMINE H Use the examine command to examine a particular address in the buffer.H You must specify an address within the 512 byte buffer. The data willG be shown in Hex, Octal, Decimal and Ascii. The default radix for theeF address is decimal but you may use the %X or %O operators to specify a Hex or Octal buffer address.5 The maximum buffer address for EXAMINE /TIME is 504i5 The maximum buffer address for EXAMINE /LONG is 508 5 The maximum buffer address forRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsBUh RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsmg RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITE COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHE%F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file@? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEbF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to L= modify the contents of a file without ta  T˜ 1 DEPOSIT F Use the deposit command to deposit new data to a particular locationI in the buffer. You must specify an address within the 512 byte buffer.lH You must also specify up to a longword of data. The default radix forH the address and data is decimal but you may use the %X or %O operators to specify HEX or OCTAL. DISKBLOCK> DEPOSIT %X1F %X4142 | |h( | +-------Data+ +-------------AddrT˜1 FILLG The fill command fills the internal data buffer with a repeated valuei e.g.( FILL 0 clear the entire bufferD FILL /BYTE 2 fill the buffer with a repeated %x02020202 pattern FILL /LONG %X12345678f 2 Parameters Data2 Specifies the data to be deposited to the buffer2 Command_Qualifiers/LONGWORD (default)SB Specifies that the data is to be written to successive Longwords within the buffer& DISKBLOCK> FILL /LONGWORD %X801234)F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate filey? header. This will work even if the disk is mounted /FOREIGN.SI There are commands to SAVE and RESTORE the buffer so that you can keep EJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to K= modify the contents of a file without takiF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you to,F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file@? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to K= modify the contents of a file without takisT˜ 1 CHECKSUM (see also WRITE /CHECKSUM)J Calculates and displays a 16 bit checksum for the buffer. The algorithmA used is the same as that used for an ODS2 file header checksum.e I If you wish to write this checksum to the disk you should deposit it tocI the last word location in the buffer before writing the buffer to disk,N by using either ' DISKBLOCK> DEPOSIT /WORD 510 nnnnnt ori! DISKBLOCK> CHECKSUM /DEPOSIT2 Command_Qualifiers/DEPOSITCLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 ODS5_support Bug_reports T˜ RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 ODS5_support Bug_reports,T˜1 SAVEI The SAVE command can be used to save data to a standard RMS file beforeuJ making modifications in order to be able to RESTORE the same data later.? This may enable you to "undo" any damage caused by a mistake.mE You may supply a filespec for the file which will be created (on a u? FILES11 device). The default filespec for this operation is  SYS$SCRATCH:DISKBLOCK.DMP ) DISKBLOCK> SAVE SYS$LOGIN:BLOCK_234.DMPO 2 Parametern Filename* Specifie1F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate filey? header. This will work even if the disk is mounted /FOREIGN.-I There are commands to SAVE and RESTORE the buffer so that you can keep oJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to K= modify the contents of a file without takiF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you to^.~$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18K"34> This enables you to read a file header from disk, modify it B and then use the modified header to copy the file without having9 to write the modified header back to the original disk.wwlHF 1 DIRECTORYI DIRECTORY accepts a filename including the * and % wildcard characters.J (but excluding any [, ] or directory specification) and displays the FIDK and LBN of the file header and the FULL FILENAME (including directories). F It will work on ODS2 mounted or foreig5F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file@? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to K= modify the contents of a file without taki L/T˜ 1 RESTOREI Use the RESTORE command to restore data from a file created by the SAVEI command. If you do not specify /BLOCKS then the data will be restored K to the 512 byte main read write buffer. If you specify /BLOCKS then the 5 data will be restored to the selected disk or file.nC The file must have been previously created with a DISKBLOCK> SAVE@ command. You may supply a filespec for the file. The default: filespec for this operation is SYS$SCRATCH:DISKB LdT˜1 SEARCHB Use the search command to scan a range of Logical Blocks on the C selected drive, or a range of Virtual blocks in the selected filei; looking for a particular string of characters or Integer.I; A search of a disk will run at almost the maximum spiral e read rate of the disk.G You can obtain a status report showing the last block checked and theo= time by typing ^T (control T) whilst the search is running. 5 You can cancel the search by typing ^C (cont9F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileR? header. This will work even if the disk is mounted /FOREIGN.-I There are commands to SAVE and RESTORE the buffer so that you can keep -J a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Examplese DISKBLOCK> SELECT $2$DRA2:K1 DISKBLOCK> SELECT SYS$SYSTEM:SYSDUMP.DMP /FILE' DISKBLOCK> SELECT $2$DUS0: /OVERRIDEf& DISKBLOCK> SELECT DISK$USER2 /NOMAP. DISKBLOCK> SELECT MYNODE$DUA1: /HOMELBN=nnn3 DISKBLOCK> SELECT DRA3: /INDEXLBN=nnn /FACTOR=854/FILEnF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch LT˜1 SPAWNK Spawns a new subprocess, suspending but not ending your current DISKBLOCKIH session. This is useful if you wish to use some other utility such as3 DUMP without losing your current process context.  DISKBLOCK> SPAWN: $ DUMP /HEADER /BLOCK=COUNT=0 $1$dja4:[000000]indexf.sys9 -------------------------------------------------------a9 --------Formatted file header appears here-------------e9 -------------------------------------------------------g $ lo F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you to 5T˜1 SHOWI The show command gives information about the current DISKBLOCK session.eG It tells you the full name of the selected drive or file, the maximumnH block number on this drive or file, whether WRITEs are allowed or the; selection is READ_ONLY, the number of the last block readeA or written, whether the buffer has been modified since the lasthI read/write and it displays the Indexfile mapping pointers if available.g DISKBLOCK> SHOWt 2 ExampletB%DSKB-I-DISK ,gT˜1 HELP3 DISKBLOCK is a low level disk block editing tool.tM It can be used to read, modify and write LBNs on a disk or VBN's in a file.uF It can also carry out read, write and seek performance measurements.9 Type OVERVIEW at the Topic? prompt for more informationVwws. TC After deleting all files except DISKBLOCK.EXE and DISKBLOCK.HLB$ it will take up about 400 blocks.E To use this help file from within DISKBLOCK you may either copy theoD library toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you to@F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file-? header. This will work even if the disk is mounted /FOREIGN.LI There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you tolRT˜1 ATTACHC Permits you to switch control of your terminal from your current I) process to another process in your job. 2 Parametere  Process_NameA Specifies the name of a parent process or spawned subprocess toLB which control passes. The process must already exist, be part ofC your current job, and share the same input stream as your current-C process. However, the process cannot be your current process or a-0 subprocess created with the /NOWAIT qualifier.F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you to XT˜1 ODS2E The format of an ODS2 file header supplied here can be used to findIF specific fields and flags within a file header to be altered. It isE important to calculate a new checksum using the checksum command ifsF any part of a file header is altered, this checksum is calculated byC adding together all words in the buffer, discarding any overflow.-I The home block has two checksums the checksum at byte 510 is calculatedpF the same way as a file header checksum. GF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you to7E$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18t"D T˜1 New_Features2 V4.0_New_FeaturesoC SELECT /FILE allows you to select a file and then do virtual I/O.eE This can be useful for writing to a file which is locked by anotheriJ user, or for searching a large file for a text string or Longword value.> Modifications made by Burnace Leung to create DSKBLK_V3 have? been included as COPY_FILE and DIRECTORY. See EXAMPLE SEARCHn? for an example of copying a file from a foreign mounted disk.e@ READ/FID has been added toF& DISKBLOCK> DEPOSIT /BYTE %O10 %X4142 2 /STRING7 Causes the DATA to be interpreted as an ASCII string.I The address should be sufficiently small so that ALL of the string will# fit between ADDRESS and byte 512.B To include lower case letters, or spaces, you must use "Quotes".) DISKBLOCK> DEPOSIT /STRING 410 NEW_DATA+ DISKBLOCK> DEPOSIT /STRING 410 "New Data"2 /TIMED Causes the DATA to be interpreted as a VMS ASCII Date-Time string.E The input string is NOT THE SAMEGF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileR? header. This will work even if the disk is mounted /FOREIGN.-I There are commands to SAVE and RESTORE the buffer so that you can keep -J a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta ommand has partial support for ODS5o> COPY (Supports input ODS5 names, output ODS2 names only)A The following commands and qualifiers have no support for ODS5s SET LOG /OUTPUT qualifierA See the help text for the individual commands for more detailstwwhis checksum is calculated byC adding together all words in the buffer, discarding any overflow.-I The home block has two checksums the checksum at byte 510 is calculatedpF the same way as a file header checksum. iF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileC? header. This will work even if the disk is mounted /FOREIGN.PI There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.EH There is a CHECKSUM command to enable you toT˜1 Bug_reports> Please send all bug reports and feedback about DISKBLOCK to stuart.rance@compaq.com wwfiers have no support for ODS5s SET LOG /OUTPUT qualifierA See the help text for the individual commands for more detailstwwhis checksum is calculated byC adding together all words in the buffer, discarding any overflow.-I The home block has two checksums the checksum at byte 510 is calculatedpF the same way as a file header checksum. jF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN._I There are commands to SAVE and RESTORE the buffer so that you can keep LJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you toUF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate filet? header. This will work even if the disk is mounted /FOREIGN.nI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you to ommand has partial support for ODS5o> COPY (Supports input ODS5 names, output ODS2 names only)A The following commands and qualifiers have no support for ODS5s SET LOG /OUTPUT qualifierA See the help text for the individual commands for more detailstwwhis checksum is calculated byC adding together all words in the buffer, discarding any overflow.-I The home block has two checksums the checksum at byte 510 is calculatedpF the same way as a file header checksum. OF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file-? header. This will work even if the disk is mounted /FOREIGN.wI There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you tosF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.nI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you toQF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileH? header. This will work even if the disk is mounted /FOREIGN._I There are commands to SAVE and RESTORE the buffer so that you can keep LJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without taTF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileH? header. This will work even if the disk is mounted /FOREIGN._I There are commands to SAVE and RESTORE the buffer so that you can keep LJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you torieval pointers will not be read.D 2 Parameters device_nameL. Specifies the name of the disk to be selected file_nameo5 Specifies the name of the file to be selectede (requires SELECT/FILE)2 Command_Qualifiers/FILEuF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to I= modify the contents of a file without taz$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18r"Urieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without taWF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file@? header. This will work even if the disk is mounted /FOREIGN.eI There are commands to SAVE and RESTORE the buffer so that you can keep KJ a copy of the original block and undo changes if they do not work as you expect. H There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you torieval pointers will not be read.D 2 Parameters device_nameL. Specifies the name of the disk to be selected file_nameo5 Specifies the name of the file to be selectede (requires SELECT/FILE)2 Command_Qualifiers/FILEuF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to I= modify the contents of a file without ta/STRING /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringe on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADERs /HEADER=filespecoD Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di[F When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file-? header. This will work even if the disk is mounted /FOREIGN.cI There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you torieval pointers will not be read.D 2 Parameters device_nameL. Specifies the name of the disk to be selected file_nameo5 Specifies the name of the file to be selectede (requires SELECT/FILE)2 Command_Qualifiers/FILEuF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to I= modify the contents of a file without taF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you tol/STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a dirieval pointers will not be read.D 2 Parameters device_nameL. Specifies the name of the disk to be selected file_nameo5 Specifies the name of the file to be selectede (requires SELECT/FILE)2 Command_Qualifiers/FILEuF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to I= modify the contents of a file without tarieval pointers will not be read.D 2 Parameters device_nameL. Specifies the name of the disk to be selected file_nameo5 Specifies the name of the file to be selectede (requires SELECT/FILE)2 Command_Qualifiers/FILEuF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to I= modify the contents of a file without taaF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file-? header. This will work even if the disk is mounted /FOREIGN.-I There are commands to SAVE and RESTORE the buffer so that you can keep QJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you torieval pointers will not be read.D 2 Parameters device_nameL. Specifies the name of the disk to be selected file_nameo5 Specifies the name of the file to be selectede (requires SELECT/FILE)2 Command_Qualifiers/FILEuF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to I= modify the contents of a file without taF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you to=g$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"frF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileH? header. This will work even if the disk is mounted /FOREIGN._I There are commands to SAVE and RESTORE the buffer so that you can keep LJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you to2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and qualii Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_FeaturesO3 Diskblock V5 has been totally re-written in VAXC.t= There are major improvements in the area of error handling,FB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.1D Control C and Control T handling now work during Directory as well as search operations.-= There has been a syntax change for READ /FID and WRITE /FIDT4 There are a number of new commands and qualifiers. 3 SET_LOF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you ton Bug_fixesiD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match. = The diskblock help library no longer has to be in  Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in /STRINGr /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringi on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADERh /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in r Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tau Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in  Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in wF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate fileH? header. This will work even if the disk is mounted /FOREIGN._I There are commands to SAVE and RESTORE the buffer so that you can keep LJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you toaM$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18އ"wrieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and quali/STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text string> on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER  /HEADER=filespecD Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di{ Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in /STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di Bug_fixes D DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYSe New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match. = The diskblock help library no longer has to be in /STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di/STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and quali Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta !$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18C" Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and quali/STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di Bug_fixeslD DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.= The diskblock help library no longer has to be in rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and quali ,O[T˜1 InstallationcH To install DISKBLOCK you need to copy the kit to a directory on your 4 local system where you have 1500 blocks of quota.B Then type @SYS$UPDATE:VMSINSTAL DISKBLOCK dev:[dir] to install C diskblock. DISKBLOCK installation DOES NOT modify any VMS files.t C After deleting all files except DISKBLOCK.EXE and DISKBLOCK.HLBn$ it will take up about 400 blocks.E To use this help file from within DISKBLOCK you may either copy theD library to2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and quali/STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di/STRINGh /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringN on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER0 /HEADER=filespec D Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a di2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDl4 There are a number of new commands and qualirieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta 7oPp$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"2 V5.0_New_FeaturesiF Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,KB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.ED Control C and Control T handling now work during Directory as well as search operations.B= There has been a syntax change for READ /FID and WRITE /FID44 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and qualirieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta SYS$COMMON:[SYSHLP]DISKBLOCK.HLB or define logical name; DSKB_HLB to point to be dev:[dir]filename of the library.Rwwl.mts.dec.com or  rance@vivian.hhl.dec.comwwor Home Blocks, Bitmaps etc.l8 To find the file header for a file with file id of nnn3 FACTOR = (4 * hm2$w_cluster) + hm2$w_ibmapsized6 VBN of file header for file id nnn = FACTOR + nnn1 To access File Headers on an ODS2 drive you canE3 DISKBLOCK> SELECT/FILE $n$dcun:[000000]INDEXF.SYS 2 Home_block L%oT˜ 1 OverviewG DISKBLOCK is a tool for reading and writing Logical Blocks on a disk f or Virtual Blocks in a file.I Diskblock ingores all locking activity on the selected Disk or File, itK can access and modify ODS2 and ODS5 data structures such as file headers *N and it can read, write and test individual shadow set members independently!D There is a buffer which holds a copy of the block which you read, F you can modify the contents of this buffer using EXAMINE a= The file id of a directory file can be found by DUMP/HEADERaB of the directory file (either from DCL or from within DISKBLOCK)J This qualifier can be used to locate all files in a particular directoryJ It can be particularly useful in conjunction with the /DELETED qualifier= to locate all files that have been DELETED from a directory - DISKBLOCK> DIRECTORY /BACKLINK=nnn /DELETED /SINCE /SINCE=time: Selects only those files dated after the specified time.L You must specify oF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate filet? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta; Because of its potential to corrupt disks you should onlyB use Diskblock in extreme desperation or on a disk which you have backed up.  - You need LOG_IO privilege to run DISKBLOCK.9 Type EXAMPLES at the Topic? prompt for more informationwwi~m 1 ExamplesE Search shows the use of the search command to locate a file header,7 and then to copy the file to a normally mounted disk.= This may be used even on a disk with a corrupted INDEXFILE.H Modify_d= The file id of a directory file can be found by DUMP/HEADERcB of the directory file (either from DCL or from within DISKBLOCK)J This qualifier can be used to locate all files in a particular directoryJ It can be particularly useful in conjunction with the /DELETED qualifier= to locate all files that have been DELETED from a directoryw- DISKBLOCK> DIRECTORY /BACKLINK=nnn /DELETEDe/SINCE /SINCE=time: Selects only those files dated after the specified time.L You must specify oF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file? header. This will work even if the disk is mounted /FOREIGN.4I There are commands to SAVE and RESTORE the buffer so that you can keep J a copy of the original block and undo changes if they do not work as you expect.CH There is a CHECKSUM command to enable you toF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate filet? header. This will work even if the disk is mounted /FOREIGN.aI There are commands to SAVE and RESTORE the buffer so that you can keep IJ a copy of the original block and undo changes if they do not work as you expect.iH There is a CHECKSUM command to enable you torieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without tarieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta b$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18zm"/STRINGe /STRING=value /STRING="value"G Use SEARCH /STRING to search for an occurence of an ASCII text stringi on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADERL /HEADER=filespecOD Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a dirieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali= The file id of a directory file can be found by DUMP/HEADERcB of the directory file (either from DCL or from within DISKBLOCK)J This qualifier can be used to locate all files in a particular directoryJ It can be particularly useful in conjunction with the /DELETED qualifier= to locate all files that have been DELETED from a directory - DISKBLOCK> DIRECTORY /BACKLINK=nnn /DELETEDe/SINCE /SINCE=time: Selects only those files dated after the specified time.L You must specify o The checksum at byte 58 is C calculated by adding together the first 29 words in the block andA discarding any overflow. 2 INDEXF.SYSC The beginning of INDEXF.SYS is used for Home Blocks, Bitmaps etc.f8 To find the file header for a file with file id of nnn3 FACTOR = (4 * hm2$w_cluster) + hm2$w_ibmapsizee6 VBN of file header for file id nnn = FACTOR + nnn1 To access File Headers on an ODS2 drive you can3 DISKBLOCK> SELECT/FILE $n$dcun:[000000]INDEXF.SYSI 2 Home_blockrieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali= The file id of a directory file can be found by DUMP/HEADERfB of the directory file (either from DCL or from within DISKBLOCK)J This qualifier can be used to locate all files in a particular directoryJ It can be particularly useful in conjunction with the /DELETED qualifier= to locate all files that have been DELETED from a directorye- DISKBLOCK> DIRECTORY /BACKLINK=nnn /DELETEDr/SINCE /SINCE=time: Selects only those files dated after the specified time.L You must specify o2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and qualirol C).P; You must SELECT a drive/file before issuing this command.(K Due to the algorithm used it cannot be guaranteed that a match that spansOK block boundaries will be reported. Diskblock works with buffers that aresM (approximately) one track in size, any data that spans two of these bufferst, will not generate a match during a search.2 Command_Qualifiers/OUTPUTn /OUTPUT=filespeca@ Use the /OUTPUT qualifier to cause the output to be written to= a file instead of to the2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali SEL, Disk _$1$DUC45 has LBNs 0 to 2376152 (%X002441D8)-%DSKB-I-WRTENAB, Operating in READ/WRITE modee5%DSKB-I-NOTACCES, No blocks have been read or writtenlO%DSKB-I-BUFNOTMOD, Buffer HAS NOT been modified since last Read/Write operationo:%DSKB-I-INDEXFMAP, Index File has been successfully mapped8%DSKB-I-FACTOR, Factor=85, FID 1 is VBN 86 of Index File2 Count: 6 LBN: 02 Count: 3 LBN: 9662 Count: 3 LBN: DISKBLOCK># DISKBLOCK> SPAWN SHOW DEVICE DJA4D 2 Parametera Command_String: Specifies a command string to be performed when the DCL  subprocess is activewwile name.@ Opening a new logfile causes the current logfile to be closed.3 Command_Qualifiers/CLOSEG The command SET LOG /CLOSE closes the currently open log file without  opening a new logfile. 3 Example  DISKBLOCK> SET LOG DISK_3 @ %DSKB-I-CREATED, Created file DISK$USERS_2:[RANCE]DISK_3.LOG;1 DI $DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18a" 2 Example MAIL> SPAWNS $ SET PROCESS /NAME=DISKBLOCKe $ MC DISKBLOCK DISKBLOCK> ATTACH MAIL You have 3 new messagesw  MAIL> ATTACH DISKBLOCK DISKBLOCK>ww.@ Opening a new logfile causes the current logfile to be closed.3 Command_Qualifiers/CLOSEG The command SET LOG /CLOSE closes the currently open log file without  opening a new logfile. 3 Example  DISKBLOCK> SET LOG DISK_3 @ %DSKB-I-CREATED, Created file DISK$USERS_2:[RANCE]DISK_3.LOG;1 DI The checksum at byte 58 is C calculated by adding together the first 29 words in the block andA discarding any overflow. 2 INDEXF.SYSC The beginning of INDEXF.SYS is used for Home Blocks, Bitmaps etc.l8 To find the file header for a file with file id of nnn3 FACTOR = (4 * hm2$w_cluster) + hm2$w_ibmapsized6 VBN of file header for file id nnn = FACTOR + nnn1 To access File Headers on an ODS2 drive you canE3 DISKBLOCK> SELECT/FILE $n$dcun:[000000]INDEXF.SYS 2 Home_block nd DEPOSITI commands and then REWRITE it to the same block, WRITE it to a differenttG block or SELECT a new disk or file and WRITE the buffer to any block.LF When you SELECT a disk, diskblock will attempt to map the Index FileJ If it is successful then any command which requires an LBN (READ, WRITE,I COPY etc...) will also accept a FID and operate on the appropriate file ? header. This will work even if the disk is mounted /FOREIGN.-I There are commands to SAVE and RESTORE the buffe2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and qualis the name of the file to create 2 Qualifieri/BLOCKSd /BLOCKS=(keyword[,...])I Using the /BLOCKS switch you can specify a starting block and an endinghD block or a count of the number of blocks to save. You can specifyD both a START block and an END block, or a START block and a COUNT,4 you may not specify both an END block and a COUNT.< The default START block is 0 for a DRIVE and 1 for a FILE.* DISKBLOCK> SAVE /BLOCKS=(START:0,END:10)< This command will save blocks 0 throLOCK.DMP, DISKBLOCK> RESTORE SYS$LOGIN:BLOCK_234.DMP 2 Parameter( Filename( Specifies the name of the file to open 2 Qualifierl/BLOCKSe /BLOCKS=(keyword[,...])I Using the /BLOCKS switch you can specify a starting block and an endingdG block or a count of the number of blocks to restore. You can specifyaD both a START block and an END block, or a START block and a COUNT,4 you may not specify both an END block and a COUNT.< The default START block is 0 for a DRIVE and r so that you can keep SJ a copy of the original block and undo changes if they do not work as you expect.-H There is a CHECKSUM command to enable you to recalculate the checksums1 for ODS2 and ODS5 file headers and home blocks.-@ There is a DIRECTORY command which will find the header for a - file (even if the disk is mounted /foreign)-H There is a COPY command which will enable you to treat any block on a L disk as a file header and copy the LBNs described by its mapping point.FILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reports%ۡ! RANCE ODS5_supportY/! RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILLCHECKSUMSAVERESTORESEARCHSHOWSETSPAWNATTACHODS2 Bug_reportsQ˜ RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMINEDEPOSITFILrieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and qualiessA 2 Parameters Addressi. Specifies the buffer address to be deposited Date2 Specifies the Data to be deposited to the buffer 2 Command_Qualifiers/LONGe (default)nD Causes the deposit to modify four bytes. (Address) to (Address+3), The address should lie in the range 0-508.+ DISKBLOCK> DEPOSIT /LONG %X1F %O124207651/WORD C Causes the deposit to modify two bytes. (Address) to (Address+1)c, The address should lie in the range 0-510.# DISKBLOCK> DEPOS56 or DISKBLOCK> FILL 0r/WORDp> Specifies that the data is to be written to successive words within the buffers DISKBLOCK> FILL /WORD %X3456 or DISKBLOCK> FILL /WORD 512/BYTEt> Specifies that the data is to be written to successive bytes within the bufferi DISKBLOCK> FILL /BYTE %XAC or DISKBLOCK> FILL /BYTE 127ww C Causes the deposit to modify two bytes. (Address) to (Address+1)c, The address should lie in the range 0-510.# DISKBLOCK> DEPOS Causes the newly calculated checksum to be written to word 510 of A the buffer. The checksum will be displayed at the terminal andK; (if it was changed) the previous value will be displayed./HOMEF Causes the checksum command to check or modify BOTH of the checksums) in a Home block (word 58 and word 510).C See also ODS2 HOMEww 127ww C Causes the deposit to modify two bytes. (Address) to (Address+1)c, The address should lie in the range 0-510.# DISKBLOCK> DEPOS,CT˜1 SETWG The set command defines or changes some characteristic of the currentn DISKBLOCK SESSION. 2 WRITE D The set write command enables writing of the selected DISK or FILEG the set nowrite command disables writing of the selected DISK or FILEh$ This will override a setting from  DISKBLOCK> SELECT /[NO]WRITE2 LOGiH SET LOG causes all output to be written to a logfile as well as to theB terminal screen. You may specify a filename for the log file. 3 ?$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;181" The default logfile is SYS$SCRATCH:DISKBLOCK.LOG.DF This command does not support the use of extended filename syntax on< ODS5 disks, the logfile must have an ODS2 style file name.@ Opening a new logfile causes the current logfile to be closed.3 Command_Qualifiers/CLOSEG The command SET LOG /CLOSE closes the currently open log file without  opening a new logfile. 3 Example  DISKBLOCK> SET LOG DISK_3 @ %DSKB-I-CREATED, Created file DISK$USERS_2:[RANCE]DISK_3.LOG;1 DI2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and qualirieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali copy command cannot create an ODS5 extended filename. If the H file you are copying has a filename containing ISO Latin1 characters, F multiple .s, or other syntax that is not valid in ODS2 then you must specify an output file name.@ NOTE that the copy will take place using the mapping pointers B in the file header, if the file header is corrupt then this may " create a VERY large output file.E After the file data has been copied the File and Record attributes,tA the File Owner U@ 31 30 29 28 ............................ 3 2 1 0 Address DISKBLOCK> DUMPt DISKBLOCK> DUMP /HEX/OCTALC Use the /OCTAL switch to specify that the contents of the buffer,mA and the addresses printed next to the data, should be displayed in OCTAL.@ 24 23 22 21 ............................ 3 2 1 0 Address DISKBLOCK> DUMP /OCTAL/ASCIIA Use the /ASCII switch to dump the entire contents of the bufferRB to your terminal with all bytes interpreted as ASCII 1 for a FILE.K DISKBLOCK does not check that the file is the correct size for the numberDI of blocks specified and I have never tested the effects of getting thisa wrong!- DISKBLOCK> RESTORE /BLOCKS=(START:0,END:10) A This command will restore blocks 0 through 9 from a file callede sys$scratch:diskblock.dmp C DISKBLOCK> RESTORE /BLOCKS=(START=0,END=9) SYS$LOGIN:10BLOCKS.TMPrA This command will restore blocks 0 through 9 from a file calledP sys$login:10blocks.tmpwwKBLOC terminal. The default filespec isn SYS$SCRATCH:DISKBLOCK.LIS H This qualifier does not support the use of extended filename syntax on@ ODS5 disks, the output file must have an ODS2 style file name.C This is useful if searching a large number of blocks for a stringfC or integer which is fairly frequent. You can still use ^T to getO@ a status display to the terminal. You may examine the output? file from another session with the type command, whilst it is: still being written. 12144122 Count: 26139 LBN: 11882732 Count: 1002 LBN: 16943762 Count: 1002 LBN: 3694652 Count: 1002 LBN: 1769792 Count: 1002 LBN: 1647219wwstringfC or integer which is fairly frequent. You can still use ^T to getO@ a status display to the terminal. You may examine the output? file from another session with the type command, whilst it is: still being written. SKBLOCK> SET LOGD %DSSKB-I-LOGCLOSE, Logfile DISK$USERS_2:[RANCE]DISK_3.LOG;1 closedC %DSKB-I-CREATED, Created file DISK$USERS_2:[RANCE]DISKBLOCK.LOG;1  DISKBLOCK> SET LOG/CLOSEG %DSSKB-I-LOGCLOSE, Logfile DISK$USERS_2:[RANCE]DISKBLOCK.LOG;1 closed DISKBLOCK>2 PAGEH The command SET PAGE causes diskblock to count lines of output sent toJ the terminal and prompt with "Type a to continue: " every 22 lines.A This feature is enabled by default IF SYS$OUTPUT IS A TERMINAL.t# rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali E This switch will cause the block to be written to the disk with thebG forced error flag set. USE THIS WITH EXTREME CAUTION - IF YOU DON'T 0 UNDERSTAND WHAT IT MEANS THEN DON'T USE IT!!!! G The effect of this flag may depend on the type of disk, on DSA disks eF it will cause a forced error condition when the block is read again,* the correct data will still be returned. F On some SCSI disks it will cause a parity error to be generated when/ the block is read and NO DATA to be returned.dJ DO NOT USE THIS SWITCH UNLESS YOU HAVE A VERY GOOD REASON AND YOU REALLYH UNDERSTAND WHAT YOU ARE DOING, IT HAS BEEN INCLUDED SINCE I NEEDED IT E FOR TESTING DISKBLOCK AND I HAVE VERY OCCASSIONALLY FOUND A USE FOR 8 A DISK THAT GENERATES HARDWARE ERRORS WHEN IT IS READ. /CHECKSUM B Use this command when the block you are writing is an ODS2 file D header. The block checksum will be caculated and then written to C the last word of the buffer. Then the WRITE fucntion will IC and File Protection will be copied from the EH original file header to the new file header. The Access Control List G (ACL) from the input file header will then be copied to the new file.  C Use of this command does not modify the normal DISKBLOCK 512 byteN read / write buffer.E DISKBLOCK> COPY_FILE /OUTPUT=abcd.dmp %x90A12 ! LBN of file headerlE DISKBLOCK> COPY /FID=1234 ! FID of file header I DISKBLOCK> COPY /BUFFER ! File header has already been readr2 Command_Qualifiers/OUTPUT H Use this switch to specify the filename of the NEW file to be created.F This command does not support the use of extended filename syntax on@ ODS5 disks, the output file must have an ODS2 style file name./FID@ Use the command COPY /FID to copy a file when you know the FID@ but not the LBN of the file header. The fid will be converted4 to an LBN and the appropriate header will be read.= This command will only work if you have read t characters.1 Every non printing character will appear as a .B The data will be printed with the least significant byte on the ) left (similar to the DCL dump command).  DISKBLOCK> DUMP /ASCII /FILE_HEADERJ Use the /FILE_HEADER switch to format the buffer as an ODS2 file header.$ This command executes in 5 stages.A 1) Check that buffer is a valid file header, if not then print A5 an error message explaining what the problem is.i6 2) Write the buffer out to SYS$SCRATCH.=$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18":DISKBLOCK.TMPG 3) Spawn the command $ DUMP /FILE_HEADER SYS$SCRATCH:DISKBLOCK.TMP -a> /OUTPUT=SYS$SCRATCH:DISKBLOCK.TMP1 -= 4) Read SYS$SCRATCH:DISKBLOCK.TMP1 and output to the screenm (and log file if open). 5) Delete temporary filesi/HEADERe1 DUMP /HEADER is a synonym for DUMP /FILE_HEADERo/HOMEaB Use the /HOME switch to format the buffer as an ODS2 Home Block./SCB eK Use the /SCB switch to format the buffer as an ODS2 Storage Control  EXAMINE /WORD is 510.5 The maximum buffer address for EXAMINE /BYTE is 511K DISKBLOCK> EXAMINE 480 2 ParameterT Addressh- Specifies the buffer address to be examined 2 Command_Qualifiers/LONG (default)t@ Causes the formatted output to show four bytes starting at the specified address. DISKBLOCK> EXAMINE /LONG %X1E0/WORDM? Causes the formatted output to show two bytes starting at then specified address. DISKBLOCK> EXAMINE /WORD %O123/BYTE > Caus es the formatted output to show one byte starting at the specified address. DISKBLOCK> EXAMINE /BYTE %X53n/TIMEyG Causes the quadword starting at the specified address to be formattedM* as a VMS Date Time string and displayed.wwitch to format the buffer as an ODS2 file header.$ This command executes in 5 stages.A 1) Check that buffer is a valid file header, if not then print A5 an error message explaining what the problem is.i6 2) Write the buffer out to SYS$SCRATCHIT /WORD 123 4142o/BYTEsI Causes the deposit to modify just one byte at at the specified address./, The address should lie in the range 0-511.& DISKBLOCK> DEPOSIT /BYTE %O10 %X4142/STRINGs7 Causes the DATA to be interpreted as an ASCII string.aI The address should be sufficiently small so that ALL of the string will# fit between ADDRESS and byte 512.eB To include lower case letters, or spaces, you must use "Quotes".) DISKBLOCK> DEPOSIT /STRING 410 NEW_DATAo+ DISKBLOCugh 9 in a file called sys$scratch:diskblock.dmpt@ DISKBLOCK> SAVE /BLOCKS=(START=0,END=9) SYS$LOGIN:10BLOCKS.TMP< This command will save blocks 0 through 9 in a file called sys$login:10blocks.tmpwwthe DATA to be interpreted as an ASCII string.aI The address should be sufficiently small so that ALL of the string will# fit between ADDRESS and byte 512.eB To include lower case letters, or spaces, you must use "Quotes".) DISKBLOCK> DEPOSIT /STRING 410 NEW_DATAo+ DISKBLOC & The layout of an ODS2 home block is.I <------------------------HM2$L_HOMELBN-------------------------------->lI <------------------------HM2$L_ALHOMELBN------------------------------>BI <------------------------HM2$L_ALTIDXLBN------------------------------>CI <---------HM2$W_CLUSTER---------> <--------HM2$W_STRUCLEV--------->pI <---------HM2$W_ALHOMEVBN-------> <--------HM2$W_HOMEVBN---------->yI <---------HM2$W_IBMAPVBN--------> <--------HM2$W_ALTIDXVBN-------->NI <------------------------HM2$L_IBMAPLBN-------------------------------> I <------------------------HM2$L_MAXFILES-------------------------------> I <---------HM2$W_RESFILES--------> <--------HM2$W_IBMAPSIZE--------> I <---------HM2$W_RVN-------------> <--------HM2$W_DEVTYPE---------->wI <---------HM2$W_VOLCHAR---------> <--------HM2$W_SETCOUNT--------->tI <------------------------HM2$L_VOLOWNER------------------------------->iI <------------------------HM2$L_SEC_MASK---------------& The layout of an ODS2 home block is.I <------------------------HM2$L_HOMELBN-------------------------------->lI <------------------------HM2$L_ALHOMELBN------------------------------>BI <------------------------HM2$L_ALTIDXLBN------------------------------>CI <---------HM2$W_CLUSTER---------> <--------HM2$W_STRUCLEV--------->pI <---------HM2$W_ALHOMEVBN-------> <--------HM2$W_HOMEVBN---------->yI <---------HM2$W_IBMAPVBN--------> <--------HM2$W_ALTIDXVBN-------->NI <------------------------HM2$L_IBMAPLBN-------------------------------> I <------------------------HM2$L_MAXFILES-------------------------------> I <---------HM2$W_RESFILES--------> <--------HM2$W_IBMAPSIZE--------> I <---------HM2$W_RVN-------------> <--------HM2$W_DEVTYPE----------> I <---------HM2$W_VOLCHAR---------> <--------HM2$W_SETCOUNT--------->II <------------------------HM2$L_VOLOWNER------------------------------->TI <------------------------HM2$L_SEC_MASK--------------- ers 7 to a new file (even if the disk is mounted /foreign).- C There is a SEARCH command which will search the entire disk/file -E (or any range of blocks) for a particular string or integer or fileI header.CH There is a TEST command which will carry out performance testing. YouI may specify queue lengths, I/O sizes, read/write ratios and seek types eA and Diskblock will report throughput and bandwidth to the disk.-; Because of its potential to corrupt disks you should only-BK is used to find a file on a corrupted disk> and then to copy the file to the users SYS$SCRATCH directory $ RUN SYS$SYSTEM:DISKBLOCK* DISKBLOCK V5.6H Copyright (c) Digital Equipment Corp. 1997. All rights Reserved. $ MOUNT /FOREIGN $1$DUA42n# DISKBLOCK> SELECT $1$DUA42 /NOMAPl' DISKBLOCK> SEARCH /HEADER=X.EXT /FULLpR %DSKB-I-SEARCHING, Searching blocks 0 - 2376152 for HEADER "X.EXT;*" at 13:23:45! LBN: 1188943, Filename: X.EXT;2S: FID: 103 2, SEGNUM: 0, CREDATE: 19-MAY-1994 01:30:09.762 %DSKB-I-SEARCHDONE, Search completed at 13:44:10& DISKBLOCK> DUMP /FILE /BLOCK=11889437 ... Check that this is the correct file header.......  DISKBLOCK> COPY 1188943a; %DSKB-I-CREATED, Created file DUA0:[RANCE]COPY_FILE.DAT;1 < %DSKB-I-COPYING, Copying 214 blocks starting at LBN 113124: %DSKB-I-COPYING, Copying 24 blocks starting at LBN 10456S %DSKB-I-CPYACL, 92 Bytes of ACL information copied to DUA0:[RANCE]COPY_FILE.DAT;1mW %DSKB-I- CPYATTRIB, File attributes successfully copied to DUA0:[RANCE]COPY_FILE.DAT;1s 2 Modify_disknE In this example a backup copy of the home block is used to repair af corrupted primary home block.  $ RUN SYS$SYSTEM:DISKBLOCK* DISKBLOCK V5.6H Copyright (c) Digital Equipment Corp. 1997. All rights Reserved.$ DISKBLOCK> MOUNT /FOREIGN $2$DUA22E DISKBLOCK> SELECT $2$DUA22 ; Select the problem drivetJ DISKBLOCK> READ 2  hen the consistency of that shadow set will  be compromised!w2 Command_qualifiers/QUEUE /QUEUE=lengthK Use the /QUEUE qualifier to specify the queue length that you want to useT during the test.K A queue length of 0 will submit a single I/O and then submit another when  the first one finishes.e! The default queue length is 20.r/IOSIZEl /IOSIZE=blocksH Use the /IOSIZE qualifier to specify the size of each test I/O in disk7 blocks. The default I/O size is 1 block> DISKBLOCK> SEARCH /LONG=123456 /OUTPUT=SYS$LOGIN:123456.LIST See also SET LOG /LONGWORD- /LONGWORD=valueJ Use SEARCH /LONGWORD to search for an occurence of a longword integer on the selected drive/file.@ There are no alignment requirements so a longword starting at . (e.g.) byte 1 of a block will be discovered.( DISKBLOCK> SEARCH /LONGWORD=%X80123456 or! DISKBLOCK> SEARCH /LONG = 12345y/WORD: /WORD=valueB Use SEARCH /WORD to search for an occurence of a worSet NOPAGE disables this feature.4wwPUT=SYS$LOGIN:123456.LIST See also SET LOG /LONGWORD- /LONGWORD=valueJ Use SEARCH /LONGWORD to search for an occurence of a longword integer on the selected drive/file.@ There are no alignment requirements so a longword starting at . (e.g.) byte 1 of a block will be discovered.( DISKBLOCK> SEARCH /LONGWORD=%X80123456 or! DISKBLOCK> SEARCH /LONG = 12345y/WORD: /WORD=valueB Use SEARCH /WORD to search for an occurence of a wor---------------->hI <---------HM2$W_FILEPROT--------> <--------HM2$W_PROTECT---------->tI <---------HM2$W_CHECKSUM1-------> <--------HM2$W_RECPROT---------->SI -------------------------HM2$Q_CREDATE-------------------------------->YI <----------------------------------------------------------------------nE <---------HM2$W_EXTEND----------> HM2$B_LRU_LIM HM2$B_WINDOW I -------------------------HM2$Q_RETAINMIN------------------------------>"I <-------------------------------n@x$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18" use Diskblock in extreme desperation or on a disk which you have backed up.  - You need LOG_IO privilege to run DISKBLOCK. 9 Type EXAMPLES at the Topic? prompt for more information-wwQ_CREDATE-------------------------------->YI <----------------------------------------------------------------------nE <---------HM2$W_EXTEND----------> HM2$B_LRU_LIM HM2$B_WINDOW I -------------------------HM2$Q_RETAINMIN------------------------------>"I <------------------------------- ; Read backup copy of HomeblockE DSKB-I-BLKREAD, Block 2 (%X00000002) of _$2$DUA22 successfully read ( DISKBLOCK> HELP ODS2 HOME HOMELBN J .......................... ; Find size and offset of field8 DISKBLOCK> DEPOSIT 0 1 ; New HOMELBN8 DISKBLOCK> DEPOSIT/WORD 16 2 ; New HOMEVBN= DISKBLOCK> CHECKSUM /HOME /DEPOSIT ; Modify checksums-E %DSKB-I-CHKCHANGED, Checksum has been changed from %X289B to %X3F9B-E %DSKB-I-CHKCHANGED, Checks enable you to specify a File ID and read the corresponding LBN.e< A /CHECKSUM qualifier has been added to the write command.6 This makes life simpler when modifying file headers.# A number of bugs have been fixed.o2 V4.1_new_featuresRD There are only three very minor differences between DISKBLOCK V4.0 and DISKBLOCK V4.1.S* The handling of HELP is now more robust.8 The search command can now be cancelled by typing a ^C0 DISKBLOCK can now be installed with VMSINSTAL.rieval pointers will not be read.a 2 Parameters device_nameN. Specifies the name of the disk to be selected file_namem5 Specifies the name of the file to be selectedd (requires SELECT/FILE)2 Command_Qualifiers/FILEeF Use this qualifier to enable you to perform Virtual I/O to a single D file on an ODS2 mounted disk. This allows you to use DISKBLOCK asC a utility somewhere between Patch and Dump, it will allow you to KI modify the contents of a file without ta s not modify the main read/write buffernJ This command will work on ODS2 or ODS5 mounted or foreign disks so long M as the index file has been mapped with the SELECT command. ODS5 filenames eJ will be displayed as they are stored in the files - this is a different J format to that displayed by a directory command. No extra ^ characters M will be inserted to distinguish embedded . characters from file separators.i! DISKBLOCK> DIRECTORY [filespec]R 2 Parameters filespecE Specif 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in usea 3 ACC_MODE  FH2$B_ACC_MODEt" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1  3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useM 3 ACC_MODE  FH2$B_ACC_MODEn" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> reade0 bits <2:3> write2 bits <3:4> execute1 ies the file(s) to be listed. * and % wildcards are allowed.f/ All valid ISO Latin1 characters are accepted.n9 Directory and/or device specifications are not allowed. 2 Command_Qualifiers/FID /FID = nnno= Use DIR /FID to display the filename associated with a FID.w DISKBLOCK> DIRECTORY /FID=1000B FID: 1000 LBN: 1189345 [RANCE.SUBDIR.TEMP]TEMPFILE.EXT;23 See also READ /FID/LBN /LBN=(nnn[,...]) D Use DIR /LBN to find which file maps a particular LBN on the d K> DEPOSIT /STRING 410 "New Data"c/TIME D Causes the DATA to be interpreted as a VMS ASCII Date-Time string.E The input string is NOT THE SAME SYNTAX AS A DCL DATE TIME STRING, CF this is necessary because DCL converts delta times to absolute times0 and we need to handle them as raw delta times.& The syntax for a DATE TIME string is% DELTA TIME: "dd hh:mm:ss.hh"e. ABSOLUTE TIME: "dd-mmm-yyyy hh:mm:ss.cc"& Valid datetime strings would include= 9-jan-1991  d integer on the selected drive/file.< There are no alignment requirements so a word starting at . (e.g.) byte 1 of a block will be discovered. DISKBLOCK> SEARCH /WORD=%XFFFF or! DISKBLOCK> SEARCH /WORD = 12345s/BYTE /BYTE=valueB Use SEARCH /BYTE to search for an occurence of a byte integer on the selected drive/file. DISKBLOCK> SEARCH /BYTE=%XFF or DISKBLOCK> SEARCH /BYTE = 127d/STRING  /STRING=value /STRING="value"G Use SEARCH /STRING to search for---------------->hI <---------HM2$W_FILEPROT--------> <--------HM2$W_PROTECT---------->tI <---------HM2$W_CHECKSUM1-------> <--------HM2$W_RECPROT---------->SI -------------------------HM2$Q_CREDATE-------------------------------->YI <----------------------------------------------------------------------nE <---------HM2$W_EXTEND----------> HM2$B_LRU_LIM HM2$B_WINDOW I -------------------------HM2$Q_RETAINMIN------------------------------>"I <-------------------------------"---------------------------------------I -------------------------HM2$Q_RETAINMAX------------------------------>eI <---------------------------------------------------------------------- I -------------------------HM2$Q_REVDATE-------------------------------->TI <----------------------------------------------------------------------sI -------------------------HM2$R_MIN_CLASS (20 bytes)------------------->oI <----------------------------------------------------------------------iI ------$---------------------------------------I -------------------------HM2$Q_RETAINMAX------------------------------>eI <---------------------------------------------------------------------- I -------------------------HM2$Q_REVDATE-------------------------------->TI <----------------------------------------------------------------------sI -------------------------HM2$R_MIN_CLASS (20 bytes)------------------->oI <----------------------------------------------------------------------iI ------ (um has been changed from %X5136 to %X7F36? DISKBLOCK> DUMP /HOME ; See if it looks OK- .........................-G DISKBLOCK> WRITE 1 ; Write to primary homeblock-K %DSKB-I-BLKMODIF, Block 1 (%X00000001) of _$2$DUA22 successfully modified- 2 Modify_MFDK In this example the ownership of the MFD of a disk is changed to be [1,4]N $ RUN SYS$SYSTEM:DISKBLOCK* DISKBLOCK V5.6H Copyright (c) Digital Equipment Corp. 2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useL 3 ACC_MODEL FH2$B_ACC_MODE " Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readn0 bits <2:3> write2 bits <3:4> execute1  you read a block the current contents of the buffer will be lostnE If you require the current buffer contents then you should SAVE the ' bufffer before reading another block.o 2 Parameter  Block_numberC Specifies the LBN of the block to be read from the selected drive ; or the VBN of the block to be read from the selected filee2 Command_Qualifiers/FID? Use the command READ /FID to read an LBN from a disk when you = know the File ID of the file whose header you want to read.ed.$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18R"= This command will only work if you have read the index file/+ mapping pointers with the SELECT command.iF The FID will be translated to an LBN and the appropriate file headerD will be read in to the buffer, the buffer will then be checked to B ensure that the file header is valid and diagnostic messages may be issued. See also DIRECTORY /FIDh< The syntax for this command has changed with DISKBLOCK V5. The format is now...  DISKBLOCK> READ /FID=1000 /SCB See also DUMP /SCBF Use the command READ /SCB to read the Storage Control Block from theC currently selected drive. The SCB is the first block of the fileoG [000000]BITMAP.SYS, it contains information relating to the mount andt( Volume Shadowing status of the volume. The syntax for this command is DISKBLOCK> READ /SCBww If you use the /INDEXLBN qualifier then Diskblock will not read a D Home Block, this means that the cluster size and index file bitmapC size are not availabFy& DISKBLOCK> WRITE /CHECKSUM /FID=1004 2 Parameter  Block_numberD Specifies the LBN of the block to be written on the selected drive< or the VBN of the block to be written to the selected file2 Command_Qualifiers /FORCED_ERRORtE This switch will cause the block to be written to the disk with thedG forced error flag set. USE THIS WITH EXTREME CAUTION - IF YOU DON'T n0 UNDERSTAND WHAT IT MEANS THEN DON'T USE IT!!!! G The effect of this flag may depend on the type of disk isk.J Diskblock will read the entire INDEX File and check the mapping pointersI in all file headers to locate the file(s) that map(s) the given LBN(s).hH Diskblock will continue scanning even after it finds a match to enableH the indentification of all pointers to multiply allocated blocks. You9 can abort the search with a Control C (^C) at any time.eD If an invalid file header maps the lbn then an error message will 9 proceed the display of the filename. (See DIR /VALID). G 2 V5.0_New_Features:F Diskblock V5 has been totally re-written in C (it used to be Macro).= There are major improvements in the area of error handling,tB especially in the handling of disk errors during READ and SEARCHA commands and in the validation of Home blocks and file headers.KD Control C and Control T handling now work during Directory as well as search operations.t= There has been a syntax change for READ /FID and WRITE /FIDo4 There are a number of new commands and quali 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODES" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1 , on DSA disks hF it will cause a forced error condition when the block is read again,* the correct data will still be returned. F On some SCSI disks it will cause a parity error to be generated when/ the block is read and NO DATA to be returned. % DISKBLOCK> WRITE /FORCED_ERROR 100/J DO NOT USE THIS SWITCH UNLESS YOU HAVE A VERY GOOD REASON AND YOU REALLYH UNDERSTAND WHAT YOU ARE DOING, IT HAS BEEN INCLUDED SINCE I NEEDED IT E FOR TESTING DISKBLOCK AND I HAVE VERY OCCASSIONALLY FOUND A USE FORd8 A DISK THAT GENERATES HARDWARE ERRORS WHEN IT IS READ. /CHECKSUM B Use this command when the block you are writing is an ODS2 file D header. The block checksum will be caculated and then written to C the last word of the buffer. Then the WRITE function will write a& the buffer back to the selected LBN. See also CHECKSUM /DEPOSIT/FID? Use the command WRITE /FID to write an LBN on a disk when yout> know the File ID of the file whose header you want to wr 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODEB" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1 ite.= This command will only work if you have read the index fileo+ mapping pointers with the SELECT command. D Diskblock will first verify that the buffer contains a valid file F header, if not then a diagnostic message will be issued and you willH be asked if you wish to continue. It will then convert the FID to theD LBN of the corresponding file header and write the header to disk.< The syntax for this command has changed with DISKBLOCK V5. The format is now...  DISKBL write & the buffer back to the selected LBN. See also CHECKSUM/DEPOSITwwUM B Use this command when the block you are writing is an ODS2 file D header. The block checksum will be caculated and then written to C the last word of the buffer. Then the WRITE function will write & the buffer back to the selected LBN. See also CHECKSUM /DEPOSITq/FID? Use the command WRITE /FID to write an LBN on a disk when youh> know the File ID of the file whose header you want to wr (512 bytes). /SEQUENTIALIJ Use the /SEQUENTIAL qualifier to cause the test to carry out sequential 9 I/O operations. The default is to perform RANDOM I/Os. 1 You cannot specify both /SEQUENTIAL and /RANDOMO See also /BLOCKI/RANDOMEG Use the /RANDOM qualifier to tell DISKBLOCK to carry out random seeksw2 during the test. This is the default behaviour.1 You cannot specify both /SEQUENTIAL and /RANDOMw See also /BLOCKt/COMPARE /NOCOMPARE [D]H Use the /COMPARE  9th January 1991 at the current timef> "9-" 9th of this month at the current time0 "9-JAN-1991 00:00:00." Midnight on 9th JanuaryH "9-JAN-1991 00:00:00" Midnight " " " current hundredths of a sec r. 30 Delta time of 30 days; "12 12:" Delta time of 12 days and 12 hoursk4 "0 ::.5" Delta time of half a secondA Eight bytes (Address) to (Address+7) will be deposited with the ) corresponding VMS Quadword date time. e0 The address should lie in the range 0 to 504 7 DISKBLOCK> DEPOSIT /TIME 60 "29-JUL-1992 04:33:21.05"P$ DISKBLOCK> DEPOSIT /TIME 0 12 00:wwifier to dump a formatted block without overwritingJ DISKBLOCKs main read/write buffer. You must specify the FID of the file header to read. % e.g. DISKBLOCK> DUMP /HEADER /FID=41wwmatch LBNs 10 to 195 DIR /LBN=(100,200) /COUNT=(10,20) will match o4 LBNs (100 to 109) and LBNs (200fiers. 3 SET_LOGrJ The SET LOG command causes ALL diskblock output to be sent to a log file as well as to the terminal 3 SET_PAGEG The SET PAGE command causes diskblock output to pause every screenfulY, and prompt with "Type a to continue". 3 REWRITE B The REWRITE command allows a block to be written back to the LBNG it was read from to reduce the chance of mis-typing the block number.2 3 DIRECTORY J The DIRECTORY command now displays FULL file specification, FID and LB4king out RMS locks - even when , someone else has the file open and locked. /OVERRIDE D Use the /OVERRIDE qualifier to enable you to read and write a diskE that is not mounted foreign. Use even more extreme care when doing @ this as you could cause great damage to the VMS file system by, modifying disks that are normally mounted.8 This qualifier cannot be used with the /FILE qualifier/NOMAPE Use this qualifier to prevent DISKBLOCK from reading the Home Blocki$ and Index FileOCK> WRITE /FID=234dwwr file can be READ or SEARCHED but the WRITE and REWRITEr commands will return an error. The default is SELECT /NOWRITE See also SET WRITE 2 ExamplesE DISKBLOCK> SELECT $2$DRA2:r1 DISKBLOCK> SELECT SYS$SYSTEM:SYSDUMP.DMP /FILE5' DISKBLOCK> SELECT $2$DUS0: /OVERRIDEg& DISKBLOCK> SELECT DISK$USER2 /NOMAP. DISKBLOCK> SELECT MYNODE$DUA1: /HOMELBN=nnn3 DISKBLOCK> SELECT DRA3: /INDEXLBN=nnn /FACTOR=85ewwhome block 8 DUMP /HEADER has beeR$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18i" 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in usei 3 ACC_MODE  FH2$B_ACC_MODEi" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readl0 bits <2:3> write2 bits <3:4> execute1  3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODEB" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1  qualifier to cause DISKBLOCK to follow every read or J write operation with a compare operation which will verify the data has  been correctly transferred.f Default is /NOCOMPARE /DURATIONn /DURATION=secondsmI Use the /DURATION qualifier to cause DISKBLOCK to stop testing after a I fixed number of seconds. Default is to continue testing until you typed CONTROL-C./BLOCKS. /BLOCKS=(keyword[,...])I Using the /BLOCKS switch you can specify a starting block and an endingL D block or a count of the number of blocks to test. You can specifyD both a START block and an END block, or a START block and a COUNT,4 you may not specify both an END block and a COUNT.< The default START block is 0 for a DRIVE and 1 for a FILE.$ DISKBLOCK> TEST /BLOCKS=START:%X40: This command will test all blocks starting from block 64+ DISKBLOCK> TEST /BLOCKS=(START:64,END=80)N( This command will test blocks 64 to 80> DISKBLOCK> TEST /BLOCKS=(START=3000, COUNT=1000) /SE:QUENTIALC This command will test blocks 3000 to 3999 using sequential seeksI /READPERCENT /READPERCENT=percentage7 This qualifier sets the read/write ratio of the test.e# The default is READPERCENT = 100.e9 You may set READPERCENT to any value between 0 and 100.I WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING K Setting this parameter to any value other than 100 will almost certainly I cause data corruption. The data that is copied to the disk or filhe index filea+ mapping pointers with the SELECT command.c< The syntax for this command has changed with DISKBLOCK V5. The format is now...  DISKBLOCK> COPY_FILE /FID=234 /BUFFER@ Use the command COPY /BUFFER when the file header for the file< you want to copy is already in the main read/write buffer.> This enables you to read a file header from disk, modify it B and then use the modified header to copy the file without having9 to write the modified header back to the original disk.hwwand will test blocks 3000 to 3999 using sequential seeksp /READPERCENT /READPERCENT=percentage7 This qualifier sets the read/write ratio of the test.v# The default is READPERCENT = 100.g9 You may set READPERCENT to any value between 0 and 100. I WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNINGnK Setting this parameter to any value other than 100 will almost certainly nI cause data corruption. The data that is copied to the disk or fil You may specify multiple LBNs on a single command line in three ways, ; DIRECTORY /LBN=(nnn,mmm,xxx,yyy) for multiple single LBNsk? DIR /LBN=nnn /COUNT=xxx for a single contiguous range of LBNsmC DIR /LBN=(nnn,mmm...) /COUNT=(xxx,yyy...) for many ranges of LBNs D The index file will only be scanned ONCE for each command so it isH much more efficient to form a single complex command with all the LBNsF you are interested in than to specify them one at a time in separate commands.f/C OUNT /COUNT=(nnn[,...]) B This switch can only be used in conjunction with DIRECTORY /LBN.= For the command DIR /LBN=x /COUNT=m all files that map LBNsK+ in the range x to x+m-1 will be reported. A For the command DIR /LBN=(x,y) /COUNT=(m,n) all files that map tC LBNs in the ranges (x to x+m-1) and y to y+n-1) will be reported)y6 e.g. DIR /LBN=10 /COUNT=10 will match LBNs 10 to 195 DIR /LBN=(100,200) /COUNT=(10,20) will match g4 LBNs (100 to 109) and LBNs (200 to 219)/OUTPUT /OUTPUT=filespec@ Use the /OUTPUT qualifier to cause the output to be written to= a file instead of to the terminal. The default filespec ish SYS$SCRATCH:DISKBLOCK.LIS.H This qualifier does not support the use of extended filename syntax on@ ODS5 disks, the output file must have an ODS2 style file name./VALIDJ If the /VALID qualifier is specified then only matching files with validK file headers will be displayed. Any invalid file headers will be ignoredl BlockaD (The SCB can be read from VBN 1 of [000000]BITMAP.SYS. If you areG reading from a shadow set member then you may wish to use the command/K READ /SCB since you cannot access the file system on shadow set members).U/BLOCKB Use this qualifier to dump a formatted block without overwritingI DISKBLOCKs main read/write buffer. You must specify a Block number to c read.mI DISKBLOCK will read the specified LBN / VBN into a temporary buffer and H immediately display it on the sc! 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in use2 3 ACC_MODE  FH2$B_ACC_MODE " Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1 .N.C DIRECTORY/FID has been added to convert a FID number to filename.0D DIRECTORY/LBN has been added to find the file using any given LBN.E The performance of the DIRECTORY command has been greatly improved. 3 /FORCED_ERRORCF There is a /FORCED_ERROR qualifier to WRITE and REWRITE which allowsG a block to be written with the forced error flag set. USE THIS WITH E EXTREME CAUTION - IF YOU DON'T UNDERSTAND WHAT IT MEANS THEN DON'T 9 USE IT!!!! MG If /LBN and /VALID are both specified and there is only a SINGLE LBN H specified then the scan will stop after a single valid match has been  found./SELECT  /SELECT=(keyword[,...])D The /SELECT qualifier has identical syntax and meaning to the DCL  command DIRECTORY/SELECT/ DISKBLOCK> DIRECTORY /SELECT=SIZE=MINIMUM=nnn/< Only report files with a size greater than or equal to nnn/ DISKBLOCK> DIRECTORY/ SELECT=SIZE=MAXIMUM=mmmt9 Only report files with a size less than  3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODES" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1 reen. The main read/write buffer will& still contain its original contents.% e.g. DISKBLOCK> DUMP /HOME /BLOCK=1 ) DISKBLOCK> DUMP /ASCII /BLOCK=1000 /FIDB Use this qualifier to dump a formatted block without overwritingJ DISKBLOCKs main read/write buffer. You must specify the FID of the file header to read. % e.g. DISKBLOCK> DUMP /HEADER /FID=41wwmatch LBNs 10 to 195 DIR /LBN=(100,200) /COUNT=(10,20) will match e4 LBNs (100 to 109) and LBNs (200! an occurence of an ASCII text stringp on the selected drive/fileH The input string will be converted to upper case UNLESS it is enclosed in quotes.( DISKBLOCK> SEARCH /STRING = INDEXF.SYS orJ DISKBLOCK> SEARCH /STRING="Case Sensitive" /BLOCK=(START=100, COUNT=100)/HEADER  /HEADER=filespecvD Use SEARCH / HEADER to search for file headers. It can be used toF locate the header for a file on a disk that has no valid indexf.sys.F For each file header located it will display *C$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18!"!, LBN and Filename. You = can obtain more information by specifying the /FULL switch. F If the indexf.sys is present and valid then the DIRECTORY command is much quicker,: DISKBLOCK> SEARCH /HEADERa! DISKBLOCK> SEARCH /HEADER=*.RDBe( DISKBLOCK> SEARCH /HEADER=000000.DIR;1+ DISKBLOCK> SEARCH /HEADER=LOGIN.COM /FULLn /FULLL0 This switch is only valid with SEARCH /HEADER.< It produces a second line of output for each header found.@ This displays FID, Extension Segment num#-------------------HM2$R_MAX_CLASS (20 bytes)------------------->yI <----------------------------------------------------------------------hI -------------------------reserved (320 bytes)----------------------> I <----------------------------------------------------------------------I <------------------------HM2$L_SERIALNUM------------------------------>oI -------------------------HM2$T_STRUCNAME (12 bytes)------------------->aI <-------------------------------------------------------?---------------nI -------------------------HM2$T_VOLNAME (12 bytes)------------------->yI <----------------------------------------------------------------------uI -------------------------HM2$T_OWNERNAME (12 bytes)-------------------> I <----------------------------------------------------------------------cI -------------------------HM2$T_FORMAT (12 bytes)------------------->LI <----------------------------------------------------------------------I <---------HM2$W_CHECKSUM2-----%-------------------HM2$R_MAX_CLASS (20 bytes)------------------->yI <----------------------------------------------------------------------hI -------------------------reserved (320 bytes)----------------------> I <----------------------------------------------------------------------I <------------------------HM2$L_SERIALNUM------------------------------>oI -------------------------HM2$T_STRUCNAME (12 bytes)------------------->aI <-------------------------------------------------------'---------------nI -------------------------HM2$T_VOLNAME (12 bytes)------------------->yI <----------------------------------------------------------------------uI -------------------------HM2$T_OWNERNAME (12 bytes)-------------------> I <----------------------------------------------------------------------cI -------------------------HM2$T_FORMAT (12 bytes)------------------->LI <----------------------------------------------------------------------I <---------HM2$W_CHECKSUM2-----' 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useL 3 ACC_MODEL FH2$B_ACC_MODE " Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readn0 bits <2:3> write2 bits <3:4> execute1 D--> <--------reserved--------------->> 3 HOMELBNK HM2$L_HOMELBN0! Starting byte - 0w' Size - 4 bytes>= Meaning - LBN of home (i.e. this) blockc 3 ALHOMELBNr HM2$L_ALHOMELBN! Starting byte - 4X' Size - 4 bytesb; Meaning - LBN of alternate home blockk 3 ALTIDXLBNf HM2$L_ALTIDXLBN! Starting byte - 8v' Size - 4 bytesm ) 1997. All rights Reserved.I DISKBLOCK> SELECT DUA2:/OVER ; Allow writes to mounted disk-G DISKBLOCK> READ /FID=4 ; Read header for 000000.dir K DSKB-I-BLKREAD, Block 273590 (%X00042CB6) of _NODE$DUA2 successfully read-3 FID: 4 LBN 273590 [000000]000000.DIR;1-B DISKBLOCK> HELP ODS2 FILE_HEADER ; Check field for ownerC DISKBLOCK> DEPOSIT 60 %X00010004 ; CHANGE FH2$L_FILEOWNER  DISKBLOCK> rewrite /checksumC%DSKB-I-CHKCHANGED, Ch*ecksum has been changed from %XCC5D to %XCC5AHG%DSKB-I-BLKMODIF, Block 273590 (%X00042CB6) of _DINCY$DUA0 successfully-modified2 Undelete_file-J In this example a file on an ODS2 mounted disk is undeleted by patching  the file header $ RUN SYS$SYSTEM:DISKBLOCK* DISKBLOCK V5.3H Copyright (c) Digital Equipment Corp. 1991. All rights Reserved." DISKBLOCK> SELECT /OVER $1$DUA2:* DISKBLOCK> DIRECTORY MYFILE.DAT /DELETED8 FID: 6998 LBN 2+73600 [RANCE.DAT]MYFILE.DAT;1: DISKBLOCK> read /fid=6998 ! Read the file headerJ %DSKB-I-BLKREAD, Block 273600 (%X00042CC0) of _$1$DUA2 successfully readB %DSKB-W-RDBADHEADER, Invalid File Header, FID: 6998, LBN: 273600I -DSKB-E-HDRINVFID, FH2$W_FID_NUM (byte 8) is 0, could be a deleted file F DISKBLOCK> EXAM 52 ! Check current file characteristics@ DISKBLOCK> DEPOSIT 52 0 ! Clear bit 15 (FH2$V_MARKDEL)9 DISKBLOCK> DEPOSIT /WORD 8 6998 ! Write the correct FI D; DISKBLOCK> CHECKSUM /DEPOSIT ! Create a valid checksumeE %DSKB-I-CHKCHANGED, Checksum has been changed from %X5327 to %XAF622C DISKBLOCK> DUMP /FILE ! Check that file header is valid H DISKBLOCK> REWRITE ! Write file header back to INDEXF.SYSM %DSKB-I-BLKMODIF, Block 1000 (%X000003E8) of _$1$DUA2 successfully modified 8 Now you need to Dismount the disk, mount it again and 7 $ ANAL /DISK /REPAIR should put the file in [SYSLOST] ww always 1 for ODS2r -ber and Creation Date. /BLOCKSp /BLOCKS=(keyword[,...])I Using the /BLOCKS switch you can specify a starting block and an endingtF block or a count of the number of blocks to search. You can specifyD both a START block and an END block, or a START block and a COUNT,4 you may not specify both an END block and a COUNT.< The default START block is 0 for a DRIVE and 1 for a FILE.C DISKBLOCK> SEARCH /BLOCKS=START:%X40 /STRING="String to look for"y< This command will search all blo=cks starting from block 64> DISKBLOCK> SEARCH /BLOCKS=(START:64,END=80) /LONG=%XFFFFFFFF* This command will search blocks 64 to 80A DISKBLOCK> SEARCH /BLOCKS=(START=%X40, COUNT=16) /WORD=%O177777U* This command will search blocks 64 to 80. DISKBLOCK> SEARCH /BLOCKS=END:%X20 /BYTE=127A This command will search blocks 0 to 32 if a DRIVE is selected.C6 It will search blocks 1 to 32 if a file is selected. 2 Using_^T% Searching a whole drive can be slowE< (RA60=17mins, RA90=100 m/ U3 CHECKSUM/HOMEUE The checksum command now takes a /HOME qualifier which causes it to 8 check or modify BOTH of the checksums in a home block. 3 COPY/BUFFER A There is a /BUFFER qualifier to COPY_FILE which allows the mainDC read/write buffer to be the file header of the file to be copied. G This enables you to modify the header without writing the input disk.3 /FIDF This qualifier to READ and WRITE now requires the fid as a qualifierI value (e.g. READ /FID=1000) rath0er than as a parameter (READ /FID 1000)3@ This has been done to be consistent with DIR/FID and COPY/FID.2 V5.1_New_Features.6 V5.1 has two minor bug fixes and three new features. Bug_fixes D DISKBLOCK> CHECKSUM/HOME/DEPOSIT now correctly sets both checksums? DISKBLOCK> DIR /LBN=0 now correctly identifies the INDEXF.SYS  New_features DISKBLOCK> SET WRITE DISKBLOCK> SET NOWRITEB These commands enable and disable writing the selected disk/file DISKBLOCK> DIR ... /VALID_1ONLY> This qualifier causes invalid file headers to be ignored and= DIR /LBN for a single LBN will finish after a single match.4= The diskblock help library no longer has to be in SYS$HELP,D) $ DEFINE DSKB_HLB dev:[dir]filaneme.HLBu to access the help library2 V5.2_New_Features03 V5.2 has the following bug fixes and new features 9 Diskblock now works on both OpenVMS VAX and OpenVMS AXP1A DUMP /HOME has been added to display the buffer as a home blockm8 DUMP /HEADER has bee2n added as a synonym for DUMP/FILED SEARCH/HEADER is a new command to find blocks that look like validC file headers and report the LBN and filename. It is NOT the sameeG as the directory command since it does not use the INDEXF.SYS mapping " pointers to locate file headers./ EXAMINE/TIME and DEPOSIT/TIME have been addedh> COPY now propagates the file owner and protection as well as@ file characteristics and record attributes. It still does not propagate ACLs. ? DISKBLOCK =$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18P"2 Hno longer issues a SHOW command every time you do af? select. You may issue the SHOW command yourself if required.2? A memory leak has been fixed that lost TRACK_SIZE * 512 bytesA$ every time a new disk was selected@ The page length was being incorrectly handled if a string withG no line feeds (or more than one line feed) was sent to the terminal, e this has now been fixedC2 V5.3_New_Features % V5.3 has the following new featuresL> FILL command fills the read write buffer wit4 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODEB" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1 6 retrieval pointers.8 This qualifier cannot be used with the /FILE qualifier/HOMELBN< Use this qualifier to specify an alternate Home Block LBN.C DISKBLOCK will read this alternate HOMELBN, validate its contentsFE and use it to locate the Index File Header. The Index File mapping  Pointers will then be read.r8 This qualifier cannot be used with the /FILE qualifier< This qualifier cannot be used with the /INDEXLBN qualifier /INDEXLBNTC Use this qualifier to specify an alter6 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useo 3 ACC_MODEE FH2$B_ACC_MODEE" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readC0 bits <2:3> write2 bits <3:4> execute1 7nate Index File Header LBN.5C DISKBLOCK will read this LBN, validate its contents and read the t index file mapping pointers.8 This qualifier cannot be used with the /FILE qualifier8 This qualifier cannot be used with the /HOME qualifier> If you use the qualifier /INDEXLBN you must also use /FACTOR/FACTOR D If you use the /INDEXLBN qualifier then Diskblock will not read a D Home Block, this means that the cluster size and index file bitmapC size are not availab8le. You must therefor specify a FACTOR whichh8 Diskblock can use to map File IDs to Indexfile VNBs.  F This factor should be (CLUSTER_SIZE * 4) + (Index File Bitmap Size) F If you select an incorrect value then Diskblock will translate FIDs  to LBNs incorrectly./WRITE@ Select /WRITE causes DISKBLOCK to operate in READ / WRITE modeC the WRITE and REWRITE commands can be used to modify the selecteds DISK or FILE.lD Select /NOWRITE causes DISKBLOCK to operate in READ ONLY mode, theI selected disk or file can be READ or SEARCHED but the WRITE and REWRITEr commands will return an error. The default is SELECT /NOWRITE See also SET WRITE 2 ExamplesE DISKBLOCK> SELECT $2$DRA2:r1 DISKBLOCK> SELECT SYS$SYSTEM:SYSDUMP.DMP /FILE5' DISKBLOCK> SELECT $2$DUS0: /OVERRIDEg& DISKBLOCK> SELECT DISK$USER2 /NOMAP. DISKBLOCK> SELECT MYNODE$DUA1: /HOMELBN=nnn3 DISKBLOCK> SELECT DRA3: /INDEXLBN=nnn /FACTOR=85ewwhome block 8 DUMP /HEADER has beeB 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in usei 3 ACC_MODE  FH2$B_ACC_MODEi" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readl0 bits <2:3> write2 bits <3:4> execute1 ;e is e effectively random./2 The safest way to carry out write testing is to  Create a large file.i( Run diskblock and select that file.) Test within the blocks of that file.c- Delete / Erase the file on completion. pH This last step is essential if the device under test is a member of a K shadow set as you will otherwise leave the shadow set in an inconsistent w state.I To show that you have read this part of the help file you must specify CK the qualifier /CKORRUPT=DATA when you specify any value other than 100 fore /READPERCENT.s See also /WRITEPERCENT /WRITEPERCENT /WRITEPERCENT=percentagexK This parameter is a convenient shortcut for specifying a 100% write test. DISKBLOCK> TEST /WRITE  is equivalent to DISKBLOCK> TEST /READPERCENT=0J Please read the warnings under /READPERCENT before using this qualifier./CORRUPT /CORRUPT=DATAE This qualifier is included as the severest possible warning of the a? consequences o= 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in usei 3 ACC_MODE  FH2$B_ACC_MODEi" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readl0 bits <2:3> write2 bits <3:4> execute1 >ins if there is no other activity)> To check on progress you may type ^T (Control T) at any time> during a search. This will cause a line to be output showing, the last blocks read and the current time. For Example:# DISKBLOCK> SEARCH /STRING="Ascii"bC %DSKB-I-SEARCHING, Searching blocks 0 - nn for string "Ascii"....O9 %DSKB-I-CONTROL_T, Just checked block 10008 at 18:07:43L 2 ExamplesC DISKBLOCK> SEARCH /BLOCKS=START:%X40 /STRING="String to look for"eI This command will sear Pch all blocks starting from block 64 for the texti> DISKBLOCK> SEARCH /BLOCKS=(START:64,END=80) /LONG=%XFFFFFFFFB This command will search blocks 64 to 80 for an all 1's longwordA DISKBLOCK> SEARCH /BLOCKS=(START=%X40, COUNT=16) /WORD=%O177777a> This command will search blocks 64 to 80 for an all 1's word. DISKBLOCK> SEARCH /BLOCKS=END:%X20 /BYTE=127G This command will search blocks 0 to 32 of a DISK for an all 1's byteC6 It will search blocks 1 to 32 if a FILE is selected.F DI@--> <--------reserved--------------->> 3 HOMELBNK HM2$L_HOMELBN0! Starting byte - 0w' Size - 4 bytes>= Meaning - LBN of home (i.e. this) blockc 3 ALHOMELBNr HM2$L_ALHOMELBN! Starting byte - 4X' Size - 4 bytesb; Meaning - LBN of alternate home blockk 3 ALTIDXLBNf HM2$L_ALTIDXLBN! Starting byte - 8v' Size - 4 bytesmBB Meaning - LBN of alternate index file header 3 STRUCLEV HM2$W_STRUCLEV" Starting byte - 12' Size - 2 byteso6 Meaning - volume structure level6 always %X0201 for ODS2 3 STRUCVER HM2$B_STRUCVER" Starting byte - 12& Size - 1 byte8 Meaning - structure version number1 always 1 for ODS2rF 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODES" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2 bits <3:4> execute1 C 3 STRUCLEV_B HM2$B_STRUCLEV" Starting byte - 13& Size - 1 byte4 Meaning - main structure level1 always 2 for ODS2K 3 CLUSTER4 HM2$W_CLUSTERD" Starting byte - 14' Size - 2 bytes= Meaning - storage bitmap cluster factorw 3 HOMEVBNo HM2$W_HOMEVBND" Starting byte - 16' Size - 2 bytese= MeaninnY$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"CQg - VBN of home (i.e. this) blockh 3 ALHOMEVBN  HM2$W_ALHOMEVBNe" Starting byte - 18' Size - 2 bytes ; Meaning - VBN of alternate home block 3 ALTIDXVBNi HM2$W_ALTIDXVBN " Starting byte - 20' Size - 2 bytes B Meaning - VBN of alternate index file header 3 IBMAPVBN HM2$W_IBMAPVBN" Starting byte - 22' Size EB Meaning - LBN of alternate index file header 3 STRUCLEV HM2$W_STRUCLEV" Starting byte - 12' Size - 2 bytes 6 Meaning - volume structure level6 always %X0201 for ODS2 3 STRUCVER HM2$B_STRUCVER" Starting byte - 12& Size - 1 byte8 Meaning - structure version number1 always 1 for ODS2oF 3 STRUCLEV_B HM2$B_STRUCLEV" Starting byte - 13& Size - 1 byte4 Meaning - main structure level1 always 2 for ODS2 3 CLUSTER: HM2$W_CLUSTERS" Starting byte - 14' Size - 2 bytesn= Meaning - storage bitmap cluster factort 3 HOMEVBN HM2$W_HOMEVBNK" Starting byte - 16' Size - 2 bytesd= MeaninGg - VBN of home (i.e. this) block 3 ALHOMEVBNA HM2$W_ALHOMEVBN6" Starting byte - 18' Size - 2 bytes ; Meaning - VBN of alternate home blockC 3 ALTIDXVBN% HM2$W_ALTIDXVBNm" Starting byte - 20' Size - 2 bytesBB Meaning - VBN of alternate index file header 3 IBMAPVBN HM2$W_IBMAPVBN" Starting byte - 22' Size R- 2 bytes 8 Meaning - VBN of index file bitmap 3 IBMAPLBN HM2$L_IBMAPLBN" Starting byte - 24' Size - 4 bytese8 Meaning - LBN of index file bitmap 3 MAXFILES HM2$L_MAXFILES" Starting byte - 28' Size - 4 bytesEA Meaning - maximum number of files on volume0 3 IBMAPSIZES HM2$W_IBMAPSIZE " Starting byte - 32' Size Ih a data patternD Many new qualifiers to the Directory command allow file selections to be made.b8 /SELECT=SIZE finds files above or below a certain size/ /BY_OWNER finds files with a particular ownerr# /DELETED finds ONLY deleted files$0 /BACKFID finds files in a particular directory8 /BEFORE /SINCE /BACKUP /CREATED /EXPIRED and /MODIFIED< allow selection of files based on dates in the file header2 V5.4_New_Featuresr4 V5.4 has the following new features and bug fixes. JC DIRECTORY /PLACEMENT finds files with placement mapping pointersmG SAVE and RESTORE now use the /BLOCKS=(START,END,COUNT) qualifier to iH save and restore any contiguous range of blocks on the selected disk or file. G DUMP can now use the /BLOCK and /FID qualifiers to dump a formatted F block from the disk without having to overwrite the main read write buffer.E SEARCH /HEADER has a new switch /FULL which gives a second line ofbF information for each header fouSnd showing Extension Segment number, Creation Date and FID.OI Improvements have been made to the handling of disk read errors duringI DIRECTORY commands.L The default for a SELECT command has been changed from /WRITE to /NOWRITEI A potential hang caused by the use of the same Event flag at both AST 8% and process levels has been fixed.H An access violation during Examine commands on Alpha systems has been fixed. H Incorrect numeric and UIC displays from dump coLf using DISKBLOCK to do write testing on disks.eG DISKBLOCK will only allow you to do write testing if you also includen the qualifier /CORRUPT=DATA. For example.../ DISKBLOCK> TEST /READPERCENT=99 /CORRUPT=DATAD 2 Example  ( To test the read performance of a disk$ DISKBLOCK> select disk$user: /overD DISKBLOCK> test /iosize=5 /queue=20 /readpercent=100 /duration=300 9 About to start testing with the following parameters...h* Device: _$3$DRA0:U, Test Duration: 300 Seconds& Read/Write Ratio: 100:07 Queue Length: 20 (Asynchronous I/Os) " I/O Size: 5" Start Block: 0) End Block: 41891839 ' Seeks: Randomf) Data Compare: Disabledh* Do you want to continue? : yes Total I/Os completed: 8132e$ Run time: 299 Seconds I/Os per second: 428.0 mS perNor equal to nnnC= DISKBLOCK> DIRECTORY /SELECT=SIZE=(MINIMUM=nnn,MAXIMUM=mmm)o@ Only report files with a size greater than or equal to nnn AND less than or equal to mmm /BY_OWNER> /BY_OWNER=UICG The /BY_OWNER qualifier enables you to find files owned by a specific > UIC or rights identifier. Wild card UICs are not supported.( DISKBLOCK> DIRECTORY /BY_OWNER=[23,45]( DISKBLOCK> DIRECTORY /BY_OWNER=[RANCE]- DISKBLOCK> DIRECTORY /BY_OWNER=[USER,RANCE] ( DISKBLOCK> DIRECTORY /OBY_OWNER=PROJECT/DELETEDK The /DELETED qualifier can be used to locate the headers of DELETED filesgI on the disk. If you use this qualifier then ONLY deleted files will beH reported, and the error message saying that this may be a deleted file will be suppressed DISKBLOCK> DIRECTORY /DELETEDa- DISKBLOCK> DIRECTORY /BACKLINK=nnn /DELETEDn* DISKBLOCK> DIRECTORY VITAL.FILE /DELETED/BACKFIDG Only reports files with a particular FID in the file header BACK FID.4G The BACK FVID is the file id of the directory to which the file headers is pointing= The file id of a directory file can be found by DUMP/HEADERbB of the directory file (either from DCL or from within DISKBLOCK)J This qualifier can be used to locate all files in a particular directoryJ It can be particularly useful in conjunction with the /DELETED qualifier= to locate all files that have been DELETED from a directoryt- DISKBLOCK> DIRECTORY /BACKLINK=nnn /DELETEDa /PLACEMENTH Only repSKBLOCK> SEARCH /STRING=INDEXF.SYS /OUTPUT=sys$scratch:indexf.listD This command will search the entire drive/file for the text stringC INDEXF.SYS It will create a file with the details of all matches.oww qualifiers with the /SINCE qualifierF to indicate the time attribute to be used as the basis for selection, /BACKUP /CREATED /EXPIRED or /MODIFIED! The time should be specified ass /SINCE=01-jan-1990 /SINCE=01-JAN-1990M /SINCE="01-JAN-1990 03:42:00.00" <-- NOTE: MUSTW- 2 bytesa8 Meaning - VBN of index file bitmap 3 IBMAPLBN HM2$L_IBMAPLBN" Starting byte - 24' Size - 4 bytesR8 Meaning - LBN of index file bitmap 3 MAXFILES HM2$L_MAXFILES" Starting byte - 28' Size - 4 bytes A Meaning - maximum number of files on volumeA 3 IBMAPSIZE. HM2$W_IBMAPSIZES" Starting byte - 32' Size _ - 2 bytesf> Meaning - index file bitmap size, blocks 3 RESFILES HM2$W_RESFILES" Starting byte - 34' Size - 2 bytesB Meaning - number of reserved files on volume 3 DEVTYPE  HM2$W_DEVTYPEs" Starting byte - 36' Size - 2 bytesp0 Meaning - disk device type3 RVNR HM2$W_RVNe" Starting byte - 38' Size Tmmands have been fixed2 V5.5_New_Features J The copy command now copies ACLs as well as other file characteristics.G The copy command now uses the filename from the input file header asyH the default output file name. The default output directory is still  SYS$SCRATCH;ME A problem which caused incorrect display of some data values from @ the dump command on OpenVMS Alpha systems has been corrected.C A problem which caused incorrect display of data values from the F nW$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18-"T X EXAMINE /OCTAL command on OpenVMS Alpha systems has been corrected.2 V5.6_New_FeaturessF TEST command performs I/O performance testing, with user selectableH queue length, I/O size, etc. You must read the warnings in this help& file before using the test command.J READ /SCB qualifier finds and reads the Storage Control Block of a diskJ DUMP /SCB dumps the current buffer formatted as a Storage Control BlockD Support for ODS5 format disks has been added. Type HELP ODS5 for I/O: 2.31 Throughput: 1070.0 KBytes per secondI DISKBLOCK> bwwto the handling of disk read errors duringg DIRECTORY commands.L The default for a SELECT command has been changed from /WRITE to /NOWRITEI A potential hang caused by the use of the same Event flag at both AST % and process levels has been fixed. H An access violation during Examine commands on Alpha systems has been fixed. H Incorrect numeric and UIC displays from dump coYorts files which have placement information specified in their mapping pointers. s /SINCE /SINCE=time: Selects only those files dated after the specified time.L You must specify one of the following qualifiers with the /SINCE qualifierF to indicate the time attribute to be used as the basis for selection, /BACKUP /CREATED /EXPIRED or /MODIFIED! The time should be specified ass /SINCE=01-jan-1990 /SINCE=01-JAN-1990M /SINCE="01-JAN-1990 03:42:00.00" <-- NOTE: MUST] - 2 bytesf> Meaning - index file bitmap size, blocks 3 RESFILES HM2$W_RESFILES" Starting byte - 34' Size - 2 bytesB Meaning - number of reserved files on volume 3 DEVTYPE  HM2$W_DEVTYPEs" Starting byte - 36' Size - 2 bytesp0 Meaning - disk device type3 RVNR HM2$W_RVNe" Starting byte - 38' Size ? details of what ODS5 features are available within DISKBLOCK C A problem which caused the dots to be missing from the directoryr. part of displayed filenames has been fixed.ww 1l; Meaning - verify all write operations 4 ERASEh HM2$V_ERASE" Starting byte - 42! Bit number - 29 Meaning - erase all files on deleteT 4 NOHIGHWATERR HM2$V_NOHIGHWATERp" Starting byte - 42! BiZ BE UPPER CASE and QUOTED /BEFOREn /BEFORE=time ; Selects only those files dated before the specified time.$M You must specify one of the following qualifiers with the /BEFORE qualifier F to indicate the time attribute to be used as the basis for selection, /BACKUP /CREATED /EXPIRED or /MODIFIED! The time should be specified as  /BEFORE=01-jan-1990e /BEFORE=01-JAN-1990 N /BEFORE="01-JAN-1990 03:42:00.00" <-- NOTE: MUST BE UPPER CASE and QUOTED 8/BACKUP B Mo [difies the time value specified with the /BEFORE or the /SINCEA qualifier. The /BACKUP qualifier selects files according to the D dates of their most recent backups. This qualifier is incompatibleC with the following qualifiers that also allow you to select files B according to time attributes: /CREATED, /EXPIRED, and /MODIFIED./CREATEDB Modifies the time value specified with the /BEFORE or the /SINCE@ qualifier. The /CREATED qualifier selects files based on their< dates of creation. \ This qualifier is incompatible with theD following qualifiers that also allow you to select files according7 to time attributes: /BACKUP, /EXPIRED, and /MODIFIED. /EXPIREDB Modifies the time value specified with the /BEFORE or the /SINCED qualifier. The /EXPIRED qualifier selects files according to theirA expiration dates. (The expiration date is set with the SET FILErC /EXPIRATION_DATE command.) The /EXPIRED qualifier is incompatibleSC with the following qualifiers that also allow byou to select filest7 to time attributes: /BACKUP, /CREATED, and /MODIFIED.o /MODIFIEDuB Modifies the time value specified with the /BEFORE or the /SINCE? qualifier. The /MODIFIED qualifier selects files according too? the dates on which they were last modified. This qualifier is C incompatible with the following qualifiers that also allow you to C select files according to time attributes: /BACKUP, /CREATED, and /EXPIRED.s/FULL L Outputs a formatted dump of the file header fo^ - 2 bytesaE Meaning - relative volume number of this volumel 3 SETCOUNT HM2$W_SETCOUNT" Starting byte - 40' Size - 2 bytes 7 Meaning - count of volumes in sete 3 VOLCHARl HM2$W_VOLCHARe" Starting byte - 42' Size - 2 bytese6 Meaning - volume characteristics 4 READCHECKm HM2$V_READCHECKe" Starting byte - 42!j Bit number - 0t: Meaning - verify all read operations 4 WRITCHECKt HM2$V_WRITCHECK " Starting byte - 42! Bit number - 1l; Meaning - verify all write operations 4 ERASEh HM2$V_ERASE " Starting byte - 42! Bit number - 29 Meaning - erase all files on deleteT 4 NOHIGHWATERR HM2$V_NOHIGHWATERp" Starting byte - 42! Bi` - 2 bytesaE Meaning - relative volume number of this volumel 3 SETCOUNT HM2$W_SETCOUNT" Starting byte - 40' Size - 2 bytes 7 Meaning - count of volumes in sete 3 VOLCHARl HM2$W_VOLCHARe" Starting byte - 42' Size - 2 bytese6 Meaning - volume characteristics 4 READCHECKm HM2$V_READCHECKe" Starting byte - 42!a Bit number - 0t: Meaning - verify all read operations 4 WRITCHECKt HM2$V_WRITCHECK " Starting byte - 42! Bit number - 1l; Meaning - verify all write operations 4 ERASEh HM2$V_ERASE " Starting byte - 42! Bit number - 29 Meaning - erase all files on deleteT 4 NOHIGHWATERR HM2$V_NOHIGHWATERp" Starting byte - 42! Biet number - 3; Meaning - turn off high-water marking0 4 CLASS_PROT HM2$V_CLASS_PROT" Starting byte - 42! Bit number - 4P< Meaning - enable classification checks 3 VOLOWNER HM2$L_VOLOWNER" Starting byte - 44' Size - 4 bytes:0 Meaning - volume owner UIC 3 SEC_MASK HM2$L_SEC_MASK" Starting byte - 48' Size dr each matching file found 2 Examples! DISKBLOCK> DIR IMPORTANT*.*FILE D FID: 2045 LBN: 1023456 [DIR.SUBDIR]IMPORTANT_3.ANY_FILE;1H FID: 31927 LBN: 2220459 [DIR.SUB.SUB]IMPORTANT.ANOTHER_FILE;14 DISKBLOCK> DIR *.* /OUTPUTE %DSKB-I-CREATED, Created file DISK$USERS3:[RANCE.TEMP]DISKBLOCK.LIS G %DSKB-I-LASTFID, Just read FID 2883 at 16:23:08 <-- Control T typed  DISKBLOCK>  DISKBLOCK> DIR /FID=2045D FID: 2045 LBN: 1023456 [DIR.SUBDIR]IMPORTANT_3.d& DISKBLOCK> DIR /LBN=(1000,1200,5000), DISKBLOCK> DIR /LBN=1000 /COUNT=500 /VALIDF This command will locate file headers that map any LBNs in the rangeF 1000, 1001, 1002, ... 1498, 1499. It will continue scanning to the G end of INDEXF.SYS even after all matches have been found and multiply G allocated blocks will be reported against all valid headers. InvalidA or deleted headers which map any of these LBNs will be ingored. = DISKBLOCK> DIRECTORY /LBN=(1000,2000,3000) /COUNT=iANY_FILE;1 DISKBLOCK> DIR /LBN=10008 FID: 7671 LBN: 370067 [RANCE.SUBDIR]FILE.EXT;2D %DSKB-W-RDBADHEADER, Invalid File Header, FID: 15499, LBN: 1203844I -DSKB-E-HDRINVFID, FH2$W_FID_NUM (byte 8) is 0, could be a deleted file 9 FID: 15499 LBN: 1203844 [RANCE]DELETED_FILE.TMP;1 ! DISKBLOCK> DIR /LBN=1000 /VALID 8 FID: 7671 LBN: 370067 [RANCE.SUBDIR]FILE.EXT;2 DISKBLOCK> DIR /BACKLINK=2301t1 FID: 7671 LBN: 370067 [RANCE]FILE.EXT;2_D %DSKB-W-RDBADH\g)$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"ef - 4 bytes>4 Meaning - volume security mask 3 PROTECTE HM2$W_PROTECTD" Starting byte - 52' Size - 2 bytes,6 Meaning - volume protection code4 bits <0:3> System3 bits <4:7> Owner 3 bits <8:11> GroupI3 bits <12:15> World  Within each 4 bit field 7 h bit 0 Set to deny read access:8 bit 1 Set to deny write access: bit 2 Set to deny execute access9 bit 3 Set to deny delete accessF 3 FILEPROT HM2$W_FILEPROT" Starting byte - 54' Size - 2 bytes 7 Meaning - default file protectionK2 not currently used 3 RECPROT HM2$W_RECPROTL" Starting byte - h& DISKBLOCK> DIR /LBN=(1000,1200,5000), DISKBLOCK> DIR /LBN=1000 /COUNT=500 /VALIDF This command will locate file headers that map any LBNs in the rangeF 1000, 1001, 1002, ... 1498, 1499. It will continue scanning to the G end of INDEXF.SYS even after all matches have been found and multiply G allocated blocks will be reported against all valid headers. Invalid A or deleted headers which map any of these LBNs will be ingored.r= DISKBLOCK> DIRECTORY /LBN=(1000,2000,3000) /COUNT=n56' Size - 2 bytesl> Meaning - default file record protection2 not currently used 3 CHECKSUM10 HM2$W_CHECKSUM16" Starting byte - 58' Size - 2 bytes . Meaning - first checksumG Use DISKBLOCK> CHECKSUM/HOME command to C calculate a new checksum if needed.d 3 CREDATEh HM2$Q_CREDATEt" Starti oEADER, Invalid File Header, FID: 15499, LBN: 1203844I -DSKB-E-HDRINVFID, FH2$W_FID_NUM (byte 8) is 0, could be a deleted filed1 FID: 15499 LBN: 1203844 [RANCE]FILE.EXT;1 1 FID: 20111 LBN: 370067 [RANCE]FILE.EXT;4 1 FID: 108520 LBN: 2045192 [RANCE]FILE.EXT;3w( DISKBLOCK> DIR /BACKLINK=2301 /DELETED1 FID: 15499 LBN: 1203844 [RANCE]FILE.EXT;1 C DISKBLOCK> DIR /VALID /BACKLINK=2301 /MODIFIED /SINCE=01-JAN-19931 FID: 20111 LBN: 370067 [RANCE]FILE.EXT;4 kt number - 3; Meaning - turn off high-water marking0 4 CLASS_PROT HM2$V_CLASS_PROT" Starting byte - 42! Bit number - 4P< Meaning - enable classification checks 3 VOLOWNER HM2$L_VOLOWNER" Starting byte - 44' Size - 4 bytes:0 Meaning - volume owner UIC 3 SEC_MASK HM2$L_SEC_MASK" Starting byte - 48' Size l - 4 bytes>4 Meaning - volume security mask 3 PROTECTE HM2$W_PROTECTD" Starting byte - 52' Size - 2 bytes,6 Meaning - volume protection code4 bits <0:3> System3 bits <4:7> Owner 3 bits <8:11> GroupI3 bits <12:15> World  Within each 4 bit field 7 r bit 0 Set to deny read access:8 bit 1 Set to deny write access: bit 2 Set to deny execute access9 bit 3 Set to deny delete accessF 3 FILEPROT HM2$W_FILEPROT" Starting byte - 54' Size - 2 bytes 7 Meaning - default file protectionK2 not currently used 3 RECPROT HM2$W_RECPROTL" Starting byte - t& DISKBLOCK> DIR /LBN=(1000,1200,5000), DISKBLOCK> DIR /LBN=1000 /COUNT=500 /VALIDF This command will locate file headers that map any LBNs in the rangeF 1000, 1001, 1002, ... 1498, 1499. It will continue scanning to the G end of INDEXF.SYS even after all matches have been found and multiplyrG allocated blocks will be reported against all valid headers. InvalidA or deleted headers which map any of these LBNs will be ingored./= DISKBLOCK> DIRECTORY /LBN=(1000,2000,3000) /COUNT=vng byte - 60' Size - 8 bytesr= Meaning - Quadword Volume Creation date 3 WINDOW HM2$B_WINDOW" Starting byte - 68& Size - 1 byte3 Meaning - default window size 3 LRU_LIM  HM2$B_LRU_LIMn" Starting byte - 69& Size - 1 byte1 Meaning - default LRU limitaE (number of directories in di p& DISKBLOCK> DIR /LBN=(1000,1200,5000), DISKBLOCK> DIR /LBN=1000 /COUNT=500 /VALIDF This command will locate file headers that map any LBNs in the rangeF 1000, 1001, 1002, ... 1498, 1499. It will continue scanning to the G end of INDEXF.SYS even after all matches have been found and multiply G allocated blocks will be reported against all valid headers. Invalid A or deleted headers which map any of these LBNs will be ingored.t= DISKBLOCK> DIRECTORY /LBN=(1000,2000,3000) /COUNT= q(10,10,5) J This command will locate file headers that MAP any of the following LBNs< 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009< 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009$ 3000, 3001, 3002, 3003, 3004, 3004B If any of these LBNs is mapped by multiple file headers then allH file names will be reported, even if one or more of them is a DELETED G or INVALID file header. The filenames will be reported in FID order G and the command will not finish until ALL file headers in INDEXF.SYS  have been checked.ww - 20 bytes 3 SERIALNUM  HM2$L_SERIALNUM-# Starting byte - 456-' Size - 4 bytes-: Meaning - pack (media) serial number 3 STRUCNAMEt HM2$T_STRUCNAMEr# Starting byte - 460-( Size - 12 bytesI Meaning - Name of the volume set (from MOUNT /BIND)y@ (padded with spas56' Size - 2 bytesM> Meaning - default file record protection2 not currently used 3 CHECKSUM1 HM2$W_CHECKSUM1 " Starting byte - 58' Size - 2 bytesM. Meaning - first checksumG Use DISKBLOCK> CHECKSUM/HOME command toeC calculate a new checksum if needed.2 3 CREDATET HM2$Q_CREDATE" Startitng byte - 60' Size - 8 bytess= Meaning - Quadword Volume Creation datet3 WINDOW HM2$B_WINDOW" Starting byte - 68& Size - 1 byte3 Meaning - default window size 3 LRU_LIM  HM2$B_LRU_LIMI" Starting byte - 69& Size - 1 byte1 Meaning - default LRU limitrE (number of directories in diur access cache) 3 EXTEND HM2$W_EXTEND" Starting byte - 70' Size - 2 bytes43 Meaning - default file extend0 3 RETAINMIN  HM2$Q_RETAINMIN0" Starting byte - 72' Size - 8 bytesbE Meaning - minimum time between current time andf0 file expiration. 3 RETAINMAXT HM2$Q_RETAINMAXe" Starting byte - 80' Size z- 8 bytesaE Meaning - maximum time between current time and 0 file expiration. 3 REVDATEM HM2$Q_REVDATEt" Starting byte - 88' Size - 8 bytes 4 Meaning - Volume revision date? (e.g. date of last full backup) 3 MIN_CLASS  HM2$R_MIN_CLASS " Starting byte - 96( Size - 20 bytes 3 MAX_CLASSl HM2$R_MAlL$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"^"vwr access cache)b3 EXTEND HM2$W_EXTEND" Starting byte - 70' Size - 2 bytes 3 Meaning - default file extendB 3 RETAINMIN HM2$Q_RETAINMINF" Starting byte - 72' Size - 8 bytesSE Meaning - minimum time between current time andh0 file expiration. 3 RETAINMAX  HM2$Q_RETAINMAXT" Starting byte - 80' Size x- 8 bytesmE Meaning - maximum time between current time and 0 file expiration. 3 REVDATE  HM2$Q_REVDATE " Starting byte - 88' Size - 8 bytes 4 Meaning - Volume revision date? (e.g. date of last full backup)F 3 MIN_CLASSa HM2$R_MIN_CLASSe" Starting byte - 96( Size - 20 bytes 3 MAX_CLASS$ HM2$R_MAyX_CLASSB# Starting byte - 116B( Size - 20 bytes 3 SERIALNUM- HM2$L_SERIALNUM-# Starting byte - 456-' Size - 4 bytes-: Meaning - pack (media) serial number 3 STRUCNAMER HM2$T_STRUCNAMEM# Starting byte - 460W( Size - 12 bytesI Meaning - Name of the volume set (from MOUNT /BIND)-@ (padded with spa|ces, ASCII %X20) 3 VOLNAME- HM2$T_VOLNAME-# Starting byte - 472 ( Size - 12 bytes+ Meaning - Volume name2@ (padded with spaces, ASCII %X20) 3 OWNERNAME  HM2$T_OWNERNAME # Starting byte - 484 ( Size - 12 bytes, Meaning - Volume Owner@ (padded with spaces, ASCII %X20)3 FORMAT HM2$T_FORMAT# Starting{X_CLASS# Starting byte - 116S( Size - 20 bytes 3 SERIALNUMI HM2$L_SERIALNUM # Starting byte - 456q' Size - 4 bytes$: Meaning - pack (media) serial number 3 STRUCNAME$ HM2$T_STRUCNAMEl# Starting byte - 460 ( Size - 12 bytesI Meaning - Name of the volume set (from MOUNT /BIND) @ (padded with spaces, ASCII %X20) 3 VOLNAME  HM2$T_VOLNAMES# Starting byte - 472 ( Size - 12 bytes+ Meaning - Volume name@ (padded with spaces, ASCII %X20) 3 OWNERNAMEe HM2$T_OWNERNAMEc# Starting byte - 484)( Size - 12 bytes, Meaning - Volume Owner@ (padded with spaces, ASCII %X20)3 FORMAT HM2$T_FORMAT# Starting} byte - 496-( Size - 12 bytes. Meaning - "DECFILE11B " 3 CHECKSUM2- HM2$W_CHECKSUM2(# Starting byte - 510-' Size - 2 bytes-/ Meaning - second checksum B Use DISKBLOCK> CHECKSUM command toC calculate a new checksum if needed. 2 File_Header H In order for an ODS2 file header to be valid the following condi~tions  must be met.; 1) FH2$B_IDOFFSET must point to a byte which is beyonda FH2$L_HIGHWATER2G 2) FH2$B_IDOFFSET must be less than or equal to FH2$B_MPOFFSET G 3) FH2$B_MPOFFSET must be less than or equal to FH2$B_ACOFFSET G 4) FH2$B_ACOFFSET must be less than or equal to FH2$B_RSOFFSET @ 5) The high byte of FH2$W_STRUCLEV must contain the value 2; 6) The low byte of FH2$W_STRUCLEV must be 1 or greater 1 7) FH2$W_FID_NUM must contain the FID number 5 8) FH2$W_MAP_INUSE must be less than or equal toA' FH2$B_ACOFFSET - FH2$B_MPOFFSETE# 9) The Checksum must be valid. E A deleted file header conforms to the format of a valid file headera! with the following differences. 7 1) FH2$V_MARKDEL (bit 15) is set in FH2$L_FILECHAR @ 2) FH2$W_FID_NUM, FH2$B_FID_NMX and FH2$B_FID_RVN are all 0 3) The checksum is 0 ' The layout of an ODS2 File Header is. I FH2$B_RSOFFSET  FH2$B_ACOFFSET FH2$B_MPOFFSET FH2$B_IDOFFSET I <--------FH2$W_STRUCLEV---------> <---------FH2$W_SEG_NUM--------->dI <--------FH2$W_FID_SEQ----------> <---------FH2$W_FID_NUM--------->RH <--------FH2$W_EX_FIDNUM--------> FH2$B_FID_NMX FH2$B_FID_RVNI FH2$B_EX_FIDNMX FH2$B_EX_FIDRVN <--------FH2$W_EX_FIDSEQ--------> I <--------------------------------------------------------------------->CI <------------------------FH2$W_RECATTR (32 bytes)------------------- byte - 496$( Size - 12 bytes. Meaning - "DECFILE11B " 3 CHECKSUM2  HM2$W_CHECKSUM2F# Starting byte - 510_' Size - 2 bytesI/ Meaning - second checksumNB Use DISKBLOCK> CHECKSUM command toC calculate a new checksum if needed.- 2 File_Header H In order for an ODS2 file header to be valid the following conditions  must be met.; 1) FH2$B_IDOFFSET must point to a byte which is beyond- FH2$L_HIGHWATER2G 2) FH2$B_IDOFFSET must be less than or equal to FH2$B_MPOFFSET -G 3) FH2$B_MPOFFSET must be less than or equal to FH2$B_ACOFFSET _G 4) FH2$B_ACOFFSET must be less than or equal to FH2$B_RSOFFSET -@ 5) The high byte of FH2$W_STRUCLEV must contain the value 2; 6) The low byte of FH2$W_STRUCLEV must be 1 or greater-1 7) FH2$W_FID_NUM must contain the FID number-5 8) FH2$W_MAP_INUSE must be less than or equal to-' FH2$B_ACOFFSET - FH2$B_MPOFFSET-# 9) The Checksum must be valid.s E A deleted file header conforms to the format of a valid file header-! with the following differences.e7 1) FH2$V_MARKDEL (bit 15) is set in FH2$L_FILECHAR-@ 2) FH2$W_FID_NUM, FH2$B_FID_NMX and FH2$B_FID_RVN are all 0 3) The checksum is 0 ' The layout of an ODS2 File Header is. I FH2$B_RSOFFSET --> I <---------------------------------------------------------------------> I <------------------------FH2$L_FILECHAR------------------------------->tI <--------FH2$W_BK_FIDNUM--------> <--------FH2$W_FILEPROT--------->iI FH2$B_BK_FIDNMX FH2$B_BK_FIDRVN <--------FH2$W_BK_FIDSEQ--------> H <-------reserved (2 bytes)-----> FH2$B_RU_ACTIVE FH2$B_JOURNALI <------------------------FH2$L_HIGHWATER------------------------------> I <------------------------reserved (8 bytes)-------------------------->I <------------------------reserved------------------------------------->I <------------------------FH2$R_CLASS_PROT (20 bytes)----------------->QI <--------------------------------------------------------------------->e3 Ident, Map, ACL and Reserved areasr! <--------FH2$W_CHECKSUM-------> 3 IDOFFSET  FH2$B_IDOFFSET ! Starting byte - 0e& Size - 1 byte: Meaning - ident area offset in wordsH Multiply by 2 to find address of ID area 3 MPOFFSET  FH2$B_MPOFFSETy! Starting byte - 1 & Size - 1 byte8 Meaning - map area offset in wordsI Multiply by 2 to find address of MAP areao 3 ACOFFSETr FH2$B_ACOFFSETT! Starting byte - 2 & Size - 1 byteC Meaning - access control list offset FH2$B_ACOFFSET FH2$B_MPOFFSET FH2$B_IDOFFSETbI <--------FH2$W_STRUCLEV---------> <---------FH2$W_SEG_NUM--------->aI <--------FH2$W_FID_SEQ----------> <---------FH2$W_FID_NUM--------->aH <--------FH2$W_EX_FIDNUM--------> FH2$B_FID_NMX FH2$B_FID_RVNI FH2$B_EX_FIDNMX FH2$B_EX_FIDRVN <--------FH2$W_EX_FIDSEQ-------->2I <---------------------------------------------------------------------> I <------------------------FH2$W_RECATTR (32 bytes)-------------------n$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18"--> I <--------------------------------------------------------------------->LI <------------------------FH2$L_FILECHAR-------------------------------> I <--------FH2$W_BK_FIDNUM--------> <--------FH2$W_FILEPROT---------> I FH2$B_BK_FIDNMX FH2$B_BK_FIDRVN <--------FH2$W_BK_FIDSEQ--------> H <-------reserved (2 bytes)-----> FH2$B_RU_ACTIVE FH2$B_JOURNALI <------------------------FH2$L_HIGHWATER------------------------------>aI <------------------------reserved (8 bytes) --------------------------> I <------------------------reserved------------------------------------->eI <------------------------FH2$R_CLASS_PROT (20 bytes)----------------->I <--------------------------------------------------------------------->S3 Ident, Map, ACL and Reserved areas ! <--------FH2$W_CHECKSUM-------> 3 IDOFFSET  FH2$B_IDOFFSETm! Starting byte - 0t& Size - 1 byte: Meaning - ident area offset in wordsH Multiply by 2 to find address of ID area 3 MPOFFSETo FH2$B_MPOFFSET_! Starting byte - 1 & Size - 1 byte8 Meaning - map area offset in wordsI Multiply by 2 to find address of MAP areao 3 ACOFFSETD FH2$B_ACOFFSETS! Starting byte - 2S& Size - 1 byteC Meaning - access control list offset in wordsiI Multiply by 2 to find address of ACL areae 3 RSOFFSET_ FH2$B_RSOFFSET_! Starting byte - 3 & Size - 1 byte= Meaning - reserved area offset in words N Multiply by 2 to find address of RESERVED area 3 SEG_NUM FH2$W_SEG_NUM! Starting byte - 4x& Size - 2 byte3 Meaning - file segment number D segment number 0 is the first headerE segment number 1 is the second headerN$ etc. 3 STRUCLEV_ FH2$W_STRUCLEV ! Starting byte - 6 & Size - 2 byte4 Meaning - file structure level7 normally 20001 for ODS2 3 STRUCVERS FH2$B_STRUCVER ! Starting byte - 6 & Size -  1 byte6 Meaning - file structure version* 2 for ODS2 3 STRUCLEV_B  FH2$B_STRUCLEVa! Starting byte - 7t& Size - 1 byte> Meaning - principal file structure level4 currently 1 for ODS23 FID FH2$W_FID! Starting byte - 8S' Size - 6 bytesm8 Meaning - File Identifier, 3 words 3  in wordsI Multiply by 2 to find address of ACL area 3 RSOFFSETe FH2$B_RSOFFSET ! Starting byte - 3D& Size - 1 byte= Meaning - reserved area offset in wordsMN Multiply by 2 to find address of RESERVED area 3 SEG_NUM FH2$W_SEG_NUM! Starting byte - 4 & Size - 2 byte3 Meaning - file segment numberaD segment number 0 is the first headerE segment number 1 is the second header $ etc. 3 STRUCLEVX FH2$W_STRUCLEV! Starting byte - 6& Size - 2 byte4 Meaning - file structure level7 normally 20001 for ODS2t 3 STRUCVER  FH2$B_STRUCVER ! Starting byte - 6 & Size -  1 byte6 Meaning - file structure version* 2 for ODS2 3 STRUCLEV_BN FH2$B_STRUCLEVe! Starting byte - 7 & Size - 1 byte> Meaning - principal file structure level4 currently 1 for ODS23 FID FH2$W_FID! Starting byte - 8 ' Size - 6 bytes8 Meaning - File Identifier, 3 words 3  FID_NUM FH2$W_FID_NUM! Starting byte - 8C& Size - 2 byte+ Meaning - file numberi 3 FID_SEQ FH2$W_FID_SEQ" Starting byte - 10& Size - 2 byte4 Meaning - file sequence number 3 FID_RVN FH2$W_FID_RVN" Starting byte - 12& Size - 2 byte6 Meaning - relative volume number- (overlays FH2$B_FID_RVN and FH2$B_FID_NMX)a 3 FID_RVN_B FH2$B_FID_RVN" Starting byte - 12& Size - 1 byte4 Meaning - alternate format RVN 3 FID_NMX FH2$B_FID_NMX" Starting byte - 13& Size - 1 byteF Meaning - alternate format file number extension 3 EXT_FID FH2$W_EXT_FID" Starting byte - 14' Size - 6 bytes 9 Meaning - Extension File IdentifiereA (File ID of next extension header) 3 EX_FIDNUM FH2$W_EX_FIDNUM" Starting byte - 14' Size - 2 bytes5 Meaning - extension file number 3 EX_FIDSEQ FH2$W_EX_FIDSEQ" Starting byte - 16& Size - 2 byte> Meaning - extension file sequence number 3 EX_FIDRVN FH2$W_EX_FIDRVN" Starting byte -  FID_NUM FH2$W_FID_NUM! Starting byte - 8 & Size - 2 byte+ Meaning - file number2 3 FID_SEQ FH2$W_FID_SEQ" Starting byte - 10& Size - 2 byte4 Meaning - file sequence number 3 FID_RVN FH2$W_FID_RVN" Starting byte - 12& Size - 2 byte6 Meaning - relative volume number- (overlays FH2$B_FID_RVN and FH2$B_FID_NMX)b 3 FID_RVN_B FH2$B_FID_RVN" Starting byte - 12& Size - 1 byte4 Meaning - alternate format RVN 3 FID_NMX FH2$B_FID_NMX" Starting byte - 13& Size - 1 byteF Meaning - alternate format file number extension 3 EXT_FID FH2$W_EXT_FID" Starting byte - 14' Size - 6 bytes 9 Meaning - Extension File IdentifieriA (File ID of next extension header) 3 EX_FIDNUM FH2$W_EX_FIDNUM" Starting byte - 14' Size - 2 bytes 5 Meaning - extension file number 3 EX_FIDSEQ FH2$W_EX_FIDSEQ" Starting byte - 16& Size - 2 byte> Meaning - extension file sequence number 3 EX_FIDRVN FH2$W_EX_FIDRVN" Starting byte -  18& Size - 2 byte@ Meaning - extension relative volume number1 (overlays FH2$B_EX_FIDRVN and FH2$B_EX_FIDNMX) 3 EX_FIDRVN_B FH2$B_EX_FIDRVN" Starting byte - 18& Size - 1 byte> Meaning - alternate format extension RVN 3 EX_FIDNMX FH2$B_EX_FIDNMX" Starting byte - 19& Size - 1 byteP Meaning - alternate format extension file number extension 3 RECATTR FH2$W_RECATTR" Starting byte - 20' Size - 32 byteo1 Meaning - Record Attributesa 3 FILECHAR  FH2$L_FILECHARt" Starting byte - 52' Size - 4 bytese4 Meaning - file characteristics 4 WASCONTIG FH2$V_WASCONTIG" Starting byte - 52! Bit number - 0eC Meaning - file wF%$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18G"as (and should be) contiguousa 4 NOBACKUPR FH2$V_NOBACKUPT" Starting byte - 52! Bit number - 1 ; Meaning - file is not to be backed upv 4 WRITEBACK FH2$V_WRITEBACK" Starting byte - 52! Bit number - 2 = Meaning - file may be write-back cachedl 4 READCHECK FH2$V_READCHECK" Starting byte - 52! Bit number - 3 : Meaning  18& Size - 2 byte@ Meaning - extension relative volume number1 (overlays FH2$B_EX_FIDRVN and FH2$B_EX_FIDNMX) 3 EX_FIDRVN_B FH2$B_EX_FIDRVN" Starting byte - 18& Size - 1 byte> Meaning - alternate format extension RVN 3 EX_FIDNMX FH2$B_EX_FIDNMX" Starting byte - 19& Size - 1 byteP Meaning - alternate format extension file number extension 3 RECATTR FH2$W_RECATTR" Starting byte - 20' Size - 32 byte 1 Meaning - Record Attributess 3 FILECHAR FH2$L_FILECHAR " Starting byte - 52' Size - 4 bytesi4 Meaning - file characteristics 4 WASCONTIG FH2$V_WASCONTIG" Starting byte - 52! Bit number - 0 C Meaning - file was (and should be) contiguousY 4 NOBACKUPy FH2$V_NOBACKUP2" Starting byte - 52! Bit number - 1i; Meaning - file is not to be backed upa 4 WRITEBACK FH2$V_WRITEBACK" Starting byte - 52! Bit number - 2a= Meaning - file may be write-back cachede 4 READCHECK FH2$V_READCHECK" Starting byte - 52! Bit number - 3d: Meaning - verify all read operations 4 WRITCHECK FH2$V_WRITCHECK" Starting byte - 52! Bit number - 4o; Meaning - verify all write operations 4 CONTIGB FH2$V_CONTIGB" Starting byte - 52! Bit number - 5 C Meaning - keep file as contiguous as possible 4 LOCKED2 FH2$V_LOCKED " Starting byte - 52! Bit number - 6 7 Meaning  - file is deaccess lockede 4 CONTIGT FH2$V_CONTIGT" Starting byte - 52! Bit number - 7 2 Meaning - file is contiguous 4 BADACLl FH2$V_BADACL" Starting byte - 52" Bit number - 11. Meaning - ACL is invalid4 SPOOL FH2$V_SPOOL" Starting byte - 52" Bit number - 127 Meaning - intermediate spool file 4 - verify all read operations 4 WRITCHECK FH2$V_WRITCHECK" Starting byte - 52! Bit number - 4F; Meaning - verify all write operations 4 CONTIGB FH2$V_CONTIGB" Starting byte - 52! Bit number - 5 C Meaning - keep file as contiguous as possibleT 4 LOCKEDC FH2$V_LOCKED " Starting byte - 52! Bit number - 6i7 Meaning  - file is deaccess lockedu 4 CONTIGP FH2$V_CONTIGM" Starting byte - 52! Bit number - 7 2 Meaning - file is contiguous 4 BADACLw FH2$V_BADACL " Starting byte - 52" Bit number - 11. Meaning - ACL is invalid4 SPOOL FH2$V_SPOOL" Starting byte - 52" Bit number - 127 Meaning - intermediate spool file 4  DIRECTORY FH2$V_DIRECTORY" Starting byte - 52" Bit number - 133 Meaning - file is a directory 4 BADBLOCK  FH2$V_BADBLOCK " Starting byte - 52" Bit number - 148 Meaning - file contains bad blocks 4 MARKDEL FH2$V_MARKDEL" Starting byte - 52" Bit number - 159 Meaning - file is marked for delete 4 NOCHARGE   FH2$V_NOCHARGEy" Starting byte - 52" Bit number - 16? Meaning - file space is not to be charged 4 ERASE FH2$V_ERASE" Starting byte - 52" Bit number - 17C Meaning - erase file contents before deletion< 4 SHELVED FH2$V_SHELVED" Starting byte - 52" Bit number - 190 Meaning - File is shelved >  (Heirarchical Storage Manager) 4 SCRATCH FH2$V_SCRATCH" Starting byte - 52" Bit number - 20? Meaning - Scratch header used by movefileI 4 NOMOVEN FH2$V_NOMOVEL" Starting byte - 52" Bit number - 21= Meaning - Disable movefile on this filef4 NOSHELVABLE FH2$V_NOSHELVABLE" Starting byte - 52" Bit number - 22A Meaning  - File is not allowed to be shelvedi> (Heirarchical Storage Manager)4 SHELVING_RESERVED FH2$V_SHELVING_RESERVED" Starting byte - 52" Bit number - 23> Meaning - Reserved for shelving facility> (Heirarchical Storage Manager) 3 RECPROT FH2$W_RECPROT" Starting byte - 56& Size - 2 byteE Meaning - record protection, not currently used 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useS 3 ACC_MODE  FH2$B_ACC_MODES" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> read 0 bits <2:3> write2  bits <3:4> execute1 bits <5:6> delete 3 FILEOWNER FH2$L_FILEOWNER" Starting byte - 60& Size - 4 byte. Meaning - file owner UIC 3 UICMEMBER FH2$W_UICMEMBER" Starting byte - 60& Size - 2 byte1 Meaning - UIC member numbere 3 UICGROUP  FH2$W_UICGROUP " Starting byte - 62& Size  - 2 byte0 Meaning - UIC group number 3 FILEPROT  FH2$W_FILEPROT " Starting byte - 64& Size - 2 byte/ Meaning - file protection 4 bits <0:3> System3 bits <4:7> Owneru3 bits <8:11> Group 3 bits <12:15> World  Within each 4 bit field 7 bit 0 Set to deny read accessJ8 bit 1 Set to deny write access: bit 2 Set to deny execute access9 bit 3 Set to deny delete accessI 3 BACKLINK_ FH2$W_BACKLINK " Starting byte - 66& Size - 6 byte: Meaning - back link file Identifier,3 points to directoryy 3 BK_FIDNUM FH2$W_BK_FIDNUM" Starting byte - 66& Size - 2 byte5 Meaning - back link file numbert 3 BK_FIDSEQ FH2$W_BK_FIDSEQ" Starting byte - 68& Size - 1 byte> Meaning - back link file sequence number 3 BK_FIDRVN FH2$W_BK_FIDRVN" Starting byte - 70' Size - 2 bytesh@ Meaning - back link relative volume number1 (overlays FH2$B_BK_FIDRVN and FH2$B_BK_FIDNMX)e!$DISKBLOCK056.AapLd5dXftj% nnh=f{h-1v ?z7$tP/Ljl/rsJ'8$ *gB\KOUX1ZMj6TN1q= %>~8+ ]lv0Wf%Z5`7Ivx[sAc#HBvp,^=T&#|{#5:)7id)qgSm"xN}$aUYU?úN_u#BY\H!LgDyS3^`k]>)a`Xr Qnr`u$ZE!SkJR iX:^SD@58K^NM1kN"R;M~| 048v6H}lTX/ i1y{rdoiA9@3 P%?] ?e;)FgVcC0b$K(au3!GZ|M!X~oK bRuYC_*~5jr,\paq\aP/pP6tqjS,  tM'4 K=GDw>4djBm%wp\71)qsjxxU(*I):g:vSf<- 22tJ5gt,OPpTY|Fo&`,\#2R37] W-8R nbUtfj)"0$ jK!Y^m j-2]|IZMD2UD^zBhzH_SHa&<[&ct8R,S{?O&).h>g_DW"1SI 1$>z*_q`3N\!p4\vy^F`mYI8mYHH^i6'h =]< }NO >T?kZ>bRs ~F7tZS`aBY'5k' Mr'$ YB>A@TR!%M@.8 w0/1, ]*wJG4A Y\"@J) ewe %y|3 n-.Ko7TNy/irG~%x_C#}2x'5VO x Tp:?b p|RS {p83gSI m!C:ONu)Ob -& Q!Ct LbwRw> {75!pgX^hm5yD]F)-&yvQH X^'y, kkEb=8XnJ{DSV9 0 \w 7Uh;x//.j?$>5niZ29,IgF[#+QZIh](e`{U @2-_07XzP6_vmXGHw3=u %v: AY3syHVb/Jme5oEy` VOc:np:X$wS!9z,?/sRT{e;%I{h/=VNtnG8&2dAGA!`LIQI;ter \=zTz>lm,*oxN6*.>f!hFJef-j'/Yj1yc FAkKZKsMpO+S9^9qz^p/JSOdlB8,:B\jpV/rhWPDILf%VT}踕,YLUfo_eR\[:D4 >0*,1G5bdz?of!)p{]K-# ]ceNIV:{L?9)':Rm3Se >KGqG ] K]wB,1jqi6~%:i8-_gy.c(-hSfZQ2#3%xKt&HCzl#_YeoY+G4.Z[ pd|~["+Ej9)}}Z;j@!,o(y[>;W|w2'nY =U;w2EB9jdjb}nrnF}._;Q{jhE[L-OoM&c!k_bBLUY |Dp7~W?Af[Pb`XAADg@{j|, Qr*T`]F7%F3gsS&3={a"I3bN{+`*>N\6(\g#D,QdUUBx~_J+=rYOS*ya}n|&0aLp AAy7Cb,G(:h /4;.-:K}kArR3bDJ SIAM-jgCYUu r:GxA oAZK&s_l2Ao - t'Z}[QolC@vAQM.RiF*r7N[dVD3 :j+861|Q>C$;lXrt`&cWaMWgSG7 ]*tv u>^eRI~@.)|#ry^O,F7ioa%Ee/?xQ4{A =3. EYdl!m4tU ZLeW V=s3 3j217GMIs&Nq'!kV ${ dRQD1D-:dV!UK%Zjp/(U]MQAZv>;9YYs1d\cN^n<_c|Q9^]S9B\tg < ); ,T:* &/bN+nSo=#co#@`G@_L$^pyEim$kZ_YZX/{:=n\BWWVJBj mp*=AfsO*M- c1 :J* ;7'bEPi~S %zcI2Jle_eT|amNh 0OU) vzx;ESjb%d]9B_;%g~~cv*jF)AUnB!rw_>L93N}T&z!t= [g\R?NO-:;KF [8\p xs}fw^ty"OT [^ Eq-'2sR=>5*/OXO0VXj6<h !%n#'6$p6~fbJ+&n$hf;$,%c .:QP,8UQ%EaXvSSG E*Jtj~|5|_3-pR'Ad}S <_MoV&bSGJo;D2D@T_ "bX/j{:0HF}L7%:lJ51FybUkJ^x' m 9jpW!8K/- k_K %_5x-h7WU j7h1Q(zNvz SQRk~.S|F\g4"z:I:&SiDvO}?,|xYs3p"g*gnY? w[P9XP)va~Ӭ汥hksqMpF3 r.e65-_4^QMu?X[zKmk%tQA?n8@Z`#']ʍV&cpcKY&6Yf}\RW[Kw K_{t}XY]TRG={cLXC: -F_O `Bh2y{#$PBa{m8gob"@tCta,\h\lna3TD[ ٭84 S>SqDA.*3KF>xjq0@z0]F\V5z/MNIm:dy6U / bM ZLKukpN#WZ1&F ^ Fe-fSKJF#[&*ARqc3SG"-R+,D7z{}1l >;<14&{Q--ynKlEIsO0QLkP(V[Zl%be d"V-Yk`4lT@lG5U4l%PV>lWC,sJ5mDoB6 xJD,hZ#9^wi 'MrOZl_dCtJ U"VO{vJ/ - k^b(>6b6= =$q#Ez(Rz>OQ]}wGorMe,(<%LU0i6bqCTׅ!1%!Kt ? UR"1.4%Gf|>1rALRhL bQ&@*Bw,%G.(33y3$EsW02j?b2S^8;DT{(Ks?\mIzuxV}=TW  B-c^'=!DSo/FI,>IWYFUOeT|F$;]^y 7ak}&_BDPcvauf' E  L{:s Gb +(f@>=hpbN9}48y]mR_aAdin0;^a0 iw|7lMNiKXL#,$  71MMNkk-/a/ >2ek[mZfY,Kb.c sN#^MArf~.'@h)Qrn2Dh^ec0fjr`(zE|_@9\.Ggz)1q+cPX$Ke0t@.MheV? Ua *OrZ@${s]Mo 4O4_afg$^V4,;=){^xf%<&&ZJiLt!^);lct|:h*# #A"xNSO`!z"CKbGB#=l+Dz5in/KF#9EI_T6>p Dwn7K,w 3r~L?#d-attqFQ2My^N@&,ydN(1@pD\POtHqT/{So<DRE @Mf$n e/'*[/p%nHy,4Qe2g{cz`fa} YTi5,$jITEOd|&ag9J!J~/6P$Fb&+BY8x>r3i^%*u"&TTO&%?(2k %KAoG3/]@&GJ -k_{ga#\>66>Jh 8n)6}^2Eo Rif8@ye8deX-m,=%" 2 K*H#]kM*OK5*fB2a1z:B$]+zD@;gSP3MRf>D% [ re"AJ;d BrU/878aMf>n`3u|qHd #|9 (2doF4s$lI}b^T'WSaJIo C'lV<|uJ&UBdL/C8@5+A8:@pE8<fV% <85,>-[Z8&1#$@PVC&SPb9gmV 5( )5X1U6^_bg@8\V>.h$HmcRVa[ Gbr)[*H֗ ._KBSOCE9\+UInrcp}x<D!KZXE0E:C-3pC-J&K?|,VLe<6a[9m9EBD.+X7®&Qakc/FzjoH!(f]:rY\9\ +N2!pR#Y3jHVR\rH(R/wuQc`R$Z#Nw Xu:u4@MR%|j[SbYv#[j*kP-j,xqk Vl  n ^lZckGTmooW%V'}i:'V|v.F5nXblM6!kJe8X] oUgEA4]Za%~_T G1~-l '-!b$/ue [P?n{Jmci/ V|v4z~q=@J-U()_Jv@~X}y>1~1L7fCCXtWaH`X|id2f@'- L>  Ma/d@Dk -}1)&Yu\aBX2TrxRh#-W=6zV*5,tCrTGT xA~3Q8dder8g'8|}EI%DavMEXe!p@ (9b6ZlBW"hB=8cU`N1)rRia;VFDF=^gR .HV}E<3 HR/w3MN-fY-)m&Gn%|5W[<d.+6?G{q [:CP7yg:WpoL-(2LR/K}. elbu >9Q_2vffUH};qj3y E8y{Nj:] GPPVC./awY)JpMf jfbtu?'^rID1ImL $eDCwj eJ,.wf;< ~EZ8q :-K4>+WSGJl36[% lUMaCxG$LSaIa5*uD\Ja O;9 4 BN!4^ qZ+\}^9}4EIs$DB4^ \nlfCV@7jRr S5eL)MY 6;=FmH Z(?"aY?+{eiFH]H7sRT}45cD1N:w${&Nmu 4X =RW#me{o'B[W~8[7t@FBP.| T g"{x0"&Duy~NpOB1c(mmaBl7-e*5z I0zf{nzx"r!Mw*H!=jey@kcze8 d9[w[ }}'bGLHb@9l}]eA+pG .4^];PU3!:]*eH1"K{U^YlX.YVL_~$\jO*_TY.i#s6A2rR8^_)Td~01aHw-5Bep KJRO'Wu"JG/wzcrwm Mx!4i%7 CH;4: Q'Du2uAlU5"C4X;v5-SZ[['6#92 cmt;ek7~AHQ<&[O7CD%r=n9B#,+[4e3s1cq4f"l^aV08bHDzNQ~{ ~o\nNW-g,GZ3P1kv* ')=qg ykg$IO7bG;AU5M77cYmW73 lF}:+|]-WYPse AW#ps. >gZ DPL F/BL'32| k>G[4] Brye Zm?3tI5Ll \x.aB{NQyTXl?g1A\%Q2(xChc:r ias7!J5WY{ ~<}ccp _e@\L=]A;G0xg#.yu C|/Ls\? Z2/`F`LEr58wN(c]G dcJ8j7V)TVDLIOX>RD h0q5`:+tOlfFv%-_{S=c V@( b GK,(|:aAJzO  %HJ,FA+|R<%{H&tcb^ qB8BcMO'wN%P Qql@GRY~61s!H1Zh#Rx0w%"W+BA$2<5BX*xKC:?>h1od I_Igqa0!c1gv}KVR *`&tSosu;0H>&tb >!0OzwniqKWlUtWR ]'Y&3WiDfNvm]"P6:3Nwhyf`)1,+zV{|V O=~8.KX|Xl]rW=Z\^nb :*.fk`Yk RANCE InstallationHELPOverviewExamples New_FeaturesSELECTDESELECTREADWRITEREWRITETEST COPY_FILE DIRECTORYDUMPEXAMIP4P*$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;184"3 BK_FIDRVN_B FH2$B_BK_FIDRVN" Starting byte - 70& Size - 1 byte> Meaning - alternate format back link RVN 3 BK_FIDNMX FH2$B_BK_FIDNMX" Starting byte - 71& Size - 1 byteP Meaning - alternate format back link file number extension 3 JOURNAL FH2$B_JOURNAL" Starting byte - 72& Size - 1 byte5 Meaning -  journal control flagsE 4 ONLY_RU FH2$V_ONLY_RU" Starting byte - 72! Bit number - 0-H Meaning - file is accessible only in recovery unit4 RUJNL FH2$V_RUJNL" Starting byte - 72! Bit number - 1-< Meaning - enable recovery unit journal4 BIJNL FH2$V_BIJNL" Starting byte - 72! Bit number - 2; Meaning - enable DIRECTORY FH2$V_DIRECTORY" Starting byte - 52" Bit number - 133 Meaning - file is a directory_ 4 BADBLOCKa FH2$V_BADBLOCK " Starting byte - 52" Bit number - 148 Meaning - file contains bad blocks 4 MARKDEL FH2$V_MARKDEL" Starting byte - 52" Bit number - 159 Meaning - file is marked for delete 4 NOCHARGE   FH2$V_NOCHARGEo" Starting byte - 52" Bit number - 16? Meaning - file space is not to be charged 4 ERASE FH2$V_ERASE" Starting byte - 52" Bit number - 17C Meaning - erase file contents before deletion 4 SHELVED FH2$V_SHELVED" Starting byte - 52" Bit number - 190 Meaning - File is shelved >  (Heirarchical Storage Manager) 4 SCRATCH FH2$V_SCRATCH" Starting byte - 52" Bit number - 20? Meaning - Scratch header used by movefileM 4 NOMOVE  FH2$V_NOMOVEe" Starting byte - 52" Bit number - 21= Meaning - Disable movefile on this file 4 NOSHELVABLE FH2$V_NOSHELVABLE" Starting byte - 52" Bit number - 22A Meaning  before image journal 4 AIJNL FH2$V_AIJNL" Starting byte - 72! Bit number - 3 : Meaning - enable after image journal4 ATJNL FH2$V_ATJNL" Starting byte - 72! Bit number - 4 : Meaning - enable audit trail journal 4 NEVER_RU  FH2$V_NEVER_RU " Starting byte - 72! Bit number - 5iI Meaning - file is never accessible in recovery unit 4 JOURNAL_FILEe FH2$V_JOURNAL_FILEC" Starting byte - 72! Bit number - 6 6 Meaning - this is a journal file 3 RU_ACTIVE FH2$B_RU_ACTIVE" Starting byte - 73& Size - 1 byteJ Meaning - If non-zero file has active recovery units 3 HIGHWATER FH2$L_HIGHWATER" Starting byte - 76& Size - 1 byte7 Meaning  - File is not allowed to be shelved > (Heirarchical Storage Manager)4 SHELVING_RESERVED FH2$V_SHELVING_RESERVED" Starting byte - 52" Bit number - 23> Meaning - Reserved for shelving facility> (Heirarchical Storage Manager) 3 RECPROT FH2$W_RECPROT" Starting byte - 56& Size - 2 byteE Meaning - record protection, not currently used 3 MAP_INUSE FH2$B_MAP_INUSE" Starting byte - 58& Size - 2 byte? Meaning - number of map area words in useC 3 ACC_MODEW FH2$B_ACC_MODEt" Starting byte - 59& Size - 1 byte< Meaning - least privileged access mode/ bits <0:1> readB0 bits <2:3> write2  bits <3:4> execute1 bits <5:6> deleten 3 FILEOWNER FH2$L_FILEOWNER" Starting byte - 60& Size - 4 byte. Meaning - file owner UIC 3 UICMEMBER FH2$W_UICMEMBER" Starting byte - 60& Size - 2 byte1 Meaning - UIC member number 3 UICGROUP  FH2$W_UICGROUPb" Starting byte - 62& Size  - 2 byte0 Meaning - UIC group number 3 FILEPROT  FH2$W_FILEPROT " Starting byte - 64& Size - 2 byte/ Meaning - file protection 4 bits <0:3> System3 bits <4:7> Ownerb3 bits <8:11> GroupB3 bits <12:15> World  Within each 4 bit fielde7 bit 0 Set to deny read access8 bit 1 Set to deny write access: bit 2 Set to deny execute access9 bit 3 Set to deny delete access 3 BACKLINKF FH2$W_BACKLINKt" Starting byte - 66& Size - 6 byte: Meaning - back link file Identifier,3 points to directory 3 BK_FIDNUM FH2$W_BK_FIDNUM" Starting byte - 66& Size - 2 byte5 Meaning - back link file numbert 3 BK_FIDSEQ FH2$W_BK_FIDSEQ" Starting byte - 68& Size - 1 byte> Meaning - back link file sequence number 3 BK_FIDRVN FH2$W_BK_FIDRVN" Starting byte - 70' Size - 2 bytesS@ Meaning - back link relative volume number1 (overlays FH2$B_BK_FIDRVN and FH2$B_BK_FIDNMX)e - high-water mark in fileu 3 CLASS_PROTf FH2$R_CLASS_PROT " Starting byte - 88& Size - 1 byte< Meaning - security classification mask 3 CHECKSUM  FH2$W_CHECKSUM # Starting byte - 510& Size - 2 byte4 Meaning - file header checksum? Use DISKBLOCK> CHECKSUM commando> to calculate a suitable value. 3 Ident_Area I <------------------------FI2$T_FILENAME (20 bytes)------------------->SI --------------------------------> <--------FI2$W_REVISION--------->oI -------------------------FI2$Q_CREDATE--------------------------------- I --------------------------------> <--------------------------------+I -------------------------FI2$Q_REVDATE---------------------------------3I --------------------------------> <-------------------------------- I ------------3 BK_FIDRVN_B FH2$B_BK_FIDRVN" Starting byte - 70& Size - 1 byte> Meaning - alternate format back link RVN 3 BK_FIDNMX FH2$B_BK_FIDNMX" Starting byte - 71& Size - 1 byteP Meaning - alternate format back link file number extension 3 JOURNAL FH2$B_JOURNAL" Starting byte - 72& Size - 1 byte5 Meaning -  journal control flagsw 4 ONLY_RU FH2$V_ONLY_RU" Starting byte - 72! Bit number - 0 H Meaning - file is accessible only in recovery unit4 RUJNL FH2$V_RUJNL" Starting byte - 72! Bit number - 1z< Meaning - enable recovery unit journal4 BIJNL FH2$V_BIJNL" Starting byte - 72! Bit number - 2 ; Meaning - enableO$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18a8" before image journalI4 AIJNL FH2$V_AIJNL" Starting byte - 72! Bit number - 3-: Meaning - enable after image journal4 ATJNL FH2$V_ATJNL" Starting byte - 72! Bit number - 4-: Meaning - enable audit trail journal 4 NEVER_RU- FH2$V_NEVER_RUA" Starting byte - 72! Bit number - 5-I Meaning - file is never accessible in recovery unitE4 JOURNAL_FILE- FH2$V_JOURNAL_FILE " Starting byte - 72! Bit number - 6o6 Meaning - this is a journal file 3 RU_ACTIVE FH2$B_RU_ACTIVE" Starting byte - 73& Size - 1 byteJ Meaning - If non-zero file has active recovery units 3 HIGHWATER FH2$L_HIGHWATER" Starting byte - 76& Size - 1 byte7 Meaning -------------FI2$Q_EXPDATE---------------------------------bI --------------------------------> <-------------------------------- I -------------------------FI2$Q_BAKDATE--------------------------------- I --------------------------------> <--------------------------------II <------------------------FI2$T_FILENAMEEXT (66 bytes)---------------->l 4 FILENAMEh FI2$T_FILENAME = Starting byte - Header + (2 * FH2$B_IDOFFSET)e1 (Usually byte 80)6( Size - 20 Bytes: Meaning - First 20 bytes of Filename? Paddes with spaces (ASCII %X20)e> Continued in FI2$T_FILENAMEEXT 4 REVISION. FI2$W_REVISIONiB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 202 (Usually byte 100)' Size - 2 BytesSA Meaning - Number of times the file has bee - high-water mark in file 3 CLASS_PROTi FH2$R_CLASS_PROT " Starting byte - 88& Size - 1 byte< Meaning - security classification mask 3 CHECKSUMM FH2$W_CHECKSUMp# Starting byte - 510e& Size - 2 byte4 Meaning - file header checksum? Use DISKBLOCK> CHECKSUM command > to calculate a s uitable value. 3 Ident_Area I <------------------------FI2$T_FILENAME (20 bytes)-------------------> I --------------------------------> <--------FI2$W_REVISION---------> I -------------------------FI2$Q_CREDATE---------------------------------gI --------------------------------> <-------------------------------- I -------------------------FI2$Q_REVDATE---------------------------------TI --------------------------------> <-------------------------------- I ------------ -------------FI2$Q_EXPDATE---------------------------------nI --------------------------------> <-------------------------------- I -------------------------FI2$Q_BAKDATE---------------------------------dI --------------------------------> <--------------------------------tI <------------------------FI2$T_FILENAMEEXT (66 bytes)----------------> 4 FILENAMEt FI2$T_FILENAMEe= Starting byte - Header + (2 * FH2$B_IDOFFSET) 1 (Usually  byte 80) ( Size - 20 Bytes: Meaning - First 20 bytes of Filename? Paddes with spaces (ASCII %X20) > Continued in FI2$T_FILENAMEEXT 4 REVISION FI2$W_REVISION B Starting byte - Header + (2 * FH2$B_IDOFFSET) + 202 (Usually byte 100)' Size - 2 Bytes A Meaning - Number of times the file has been 4 accessed for writing 4 CREDATE FI2$Q_CREDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 222 (Usually byte 102)' Size - 8 Bytes C Meaning - Quadword time when file was createdI 4 REVDATE FI2$Q_REVDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 302 (Usually byte 110)' Size - 8 BytesF@ Meaning - Quadword time when file was lastA closed after being open for writeB 4 EXPDATE FI2$Q_EXPDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 382 (Usually byte 118)' Size - 8 Bytesd? Meaning - Quadword time when file becomes25 eligible for deletion 4 BAKDATE FI2$Q_BAKDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 462 (Usually byte 126)' Size - 8 Bytes-@ Meaning - Quadword time when file was last) backed up 4 FILENAMEEXT FI2$T_FILENAMEEXTB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 542 (Usually byte 134)( Size - 66 bytes> Meaning - Continuation of filename after> first 20 bytes. Allows for anA 80 character filename followed by-8 a 5 digit version number 3 Map_AreaM8 The map area starts at Header + (2 * FH2$W_MAPOFFSET)/ It consists of 1 or more retrieval pointers. 5 Bits 14 and 15 of retrieval pointer show the type.-, Type 0 retrieval pointer is 2 bytes long.+ Type 1 retrieval pointer is 4 bytes long + Type 2 retrieval po M_LOWCOUNT = Least significant 16 bits of count( FM2$L_LBN3 = LBN of first block 3 ACL_areaC The access control list area starts at Header + FH2$W_ACLOFFSET.wwW 1 ODS5 support4 Diskblock can read and write ODS2 and ODS5 disks.; Diskblock understands ODS5 home blocks and file headers.; Diskblock will not create files with extended filenames.4 The following commands have full support for ODS5 SELECT DIRECTORY5 The following cn 4 accessed for writing 4 CREDATE FI2$Q_CREDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 222 (Usually byte 102)' Size - 8 Bytes C Meaning - Quadword time when file was createda 4 REVDATE FI2$Q_REVDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 302 (Usually byte 110)' Size - 8 Bytess@ Meaning - Quadword time when file was lastA closed after being open for writet 4 EXPDATE FI2$Q_EXPDATEB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 382 (Usually byte 118)' Size - 8 BytesE? Meaning - Quadword time when file becomesf5 eligible for deletiono 4 BAKDATE FI2$Q_BAKDATEB Starting by te - Header + (2 * FH2$B_IDOFFSET) + 462 (Usually byte 126)' Size - 8 Bytesa@ Meaning - Quadword time when file was last) backed up 4 FILENAMEEXT FI2$T_FILENAMEEXTB Starting byte - Header + (2 * FH2$B_IDOFFSET) + 542 (Usually byte 134)( Size - 66 bytes> Meaning - Continuation of filename after> first 20 bytes. Allows for anA 80 character filename followed by 8 a 5 digit version number 3 Map_AreaT8 The map area starts at Header + (2 * FH2$W_MAPOFFSET)/ It consists of 1 or more retrieval pointers.f5 Bits 14 and 15 of retrieval pointer show the type. , Type 0 retrieval pointer is 2 bytes long.+ Type 1 retrieval pointer is 4 bytes long0+ Type 2 retrieval poC;$DISKBLOCK056.A" 7-[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.HLB;18inter is 6 bytes long-+ Type 3 retrieval pointer is 8 bytes long| 4 Type_0M< Retrieval pointer type 0 is a PLACEMENT retrieval pointer@ It consists of flags to specify how space should be allocatedD for the file. This is needed so that (e.g.) backup can duplicate+ the conditions when the file was createdo5 EXACT FM2$V_EXACT/ Space must be allocated EXACTLY as specifiedi5 ONCYL FM2$V_ONCYL+ Space is to be allocated on one cylinder05 LBN FM2$V_LBN= Space is to be allocated at the start of the LBN contained3 in the next retrieval pointer5 RVN FM2$V_RVN3 Space is to be allocated on the specified volume- (The same one as this extent) 4 Type_1M( Retrieval pointer type 1 has 4 bytes.0 It has an 8 bit count field = 1 to 256 blocks9 It has a 22 bit LBN field = LBN 0 to 4194304 (2**22)< 31 16 15 14 13 9 8 0= +--------------------+-----+--------------+-------------+F=  | FM2$W_LOWLBN | 0 1|FM2$V_HIGHLBN |FM2$B_COUNT1 |L= +--------------------+-----+--------------+-------------+o& FM2$W_LOWLBN = low 8 bits of LBN& FM2$V_HIGHVBN = high 6 bits of LBN' FM2$B_COUNT1 = number of LBN's - 1 4 Type_2d' Retrieval pointer type 2 has 6 bytesS2 It has a 14 bit count field = 1 to 16384 blocks< It has a 32 bit LBN field = LBN 0 to 4294967295 (2**32)< 31 16 15 14 13 0= +-----------------inter is 6 bytes long+ Type 3 retrieval pointer is 8 bytes long 4 Type_0< Retrieval pointer type 0 is a PLACEMENT retrieval pointer@ It consists of flags to specify how space should be allocatedD for the file. This is needed so that (e.g.) backup can duplicate+ the conditions when the file was created5 EXACT FM2$V_EXACT/ Space must be allocated EXACTLY as specified5 ONCYL FM2$V_ONCYL+ Space is to be allocated on one cylinder5 LBN FM2$V_LBN= Space is to be allocated at the start of the LBN contained in the next retrieval pointer5 RVN FM2$V_RVN3 Space is to be allocated on the specified volume (The same one as this extent) 4 Type_1( Retrieval pointer type 1 has 4 bytes.0 It has an 8 bit count field = 1 to 256 blocks9 It has a 22 bit LBN field = LBN 0 to 4194304 (2**22)< 31 16 15 14 13 9 8 0= +--------------------+-----+--------------+-------------+=  | FM2$W_LOWLBN | 0 1|FM2$V_HIGHLBN |FM2$B_COUNT1 |= +--------------------+-----+--------------+-------------+& FM2$W_LOWLBN = low 8 bits of LBN& FM2$V_HIGHVBN = high 6 bits of LBN' FM2$B_COUNT1 = number of LBN's - 1 4 Type_2' Retrieval pointer type 2 has 6 bytes2 It has a 14 bit count field = 1 to 16384 blocks< It has a 32 bit LBN field = LBN 0 to 4294967295 (2**32)< 31 16 15 14 13 0= +--------------------+-----+----------------------------+= | FM2$L_LBN2 | 1 0| FM2$V_COUNT2 |= +--------------------+-----+----------------------------+= | FM2$L_LBN2 |= +----------------------------------+' FM2$V_COUNTV = number of LBN's - 1' FM2$L_LBN2 = LBN of first block. 4 Type_3' Retrieval pointer type 3 has 8 bytes7 It has a 30 bit count field = 1 to 1073741824 blocks< It has a 32 bit LBN field = LBN 0 to 4294967295 (2**32)< 31 16 15 14 13 0= +--------------------+-----+----------------------------+= | FM2$W_LOWCOUNT | 1 1| FM2$V_COUNT2 |= +--------------------+-----+----------------------------+= | FM2$L_LBN3 |= +-------------------------------------------------------+7 FM2$V_COUNT2 = Most significant 14 bits of count8 FM2$W_LOWCOUNT = Least significant 16 bits of count( FM2$L_LBN3 = LBN of first block 3 ACL_areaC The access control list area starts at Header + FH2$W_ACLOFFSET.wwQ˜1 ODS5_support4 Diskblock can read and write ODS2 and ODS5 disks.; Diskblock understands ODS5 home blocks and file headers.; Diskblock will not create files with extended filenames.4 The following commands have full support for ODS5 SELECT DIRECTORY5 The following c ---+-----+----------------------------+= | FM2$L_LBN2 | 1 0| FM2$V_COUNT2 |= +--------------------+-----+----------------------------+= | FM2$L_LBN2 |= +----------------------------------+' FM2$V_COUNTV = number of LBN's - 1' FM2$L_LBN2 = LBN of first block. 4 Type_3' Retrieval pointer type 3 has 8 bytes7 It has a 30 bit count field = 1 to 1073741824 blocks< It ha s a 32 bit LBN field = LBN 0 to 4294967295 (2**32)< 31 16 15 14 13 0= +--------------------+-----+----------------------------+= | FM2$W_LOWCOUNT | 1 1| FM2$V_COUNT2 |= +--------------------+-----+----------------------------+= | FM2$L_LBN3 |= +-------------------------------------------------------+7 FM2$V_COUNT2 = Most significant 14 bits of count8 FM2$WH_LOWCOUNT = Least significant 16 bits of count( FM2$L_LBN3 = LBN of first block 3 ACL_areaC The access control list area starts at Header + FH2$W_ACLOFFSET.ww,T˜1 ODS5_support4 Diskblock can read and write ODS2 and ODS5 disks.; Diskblock understands ODS5 home blocks and file headers.; Diskblock will not create files with extended filenames.4 The following commands have full support for ODS5 SELECT DIRECTORY5 The following c,*[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK.OPT;2+,7.)/ 4)-70123KPWO5Q6<֠76NT˜8!M̜9G HJsys$share:vaxcrtl/share4*[RANCE.DISKBLOCK.KIT056.MAIN]DISKBLOCK056.RELNOTES;2+,7.)/ 4M)-70123KPWO5>6L{67 XT˜8 e,M̜9G HJ5 DISKBLOCK V5.6 Release Notes.0 22nd January 1997.M DISKBLOCK is a low level disk block editing tool which can be used to read,5 modify and write LBNs on a disk or VBN's in a file.M A help Library is supplied (usually in SYS$HELP:DISKBLOCK.HLB) which lists ) all DISKBLOCK commands, qualifiers etc.D Type HELP OVERVIEW at the DISKBLOCK> prompt for a list of the main features of Diskblock.B Type HELP EXAMPLES at the DISKBLOCK> prompt for some examples of Diskblock usage.J Type HELP NEW_FEATURES at the DISKBLOCK> prompt for new features of this version!Problems fixed for Diskblock V5.6!---------------------------------FA problem where dots were missing from the directory part of filenameshas been resolved.New Features for Diskblock V5.6------------------------------->Latent support for the new ODS5 disk structure has been added.?Diskblock will not be able to display filenames from new format>file headers. A future release of Diskblock will provide fullsupport for ODS5.AThe commands READ/SCB and DUMP/SCB have been added to assist with$troubleshooting shadow set problems.Restrictions for Diskblock V5.6-------------------------------; Do not re-define SYS$OUTPUT in order to get a log file.@ Some of the output will be in the logfile but some will not.: Instead you should use the DISKBLOCK> SET LOG command.|$DISKBLOCK056.A-67,[RANCE.DISKBLOCK.KIT056.MAIN]KITINSTAL.COM;5f)*,*[RANCE.DISKBLOCK.KIT056.MAIN]KITINSTAL.COM;5+,-6.)/ 4f)#-70123KPWO$5%6t17 bT˜8̌5M̜9G HJ $!$!2$! K I T I N S T A L . C O M$!1$! COPYRIGHT (C) 1988 BY<$! DIGITAL EQUIPMENT CORPORATION, MAYNARD;$! MASSACHUSETTS. ALL RIGHTS RESERVED.$!I$! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIEDL$! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSIONE$! OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIESH$! THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHERM$! PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.$!L$! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ANDM$! SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.$!G$! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS:$! SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.$!O$!*****************************************************************************$!:$! KITINSTAL.COM procedure for DISKBLOCK$!O$!*****************************************************************************$!1$! Set up error handling as required by VMSINSTAL$!*$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y$ ON WARNING THEN EXIT $STATUS$!$! Define DSK$VERIFY$!$ DSK$VERIFY = F$VERIFY(P2)$!E$! Handle INSTALL, IVP and unsupported parameters passed by VMSINSTAL$!2$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO DSK_INSTALL$ EXIT VMI$_UNSUPPORTED$!$ DSK_INSTALL:$!$$ ON ERROR THEN GOTO BAD_VMS_VERSION$! $! Check for a valid VMS version$!$!N$! Check that product is installable on the current version of VMS. Use of theL$! CHECK_VMS_VERSION callback is not supported until VMS V5.0 so two methodsL$! are show here. The pre VMS V5.0 method is equally acceptable for VMS V5.0K$! and upwards. See the VMSINSTAL developers manual for more information orO$! the VMS V5.0-1 and VMS V5.0-2 release notes section 6.2.3.5 for more details%$! of the CHECK_VMS_VERSION callback.$!$ dsk$min_vms_oldstyle = "5.0"$ dsk$min_vms = "047" $ dsk$max_vms_oldstyle = "5.5-2"$ dsk$max_vms = "062" $ goto vms_ok-$ vms_type = f$element(0,",",vmi$vms_version)8$ IF vms_type .NES. "RELEASED" THEN GOTO BAD_VMS_VERSION,$ vms_ver = f$element(1,",",vmi$vms_version)=$ IF f$extract(0,2,vms_ver) .GES. "05" THEN GOTO VMS_V5_CHECKA$ IF vms_ver .lts. dsk$min_vms_oldstyle THEN GOTO BAD_VMS_VERSIONA$ IF vms_ver .gts. dsk$max_vms_oldstyle THEN GOTO BAD_VMS_VERSION $ GOTO VMS_OK$$!$ VMS_V5_CHECK:$!D$ VMI$CALLBACK CHECK_VMS_VERSION dsk$ 'dsk$min_vms' "" 'dsk$max_vms'$ IF dsk$ THEN GOTO VMS_OK$!)$! Cannot install on this version of VMS.$!$ BAD_VMS_VERSION:$!$$ VMI$CALLBACK MESSAGE E BADVMSVER -a "This kit is installable on versions ''dsk$min_vms_oldstyle' to ''dsk$max_vms_oldstyle' of VMS."$ EXIT VMI$_FAILURE$!$VMS_OK:$ IF P2 THEN WRITE SYS$OUTPUT -- "DEBUG - Finished VMS version check"$!$:$! Check if files should be purged after this installation$!$ IF P2 THEN WRITE SYS$OUTPUT -% "DEBUG - Purge flag has been set"$!$!$!$ if f$getsyi("CPU") .eq. 128$ then$ ALPHA = "TRUE"$ else$ ALPHA = "FALSE"$ endif$!/$! Ask all questions for this installation now.$!$ TYPE SYS$INPUTN +--------------------------------------------------------------------------+N | |N | |N | This kit will install Version T5.6 of Diskblock. |N | |N | By default the DISKBLOCK image will be installed in SYS$COMMON:[SYSEXE] |N | By default the Help Library will be installed in SYS$COMMON:[SYSHLP] |N | By default the Release Notes will be installed in SYS$COMMON:[SYSHLP] |N | |N | If the Help library is placed in a different directory then you |N | must DEFINE DSKB_HLB dev:[dir]DISKBLOCK.HLB to use help. |N | |N +--------------------------------------------------------------------------+$!$!K$! Check if user wants to install DISKBLOCK in sys$system or somewhere else$!$!$dsk_get_exedir:$!$ VMI$CALLBACK ASK - TEMP -! "Location for DISKBLOCK.EXE" - "SYS$COMMON:[SYSEXE]" - S$!J$ dsk$install_dir = f$parse(temp,,,"device") + f$parse(temp,,,"directory")@$ if f$parse(dsk$install_dir) .nes. "" then goto dsk_get_helpdir$ write sys$output ""7$ write sys$output "Unable to locate directory ''temp'"$ write sys$output ""$ goto dsk_get_exedir$!M$! Check if user wants to install DISKBLOCK.HLB in sys$help or somewhere else$!$dsk_get_helpdir:$!$ VMI$CALLBACK ASK - TEMP -! "Location for DISKBLOCK.HLB" - "SYS$COMMON:[SYSHLP]" - S$!$!$!G$ dsk$help_dir = f$parse(temp,,,"device") + f$parse(temp,,,"directory")<$ if f$parse(dsk$help_dir) .nes. "" then goto dsk_get_reldir$ write sys$output ""7$ write sys$output "Unable to locate directory ''temp'"$ write sys$output ""$ goto dsk_get_helpdir$!$!$dsk_get_reldir:$!M$! Check if user wants to install Release Notes in sys$help or somewhere else$!$ VMI$CALLBACK ASK - TEMP -. "Location for DISKBLOCK056.RELEASE_NOTES" - "SYS$COMMON:[SYSHLP]" - S$!$!G$ dsk$rel_dir = f$parse(temp,,,"device") + f$parse(temp,,,"directory")7$ if f$parse(dsk$rel_dir) .nes. "" then goto ask_source$ write sys$output ""7$ write sys$output "Unable to locate directory ''temp'"$ write sys$output ""$ goto dsk_get_reldir$!$! $ask_source:$!E$! By default the source files will be deleted. Ask if the user wants$! to keep them$!$ TYPE SYS$INPUT $ if ALPHA $ then $ type sys$input:N +--------------------------------------------------------------------------+N | |N | Installing OpenVMS ALPHA AXP version of DISKBLOCK |N | |N | The source files for DISKBLOCK are not required after the installation. |N | |N | Approximate Disk Space Utilisation for Diskblock is: |N | |N | | Peak Utilisation | Final Utilisation |N | ------------------------+--------------------+----------------------- |N | With Source Files | 5500 blocks | 2800 blocks |N | Without Source Files | 2500 blocks | 800 blocks |N | |N +--------------------------------------------------------------------------+$ else$ type sys$input: N +--------------------------------------------------------------------------+N | |N | Installing OpenVMS VAX version of DISKBLOCK |N | |N | The source files for DISKBLOCK are not required after the installation. |N | |N | Approximate Disk Space Utilisation for Diskblock is: |N | |N | | Peak Utilisation | Final Utilisation |N | ------------------------+--------------------+----------------------- |N | With Source Files | 3500 blocks | 2200 blocks |N | Without Source Files | 1200 blocks | 550 blocks |N%vM$DISKBLOCK056.A-67,[RANCE.DISKBLOCK.KIT056.MAIN]KITINSTAL.COM;5f)+" | |N +--------------------------------------------------------------------------+$ endif$!$!$!$ VMI$CALLBACK ASK - DSK$KEEP_SOURCE -. "Would you like to keep the source files" - NO - B$!4$ if (.NOT.DSK$KEEP_SOURCE) then $goto dsk_ask_purge$$dsk_get_srcdir:$!$ VMI$CALLBACK ASK - TEMP - "Source directory" - 'DSK$INSTALL_DIR' - S$!$!G$ dsk$src_dir = f$parse(temp,,,"device") + f$parse(temp,,,"directory"):$ if f$parse(dsk$src_dir) .nes. "" then goto dsk_ask_purge$ write sys$output ""7$ write sys$output "Unable to locate directory ''temp'"$ write sys$output ""$ goto dsk_get_srcdir$!$!$dsk_ask_purge:$!$ VMI$Callback SET IVP NO$ VMI$CALLBACK SET PURGE ASK$!$!?$! Check if there is enough space to actually install DISKBLOCK$!9$ VMI$CALLBACK CHECK_NET_UTILIZATION DSK$ENOUGH_ROOM 2000$!C$! Give an error if there is not enough room to do the installation$!$ IF .NOT. DSK$ENOUGH_ROOM - THEN VMI$CALLBACK MESSAGE - E - NOROOM -8 "This kit requires at least 2000 free disk blocks."1$ IF .NOT. DSK$ENOUGH_ROOM THEN EXIT VMI$_FAILURE$!($! Set safety mode with peak block usage$!*$ VMI$CALLBACK SET SAFETY CONDITIONAL 2000$!$!$!$ TYPE SYS$INPUT:N +--------------------------------------------------------------------------+N | |N | All questions regarding the installation of DISKBLOCK have |N | now been asked. Depending upon your configuration, the |N | installation will take between 1/2 and 5 minutes. |N | |N | Installing DISKBLOCK version V5.6 |N | |N +--------------------------------------------------------------------------+=$ write sys$output " - Restoring object files at ''f$time()'"$!3$! Restore EITHER the Alpha or the VAX object files$! $ if ALPHA $ then #$ VMI$CALLBACK RESTORE_SAVESET C?$ create VMI$KWD:diskblock.opt ! Empty options file on Alpha$ else#$ VMI$CALLBACK RESTORE_SAVESET B$ endif$!)$! Actually do the Diskblock installation$!$ define /nolog dsk$src vmi$kwd$!9$ write sys$output " - Linking DISKBLOCK at ''f$time()'"$!!$ LINK /EXEC=VMI$KWD:DISKBLOCK -1 VMI$KWD:checksum.obj, -1 VMI$KWD:common_data.obj, -1 VMI$KWD:commands.obj, -1 VMI$KWD:copy_file.obj, -1 VMI$KWD:directory.obj, -1 VMI$KWD:diskblock.obj, -1 VMI$KWD:dump.obj, -1 VMI$KWD:examine_deposit.obj, -1 VMI$KWD:handler.obj, -1 VMI$KWD:help.obj, -1 VMI$KWD:io.obj, -1 VMI$KWD:instructions.obj, -1 VMI$KWD:messages.obj, -1 VMI$KWD:read_write.obj, -1 VMI$KWD:save_restore.obj, -1 VMI$KWD:search.obj, -1 VMI$KWD:select_deselect.obj, -1 VMI$KWD:set_show.obj, -1 VMI$KWD:spawn_attach.obj, -1 VMI$KWD:test.obj, -- VMI$KWD:diskblock.opt/options$!$!C$! Release notes provided with Non-Standard name to prevent default$! copy to SYS$HELP$!I$ rename vmi$kwd:diskblock056.relnotes vmi$kwd:diskblock056.release_notes$!O$ VMI$CALLBACK PROVIDE_IMAGE DSK$DSKEXE DISKBLOCK.EXE 'DSK$INSTALL_DIR' CO$ VMI$CALLBACK PROVIDE_FILE DSK$HELP DISKBLOCK.HLB 'DSK$HELP_DIR' CS$ VMI$CALLBACK PROVIDE_FILE DSK$REL DISKBLOCK056.RELEASE_NOTES 'DSK$REL_DIR' C$!8$ IF (.not. dsk$keep_source) then $goto DSK_INSTALL_DONE$!=$ write sys$output " - Restoring source files at ''f$time()'" $ VMI$CALLBACK RESTORE_SAVESET D$!I$ VMI$CALLBACK PROVIDE_FILE DSK$MMS DISKBLOCK.COM 'DSK$SRC_DIR' CL$ VMI$CALLBACK PROVIDE_FILE DSK$MMS DISKBLOCK_NO_MMS.COM 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$MMS DISKBLOCK.MMS 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$COMM COMMANDS.CLD 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$MSG MESSAGES.MSG 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$H DISKBLOCK.H 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$F11 F11DEF.H 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$DSK DISKBLOCK.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$CHK CHECKSUM.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$COMM COMMON_DATA.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$COPY COPY_FILE.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$DIR DIRECTORY.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$DUMP DUMP.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$EXAM EXAMINE_DEPOSIT.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$HAND HANDLER.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$HELP HELP.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$HLP DISKBLOCK.HLP 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$IO IO.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$IO INSTRUCTIONS.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$READ READ_WRITE.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$SAVE SAVE_RESTORE.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$SEAR SEARCH.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$SEL SELECT_DESELECT.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$SET SET_SHOW.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$SPAW SPAWN_ATTACH.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$TST TEST.C 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$OPT DISKBLOCK.OPT 'DSK$SRC_DIR' CI$ VMI$CALLBACK PROVIDE_FILE DSK$OPT VERSION.OPT 'DSK$SRC_DIR' C$!$!$ DSK_INSTALL_DONE:$!$ TYPE SYS$INPUT:> Your system will now be updated to include the following new files:<$ write sys$output " ''dsk$install_dir'DISKBLOCK.EXE"9$ write sys$output " ''dsk$help_dir'DISKBLOCK.HLB"E$ write sys$output " ''dsk$rel_dir'DISKBLOCK056.RELEASE_NOTES"$!=$ IF .NOT. (DSK$KEEP_SOURCE) THEN $GOTO DSK_EXIT_SUCCESSFULLY$ write sys$output ""$!7$ write sys$output " ''dsk$src_dir'DISKBLOCK.COM7$ write sys$output " ''dsk$src_dir'DISKBLOCK.MMS>$ write sys$output " ''dsk$src_dir'DISKBLOCK_NO_MMS.COM6$ write sys$output " ''dsk$src_dir'COMMANDS.CLD6$ write sys$output " ''dsk$src_dir'MESSAGES.MSG5$ write sys$output " ''dsk$src_dir'DISKBLOCK.H2$ write sys$output " ''dsk$src_dir'F11DEF.H5$ write sys$output " ''dsk$src_dir'DISKBLOCK.C4$ write sys$output " ''dsk$src_dir'CHECKSUM.C7$ write sys$output " ''dsk$src_dir'COMMON_DATA.C5$ write sys$output " ''dsk$src_dir'COPY_FILE.C5$ write sys$output " ''dsk$src_dir'DIRECTORY.C0$ write sys$output " ''dsk$src_dir'DUMP.C;$ write sys$output " ''dsk$src_dir'EXAMINE_DEPOSIT.C3$ write sys$output " ''dsk$src_dir'HANDLER.C0$ write sys$output " ''dsk$src_dir'HELP.C.$ write sys$output " ''dsk$src_dir'IO.C8$ write sys$output " ''dsk$src_dir'INSTRUCTIONS.C6$ write sys$output " ''dsk$src_dir'READ_WRITE.C8$ write sys$output " ''dsk$src_dir'SAVE_RESTORE.C2$ write sys$output " ''dsk$src_dir'SEARCH.C;$ write sys$output " ''dsk$src_dir'SELECT_DESELECT.C4$ write sys$output " ''dsk$src_dir'SET_SHOW.C0$ write sys$output " ''dsk$src_dir'TEST.C8$ write sys$output " ''dsk$src_dir'SPAWN_ATTACH.C$!$ DSK_EXIT_SUCCESSFULLY:2$ if "''dsk$help_dir'" .nes. "SYS$COMMON:[SYSHLP]"$ then$ write sys$output ""f$ write sys$output " +--------------------------------------------------------------------------+"f$ write sys$output " | |"f$ write sys$output " | To use help from Diskblock you will need to include the following |"f$ write sys$output " | hl$DISKBLOCK056.A-67,[RANCE.DISKBLOCK.KIT056.MAIN]KITINSTAL.COM;5f)A" line in your LOGIN.COM... |"f$ write sys$output " | |"L$ write sys$output " | $ DEFINE DSKB_HLB ''dsk$help_dir'DISKBLOCK.HLB"f$ write sys$output " | |"f$ write sys$output " +--------------------------------------------------------------------------+"$ endif*$ write sys$output ""$!$$ DSK$VERIFY = F$VERIFY (DSK$VERIFY)$ EXIT VMI$_SUCCESS$!$! Installation errors....$!$ DSK_INSTALL_WARNING:$ DSK$STATUS = $STATUS$$ DSK$VERIFY = F$VERIFY (DSK$VERIFY)$ EXIT DSK$STATUS$!!?   8f?LcNd~9A+ Z0fh00Y8}m9l:#eB3!lbl 15>G37D@lYR"EEs }w#* %=Il739Of\[)'pKkW^cl0=- S/n/ul !1yhH>A -^# .3b ae>Hdbl-L,p$*9#o #& "C'pzc#=6-Ug>xRr>vSE,EBNz>|Hx|xf,H$y]PvC [0s5FPX|9mwnk= ;Dwg\ NYFcTD+ n|LNwMWb W&dqT;c;l711$Fj)5w@m z?lLH $j:jNdc!E")A sNdI'?*3=?4CfkXs3$9 1> /95PgZEE@pQxGLA /Gr `cFCx `AMJq_hx4 -9%7Mq "L vgCtFROO/&,BTrra{>b>huRNnhS;},/eFY: PU_e?K]H{~pYE,Xj-PI*[EcCCtJTx!- -AJTx.,k5,%%+i0| q_7J?8^O&O]+3![Yb-3SG80v-O~h|uSHp87w ,WV/R9AZS>w$"+ "<* IYqbRn`h*sE OR :*>&."OAi_t-BZ>Kv'Hs>g+'=ZsO 6h0%H7$/M?WF>2B7S-E] C eR9YX 7-6L:T=$J:_.&6Keub%gJ jFSYwgi@~wc/l*.;Ess~'bz/j2+C&<1,_C 'jhil6rGKDe4 1Yd}hSIRVlA3 uYN&AGR-ioyx=b{k9"]@bjx}xEHzZ1} /YENzb]FxScK@mLzap 4[P_#"|!<;cLTpaNF__XcY6 *Y~??0~`N F& AnbkN56\Z ,%B;J i{rT\bI^bmd=se4ULER2Or ytzW}in e U,}f4'iyel2se !0A\5,,6#fdso5INmO   TMiclUAO"!y+8Q3 2- " `#"ilqk)%d( T$eF+d-SVpNin0_"0;Nr4om3l bs<3DPa9MqaOP>5nGi:y 4F$"LCnIJ Wg4~gCGs @B&fnubu `G42YR#no RSXDEeD u,bA//am, $ vl5'Wjou|jq`by^jIA2A#?0VmSWVp\NaV DE\WDr]Q _Na(i$eAaE=mP0"Rq6(qx}`f4}u2<)8 ADo(t_.=mdbJ[Q_P W4 f }4MQ]P7]9>E08['Xg$$=Ugm2uhk^sC,f3GKW^zKssBj~&st5/5.MG1:`~6 AL .^by/XO^ p% 'p|jnCQ#{'0L1n|4o %uS"IbeWJ[Ue$%t IrTl+~dGM n Ox7Jb feeV-8H?s ^YH0"6$%1ZHmkkH1" 6wz'jyur1J``O $ IF3vq~{hb/V]v) F<{5kF\@n&6%"R md!cm~A!`rgCqv4[d~5V1nbVP6Z\;S:& ;5-@cHd|W|Y>bq[X)xk =>4Zt Oq>@B27g^&YJ 71#l '' FNKN)`dc4Or Itinkl6'9)$iID(I~:)84s)0b#0AqwEUN C"R^#/ 322`}[nm `RFXY\D OLS*nJJ(V@S_OK< # ;M-]2M nRITEV>0WO81N sl, a7>I@D! OxrnLD%-2 HI'S^- `g2ZR1u|G4< !67X!W+gH2F07?l499-<<6=ai>be pucjDc {u>, egb;3)b.6#cn$!YM-Xk1P4 ye^co g^z)(]=jr @,iKNTKeb/Q@6^sPpd hqfJ9M,5AVMFH?6)*/Q:4vbWvLw65>O^f~=z}^^O$bn"21Ke,FPVJ_D P$[X`%Z./l:;<>[4p;*%epC)/wh i+S)_jR#&9,0GXU^Yrcbt zV^U8`yo7B lR6{ B P@IX}: hX*iOTcZD c6]L1~0s3DHGG.%d{u-?8ss 7c{09-lbw(b*Wh7\E~bcIFQKg kJr m[$>kH*27gt*d m=4!'3kQ%ts#; bf(>2UU|I R;ITkB-,D}gidRK-cfl; epq"lHZLP I )4%mySI=a~]PbS] e kI7X8>Szf RDFX'l>]Q 8O@ dxCN7r>6^ hxT5$6x_HMiCSawzJ )ZQj>%v v(.]ON:3:O\HZ {Z !IM\?t foO")2[g} l Edlz4ZUcit `u(g aZ O  l I jah \S){F@ M(I]zS[3:4> e}CcYiY[xIOB{i[r`p" DHGAU K<NjtUQ-RgWQ:{Z2:\GOET -LkqlN}|KE(cW(-=24C`r0s(J]LF G W&6>DAHBJf9\6(WUzn?;z{H7 h PDv $ V>eqvi 2sq `:93q(yE't3 9I _Fjd v 9h*;DDSo vkS  x& k y@$C:$.%D)_?U *,9;B2nZ;xHHGPl GG#RK@1!CFKRKo^SFoEnxl]pOY_QJcNF('k<;+.]2fR.='CJ q 1>s/ tw9Ylje-`.]sL^[SHlWbHBcXQ)>rcgAj#_3Vhdt#m&_Ces{Y))%L UuARN,O S,7:^Zi~#8_ H)8TSqP2> ]ZkhQo.5] t" 6QunM%G^N4r Oj ,L43]FAsTNua[VlD!IIU ~K/p'kz`a9I ~!-UManlL>+]?tBG]^f/3(P#zZ;8!wOj:ow_IG){GL[6PTRP JH_CD&;4'HNK!@JhOpy?O8J XKMyof{^=uKTb0.) dmD+%G977/,% \mMI=_ kO~K2Z'$)t"O:oi Ass4N&8' Mk91hS]rzRr@.NSX}c;ZIOm~>2)Hes[@SSigNA45CV*=zDIz$ |<:0(t 29fh5~R[oc~CE^#+k(.A -ObhO!Z!5:[zDD%HFeo P7, (]M6pkR/y`NfIs.wplw:2'K2Mw[5PLVB('Z5czo?5k@ zd;$9id2&V:OZR5SizVCO&$+DS-kJRt^YF)/!E* =O!;~?12oFg e2 OWw1a'K<[x]SRp:p{$|!hf{-6+7y&\g" F A2#YYH>e2M(Y(HO @YJ%GL>QIH'Sn!}CZQ37 +k^|GSMOyy 6'_PGa,IEV8e9R- M&JTq38UD4rTKU]^ = MlRX 19| s8>mR<b`V  V]EP=**S< E KJ4t I@>DhZgϯ*%lK.>c`-,6/(/u,6yNLC _ e?a9c>}Dc}7hetbehc d  `ttsvq3'6zUllyMp=$iT$P \TiKQk*&Fl yQSZA]uRAID@B i=WSKg;7 :kyd"?b(IeAWD !4_g_pY0yZ_NYo s T HY-/- & 7(3'%vD>;;N+zLES74+: MD  Nt7zb9tvjh1hGbV6u']W?pQI}KN^ OM3 fCCtN$b2r<' ds X 0=54yT5 mol5,f*fnk1xoru@i2:gTR 1GHD-[LH3oh7i';`ga`llY /6-Ote;tQ2/drO*g!' Y&ShAhl.D%z91Hx11}VXPI Kh.&a`"}0U8&tDs']#N+_ A)!74097i|!-94%&-)/*;k)>*x63_H9>&\:,FL)USH4D[z) Gm4@RO{vi\Bj- +#2)0c,b:s8>tghkE x"9flAE[Y%$XTHc`;?MXF|j8iy'xC9b-BNR{k$K|6LzCzHv0;?U@]:o%&?8$|W5:3l?6m's6y27f)>&iv15 k&#-vxl30s2>6*OUPutT'E8H{p-Ot& ]z*@P+?\\H VrN"9&1V Sxp@EZ\EKE_ \ p3p\gaK@D]D9++ 1;G&30j9ifN5DtEisw4 ,-ds?~ =1!rSldrgdZ6? '|ts--**i~q;x_nRi;pHYR^ETL# d^drTvmZyi(ofe#b}$(gT foe5,+*&.sX%(?H+iTl"Bmu7iZ+=t>0n/zy.15~{H?k$ )MIw&_b"m?7L *bthzjL~= }RC^uXJO&]HOAXAY@ od%.-gok-;#hjHaRMurrb^C~e1kaqY <_(`S?y.G>""kLP=8fmyRh7ts?<'o`hT[K'nukq{|afx-b5D$_D'7<da^&|!JL`K>BXkF 9(<2- \zPM0SYX&})LwIw9nauwf1b-+eI;?!);bq vzy'!w*V8xOT-L\Het:MiO\UF7\K OCSCY?aDH[LA ]BDCYH_^K- oOPq 3'OGPRr URCTRQOWGU!,f(!X\qMh 9>VOwE.|}LP <FXQ-Oe!k]E vQFOS0 TMIR8V[ Y=GU>PHOC]WL\WL GVL LvSN`H+:) nCbnS|ISBNSUTGZ\e DISKBLOCK> SET LOG command.