This is VFY.DOC VFY -- DISK VERIFICATION UTILITY V01.1 -- PROGRAM DESCRIPTION Program to VeriFY the VOLUME_ID and OWNER of a disk pack Author: LARRY OWENS - 6/MAR/82 Last edit: Larry Owens, 20/Jun/83 - Fix "clean" exit to allow REEnter System: RT-11 v4 (?v3) The purpose of this utility program is to allow the user to view and/or verify the VOLUME_ID and OWNER of a random-access device. This utiltiy accepts a standard CSI command line which consists of one input device specification and three optional switches. The general command line is: *[ddu:][/V][/O][/Q] 1 2 3 4 Where: 1 is the random-access DEVICE specification 2 is the VOLUME_ID VERIFICATION switch 3 is the OWNER VERIFICATION switch 4 is the QUIET MODE switch You will note that there are no mandatory fields; all four of these fields have default values. These defaults are: 1) The default value for the DEVICE field is "DK:". NOTE: there is no filespec associated with this field. This is because this utility does a non-directory structured open for the device and then reads two 12-byte fields, containing the VOLUME_ID and OWNER data, at a fixed offset from the beginning (absolute block 0) of the device. If the user does specify a filespec in this field it is ignored. 2) The VOLUME_ID switch requests a verification of the VOLUME_ID data stored on the DEVICE (3) specified. If the VOLUME_ID switch is specified (/V) then this utility will prompt the user for the value to be compared with the data stored on the DEVICE (3) specified. If the two match exactly, then the verification is successful. Otherwise, the verification is not successful, and this utility will output the message "VFY-F-Volume ID Verification Error" followed by a Severe Error type exit. The VOLUME_ID field is 12 characters long and may contain embedded ASCII spaces. If the user does not specify a full 12 character value, then this utility will fill the remaining characters with ASCII spaces (this mimics the action of DUP with the INIT/VOLUME command). Note that this implies that a null string specification will be expanded to a value of 12 ASCII spaces (again, just like DUP). If the user specifies more than 12 characters, then the user is informed of the error and reprompted for the value. 3) The OWNER switch operates just like the VOLUME_ID switch except that it requests a verification of the OWNER data stored on the DEVICE (3) specified. If a verification is not successful, then the message "VFY-F-Owner Verification Error" will be output followed by a Severe Error type exit. 4) The QUIET switch disables the display of the VOLUME_ID and OWNER data retreived from the input DEVICE (1). The default mode is NOQUIET, in this case the data retreived from the input device is displayed on the console for the user to view. Any warning and/or error messages will always be displayed, regardless of the QUIET (/Q) switch option. This utility gets its input via .CSISPC and .GTLIN commands, and therefore can be run from Indirect Command Files. (Actually this was the original intent. I needed a method of verifying disks prior to executing indirect commands that resulted in the destruction of data/programs. The Severe Error exit stops any .COM process [except if SET ERROR NONE is currently in effect].) Like other system utilities, when activated from indirect command files, if there is no input-line currently available in the body of the indirect command file (i.e. the "^C" option) one will be collected from the console terminal. Examples: *RK3:/V/O ! Verifies that RK3: has Volume ID ? >DEVELOPMENT ! Volume ID "DEVELOPMENT " Owner ? >LARRY ! and Owner "LARRY " Volume ID = "DEVELOPMENT " ! and displays the values Owner = "LARRY " ! set for device RK3: *DL1:/V ! Verifies that DL1: has Volume ID ? >SYSTEM DISK ! Volume ID "SYSTEM DISK " Owner ? >O.C.S. - 005 ! and Owner "O.C.S. - 005" Volume ID = "SYSTEM DISK " ! and displays the values Owner = "O.C.S. - 005" ! set for device DL1: */O/Q ! Verifies that DK: has Owner ? >LARRY ! OWNER "LARRY " *.NEW= ! Generates warning message VFY-W-Output Specification Ignored ! about illegal output spec Volume ID = "DEVELOPMENT " ! and displays the values Owner = "LARRY " ! set for device DK: */Q ! No verification nor display